ccusage / data-loader / usageDataSchema
Variable: usageDataSchema
ts
const usageDataSchema: ZodObject<{
timestamp: ZodBranded<ZodString, "ISOTimestamp">;
version: ZodOptional<ZodBranded<ZodString, "Version">>;
message: ZodObject<{
usage: ZodObject<{
input_tokens: ZodNumber;
output_tokens: ZodNumber;
cache_creation_input_tokens: ZodOptional<ZodNumber>;
cache_read_input_tokens: ZodOptional<ZodNumber>;
}, "strip", ZodTypeAny, {
input_tokens: number;
output_tokens: number;
cache_creation_input_tokens?: number;
cache_read_input_tokens?: number;
}, {
input_tokens: number;
output_tokens: number;
cache_creation_input_tokens?: number;
cache_read_input_tokens?: number;
}>;
model: ZodOptional<ZodBranded<ZodString, "ModelName">>;
id: ZodOptional<ZodBranded<ZodString, "MessageId">>;
}, "strip", ZodTypeAny, {
usage: {
input_tokens: number;
output_tokens: number;
cache_creation_input_tokens?: number;
cache_read_input_tokens?: number;
};
model?: string & BRAND<"ModelName">;
id?: string & BRAND<"MessageId">;
}, {
usage: {
input_tokens: number;
output_tokens: number;
cache_creation_input_tokens?: number;
cache_read_input_tokens?: number;
};
model?: string;
id?: string;
}>;
costUSD: ZodOptional<ZodNumber>;
requestId: ZodOptional<ZodBranded<ZodString, "RequestId">>;
}, "strip", ZodTypeAny, {
timestamp: string & BRAND<"ISOTimestamp">;
version?: string & BRAND<"Version">;
message: {
usage: {
input_tokens: number;
output_tokens: number;
cache_creation_input_tokens?: number;
cache_read_input_tokens?: number;
};
model?: string & BRAND<"ModelName">;
id?: string & BRAND<"MessageId">;
};
costUSD?: number;
requestId?: string & BRAND<"RequestId">;
}, {
timestamp: string;
version?: string;
message: {
usage: {
input_tokens: number;
output_tokens: number;
cache_creation_input_tokens?: number;
cache_read_input_tokens?: number;
};
model?: string;
id?: string;
};
costUSD?: number;
requestId?: string;
}>;
Zod schema for validating Claude usage data from JSONL files