UNPKG

grix-connector

Version:

Connect local AI coding agents (Claude, Codex, Gemini, Qwen, DeepSeek, Cursor, OpenCode, Pi, OpenHuman, Reasonix) to the Grix scheduling platform. Also serves as an OpenClaw plugin for Grix channel transport.

3 lines (2 loc) 981 B
import r from"node:path";import{appendRotatingFile as o}from"./rotation.js";class h{filePath;rotationOptions;writeChain=Promise.resolve();constructor(t,i,e){const n=i.replace(/[^a-zA-Z0-9._-]+/g,"-");this.filePath=r.join(t,"bridges",`${n}.jsonl`),this.rotationOptions={maxBytes:e?.maxBytes??50*1024*1024,maxFiles:e?.maxFiles??5}}logOutbound(t,i,e){this.writeEntry({ts:new Date().toISOString(),direction:"outbound",method:t,id:i,summary:e})}logInbound(t,i,e){this.writeEntry({ts:new Date().toISOString(),direction:"inbound",method:t,id:i,summary:e})}logStderr(t){this.writeEntry({ts:new Date().toISOString(),direction:"stderr",summary:t.slice(0,500)})}logLifecycle(t){this.writeEntry({ts:new Date().toISOString(),direction:"lifecycle",summary:t})}writeEntry(t){const i=this.writeChain;this.writeChain=i.catch(()=>{}).then(async()=>{await o(this.filePath,`${JSON.stringify(t)} `,this.rotationOptions)}).catch(()=>{})}async close(){await this.writeChain}}export{h as BridgeEventLog};