1import{j as e}from"./data-DN-eP4ae.js";import{r as p,k as re,e as ne}from"./react-BUOzgyp0.js";import{L as ae}from"./lucide-react-DNZOCB6v.js";import{cj as ie,c as I,av as le,aT as K,n as C,B as y,bA as ce,j as me,at as de,$ as pe,ay as ue,A as he,aK as fe}from"./index-6GUxm5Tl.js";import{E as H}from"./EmptyState-ChyoO585.js";import{A as xe}from"./AppConfirm-5b4xLAxh.js";import{s as ye,R as ge,r as be,S as we}from"./branching-yJsF8yo_.js";import{F}from"./FieldLabel-TuIMjPm6.js";import{b as B,i as D}from"./script-starter-DOIlmTqI.js";import{A as ke}from"./AppDialog-CEzz_wN2.js";import{p as je,q as ve,j as _e,b as Ne,k as Se,d as Ce,r as Oe,s as Ae}from"./useScriptPlaybooks-p8ArBw7E.js";import{A as Re}from"./AiAssistNote-BJD9P-1q.js";import{e as Le,f as De,u as Ie,g as Te}from"./useScriptIntelligence-BwaEZjr0.js";import{M as Q}from"./message-square-quote-Cv7HAfjA.js";import{F as Ee}from"./flag-MJRNLl_Q.js";import"./underline-mwsmAvFy.js";import"./tablet-OD3jgAhR.js";import"./maximize-2-B3P4cQNS.js";import"./square-D7bNRzj-.js";import"./arrow-down-BMPlnjnx.js";import"./arrow-right-left-D96rAsAg.js";import"./arrow-up-down-DYIY2caZ.js";import"./arrow-up-right-DbUg8U10.js";import"./arrow-up-uYleynt9.js";import"./bookmark-plus-_Gy-vFYb.js";import"./badge-dollar-sign-DDsaUsAf.js";import"./ban-KAmLRETc.js";import"./bell-ring-6dq54sgf.js";import"./book-open-check-Srw4nRrZ.js";import"./book-open-C5m3GX53.js";import"./crown-hws5r3dX.js";import"./boxes-CdymS7UW.js";import"./toggle-left-BKxphWgL.js";import"./cake-B9CwKepl.js";import"./calculator-793hz_om.js";import"./contact-round-DkH2kPb5.js";import"./calendar-clock-BrAgRcD7.js";import"./calendar-heart-Bpd6k3fS.js";import"./calendar-plus-Y9ZLRDRx.js";import"./calendar-range-DYekGqLn.js";import"./wheat-oebZg5ML.js";import"./chevron-left-BO8s0r98.js";import"./chevrons-up-down-DW0jw1Xd.js";import"./circle-check-big-CqaXP6K1.js";import"./rotate-cw-BBLCLn01.js";import"./circle-pause-rKOqJ_54.js";import"./circle-play-DeNcn8Lt.js";import"./circle-plus-uaqPnHpv.js";import"./variable-CNxCo4jt.js";import"./clock-3-BBoowy6K.js";import"./unplug-BQP60_uU.js";import"./code-xml-C75pwXzA.js";import"./link-65tYANWF.js";import"./mouse-pointer-click-DELbrTN2.js";import"./table-2-c8NUfrp9.js";import"./library-BK4QEfZd.js";import"./database-dY3RtVXf.js";import"./download-D8rVLK2a.js";import"./ellipsis-vertical-CEb_a4k-.js";import"./ellipsis-CAutlZKC.js";import"./eye-off-DP6aatND.js";import"./eye-BMa0xke4.js";import"./facebook-BOZYrg5x.js";import"./factory-CrfF_Yvt.js";import"./file-check-DwDvwaHw.js";import"./timer-reset-DADX0uiF.js";import"./file-spreadsheet-C0YUyC8u.js";import"./filter-CXt2ShtC.js";import"./pencil-line-BGZi5QhH.js";import"./folder-plus-CPx5b8d_.js";import"./gauge-D09rc50z.js";import"./youtube-DVQWXfeh.js";import"./globe-C22yugrV.js";import"./grip-vertical-CiuWx_Va.js";import"./heart-handshake-B49sNsgu.js";import"./hourglass-B3vMOC_T.js";import"./wifi-DFC_pcmF.js";import"./image-off-m_279FpP.js";import"./image-plus-DpxDknDd.js";import"./image-CyeYP78T.js";import"./package-plus-ChqUExSU.js";import"./inbox-IpoGX3gq.js";import"./instagram-B8Ezlogz.js";import"./key-Be7ol9Ms.js";import"./layers-3zKAEbPs.js";import"./linkedin-BKsvXJLa.js";import"./list-ordered-D8gwkM9h.js";import"./list-DGGkzBbs.js";import"./map-pin-D8yKoJwU.js";import"./message-circle-BaAVvJru.js";import"./message-square-heart-Cc5eMeJ1.js";import"./minus-DzNOUrXP.js";import"./monitor-C87s7gf_.js";import"./moon-star-oYgVqnQx.js";import"./package-check-CPxUIq6W.js";import"./package-search-CIOI0ItJ.js";import"./paperclip-D1wmnOro.js";import"./party-popper-CCyO5Xb5.js";import"./pause-Bxon9t5i.js";import"./pen-line-9jiWvZNl.js";import"./pencil-DC8kxVxB.js";import"./phone-outgoing-C15DWOUB.js";import"./play-I9FKzQDa.js";import"./power-acJGjCtP.js";import"./printer-BesHXDy7.js";import"./qr-code-BBUT7F9m.js";import"./radar-DWNcndFS.js";import"./radio-BSNd35KV.js";import"./receipt-text-WjBuYb9n.js";import"./repeat-DtLx7W2-.js";import"./rocket-DDgcO4_x.js";import"./save-Bg7aMJuF.js";import"./scale-Ch_1J_wC.js";import"./settings-2-1mx35hli.js";import"./shapes-B1mJF17W.js";import"./share-2-CZ4zcaRo.js";import"./share-Tvc9jl_G.js";import"./shield-x-mEeezeFX.js";import"./smartphone-Bv32NG3H.js";import"./square-check-big-CBgkfjtW.js";import"./square-pen-Cu7eZch0.js";import"./star-BwrGBDd5.js";import"./stethoscope-BOmDDZVC.js";import"./sticky-note-BKRB5oMJ.js";import"./tags-Ed58BM6Q.js";import"./thumbs-up-C_QXljbQ.js";import"./ticket-plus-BX3-SNsK.js";import"./timer-PGzFq-_7.js";
1import"./trash-2-DEbXoeSC.js";import"./utensils-crossed-BnBX42KK.js";import"./twitter-DqZOoxBv.js";import"./undo-2-BA1ZMI54.js";import"./upload-ByQVSpnZ.js";import"./user-x-OYN6jHXm.js";import"./user-DBlTe-K_.js";import"./users-round-fT51-aI3.js";import"./video-DDAfHAiu.js";import"./wallet-hX8y-nkf.js";import"./wand-sparkles-5e-vVx-4.js";import"./webhook-U5pXFWc_.js";import"./workflow-BQhqW2ze.js";import"./documents-Bju1cS7G.js";import"./charts-BjVT6r80.js";import"./app-primitives-C7oGnmBt.js";import"./useConnectedChannels-h55XEIpK.js";import"./state-DQ0n84Dr.js";import"./useBusinessIndustry-DWMnq4V5.js";import"./index-DuA5XNr_.js";import"./useIndustryTaxonomy-w6mlpeyU.js";const W={key:"follow_up",label:"Follow up later",intent:"follow_up",tone:"default",needsDate:!0},S={key:"no_answer",label:"Could not reach them",intent:"follow_up",tone:"default",needsDate:!0},Me={key:"not_now",label:"Not the right time",intent:"follow_up",tone:"default",needsDate:!0},J={sales:[{key:"interested",label:"Interested - moving forward",intent:"advance_deal",tone
1:"success"},{key:"wants_offer",label:"Wants an offer",intent:"create_offer",tone:"success"},W,Me,{key:"not_a_fit",label:"Not a fit",intent:"mark_lost",tone:"warning"},S],account_management:[{key:"happy",label:"Happy - nothing needed",intent:"none",tone:"success"},{key:"wants_more",label:"Wants more from us",intent:"create_offer",tone:"success"},{key:"problem_raised",label:"Raised a problem",intent:"escalate",tone:"warning"},W,S],money:[{key:"will_pay",label:"Promised to pay",intent:"payment_commitment",tone:"success",needsDate:!0},{key:"part_payment",label:"Agreed part payment",intent:"payment_commitment",tone:"default",needsDate:!0},{key:"query",label:"Queried the invoice",intent:"escalate",tone:"warning"},{key:"cannot_pay",label:"Cannot pay right now",intent:"follow_up",tone:"warning",needsDate:!0},S],customer_care:[{key:"resolved",label:"Resolved on the call",intent:"resolve",tone:"success"},{key:"needs_work",label:"Needs work from us",intent:"follow_up",tone:"default",needsDate:!0},{key:"escalated",label:"Escalated",intent:"escalate",tone:"warning"},S],fulfilment:[{key:"on_track",label:"On track",intent:"none",tone:"success"},{key:"waiting_customer",label:"Waiting on the customer",intent:"follow_up",tone:"default",needsDate:!0},{key:"delayed",label:"Delayed",intent:"escalate",tone:"warning"},{key:"rescheduled",label:"Rescheduled",intent:"reschedule",tone:"default",needsDate:!0},S],other:[{key:"done",label:"Done",intent:"none",tone:"success"},W,S]};function We(o){return J[o??"other"]??J.other}function P(o){switch(o.intent){case"follow_up":return"Create a follow-up";case"advance_deal":return"Move the opportunity forward";case"create_offer":return"Start an offer";case"payment_commitment":return"Record a payment commitment";case"escalate":return"Raise it with the team";case"resolve":return"Close the ticket";case"mark_lost":return"Mark the opportunity lost";case"reschedule":return"Reschedule the appointment";default:return null}}const Pe=["guided","compact","full"],Fe={guided:{key:"guided",label:"Guided",purpose:"One step at a time - for a first conversation."},compact:{key:"compact",label:"Compact",purpose:"Just the prompts, for someone who knows the script."},full:{key:"full",label:"Full",purpose:"The whole script on one page, for preparing or reviewing."}},Be=Pe.map(o=>Fe[o]),L={title:"Leave this conversation?",body:"Your place and notes are kept, so you can pick it up from where you stopped.",confirmLabel:"Leave and keep it",cancelLabel:"Stay here"};function Ke(o,i){return i<=0?"":o<=0?`Start - ${i} steps`:o>=i-1?"Last step":`Step ${o+1} of ${i}`}function Ue({open:o,onOpenChange:i,family:s,busy:k,responseKeys:a,onRecord:m}){const u=We(s),[l,f]=p.useState(null),[h,j]=p.useState(""),[g,O]=p.useState("");p.useEffect(()=>{if(!o||l)return;const r=ye(a??[]);if(!r)return;const d=u.find(w=>w.key===r);d&&f(d)},[o,l,a,u]);const b=l?P(l):null,N=!!(l!=null&&l.needsDate)&&!g;return e.jsx(ie,{open:o,onOpenChange:i,title:"What happened?",context:"Recorded against this customer, so nobody has to ask again.",side:"right",primaryLabel:"Record outcome",onPrimary:()=>l&&m({outcome:l,summary:h,followUpAt:g||null}),primaryDisabled:!l||N,busy:k,dirty:!!l||!!h,children:e.jsxs("div",{className:"space-y-5",children:[e.jsx("div",{className:"space-y-2",children:u.map(r=>e.jsxs("button",{type:"button",onClick:()=>f(r),className:I("w-full rounded-lg border p-3 text-left text-sm transition-colors",(l==null?void 0:l.key)===r.key?"border-primary bg-primary/5":"border-border hover:bg-muted/50"),children:[e.jsx("span",{className:"font-medium",children:r.label}),P(r)&&e.jsx("span",{className:"mt-0.5 block text-xs text-muted-foreground",children:P(r)})]},r.key))}),(l==null?void 0:l.needsDate)&&e.jsxs("div",{className:"space-y-2",children:[e.jsx(F,{required:!0,children:"When should this be picked up?"}),e.jsx(le,{type:"date",value:g,onChange:r=>O(r.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(F,{children:"In your words"}),e.jsx(K,{value:h,onChange:r=>j(r.target.value),rows:4,placeholder:"What the customer actually said."})]}),b&&e.jsxs("p",{className:"rounded-md bg-muted/50 p-3 text-xs text-muted-foreground",children:["DuceCRM will offer to ",b.toLowerCase()," after you record this. Nothing happens without you."]})]})})}function $e({open:o,onOpenChange:i,scriptId:s,nodeId:k,nodeLabel:a}){const[m,u]=p.useState(""),l=je(s),f=async()=>
1{if(m.trim())try{await l.mutateAsync({message:m,nodeId:k??null}),C.success("Sent to the script owner",{description:"The script has not changed for anyone else."}),u(""),i(!1)}catch(h){C.error("That did not send",{cause:h})}};return e.jsx(ke,{open:o,onOpenChange:i,title:"Suggest an improvement",description:a?`About: ${a}`:"What did not work in a real conversation?",primaryLabel:"Send suggestion",onPrimary:f,primaryDisabled:!m.trim(),busy:l.isPending,dirty:!!m,children:e.jsxs("div",{className:"space-y-2",children:[e.jsx(F,{children:"What would you change?"}),e.jsx(K,{value:m,onChange:h=>u(h.target.value),rows:5,placeholder:"Customers keep asking about delivery time here, and the script has no answer."}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Nothing changes until the script owner publishes a new version."})]})})}function ze({busy:o,options:i=[],onRecord:s,onAskDuceBot:k,aiState:a,assist:m,onRetryAssist:u,onCancelAssist:l}){const[f,h]=p.useState(null),[j,g]=p.useState(""),[O,b]=p.useState(!1),N=async(r,d)=>{h(r),await s({responseKey:r,text:j.trim()||null,optionId:d??null}),g(""),b(!1)};return e.jsxs("div",{className:"space-y-2 rounded-xl border bg-card p-4",children:[e.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"How did they respond?"}),!!i.length&&e.jsxs("div",{className:"space-y-1.5",children:[i.map(r=>e.jsx(y,{variant:"outline",disabled:o,className:"h-auto w-full justify-start whitespace-normal py-2 text-left",onClick:()=>N(r.response_kind||"other",r.id),children:r.label},r.id)),e.jsx("p",{className:"text-[11px] text-muted-foreground",children:"Or record it in general terms:"})]}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:ge.map(r=>e.jsx(y,{size:"sm",variant:f===r.key?"secondary":"outline",disabled:o,className:I("h-9",r.tone==="warning"&&"border-warning/50"),onClick:()=>N(r.key),title:r.meaning,children:r.label},r.key))}),O?e.jsx(K,{value:j,onChange:r=>g(r.target.value),placeholder:"Their words, if worth keeping",rows:2,className:"text-sm"}):e.jsx(y,{variant:"ghost",size:"sm",className:"h-8 px-2 text-xs",onClick:()=>b(!0),children:"Add their words"}),e.jsx("div",{className:"flex items-center gap-2 border-t pt-2",children:e.jsxs(y,{variant:"ghost",size:"sm",className:"h-8 px-2 text-xs",disabled:a.phase==="generating",onClick:()=>k({customerSaid:j.trim()||"They said something not covered by the script.",responseKind:f}),children:[a.phase==="generating"?e.jsx(ce,{className:"mr-1.5 h-3.5 w-3.5 animate-spin"}):e.jsx(me,{className:"mr-1.5 h-3.5 w-3.5"}),"Ask DuceBot what to say"]})}),(a.phase==="failed"||a.phase==="generating")&&e.jsx(Re,{state:a,onRetry:u,onCancel:l}),m&&a.phase==="success"&&e.jsxs("div",{className:"rounded-md bg-muted/60 p-3 text-sm",children:[e.jsx("p",{className:"whitespace-pre-wrap font-medium",children:m.say}),m.why&&e.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:m.why}),m.caution&&e.jsx("p",{className:"mt-1 text-xs text-warning-foreground",children:m.caution}),e.jsx("p",{className:"mt-2 text-[11px] text-muted-foreground",children:"A suggestion, not a promise. Confirm anything you are not sure of."})]})]})}function Ge(o){const i=[],s=k=>{for(const a of k)D(a.node_type)&&i.push(a),s(a.children)};return s(o),i}function qe(o){return o.children.filter(i=>!D(i.node_type))}function Ye({node:o}){const i=B(o.node_type),s=ae[i.icon]??fe;return e.jsxs("div",{className:I("flex items-start gap-2 rounded-md p-3 text-sm",i.tone==="warning"?"bg-warning/10 text-warning-foreground":"bg-muted/60"),children:[e.jsx(s,{className:"mt-0.5 h-4 w-4 shrink-0"}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"text-xs font-medium",children:i.label}),e.jsx("p",{className:"mt-0.5 whitespace-pre-wrap",children:o.body||o.title})]})]})}function Mo(){var q,Y;const{sessionId:o}=re(),i=ne(),{data:s,isLoading:k}=ve(o),{data:a}=_e(s==null?void 0:s.script_id),{data:m}=Ne(a==null?void 0:a.playbook_id),{tree:u}=Se(s==null?void 0:s.script_id),{data:l=[]}=Ce(s==null?void 0:s.script_id),f=Oe(o),h=Ae(),j=Le(o),{data:g=[]}=De(o),{context:O}=Ie(),b=Te(),[N,r]=p.useState(null),d=p.useMemo(()=>Ge(u),[u]),[w,T]=p.useState(0),[v,U]=p.useState("guided"),[V,E]=p.useState(!1),[X,$]=p.useState(!1),[Z,z]=p.useState(!1);p.useEffect(()=>{if(s&&(s.mode&&U(s.mode),s.current_node_id)){const t=d.findIndex(c=>c.id===s.current_node_id);t>=0&&T(t)}},[s==null?void 0:s.id,s==null?void 0:s.current_node_id,s==null?void 0:s.mode,d.length]);const n=d[w],ee=p.useMemo(()=>l.filter(t=>t.node_id===(n==null?void 0:n.id)),[l,n==null?void 0:n.id]),te=p.useMemo(()=>g.filter(t=>t.event_type==="customer_response").map(t=>{var c,x,_;return{title:((c=d.find(M=>M.id===t.node_id))==null?void 0:c.title)??"Step",response:be((x=t.payload)==null?void 0:x.response_key),note:((_=t.payload)==null?void 0:_.text)??null}}),[g,d]),A=t=>{const c=Math.max(0,Math.min(d.length-1,t));T(c);const x=d[c];x&&f.mutate({current_node_id:x.id})},se=async t=>{if(n){r(null),b.reset();try{const c=await j.mutateAsync({nodeId:n.id,responseKey:t.responseKey,text:t.text,optionId:t.optionId??null}),x=(c==null?void 0:c.next_node_id)??null;if(x){const _=d.findIndex(M=>M.id===x);if(_>=0){T(_),f.mutate({current_node_id:x}),C.info("Following their answer",{description:"This is where the conversation goes next. You can still choose your own way."});return}}w<d.length-1&&A(w+1)}catch(c){C.error("That response did not save",{cause:c})}}},G=async t=>{if(!n)return;const c=await b.ask({context:O,step:{title:n.title??"Step",say:n.body??null,goal:(a==null?void 0:a.objective)??null},customerSaid:t.customerSaid,responseKind:t.responseKind,transcript:te});r(c)},oe=t=>{U(t),f.mutate({mode:t})};if(k)return e.jsx("div",{className:"py-12 text-center text-muted-foreground",children:"Opening the conversation..."});if(!s||!a)return e.jsx(H,{icon:Q,heading:"This conversation is not available",subtext:"It may have been closed already. You can start it again from its playbook.",actionLabel:"Back to Script Playbooks",onAction:()=>i("/script-playbooks")});const R=s.state!=="open";return e.jsxs("div",{className:"mx-auto max-w-2xl space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"truncate text-sm font-medium",children:a.name}),e.jsx("p",{className:"text-xs text-muted-foreground",children:R?"Closed":Ke(w,d.length)})]}),e.jsxs("div",{className:"flex shrink-0 items-center gap-1",children:[e.jsx(y,{variant:"ghost",size:"sm",onClick:()=>z(!0),children:"Suggest a change"}),e.jsx(y,{variant:"ghost",size:"icon","aria-label":"Leave the conversation",onClick:()=>R?i("/script-playbooks"):$(!0),children:e.jsx(de,{className:"h-4 w-4"})})]})]}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:Be.map(t=>e.jsx(y,{variant:v===t.key?"secondary":"ghost",size:"sm",onClick:()=>oe(t.key),children:t.label},t.key))}),d.length===0?e.jsx(H,{icon:Q,heading:"This script has nothing to read yet",subtext:"Someone needs to finish writing it before it can guide a conversation."}):v==="full"?e.jsx(we,{tree:u,readOnly:!0}):n&&e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"rounded-xl border bg-card p-5",children:[e.jsx(pe,{variant:"secondary",className:"font-normal",children:B(n.node_type).label}),n.branch_label&&e.jsx("p",{className:"mt-2 text-xs font-medium text-primary",children:n.branch_label}),e.jsx("p",{className:I("mt-3 whitespace-pre-wrap font-medium",v==="compact"?"text-base":"text-lg leading-relaxed"),children:n.body||n.title}),v==="guided"&&!!((q=n.listen_for)!=null&&q.length)&&e.jsxs("p",{className:"mt-3 text-xs text-muted-foreground",children:["Listen for: ",n.listen_for.join(", ")
1]})]}),v==="guided"&&qe(n).map(t=>e.jsx(Ye,{node:t},t.id)),!R&&e.jsx(ze,{busy:j.isPending,options:ee,onRecord:se,onAskDuceBot:G,aiState:b.aiState,assist:N,onRetryAssist:()=>G({customerSaid:"They said something not covered by the script.",responseKind:null}),onCancelAssist:()=>b.reset()}),v==="guided"&&!!n.children.filter(t=>D(t.node_type)).length&&e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("p",{className:"text-xs text-muted-foreground",children:"Where this can go next"}),n.children.filter(t=>D(t.node_type)).map(t=>e.jsx(y,{variant:"outline",className:"h-auto w-full justify-start whitespace-normal py-2 text-left",onClick:()=>A(d.findIndex(c=>c.id===t.id)),children:t.branch_label||t.title||B(t.node_type).label},t.id))]})]}),!R&&e.jsxs("div",{className:"sticky bottom-0 flex items-center gap-2 border-t bg-background py-3",children:[e.jsxs(y,{variant:"outline",onClick:()=>A(w-1),disabled:w===0||v==="full",children:[e.jsx(ue,{className:"mr-1.5 h-4 w-4"}),"Back"]}),v!=="full"&&w<d.length-1?e.jsxs(y,{className:"flex-1",onClick:()=>A(w+1),children:["Next",e.jsx(he,{className:"ml-1.5 h-4 w-4"})]}):e.jsxs(y,{className:"flex-1",onClick:()=>E(!0),children:[e.jsx(Ee,{className:"mr-1.5 h-4 w-4"}),"Record what happened"]})]}),e.jsx(Ue,{open:V,onOpenChange:E,family:(m==null?void 0:m.family)??null,busy:h.isPending,responseKeys:g.map(t=>{var c;return(c=t.payload)==null?void 0:c.response_key}).filter(t=>!!t),onRecord:async({outcome:t,summary:c,followUpAt:x})=>{if(o)try{await h.mutateAsync({sessionId:o,outcomeKey:t.key,outcomeLabel:t.label,summary:c,writeBack:{intent:t.intent,follow_up_at:x},nextBestAction:t.intent}),E(!1),C.success("Recorded",{description:"This is now on the customer's history."}),i(`/script-playbooks/${a.playbook_id}`)}catch(_){C.error("That outcome did not save",{cause:_})}}}),e.jsx(xe,{open:X,onOpenChange:$,title:L.title,message:L.body,confirmLabel:L.confirmLabel,cancelLabel:L.cancelLabel,onConfirm:()=>i(`/script-playbooks/${a.playbook_id}`)}),e.jsx($e,{open:Z,onOpenChange:z,scriptId:a.id,nodeId:(n==null?void 0:n.id)??null,nodeLabel:(n==null?void 0:n.title)||((Y=n==null?void 0:n.body)==null?void 0:Y.slice(0,60))||null})]})}export{Mo as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.