/** * Claude keeps a tool result longer than about 150,000 characters out of the * conversation, and its app then never receives it. */ export declare const MAX_INLINE_RESULT_CHARS = 120000; /** What the server did with a result's app data, for the logs. */ export interface AppDataReport { /** "inline" in the result's `_meta`, or "too_large" for it, even simplified. */ delivery: "inline" | "too_large"; json_chars: number; inline_chars?: number; /** Present when route lines were rounded or simplified to fit. */ simplification?: { original_points: number; points: number; max_error_m: number; }; } /** A tool result's full app data, kept beside the result for the server's own use. */ export interface AppData { data: unknown; report: AppDataReport; } /** Key of the AppData on a tool result; a symbol, so it is never serialized. */ export declare const APP_DATA: unique symbol; export type WithAppData = { [APP_DATA]?: AppData; }; /** * `data` as base64 of its gzipped JSON in at most `room` characters. Unless `exact`, * route lines that don't fit are rounded to 1 m, then simplified until they do, * keeping every vertex a property points at (a section's start and end, a progress * point) and renumbering those indices. Without `inline`, the data doesn't fit. */ export declare function encodeAppData(data: unknown, room: number, exact: boolean): Promise<{ inline?: string; report: AppDataReport; }>; //# sourceMappingURL=appData.d.ts.map