Skip to content

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

Released under the MIT License.