Copyable snippets for frequent patterns.Documentation Index
Fetch the complete documentation index at: https://docs.m4trix.dev/llms.txt
Use this file to discover all available pages before exploring further.
Copyable snippets for frequent patterns.Documentation Index
Fetch the complete documentation index at: https://docs.m4trix.dev/llms.txt
Use this file to discover all available pages before exploring further.
const agent = AgentFactory.run()
.listensTo([requestEvent])
.emits([responseEvent])
.logic(async ({ triggerEvent, emit }) => {
emit({
name: 'agent-response',
payload: { answer: triggerEvent.payload.query, done: true },
});
})
.produce({});
.logic(async ({ triggerEvent, emit }) => {
const stream = await openai.chat.completions.create({
model: 'gpt-4o',
stream: true,
messages: [{ role: 'user', content: triggerEvent.payload.query }],
});
for await (const chunk of stream) {
const content = chunk.choices[0]?.delta?.content;
if (content) {
emit({ name: 'response', payload: { text: content, isFinal: false } });
}
}
emit({ name: 'response', payload: { text: '', isFinal: true } });
})
const api = network.expose({
protocol: 'sse',
auth: async (req) => {
const token = req.request?.headers?.get?.('authorization');
if (!token || !isValid(token)) {
return { allowed: false, message: 'Invalid token', status: 401 };
}
return { allowed: true };
},
select: { channels: 'client' },
});
const loggerAgent = AgentFactory.run()
.logic(async ({ triggerEvent }) => {
console.log('[event]', triggerEvent.name, triggerEvent.payload);
})
.produce({});
registerAgent(loggerAgent).subscribe(main).subscribe(processing);
const errorEvent = AgentNetworkEvent.of('agent-error', S.Struct({ message: S.String }));
// In logic:
try {
const result = await doWork(triggerEvent.payload);
emit({ name: 'agent-response', payload: { answer: result, done: true } });
} catch (e) {
emit({ name: 'agent-error', payload: { message: String(e) } });
}