/** * [WHO]: Provides InsForgeEvalSink (PostgREST-backed adapter for SAL) * [FROM]: Depends on core/platform/telemetry/* for InsforgeHttpClient + BatchingDispatcher + types; ./types.js for SAL event shape (EvalSink/EvalEventEnvelope/CreateEvalSinkOptions) * [TO]: Constructed by eval/index.ts factory when adapter resolves to "insforge" * [HERE]: extensions/builtin/sal/eval/insforge-sink.ts - SAL-specific event routing only: run_start→eval_runs, turn_anchor→eval_turns+eval_sal_anchors×2, tool_trace→eval_tool_traces (legacy fallback), memory_recalls→eval_memory_recalls, run_end→eval_runs PATCH. HTTP transport + batching come from core/platform/telemetry/. * * Pluggable: nothing in this file may be imported from outside the eval/ directory other than core/platform/telemetry (the shared base layer). * To add a new backend, write a sibling file with the same EvalSink interface. */ import type { CreateEvalSinkOptions, EvalEventEnvelope, EvalSink } from "./types.js"; export declare class InsForgeEvalSink implements EvalSink { readonly enabled = true; private http; private dispatcher; private onDiagnostic; private confirmedRuns; private failedRuns; constructor(options: CreateEvalSinkOptions); sendEvent(event: EvalEventEnvelope): Promise; flush(): Promise; close(): Promise; private routeEvent; private handleRunStart; private ensureRunExists; private handleTurnAnchor; private handleRunEnd; private handleMemoryRecalls; private handleToolTrace; private reportDiagnostic; }