1"use strict";(self.webpackChunkwhatsapp_dashboard=self.webpackChunkwhatsapp_dashboard||[]).push([[7298],{97444:(e,t,s)=>{s.r(t),s.d(t,{default:()=>O});var n=s(47313),a=s(63830),i=s(45788),r=s(47534),o=s(92536),l=s(81766),d=s(15827),c=s(32905),u=s(88170),g=s(44233),p=s(46417);function h(e){return e.skill_id||e.id||""}function x(e){const t=(e||"").trim();return t?/^https?:\/\//i.test(t)?t:"https://".concat(t):""}const m={width:"100%",boxSizing:"border-box",padding:"11px 12px",fontSize:15,color:r.eT.text.primary,fontFamily:r.eT.font,border:"1px solid rgba(0,0,0,0.18)",borderRadius:r.eT.radius,background:"#fff",outline:"none"},f={display:"block",fontSize:"0.82rem",fontWeight:600,color:r.eT.text.primary,marginBottom:6},y={marginTop:4,fontSize:"0.75rem",color:r.eT.text.hint},b={marginBottom:18};function v(e){let{open:t,assistantId:s,onClose:a,onOpenEditor:l}=e;const[v,j]=(0,n.useState)("input"),[S,T]=(0,n.useState)(""),[w,k]=(0,n.useState)(""),[z,C]=(0,n.useState)(""),[I,W]=(0,n.useState)(""),[A,O]=(0,n.useState)("ecommerce"),[D,M]=(0,n.useState)(""),[R,B]=(0,n.useState)(""),[J,_]=(0,n.useState)(!1),E=(0,n.useRef)([]),P=(0,n.useRef)({}),H=(0,n.useRef)("");(0,n.useEffect)((()=>{(0,r.kM)()}),[]),(0,n.useEffect)((()=>{if(!t||!s)return;(0,o.getIntegrationsStatus)(s).then((e=>{const t=(s=e&&e.shopify)&&s.connected?x(s.primaryDomain||s.primary_domain||s.domain||s.shopDomain):"";var s;t&&(H.current=t,_(!0),T((e=>e.trim()?e:t)))})).catch((()=>{}))}),[t,s]);const N=(0,i.useSelector)((e=>{var t,s;return null===(t=e.assistantDetails)||void 0===t||null===(s=t.data)||void 0===s?void 0:s.specialAccess})),q=(0,n.useRef)(N);q.current=N,(0,n.useEffect)((()=>{t&&(0,o.getSkillTemplates)().then((e=>{if(!e||0===e.length)return;const t=(0,u.T2)(e,q.current),s=t.length?t:e;E.current=s,P.current=function(e){const t={};return e.forEach((e=>{"core"!==(e.category||"core")||(e.variables||[]).some((e=>"tool_ref"===e.type))||(t[h(e)]=!0)})),t}(s)})).catch((()=>{}))}),[t]);const L=()=>{const e=E.current||[],t=P.current||{},s=e.some((e=>t[h(e)]&&(0,c.w)(e)));a&&a(),l&&l({incompleteSkills:s})};if(!t)return null;let U;return U="live"===v?(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)("div",{style:{flex:1}}),(0,p.jsx)(r.un,{onClick:L,startIcon:(0,p.jsx)(r.JO,{name:"tune",size:18,color:"#fff"}),children:"Go to agent"})]}):"starting"===v?(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)("div",{style:{flex:1}}),(0,p.jsx)("span",{style:{fontSize:"0.72rem",color:r.eT.text.hint},children:"Setting up your agent\u2026"})]}):(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)("div",{style:{flex:1}}),(0,p.jsx)(r.un,{onClick:async function(){if("starting"===v)return;if(!s)return void B("No assistant selected for this project.");const e=x(S);if(!e)return void B("Please enter your website URL.");B(""),j("starting");let t=e;try{t=new URL(e).host||e}catch{}try{const n={website:e};"ecommerce"!==A&&(n.businessType=A),w.trim()&&(n.agentName=w.trim()),z.trim()&&(n.greetingMessage=z.trim()),I.trim()&&(n.businessContextUserText=I.trim()),await(0,o.patchBusinessProfile)(s,n),await(0,o.patchAgentDraft)(s,"setup",{website:e}),D.trim()&&await(0,o.patchAgentDraft)(s,"instructions",D.trim()),await function(){if(!s)return Promise.resolve();const e=E.current,t=P.current;if(!e||0===e.length)return Promise.resolve();const n=e.filter((e=>t[h(e)])).map(u.Kx);return(0,o.patchAgentDraft)(s,"skills",n)}().catch((()=>{})),await(0,o.createKnowledgeBase)(s,t,[{type:"web",content:[{url:e}],max_depth:5,max_pages:500}]),await(0,o.publishAgent)(s),j("live")}catch(n){j("input"),B((0,d.O)(n,"Couldn't create your agent. Please check the URL and try again."))}},startIcon:(0,p.jsx)(r.JO,{name:"auto_awesome",size:18,color:"#fff"}),"data-testid":"onboarding-submit",children:"Create agent"})]}),(0,p.jsx)("div",{"data-testid":"agent-onboarding",style:{position:"fixed",inset:0,zIndex:2500,display:"grid",placeItems:"center",padding:24,pointerEvents:"none"},children:(0,p.jsxs)("div",{style:{pointerEvents:"auto",width:"100%",maxWidth:620,background:"#fff",borderRadius:8,boxShadow:"0 30px 80px rgba(0,0,0,0.35)",overflow:"hidden",display:"flex",flexDirection:"column",maxHeight:"90vh",fontFamily:r.eT.font},children:[(0,p.jsx)("div",{style:{display:"flex",alignItems:"center",padding:"20px 32px",borderBottom:"1px solid rgba(0,0,0,0.07)"},children:(0,p.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flex:1},children:[(0,p.jsx)("div",{style:{width:26,height:26,borderRadius:8,background:r.eT.primary.main,display:"grid",placeItems:"center"},children:(0,p.jsx)(r.JO,{name:"forum",size:15,color:r.eT.secondary.main})}),(0,p.jsx)("span",{style:{fontWeight:700,color:r.eT.primary.main},children:"Set up your AI Agent"})]})}),(0,p.jsx)("div",{className:"ab-no-scrollbar",style:{flex:1,overflowY:"auto",padding:"24px 32px"},children:"starting"===v?(0,p.jsxs)("div",{style:{maxWidth:480,margin:"0 auto",textAlign:"center",padding:"32px 0"},children:[(0,p.jsx)(r.JO,{name:"travel_explore",size:34,color:r.eT.primary.main,spin:!0}),(0,p.jsx)("div",{style:{marginTop:14,fontSize:"1.05rem",fontWeight:600,color:r.eT.text.primary},children:"Setting up your agent\u2026"}),(0,p.jsx)("div",{style:{marginTop:4,fontSize:"0.82rem",color:r.eT.text.secondary},children:"Saving your details and kicking off the crawl."})]}):"live"===v?(0,p.jsxs)("div",{style:{maxWidth:480,margin:"0 auto",textAlign:"center",padding:"8px 0"},children:[(0,p.jsx)("div",{style:{width:70,height:70,borderRadius:"50%",background:r.eT.success.light,display:"grid",placeItems:"center",margin:"0 auto 16px"},children:(0,p.jsx)(r.JO,{name:"check_circle",size:38,color:r.eT.success.main})}),(0,p.jsx)("h2",{style:{margin:"0 0 8px",fontSize:"1.4rem",fontWeight:600,color:r.eT.text.primary},children:"Your agent is live \ud83c\udf89"}),(0,p.jsx)("p",{style:{margin:"0 0 16px",fontSize:"0.85rem",color:r.eT.text.secondary,lineHeight:1.5},children:"Your agent is published. We're reading your site in the background \u2014 it'll keep getting sharper as the crawl finishes. Head to the editor to refine it."}),(0,p.jsxs)("div",{style:{display:"inline-flex",alignItems:"center",gap:8,padding:"8px 16px",borderRadius:8,background:r.eT.primary.light},children:[(0,p.jsx)(r.JO,{name:"sync",size:16,color:r.eT.primary.main,spin:!0}),(0,p.jsx)("span",{style:{fontSize:"0.85rem",fontWeight:600,color:r.eT.primary.main},children:"Reading your site in the background"})]})]}):(0,p.jsxs)("div",{children:[(0,p.jsxs)("div",{style:{textAlign:"center",marginBottom:24},children:[(0,p.jsx)("div",{style:{width:60,height:60,borderRadius:8,background:r.eT.primary.light,display:"grid",placeItems:"center",margin:"0 auto 14px"},children:(0,p.jsx)(r.JO,{name:"language",size:30,color:r.eT.primary.main})}),(0,p.jsx)("h2",{style:{margin:"0 0 8px",fontSize:"1.35rem",fontWeight:600,color:r.eT.text.primary},children:"Let's build your agent from your website"}),(0,p.jsx)("p",{style:{margin:0,fontSize:"0.85rem",color:r.eT.text.secondary,lineHeight:1.5},children:"Tell us about your business \u2014 we'll read your pages in the background and have your agent ready to test."})]}),(0,p.jsxs)("div",{style:b,children:[(0,p.jsxs)("label",{style:f,children:["Website",(0,p.jsx)("span",{style:{color:r.eT.error.main},children:" *"})]}),(0,p.jsx)("input",{value:S,onChange:e=>T(e.target.value),placeholder:"https://yourstore.com",style:m,"data-testid":"onboarding-website","aria-label":"Website"}),J?(0,p.jsxs)("div",{style:{...y,display:"flex",alignItems:"center",gap:5},children:[(0,p.jsx)(r.JO,{name:"shopping_bag",size:13,color:r.eT.text.hint}),"Using your Shopify store \u2014 edit it if you'd rather crawl a different site."]}):(0,p.jsx)("div",{style:y,children:"We'll crawl this to build your agent's knowledge."})]}),(0,p.jsxs)("div",{style:b,children:[(0,p.jsx)("label",{style:f,children:"Business type"}),(0,p.jsx)("select",{value:A,onChange:e=>O(e.target.value),style:m,"data-testid":"onboarding-business-type","aria-label":"Business type",children:g.nd.map((e=>(0,p.jsx)("option",{value:e.value,children:e.label},e.value)))}),(0,p.jsx)("div",{style:y,children:"services"===A?"Your agent qualifies, recommends, and books or routes requests \u2014 no checkout or payment links.":"Your agent can recommend products and take payment with a checkout link."})]}),(0,p.jsxs)("div",{style:b,children:[(0,p.jsx)("label",{style:f,children:"Anything special it should know?"}),(0,p.jsx)("textarea",{value:D,onChange:e=>M(e.target.value),rows:3,placeholder:"Optional ground rules \u2014 e.g. Never promise same-day delivery. Always mention the festive 15% off above \u20b91,000.",style:{...m,fontSize:14,resize:"vertical"},"data-testid":"onboarding-rules","aria-label":"Anything special it should know"})]}),(0,p.jsxs)("div",{style:b,children:[(0,p.jsx)("label",{style:f,children:"Business context"}),(0,p.jsx)("textarea",{value:I,onChange:e=>W(e.target.value),rows:3,placeholder:"Describe what the business does. Leave blank to draft it from your website.",style:{...m,fontSize:14,resize:"vertical"},"data-testid":"onboarding-business-context","aria-label":"Business context"})]}),(0,p.jsxs)("div",{style:b,children:[(0,p.jsx)("label",{style:f,children:"Agent / business name"}),(0,p.jsx)("input",{value:w,onChange:e=>k(e.target.value),placeholder:"How the agent introduces itself",style:m,"data-testid":"onboarding-agent-name","aria-label":"Agent name"})]}),(0,p.jsxs)("div",{style:b,children:[(0,p.jsx)("label",{style:f,children:"Greeting message"}),(0,p.jsx)("input",{value:z,onChange:e=>C(e.target.value),placeholder:"Sent word-for-word as the first message (optional)",style:m,"data-testid":"onboarding-greeting","aria-label":"Greeting message"})]}),R?(0,p.jsx)("div",{style:{marginTop:4,fontSize:"0.8rem",color:r.eT.error.dark},"data-testid":"onboarding-error",children:R}):null]})}),(0,p.jsx)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"16px 32px",borderTop:"1px solid rgba(0,0,0,0.07)",background:"#fcfcfd"},children:U})]})})}var j=s(98677),S=s(2666),T=s(19942);const{isAiSensy:w}=(0,j.K)(),k={page:{minHeight:"100vh",background:r.eT.bg.default,padding:"44px 40px 64px",fontFamily:r.eT.font},header:{maxWidth:880,margin:"0 auto 28px"},title:{margin:0,fontSize:"1.4rem",fontWeight:600,color:r.eT.text.primary},subtitle:{margin:"8px 0 0",fontSize:"0.92rem",color:r.eT.text.secondary,maxWidth:600,lineHeight:1.5},grid:{display:"grid",gridTemplateColumns:"repeat(2, 1fr)",gap:20,maxWidth:880,margin:"0 auto",alignItems:"stretch"},chatCard:{background:r.eT.bg.paper,border:"1px solid rgba(0,0,0,0.08)",borderRadius:8,boxShadow:"0 1px 2px rgba(16,24,40,0.05)",padding:"24px",minHeight:260,display:"flex",flexDirection:"column",cursor:"pointer",transition:"box-shadow 0.15s, border-color 0.15s, transform 0.15s"},chatCardHover:{boxShadow:"0 8px 24px rgba(10,71,76,0.16)",borderColor:r.eT.primary.main,transform:"translateY(-2px)"},campaignCard:{background:"#fbfbfd",border:"1px dashed rgba(0,0,0,0.08)",borderRadius:8,padding:"24px",minHeight:260,display:"flex",flexDirection:"column",opacity:.75,cursor:"not-allowed"},ghostCard:{gridColumn:"1 / -1",border:"1.5px dashed rgba(0,0,0,0.14)",borderRadius:8,padding:"22px 30px",display:"flex",alignItems:"center",justifyContent:"center",gap:10,color:r.eT.text.hint},iconBox:e=>
1({width:46,height:46,borderRadius:8,background:e,display:"grid",placeItems:"center",flexShrink:0}),cardName:{margin:"0 0 4px",fontSize:"1.05rem",fontWeight:600,color:r.eT.text.primary},cardNameMuted:{margin:"0 0 4px",fontSize:"1.05rem",fontWeight:600,color:r.eT.text.secondary},cardDesc:{fontSize:"0.86rem",color:r.eT.text.secondary,lineHeight:1.55,margin:"0 0 24px",flex:1},badge:(e,t)=>({display:"inline-flex",alignItems:"center",gap:5,padding:"3px 10px",borderRadius:11,background:e,fontSize:11.5,fontWeight:700,color:t}),comingSoonBadge:{display:"inline-flex",alignItems:"center",padding:"3px 12px",borderRadius:16,height:20,background:"rgba(0,0,0,0.06)",fontSize:11.5,fontWeight:600,color:r.eT.text.secondary,alignSelf:"flex-start",marginTop:"auto"}};function z(){return(0,p.jsxs)("span",{style:k.badge(r.eT.success.light,r.eT.success.dark),children:[(0,p.jsx)(r.JO,{name:"check_circle",size:13,color:r.eT.success.main})," Published"]})}function C(){const e=(0,i.useSelector)((e=>{var t,s,n;return null===(t=e.assistantDetails)||void 0===t||null===(s=t.data)||void 0===s||null===(n=s.flowConfiguration)||void 0===n?void 0:n.aiMessages}))||{},t=(0,i.useSelector)((e=>{var t,s;return null===(t=e.assistantDetails)||void 0===t||null===(s=t.data)||void 0===s?void 0:s.assistantId})),s=Number(e.baseQuota)||0,a=!!e.isEnabled&&s>0,[l,d]=n.useState(null);if(n.useEffect((()=>{if(!a||!t)return;let e=!0;return Promise.resolve((0,o.getAiMessageUsage)(t)).then((t=>{e&&d(t)})).catch((()=>{})),()=>{e=!1}}),[a,t]),!a)return null;const c=e=>Number(e).toLocaleString(),u="number"===typeof(null===l||void 0===l?void 0:l.used)?l.used:null,g="number"===typeof(null===l||void 0===l?void 0:l.overage)?l.overage:null!=u?Math.max(0,u-s):null,h=s>0&&null!=u?u/s:0,x=Math.min(100,Math.max(0,100*h));return(0,p.jsxs)("div",{"data-testid":"ai-message-quota",onClick:e=>e.stopPropagation(),style:{marginBottom:16},children:[(0,p.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",marginBottom:6},children:[(0,p.jsx)("span",{style:{fontWeight:700,fontSize:"0.72rem",color:r.eT.text.hint,textTransform:"uppercase",letterSpacing:.3},children:"AI messages"}),(0,p.jsxs)("span",{style:{fontSize:"0.78rem",color:r.eT.text.secondary,fontWeight:600},children:[null!=u?"".concat(c(u)," / ").concat(c(s)):"".concat(c(s)," / mo"),g?(0,p.jsxs)("span",{style:{color:"#e5484d"},children:[" \xb7 +",c(g)," over"]}):null]})]}),(0,p.jsx)(T.ko,{variant:"determinate",value:x,size:"large",status:h>=.9?"quotaHigh":h>=.7?"quotaMedium":"quotaLow","data-testid":"ai-message-quota-fill"})]})}function I(e){let{isSetUp:t,onConfigure:s,onSetup:a,onManagePlan:i}=e;const[o,l]=n.useState(!1),d=null===t,c=d?void 0:t?s:a;return(0,p.jsxs)("div",{"data-testid":"agent-card-chat-agent",style:{...k.chatCard,...o&&!d?k.chatCardHover:{},cursor:d?"default":"pointer"},onClick:c,onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[(0,p.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:16,marginBottom:18},children:[(0,p.jsx)("div",{style:k.iconBox(r.eT.primary.main),children:(0,p.jsx)(r.JO,{name:"forum",size:24,color:"#fff"})}),(0,p.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,p.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,p.jsx)("h3",{style:k.cardName,children:"Chat agent"}),!0===t?(0,p.jsx)(z,{}):null]}),(0,p.jsx)("div",{style:{fontSize:"0.82rem",color:r.eT.text.secondary,marginTop:2},children:"Answers sales, support & product questions"})]})]}),(0,p.jsx)("p",{style:k.cardDesc,children:"One agent across every conversation \u2014 greets, recommends, answers and qualifies using your business brief and connected tools."}),(0,p.jsx)(C,{}),(0,p.jsxs)("div",{style:{display:"flex",gap:10,flexWrap:"wrap"},children:[d?(0,p.jsx)(r.un,{disabled:!0,startIcon:(0,p.jsx)(r.JO,{name:"sync",size:16,color:"#fff",spin:!0}),children:"Checking\u2026"}):t?(0,p.jsx)(r.un,{startIcon:(0,p.jsx)(r.JO,{name:"tune",size:16,color:"#fff"}),onClick:s,children:"Configure"}):(0,p.jsx)(r.un,{startIcon:(0,p.jsx)(r.JO,{name:"auto_awesome",size:16,color:"#fff"}),onClick:a,children:"Set up"}),(0,p.jsx)(r.un,{variant:"outlined",startIcon:(0,p.jsx)(r.JO,{name:"credit_card",size:16,color:r.eT.primary.main}),onClick:e=>{e.stopPropagation(),i()},"data-testid":"manage-ai-plan-btn","aria-label":"Manage AI messages plan",children:"Manage AI messages plan"})]})]})}function W(){return(0,p.jsxs)("div",{"data-testid":"agent-card-campaign-agent",style:k.campaignCard,children:[(0,p.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",ga
1p:16,marginBottom:18},children:[(0,p.jsx)("div",{style:k.iconBox("rgba(0,0,0,0.06)"),children:(0,p.jsx)(r.JO,{name:"campaign",size:24,color:"#9a9a9a"})}),(0,p.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,p.jsx)("h3",{style:k.cardNameMuted,children:"Campaign agent"}),(0,p.jsx)("div",{style:{fontSize:"0.82rem",color:r.eT.text.hint,marginTop:2},children:"Proactive outbound broadcasts"})]})]}),(0,p.jsx)("p",{style:{...k.cardDesc,flex:1},children:"Plans and sends proactive broadcasts \u2014 win-backs, restock alerts and offers \u2014 tuned to each segment."}),(0,p.jsx)("span",{style:k.comingSoonBadge,children:"Coming soon"})]})}function A(){return(0,p.jsx)("div",{style:k.ghostCard,children:(0,p.jsx)("span",{style:{fontSize:"0.84rem",color:r.eT.text.hint},children:"More agent types arriving soon"})})}const O=function(){const e=(0,a.useHistory)(),{projectId:t}=(0,a.useParams)(),s=(0,i.useDispatch)(),r=(0,i.useSelector)((e=>{var t,s;return null===(t=e.assistantDetails)||void 0===t||null===(s=t.data)||void 0===s?void 0:s.assistantId})),d=(0,i.useSelector)((e=>{var t,s;return null===(t=e.assistantDetails)||void 0===t||null===(s=t.data)||void 0===s?void 0:s.partnerId})),c=r||t;n.useEffect((()=>{!r&&t&&s((0,l.W9)(t))}),[r,t,s]);const u=w&&!d;n.useEffect((()=>{r&&!u&&e.replace("/projects/"+t)}),[r,u,e,t]);const[h,x]=n.useState(!1),[m,f]=n.useState(!1),y=(0,i.useSelector)((e=>{var t;return null===(t=e.assistantDetails)||void 0===t?void 0:t.data})),[b,j]=n.useState(null);n.useEffect((()=>{c?Promise.resolve((0,o.getAgentDraft)(c)).then((e=>{const t=e&&e.draft||{},s=e&&e.published||{};j(Object.keys(s).length>0||Object.keys(t).length>0)})).catch((()=>j(!1))):j(!1)}),[c]);const T=s=>{const n="/projects/".concat(t,"/agent-studio/chat");s&&s.incompleteSkills?e.push(n,{focusIncompleteSkills:!0}):e.push(n)};return n.useEffect((()=>{null!==b&&u&&(b?e.replace("/projects/".concat(t,"/agent-studio/chat")):x(!0))}),[b,u,e,t]),r&&!u||null===b||!0===b?null:(0,p.jsxs)("div",{style:k.page,children:[!h&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)("div",{style:k.header,children:[(0,p.jsx)("h1",{style:k.title,children:"Agent studio"}),(0,p.jsx)("p",{style:k.subtitle,children:"Your agent answers customers on WhatsApp from one shared knowledge base. It\u2019s already live out of the box \u2014 open it to refine how it behaves."})]}),(0,p.jsxs)("div",{style:k.grid,children:[(0,p.jsx)(I,{isSetUp:b,onConfigure:T,onSetup:()=>x(!0),onManagePlan:()=>f(!0)}),g._j.campaignAgent&&(0,p.jsx)(W,{}),(0,p.jsx)(A,{})]})]}),(0,p.jsx)(S.Z,{assistantDetails:y,dialogOpen:m,onClose:()=>f(!1),title:"Manage AI Messages",dialogMode:"purchase",initialTier:"ai_messages",updateAssistantStore:e=>s((0,l.sJ)(e))}),(0,p.jsx)(v,{open:h,assistantId:c,onClose:()=>x(!1),onOpenEditor:T})]})}}}]);
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.