@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
2 lines • 1.76 kB
JavaScript
import e from"../../../libs/repositories/ai-generations.mjs";import{parseStoredTimestamp as t}from"../helpers/date-helpers.mjs";import n from"../helpers/get-request-duration-ms.mjs";const r=async(r,i)=>{let a=new e(r.db.client,r.config.db),o=await a.selectSingleByRequestId({requestId:i.requestId,select:[`id`,`created_at`,`status`],tenantKey:r.request.tenantKey});if(o.error)return o;if(o.data){if(o.data.status!==`pending`)return{error:void 0,data:void 0};let e=t(o.data.created_at),r=Number.isNaN(e.getTime())?null:n(e.getTime()),s=await a.updateSingle({data:{...i.usage?{provider_request_id:i.usage.providerRequestId??null,usage:i.usage,model:i.usage.model,cost_currency:i.usage.cost.currency,cost_total_minor:i.usage.cost.totalCostMinor}:{},duration_ms:r,status:`failed`,error_message:i.errorMessage??null},where:[{key:`request_id`,operator:`=`,value:i.requestId}],returning:[`id`]});return s.error?s:{error:void 0,data:void 0}}if(!i.feature||!i.targetType||!i.target)return{error:void 0,data:void 0};let s=await a.createSingle({data:{request_id:i.requestId,provider_request_id:null,feature_key:i.feature.key,feature_version:i.feature.version,tenant_key:r.request.tenantKey??null,user_id:i.userId??null,target_type:i.targetType,target:i.target,output:null,usage:null,model:null,cost_currency:null,cost_total_minor:null,duration_ms:i.requestStartedAt===void 0?null:n(i.requestStartedAt),status:`failed`,error_message:i.errorMessage??null,...i.usage?{provider_request_id:i.usage.providerRequestId??null,usage:i.usage,model:i.usage.model,cost_currency:i.usage.cost.currency,cost_total_minor:i.usage.cost.totalCostMinor}:{}},returning:[`id`]});return s.error?s:{error:void 0,data:void 0}};export{r as default};
//# sourceMappingURL=store-failed-generation.mjs.map