@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 1.96 kB
JavaScript
import{getNumber as e,getObject as t}from"../../utils/helpers/get-typed-value.mjs";import n from"./media.mjs";import r from"./index.mjs";const i=n=>{let r=t(t(n)?.tokens),i=t(r?.input),a=t(r?.output),o=e(i?.total),s=e(a?.total),c=e(r?.total);return o===null||s===null||c===null?null:{input:o,output:s,total:c}},a=e=>e.duration_ms===0?null:e.duration_ms,o=e=>{let t=e.featureKey;switch(e.featureKey){case`custom-field.input.generate`:return e.translate(`server:core.ai.usage.features.custom.field.input.generate`,{defaultMessage:`Field Generation`});case`media.alt.generate`:return e.translate(`server:core.ai.usage.features.media.alt.generate`,{defaultMessage:`Alt Text`});case`media.image.generate`:return e.translate(`server:core.ai.usage.features.media.image.generate`,{defaultMessage:`Image Generation`});default:return t}},s=e=>e.aiUsage.map(t=>c({aiUsage:t,host:e.host,translate:e.translate})),c=e=>{let s=e.aiUsage.user_id&&e.aiUsage.email&&e.aiUsage.username?{id:e.aiUsage.user_id,username:e.aiUsage.username,email:e.aiUsage.email,firstName:e.aiUsage.first_name,lastName:e.aiUsage.last_name,profilePicture:n.formatProfilePicture({poster:e.aiUsage.profile_picture?.[0],host:e.host})}:null;return{id:e.aiUsage.id,requestId:e.aiUsage.request_id,providerRequestId:e.aiUsage.provider_request_id,feature:{key:e.aiUsage.feature_key,label:o({featureKey:e.aiUsage.feature_key,translate:e.translate}),version:e.aiUsage.feature_version},status:e.aiUsage.status,model:e.aiUsage.model,createdAt:r.formatDate(e.aiUsage.created_at),durationMs:a(e.aiUsage),errorMessage:e.aiUsage.error_message,tokens:i(e.aiUsage.usage),cost:e.aiUsage.cost_currency&&e.aiUsage.cost_total_minor!==null?{currency:e.aiUsage.cost_currency,totalCostMinor:e.aiUsage.cost_total_minor}:null,target:{type:e.aiUsage.target_type,data:t(e.aiUsage.target)??{}},user:s}};var l={formatMultiple:s,formatSingle:c};export{l as default,o as formatAiUsageFeatureLabel};
//# sourceMappingURL=ai-usage.mjs.map