@latten/adapter-claude-code
v0.1.3
Published
Adapter: parse Claude Code session transcripts (~/.claude/projects/*.jsonl) into a Latten Session. Hashes raw content on-device; the Session carries only hashes, never raw prompts/code/output.
Readme
@latten/adapter-claude-code
Parse Claude Code transcript JSONL into a Latten session model for local cost and waste analysis.
The adapter hashes tool arguments, tool results, command output, code, and assistant text on-device, and drops raw user prompts entirely. The returned session carries token counts, tool types, cost fields, and equality-only hashes; it does not contain raw transcript content.
Install
npm install @latten/adapter-claude-code @latten/costUsage
import { readFile } from 'node:fs/promises'
import { parseClaudeCodeTranscript } from '@latten/adapter-claude-code'
import { detectRedundantRoundTrips } from '@latten/cost'
const jsonl = await readFile(
`${process.env.HOME}/.claude/projects/example/session.jsonl`,
'utf8',
)
const session = parseClaudeCodeTranscript(jsonl, {
sessionId: 'local-session',
price: ({ inputTokens, outputTokens }) =>
(inputTokens / 1_000_000) * 3 + (outputTokens / 1_000_000) * 15,
})
const suggestions = detectRedundantRoundTrips(session)What It Extracts
- Model name and token counts from assistant messages.
- Tool calls, with stable hashes of arguments.
- Tool results, with stable hashes for local equality checks.
- Read-only discovery classification for common Claude Code tools and shell commands.
- Assistant text hashes for repeated-output loop detection.
Privacy Model
This package is intended for local analysis. It normalizes the transcript into a values-free session shape before any detector runs:
- prompts, code, command arguments, and command output are not returned;
- hashes are for equality checks only;
- malformed or partial JSONL lines are ignored;
- pricing is injected by the caller, so the parser does not call a network service.
For a fully managed setup, use @latten/installer to instrument a repo and claim
the resulting Latten graph.
You moved fast with AI. Latten helps you stay in control of it. See what your AI costs — and where your data goes: Latten turns the AI calls across your company into one live graph — cost, reach, and PII exposure, attributed and observed from real traffic. One prompt to your coding agent, a PR you review, live in minutes. latten.io
