openclaw/plugin-sdk/channel-ingress-runtime para las rutas de recepción.
Resolutor de tiempo de ejecución
Resultado
Los plugins incluidos deben consumir directamente las proyecciones modernas:
La autorización de eventos sigue disponible en el elemento ordenado
ingress.graph y en el elemento decisivo ingress.reasonCode; no se emite ninguna proyección de eventos independiente.
Los asistentes obsoletos del SDK de terceros pueden reconstruir internamente las estructuras anteriores. Las nuevas rutas de recepción incluidas no deben volver a convertir los resultados modernos en DTO locales.
Grupos de acceso
Las entradasaccessGroup:<name> permanecen censuradas. El núcleo resuelve por sí mismo los grupos estáticos message.senders y llama a resolveAccessGroupMembership solo para los grupos dinámicos que requieren una consulta a la plataforma. Los grupos ausentes, no compatibles y fallidos se cierran de forma segura.
Modos de eventos
Use
mayPair: false para reacciones, botones, devoluciones de llamada y comandos nativos.
Rutas y activación
Use descriptores de rutas para las políticas de sala, tema, servidor, hilo o ruta anidada:channelIngressRoutes(...) cuando un plugin tenga varios descriptores de rutas opcionales; filtra las ramas deshabilitadas y mantiene los datos de las rutas genéricos y ordenados según el valor precedence de cada descriptor.
La puerta de menciones es una puerta de activación. Una mención no detectada devuelve admission: "skip" para que el núcleo de turnos no procese un turno de solo observación. La mayoría de los canales deben dejar la activación después de las puertas de remitentes y comandos. Las superficies de chat públicas que deban silenciar el tráfico sin menciones antes del ruido de las listas de permitidos de remitentes pueden optar por activation.order: "before-sender" cuando la omisión mediante comandos de texto esté deshabilitada. Los canales con activación implícita, como las respuestas en hilos de bots, resuelven channels.defaults.implicitMentions junto con las anulaciones del canal y de la cuenta mediante resolveChannelImplicitMentions(...) y, a continuación, pasan el resultado como activation.implicitMentions. El elemento proyectado activationAccess.shouldBypassMention indica cuándo un comando o una activación implícita omitió una mención explícita.