HandlerServices
Servicios del host disponibles en ctx.services (todos opcionales segun el permiso del manifest y si el dominio esta FIRMADO).
Los tokens de proveedor no se exponen: usa services.oauth o ctx.libs.<proveedor>.
Firma
export interface HandlerServices {
ai: AiService;
auth: AuthService;
mail?: MailService;
calendar?: CalendarService;
contacts?: ContactsService;
users?: UsersService;
stats?: StatsService;
storage?: StorageService;
notify?: NotifyService;
oauth?: OAuthService;
formats?: FormatsService;
[service: string]: any;
}Miembros (12)
| Nombre | Tipo | Descripción |
|---|---|---|
| aiobligatorio | AiService | Sin descripción. |
| authobligatorio | AuthService | Sin descripción. |
| mailopcional | MailService | [FIRMADO] y con READ_EMAIL / MAIL_LABEL en el manifest. |
| calendaropcional | CalendarService | [FIRMADO] |
| contactsopcional | ContactsService | [FIRMADO] |
| usersopcional | UsersService | [FIRMADO] y con READ_USERS (riesgo alto) en el manifest. Solo lectura. |
| statsopcional | StatsService | [FIRMADO] y con READ_STATS en el manifest. Solo agregados; solo para administradores. |
| storageopcional | StorageService | [FIRMADO] |
| notifyopcional | NotifyService | [FIRMADO] |
| oauthopcional | OAuthService | [FIRMADO] Intermediario OAuth (capacidad oauth.broker.v1; permiso OAUTH_ACCOUNT:<proveedor>:<grupo>). |
| formatsopcional | FormatsService | Siempre que el host ate servicios (sin clave del backend solo queda este). |
| [service: string] | any | Servicios nuevos que el backend anada: hasta que se tipen aqui son |
Ejemplos
export async function summarize(ctx: HandlerContext) {
const text = await ctx.services.ai.generate('Resume en una frase', String(ctx.args.text ?? ''));
return { summary: text };
}Usado en / Referenciado por
Fuente: bloomx-extensions/_shared/sdk/ctx.d.ts:804 · ctx.d.ts