MCPcopy Create free account
hub / github.com/error311/FileRise / buildAutomationWorkflowFromDetail

Function buildAutomationWorkflowFromDetail

public/js/aiChat.js:957–1003  ·  view source on GitHub ↗
(baseWorkflow, detail)

Source from the content-addressed store, hash-verified

955 };
956
957 const buildAutomationWorkflowFromDetail = (baseWorkflow, detail) => {
958 const job = (detail && typeof detail === 'object' && detail.job && typeof detail.job === 'object') ? detail.job : null;
959 const payload = (job && job.payload && typeof job.payload === 'object') ? job.payload : null;
960 const progress = (payload && payload.aiProgress && typeof payload.aiProgress === 'object') ? payload.aiProgress : null;
961 const result = (payload && payload.aiResult && typeof payload.aiResult === 'object') ? payload.aiResult : null;
962 const rawStatus = String(job?.status || '').trim().toLowerCase();
963 const workflow = {
964 ...(baseWorkflow && typeof baseWorkflow === 'object' ? baseWorkflow : {})
965 };
966 if (job && Number(job.id || 0) > 0) {
967 workflow.jobId = Number(job.id || 0);
968 }
969 workflow.pending = false;
970 workflow.confirmed = rawStatus === 'succeeded';
971 workflow.queued = rawStatus === 'queued';
972 workflow.running = rawStatus === 'running';
973 workflow.status = rawStatus === 'succeeded'
974 ? 'completed'
975 : (rawStatus || 'queued');
976
977 const progressProcessed = Number(progress?.processedCount || 0);
978 const progressFiltered = Number(progress?.filteredOutCount || 0);
979 const progressFailed = Number(progress?.failedCount || 0);
980 const resultProcessed = Number(result?.processedCount || 0);
981 const resultFiltered = Number(result?.filteredOutCount || 0);
982 const resultFailed = Number(result?.failedCount || 0);
983 workflow.processed = rawStatus === 'succeeded' || rawStatus === 'failed' || rawStatus === 'dead' || rawStatus === 'canceled'
984 ? resultProcessed
985 : progressProcessed;
986 workflow.filtered = rawStatus === 'succeeded' || rawStatus === 'failed' || rawStatus === 'dead' || rawStatus === 'canceled'
987 ? resultFiltered
988 : progressFiltered;
989 workflow.failed = rawStatus === 'succeeded' || rawStatus === 'failed' || rawStatus === 'dead' || rawStatus === 'canceled'
990 ? resultFailed
991 : progressFailed;
992 workflow.lastFile = String(progress?.lastFile || '').trim();
993 workflow.savedOutputFile = (result?.savedOutputFile && typeof result.savedOutputFile === 'object')
994 ? result.savedOutputFile
995 : null;
996 workflow.savedOutputJsonFile = (result?.savedOutputJsonFile && typeof result.savedOutputJsonFile === 'object')
997 ? result.savedOutputJsonFile
998 : null;
999 workflow.adapterStats = (result?.adapterStats && typeof result.adapterStats === 'object')
1000 ? result.adapterStats
1001 : null;
1002 return workflow;
1003 };
1004
1005 const buildWorkflowCard = (workflow) => {
1006 if (!workflow || typeof workflow !== 'object') return '';

Callers 1

pollFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected