Types / Advanced Generics
Event Inference
const req = AgentNetworkEvent.of('req', S.Struct({ query: S.String }));
// req payload type: { query: string }Agent Logic Inference
AgentFactory.run()
.listensTo([eventA, eventB])
.emits([outEvent])
.logic(async ({ triggerEvent, emit }) => {
// triggerEvent: { name: 'a', meta, payload: { x: number } }
// | { name: 'b', meta, payload: { y: string } }
if (triggerEvent.name === 'a') {
emit({ name: 'out', payload: { result: String(triggerEvent.payload.x) } });
} else {
emit({ name: 'out', payload: { result: triggerEvent.payload.y } });
}
});Emit Typing
Channel Names
Effect Integration
Last updated