[package] name = "jouleclaw-ledger" version.workspace = true edition.workspace = true license.workspace = true repository.workspace = true authors.workspace = true description = "Append-only Receipts log + per-agent / per-tool / per-tier / per-window queries — the aggregated cost-ledger surface the 5-lens cross-talk audit named as the largest single UX gap. Wave-8 close-the-gaps: receipts already carry joules, model_id, intent, tools_touched; this crate adds the rendering layer." [features] default = [] # `mcp` exposes a `LedgerSummaryTool: MeteredTool` adapter so MCP # servers can ship `get_cost_summary` as a standard tool call without # the base ledger crate depending on the MCP transport stack. mcp = ["jouleclaw-mcp", "async-trait"] [dependencies] jouleclaw-prov = { path = "../jouleclaw-prov" } jouleclaw-energy = { path = "../jouleclaw-energy" } jouleclaw-intent = { path = "../jouleclaw-intent" } jouleclaw-policy-receipt = { path = "../jouleclaw-policy-receipt" } jouleclaw-mcp = { path = "../jouleclaw-mcp", optional = true } async-trait = { workspace = true, optional = true } serde = { workspace = true } serde_json = { workspace = true } thiserror = { workspace = true } chrono = { workspace = true } [dev-dependencies] tokio = { workspace = true, features = ["macros", "rt"] }