
@ agent-relay/ events (英语)
用于主动代理的常态事件流——代理中继运行时间的第2层.
网站: agentrelay.com (英语) • 妇女 文档 : extrelay.com/docs (英语)
它会做什么
@agent-relay/events 将三个主动原始(cron, watch, inbox)变成一个正态的事件流. 单人订阅 onEvent 处理器; 接收可以懒散的轻量级信封 expand() 全部载荷.
它是迁移-不可知核心:没有工作空间概念,没有调度,没有云假设——纯事件流外加再试政策外加OpenTeleometry tracking. 直接为主机 Webhoks 编写, 或者在顶上建立更高层次的运行时间( 见 @agent-relay/agent) (中文(简体) ).
安装
npm install @agent-relay/events
快开始
import { events } from '@agent-relay/events';
const handle = events({
workspace: 'support',
apiKey: process.env.RELAY_API_KEY!,
onEvent: async (event) => {
console.log(event.type, event.resource.path);
const full = await event.expand('full');
// ... act on full.data
},
});
// ... later
await handle.stop();
事件信封形状
每件事都是正常发生的 AgentEvent数字 :
type AgentEvent = {
id: string; // stable event id
workspace: string;
type: 'cron.tick' | 'startup' | 'relayfile.changed' | 'relaycast.message' | ...;
occurredAt: string; // ISO timestamp
attempt: number; // delivery attempt count
resource: { path: string; kind: string; id: string; provider: string };
summary: EventSummary; // <1KB, PII-stripped
expand: (level: 'summary' | 'full' | 'diff' | 'thread') => Promise<Expansion>;
digest?: string;
};
信封就是那个 形状您的处理器接收 ——不是完整的供应商有效载荷. 打电话 event.expand('full') 以懒惰地实现资源.
扩展水平
| 职等 | 你得到的东西 | 费用 |
|---|---|---|
summary | 预先列入的轻量级摘要(已经在活动上) | 免费 |
full | 通过网关/中继文件 VFS 提供完整的教条资源 | 一读 |
diff | 已更改的字段对先前状态 | 一读 |
thread | 附加评论/答复 | 一个或多个读取 |
重试 + 无重试
import { events, NoRetry } from '@agent-relay/events';
events({
workspace: 'support',
apiKey: process.env.RELAY_API_KEY!,
onEvent: async (event) => {
try {
// ... your work
} catch (err) {
if (isPermanent(err)) throw new NoRetry(err); // skip retry queue
throw err; // 5-attempt exp backoff
}
},
});
打开几何
每一次发送的事件都被包裹在 SpanKind.CONSUMER 横跨标记事件编号、类型、工作空间和尝试。 配置您的导出者( 例如 ) . OTEL_EXPORTER_OTLP_ENDPOINT(b) —— @agent-relay/events 通过 : @opentelemetry/api。 。 。 .
相关
@agent-relay/agent第3层:工作空间+ctx+agent({...})API 在这个溪流上方@agent-relay/sdk——经纪人控制+工作流程协调- 主动代理运行时光谱 - 这个装置的设计
许可证
阿帕奇-2.0 — 见 自由主义。 。 。 .