import { Context, Effect } from "effect"; import { LanguageModel } from "effect/unstable/ai"; import type { EventPayload, ModelCallPurpose } from "./model-telemetry.js"; /** @experimental The active loop's model-call telemetry seam. */ export interface Instrumentation { readonly emit: (event: EventPayload) => Effect.Effect; readonly wrap: (model: LanguageModel.Service) => LanguageModel.Service; } /** @experimental The instrumentation of the enclosing agent run, when present. */ export declare const CurrentInstrumentation: Context.Reference; /** @experimental Purpose stamped onto model calls issued within the current region. */ export declare const CurrentPurpose: Context.Reference; /** @experimental Compaction pass identifier stamped onto model calls it issues. */ export declare const CurrentCompactionId: Context.Reference; /** @experimental Mutable cell recording the model call a compaction pass issued for its summary. */ export interface SummaryCallCell { current: string | undefined; } /** @experimental Cell a compaction pass provides to learn its summary model-call id. */ export declare const CurrentSummaryCall: Context.Reference;