Add observe-only tracking at the places your app crosses boundaries: the request actor, LLM calls, database reads or writes, external APIs, and agent handoffs. With @latten/sdk, those calls keep returning the same values, while Latten records who acted, what was reached, and what the model cost.
See it on a live graph — no signup →Use withActor at the request entry point so downstream calls answer the basic question: who is this AI acting for? If no principal exists, leave it unattributed.
Use track around model calls and data touches. The SDK normalizes token usage across OpenAI, Anthropic, and Gemini shapes and records data reach without copying values.
@latten/installer scans a TypeScript repo for likely crossings, then an AI coding agent can place the SDK calls and open a reviewable PR.
No. track returns the wrapped function's result and is designed to be observe-only.
Events are buffered and delivered without throwing into the host app.
Yes. Add the @latten/installer MCP server and ask the agent to instrument the app with Latten.