@agentforge-io/sdk-server 4.3.0 → 4.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.
@@ -227,8 +227,9 @@ export declare class ConnectorsResource {
227
227
  * `listConnected()`, which is the ak_live_ tenant-wide picker). Returns
228
228
  * the SAME rich shape `listForTenant`/`listForUser` produce server-side
229
229
  * (`AppUserConnectorStatus`: name/description/category/iconUrl/configured/
230
- * accountLabel/connectedAt) — NOT the narrow `ConnectorStatus` the
231
- * tenant-picker methods above use.
230
+ * accountLabel/connectedAt), PLUS `browsable` (AGF-074, computed
231
+ * server-side on top of the raw `ConnectorStatus` rows) — NOT the narrow
232
+ * `ConnectorStatus` the tenant-picker methods above use.
232
233
  *
233
234
  * Requires `appSecret` — throws early otherwise, same as
234
235
  * `authorizeForAppUser`.
@@ -259,8 +259,9 @@ class ConnectorsResource {
259
259
  * `listConnected()`, which is the ak_live_ tenant-wide picker). Returns
260
260
  * the SAME rich shape `listForTenant`/`listForUser` produce server-side
261
261
  * (`AppUserConnectorStatus`: name/description/category/iconUrl/configured/
262
- * accountLabel/connectedAt) — NOT the narrow `ConnectorStatus` the
263
- * tenant-picker methods above use.
262
+ * accountLabel/connectedAt), PLUS `browsable` (AGF-074, computed
263
+ * server-side on top of the raw `ConnectorStatus` rows) — NOT the narrow
264
+ * `ConnectorStatus` the tenant-picker methods above use.
264
265
  *
265
266
  * Requires `appSecret` — throws early otherwise, same as
266
267
  * `authorizeForAppUser`.
package/dist/types.d.ts CHANGED
@@ -330,6 +330,11 @@ export interface AppUserConnectorStatus {
330
330
  configured: boolean;
331
331
  /** Este externalUserId particular ya completó el OAuth/API-key setup. */
332
332
  connected: boolean;
333
+ /** ¿Tiene selector de recursos real implementado (nivel 2 del picker)?
334
+ * `false` = se puede conectar pero `listResourcesForAppUser()` devuelve
335
+ * `unsupported: true`. Mismo criterio (`SUPPORTED_CONNECTORS`) que
336
+ * `ConnectorStatus.browsable` usa para el picker tenant-wide. */
337
+ browsable: boolean;
333
338
  accountLabel?: string;
334
339
  /** ISO 8601 — `Date` en el server, serializado a string sobre JSON. */
335
340
  connectedAt?: string;
@@ -338,12 +343,24 @@ export interface ConnectorResourceItem {
338
343
  id: string;
339
344
  name: string;
340
345
  description?: string;
346
+ /** Avatar/icon URL for the resource — populated for Slack DMs/people
347
+ * (AGF-074 bug #2: the interlocutor's profile photo, from
348
+ * `users.info`/`users.list`). Channels and other resource kinds leave
349
+ * this `undefined`; render a generic icon (`#` for Slack channels)
350
+ * as a fallback. */
351
+ imageUrl?: string;
341
352
  }
342
353
  export interface ListConnectorResourcesResult {
343
354
  items: ConnectorResourceItem[];
344
355
  /** true cuando el connector está conectado pero `browsable` es false —
345
356
  * no es un error, la UI debe mostrar un estado "sin selector todavía". */
346
357
  unsupported?: true;
358
+ /** AGF-074 bug #3: true cuando el provider devolvió `missing_scope` para
359
+ * un sub-recurso opcional (ej. Slack DMs vía `im`/`mpim`/`users.list`,
360
+ * en un grant OAuth previo a que el connector declarara esos scopes).
361
+ * `items` igual trae lo que SÍ se pudo listar (ej. los canales); la UI
362
+ * debe ofrecer un CTA de reconectar en vez de tratarlo como error. */
363
+ needsReconnectForDms?: true;
347
364
  }
348
365
  export interface CreateClickupTaskInput {
349
366
  /** Id de la lista de ClickUp (`ConnectorResourceItem.id` del picker). */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentforge-io/sdk-server",
3
- "version": "4.3.0",
3
+ "version": "4.4.0",
4
4
  "description": "Server-side SDK for backend apps integrating with AgentForge platform. Auth via ChatToken or ak_live_ API key.",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",