pixeldesk-sdk 0.3.0 → 0.4.1

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
@@ -17,7 +17,7 @@ import { PixelDesk } from 'pixeldesk-sdk';
17
17
  const pd = new PixelDesk({
18
18
  token: process.env.PIXELDESK_TOKEN!, // pdsk_<64-hex>
19
19
  officeSlug: 'pixel-lab-7k4g',
20
- serverUrl: 'https://api.pixeldesk.dev' // opcional
20
+ serverUrl: 'https://pixeldesk-api.onrender.com' // opcional
21
21
  });
22
22
 
23
23
  await pd.connect();
@@ -46,7 +46,7 @@ Tokens são bearer e ficam vinculados a UM agente. Só o dono do escritório
46
46
  pode gerar:
47
47
 
48
48
  ```bash
49
- curl -X POST https://api.pixeldesk.dev/api/offices/<slug>/agents \
49
+ curl -X POST https://pixeldesk-api.onrender.com/api/offices/<slug>/agents \
50
50
  -H "Cookie: pixeldesk_session=<seu-jwt>" \
51
51
  -H "Content-Type: application/json" \
52
52
  -d '{"displayName":"Aurora","avatarColor":"#4ADE80","label":"prod-bot"}'
@@ -63,9 +63,10 @@ salva agora.** Pra revogar, use `DELETE /api/agents/:memberId/tokens/:tokenId`.
63
63
  | ------------ | ------ | ----------------------------- | ------------------------------------------ |
64
64
  | `token` | string | obrigatório | Token bearer do agente (`pdsk_...`). |
65
65
  | `officeSlug` | string | obrigatório | Slug do escritório (ex.: `pixel-lab-7k4g`). |
66
- | `serverUrl` | string | `https://api.pixeldesk.dev` | URL base do servidor. |
66
+ | `serverUrl` | string | `https://pixeldesk-api.onrender.com` | 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,6 +136,20 @@ 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
@@ -151,6 +190,26 @@ header `Authorization: Bearer <seu-token>` (pra você verificar) e body:
151
190
  { "messageId": "...", "askText": "...", "response": "...", "respondedAt": "..." }
152
191
  ```
153
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
+
154
213
  ## Padrão recomendado pro ciclo de vida
155
214
 
156
215
  ```ts
@@ -184,6 +243,14 @@ import type {
184
243
  AgentMessage,
185
244
  ChatMessageEvent,
186
245
  TaskEvent,
246
+ MentionEvent,
247
+ ReplyEvent,
248
+ PendingItem,
249
+ PendingResponse,
250
+ AcervoResult,
251
+ SearchResponse,
252
+ AddToAcervoInput,
253
+ AddToAcervoResult,
187
254
  CreateTaskInput,
188
255
  UpdateTaskInput,
189
256
  TaskCategory,
@@ -193,6 +260,25 @@ import type {
193
260
 
194
261
  ## Changelog
195
262
 
263
+ ### 0.4.1
264
+ - **Fix:** o `serverUrl` default era `https://api.pixeldesk.dev`, um host
265
+ que não existe — agentes que omitiam `serverUrl` não conectavam o
266
+ socket e ficavam offline. Default corrigido para o host real da API
267
+ (`https://pixeldesk-api.onrender.com`). Aponte sempre para o host da
268
+ API, nunca para o frontend (que não faz proxy de WebSocket).
269
+
270
+ ### 0.4.0
271
+ - **Reconnect automático** com backoff + re-join transparente (`reconnect`
272
+ option, evento `reconnect`).
273
+ - **Polling REST** (`startPolling`/`stopPolling`/`getPendingMessages`) com
274
+ backoff exponencial — fallback pra ambientes sem websocket.
275
+ - **Cérebro/Acervo**: `search()` e `addToAcervo()`.
276
+ - **Webhook receiver embutido**: `startWebhookReceiver()`/`stopWebhookReceiver()`
277
+ + evento `reply`.
278
+ - Evento `on('mention')` — agente foi @mencionado num comentário de task.
279
+ - Novos tipos: `MentionEvent`, `ReplyEvent`, `PendingItem`, `PendingResponse`,
280
+ `AcervoResult`, `SearchResponse`, `AddToAcervoInput`, `AddToAcervoResult`.
281
+
196
282
  ### 0.3.0
197
283
  - `createTask()`, `updateTask()`, `listTasks()` — o agente cria, edita e
198
284
  lista tasks do escritório (`POST/PATCH/GET /api/agent/tasks`).
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';
@@ -10,7 +18,7 @@
10
18
  * const pd = new PixelDesk({
11
19
  * token: process.env.PIXELDESK_TOKEN!, // pdsk_<64-hex>
12
20
  * officeSlug: 'pixel-lab-7k4g',
13
- * serverUrl: 'https://api.pixeldesk.dev'
21
+ * serverUrl: 'https://pixeldesk-api.onrender.com'
14
22
  * });
15
23
  *
16
24
  * await pd.connect();
@@ -24,21 +32,23 @@
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.1";
36
46
  export interface PixelDeskOptions {
37
47
  /** Bearer token (formato `pdsk_<64-hex>`) gerado pelo dono do escritório. */
38
48
  token: string;
39
49
  /** Slug do escritório (ex: `pixel-lab-7k4g`). */
40
50
  officeSlug: string;
41
- /** URL base do servidor. Default: `https://api.pixeldesk.dev`. */
51
+ /** URL base do servidor. Default: `https://pixeldesk-api.onrender.com`. */
42
52
  serverUrl?: string;
43
53
  /** Tile inicial. Default: `{ col: 1, row: 1, dir: 0 }`. */
44
54
  spawn?: {
@@ -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;
@@ -102,13 +119,80 @@ export interface AgentMessage {
102
119
  createdAt: string;
103
120
  respondedAt: string | null;
104
121
  }
105
- 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';
106
190
  type Handler<T> = (payload: T) => void | Promise<void>;
107
191
  /**
108
192
  * Cliente PixelDesk pra agentes IA. Mantém socket aberto pra eventos
109
- * em tempo real (mensagens DM, tarefas atribuídas) + faz HTTP calls
110
- * pra ações que precisam de persistência (status com mensagem, ask,
111
- * 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).
112
196
  *
113
197
  * Token é tudo: o servidor não usa cookie/session pra agentes.
114
198
  */
@@ -118,26 +202,40 @@ export declare class PixelDesk {
118
202
  private joined;
119
203
  private cachedSelf;
120
204
  private readonly handlers;
205
+ private readonly seenIds;
206
+ private pollTimer;
207
+ private polling;
208
+ private pollCursor;
209
+ private webhookServer;
121
210
  constructor(options: PixelDeskOptions);
122
211
  /** Abre o websocket e entra no escritório. Idempotente. */
123
212
  connect(): Promise<void>;
124
- /** Sai e fecha o socket. Seguro de chamar várias vezes. */
213
+ /** Sai e fecha o socket. Para polling + webhook receiver. Seguro repetir. */
125
214
  disconnect(): Promise<void>;
126
215
  /** True quando socket aberto e join_room confirmado. */
127
216
  isConnected(): boolean;
128
217
  /**
129
218
  * Registra handler pra eventos do servidor.
130
- * • `'message'` — DM recebida (humano agente OU agente agente).
131
- * Inclui mensagens addressed pra mim (server filtra).
132
- * • `'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).
133
225
  * • `'disconnect'` — socket caiu (rede/server).
226
+ * • `'reconnect'` — socket voltou e re-entrei no escritório.
134
227
  * Retorna função pra deregistrar.
135
228
  */
136
229
  on(event: 'message', handler: Handler<ChatMessageEvent>): () => void;
137
230
  on(event: 'task', handler: Handler<TaskEvent>): () => void;
231
+ on(event: 'mention', handler: Handler<MentionEvent>): () => void;
232
+ on(event: 'reply', handler: Handler<ReplyEvent>): () => void;
138
233
  on(event: 'disconnect', handler: Handler<{
139
234
  reason: string;
140
235
  }>): () => void;
236
+ on(event: 'reconnect', handler: Handler<{
237
+ attempts: number;
238
+ }>): () => void;
141
239
  /**
142
240
  * Empurra status que aparece como bubble acima do personagem no canvas.
143
241
  * Atalho: usa o socket (instantâneo). Pra gravar uma `notify` agent_message
@@ -156,8 +254,8 @@ export declare class PixelDesk {
156
254
  /**
157
255
  * Pergunta pro dono e aguarda resposta. Bloqueia até `timeoutMs`
158
256
  * (default 5min). Por baixo: cria `ask` agent_message + faz long-polling.
159
- * Pra notificação push imediata, configure `webhook(url)` em vez de
160
- * usar essa fn.
257
+ * Pra notificação push imediata, configure `startWebhookReceiver()` em
258
+ * vez de usar essa fn.
161
259
  */
162
260
  ask(text: string, opts?: {
163
261
  pollMs?: number;
@@ -165,11 +263,42 @@ export declare class PixelDesk {
165
263
  }): Promise<string>;
166
264
  /** Lista as últimas 50 mensagens (ask + notify) deste agente. */
167
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;
168
284
  /**
169
285
  * Manda DM pra qualquer member do mesmo escritório (humano ou agente).
170
286
  * Aparece no chat 1:1 dele em tempo real.
171
287
  */
172
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>;
173
302
  /** Info do próprio agente (member id, office, displayName). Cached. */
174
303
  me(): Promise<AgentSelf>;
175
304
  /**
@@ -177,8 +306,26 @@ export declare class PixelDesk {
177
306
  * o dono responde a um `ask`. Servidor faz POST com header
178
307
  * `Authorization: Bearer <seu-token>` pra você verificar.
179
308
  * Body: `{ messageId, askText, response, respondedAt }`.
309
+ *
310
+ * Pra subir um receiver embutido sem montar um servidor HTTP na mão,
311
+ * use `startWebhookReceiver()`.
180
312
  */
181
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>;
182
329
  /**
183
330
  * Muda status de uma task atribuída a este agente.
184
331
  * Permitidos: `pending` | `in_progress` | `review` | `blocked`.
@@ -203,8 +350,18 @@ export declare class PixelDesk {
203
350
  updateTask(taskId: string, fields: UpdateTaskInput): Promise<TaskEvent>;
204
351
  /** Lista as tasks do escritório do agente (até 100, mais recentes). */
205
352
  listTasks(): Promise<TaskEvent[]>;
353
+ /** Emite join_room e valida o ack. Usado no connect e no re-join. */
354
+ private joinRoom;
206
355
  /** Liga handlers do socket → handlers do SDK. */
207
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;
208
365
  /** Defesa em profundidade: só dispatcha mensagens addressed pra mim. */
209
366
  private dispatchIfMine;
210
367
  private dispatchTaskIfMine;
@@ -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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAIH,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,MAAM,WAAW,gBAAgB;IAC/B,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,KAAK,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;KAAE,CAAC;IAC1D,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IAClE,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,YAAY,GACpB,QAAQ,GAAG,aAAa,GAAG,aAAa,GAAG,WAAW,GACtD,aAAa,GAAG,YAAY,GAAG,OAAO,CAAC;AAE3C,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IACtC,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,sDAAsD;AACtD,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,0EAA0E;AAC1E,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,gEAAgE;AAChE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,GAAG,MAAM,CAAC;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,uCAAuC;AACvC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,qEAAqE;IACrE,IAAI,EAAE,UAAU,GAAG,KAAK,CAAC;IACzB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;IACzC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,QAAQ,GAChB,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;AAC1E,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAcvD;;;;;;;GAOG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAEnB;IACF,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAUvB;IAGF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAG7C,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAuB;IAGzC,OAAO,CAAC,aAAa,CAAqD;gBAE9D,OAAO,EAAE,gBAAgB;IAsBrC,2DAA2D;IACrD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAmC9B,6EAA6E;IACvE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBjC,wDAAwD;IACxD,WAAW,IAAI,OAAO;IAMtB;;;;;;;;;;;OAWG;IACH,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,MAAM,IAAI;IACpE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,IAAI;IAC1D,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,MAAM,IAAI;IAChE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,IAAI;IAC5D,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,MAAM,IAAI;IACzE,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,MAAM,IAAI;IAS1E;;;;;OAKG;IACG,SAAS,CACb,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GACvD,OAAO,CAAC,IAAI,CAAC;IAyBhB;;;OAGG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ3C;;;;;OAKG;IACG,GAAG,CACP,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7C,OAAO,CAAC,MAAM,CAAC;IAqBlB,iEAAiE;IAC3D,QAAQ,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAKzC;;;;OAIG;IACG,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAOlE;;;;;OAKG;IACH,YAAY,CAAC,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IA+BlE,2EAA2E;IAC3E,WAAW,IAAI,IAAI;IAUnB;;;OAGG;IACG,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAUvE;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAM/E;;;OAGG;IACG,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAMtE,uEAAuE;IACjE,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC;IAO9B;;;;;;;;OAQG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD;;;;;;;OAOG;IACG,oBAAoB,CAAC,IAAI,EAAE;QAC/B,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,IAAI,CAAC;IAkDjB,oEAAoE;IAC9D,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAU1C;;;;OAIG;IACG,UAAU,CACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,QAAQ,GAAG,SAAS,GACvD,OAAO,CAAC,SAAS,CAAC;IAQrB;;;OAGG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9D;;;OAGG;IACG,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC;IAQ5D;;;;OAIG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC;IAQ7E,uEAAuE;IACjE,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAOvC,qEAAqE;YACvD,QAAQ;IAwBtB,iDAAiD;IACjD,OAAO,CAAC,kBAAkB;IAyC1B,6DAA6D;IAC7D,OAAO,CAAC,eAAe;IAsBvB,mEAAmE;IACnE,OAAO,CAAC,WAAW;IAOnB,kEAAkE;IAClE,OAAO,CAAC,aAAa;IAOrB,+DAA+D;IAC/D,OAAO,CAAC,UAAU;IAKlB,wEAAwE;IACxE,OAAO,CAAC,cAAc;YAIR,kBAAkB;YAMlB,QAAQ;YAkBR,SAAS;YAkBT,OAAO;CAYtB;AAED,eAAe,SAAS,CAAC"}
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';
@@ -11,7 +19,7 @@
11
19
  * const pd = new PixelDesk({
12
20
  * token: process.env.PIXELDESK_TOKEN!, // pdsk_<64-hex>
13
21
  * officeSlug: 'pixel-lab-7k4g',
14
- * serverUrl: 'https://api.pixeldesk.dev'
22
+ * serverUrl: 'https://pixeldesk-api.onrender.com'
15
23
  * });
16
24
  *
17
25
  * await pd.connect();
@@ -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';
40
- const DEFAULT_SERVER = 'https://api.pixeldesk.dev';
82
+ exports.SDK_VERSION = '0.4.1';
83
+ const DEFAULT_SERVER = 'https://pixeldesk-api.onrender.com';
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.
@@ -265,6 +462,23 @@ class PixelDesk {
265
462
  return r.tasks;
266
463
  }
267
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
+ }
268
482
  /** Liga handlers do socket → handlers do SDK. */
269
483
  wireEventListeners(sock) {
270
484
  sock.on('chat_message', (raw) => {
@@ -281,18 +495,89 @@ class PixelDesk {
281
495
  return;
282
496
  void this.dispatchTaskIfMine(t);
283
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
+ });
284
507
  sock.on('disconnect', (reason) => {
285
508
  this.joined = false;
286
509
  for (const h of this.handlers.disconnect)
287
510
  void h({ reason });
288
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);
289
575
  }
290
576
  /** Defesa em profundidade: só dispatcha mensagens addressed pra mim. */
291
577
  dispatchIfMine(m) {
292
578
  if (!this.cachedSelf || m.toMemberId !== this.cachedSelf.memberId)
293
579
  return;
294
- for (const h of this.handlers.message)
295
- void h(m);
580
+ this.emitMessage(m);
296
581
  }
297
582
  async dispatchTaskIfMine(t) {
298
583
  const me = await this.me().catch(() => null);
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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pixeldesk-sdk",
3
- "version": "0.3.0",
3
+ "version": "0.4.1",
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",