UNPKG

@kaifronsdal/transcript-viewer

Version:

A web-based viewer for AI conversation transcripts with rollback support

2 lines (1 loc) 2.13 kB
import{m as t,H as f,u as r}from"./DDSnUQRm.js";function x(m){let s=f(null),e=f(null),g=f(!1),w=f(!1),u=f(null),i=f(null);const h=async()=>{if(t(s))return t(s);r(g,!0),r(u,null);try{const c=`/api/transcripts?filePath=${encodeURIComponent(m)}&metadataOnly=true`,a=await fetch(c);if(!a.ok){if(a.status===404)r(u,`Transcript at "${m}" not found`);else{let o="";try{const l=await a.clone().json();o=(l==null?void 0:l.message)||(l==null?void 0:l.error)||""}catch{try{o=await a.text()}catch{}}const d=o?` - ${o}`:"";throw new Error(`Failed to load metadata: ${a.status} ${a.statusText}${d}`)}return null}const n=await a.json();if(n.success)return r(s,n.data,!0),t(s);throw new Error(n.error||"Unknown API error")}catch(c){return r(u,c instanceof Error?c.message:"Unknown error loading metadata",!0),null}finally{r(g,!1)}},y=async()=>{var c;if(t(e))return t(e);r(w,!0),r(i,null);try{const a=`/api/transcripts?filePath=${encodeURIComponent(m)}`,n=await fetch(a);if(!n.ok){if(n.status===404)r(i,`Transcript at "${m}" not found`);else{let d="";try{const p=await n.clone().json();d=(p==null?void 0:p.message)||(p==null?void 0:p.error)||""}catch{try{d=await n.text()}catch{}}const l=d?` - ${d}`:"";throw new Error(`Failed to load transcript: ${n.status} ${n.statusText}${l}`)}return null}const o=await n.json();if(o.success)return r(e,o.data,!0),!t(s)&&t(e)&&"transcript"in t(e)&&((c=t(e).transcript)!=null&&c.metadata)&&r(s,t(e).transcript.metadata,!0),t(e);throw new Error(o.error||"Unknown API error")}catch(a){return r(i,a instanceof Error?a.message:"Unknown error loading transcript",!0),null}finally{r(w,!1)}};return{get metadata(){return t(s)},get transcript(){return t(e)},get metadataLoading(){return t(g)},get transcriptLoading(){return t(w)},get metadataError(){return t(u)},get transcriptError(){return t(i)},get hasMetadata(){return t(s)!==null},get hasTranscript(){return t(e)!==null},get isLoading(){return t(g)||t(w)},get hasError(){return t(u)!==null||t(i)!==null},loadMetadata:h,loadTranscript:y,reset:()=>{r(s,null),r(e,null),r(g,!1),r(w,!1),r(u,null),r(i,null)},loadBoth:async()=>{await h(),await y()}}}export{x as c};