(()=>{"use strict";var e,t,r,n={54438(e,t,r){var n=r(5338),a=r(97665),i=r(20867),s=r(85015),l=r(22658),o=(r(62796),{token:{colorPrimary:"#1F2937",colorPrimaryHover:"#374151",colorPrimaryActive:"#111827",colorLink:"#1F2937",colorLinkHover:"#374151",colorText:"#1A1A1A",colorTextSecondary:"#6B7280",colorTextTertiary:"#9CA3AF",colorBorder:"#E5E7EB",colorBorderSecondary:"#F3F4F6",colorBgLayout:"#F9FAFB",colorBgContainer:"#FFFFFF",borderRadius:6,borderRadiusLG:12,fontFamily:'"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:14,fontSizeHeading1:28,fontSizeHeading2:22,fontSizeHeading3:18,fontWeightStrong:500,controlHeight:36,controlHeightLG:42,paddingContentHorizontal:16},components:{Button:{fontWeight:500,primaryShadow:"none",defaultShadow:"none"},Layout:{headerBg:"#FFFFFF",siderBg:"#F9FAFB",bodyBg:"#F9FAFB",headerHeight:56,headerPadding:"0 24px"},Menu:{itemBg:"transparent",itemSelectedBg:"#F3F4F6",itemSelectedColor:"#1F2937",itemHoverBg:"#F3F4F6",itemHoverColor:"#1F2937",itemHeight:40,iconSize:16},Card:{headerFontSize:16,paddingLG:24},Input:{activeShadow:"0 0 0 2px rgba(31, 41, 55, 0.1)"},Form:{labelColor:"#6B7280",labelFontSize:13,verticalLabelPadding:"0 0 4px"}}}),c=new(r(37865).E)({defaultOptions:{queries:{staleTime:3e4,gcTime:3e5,retry:1,refetchOnWindowFocus:!0},mutations:{retry:0}}}),d=r(84976),u=r(47767),p=r(74637),y=r(677),h=r(97072),g=r(27197),m=r(79249),x=r(22395),f=r(71083),v={API_BASE_URL:null!=="https://cabinet.richat.ru/api"?"https://cabinet.richat.ru/api":"http://localhost:8003",APP_NAME:"RiChat",IS_DEV:!1,IS_PROD:!0};function j(e,t,r,n,a,i,s){try{var l=e[i](s),o=l.value}catch(e){return void r(e)}l.done?t(o):Promise.resolve(o).then(n,a)}var b=!1,A=[];function w(e){A.forEach(t=>t(e)),A=[]}var _=f.A.create({baseURL:v.API_BASE_URL,withCredentials:!0,timeout:3e4,headers:{"Content-Type":"application/json"}});_.interceptors.request.use(e=>{var t;return v.IS_DEV&&console.debug("[http]",null===(t=e.method)||void 0===t?void 0:t.toUpperCase(),e.url),e},e=>Promise.reject(e)),_.interceptors.response.use(e=>e,function(){var e,t=(e=function*(e){var t,r,n=e.config;if(!n||401!==(null===(t=e.response)||void 0===t?void 0:t.status)||n._retried)return Promise.reject(e);if(null!==(r=n.url)&&void 0!==r&&r.startsWith("/auth/"))return Promise.reject(e);if(n._retried=!0,b)return new Promise((t,r)=>{A.push(a=>{a?_(n).then(t).catch(r):r(e)})});b=!0;try{return yield _.post("/auth/refresh"),w(!0),_(n)}catch(e){return w(!1),"undefined"==typeof window||window.location.pathname.startsWith("/login")||window.location.assign("/login"),Promise.reject(e)}finally{b=!1}},function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function s(e){j(i,n,a,s,l,"next",e)}function l(e){j(i,n,a,s,l,"throw",e)}s(void 0)})});return function(e){return t.apply(this,arguments)}}());var S=r(53110);function T(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Что-то пошло не так";if(e instanceof S.pe){if(!e.response)return"ECONNABORTED"===e.code?"Сервер не отвечает. Попробуйте ещё раз.":"Нет связи с сервером. Проверьте подключение.";var r=e.response.data;if(null!=r&&r.detail){var n;if("string"==typeof r.detail)return r.detail;if(Array.isArray(r.detail)&&null!==(n=r.detail[0])&&void 0!==n&&n.msg)return r.detail[0].msg}return"Ошибка ".concat(e.response.status)}return e instanceof Error&&e.message||t}function F(e,t,r,n,a,i,s){try{var l=e[i](s),o=l.value}catch(e){return void r(e)}l.done?t(o):Promise.resolve(o).then(n,a)}function I(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function s(e){F(i,n,a,s,l,"next",e)}function l(e){F(i,n,a,s,l,"throw",e)}s(void 0)})}}var k=e=>I(function*(){return(yield _.post("/assistants/",e)).data})(),C=(e,t)=>I(function*(){return(yield _.get("/assistants/".concat(e),{params:t?{include:t}:void 0})).data})(),z=(e,t)=>I(function*(){return(yield _.patch("/assistants/".concat(e),t)).data})(),q=e=>I(function*(){yield _.delete("/assistants/".concat(e))})(),B=r(33930),E=r(57097),P=r(81621),O=(0,P.vt)(e=>({user:null,isAuthenticated:!1,setUser:t=>e({user:t,isAuthenticated:!!t}),reset:()=>e({user:null,isAuthenticated:!1})})),M=r(96540);function R(e,t,r,n,a,i,s){try{var l=e[i](s),o=l.value}catch(e){return void r(e)}l.done?t(o):Promise.resolve(o).then(n,a)}function D(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function s(e){R(i,n,a,s,l,"next",e)}function l(e){R(i,n,a,s,l,"throw",e)}s(void 0)})}}var L=()=>D(function*(){return(yield _.get("/user/",{params:{include:"assistants"}})).data})();function W(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function U(e,t,r){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var X={all:["user"],me:()=>[...X.all,"me"]};var K={all:["assistants"],detail:e=>[...K.all,"detail",e]};function N(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rte(function*(){var t=new FormData;return t.append("assistant_id",e.assistant_id),t.append("file",e.file),(yield _.post("/knowledge/upload",t,{headers:{"Content-Type":void 0},timeout:3e5})).data})(),ne=(e,t)=>te(function*(){return(yield _.post("/knowledge/sources/".concat(e,"/confirm"),t)).data})(),ae=e=>te(function*(){return(yield _.get("/knowledge/sources",{params:{assistant_id:e}})).data})(),ie=e=>te(function*(){return(yield _.get("/knowledge/ingestion/".concat(e))).data})(),se=e=>te(function*(){yield _.delete("/sources/".concat(e))})(),le=e=>te(function*(){return(yield _.post("/knowledge/scrape/estimate",e)).data})(),oe=e=>te(function*(){return(yield _.get("/knowledge/scrape/estimate/".concat(e))).data})(),ce=e=>te(function*(){return(yield _.post("/knowledge/scrape/confirm",e)).data})(),de=e=>te(function*(){return(yield _.get("/knowledge/scrape/".concat(e,"/progress"))).data})(),ue=e=>te(function*(){return(yield _.get("/knowledge/sources/".concat(e,"/billing-summary"))).data})(),pe=e=>te(function*(){return(yield _.get("/knowledge/sources/".concat(e,"/pages"))).data})(),ye={all:["sources"],list:e=>[...ye.all,"list",e],ingestion:e=>[...ye.all,"ingestion",e],scrapeEstimate:e=>[...ye.all,"scrape","estimate",e],scrapeProgress:e=>[...ye.all,"scrape","progress",e],billingSummary:e=>[...ye.all,"billing-summary",e],pages:e=>[...ye.all,"pages",e]};function he(e){return(0,B.I)({queryKey:ye.list(null!=e?e:""),queryFn:()=>ae(e),enabled:!!e,staleTime:1e4})}function ge(e){return(0,B.I)({queryKey:ye.ingestion(null!=e?e:""),queryFn:()=>ie(e),enabled:!!e,refetchInterval:e=>{var t,r=null===(t=e.state.data)||void 0===t?void 0:t.status;return r?!J(r)&&2e3:2e3},retry:(e,t)=>{var r,n=null===(r=t.response)||void 0===r?void 0:r.status;return 401!==n&&403!==n&&404!==n&&e<2}})}function me(e){return(0,B.I)({queryKey:ye.scrapeProgress(null!=e?e:""),queryFn:()=>de(e),enabled:!!e,refetchInterval:e=>{var t=e.state.data;return t?"vision_done"!==t.vision_status&&"fail"!==t.source_status&&2500:2500},retry:(e,t)=>{var r,n=null===(r=t.response)||void 0===r?void 0:r.status;return 401!==n&&403!==n&&404!==n&&e<2},staleTime:0})}function xe(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return(0,B.I)({queryKey:ye.billingSummary(null!=e?e:""),queryFn:()=>ue(e),enabled:!!e&&t,staleTime:6e4,retry:(e,t)=>{var r,n=null===(r=t.response)||void 0===r?void 0:r.status;return 401!==n&&403!==n&&404!==n&&e<2}})}var fe=r(6754),ve=r(56914),je=r(74848),be=p.A.Text;function Ae(e){var t,r,n,a,i,s,l=e.source,o=e.isSelected,c=e.onSelect,d=!!(a=l.name)&&/^https?:\/\//i.test(a),u="in_queue"===l.status||"in_progress"===l.status||"pending_confirm"===l.status,p=ge(u?l.source_id:void 0).data,h=null!==(t=null==p?void 0:p.status)&&void 0!==t?t:l.status,g=me(d&&u?l.source_id:void 0).data,m="success"===h||"partial_success"===h||"fail"===h,x=xe(l.source_id,m).data;return(0,je.jsx)(y.A,{size:"small",hoverable:!0,onClick:c,styles:{body:{padding:12}},style:{marginBottom:8,cursor:"pointer",borderColor:o?"#1677ff":void 0,borderWidth:o?2:1},children:(0,je.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[(0,je.jsx)("div",{style:{flexShrink:0,color:"#1677ff",fontSize:16,marginTop:2},children:d?(0,je.jsx)(V.A,{}):(0,je.jsx)(Q.A,{})}),(0,je.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,je.jsx)("div",{style:{fontSize:13,color:"#1A1A1A",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginBottom:4},title:null!==(r=l.name)&&void 0!==r?r:"Без имени",children:null!==(n=l.name)&&void 0!==n?n:"Без имени"}),(0,je.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,je.jsx)(_e,{status:h}),(0,je.jsx)(be,{type:"secondary",style:{fontSize:11},children:(i=l.created_at,s=new Date(i),s.toLocaleString("ru-RU",{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit"}))})]}),"in_progress"===h&&(0,je.jsx)(je.Fragment,{children:d&&g?(0,je.jsx)(we,{progress:g}):(0,je.jsx)(fe.A,{percent:50,size:"small",showInfo:!1,status:"active",style:{marginTop:6,marginBottom:0}})}),m&&x&&parseFloat(x.total_rub)>0&&(0,je.jsxs)(be,{type:"secondary",style:{fontSize:11,display:"block",marginTop:4},children:["Списано: ",parseFloat(x.total_rub).toFixed(2)," ₽"]})]})]})})}function we(e){var t=e.progress,r=function(e){if(null===e||e<60)return null;var t=Math.round(e/60);if(t<60)return"~".concat(t," мин");var r=Math.floor(t/60),n=t%60;return 0===n?"~".concat(r," ч"):"~".concat(r," ч ").concat(n," мин")}(t.eta_seconds);return(0,je.jsxs)("div",{style:{marginTop:6},children:[(0,je.jsx)(fe.A,{percent:t.pages_percent,size:"small",showInfo:!1,status:"active",style:{marginBottom:4}}),(0,je.jsxs)(be,{type:"secondary",style:{fontSize:11},children:[t.pages_done," / ",t.pages_total," страниц",t.images_done>0&&(0,je.jsxs)(je.Fragment,{children:[" · ",t.images_done," картинок"]}),r&&(0,je.jsxs)(je.Fragment,{children:[" · ",r]})]})]})}function _e(e){var t=e.status,r=Se[t];return(0,je.jsx)(ve.A,{color:r.color,bordered:!1,style:{fontSize:11,margin:0},children:r.label})}var Se={pending_confirm:{label:"Ждёт подтверждения",color:"default"},in_queue:{label:"В очереди",color:"default"},in_progress:{label:"Обработка...",color:"blue"},success:{label:"Готов",color:"success"},partial_success:{label:"Частично",color:"warning"},fail:{label:"Ошибка",color:"error"}},Te=p.A.Text;function Fe(e){var t=e.assistantId,r=e.selectedSourceId,n=e.onSelectSource,a=e.onAddDocument,i=e.onAddSite,s=he(t),l=s.data,o=s.isLoading,c=s.error,d=[{key:"document",icon:(0,je.jsx)(Q.A,{}),label:"Документ",onClick:a},{key:"site",icon:(0,je.jsx)(V.A,{}),label:"Сайт",onClick:i}];return(0,je.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[(0,je.jsx)("div",{style:{marginBottom:12},children:(0,je.jsx)(H.A,{menu:{items:d},trigger:["click"],children:(0,je.jsxs)(m.Ay,{type:"primary",icon:(0,je.jsx)(Z.A,{}),block:!0,children:["Добавить источник ",(0,je.jsx)($.A,{})]})})}),(0,je.jsxs)("div",{style:{flex:1,overflowY:"auto",minHeight:0},children:[o&&(0,je.jsx)(h.A,{active:!0,paragraph:{rows:2}}),c&&(0,je.jsx)(g.A,{type:"error",showIcon:!0,message:"Не удалось загрузить список",description:T(c)}),l&&0===l.length&&!o&&(0,je.jsx)(G.A,{image:G.A.PRESENTED_IMAGE_SIMPLE,description:(0,je.jsx)(Te,{type:"secondary",style:{fontSize:12},children:"Пока пусто"}),style:{marginTop:24}}),l&&l.length>0&&(0,je.jsx)("div",{children:l.map(e=>(0,je.jsx)(Ae,{source:e,isSelected:e.source_id===r,onSelect:()=>n(e.source_id)},e.source_id))})]})]})}var Ie=p.A.Title,ke=p.A.Text;function Ce(e){var t=e.onAddDocument,r=e.onAddSite;return(0,je.jsx)("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",padding:24},children:(0,je.jsxs)("div",{style:{textAlign:"center",maxWidth:480},children:[(0,je.jsx)(Ie,{level:4,style:{marginBottom:8},children:"База знаний ассистента"}),(0,je.jsx)(ke,{type:"secondary",style:{display:"block",marginBottom:32},children:"Загрузите документы или подключите сайт, чтобы ассистент использовал эту информацию при ответах. Выберите источник слева для просмотра деталей."}),(0,je.jsxs)("div",{style:{display:"flex",gap:16,justifyContent:"center",flexWrap:"wrap"},children:[(0,je.jsx)(m.Ay,{size:"large",icon:(0,je.jsx)(Q.A,{}),onClick:t,style:{minWidth:200},children:"Добавить документ"}),(0,je.jsx)(m.Ay,{size:"large",type:"primary",icon:(0,je.jsx)(V.A,{}),onClick:r,style:{minWidth:200},children:"Подключить сайт"})]})]})})}var ze=r(36207),qe=r(49222),Be=r(63496),Ee=r(29029),Pe=r(15039);function Oe(e){var t=e.toLocaleString("ru-RU",{minimumFractionDigits:0,maximumFractionDigits:2});return"".concat(t," ₽")}var Me=p.A.Text;function Re(e){var t,r,n,a,i=e.estimate,s=e.processImages,l=e.onProcessImagesChange,o=s?i.estimated_cost_with_vision_rub:i.estimated_cost_without_vision_rub,c=s?i.estimated_cost_without_vision_rub:i.estimated_cost_with_vision_rub,d=o>i.current_balance_rub,u=i.images_count>0;return(0,je.jsxs)(y.A,{size:"small",styles:{body:{padding:16}},children:[(0,je.jsxs)("div",{style:{marginBottom:12},children:[(0,je.jsx)(Me,{strong:!0,children:null!==(t=i.file_name)&&void 0!==t?t:"Файл"}),(0,je.jsx)("div",{children:(0,je.jsxs)(Me,{type:"secondary",style:{fontSize:12},children:[i.page_count," ",(r=i.page_count,n=r%10,a=r%100,a>=11&&a<=14?"страниц":1===n?"страница":n>=2&&n<=4?"страницы":"страниц"),u&&", ".concat(i.images_count," ").concat(De(i.images_count))]})})]}),u&&(0,je.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"10px 12px",background:"#F9FAFB",borderRadius:6,marginBottom:12},children:[(0,je.jsxs)("div",{children:[(0,je.jsx)("div",{style:{fontSize:13,color:"#1A1A1A"},children:"Обрабатывать картинки"}),(0,je.jsx)(Me,{type:"secondary",style:{fontSize:11},children:"Vision разберёт изображения в документе"})]}),(0,je.jsx)(Pe.A,{checked:s,onChange:l})]}),(0,je.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",marginBottom:4},children:[(0,je.jsx)(Me,{type:"secondary",style:{fontSize:13},children:"К списанию"}),(0,je.jsx)(Me,{strong:!0,style:{fontSize:18},children:Oe(o)})]}),u&&(0,je.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",marginBottom:8},children:[(0,je.jsx)(Me,{type:"secondary",style:{fontSize:12},children:s?"Без обработки картинок":"С обработкой картинок"}),(0,je.jsx)(Me,{type:"secondary",style:{fontSize:12},children:Oe(c)})]}),(0,je.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",paddingTop:8,borderTop:"1px solid #F3F4F6"},children:[(0,je.jsx)(Me,{type:"secondary",style:{fontSize:12},children:"Баланс"}),(0,je.jsx)(Me,{type:"secondary",style:{fontSize:12},children:Oe(i.current_balance_rub)})]}),d&&(0,je.jsx)(g.A,{type:"info",showIcon:!0,message:"Спишется при пополнении баланса",description:"Документ обработается сейчас. Стоимость спишется с баланса ассистента — пополните его перед публикацией в каналах.",style:{marginTop:12}})]})}function De(e){var t=e%10,r=e%100;return r>=11&&r<=14?"картинок":1===t?"картинка":t>=2&&t<=4?"картинки":"картинок"}function Le(e,t,r,n,a,i,s){try{var l=e[i](s),o=l.value}catch(e){return void r(e)}l.done?t(o):Promise.resolve(o).then(n,a)}function We(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function s(e){Le(i,n,a,s,l,"next",e)}function l(e){Le(i,n,a,s,l,"throw",e)}s(void 0)})}}function Ue(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,s,l=[],o=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;o=!1}else for(;!(o=(n=i.call(r)).done)&&(l.push(n.value),l.length!==t);o=!0);}catch(e){c=!0,a=e}finally{try{if(!o&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(c)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Xe(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Xe(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Xe(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rre(e)}),p=function(e){var t=(0,a.jE)();return(0,E.n)({mutationFn:e=>{var t=e.sourceId,r=e.process_images;return ne(t,{process_images:r})},onSuccess:()=>{t.invalidateQueries({queryKey:ye.list(e)})}})}(r);(0,M.useEffect)(()=>{t&&(l(null),d(!0),u.reset(),p.reset())},[t]);var y=function(){var e=We(function*(e){try{var t=yield u.mutateAsync({assistant_id:r,file:e});l(t)}catch(e){}});return function(t){return e.apply(this,arguments)}}(),h=function(){var e=We(function*(){if(s)try{yield p.mutateAsync({sourceId:s.source_id,process_images:c}),n()}catch(e){}});return function(){return e.apply(this,arguments)}}(),x=u.error?T(u.error):null,f=p.error?T(p.error):null,v=u.isPending,j=p.isPending;return(0,je.jsxs)(qe.A,{open:t,title:"Загрузить документ",onCancel:n,destroyOnClose:!0,width:520,footer:s?[(0,je.jsx)(m.Ay,{onClick:()=>{l(null),u.reset()},disabled:j,children:"Выбрать другой файл"},"back"),(0,je.jsx)(m.Ay,{type:"primary",onClick:h,loading:j,children:"Подтвердить и обработать"},"confirm")]:[(0,je.jsx)(m.Ay,{onClick:n,children:"Отмена"},"cancel")],children:[!s&&!v&&(0,je.jsxs)(je.Fragment,{children:[(0,je.jsxs)(Be.A.Dragger,{accept:".pdf,.docx,.pptx,.xlsx,.txt",multiple:!1,showUploadList:!1,beforeUpload:e=>(y(e),!1),disabled:v,children:[(0,je.jsx)("p",{style:{fontSize:14,marginBottom:8},children:"Перетащите файл сюда или нажмите для выбора"}),(0,je.jsx)(Ke,{type:"secondary",style:{fontSize:12},children:"PDF, DOCX, PPTX, XLSX, TXT — до 100 МБ"})]}),x&&(0,je.jsx)(g.A,{type:"error",showIcon:!0,message:x,style:{marginTop:12}})]}),v&&(0,je.jsxs)("div",{style:{textAlign:"center",padding:"40px 0"},children:[(0,je.jsx)(Ee.A,{size:"large"}),(0,je.jsx)("div",{style:{marginTop:12},children:(0,je.jsx)(Ke,{type:"secondary",children:"Анализируем файл..."})})]}),s&&(0,je.jsxs)(je.Fragment,{children:[(0,je.jsx)(Re,{estimate:s,processImages:c,onProcessImagesChange:d}),f&&(0,je.jsx)(g.A,{type:"error",showIcon:!0,message:f,style:{marginTop:12}})]})]})}function He(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{l(!0)},[]),(0,je.jsxs)("div",{style:{padding:24},children:[(0,je.jsx)(m.Ay,{type:"text",icon:(0,je.jsx)(ze.A,{}),onClick:a,style:{marginBottom:16},children:"Назад"}),(0,je.jsx)(Ge,{level:4,style:{marginTop:0},children:"Загрузка документа"}),(0,je.jsx)(Qe,{type:"secondary",children:"Поддерживаются PDF, DOCX, PPTX, XLSX, TXT — до 100 МБ каждый."}),(0,je.jsx)(Ne,{open:s,assistantId:n,onClose:()=>{l(!1),a()}})]})}var Ze=r(53691),$e=r(87959),Ye=r(29957),Je=r(91196),et=r(93567),tt=r(71295),rt=r(52629);function nt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,s,l=[],o=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;o=!1}else for(;!(o=(n=i.call(r)).done)&&(l.push(n.value),l.length!==t);o=!0);}catch(e){c=!0,a=e}finally{try{if(!o&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(c)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return at(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?at(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function at(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rle(e),onSuccess:()=>{t.invalidateQueries({queryKey:ye.list(e)})}})}(r),u=function(e){var t=(0,a.jE)();return(0,E.n)({mutationFn:e=>ce(e),onSuccess:()=>{t.invalidateQueries({queryKey:ye.list(e)})}})}(r),p="scanning"===l.kind||"ready"===l.kind||"failed"===l.kind?l.sourceId:void 0,y=(t=p,(0,B.I)({queryKey:ye.scrapeEstimate(null!=t?t:""),queryFn:()=>oe(t),enabled:!!t,refetchInterval:e=>{var t,r=null===(t=e.state.data)||void 0===t?void 0:t.status;return(!r||"in_progress"===r)&&2500},retry:(e,t)=>{var r,n=null===(r=t.response)||void 0===r?void 0:r.status;return 401!==n&&403!==n&&404!==n&&e<2},staleTime:0})),h=y.data,x=y.error;(0,M.useEffect)(()=>{h&&"form"!==l.kind&&("ready"===h.status&&"ready"!==l.kind?o({kind:"ready",sourceId:h.source_id}):"failed"===h.status&&"failed"!==l.kind&&o({kind:"failed",sourceId:h.source_id}))},[h,l]),(0,M.useEffect)(()=>{if("scanning"===l.kind){var e=window.setTimeout(()=>{$e.Ay.error("Сканирование занимает слишком много времени. Попробуйте позже."),o({kind:"form"})},3e5);return()=>window.clearTimeout(e)}},[l.kind]);var f=()=>{c.resetFields(),o({kind:"form"})};return(0,je.jsxs)("div",{style:{padding:24},children:[(0,je.jsx)(m.Ay,{type:"text",icon:(0,je.jsx)(ze.A,{}),onClick:"form"===l.kind?n:f,style:{marginBottom:16},children:"Назад"}),(0,je.jsxs)(it,{level:4,style:{marginTop:0},children:[(0,je.jsx)(V.A,{style:{marginRight:8,color:"#1677ff"}}),"Подключить сайт"]}),"form"===l.kind&&(0,je.jsx)(ct,{form:c,onSubmit:e=>{var t=function(e){var t=e.trim();return t&&/^https:\/\/[^/]+/.test(t)?/^https:\/\/[^/]+$/.test(t)?t+"/":t:null}(e.url);t?d.mutate({assistant_id:r,url:t,process_images:e.process_images},{onSuccess:e=>{o({kind:"scanning",sourceId:e.source_id})}}):$e.Ay.error("Введите валидный URL начиная с https://")},submitting:d.isPending,submitError:d.error}),"scanning"===l.kind&&(0,je.jsx)(dt,{}),"ready"===l.kind&&"ready"===(null==h?void 0:h.status)&&(0,je.jsx)(ut,{estimate:h,onConfirm:()=>{"ready"===l.kind&&u.mutate({source_id:l.sourceId},{onSuccess:()=>{$e.Ay.success("Парсинг запущен — следите за прогрессом."),i(l.sourceId)}})},confirming:u.isPending,confirmError:u.error}),"failed"===l.kind&&"failed"===(null==h?void 0:h.status)&&(0,je.jsx)(yt,{errorReason:h.error_reason,errorText:h.error,onRetry:f}),x&&"form"!==l.kind&&"failed"!==l.kind&&(0,je.jsx)(g.A,{type:"error",showIcon:!0,style:{marginTop:16},message:"Не удалось получить статус сканирования",description:T(x)})]})}function ct(e){var t=e.form,r=e.onSubmit,n=e.submitting,a=e.submitError;return(0,je.jsxs)(je.Fragment,{children:[(0,je.jsx)(st,{type:"secondary",style:{display:"block",marginBottom:24},children:"Введите адрес сайта — мы найдём sitemap.xml, посчитаем страницы и картинки, покажем сколько это будет стоить. До подтверждения деньги не списываются."}),(0,je.jsxs)(Ze.A,{form:t,layout:"vertical",requiredMark:!1,initialValues:{process_images:!0},onFinish:r,style:{maxWidth:540},children:[(0,je.jsx)(Ze.A.Item,{label:"URL сайта",name:"url",rules:[{required:!0,message:"Введите URL"},{pattern:/^https:\/\/.+/,message:"Адрес должен начинаться с https://"}],children:(0,je.jsx)(Ye.A,{placeholder:"https://example.com/",size:"large",autoComplete:"off",spellCheck:!1})}),(0,je.jsx)(Ze.A.Item,{name:"process_images",valuePropName:"checked",style:{marginBottom:8},children:(0,je.jsxs)(Je.A,{children:["Обрабатывать картинки на страницах",(0,je.jsx)(st,{type:"secondary",style:{display:"block",fontSize:12,marginTop:2},children:"Ассистент сможет учитывать содержимое картинок в ответах. Существенно увеличивает стоимость, но даёт качественные ответы по визуальному контенту."})]})}),a&&(0,je.jsx)(g.A,{type:"error",showIcon:!0,style:{marginTop:16,marginBottom:16},message:"Не удалось запустить сканирование",description:T(a)}),(0,je.jsx)(Ze.A.Item,{style:{marginTop:16,marginBottom:0},children:(0,je.jsx)(m.Ay,{type:"primary",htmlType:"submit",loading:n,size:"large",children:"Сканировать"})})]}),(0,je.jsx)(g.A,{type:"info",showIcon:!0,style:{marginTop:24,maxWidth:540},message:"Что важно знать",description:(0,je.jsxs)("ul",{style:{marginBottom:0,paddingLeft:18},children:[(0,je.jsx)("li",{children:"Поддерживаются только сайты с sitemap.xml"}),(0,je.jsx)("li",{children:"За один запуск обрабатывается до 200 страниц"}),(0,je.jsx)("li",{children:"Сканирование (без оплаты) занимает 1–3 минуты"})]})})]})}function dt(){return(0,je.jsxs)("div",{style:{textAlign:"center",padding:"48px 24px"},children:[(0,je.jsx)(Ee.A,{indicator:(0,je.jsx)(et.A,{style:{fontSize:40},spin:!0}),style:{marginBottom:16}}),(0,je.jsx)(it,{level:5,style:{marginTop:16,marginBottom:8},children:"Сканируем sitemap..."}),(0,je.jsx)(st,{type:"secondary",children:"Это может занять 1–3 минуты. Можно закрыть страницу — сканирование продолжится в фоне."})]})}function ut(e){var t,r,n,a,i=e.estimate,s=e.onConfirm,l=e.confirming,o=e.confirmError,c=parseFloat(i.current_balance_rub)-parseFloat(i.estimated_cost_total_rub),d=c<0;return(0,je.jsxs)(je.Fragment,{children:[(0,je.jsxs)(y.A,{size:"small",style:{marginBottom:16,maxWidth:540},title:(0,je.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,je.jsx)(tt.A,{style:{color:"#52c41a"}}),(0,je.jsx)("span",{children:"Сайт проанализирован"})]}),children:[(0,je.jsxs)("div",{style:{marginBottom:12},children:[(0,je.jsx)(st,{strong:!0,style:{display:"block",fontSize:14},children:null!==(t=i.site_title)&&void 0!==t?t:i.url}),(0,je.jsx)(st,{type:"secondary",style:{fontSize:12},children:i.url})]}),(0,je.jsx)(pt,{label:"Страниц в sitemap:",value:String(i.total_pages_in_sitemap)}),(0,je.jsx)(pt,{label:"Будет обработано:",value:"".concat(i.pages_to_process," страниц"),highlight:i.too_large}),(0,je.jsx)(pt,{label:"Картинок (примерно):",value:i.process_images?"~".concat(i.estimated_total_images):"не обрабатываются"}),(0,je.jsxs)("div",{style:{borderTop:"1px solid #f0f0f0",marginTop:12,paddingTop:12},children:[(0,je.jsx)(pt,{label:"Текст:",value:"".concat(mt(i.estimated_cost_text_rub)," ₽")}),i.process_images&&(0,je.jsx)(pt,{label:"Картинки:",value:"до ".concat(mt(i.estimated_cost_images_rub)," ₽")}),(0,je.jsx)(pt,{label:"Итого:",value:"до ".concat(mt(i.estimated_cost_total_rub)," ₽"),bold:!0})]}),(0,je.jsxs)("div",{style:{borderTop:"1px solid #f0f0f0",marginTop:12,paddingTop:12},children:[(0,je.jsx)(pt,{label:"Баланс ассистента:",value:"".concat(mt(i.current_balance_rub)," ₽")}),(0,je.jsx)(pt,{label:"После обработки:",value:"".concat(c.toFixed(2)," ₽")})]})]}),i.too_large&&i.contacts&&(0,je.jsx)(ht,{contacts:i.contacts}),d&&(0,je.jsx)(g.A,{type:"info",showIcon:!0,style:{marginBottom:16,maxWidth:540},message:"Спишется при пополнении баланса",description:"Сайт обработается сейчас. Стоимость спишется с баланса ассистента — пополните его перед публикацией в каналах."}),o&&(0,je.jsx)(g.A,{type:"error",showIcon:!0,style:{marginBottom:16,maxWidth:540},message:"Не удалось подтвердить парсинг",description:(r=o,a=null===(n=r.response)||void 0===n?void 0:n.status,402===a?"Недостаточно средств на балансе ассистента. Пополните баланс через поддержку.":410===a?"Срок действия превью истёк. Закройте эту форму и пересканируйте сайт.":400===a?"Парсинг этого сайта уже запускался. Проверьте список источников слева.":T(r))}),(0,je.jsx)(m.Ay,{type:"primary",size:"large",onClick:s,loading:l,children:"Подтвердить и запустить парсинг"})]})}function pt(e){var t=e.label,r=e.value,n=e.bold,a=e.highlight,i=e.error;return(0,je.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",padding:"4px 0",fontSize:13},children:[(0,je.jsx)(st,{type:"secondary",style:{fontSize:13},children:t}),(0,je.jsx)(st,{strong:n,style:{fontSize:13,color:i?"#ff4d4f":a?"#fa8c16":void 0},children:r})]})}function yt(e){var t,r=e.errorReason,n=e.errorText,a=e.onRetry,i=null!==(t=gt[r])&&void 0!==t?t:n,s="no_sitemap"!==r;return(0,je.jsxs)(je.Fragment,{children:[(0,je.jsx)(g.A,{type:"error",showIcon:!0,icon:(0,je.jsx)(rt.A,{}),message:"Не удалось обработать сайт",description:i,style:{marginBottom:16,maxWidth:540}}),"no_sitemap"===r&&(0,je.jsx)(g.A,{type:"info",showIcon:!0,style:{marginBottom:16,maxWidth:540},message:"Что можно сделать",description:(0,je.jsxs)("span",{children:["Загрузите документы (PDF, DOCX, PPTX, XLSX, TXT) — ассистент будет работать на их основе. Если нужна обработка такого сайта, свяжитесь с продажами в Telegram:"," ",(0,je.jsx)(lt,{href:"https://t.me/RiChat_sales",target:"_blank",children:"@RiChat_sales"})]})}),(0,je.jsx)(m.Ay,{onClick:a,type:s?"primary":"default",children:s?"Попробовать другой сайт":"Назад"})]})}function ht(e){var t,r=e.contacts;return(0,je.jsx)(g.A,{type:"warning",showIcon:!0,style:{marginBottom:16,maxWidth:540},message:"Сайт большой — обработаем только первые 200 страниц",description:(0,je.jsxs)("span",{children:[null!==(t=r.message)&&void 0!==t?t:"Для полной обработки сайта свяжитесь с отделом продаж.",(0,je.jsx)("br",{}),(0,je.jsx)(lt,{href:r.telegram,target:"_blank",rel:"noopener",children:"Связаться в Telegram"}),r.email&&(0,je.jsxs)(je.Fragment,{children:[" · ",(0,je.jsx)(lt,{href:"mailto:".concat(r.email),children:r.email})]})]})})}var gt={no_sitemap:"У сайта нет sitemap.xml — мы не сможем его обработать через парсер. Загрузите документы или обратитесь в отдел продаж для индивидуальной настройки.",cloudflare_blocked:"Сайт блокирует наш парсер защитой Cloudflare. Попробуйте ещё раз через несколько минут или обратитесь в отдел продаж.",invalid_url:"Неверный URL. Проверьте что адрес начинается с https:// и сайт доступен.",timeout:"Сайт слишком долго отвечает. Попробуйте ещё раз через несколько минут.",internal_error:"Не удалось обработать сайт из-за внутренней ошибки. Попробуйте ещё раз или обратитесь в поддержку."};function mt(e){return parseFloat(e).toFixed(2)}var xt=r(76511),ft=r(55957),vt=r(42652),jt=r(59102),bt=r(16044);function At(e,t,r,n,a,i,s){try{var l=e[i](s),o=l.value}catch(e){return void r(e)}l.done?t(o):Promise.resolve(o).then(n,a)}function wt(e){var t=e.sourceId,r=e.sourceName,n=e.assistantId,i=s.A.useApp().message,l=function(e){var t=(0,a.jE)();return(0,E.n)({mutationFn:e=>se(e),onSuccess:(r,n)=>{t.removeQueries({queryKey:ye.ingestion(n)}),t.removeQueries({queryKey:ye.pages(n)}),t.invalidateQueries({queryKey:ye.list(e)})}})}(n),o=function(){var e,n=(e=function*(){try{yield l.mutateAsync(t),i.success(r?"«".concat(r,"» удалён"):"Документ удалён")}catch(e){i.error(T(e))}},function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function s(e){At(i,n,a,s,l,"next",e)}function l(e){At(i,n,a,s,l,"throw",e)}s(void 0)})});return function(){return n.apply(this,arguments)}}();return(0,je.jsx)(bt.A,{title:"Удалить документ?",description:"Удалятся также все извлечённые из него фрагменты. Действие необратимо.",okText:"Удалить",cancelText:"Отмена",okButtonProps:{danger:!0,loading:l.isPending},onConfirm:o,placement:"topRight",children:(0,je.jsx)(m.Ay,{size:"small",type:"text",danger:!0,children:"Удалить"})})}var _t=p.A.Title,St=p.A.Text;function Tt(e){var t,r,n,a,i,s=e.assistantId,l=e.sourceId,o=e.onSourceGone,c=he(s),d=c.data,u=c.isLoading,p=null==d?void 0:d.find(e=>e.source_id===l),h="in_queue"===(null==p?void 0:p.status)||"in_progress"===(null==p?void 0:p.status)||"pending_confirm"===(null==p?void 0:p.status),m=ge(h?l:void 0).data,x=!!(i=null!==(t=null==p?void 0:p.name)&&void 0!==t?t:null)&&/^https?:\/\//i.test(i),f=null!==(r=null==m?void 0:m.status)&&void 0!==r?r:null==p?void 0:p.status,v=me(x&&h?l:void 0).data,j=function(e,t){return(0,B.I)({queryKey:ye.pages(null!=e?e:""),queryFn:()=>pe(e),enabled:!!e,refetchInterval:()=>t?!J(t)&&3e3:3e3,retry:(e,t)=>{var r,n=null===(r=t.response)||void 0===r?void 0:r.status;return 401!==n&&403!==n&&404!==n&&e<2},staleTime:0})}(x?l:void 0,f),b=j.data,A=!!f&&J(f),w=xe(l,A).data,_=(0,M.useRef)(null);return(0,M.useEffect)(()=>{if(f&&p&&_.current!==f){var e,t=_.current;_.current=f,null!==t&&(J(t)||"success"!==f?J(t)||"partial_success"!==f?J(t)||"fail"!==f||xt.Ay.error({message:"Не удалось обработать источник",description:"Попробуйте загрузить снова или свяжитесь с поддержкой.",placement:"topRight",duration:8}):xt.Ay.warning({message:"Источник обработан с замечаниями",description:"Часть страниц не удалось обработать. Ассистент использует то, что есть.",placement:"topRight",duration:6}):xt.Ay.success({message:"Источник обработан",description:x?"Сайт ".concat(null!==(e=p.name)&&void 0!==e?e:"успешно"," обработан и используется ассистентом при ответах."):"Документ обработан и используется ассистентом при ответах.",placement:"topRight",duration:6}))}},[f,p,x]),(0,M.useEffect)(()=>{u||!d||p||o()},[u,d,p,o]),p&&f?(0,je.jsxs)("div",{style:{padding:24},children:[(0,je.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:12,marginBottom:24},children:[(0,je.jsx)("div",{style:{flexShrink:0,color:"#1677ff",fontSize:24,marginTop:2},children:x?(0,je.jsx)(V.A,{}):(0,je.jsx)(Q.A,{})}),(0,je.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,je.jsx)(_t,{level:4,style:{marginTop:0,marginBottom:4,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:null!==(n=p.name)&&void 0!==n?n:"Без имени",children:null!==(a=p.name)&&void 0!==a?a:"Без имени"}),(0,je.jsxs)(St,{type:"secondary",style:{fontSize:12},children:[x?"Сайт":"Документ"," · добавлено ",qt(p.created_at)]})]}),(0,je.jsx)(wt,{sourceId:p.source_id,sourceName:p.name,assistantId:s})]}),(0,je.jsx)(y.A,{size:"small",style:{marginBottom:16},children:(0,je.jsxs)(ft.A,{column:1,size:"small",labelStyle:{fontSize:12,color:"#8c8c8c",width:140},contentStyle:{fontSize:13},children:[(0,je.jsx)(ft.A.Item,{label:"Статус",children:(0,je.jsx)(Ct,{status:f})}),(0,je.jsx)(ft.A.Item,{label:"Обработка картинок",children:p.process_images?"Включена":"Выключена"}),p.confirm_expires_at&&"pending_confirm"===f&&(0,je.jsx)(ft.A.Item,{label:"Подтвердить до",children:qt(p.confirm_expires_at)})]})}),"in_progress"===f&&x&&v&&(0,je.jsx)(Ft,{progress:v}),"in_progress"===f&&(!x||!v)&&(0,je.jsx)(g.A,{type:"info",showIcon:!0,message:"Идёт обработка",description:"Документ обрабатывается ассистентом. Это может занять несколько минут. Можно закрыть страницу и вернуться чуть позже.",style:{marginBottom:16}}),x&&b&&b.pages.length>0&&(0,je.jsx)(It,{pages:b.pages,totalProcessed:b.total_processed,isInProgress:"in_progress"===f||"in_queue"===f}),"partial_success"===f&&(0,je.jsx)(g.A,{type:"warning",showIcon:!0,message:"Обработка завершена с замечаниями",description:"Часть страниц не удалось обработать. Ассистент уже использует то, что обработалось успешно.",style:{marginBottom:16}}),"fail"===f&&(0,je.jsx)(g.A,{type:"error",showIcon:!0,message:"Ошибка обработки",description:"Не удалось обработать источник. Попробуйте загрузить снова или свяжитесь с поддержкой.",style:{marginBottom:16}}),"success"===f&&(0,je.jsx)(g.A,{type:"success",showIcon:!0,message:"Готово",description:"Источник успешно обработан и используется ассистентом при ответах.",style:{marginBottom:16}}),A&&w&&w.items.length>0&&(0,je.jsx)(kt,{billing:w})]}):null}function Ft(e){var t=e.progress,r=function(e){if(null===e||e<60)return null;var t=Math.round(e/60);if(t<60)return"~".concat(t," мин");var r=Math.floor(t/60),n=t%60;return 0===n?"~".concat(r," ч"):"~".concat(r," ч ").concat(n," мин")}(t.eta_seconds),n="done"===t.progress_status&&"vision_processing"===t.vision_status;return(0,je.jsxs)(y.A,{size:"small",style:{marginBottom:16},children:[(0,je.jsxs)("div",{style:{marginBottom:12},children:[(0,je.jsx)(St,{strong:!0,style:{fontSize:14},children:"Парсинг страниц"}),(0,je.jsx)(fe.A,{percent:t.pages_percent,status:"done"===t.progress_status?"success":"active",format:()=>"".concat(t.pages_done," / ").concat(t.pages_total),style:{marginTop:8}})]}),t.images_done>0&&(0,je.jsxs)("div",{style:{marginBottom:12},children:[(0,je.jsx)(St,{strong:!0,style:{fontSize:14},children:"Обработка картинок"}),(0,je.jsxs)("div",{style:{marginTop:6},children:[(0,je.jsxs)(St,{children:["Обработано: ",(0,je.jsx)(St,{strong:!0,children:t.images_done})]}),t.images_kept>0&&t.images_kept!==t.images_done&&(0,je.jsxs)(St,{type:"secondary",style:{marginLeft:12,fontSize:12},children:["(с описанием: ",t.images_kept,")"]})]}),n&&(0,je.jsx)(fe.A,{percent:100,size:"small",status:"active",showInfo:!1,style:{marginTop:4}})]}),r&&(0,je.jsxs)(St,{type:"secondary",style:{fontSize:12},children:["Осталось примерно: ",r]}),!r&&"done"!==t.progress_status&&(0,je.jsx)(St,{type:"secondary",style:{fontSize:12},children:"Можно закрыть страницу — обработка продолжится в фоне."})]})}function It(e){var t=e.pages,r=e.totalProcessed,n=e.isInProgress;return(0,je.jsx)(y.A,{size:"small",title:(0,je.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[n?(0,je.jsx)(et.A,{style:{color:"#1677ff"},spin:!0}):(0,je.jsx)(jt.A,{twoToneColor:"#52c41a"}),(0,je.jsxs)(St,{strong:!0,style:{fontSize:14},children:["Обработано страниц: ",r]})]}),style:{marginBottom:16},styles:{body:{maxHeight:360,overflowY:"auto",padding:0}},children:(0,je.jsx)(vt.A,{size:"small",dataSource:t,renderItem:e=>{return(0,je.jsx)(vt.A.Item,{style:{padding:"8px 16px"},children:(0,je.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,width:"100%",minWidth:0},children:[(0,je.jsx)(jt.A,{twoToneColor:"#52c41a",style:{flexShrink:0,fontSize:14}}),(0,je.jsx)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",style:{fontSize:13,color:"#1A1A1A",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1,minWidth:0},title:e.url,children:(t=e.url,t.replace(/^https?:\/\//i,""))}),e.chunks_count>1&&(0,je.jsxs)(St,{type:"secondary",style:{fontSize:11,flexShrink:0},children:[e.chunks_count," чанков"]})]})});var t}})})}function kt(e){var t=e.billing;return(0,je.jsxs)(y.A,{size:"small",title:(0,je.jsx)(St,{strong:!0,style:{fontSize:14},children:"Стоимость обработки"}),styles:{body:{padding:16}},children:[t.items.map(e=>(0,je.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",padding:"4px 0",fontSize:13},children:[(0,je.jsxs)(St,{children:[e.label," ",(0,je.jsxs)(St,{type:"secondary",style:{fontSize:12},children:["(",e.unit_count," ",e.unit_label," × ",Bt(e.unit_price_rub)," ₽)"]})]}),(0,je.jsxs)(St,{children:[Bt(e.amount_rub)," ₽"]})]},e.phase)),(0,je.jsxs)("div",{style:{borderTop:"1px solid #f0f0f0",marginTop:8,paddingTop:8,display:"flex",justifyContent:"space-between",alignItems:"baseline"},children:[(0,je.jsx)(St,{strong:!0,children:"Итого списано"}),(0,je.jsxs)(St,{strong:!0,style:{fontSize:15},children:[Bt(t.total_rub)," ₽"]})]})]})}function Ct(e){var t=e.status,r=zt[t];return(0,je.jsx)(ve.A,{color:r.color,bordered:!1,style:{fontSize:12,margin:0},children:r.label})}var zt={pending_confirm:{label:"Ждёт подтверждения",color:"default"},in_queue:{label:"В очереди",color:"default"},in_progress:{label:"Обработка...",color:"blue"},success:{label:"Готов",color:"success"},partial_success:{label:"Частично",color:"warning"},fail:{label:"Ошибка",color:"error"}};function qt(e){return new Date(e).toLocaleString("ru-RU",{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit"})}function Bt(e){return parseFloat(e).toFixed(2)}function Et(e){var t=e.assistantId,r=e.state,n=e.onGoWelcome,a=e.onAddDocument,i=e.onAddSite,s=e.onSelectSource;switch(r.mode){case"welcome":return(0,je.jsx)(Ce,{onAddDocument:a,onAddSite:i});case"add-document":return(0,je.jsx)(Ve,{assistantId:t,onBack:n});case"add-site":return(0,je.jsx)(ot,{assistantId:t,onBack:n,onSourceConfirmed:s});case"detail":return(0,je.jsx)(Tt,{assistantId:t,sourceId:r.sourceId,onSourceGone:n});default:return null}}function Pt(e){var t=e.assistantId,r=function(){var e,t,r=(e=(0,M.useState)({mode:"welcome"}),t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,s,l=[],o=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;o=!1}else for(;!(o=(n=i.call(r)).done)&&(l.push(n.value),l.length!==t);o=!0);}catch(e){c=!0,a=e}finally{try{if(!o&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(c)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return N(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?N(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),n=r[0],a=r[1];return{state:n,goWelcome:(0,M.useCallback)(()=>{a({mode:"welcome"})},[]),goAddDocument:(0,M.useCallback)(()=>{a({mode:"add-document"})},[]),goAddSite:(0,M.useCallback)(()=>{a({mode:"add-site"})},[]),selectSource:(0,M.useCallback)(e=>{a({mode:"detail",sourceId:e})},[])}}(),n=r.state,a=r.goWelcome,i=r.goAddDocument,s=r.goAddSite,l=r.selectSource,o="detail"===n.mode?n.sourceId:null;return(0,je.jsxs)("div",{style:{display:"flex",gap:16,minHeight:600},children:[(0,je.jsx)("div",{style:{width:320,flexShrink:0,display:"flex",flexDirection:"column"},children:(0,je.jsx)(Fe,{assistantId:t,selectedSourceId:o,onSelectSource:l,onAddDocument:i,onAddSite:s})}),(0,je.jsx)("div",{style:{width:1,background:"#f0f0f0",flexShrink:0}}),(0,je.jsx)("div",{style:{flex:1,minWidth:0,overflow:"auto"},children:(0,je.jsx)(Et,{assistantId:t,state:n,onGoWelcome:a,onAddDocument:i,onAddSite:s,onSelectSource:l})})]})}var Ot=r(36552);function Mt(e,t,r,n,a,i,s){try{var l=e[i](s),o=l.value}catch(e){return void r(e)}l.done?t(o):Promise.resolve(o).then(n,a)}var Rt=p.A.Text;function Dt(e){var t,r,n=e.assistantId,i=e.assistantName,l=(0,u.Zp)(),o=s.A.useApp().message,c=(r=(0,a.jE)(),(0,E.n)({mutationFn:e=>q(e),onSuccess:(e,t)=>{r.removeQueries({queryKey:K.detail(t)}),r.invalidateQueries({queryKey:X.me()})}})),d=O(e=>{var t,r;return null!==(t=null===(r=e.user)||void 0===r?void 0:r.assistants)&&void 0!==t?t:[]}),p=d.length>0?[...d].sort((e,t)=>new Date(e.created_at).getTime()-new Date(t.created_at).getTime())[0]:void 0,y=(null==p?void 0:p.id)===n,h=p?Number(null!==(t=p.balance)&&void 0!==t?t:0):0,g=y&&h>0,x=function(){var e,t=(e=function*(){try{yield c.mutateAsync(n),o.success("Ассистент «".concat(i,"» удалён")),l("/assistants")}catch(e){o.error(T(e))}},function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function s(e){Mt(i,n,a,s,l,"next",e)}function l(e){Mt(i,n,a,s,l,"throw",e)}s(void 0)})});return function(){return t.apply(this,arguments)}}(),f=(0,je.jsxs)("div",{style:{maxWidth:320},children:[(0,je.jsx)("div",{children:"Вместе с ассистентом удалятся его база знаний, история тест-чатов и баланс ассистента. Действие необратимо."}),g&&(0,je.jsxs)("div",{style:{marginTop:10,padding:"8px 10px",background:"#FFF7E6",border:"1px solid #FFD591",borderRadius:6},children:[(0,je.jsx)(Rt,{strong:!0,style:{color:"#AD6800"},children:"Сгорит приветственный бонус 1 000 ₽."})," ",(0,je.jsx)(Rt,{style:{color:"#AD6800"},children:"Он начислен на баланс этого — вашего первого — ассистента. При создании нового ассистента бонус не начислится повторно."})]})]});return(0,je.jsx)(bt.A,{title:"Удалить ассистента?",description:f,okText:"Удалить",cancelText:"Отмена",okButtonProps:{danger:!0,loading:c.isPending},onConfirm:x,placement:"topRight",children:(0,je.jsx)(m.Ay,{danger:!0,children:"Удалить ассистента"})})}function Lt(e,t,r,n,a,i,s){try{var l=e[i](s),o=l.value}catch(e){return void r(e)}l.done?t(o):Promise.resolve(o).then(n,a)}function Wt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rz(n,e),onSuccess:e=>{i.setQueryData(K.detail(n),e),i.invalidateQueries({queryKey:X.me()})}}));(0,M.useEffect)(()=>{var e,t;u.setFieldsValue({name:c.name,prompt:null!==(e=c.prompt)&&void 0!==e?e:"",show_images:null===(t=c.show_images)||void 0===t||t})},[c.id,c.name,c.prompt,c.show_images,u]);var y=function(){var e,t=(e=function*(e){var t,r,n={},a=e.name.trim(),i=e.prompt.trim(),s=null!==(t=c.prompt)&&void 0!==t?t:"";if(a!==c.name&&(n.name=a),i!==s&&(n.prompt=i||null),e.show_images!==(null===(r=c.show_images)||void 0===r||r)&&(n.show_images=e.show_images),0!==Object.keys(n).length)try{yield p.mutateAsync(n),d.success("Сохранено")}catch(e){d.error(T(e))}else d.info("Нет изменений")},function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function s(e){Lt(i,n,a,s,l,"next",e)}function l(e){Lt(i,n,a,s,l,"throw",e)}s(void 0)})});return function(e){return t.apply(this,arguments)}}();return(0,je.jsxs)(Ze.A,{form:u,layout:"vertical",requiredMark:!1,onFinish:y,initialValues:{name:c.name,prompt:null!==(t=c.prompt)&&void 0!==t?t:"",show_images:null===(r=c.show_images)||void 0===r||r},children:[(0,je.jsx)(Ze.A.Item,{name:"name",label:"Название",rules:[{required:!0,message:"Введите название"},{max:100,message:"Слишком длинное название"}],children:(0,je.jsx)(Ye.A,{size:"large"})}),(0,je.jsx)(Ze.A.Item,{name:"prompt",label:"Инструкция для ассистента",extra:"Оставьте пустым — будет использована стандартная инструкция.",children:(0,je.jsx)(Ye.A.TextArea,{rows:6,maxLength:1e4,showCount:!0})}),(0,je.jsx)(Ze.A.Item,{name:"show_images",label:"Картинки в ответах",valuePropName:"checked",extra:"Бот прикрепляет картинки из базы знаний к ответам. Отключите, если картинки бывают нерелевантными.",children:(0,je.jsx)(Pe.A,{checkedChildren:"Вкл",unCheckedChildren:"Выкл"})}),(0,je.jsx)(Ze.A.Item,{style:{marginBottom:0},children:(0,je.jsx)(m.Ay,{type:"primary",htmlType:"submit",loading:p.isPending,children:"Сохранить"})})]})}p.A.Text;var Xt=p.A.Title,Kt=p.A.Text;function Nt(e){var t=e.assistant;return(0,je.jsxs)("div",{children:[(0,je.jsx)(Ut,{assistant:t}),(0,je.jsx)(Ot.A,{style:{margin:"32px 0 24px"}}),(0,je.jsx)(Xt,{level:5,style:{marginTop:0,marginBottom:8},children:"Опасная зона"}),(0,je.jsx)(Kt,{type:"secondary",style:{fontSize:13,display:"block",marginBottom:12},children:"Удаление ассистента сотрёт его базу знаний и историю чатов без возможности восстановления."}),(0,je.jsx)(Dt,{assistantId:t.id,assistantName:t.name})]})}var Ht=r(71925),Gt=r(9110),Qt=r(28482),Vt=r(85408),Zt=r(69107),$t=r(77984),Yt=r(23495),Jt=r(20497),er=r(71701),tr={telegram:"Telegram",max:"MAX",widget:"Виджет"},rr=[{value:"all",label:"Все платформы"},{value:"telegram",label:"Telegram"},{value:"max",label:"MAX"},{value:"widget",label:"Виджет"}],nr=[{value:"all",label:"Всё время"},{value:"today",label:"Сегодня"},{value:"week",label:"Неделя"},{value:"month",label:"Месяц"}];function ar(e,t,r,n,a,i,s){try{var l=e[i](s),o=l.value}catch(e){return void r(e)}l.done?t(o):Promise.resolve(o).then(n,a)}function ir(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function s(e){ar(i,n,a,s,l,"next",e)}function l(e){ar(i,n,a,s,l,"throw",e)}s(void 0)})}}var sr={getOverview:(e,t)=>ir(function*(){return(yield _.get("/assistants/".concat(e,"/stats/overview"),{params:{platform:t.platform,period:t.period}})).data})(),getDialogs(e,t){var r=arguments;return ir(function*(){var n=r.length>2&&void 0!==r[2]?r[2]:50,a=r.length>3&&void 0!==r[3]?r[3]:0;return(yield _.get("/assistants/".concat(e,"/stats/dialogs"),{params:{platform:t.platform,period:t.period,limit:n,offset:a}})).data})()},getDialogMessages:(e,t)=>ir(function*(){return(yield _.get("/assistants/".concat(e,"/stats/dialogs/").concat(t,"/messages"))).data})()},lr={all:["statistics"],overview:(e,t)=>[...lr.all,"overview",e,t],dialogs:(e,t)=>[...lr.all,"dialogs",e,t],messages:(e,t)=>[...lr.all,"messages",e,t]},or=(e,t)=>{var r,n=null===(r=t.response)||void 0===r?void 0:r.status;return 401!==n&&403!==n&&e<1};function cr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function dr(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);rsr.getOverview(e,t),staleTime:1e4,retry:or})}(r,a),d=c.data,u=c.isLoading,p=function(e,t){return(0,B.I)({queryKey:lr.dialogs(e,t),queryFn:()=>sr.getDialogs(e,t),staleTime:1e4,retry:or})}(r,a),g=p.data,m=p.isLoading,x=null!==(t=null==g?void 0:g.dialogs)&&void 0!==t?t:[],f=[{title:"Платформа",dataIndex:"platform",key:"platform",width:120,render:e=>{var t;return(0,je.jsx)(ve.A,{bordered:!1,style:{fontSize:12},children:null!==(t=tr[e])&&void 0!==t?t:e})}},{title:"Пользователь",dataIndex:"user_name",key:"user_name",width:160,render:(e,t)=>(0,je.jsx)(gr,{style:{fontSize:13},children:e||t.user_external_id})},{title:"Последний вопрос",dataIndex:"last_question",key:"last_question",ellipsis:!0,render:e=>(0,je.jsx)(gr,{type:"secondary",style:{fontSize:13},children:e||"—"})},{title:"Сообщений",dataIndex:"messages_count",key:"messages_count",width:110,align:"center",render:e=>(0,je.jsx)(gr,{type:"secondary",style:{fontSize:13},children:e})},{title:"Последняя активность",dataIndex:"last_message_at",key:"last_message_at",width:170,render:(e,t)=>(0,je.jsx)(gr,{type:"secondary",style:{fontSize:13},children:Ar(null!=e?e:t.created_at)})}];return(0,je.jsxs)("div",{children:[(0,je.jsxs)("div",{style:{display:"grid",gap:16,gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))"},children:[(0,je.jsx)(fr,{label:"Всего диалогов",value:null==d?void 0:d.total_dialogs,loading:u}),(0,je.jsx)(fr,{label:"Уникальных пользователей",value:null==d?void 0:d.unique_users,loading:u}),(0,je.jsx)(fr,{label:"Диалогов за период",value:null==d?void 0:d.dialogs_in_period,loading:u})]}),(0,je.jsxs)(y.A,{style:{marginTop:16},styles:{body:{padding:20}},children:[(0,je.jsx)(gr,{type:"secondary",style:{fontSize:12,display:"block",marginBottom:12},children:"Диалоги по дням"}),u?(0,je.jsx)(h.A,{active:!0,paragraph:{rows:3}}):d&&d.by_day.length>0?(0,je.jsx)(vr,{data:d.by_day}):(0,je.jsx)(G.A,{image:G.A.PRESENTED_IMAGE_SIMPLE,description:(0,je.jsx)(gr,{type:"secondary",children:"Нет данных за период"})})]}),(0,je.jsxs)("div",{style:{display:"flex",gap:8,marginTop:24,flexWrap:"wrap"},children:[(0,je.jsx)(Ht.A,{value:a.platform,onChange:e=>i(t=>dr(dr({},t),{},{platform:e})),options:rr,style:{minWidth:160}}),(0,je.jsx)(Ht.A,{value:a.period,onChange:e=>i(t=>dr(dr({},t),{},{period:e})),options:nr,style:{minWidth:140}})]}),(0,je.jsx)("div",{style:{marginTop:16},children:m?(0,je.jsx)(h.A,{active:!0,paragraph:{rows:5}}):0===x.length?(0,je.jsx)(G.A,{image:G.A.PRESENTED_IMAGE_SIMPLE,description:(0,je.jsx)(gr,{type:"secondary",children:"Диалогов пока нет — они появятся после общения пользователей с ассистентом в боевых каналах."})}):(0,je.jsx)(Gt.A,{columns:f,dataSource:x,rowKey:"id",size:"middle",onRow:e=>({onClick:()=>o(e.id),style:{cursor:"pointer"}}),pagination:x.length>20&&{pageSize:20,showSizeChanger:!1}})}),(0,je.jsx)(jr,{assistantId:r,dialogId:l,onClose:()=>o(null)})]})}function fr(e){var t=e.label,r=e.value,n=e.loading;return(0,je.jsxs)(y.A,{styles:{body:{padding:20}},children:[(0,je.jsx)(gr,{type:"secondary",style:{fontSize:12},children:t}),n?(0,je.jsx)(h.A,{active:!0,paragraph:!1,title:{width:60}}):(0,je.jsx)(hr,{level:3,style:{margin:"4px 0 0",fontWeight:500,color:"#1F2937"},children:null!=r?r:0})]})}function vr(e){var t=e.data.map(e=>({date:br(e.date),count:e.count}));return(0,je.jsx)("div",{style:{width:"100%",height:220},children:(0,je.jsx)(Qt.u,{width:"100%",height:"100%",children:(0,je.jsxs)(Vt.Q,{data:t,margin:{top:8,right:8,left:0,bottom:0},children:[(0,je.jsx)("defs",{children:(0,je.jsxs)("linearGradient",{id:"rchStatsFill",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,je.jsx)("stop",{offset:"0%",stopColor:"#1F2937",stopOpacity:.16}),(0,je.jsx)("stop",{offset:"100%",stopColor:"#1F2937",stopOpacity:.02})]})}),(0,je.jsx)(Zt.d,{stroke:"#F3F4F6",vertical:!1}),(0,je.jsx)($t.W,{dataKey:"date",tick:{fontSize:11,fill:"#9CA3AF"},axisLine:{stroke:"#E5E7EB"},tickLine:!1}),(0,je.jsx)(Yt.h,{width:36,allowDecimals:!1,tick:{fontSize:11,fill:"#9CA3AF"},axisLine:!1,tickLine:!1}),(0,je.jsx)(Jt.m,{formatter:e=>["".concat(e),"Диалогов"],contentStyle:{fontSize:12,borderRadius:6,border:"1px solid #E5E7EB",boxShadow:"0 2px 8px rgba(0,0,0,0.06)"},labelStyle:{color:"#6B7280"},cursor:{stroke:"#E5E7EB"}}),(0,je.jsx)(er.Gk,{type:"monotone",dataKey:"count",stroke:"#1F2937",strokeWidth:2,fill:"url(#rchStatsFill)",dot:{r:2.5,fill:"#1F2937",strokeWidth:0},activeDot:{r:4,fill:"#1F2937",strokeWidth:0}})]})})})}function jr(e){var t=e.assistantId,r=e.dialogId,n=e.onClose,a=function(e,t){return(0,B.I)({queryKey:lr.messages(e,null!=t?t:""),queryFn:()=>sr.getDialogMessages(e,t),enabled:!!t,staleTime:1e4,retry:or})}(t,r),i=a.data,s=a.isLoading;return(0,je.jsx)(qe.A,{open:!!r,onCancel:n,footer:null,width:640,title:i?"Диалог — ".concat(i.user_name||"пользователь"):"Диалог",children:s?(0,je.jsx)("div",{style:{textAlign:"center",padding:40},children:(0,je.jsx)(Ee.A,{})}):i&&0!==i.messages.length?(0,je.jsx)("div",{style:{maxHeight:"60vh",overflowY:"auto",display:"flex",flexDirection:"column",gap:10,padding:"8px 4px"},children:i.messages.map(e=>{var t="incoming"===e.direction;return(0,je.jsx)("div",{style:{display:"flex",justifyContent:t?"flex-end":"flex-start"},children:(0,je.jsxs)("div",{style:{maxWidth:"78%",background:t?"#1F2937":"#F3F4F6",color:t?"#FFFFFF":"#1A1A1A",borderRadius:12,padding:"8px 12px"},children:[(0,je.jsx)(mr,{style:{margin:0,fontSize:14,whiteSpace:"pre-wrap",color:t?"#FFFFFF":"#1A1A1A"},children:e.content}),(0,je.jsx)("div",{style:{fontSize:10,marginTop:4,textAlign:"right",color:t?"rgba(255,255,255,0.6)":"#9CA3AF"},children:Ar(e.created_at)})]})},e.id)})}):(0,je.jsx)(G.A,{image:G.A.PRESENTED_IMAGE_SIMPLE,description:(0,je.jsx)(gr,{type:"secondary",children:"Нет сообщений"})})})}function br(e){try{var t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleDateString("ru-RU",{day:"2-digit",month:"2-digit"})}catch(t){return e}}function Ar(e){try{var t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString("ru-RU",{day:"2-digit",month:"2-digit",year:"2-digit",hour:"2-digit",minute:"2-digit"})}catch(t){return e}}var wr={telegram:"Telegram",max:"MAX",widget:"Виджет"},_r=[{value:"all",label:"Все платформы"},{value:"telegram",label:"Telegram"},{value:"max",label:"MAX"},{value:"widget",label:"Виджет"}],Sr=[{value:"all",label:"Всё время"},{value:"today",label:"Сегодня"},{value:"week",label:"Неделя"},{value:"month",label:"Месяц"}];function Tr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Fr(e){for(var t=1;tCr(function*(){return(yield _.get("/assistants/".concat(e,"/audience/overview"))).data})(),getGrowth:(e,t,r)=>Cr(function*(){return(yield _.get("/assistants/".concat(e,"/audience/growth"),{params:{platform:t,period:r}})).data})(),getUsers(e,t,r,n){var a=arguments;return Cr(function*(){var i=a.length>4&&void 0!==a[4]?a[4]:50,s=a.length>5&&void 0!==a[5]?a[5]:0;return(yield _.get("/assistants/".concat(e,"/audience/users"),{params:Fr(Fr({platform:t,period:r},n?{search:n}:{}),{},{limit:i,offset:s})})).data})()}},qr={all:["audience"],overview:e=>[...qr.all,"overview",e],growth:(e,t,r)=>[...qr.all,"growth",e,t,r],users:(e,t,r,n,a)=>[...qr.all,"users",e,t,r,n,a]},Br=(e,t)=>{var r,n=null===(r=t.response)||void 0===r?void 0:r.status;return 401!==n&&403!==n&&e<1};function Er(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,s,l=[],o=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;o=!1}else for(;!(o=(n=i.call(r)).done)&&(l.push(n.value),l.length!==t);o=!0);}catch(e){c=!0,a=e}finally{try{if(!o&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(c)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Pr(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Pr(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Pr(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rzr.getOverview(e),staleTime:1e4,retry:Br})}(a),j=v.data,b=v.isLoading,A=function(e,t,r){return(0,B.I)({queryKey:qr.growth(e,t,r),queryFn:()=>zr.getGrowth(e,t,r),staleTime:1e4,retry:Br})}(a,s,c),w=A.data,_=A.isLoading,S=function(e,t,r,n,a){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:50;return(0,B.I)({queryKey:qr.users(e,t,r,n,a),queryFn:()=>zr.getUsers(e,t,r,n||void 0,i,a),staleTime:1e4,retry:Br})}(a,s,c,p,50*x,50),T=S.data,F=S.isLoading,I=null!==(t=null==T?void 0:T.items)&&void 0!==t?t:[],k=null!==(r=null==j?void 0:j.by_platform)&&void 0!==r?r:[],C=[{title:"Платформа",dataIndex:"platform",key:"platform",width:120,render:e=>{var t;return(0,je.jsx)(ve.A,{bordered:!1,style:{fontSize:12},children:null!==(t=wr[e])&&void 0!==t?t:e})}},{title:"Пользователь",dataIndex:"display_name",key:"display_name",width:180,render:(e,t)=>(0,je.jsx)(Mr,{style:{fontSize:13},children:e||t.external_id})},{title:"Подписался",dataIndex:"created_at",key:"created_at",width:150,render:e=>(0,je.jsx)(Mr,{type:"secondary",style:{fontSize:13},children:Nr(e)})},{title:"Сообщений",dataIndex:"messages_count",key:"messages_count",width:110,align:"center",render:e=>(0,je.jsx)(Mr,{type:"secondary",style:{fontSize:13},children:e})},{title:"Последняя активность",dataIndex:"last_message_at",key:"last_message_at",width:170,render:(e,t)=>(0,je.jsx)(Mr,{type:"secondary",style:{fontSize:13},children:Nr(e||t.created_at)})}];return(0,je.jsxs)("div",{children:[(0,je.jsxs)("div",{style:{display:"grid",gap:16,gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))"},children:[(0,je.jsx)(Dr,{label:"Всего подписчиков",value:null==j?void 0:j.total,loading:b}),b?(0,je.jsxs)(je.Fragment,{children:[(0,je.jsx)(Ur,{}),(0,je.jsx)(Ur,{})]}):k.map(e=>(0,je.jsx)(Lr,{data:e},e.platform))]}),(0,je.jsxs)(y.A,{style:{marginTop:16},styles:{body:{padding:20}},children:[(0,je.jsx)(Mr,{type:"secondary",style:{fontSize:12,display:"block",marginBottom:12},children:"Новые подписчики по дням"}),_?(0,je.jsx)(h.A,{active:!0,paragraph:{rows:3}}):w&&w.by_day.length>0?(0,je.jsx)(Xr,{data:w.by_day}):(0,je.jsx)(G.A,{image:G.A.PRESENTED_IMAGE_SIMPLE,description:(0,je.jsx)(Mr,{type:"secondary",children:"Нет данных за период"})})]}),(0,je.jsxs)("div",{style:{display:"flex",gap:8,marginTop:24,flexWrap:"wrap"},children:[(0,je.jsx)(Ht.A,{value:s,onChange:e=>{l(e),f(0)},options:_r,style:{minWidth:160}}),(0,je.jsx)(Ht.A,{value:c,onChange:e=>{d(e),f(0)},options:Sr,style:{minWidth:140}}),(0,je.jsx)(Ye.A.Search,{allowClear:!0,placeholder:"Поиск по имени или ID",onSearch:e=>{g(e.trim()),f(0)},style:{maxWidth:260}})]}),(0,je.jsx)("div",{style:{marginTop:16},children:F?(0,je.jsx)(h.A,{active:!0,paragraph:{rows:5}}):0===I.length?(0,je.jsx)(G.A,{image:G.A.PRESENTED_IMAGE_SIMPLE,description:(0,je.jsx)(Mr,{type:"secondary",children:"Подписчиков пока нет — они появятся, когда пользователи запустят бота в Telegram или MAX."})}):(0,je.jsx)(Gt.A,{columns:C,dataSource:I,rowKey:"dialog_id",size:"middle",pagination:{current:x+1,pageSize:50,total:null!==(n=null==T?void 0:T.total)&&void 0!==n?n:0,showSizeChanger:!1,onChange:e=>f(e-1)}})})]})}function Dr(e){var t=e.label,r=e.value,n=e.loading;return(0,je.jsxs)(y.A,{styles:{body:{padding:20}},children:[(0,je.jsx)(Mr,{type:"secondary",style:{fontSize:12},children:t}),n?(0,je.jsx)(h.A,{active:!0,paragraph:!1,title:{width:60}}):(0,je.jsx)(Or,{level:3,style:{margin:"4px 0 0",fontWeight:500,color:"#1F2937"},children:null!=r?r:0})]})}function Lr(e){var t,r=e.data;return(0,je.jsxs)(y.A,{styles:{body:{padding:20}},children:[(0,je.jsx)(Mr,{type:"secondary",style:{fontSize:12},children:null!==(t=wr[r.platform])&&void 0!==t?t:r.platform}),(0,je.jsx)(Or,{level:3,style:{margin:"4px 0 8px",fontWeight:500,color:"#1F2937"},children:r.total}),(0,je.jsxs)("div",{style:{display:"flex",gap:16},children:[(0,je.jsx)(Wr,{label:"MAU",value:r.mau}),(0,je.jsx)(Wr,{label:"WAU",value:r.wau}),(0,je.jsx)(Wr,{label:"DAU",value:r.dau})]})]})}function Wr(e){var t=e.label,r=e.value;return(0,je.jsxs)("div",{children:[(0,je.jsx)(Mr,{type:"secondary",style:{fontSize:11},children:t}),(0,je.jsx)("div",{style:{fontSize:14,fontWeight:500,color:"#1F2937"},children:r})]})}function Ur(){return(0,je.jsx)(y.A,{styles:{body:{padding:20}},children:(0,je.jsx)(h.A,{active:!0,paragraph:{rows:2},title:{width:80}})})}function Xr(e){var t=e.data,r=new Map;for(var n of t){var a;r.set(n.date,(null!==(a=r.get(n.date))&&void 0!==a?a:0)+n.count)}var i=Array.from(r.entries()).sort((e,t)=>{var r=Er(e,1)[0],n=Er(t,1)[0];return r.localeCompare(n)}).map(e=>{var t=Er(e,2),r=t[0],n=t[1];return{date:Kr(r),count:n}});return(0,je.jsx)("div",{style:{width:"100%",height:220},children:(0,je.jsx)(Qt.u,{width:"100%",height:"100%",children:(0,je.jsxs)(Vt.Q,{data:i,margin:{top:8,right:8,left:0,bottom:0},children:[(0,je.jsx)("defs",{children:(0,je.jsxs)("linearGradient",{id:"rchAudienceFill",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,je.jsx)("stop",{offset:"0%",stopColor:"#1F2937",stopOpacity:.16}),(0,je.jsx)("stop",{offset:"100%",stopColor:"#1F2937",stopOpacity:.02})]})}),(0,je.jsx)(Zt.d,{stroke:"#F3F4F6",vertical:!1}),(0,je.jsx)($t.W,{dataKey:"date",tick:{fontSize:11,fill:"#9CA3AF"},axisLine:{stroke:"#E5E7EB"},tickLine:!1}),(0,je.jsx)(Yt.h,{width:36,allowDecimals:!1,tick:{fontSize:11,fill:"#9CA3AF"},axisLine:!1,tickLine:!1}),(0,je.jsx)(Jt.m,{formatter:e=>["".concat(e),"Новых"],contentStyle:{fontSize:12,borderRadius:6,border:"1px solid #E5E7EB",boxShadow:"0 2px 8px rgba(0,0,0,0.06)"},labelStyle:{color:"#6B7280"},cursor:{stroke:"#E5E7EB"}}),(0,je.jsx)(er.Gk,{type:"monotone",dataKey:"count",stroke:"#1F2937",strokeWidth:2,fill:"url(#rchAudienceFill)",dot:{r:2.5,fill:"#1F2937",strokeWidth:0},activeDot:{r:4,fill:"#1F2937",strokeWidth:0}})]})})})}function Kr(e){try{var t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleDateString("ru-RU",{day:"2-digit",month:"2-digit"})}catch(t){return e}}function Nr(e){try{var t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString("ru-RU",{day:"2-digit",month:"2-digit",year:"2-digit",hour:"2-digit",minute:"2-digit"})}catch(t){return e}}var Hr=r(6984),Gr=r(1849),Qr={telegram:"Telegram",max:"MAX",widget:"Виджет на сайт"},Vr={telegram:"Бот в Telegram. Нужен токен от @BotFather.",max:"Бот в MAX (российский мессенджер). Нужен токен из dev.max.ru.",widget:"Чат-виджет на сайте клиента. Без токена, по сниппету."},Zr={telegram:"blue",max:"purple",widget:"cyan"},$r={active:"Активен",paused:"На паузе",disabled:"Отключён"};function Yr(e,t,r,n,a,i,s){try{var l=e[i](s),o=l.value}catch(e){return void r(e)}l.done?t(o):Promise.resolve(o).then(n,a)}function Jr(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function s(e){Yr(i,n,a,s,l,"next",e)}function l(e){Yr(i,n,a,s,l,"throw",e)}s(void 0)})}}var en=e=>Jr(function*(){return(yield _.get("/channels",{params:{assistant_id:e}})).data})(),tn=e=>Jr(function*(){return(yield _.post("/channels",e)).data})(),rn=e=>Jr(function*(){return(yield _.get("/channels/".concat(e,"/stats"))).data})(),nn=(e,t)=>Jr(function*(){return(yield _.patch("/channels/".concat(e),t)).data})(),an=e=>Jr(function*(){yield _.delete("/channels/".concat(e))})(),sn={all:["channels"],list:e=>[...sn.all,"list",e],stats:e=>[...sn.all,"stats",e]};function ln(e){return(0,B.I)({queryKey:sn.list(null!=e?e:""),queryFn:()=>en(e),enabled:!!e,staleTime:1e4})}function on(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return(0,B.I)({queryKey:sn.stats(null!=e?e:""),queryFn:()=>rn(e),enabled:!!e&&t,staleTime:3e4})}function cn(e){var t=(0,a.jE)();return(0,E.n)({mutationFn:e=>tn(e),onSuccess:()=>{t.invalidateQueries({queryKey:sn.list(e)})}})}var dn={draft:{label:"Черновик",color:"default"},queued:{label:"В очереди",color:"processing"},sending:{label:"Отправляется",color:"processing"},done:{label:"Завершена",color:"success"},failed:{label:"Ошибка",color:"error"},cancelled:{label:"Отменена",color:"default"}},un={telegram:"Telegram",max:"MAX",widget:"Виджет"},pn={maxItems:10,maxImageBytes:10485760,maxVideoBytes:52428800,imageMimes:["image/jpeg","image/png","image/webp"],videoMimes:["video/mp4","video/quicktime"],maxDocBytes:52428800,docMimes:["application/pdf","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation","application/rtf","text/plain","text/csv","application/zip","application/x-rar-compressed","application/vnd.rar","application/x-7z-compressed","application/json","application/xml","text/xml"]};function yn(e,t,r,n,a,i,s){try{var l=e[i](s),o=l.value}catch(e){return void r(e)}l.done?t(o):Promise.resolve(o).then(n,a)}function hn(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function s(e){yn(i,n,a,s,l,"next",e)}function l(e){yn(i,n,a,s,l,"throw",e)}s(void 0)})}}var gn=e=>hn(function*(){return(yield _.get("/assistants/".concat(e,"/broadcasts"))).data.items})(),mn=(e,t)=>hn(function*(){return(yield _.get("/assistants/".concat(e,"/broadcasts/").concat(t))).data})(),xn=(e,t)=>hn(function*(){return(yield _.post("/assistants/".concat(e,"/broadcasts"),t)).data})(),fn=(e,t,r)=>hn(function*(){return(yield _.patch("/assistants/".concat(e,"/broadcasts/").concat(t),r)).data})(),vn=(e,t)=>hn(function*(){yield _.delete("/assistants/".concat(e,"/broadcasts/").concat(t))})(),jn=(e,t,r)=>hn(function*(){var n=new FormData;return n.append("file",r),(yield _.post("/assistants/".concat(e,"/broadcasts/").concat(t,"/media"),n,{headers:{"Content-Type":void 0}})).data})(),bn=(e,t,r)=>hn(function*(){return(yield _.delete("/assistants/".concat(e,"/broadcasts/").concat(t,"/media/").concat(r))).data})(),An=(e,t)=>hn(function*(){return(yield _.get("/assistants/".concat(e,"/broadcasts/").concat(t,"/recipients/preview"))).data})(),wn=(e,t)=>hn(function*(){return(yield _.post("/assistants/".concat(e,"/broadcasts/").concat(t,"/send"))).data})(),_n=(e,t)=>hn(function*(){return(yield _.get("/assistants/".concat(e,"/broadcasts/").concat(t,"/stats"))).data})(),Sn=(e,t)=>hn(function*(){return(yield _.post("/assistants/".concat(e,"/broadcasts/").concat(t,"/cancel"))).data})(),Tn={all:["broadcasts"],list:e=>[...Tn.all,"list",e],detail:(e,t)=>[...Tn.all,"detail",e,t],recipients:(e,t)=>[...Tn.all,"recipients",e,t],stats:(e,t)=>[...Tn.all,"stats",e,t]},Fn=(e,t)=>{var r,n=null===(r=t.response)||void 0===r?void 0:r.status;return 401!==n&&403!==n&&e<1},In=e=>"queued"===e||"sending"===e;function kn(e){var t=(0,a.jE)();return r=>{t.setQueryData(Tn.detail(e,r.id),r),t.invalidateQueries({queryKey:Tn.list(e)})}}function Cn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function zn(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r=1048576?"".concat((e/1024/1024).toFixed(1)," МБ"):"".concat(Math.max(1,Math.round(e/1024))," КБ")}var Un=e=>"queued"===e||"sending"===e,Xn=e=>"draft"===e;function Kn(e){var t=e.assistantId,r=Pn((0,M.useState)(!1),2),n=r[0],i=r[1],s=Pn((0,M.useState)(null),2),l=s[0],o=s[1],c=ln(t),d=c.data,u=c.isLoading,p=function(e){return(0,B.I)({queryKey:Tn.list(e),queryFn:()=>gn(e),staleTime:1e4,retry:Fn,refetchInterval:e=>{var t,r,n=null!==(t=null==e||null===(r=e.state)||void 0===r?void 0:r.data)&&void 0!==t?t:e;return!(!Array.isArray(n)||!n.some(e=>In(e.status)))&&3e3}})}(t),x=p.data,f=p.isLoading,v=p.error,j=function(e){var t=(0,a.jE)();return(0,E.n)({mutationFn:t=>vn(e,t),onSuccess:()=>{t.invalidateQueries({queryKey:Tn.list(e)})}})}(t),b=(0,M.useMemo)(()=>(null!=d?d:[]).filter(e=>Ln.includes(e.platform)),[d]),A=[{title:"Рассылка",dataIndex:"title",render:(e,t)=>(0,je.jsxs)(Hr.A,{direction:"vertical",size:0,children:[(0,je.jsx)(Mn,{children:t.title||"Без заголовка"}),(0,je.jsx)(Mn,{type:"secondary",style:{fontSize:12},children:t.body_text?"".concat(t.body_text.slice(0,60)).concat(t.body_text.length>60?"…":""):"Текст не заполнен"})]})},{title:"Канал",dataIndex:"platform",width:110,render:e=>{var t;return null!==(t=un[e])&&void 0!==t?t:e}},{title:"Статус",dataIndex:"status",width:210,render:(e,t)=>{var r,n=null!==(r=dn[e])&&void 0!==r?r:{label:e,color:"default"};if(Un(e)||"done"===e){var a=t.total_count||0,i=t.sent_count+t.failed_count,s=a?Math.round(i/a*100):0;return(0,je.jsxs)(Hr.A,{direction:"vertical",size:2,style:{width:"100%"},children:[(0,je.jsx)(ve.A,{color:n.color,children:n.label}),(0,je.jsx)(fe.A,{percent:"done"===e?100:s,size:"small",status:"done"===e?"success":"active"}),(0,je.jsxs)(Mn,{type:"secondary",style:{fontSize:11},children:[i," из ",a,t.failed_count>0?" · ошибок ".concat(t.failed_count):""]})]})}return(0,je.jsx)(ve.A,{color:n.color,children:n.label})}},{title:"Создана",dataIndex:"created_at",width:150,render:e=>{return(0,je.jsx)(Mn,{type:"secondary",style:{fontSize:12},children:(t=e,new Date(t).toLocaleString("ru-RU",{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit"}))});var t}},{title:"",key:"actions",width:150,render:(e,t)=>(0,je.jsxs)(Hr.A,{children:[(0,je.jsx)(m.Ay,{size:"small",onClick:()=>o(t.id),children:Xn(t.status)?"Открыть":"Смотреть"}),Xn(t.status)&&(0,je.jsx)(bt.A,{title:"Удалить черновик?",okText:"Удалить",cancelText:"Отмена",onConfirm:()=>{return e=t.id,void j.mutate(e,{onSuccess:()=>$e.Ay.success("Черновик удалён"),onError:e=>$e.Ay.error(T(e))});var e},children:(0,je.jsx)(m.Ay,{size:"small",danger:!0,type:"text",children:"Удалить"})})]})}];return f||u?(0,je.jsx)(h.A,{active:!0,paragraph:{rows:5}}):v?(0,je.jsx)(g.A,{type:"error",showIcon:!0,message:"Не удалось загрузить рассылки",description:T(v)}):(0,je.jsxs)("div",{children:[(0,je.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:16,marginBottom:16},children:[(0,je.jsxs)("div",{children:[(0,je.jsx)(Rn,{level:3,style:{margin:0},children:"Рассылки"}),(0,je.jsx)(Mn,{type:"secondary",style:{fontSize:12},children:"Сообщение всем подписчикам бота. Доступно для Telegram и MAX — виджет рассылку не поддерживает."})]}),(0,je.jsx)(m.Ay,{type:"primary",disabled:0===b.length,onClick:()=>i(!0),children:"Создать рассылку"})]}),0===b.length?(0,je.jsx)(y.A,{children:(0,je.jsx)(G.A,{description:(0,je.jsxs)(Hr.A,{direction:"vertical",size:4,children:[(0,je.jsx)(Mn,{children:"Нет каналов, куда можно рассылать"}),(0,je.jsx)(Mn,{type:"secondary",style:{fontSize:12},children:"Подключите бота Telegram или MAX на вкладке «Каналы»."})]})})}):(0,je.jsx)(Gt.A,{rowKey:"id",columns:A,dataSource:null!=x?x:[],pagination:!1,locale:{emptyText:(0,je.jsx)(G.A,{description:"Рассылок пока нет"})}}),(0,je.jsx)(Nn,{assistantId:t,open:n,channels:b,onClose:()=>i(!1),onCreated:e=>{i(!1),o(e)}}),(0,je.jsx)(Hn,{assistantId:t,broadcastId:l,onClose:()=>o(null)})]})}function Nn(e){var t=e.assistantId,r=e.open,n=e.channels,a=e.onClose,i=e.onCreated,s=Pn(Ze.A.useForm(),1)[0],l=function(e){var t=kn(e);return(0,E.n)({mutationFn:t=>xn(e,t),onSuccess:t})}(t),o=function(){var e=En(function*(){var e,t=yield s.validateFields();l.mutate({channel_id:t.channel_id,title:null!==(e=t.title)&&void 0!==e?e:null,body_text:""},{onSuccess:e=>{s.resetFields(),i(e.id)},onError:e=>$e.Ay.error(T(e))})});return function(){return e.apply(this,arguments)}}();return(0,je.jsx)(qe.A,{open:r,title:"Новая рассылка",okText:"Создать",cancelText:"Отмена",confirmLoading:l.isPending,onOk:o,onCancel:()=>{s.resetFields(),a()},destroyOnClose:!0,children:(0,je.jsxs)(Ze.A,{form:s,layout:"vertical",requiredMark:!1,children:[(0,je.jsx)(Ze.A.Item,{name:"channel_id",label:"Канал",rules:[{required:!0,message:"Выберите канал"}],extra:"Канал нельзя изменить после создания — получатели привязаны к нему.",children:(0,je.jsx)(Ht.A,{placeholder:"Куда рассылаем",options:n.map(e=>{var t;return{value:e.id,label:"".concat(null!==(t=un[e.platform])&&void 0!==t?t:e.platform," · ").concat(e.id.slice(0,8))}})})}),(0,je.jsx)(Ze.A.Item,{name:"title",label:"Название (для себя)",children:(0,je.jsx)(Ye.A,{placeholder:"Например: Акция на март",maxLength:255})})]})})}function Hn(e){var t,r,n,a,i,s,l,o,c,d,u,p=e.assistantId,y=e.broadcastId,x=e.onClose,f=function(e,t){return(0,B.I)({queryKey:Tn.detail(e,null!=t?t:""),queryFn:()=>mn(e,t),enabled:Boolean(t),staleTime:1e4,retry:Fn,refetchInterval:e=>{var t,r,n=null!==(t=null==e||null===(r=e.state)||void 0===r?void 0:r.data)&&void 0!==t?t:e;return!(!n||!In(n.status))&&3e3}})}(p,y),v=f.data,j=f.isLoading,b=function(e,t){return(0,B.I)({queryKey:Tn.recipients(e,null!=t?t:""),queryFn:()=>An(e,t),enabled:Boolean(t),staleTime:1e4,retry:Fn})}(p,y),A=b.data,w=!!v&&Un(v.status),_=function(e,t,r){return(0,B.I)({queryKey:Tn.stats(e,null!=t?t:""),queryFn:()=>_n(e,t),enabled:Boolean(t),staleTime:5e3,retry:Fn,refetchInterval:!!r&&3e3})}(p,v&&"draft"!==v.status?y:null,w),S=_.data,F=_.isLoading,I=function(e){var t=kn(e);return(0,E.n)({mutationFn:t=>{var r=t.broadcastId,n=t.payload;return fn(e,r,n)},onSuccess:t})}(p),k=function(e){var t=kn(e);return(0,E.n)({mutationFn:t=>{var r=t.broadcastId,n=t.file;return jn(e,r,n)},onSuccess:t})}(p),C=function(e){var t=kn(e);return(0,E.n)({mutationFn:t=>{var r=t.broadcastId,n=t.index;return bn(e,r,n)},onSuccess:t})}(p),z=function(e){var t=kn(e);return(0,E.n)({mutationFn:t=>wn(e,t),onSuccess:t})}(p),q=function(e){var t=kn(e);return(0,E.n)({mutationFn:t=>Sn(e,t),onSuccess:t})}(p),P=Pn((0,M.useState)(""),2),O=P[0],R=P[1],D=Pn((0,M.useState)(""),2),L=D[0],W=D[1],U=Pn((0,M.useState)([]),2),X=U[0],K=U[1],N=Pn((0,M.useState)(null),2),H=N[0],G=N[1];v&&H!==v.id&&(G(v.id),R(null!==(c=v.title)&&void 0!==c?c:""),W(null!==(d=v.body_text)&&void 0!==d?d:""),K(null!==(u=v.buttons)&&void 0!==u?u:[]));var Q="draft"===(null==v?void 0:v.status),V=!!v&&Un(v.status),Z=!!v&&(O!==(null!==(t=v.title)&&void 0!==t?t:"")||L!==(null!==(r=v.body_text)&&void 0!==r?r:"")||JSON.stringify(X.filter(e=>e.text.trim()&&e.url.trim()))!==JSON.stringify(null!==(n=v.buttons)&&void 0!==n?n:[])),$=()=>X.filter(e=>e.text.trim()&&e.url.trim()),Y=null!==(a=null==v?void 0:v.total_count)&&void 0!==a?a:0,J=v?v.sent_count+v.failed_count:0,ee=Y?Math.round(J/Y*100):0;return(0,je.jsx)(Gr.A,{open:Boolean(y),onClose:x,width:560,title:(null==v?void 0:v.title)||"Рассылка",destroyOnClose:!0,extra:Q?(0,je.jsxs)(Hr.A,{children:[Z&&(0,je.jsx)(Mn,{type:"secondary",style:{fontSize:12},children:"Есть несохранённые правки"}),(0,je.jsx)(m.Ay,{loading:I.isPending,onClick:()=>{v&&I.mutate({broadcastId:v.id,payload:{title:O.trim()?O.trim():null,body_text:L,buttons:$()}},{onSuccess:()=>$e.Ay.success("Черновик сохранён"),onError:e=>$e.Ay.error(T(e))})},children:"Сохранить"}),(0,je.jsx)(m.Ay,{type:"primary",onClick:()=>{var e,t;if(v){var r,n=null!==(e=null==A?void 0:A.recipients_count)&&void 0!==e?e:0,a=$(),i=L.trim(),s=v.media.length;qe.A.confirm({title:"Отправить рассылку?",width:520,content:(0,je.jsxs)(Hr.A,{direction:"vertical",size:10,style:{width:"100%"},children:[(0,je.jsxs)(Mn,{children:["Получат ",(0,je.jsx)("b",{children:n})," ",null!==(t=un[v.platform])&&void 0!==t?t:v.platform,"-подписчиков. Уйдёт:"]}),(0,je.jsxs)("div",{style:{border:"1px solid #E5E7EB",borderRadius:6,padding:"8px 12px",background:"#F9FAFB"},children:[i?(0,je.jsx)(Mn,{style:{fontSize:13,whiteSpace:"pre-wrap"},children:i.length>200?"".concat(i.slice(0,200),"…"):i}):(0,je.jsx)(Mn,{type:"danger",style:{fontSize:13},children:"Без текста"}),(0,je.jsx)("div",{style:{marginTop:6},children:(0,je.jsxs)(Mn,{type:"secondary",style:{fontSize:12},children:["Вложения: ",s?"".concat(s," медиа"):"нет"," ·"," ",a.length?"кнопок: ".concat(a.length):"без кнопок"]})})]}),(0,je.jsx)(Mn,{type:"warning",style:{fontSize:13},children:"Отправленные сообщения нельзя отозвать. Остановить можно только рассылку тем, кому ещё не ушло."})]}),okText:"Отправить",cancelText:"Отмена",onOk:(r=En(function*(){try{yield I.mutateAsync({broadcastId:v.id,payload:{title:O.trim()?O.trim():null,body_text:L,buttons:a}}),yield z.mutateAsync(v.id),$e.Ay.success("Рассылка запущена")}catch(e){throw $e.Ay.error(T(e)),e}}),function(){return r.apply(this,arguments)})})}},children:"Отправить"})]}):V?(0,je.jsx)(bt.A,{title:"Остановить рассылку?",description:"Уже отправленные сообщения не отзываются.",okText:"Остановить",cancelText:"Нет",onConfirm:()=>{v&&q.mutate(v.id,{onSuccess:()=>$e.Ay.success("Рассылка остановлена"),onError:e=>$e.Ay.error(T(e))})},children:(0,je.jsx)(m.Ay,{danger:!0,loading:q.isPending,children:"Остановить"})}):null,children:j||!v?(0,je.jsx)(h.A,{active:!0,paragraph:{rows:6}}):(0,je.jsxs)(Hr.A,{direction:"vertical",size:20,style:{width:"100%"},children:[(0,je.jsxs)(Hr.A,{size:8,wrap:!0,children:[(0,je.jsx)(ve.A,{children:null!==(i=un[v.platform])&&void 0!==i?i:v.platform}),(0,je.jsx)(ve.A,{color:null===(s=dn[v.status])||void 0===s?void 0:s.color,children:null!==(l=null===(o=dn[v.status])||void 0===o?void 0:o.label)&&void 0!==l?l:v.status}),Q&&(0,je.jsxs)(Mn,{type:"secondary",style:{fontSize:12},children:["Получателей: ",A?A.recipients_count:"…"]})]}),!Q&&(0,je.jsx)(Qn,{stats:S,loading:F,running:V,percent:ee}),"cancelled"===v.status&&(0,je.jsx)(g.A,{type:"warning",showIcon:!0,message:"Рассылка остановлена",description:"Успели отправить ".concat(v.sent_count," из ").concat(Y,". Остальным сообщение не ушло.")}),!Q&&!V&&"done"!==v.status&&"cancelled"!==v.status&&(0,je.jsx)(g.A,{type:"info",showIcon:!0,message:"Статус: ".concat(v.status)}),(0,je.jsxs)("div",{children:[(0,je.jsx)(Mn,{type:"secondary",style:{fontSize:12},children:"Название (для себя)"}),(0,je.jsx)(Ye.A,{value:O,disabled:!Q,maxLength:255,onChange:e=>R(e.target.value),style:{marginTop:4}})]}),(0,je.jsxs)("div",{children:[(0,je.jsx)(Mn,{type:"secondary",style:{fontSize:12},children:"Текст сообщения"}),(0,je.jsx)(Dn,{value:L,disabled:!Q,rows:8,placeholder:"Что получат подписчики",onChange:e=>W(e.target.value),style:{marginTop:4}})]}),(0,je.jsxs)("div",{children:[(0,je.jsxs)(Mn,{type:"secondary",style:{fontSize:12},children:["Медиа (",v.media.length," из ",pn.maxItems,")"]}),(0,je.jsx)("div",{style:{marginTop:8},children:0===v.media.length?(0,je.jsx)(Mn,{type:"secondary",style:{fontSize:12},children:"Файлов нет"}):(0,je.jsx)(Hr.A,{direction:"vertical",size:4,style:{width:"100%"},children:v.media.map((e,t)=>(0,je.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",border:"1px solid #E5E7EB",borderRadius:6,padding:"6px 12px"},children:[(0,je.jsxs)(Mn,{style:{fontSize:13},children:["document"===e.type?e.filename||"Документ":"video"===e.type?"Видео":"Картинка"," ·"," ",(0,je.jsx)(Mn,{type:"secondary",style:{fontSize:12},children:Wn(e.size)})]}),Q&&(0,je.jsx)(m.Ay,{size:"small",type:"text",danger:!0,loading:C.isPending,onClick:()=>C.mutate({broadcastId:v.id,index:t},{onError:e=>$e.Ay.error(T(e))}),children:"Убрать"})]},e.s3_key))})}),Q&&v.media.length{if(!v)return Be.A.LIST_IGNORE;if(v.media.length>=pn.maxItems)return $e.Ay.error("Максимум ".concat(pn.maxItems," медиа в одной рассылке")),Be.A.LIST_IGNORE;var t=(e.type||"").toLowerCase(),r=pn.imageMimes.includes(t),n=pn.videoMimes.includes(t),a=pn.docMimes.includes(t);if(!r&&!n&&!a)return $e.Ay.error("Поддерживаются картинки, видео и документы (PDF, Office, архивы и др.)"),Be.A.LIST_IGNORE;var i=n?pn.maxVideoBytes:a?pn.maxDocBytes:pn.maxImageBytes;return e.size>i?($e.Ay.error("Файл слишком большой (".concat(Wn(e.size),"). Лимит: ").concat(i/1024/1024," МБ")),Be.A.LIST_IGNORE):(k.mutate({broadcastId:v.id,file:e},{onSuccess:()=>$e.Ay.success("Файл добавлен"),onError:e=>$e.Ay.error(T(e))}),Be.A.LIST_IGNORE)},showUploadList:!1,multiple:!1,accept:".jpg,.jpeg,.png,.webp,.mp4,.mov,.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.odt,.ods,.odp,.rtf,.txt,.csv,.zip,.rar,.7z,.json,.xml",children:(0,je.jsx)(m.Ay,{style:{marginTop:8},loading:k.isPending,children:"Добавить файл"})}),(0,je.jsx)("div",{style:{marginTop:4},children:(0,je.jsx)(Mn,{type:"secondary",style:{fontSize:12},children:"Картинки до 10 МБ, видео и документы до 50 МБ. Несколько картинок уйдут альбомом."})})]}),(0,je.jsxs)("div",{children:[(0,je.jsx)(Mn,{type:"secondary",style:{fontSize:12},children:"Кнопки со ссылкой"}),(0,je.jsxs)(Hr.A,{direction:"vertical",size:8,style:{width:"100%",marginTop:8},children:[X.map((e,t)=>(0,je.jsxs)(Hr.A.Compact,{style:{width:"100%"},children:[(0,je.jsx)(Ye.A,{value:e.text,disabled:!Q,maxLength:64,placeholder:"Текст кнопки",onChange:e=>K(r=>r.map((r,n)=>n===t?zn(zn({},r),{},{text:e.target.value}):r))}),(0,je.jsx)(Ye.A,{value:e.url,disabled:!Q,placeholder:"https://...",onChange:e=>K(r=>r.map((r,n)=>n===t?zn(zn({},r),{},{url:e.target.value}):r))}),Q&&(0,je.jsx)(m.Ay,{onClick:()=>K(e=>e.filter((e,r)=>r!==t)),children:"✕"})]},t)),Q&&X.length<3&&(0,je.jsx)(m.Ay,{onClick:()=>K(e=>[...e,{text:"",url:""}]),children:"Добавить кнопку"})]}),Q&&(0,je.jsx)("div",{style:{marginTop:8},children:(0,je.jsx)(Mn,{type:"secondary",style:{fontSize:12},children:"«Отправить» сохранит черновик автоматически — отдельно нажимать «Сохранить» не обязательно."})})]})]})})}function Gn(e){var t=e.label,r=e.value,n=e.loading,a=e.tone,i="danger"===a?"#B91C1C":"muted"===a?"#6B7280":"#1F2937";return(0,je.jsxs)(y.A,{styles:{body:{padding:16}},children:[(0,je.jsx)(Mn,{type:"secondary",style:{fontSize:12},children:t}),n?(0,je.jsx)(h.A,{active:!0,paragraph:!1,title:{width:48}}):(0,je.jsx)(Rn,{level:3,style:{margin:"4px 0 0",fontWeight:500,color:i},children:null!=r?r:0})]})}function Qn(e){var t,r,n,a,i,s,l=e.stats,o=e.loading,c=e.running,d=e.percent,u=(null!==(t=null==l?void 0:l.failed)&&void 0!==t?t:0)+(null!==(r=null==l?void 0:l.blocked)&&void 0!==r?r:0),p=function(e){if(null===e)return null;if(e<60)return"".concat(e," сек");var t=Math.floor(e/60),r=e%60;return r?"".concat(t," мин ").concat(r," сек"):"".concat(t," мин")}(null!==(n=null==l?void 0:l.duration_sec)&&void 0!==n?n:null);return(0,je.jsx)(y.A,{size:"small",styles:{body:{padding:16}},children:(0,je.jsxs)(Hr.A,{direction:"vertical",size:12,style:{width:"100%"},children:[(0,je.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",gap:12},children:[(0,je.jsx)(Mn,{type:"secondary",style:{fontSize:12},children:c?"Идёт отправка":"Доставка"}),p&&(0,je.jsxs)(Mn,{type:"secondary",style:{fontSize:12},children:["Заняла ",p]})]}),(c||(null!==(a=null==l?void 0:l.pending)&&void 0!==a?a:0)>0)&&(0,je.jsx)(fe.A,{percent:c?d:100,status:c?"active":"normal"}),(0,je.jsxs)("div",{style:{display:"grid",gap:12,gridTemplateColumns:"repeat(auto-fit, minmax(120px, 1fr))"},children:[(0,je.jsx)(Gn,{label:"Всего",value:null==l?void 0:l.total,loading:o}),(0,je.jsx)(Gn,{label:"Доставлено",value:null==l?void 0:l.sent,loading:o}),(0,je.jsx)(Gn,{label:"Не доставлено",value:u,loading:o,tone:u>0?"danger":void 0}),(null!==(i=null==l?void 0:l.pending)&&void 0!==i?i:0)>0&&(0,je.jsx)(Gn,{label:"Осталось",value:null==l?void 0:l.pending,loading:o,tone:"muted"})]}),(null!==(s=null==l?void 0:l.blocked)&&void 0!==s?s:0)>0&&(0,je.jsxs)(Mn,{type:"secondary",style:{fontSize:12},children:["Из них ",null==l?void 0:l.blocked," — заблокировали бота или удалили аккаунт. Это не ошибка рассылки."]}),l&&l.failed_recipients.length>0&&(0,je.jsxs)("details",{children:[(0,je.jsxs)("summary",{style:{cursor:"pointer",fontSize:13,color:"#6B7280"},children:["Кому не дошло (",l.failed_recipients.length,")"]}),(0,je.jsx)("div",{style:{marginTop:8,maxHeight:200,overflowY:"auto"},children:(0,je.jsx)(Gt.A,{size:"small",pagination:!1,rowKey:e=>"".concat(e.external_id,"-").concat(e.status),dataSource:l.failed_recipients,columns:[{title:"Получатель",dataIndex:"external_id",width:130,render:e=>(0,je.jsx)(Mn,{style:{fontSize:12},children:e})},{title:"Причина",dataIndex:"error",render:(e,t)=>(0,je.jsx)(Mn,{type:"secondary",style:{fontSize:12},children:"blocked"===t.status?"Заблокировал бота":e||"Ошибка отправки"})}]})})]}),(0,je.jsx)(Mn,{type:"secondary",style:{fontSize:11},children:"«Прочитано» мессенджеры не сообщают — показываем только факт доставки."})]})})}function Vn(e,t,r,n,a,i,s){try{var l=e[i](s),o=l.value}catch(e){return void r(e)}l.done?t(o):Promise.resolve(o).then(n,a)}function Zn(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function s(e){Vn(i,n,a,s,l,"next",e)}function l(e){Vn(i,n,a,s,l,"throw",e)}s(void 0)})}}var $n={createThread:e=>Zn(function*(){return(yield _.post("/chat/threads",{assistant_id:e})).data})(),listThreads:e=>Zn(function*(){return(yield _.get("/chat/threads",{params:{assistant_id:e}})).data})(),getMessages(e){var t=arguments;return Zn(function*(){var r=t.length>1&&void 0!==t[1]?t[1]:100;return(yield _.get("/chat/threads/".concat(e,"/messages"),{params:{limit:r}})).data})()},sendMessage:(e,t)=>Zn(function*(){return(yield _.post("/chat/threads/".concat(e,"/messages"),{content:t},{timeout:6e4})).data})(),deleteThread:e=>Zn(function*(){yield _.delete("/chat/threads/".concat(e))})(),getChunksMeta:e=>Zn(function*(){return 0===e.length?[]:(yield _.get("/knowledge/chunks",{params:{ids:e.join(",")}})).data})()};function Yn(e,t,r,n,a,i,s){try{var l=e[i](s),o=l.value}catch(e){return void r(e)}l.done?t(o):Promise.resolve(o).then(n,a)}function Jn(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function s(e){Yn(i,n,a,s,l,"next",e)}function l(e){Yn(i,n,a,s,l,"throw",e)}s(void 0)})}}var ea={all:["chat"],threads:e=>[...ea.all,"threads",e],messages:e=>[...ea.all,"messages",e],chunksMeta:e=>[...ea.all,"chunksMeta",[...e].sort().join(",")]},ta=r(37977);function ra(e){var t,r,n,a,i,s=e.chunkIds,l=(t=s,(0,B.I)({queryKey:ea.chunksMeta(t),queryFn:(r=Jn(function*(){try{return yield $n.getChunksMeta(t)}catch(t){var e;if(404===(null===(e=t.response)||void 0===e?void 0:e.status))return[];throw t}}),function(){return r.apply(this,arguments)}),enabled:t.length>0,staleTime:3e5})),o=l.data;if(0===s.length)return null;if(!o||0===o.length)return(0,je.jsx)("div",{style:{marginTop:8},children:(0,je.jsxs)(ve.A,{bordered:!1,style:{fontSize:11},children:[s.length," ",(n=s.length,a=n%10,i=n%100,i>=11&&i<=14?"фрагментов":1===a?"фрагмент":a>=2&&a<=4?"фрагмента":"фрагментов")]})});var c=function(e){var t=new Map;for(var r of e){var n=t.get(r.source_id);n?null==r.page_number||n.pages.includes(r.page_number)||n.pages.push(r.page_number):t.set(r.source_id,{sourceId:r.source_id,sourceName:r.source_name,pages:null!=r.page_number?[r.page_number]:[]})}for(var a of t.values())a.pages.sort((e,t)=>e-t);return Array.from(t.values())}(o);return(0,je.jsx)("div",{style:{marginTop:8,display:"flex",flexWrap:"wrap",gap:6},children:c.map(e=>{var t=e.sourceId,r=e.sourceName,n=e.pages,a=null!=r?r:"Документ",i=n.length>0?"стр. ".concat(n.join(", ")):null,s=i?"".concat(a," · ").concat(i):a;return(0,je.jsx)(ta.A,{title:s,children:(0,je.jsxs)(ve.A,{bordered:!1,style:{fontSize:11,maxWidth:240},children:[(0,je.jsx)("span",{style:{display:"inline-block",maxWidth:200,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",verticalAlign:"bottom"},children:a}),i&&(0,je.jsx)("span",{style:{marginLeft:6,opacity:.6},children:i})]})},t)})})}var na=r(26398),aa=p.A.Text;function ia(e){var t=e.images.filter(e=>e.cdn_url);return 0===t.length?null:(0,je.jsx)("div",{style:{marginTop:8},children:(0,je.jsx)(na.A.PreviewGroup,{children:(0,je.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:8},children:t.map(e=>{var t,r,n;return(0,je.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,je.jsx)(ta.A,{title:null!==(t=e.caption)&&void 0!==t?t:void 0,placement:"top",children:(0,je.jsx)(na.A,{src:null!==(r=e.cdn_url)&&void 0!==r?r:void 0,alt:null!==(n=e.caption)&&void 0!==n?n:"Иллюстрация из документа",width:80,height:80,style:{objectFit:"cover",borderRadius:6,border:"1px solid #E5E7EB"},preview:{mask:!1}})}),null!=e.page_number&&(0,je.jsxs)(aa,{type:"secondary",style:{fontSize:10,marginTop:2,textAlign:"center"},children:["стр. ",e.page_number]})]},e.id)})})})})}var sa=p.A.Text;function la(e){var t,r,n,a,i=e.message,s="user"===i.role,l=null!==(t=i.retrieved_chunk_ids)&&void 0!==t?t:[],o=null!==(r=i.images)&&void 0!==r?r:[];return(0,je.jsx)("div",{style:{display:"flex",justifyContent:s?"flex-end":"flex-start",marginBottom:12},children:(0,je.jsxs)("div",{style:{maxWidth:"75%"},children:[(0,je.jsx)("div",{style:{padding:"10px 14px",borderRadius:12,background:s?"#1F2937":"#F3F4F6",color:s?"#FFFFFF":"#1A1A1A",fontSize:14,lineHeight:1.5,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:i.content}),!s&&o.length>0&&(0,je.jsx)(ia,{images:o}),!s&&l.length>0&&(0,je.jsx)(ra,{chunkIds:l}),(0,je.jsx)(sa,{type:"secondary",style:{fontSize:11,marginTop:4,display:"block",textAlign:s?"right":"left"},children:(n=i.created_at,a=new Date(n),a.toLocaleTimeString("ru-RU",{hour:"2-digit",minute:"2-digit"}))})]})})}function oa(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r0&&!a&&!i,u=()=>{d&&(n(c),o(""))};return(0,je.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"flex-end",padding:"12px 16px",borderTop:"1px solid #E5E7EB",background:"#FFFFFF"},children:[(0,je.jsx)(Ye.A.TextArea,{value:l,onChange:e=>o(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),u())},placeholder:"Напишите сообщение... (Ctrl+Enter — отправить)",autoSize:{minRows:1,maxRows:6},disabled:a,style:{resize:"none"}}),(0,je.jsx)(m.Ay,{type:"primary",onClick:u,loading:i,disabled:!d,children:"Отправить"})]})}var da=p.A.Text;function ua(e){var t=e.threadId,r=function(e){return(0,B.I)({queryKey:ea.messages(null!=e?e:""),queryFn:()=>$n.getMessages(e),enabled:!!e,staleTime:1/0})}(t),n=r.data,i=r.isLoading,s=r.error,l=function(e){var t,r=(0,a.jE)(),n=ea.messages(e);return(0,E.n)({mutationFn:t=>{var r=t.content;return $n.sendMessage(e,r)},onMutate:(t=Jn(function*(t){var a=t.content;yield r.cancelQueries({queryKey:n});var i=r.getQueryData(n),s={id:"optimistic-".concat(Date.now()),thread_id:e,role:"user",content:a,created_at:(new Date).toISOString(),retrieved_chunk_ids:null,image_ids:null};return r.setQueryData(n,e=>[...null!=e?e:[],s]),{previous:i}}),function(e){return t.apply(this,arguments)}),onError:(e,t,a)=>{null!=a&&a.previous&&r.setQueryData(n,a.previous)},onSuccess:e=>{r.setQueryData(n,t=>t?[...t.filter(e=>!e.id.startsWith("optimistic-")),e]:[e]),r.invalidateQueries({queryKey:n})}})}(t),o=(0,M.useRef)(null);(0,M.useEffect)(()=>{var e;null===(e=o.current)||void 0===e||e.scrollTo({top:o.current.scrollHeight,behavior:"smooth"})},[null==n?void 0:n.length]);var c=l.error?T(l.error):null;return(0,je.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"60vh",minHeight:400,border:"1px solid #E5E7EB",borderRadius:8,overflow:"hidden",background:"#FFFFFF"},children:[(0,je.jsxs)("div",{ref:o,style:{flex:1,overflowY:"auto",padding:"16px 16px 4px"},children:[i&&(0,je.jsx)(h.A,{active:!0,paragraph:{rows:4}}),s&&(0,je.jsx)(g.A,{type:"error",showIcon:!0,message:"Не удалось загрузить историю",description:T(s)}),n&&0===n.length&&!l.isPending&&(0,je.jsx)("div",{style:{textAlign:"center",padding:"40px 0"},children:(0,je.jsx)(da,{type:"secondary",children:"Напишите ассистенту что-нибудь, чтобы проверить как он отвечает."})}),null==n?void 0:n.map(e=>(0,je.jsx)(la,{message:e},e.id)),l.isPending&&(0,je.jsxs)("div",{style:{display:"flex",justifyContent:"flex-start",marginBottom:12,paddingLeft:14},children:[(0,je.jsx)(Ee.A,{size:"small"}),(0,je.jsx)(da,{type:"secondary",style:{fontSize:13,marginLeft:8},children:"Ассистент думает..."})]}),c&&(0,je.jsx)(g.A,{type:"error",showIcon:!0,message:c,style:{marginBottom:12}})]}),(0,je.jsx)(ca,{onSend:e=>{l.mutate({content:e})},isPending:l.isPending})]})}function pa(e){var t=e.assistantId,r=function(e){return(0,B.I)({queryKey:ea.threads(null!=e?e:""),queryFn:()=>$n.listThreads(e),enabled:!!e,staleTime:3e4})}(t),n=r.data,i=r.isLoading,s=r.error,l=function(e){var t=(0,a.jE)();return(0,E.n)({mutationFn:()=>$n.createThread(e),onSuccess:()=>{t.invalidateQueries({queryKey:ea.threads(e)})}})}(t),o=(0,M.useRef)(!1),c=n&&n.length>0?n[0].id:void 0;return(0,M.useEffect)(()=>{i||s||!n||0!==n.length||o.current||(o.current=!0,l.mutate())},[n,i,s,l]),i?(0,je.jsx)(h.A,{active:!0,paragraph:{rows:4}}):s?(0,je.jsx)(g.A,{type:"error",showIcon:!0,message:"Не удалось загрузить тред",description:T(s)}):l.error?(0,je.jsx)(g.A,{type:"error",showIcon:!0,message:"Не удалось создать тред",description:T(l.error)}):c?(0,je.jsx)(ua,{threadId:c}):(0,je.jsx)(h.A,{active:!0,paragraph:{rows:4}})}var ya=p.A.Text;function ha(e){var t=e.channel,r=e.assistantId,n=(0,u.Zp)(),a=on(t.id),i=a.data,s=a.isLoading,l="disabled"===t.status,o="widget"===t.platform;return(0,je.jsxs)(y.A,{hoverable:!0,onClick:()=>{n("/assistants/".concat(r,"/channels/").concat(t.id))},size:"small",styles:{body:{padding:16}},style:{opacity:l?.6:1,borderColor:l?"#FECACA":void 0,cursor:"pointer"},children:[(0,je.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:12},children:[(0,je.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,je.jsxs)(Hr.A,{size:8,wrap:!0,children:[(0,je.jsx)(ya,{strong:!0,style:{fontSize:14},children:o?t.bot_username:"@".concat(t.bot_username)}),(0,je.jsx)(ve.A,{color:Zr[t.platform],children:Qr[t.platform]}),(0,je.jsx)(ga,{status:t.status})]}),t.bot_display_name&&(0,je.jsx)("div",{children:(0,je.jsx)(ya,{type:"secondary",style:{fontSize:12},children:t.bot_display_name})})]}),!o&&(0,je.jsxs)("div",{style:{display:"flex",gap:16,padding:"4px 12px",background:"#F9FAFB",borderRadius:6},children:[(0,je.jsx)(ma,{label:"за 24ч",value:null==i?void 0:i.messages_last_24h,loading:s}),(0,je.jsx)(ma,{label:"₽ за 24ч",value:i?i.cost_last_24h_rub.toFixed(2):void 0,loading:s})]})]}),t.last_error&&(0,je.jsx)(g.A,{type:"warning",showIcon:!0,message:t.last_error,style:{marginTop:12,fontSize:12}})]})}function ga(e){var t=e.status,r="active"===t?"success":"paused"===t?"warning":"error";return(0,je.jsx)(ve.A,{color:r,children:$r[t]})}function ma(e){var t=e.label,r=e.value,n=e.loading;return(0,je.jsxs)("div",{style:{textAlign:"right"},children:[(0,je.jsx)(ya,{type:"secondary",style:{fontSize:10,display:"block"},children:t}),n?(0,je.jsx)(h.A.Input,{active:!0,size:"small",style:{width:40,height:14}}):(0,je.jsx)(ya,{strong:!0,style:{fontSize:13},children:null!=r?r:"—"})]})}var xa=p.A.Title,fa=p.A.Text;function va(e){var t=e.assistantId,r=(0,u.Zp)(),n=ln(t),a=n.data,i=n.isLoading,s=n.error,l=n.refetch;if(i)return(0,je.jsxs)(Hr.A,{direction:"vertical",style:{width:"100%"},size:12,children:[(0,je.jsx)(h.A,{active:!0,paragraph:{rows:2}}),(0,je.jsx)(h.A,{active:!0,paragraph:{rows:2}})]});if(s)return(0,je.jsx)(g.A,{type:"error",showIcon:!0,message:"Не удалось загрузить каналы",description:T(s),action:(0,je.jsx)(m.Ay,{size:"small",onClick:()=>l(),children:"Повторить"})});var o=a&&a.length>0,c=["widget","telegram","max"].map(e=>({key:e,label:(0,je.jsxs)(Hr.A,{direction:"vertical",size:0,style:{padding:"4px 0"},children:[(0,je.jsx)(fa,{strong:!0,children:Qr[e]}),(0,je.jsx)(fa,{type:"secondary",style:{fontSize:11},children:Vr[e]})]}),onClick:()=>{return n=e,void r("/assistants/".concat(t,"/channels/new?type=").concat(n));var n}}));return(0,je.jsxs)("div",{children:[(0,je.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:16},children:[(0,je.jsxs)("div",{children:[(0,je.jsx)(xa,{level:5,style:{margin:0},children:"Подключённые каналы"}),(0,je.jsx)(fa,{type:"secondary",style:{fontSize:12},children:"Telegram, MAX и виджет на сайт — там где ваш ассистент отвечает пользователям"})]}),o&&(0,je.jsx)(H.A,{menu:{items:c},placement:"bottomRight",children:(0,je.jsx)(m.Ay,{type:"primary",icon:(0,je.jsx)(Z.A,{}),children:"Подключить"})})]}),o?(0,je.jsx)(Hr.A,{direction:"vertical",style:{width:"100%"},size:12,children:a.map(e=>(0,je.jsx)(ha,{channel:e,assistantId:t},e.id))}):(0,je.jsx)(G.A,{description:"Каналов пока нет. Подключите первый — ассистент начнёт отвечать.",style:{padding:"24px 0"},children:(0,je.jsx)(H.A,{menu:{items:c},placement:"bottomRight",children:(0,je.jsx)(m.Ay,{type:"primary",icon:(0,je.jsx)(Z.A,{}),children:"Подключить канал"})})})]})}function ja(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rC(e,t),enabled:!!e,staleTime:3e4,retry:(e,t)=>{var r,n=null===(r=t.response)||void 0===r?void 0:r.status;return 401!==n&&403!==n&&404!==n&&e<1}})}(a),c=o.data,p=o.isLoading,f=o.error,v=(e=s.get("tab"),wa.includes(e)?e:_a);return p?(0,je.jsx)(y.A,{children:(0,je.jsx)(h.A,{active:!0,paragraph:{rows:4}})}):f?(0,je.jsx)(g.A,{type:"error",showIcon:!0,message:"Не удалось открыть ассистента",description:T(f),action:(0,je.jsx)(m.Ay,{size:"small",onClick:()=>n("/assistants"),children:"К списку"})}):c?(0,je.jsxs)("div",{children:[(0,je.jsx)(ba,{level:2,style:{marginTop:0,marginBottom:4},children:c.name}),(0,je.jsx)(Aa,{type:"secondary",style:{fontSize:12},children:c.gpt_model}),(0,je.jsx)(y.A,{style:{marginTop:24},children:(0,je.jsx)(x.A,{activeKey:v,onChange:e=>{l(e===_a?{}:{tab:e},{replace:!0})},items:[{key:"knowledge",label:"База знаний",children:(0,je.jsx)(Pt,{assistantId:c.id})},{key:"test-chat",label:"Тест-чат",children:(0,je.jsx)(pa,{assistantId:c.id})},{key:"channels",label:"Каналы",children:(0,je.jsx)(va,{assistantId:c.id})},{key:"audience",label:"Аудитория",children:(0,je.jsx)(Rr,{assistantId:c.id})},{key:"broadcasts",label:"Рассылки",children:(0,je.jsx)(Kn,{assistantId:c.id})},{key:"statistics",label:"Статистика",children:(0,je.jsx)(xr,{assistantId:c.id})},{key:"settings",label:"Настройки",children:(0,je.jsx)(Nt,{assistant:c})}]})})]}):null}var Ta=r(50770),Fa=p.A.Text,Ia=[{value:"NONE",title:"Международные сервисы",description:"OpenAI GPT-4o-mini. "},{value:"PARTIAL",title:"Российские сервисы, кроме картинок",description:"YandexGPT для текста. Картинки в документах обрабатываются OpenAI Vision."},{value:"FULL",title:"Только российские сервисы",description:"YandexGPT, без обработки картинок. Все данные обрабатываются в РФ."}];function ka(e){var t=e.value,r=e.onChange;return(0,je.jsx)(Ta.Ay.Group,{value:t,onChange:e=>null==r?void 0:r(e.target.value),style:{display:"flex",flexDirection:"column",gap:10,width:"100%"},children:Ia.map(e=>{var r=t===e.value;return(0,je.jsx)(Ta.Ay,{value:e.value,style:{display:"flex",alignItems:"flex-start",padding:"12px 14px",margin:0,border:"1px solid ".concat(r?"#1F2937":"#E5E7EB"),borderRadius:8,background:r?"#F9FAFB":"#FFFFFF",transition:"border-color 0.15s, background 0.15s"},children:(0,je.jsxs)("div",{style:{marginLeft:4},children:[(0,je.jsx)("div",{style:{fontWeight:500,color:"#1A1A1A",marginBottom:2},children:e.title}),(0,je.jsx)(Fa,{type:"secondary",style:{fontSize:12,lineHeight:1.45},children:e.description})]})},e.value)})})}function Ca(e,t,r,n,a,i,s){try{var l=e[i](s),o=l.value}catch(e){return void r(e)}l.done?t(o):Promise.resolve(o).then(n,a)}function za(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rk(e),onSuccess:()=>{t.invalidateQueries({queryKey:X.me()})}}));(0,M.useEffect)(()=>{i&&(o.resetFields(),c.reset())},[i,o]);var d=function(){var e,t=(e=function*(e){var t,r={name:e.name.trim(),localization:e.localization},n=null===(t=e.prompt)||void 0===t?void 0:t.trim();n&&(r.prompt=n);try{var a=yield c.mutateAsync(r);s(),l("/assistants/".concat(a.id))}catch(e){}},function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function s(e){Ca(i,n,a,s,l,"next",e)}function l(e){Ca(i,n,a,s,l,"throw",e)}s(void 0)})});return function(e){return t.apply(this,arguments)}}(),p=c.error?T(c.error):null;return(0,je.jsx)(qe.A,{open:i,title:"Создать ассистента",onCancel:s,onOk:()=>o.submit(),okText:"Создать",cancelText:"Отмена",confirmLoading:c.isPending,destroyOnClose:!0,width:520,children:(0,je.jsxs)(Ze.A,{form:o,layout:"vertical",requiredMark:!1,onFinish:d,initialValues:qa,children:[(0,je.jsx)(Ze.A.Item,{name:"name",label:"Название",rules:[{required:!0,message:"Введите название"},{max:100,message:"Слишком длинное название"}],children:(0,je.jsx)(Ye.A,{size:"large",placeholder:"Например, «Поддержка интернет-магазина»",autoFocus:!0})}),(0,je.jsx)(Ze.A.Item,{name:"localization",label:"Локализация",tooltip:"Где обрабатываются данные ассистента. После создания изменить нельзя.",rules:[{required:!0}],children:(0,je.jsx)(ka,{})}),(0,je.jsx)(Ze.A.Item,{name:"prompt",label:"Инструкция для ассистента (необязательно)",extra:"Если оставить пустым — будет использована стандартная инструкция.",children:(0,je.jsx)(Ye.A.TextArea,{rows:4,placeholder:"Опишите, как ассистент должен общаться и о чём отвечать",maxLength:1e4,showCount:!0})}),p&&(0,je.jsx)("div",{style:{color:"#DC2626",fontSize:13,marginTop:4},children:p})]})})}function Ea(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t,r;return null!==(t=null===(r=e.user)||void 0===r?void 0:r.assistants)&&void 0!==t?t:[]}),a=(e=(0,M.useState)(!1),t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,s,l=[],o=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;o=!1}else for(;!(o=(n=i.call(r)).done)&&(l.push(n.value),l.length!==t);o=!0);}catch(e){c=!0,a=e}finally{try{if(!o&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(c)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Ea(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ea(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=a[0],s=a[1];return(0,je.jsxs)("div",{children:[(0,je.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:24},children:[(0,je.jsx)(Pa,{level:2,style:{margin:0},children:"Ассистенты"}),(0,je.jsx)(m.Ay,{type:"primary",onClick:()=>s(!0),children:"Создать ассистента"})]}),0===n.length?(0,je.jsx)(y.A,{children:(0,je.jsxs)("div",{style:{maxWidth:640,margin:"0 auto",padding:"8px 0 4px"},children:[(0,je.jsx)(Pa,{level:3,style:{marginTop:0,marginBottom:8},children:"Добро пожаловать в Richat"}),(0,je.jsxs)(Ma,{style:{marginBottom:12,color:"#374151",lineHeight:1.7},children:["Создайте первого ассистента — и на его баланс начислится"," ",(0,je.jsx)(Oa,{strong:!0,children:"1 000 ₽ приветственного бонуса"}),". Этого хватит, чтобы обучить ассистента на ваших материалах и принять первые сотни сообщений от клиентов."]}),(0,je.jsx)("div",{style:{padding:"10px 14px",background:"#FFF7E6",border:"1px solid #FFD591",borderRadius:8,marginBottom:20},children:(0,je.jsx)(Oa,{style:{color:"#AD6800",lineHeight:1.6},children:"Баланс привязан к каждому ассистенту отдельно, а бонус даётся только за первого. Если удалить первого ассистента, его баланс вместе с бонусом сгорит — при создании нового бонус не начислится повторно. Поэтому настраивайте первого ассистента, а не пересоздавайте."})}),(0,je.jsx)("div",{style:{textAlign:"center"},children:(0,je.jsx)(m.Ay,{type:"primary",size:"large",onClick:()=>s(!0),children:"Создать ассистента"})})]})}):(0,je.jsx)("div",{style:{display:"grid",gap:16,gridTemplateColumns:"repeat(auto-fill, minmax(280px, 1fr))"},children:n.map(e=>(0,je.jsxs)(y.A,{hoverable:!0,onClick:()=>r("/assistants/".concat(e.id)),children:[(0,je.jsx)(Pa,{level:5,style:{margin:0,marginBottom:4},children:e.name}),(0,je.jsx)(Oa,{type:"secondary",style:{fontSize:12},children:e.gpt_model})]},e.id))}),(0,je.jsx)(Ba,{open:i,onClose:()=>s(!1)})]})}var Da=1e3;function La(e){if(null==e)return 0;if("number"==typeof e)return e;var t=Number(e);return Number.isFinite(t)?t:0}var Wa={topup_paid:"Пополнение картой",topup:"Приветственный бонус",topup_autopay:"Автопополнение",channel_message_max:"Чат (MAX)",channel_message_telegram:"Чат (Telegram)",channel_message_widget:"Чат (виджет)",page_ingest:"Обработка страниц",image_ingest:"Обработка картинок",adjustment:"Резерв средств",refund:"Возврат резерва",paid_expired:"Истечение баланса",admin_adjustment:"Корректировка"};function Ua(e){var t;return null!==(t=Wa[e])&&void 0!==t?t:e}function Xa(e,t,r,n,a,i,s){try{var l=e[i](s),o=l.value}catch(e){return void r(e)}l.done?t(o):Promise.resolve(o).then(n,a)}function Ka(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function s(e){Xa(i,n,a,s,l,"next",e)}function l(e){Xa(i,n,a,s,l,"throw",e)}s(void 0)})}}var Na={createTopup:e=>Ka(function*(){return(yield _.post("/billing/topup/create",e)).data})(),getPaymentIntentStatus:e=>Ka(function*(){return(yield _.get("/billing/payment-intents/".concat(e))).data})(),getAssistantSummary:e=>Ka(function*(){return(yield _.get("/billing/assistant/".concat(e,"/summary"))).data})(),getUserTransactions(){var e=arguments;return Ka(function*(){var t=e.length>0&&void 0!==e[0]?e[0]:50,r=e.length>1&&void 0!==e[1]?e[1]:0,n=e.length>2&&void 0!==e[2]?e[2]:{};return(yield _.get("/billing/transactions",{params:{limit:t,offset:r,assistant_id:n.assistant_id||void 0,kind:n.kind||void 0,date_from:n.date_from||void 0,date_to:n.date_to||void 0}})).data})()},getOverview(){var e=arguments;return Ka(function*(){var t=e.length>0&&void 0!==e[0]?e[0]:{};return(yield _.get("/billing/overview",{params:{date_from:t.date_from||void 0,date_to:t.date_to||void 0}})).data})()}},Ha={all:["billing"],summary:e=>[...Ha.all,"summary",e],paymentIntent:e=>[...Ha.all,"payment-intent",e],transactions:e=>[...Ha.all,"transactions",null!=e?e:{}],overview:e=>[...Ha.all,"overview",null!=e?e:{}]},Ga=r(81691);function Qa(e,t,r,n,a,i,s){try{var l=e[i](s),o=l.value}catch(e){return void r(e)}l.done?t(o):Promise.resolve(o).then(n,a)}function Va(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t,r=null===(t=e.user)||void 0===t||null===(t=t.assistants)||void 0===t?void 0:t.find(e=>e.id===a);return r?La(r.balance):0}),o=l<0?-l:0,c=o>0,d=(t=(0,M.useState)(15e3),r=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,s,l=[],o=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;o=!1}else for(;!(o=(n=i.call(r)).done)&&(l.push(n.value),l.length!==t);o=!0);}catch(e){c=!0,a=e}finally{try{if(!o&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(c)throw a}}return l}}(t,r)||function(e,t){if(e){if("string"==typeof e)return Va(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Va(e,t):void 0}}(t,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=d[0],p=d[1],y=(0,E.n)({mutationFn:e=>Na.createTopup(e)}),h=(0,M.useMemo)(()=>o+u,[o,u]),x=up(e.target.value),optionType:"button",buttonStyle:"solid",children:Ya.map(e=>(0,je.jsxs)(Ta.Ay.Button,{value:e,children:[Ja(e)," ₽"]},e))})]}),(0,je.jsxs)("div",{children:[(0,je.jsx)(Za,{strong:!0,style:{display:"block",marginBottom:8},children:"Или своя сумма"}),(0,je.jsx)(Ga.A,{value:u,onChange:e=>p(null!=e?e:0),min:0,max:1e6,step:1e3,style:{width:"100%"},formatter:e=>"".concat(e).replace(/\B(?=(\d{3})+(?!\d))/g," "),parser:e=>Number((null!=e?e:"").replace(/\s/g,"")),addonAfter:"₽"}),x&&(0,je.jsxs)(Za,{type:"danger",style:{fontSize:12},children:["Минимальная сумма пополнения — ",Ja(Da)," ₽"]})]}),c&&(0,je.jsxs)("div",{style:{background:"#F9FAFB",borderRadius:8,padding:16},children:[(0,je.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:6},children:[(0,je.jsx)(Za,{type:"secondary",style:{fontSize:13},children:"Оплата обработки документов"}),(0,je.jsxs)(Za,{style:{fontSize:13},children:[Ja(o)," ₽"]})]}),(0,je.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:10},children:[(0,je.jsx)(Za,{type:"secondary",style:{fontSize:13},children:"Пополнение на диалоги"}),(0,je.jsxs)(Za,{style:{fontSize:13},children:[Ja(u)," ₽"]})]}),(0,je.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",paddingTop:10,borderTop:"1px solid #E5E7EB"},children:[(0,je.jsx)(Za,{strong:!0,style:{fontSize:14},children:"Итого к оплате"}),(0,je.jsxs)(Za,{strong:!0,style:{fontSize:16},children:[Ja(h)," ₽"]})]})]}),y.error&&(0,je.jsx)(g.A,{type:"error",showIcon:!0,message:T(y.error)}),(0,je.jsxs)(Hr.A,{style:{width:"100%",justifyContent:"flex-end"},children:[(0,je.jsx)(m.Ay,{onClick:s,disabled:y.isPending,children:"Отмена"}),(0,je.jsx)(m.Ay,{type:"primary",onClick:f,loading:y.isPending,disabled:x,children:"Перейти к оплате"})]}),(0,je.jsx)(Za,{type:"secondary",style:{fontSize:11},children:"Вы будете перенаправлены на защищённую страницу ЮKассы. Баланс пополнится автоматически после успешной оплаты."})]})})}function ti(e){var t=e.data.map(e=>({date:ri(e.date),spent:La(e.spent_rub)}));return(0,je.jsx)("div",{style:{width:"100%",height:180},children:(0,je.jsx)(Qt.u,{width:"100%",height:"100%",children:(0,je.jsxs)(Vt.Q,{data:t,margin:{top:8,right:8,left:0,bottom:0},children:[(0,je.jsx)("defs",{children:(0,je.jsxs)("linearGradient",{id:"rchSpendFill",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,je.jsx)("stop",{offset:"0%",stopColor:"#1F2937",stopOpacity:.16}),(0,je.jsx)("stop",{offset:"100%",stopColor:"#1F2937",stopOpacity:.02})]})}),(0,je.jsx)(Zt.d,{stroke:"#F3F4F6",vertical:!1}),(0,je.jsx)($t.W,{dataKey:"date",tick:{fontSize:11,fill:"#9CA3AF"},axisLine:{stroke:"#E5E7EB"},tickLine:!1}),(0,je.jsx)(Yt.h,{width:48,tick:{fontSize:11,fill:"#9CA3AF"},axisLine:!1,tickLine:!1,tickFormatter:e=>function(e){if(e>=1e3){var t=e/1e3;return"".concat(t%1==0?t:t.toFixed(1),"к")}return String(e)}(e)}),(0,je.jsx)(Jt.m,{formatter:e=>["".concat(e.toLocaleString("ru-RU",{minimumFractionDigits:2,maximumFractionDigits:2})," ₽"),"Расход"],contentStyle:{fontSize:12,borderRadius:6,border:"1px solid #E5E7EB",boxShadow:"0 2px 8px rgba(0,0,0,0.06)"},labelStyle:{color:"#6B7280"},cursor:{stroke:"#E5E7EB"}}),(0,je.jsx)(er.Gk,{type:"monotone",dataKey:"spent",stroke:"#1F2937",strokeWidth:2,fill:"url(#rchSpendFill)",dot:{r:2.5,fill:"#1F2937",strokeWidth:0},activeDot:{r:4,fill:"#1F2937",strokeWidth:0}})]})})})}function ri(e){try{var t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleDateString("ru-RU",{day:"2-digit",month:"2-digit"})}catch(t){return e}}var ni=p.A.Title,ai=p.A.Text,ii={telegram:"Telegram",max:"MAX",widget:"Виджет"};function si(e){return La(e).toLocaleString("ru-RU",{minimumFractionDigits:2,maximumFractionDigits:2})}function li(){var e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,B.I)({queryKey:Ha.overview(e),queryFn:()=>Na.getOverview(e),staleTime:1e4,retry:(e,t)=>{var r,n=null===(r=t.response)||void 0===r?void 0:r.status;return 401!==n&&403!==n&&e<1}})}(),t=e.data,r=e.isLoading,n=e.error;return r?(0,je.jsxs)("div",{style:{display:"grid",gap:16,gridTemplateColumns:"repeat(auto-fit, minmax(280px, 1fr))"},children:[(0,je.jsx)(y.A,{children:(0,je.jsx)(h.A,{active:!0,paragraph:{rows:2}})}),(0,je.jsx)(y.A,{children:(0,je.jsx)(h.A,{active:!0,paragraph:{rows:2}})})]}):n||!t?(0,je.jsx)(y.A,{children:(0,je.jsx)(ai,{type:"secondary",children:"Не удалось загрузить сводку."})}):(0,je.jsxs)("div",{children:[(0,je.jsxs)("div",{style:{display:"grid",gap:16,gridTemplateColumns:"repeat(auto-fit, minmax(280px, 1fr))"},children:[(0,je.jsx)(oi,{data:t}),(0,je.jsx)(ci,{data:t})]}),t.by_day.length>0&&(0,je.jsxs)(y.A,{style:{marginTop:16},styles:{body:{padding:20}},children:[(0,je.jsx)(ai,{type:"secondary",style:{fontSize:12,display:"block",marginBottom:12},children:"Расход по дням"}),(0,je.jsx)(ti,{data:t.by_day})]})]})}function oi(e){var t=e.data,r=La(t.total_welcome_rub);return(0,je.jsxs)(y.A,{styles:{body:{padding:20}},children:[(0,je.jsx)(ai,{type:"secondary",style:{fontSize:12},children:"Оплачено"}),(0,je.jsxs)(ni,{level:3,style:{margin:"4px 0 0",fontWeight:500,color:"#1F2937"},children:[si(t.total_paid_rub)," ₽"]}),r>0&&(0,je.jsxs)("div",{style:{marginTop:14,paddingTop:14,borderTop:"1px solid #F3F4F6",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,je.jsxs)("span",{children:[(0,je.jsx)(ve.A,{bordered:!1,color:"success",style:{fontSize:11,marginRight:8},children:"бонус"}),(0,je.jsx)(ai,{type:"secondary",style:{fontSize:13},children:"Приветственный"})]}),(0,je.jsxs)(ai,{style:{fontSize:13,fontWeight:500},children:[si(r)," ₽"]})]})]})}function ci(e){var t=e.data;return(0,je.jsxs)(y.A,{styles:{body:{padding:20}},children:[(0,je.jsx)(ai,{type:"secondary",style:{fontSize:12},children:"Израсходовано"}),(0,je.jsxs)(ni,{level:3,style:{margin:"4px 0 0",fontWeight:500,color:"#1F2937"},children:[si(t.total_spent_rub)," ₽"]}),(0,je.jsxs)("div",{style:{marginTop:14,paddingTop:14,borderTop:"1px solid #F3F4F6"},children:[(0,je.jsx)(di,{label:"За чат",value:t.total_chat_rub}),t.by_channel.map(e=>{var t;return(0,je.jsx)(di,{label:null!==(t=ii[e.platform])&&void 0!==t?t:e.platform,value:e.spent_rub,nested:!0,suffix:"".concat(e.messages_count," сообщ.")},e.platform)}),(0,je.jsx)("div",{style:{marginTop:8},children:(0,je.jsx)(di,{label:"За базу знаний",value:t.total_ingest_rub})})]})]})}function di(e){var t=e.label,r=e.value,n=e.nested,a=void 0!==n&&n,i=e.suffix;return(0,je.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",padding:"3px 0",paddingLeft:a?14:0},children:[(0,je.jsxs)(ai,{type:"secondary",style:{fontSize:13,fontWeight:a?400:500},children:[a&&(0,je.jsx)("span",{style:{color:"#9CA3AF",marginRight:6},children:"└"}),t,i&&(0,je.jsx)(ai,{type:"secondary",style:{fontSize:11,marginLeft:6,color:"#9CA3AF"},children:i})]}),(0,je.jsxs)(ai,{style:{fontSize:13,fontWeight:a?400:500,color:a?"#6B7280":"#1A1A1A"},children:[si(r)," ₽"]})]})}function ui(e){var t,r,n,i,s=e.paymentIntentId,l=e.onResolved,o=(r=s,(0,B.I)({queryKey:Ha.paymentIntent(null!=r?r:""),queryFn:()=>Na.getPaymentIntentStatus(r),enabled:!!r,refetchInterval:e=>{var t=e.state.data;return t?"pending"===t.status&&2e3:2e3},staleTime:0,retry:(e,t)=>{var r,n=null===(r=t.response)||void 0===r?void 0:r.status;return 401!==n&&403!==n&&404!==n&&e<2}})),c=o.data,d=o.isLoading,u=o.error,p=(n=(0,a.jE)(),e=>{n.invalidateQueries({queryKey:Ha.summary(e)}),n.invalidateQueries({queryKey:[...Ha.all,"transactions"]}),n.invalidateQueries({queryKey:[...Ha.all,"overview"]}),n.invalidateQueries({queryKey:X.me()})}),y=(0,M.useRef)(!1);return(0,M.useEffect)(()=>{c&&"pending"!==c.status&&(y.current||(y.current=!0,"succeeded"===c.status&&p(""),null==l||l()))},[c,p,l]),u?(0,je.jsx)(g.A,{type:"error",showIcon:!0,closable:!0,message:"Не удалось проверить статус платежа",description:"Если деньги списались, баланс обновится в течение нескольких минут. Обновите страницу.",style:{marginBottom:16}}):d||!c||"pending"===c.status?(0,je.jsx)(g.A,{type:"info",showIcon:!0,icon:(0,je.jsx)(Ee.A,{size:"small"}),message:"Обрабатываем платёж...",description:"Это занимает несколько секунд. Не закрывайте страницу.",style:{marginBottom:16}}):"succeeded"===c.status?(0,je.jsx)(g.A,{type:"success",showIcon:!0,closable:!0,onClose:l,message:"Баланс пополнен",description:"Платёж на ".concat(La(c.amount_rub).toLocaleString("ru-RU")," ₽ успешно обработан."),style:{marginBottom:16}}):"canceled"===c.status?(0,je.jsx)(g.A,{type:"warning",showIcon:!0,closable:!0,onClose:l,message:"Платёж отменён",description:null!==(i=c.fail_reason)&&void 0!==i?i:"Вы отменили оплату. Баланс не изменился.",style:{marginBottom:16}}):(0,je.jsx)(g.A,{type:"error",showIcon:!0,closable:!0,onClose:l,message:"Платёж не прошёл",description:null!==(t=c.fail_reason)&&void 0!==t?t:"Что-то пошло не так при оплате. Попробуйте ещё раз.",style:{marginBottom:16}})}var pi=r(93298),yi=r(74353),hi=r.n(yi);function gi(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,s,l=[],o=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;o=!1}else for(;!(o=(n=i.call(r)).done)&&(l.push(n.value),l.length!==t);o=!0);}catch(e){c=!0,a=e}finally{try{if(!o&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(c)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return mi(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?mi(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function mi(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t,r;return null!==(t=null===(r=e.user)||void 0===r?void 0:r.assistants)&&void 0!==t?t:[]}),r=gi((0,M.useState)(),2),n=r[0],a=r[1],i=gi((0,M.useState)(),2),s=i[0],l=i[1],o=gi((0,M.useState)(null),2),c=o[0],d=o[1],u=(0,M.useMemo)(()=>{var e,t;return{assistant_id:n,kind:s,date_from:null==c||null===(e=c[0])||void 0===e?void 0:e.startOf("day").toISOString(),date_to:null==c||null===(t=c[1])||void 0===t?void 0:t.endOf("day").toISOString()}},[n,s,c]),p=!!(n||s||c),y=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,B.I)({queryKey:Ha.transactions(t),queryFn:()=>Na.getUserTransactions(e,0,t),staleTime:1e4,retry:(e,t)=>{var r,n=null===(r=t.response)||void 0===r?void 0:r.status;return 401!==n&&403!==n&&e<1}})}(50,u),g=y.data,x=y.isLoading,f=y.error,v=t.map(e=>({value:e.id,label:e.name})),j=[{title:"Дата",dataIndex:"created_at",key:"created_at",width:150,render:e=>(0,je.jsx)(xi,{type:"secondary",style:{fontSize:13},children:Ai(e)})},{title:"Ассистент",dataIndex:"assistant_name",key:"assistant_name",render:e=>(0,je.jsx)(xi,{style:{fontSize:13},children:null!=e?e:"—"})},{title:"Операция",dataIndex:"kind",key:"kind",render:e=>(0,je.jsx)(ve.A,{bordered:!1,color:bi(e),style:{fontSize:12},children:Ua(e)})},{title:"Сумма",dataIndex:"amount_rub",key:"amount_rub",align:"right",render:e=>{var t=La(e),r=t>0;return(0,je.jsxs)(xi,{style:{fontSize:13,fontWeight:500,color:r?"#16A34A":"#1A1A1A"},children:[r?"+":"",t.toLocaleString("ru-RU",{minimumFractionDigits:2,maximumFractionDigits:2})," ","₽"]})}},{title:"Баланс после",dataIndex:"balance_after_rub",key:"balance_after_rub",align:"right",responsive:["md"],render:e=>(0,je.jsxs)(xi,{type:"secondary",style:{fontSize:13},children:[La(e).toLocaleString("ru-RU",{minimumFractionDigits:2,maximumFractionDigits:2})," ","₽"]})}],b=null!==(e=null==g?void 0:g.transactions)&&void 0!==e?e:[];return(0,je.jsxs)("div",{children:[(0,je.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:8,alignItems:"center",padding:"4px 4px 16px"},children:[(0,je.jsx)(Ht.A,{allowClear:!0,placeholder:"Ассистент",style:{minWidth:180},value:n,onChange:a,options:v,size:"middle"}),(0,je.jsx)(Ht.A,{allowClear:!0,placeholder:"Тип операции",style:{minWidth:200},value:s,onChange:l,options:vi,size:"middle"}),(0,je.jsx)(fi,{value:c,onChange:e=>d(e),format:"DD.MM.YYYY",placeholder:["С","По"]}),p&&(0,je.jsx)(m.Ay,{type:"text",onClick:()=>{a(void 0),l(void 0),d(null)},style:{color:"#6B7280"},children:"Сбросить"})]}),x?(0,je.jsx)(h.A,{active:!0,paragraph:{rows:4}}):f?(0,je.jsx)(xi,{type:"secondary",children:"Не удалось загрузить историю транзакций."}):0===b.length?(0,je.jsx)(G.A,{image:G.A.PRESENTED_IMAGE_SIMPLE,description:(0,je.jsx)(xi,{type:"secondary",children:p?"Нет операций под выбранные фильтры.":"История операций появится после первого пополнения или списания."})}):(0,je.jsx)(Gt.A,{columns:j,dataSource:b,rowKey:"id",size:"middle",pagination:b.length>15&&{pageSize:15,showSizeChanger:!1}})]})}function bi(e){return"topup"===e||e.startsWith("topup_")?"green":"paid_expired"===e?"red":e.startsWith("channel_message")||e.endsWith("_ingest")?"default":"admin_adjustment"===e?"blue":"default"}function Ai(e){try{return hi()(e).format("DD.MM.YYYY HH:mm")}catch(t){return e}}function wi(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,s,l=[],o=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;o=!1}else for(;!(o=(n=i.call(r)).done)&&(l.push(n.value),l.length!==t);o=!0);}catch(e){c=!0,a=e}finally{try{if(!o&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(c)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return _i(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_i(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _i(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t,r;return null!==(t=null===(r=e.user)||void 0===r?void 0:r.assistants)&&void 0!==t?t:[]}),t=O(e=>null!==e.user),r=wi((0,d.ok)(),2),n=r[0],a=r[1],i=n.get("payment_intent"),s=wi((0,M.useState)(null),2),l=s[0],o=s[1];return(0,je.jsxs)("div",{children:[(0,je.jsx)(Si,{level:2,style:{marginTop:0,marginBottom:4},children:"Биллинг"}),(0,je.jsx)(Ti,{type:"secondary",children:"Баланс ассистентов и история операций. Списание идёт за вопросы в боевых каналах."}),i&&(0,je.jsx)("div",{style:{marginTop:20},children:(0,je.jsx)(ui,{paymentIntentId:i,onResolved:()=>{n.delete("payment_intent"),a(n,{replace:!0})}})}),(0,je.jsx)("div",{style:{marginTop:24},children:(0,je.jsx)(li,{})}),(0,je.jsxs)("div",{style:{marginTop:32},children:[(0,je.jsx)(Si,{level:4,style:{marginBottom:16},children:"Балансы ассистентов"}),t?0===e.length?(0,je.jsx)(y.A,{children:(0,je.jsx)(G.A,{image:G.A.PRESENTED_IMAGE_SIMPLE,description:(0,je.jsx)(Ti,{type:"secondary",children:"У вас пока нет ассистентов. Создайте первого — он получит приветственный баланс."})})}):(0,je.jsx)("div",{style:{display:"grid",gap:16,gridTemplateColumns:"repeat(auto-fill, minmax(280px, 1fr))"},children:e.map(e=>{var t=La(e.balance),r=t<100;return(0,je.jsxs)(y.A,{styles:{body:{padding:20}},children:[(0,je.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",marginBottom:12},children:[(0,je.jsx)(Ti,{style:{fontSize:14,fontWeight:500},ellipsis:{tooltip:e.name},children:e.name}),r&&(0,je.jsx)(ve.A,{bordered:!1,color:"warning",style:{fontSize:11,margin:0},children:"Низкий"})]}),(0,je.jsxs)(Si,{level:3,style:{margin:0,marginBottom:16,fontWeight:500,color:r?"#B45309":"#1F2937"},children:[t.toLocaleString("ru-RU",{minimumFractionDigits:2,maximumFractionDigits:2})," ","₽"]}),(0,je.jsx)(m.Ay,{icon:(0,je.jsx)(Z.A,{}),block:!0,onClick:()=>o({id:e.id,name:e.name}),children:"Пополнить"})]},e.id)})}):(0,je.jsx)(y.A,{children:(0,je.jsx)(h.A,{active:!0,paragraph:{rows:2}})})]}),(0,je.jsxs)("div",{style:{marginTop:32},children:[(0,je.jsx)(Si,{level:4,style:{marginBottom:16},children:"История операций"}),(0,je.jsx)(y.A,{styles:{body:{padding:0}},children:(0,je.jsx)("div",{style:{padding:4},children:(0,je.jsx)(ji,{})})})]}),l&&(0,je.jsx)(ei,{open:!!l,assistantId:l.id,assistantName:l.name,onClose:()=>o(null)})]})}var Ii=r(50329),ki=r(93598);function Ci(e,t,r,n,a,i,s){try{var l=e[i](s),o=l.value}catch(e){return void r(e)}l.done?t(o):Promise.resolve(o).then(n,a)}function zi(e){var t,r,n=e.channel,i=(t=e.assistantId,r=(0,a.jE)(),(0,E.n)({mutationFn:e=>an(e),onSuccess:(e,n)=>{r.removeQueries({queryKey:sn.stats(n)}),r.invalidateQueries({queryKey:sn.list(t)})}}));return(0,je.jsx)(m.Ay,{danger:!0,type:"text",icon:(0,je.jsx)(ki.A,{}),onClick:()=>{qe.A.confirm({title:"Отключить канал?",content:(0,je.jsxs)("div",{children:[(0,je.jsxs)("p",{style:{marginTop:0},children:["Бот ",(0,je.jsxs)("b",{children:["@",n.bot_username]})," перестанет отвечать пользователям."]}),(0,je.jsx)("p",{style:{marginBottom:0,fontSize:13,color:"#6B7280"},children:"История диалогов сохраняется в БД, но скрывается из кабинета. Переподключить бот можно — это будет новый канал."})]}),okText:"Отключить",okButtonProps:{danger:!0},cancelText:"Отмена",onOk(){return(e=function*(){try{yield i.mutateAsync(n.id),$e.Ay.success("Канал отключён")}catch(e){throw $e.Ay.error(T(e,"Не удалось отключить канал")),e}},function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function s(e){Ci(i,n,a,s,l,"next",e)}function l(e){Ci(i,n,a,s,l,"throw",e)}s(void 0)})})();var e}})},loading:i.isPending,children:"Отключить"})}function qi(e,t,r,n,a,i,s){try{var l=e[i](s),o=l.value}catch(e){return void r(e)}l.done?t(o):Promise.resolve(o).then(n,a)}function Bi(e){var t,r,n=e.channel,i=(t=e.assistantId,r=(0,a.jE)(),(0,E.n)({mutationFn:e=>{var t=e.channelId,r=e.payload;return nn(t,r)},onSuccess:(e,n)=>{var a=n.channelId;r.invalidateQueries({queryKey:sn.list(t)}),r.invalidateQueries({queryKey:sn.stats(a)})}})),s="disabled"===n.status,l="active"===n.status,o=function(){var e,t=(e=function*(e){try{yield i.mutateAsync({channelId:n.id,payload:{status:e?"active":"paused"}})}catch(e){$e.Ay.error(T(e,"Не удалось переключить статус"))}},function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function s(e){qi(i,n,a,s,l,"next",e)}function l(e){qi(i,n,a,s,l,"throw",e)}s(void 0)})});return function(e){return t.apply(this,arguments)}}();return(0,je.jsx)(Pe.A,{checked:l,onChange:o,loading:i.isPending,disabled:s,checkedChildren:"Активен",unCheckedChildren:"Пауза"})}var Ei=p.A.Text,Pi=p.A.Title;function Oi(e){var t,r=e.channel,n=e.assistantId,a=on(r.id),i=a.data,s=a.isLoading;return(0,je.jsx)(y.A,{children:(0,je.jsxs)(Hr.A,{direction:"vertical",style:{width:"100%"},size:16,children:[(0,je.jsxs)("div",{children:[(0,je.jsxs)(Hr.A,{wrap:!0,size:8,children:[(0,je.jsxs)(Ei,{strong:!0,style:{fontSize:16},children:["@",r.bot_username]}),(0,je.jsx)(ve.A,{color:Zr[r.platform],children:Qr[r.platform]}),(0,je.jsx)(Mi,{status:r.status})]}),r.bot_display_name&&(0,je.jsx)("div",{style:{marginTop:4},children:(0,je.jsx)(Ei,{type:"secondary",style:{fontSize:13},children:r.bot_display_name})}),(0,je.jsx)("div",{style:{marginTop:4},children:(0,je.jsxs)(Ei,{type:"secondary",style:{fontSize:12},children:["Подключён ",new Date(r.created_at).toLocaleDateString("ru-RU")]})})]}),r.last_error&&(0,je.jsx)(g.A,{type:"warning",showIcon:!0,message:"Последняя ошибка",description:(0,je.jsxs)(je.Fragment,{children:[(0,je.jsx)("div",{children:r.last_error}),r.last_error_at&&(0,je.jsx)(Ei,{type:"secondary",style:{fontSize:12},children:new Date(r.last_error_at).toLocaleString("ru-RU")})]})}),(0,je.jsxs)("div",{children:[(0,je.jsx)(Pi,{level:5,style:{marginTop:0,marginBottom:8},children:"Активность"}),(0,je.jsxs)(Hr.A,{direction:"vertical",size:4,children:[(0,je.jsx)(Bi,{channel:r,assistantId:n}),(0,je.jsx)(Ei,{type:"secondary",style:{fontSize:12},children:"На паузе — бот не отвечает на сообщения, но соединение сохраняется. Можно включить обратно в один клик."})]})]}),(0,je.jsxs)("div",{children:[(0,je.jsx)(Pi,{level:5,style:{marginTop:0,marginBottom:8},children:"Статистика"}),(0,je.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(4, 1fr)",gap:12,padding:"14px 16px",background:"#F9FAFB",borderRadius:8},children:[(0,je.jsx)(Ri,{label:"Диалогов",value:null==i?void 0:i.dialogs_count,loading:s}),(0,je.jsx)(Ri,{label:"Сообщений всего",value:null==i?void 0:i.messages_total,loading:s}),(0,je.jsx)(Ri,{label:"Сообщений за 24ч",value:null==i?void 0:i.messages_last_24h,loading:s}),(0,je.jsx)(Ri,{label:"Списано за 24ч",value:i?(t=i.cost_last_24h_rub,"".concat(t.toFixed(2)," ₽")):void 0,loading:s})]})]}),(0,je.jsxs)("div",{children:[(0,je.jsx)(Pi,{level:5,style:{marginTop:0,marginBottom:8},children:"Опасная зона"}),(0,je.jsxs)(Hr.A,{direction:"vertical",size:8,children:[(0,je.jsx)(Ei,{type:"secondary",style:{fontSize:13},children:"Отключение канала удалит привязку бота. История диалогов остаётся в БД, но скрывается из UI. Переподключить можно — это будет новый канал с нулевой статистикой."}),(0,je.jsx)(zi,{channel:r,assistantId:n})]})]})]})})}function Mi(e){var t=e.status,r="active"===t?"success":"paused"===t?"warning":"error";return(0,je.jsx)(ve.A,{color:r,children:$r[t]})}function Ri(e){var t=e.label,r=e.value,n=e.loading;return(0,je.jsxs)("div",{children:[(0,je.jsx)(Ei,{type:"secondary",style:{fontSize:11},children:t}),(0,je.jsx)("div",{children:n?(0,je.jsx)(Ei,{type:"secondary",children:"…"}):(0,je.jsx)(Ei,{strong:!0,style:{fontSize:14},children:null!=r?r:"—"})})]})}function Di(e,t,r,n,a,i,s){try{var l=e[i](s),o=l.value}catch(e){return void r(e)}l.done?t(o):Promise.resolve(o).then(n,a)}function Li(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function s(e){Di(i,n,a,s,l,"next",e)}function l(e){Di(i,n,a,s,l,"throw",e)}s(void 0)})}}var Wi=e=>Li(function*(){return(yield _.get("/widgets/".concat(e,"/config"))).data})(),Ui=(e,t)=>Li(function*(){return(yield _.patch("/widgets/".concat(e,"/config"),t)).data})(),Xi=e=>Li(function*(){return(yield _.get("/widgets/".concat(e,"/snippet"))).data})(),Ki={all:["widget-config"],config:e=>[...Ki.all,"config",e],snippet:e=>[...Ki.all,"snippet",e]},Ni=r(11503),Hi=r(39356);function Gi(e,t,r,n,a,i,s){try{var l=e[i](s),o=l.value}catch(e){return void r(e)}l.done?t(o):Promise.resolve(o).then(n,a)}function Qi(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,s,l=[],o=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;o=!1}else for(;!(o=(n=i.call(r)).done)&&(l.push(n.value),l.length!==t);o=!0);}catch(e){c=!0,a=e}finally{try{if(!o&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(c)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Vi(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Vi(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Vi(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rUi(t,e),onSuccess:e=>{r.setQueryData(Ki.config(t),e)}}));(0,M.useEffect)(()=>{i.setFieldsValue(ts(n)),o(!1)},[n,i]);var d=function(){var e,t=(e=function*(e){var t=function(e,t){var r={};e.display_name!==t.display_name&&(r.display_name=e.display_name),e.avatar_url!==t.avatar_url&&(r.avatar_url=e.avatar_url),e.greeting!==t.greeting&&(r.greeting=e.greeting),e.brand_color!==t.brand_color&&(r.brand_color=e.brand_color),e.position!==t.position&&(r.position=e.position),e.theme!==t.theme&&(r.theme=e.theme),e.images_enabled!==t.images_enabled&&(r.images_enabled=e.images_enabled),e.proactive_enabled!==t.proactive_enabled&&(r.proactive_enabled=e.proactive_enabled),e.proactive_delay_sec!==t.proactive_delay_sec&&(r.proactive_delay_sec=e.proactive_delay_sec),e.proactive_show_avatar!==t.proactive_show_avatar&&(r.proactive_show_avatar=e.proactive_show_avatar),e.reset_bg_custom?r.reset_bg_custom=!0:e.bg_custom!==t.bg_custom&&(r.bg_custom=e.bg_custom),e.reset_bot_bg_custom?r.reset_bot_bg_custom=!0:e.bot_bg_custom!==t.bot_bg_custom&&(r.bot_bg_custom=e.bot_bg_custom);var n=e.allowed_origins_text.split("\n").map(e=>e.trim()).filter(Boolean);return function(e,t){if(e.length!==t.length)return!1;for(var r=0;r{o(!0)},onFinish:d,disabled:c.isPending,children:[(0,je.jsx)(Ze.A.Item,{name:"display_name",label:"Имя ассистента в шапке",rules:[{required:!0,message:"Введите имя"},{max:100,message:"Максимум 100 символов"}],extra:"Отображается в шапке окна чата и в проактивном bubble",children:(0,je.jsx)(Ye.A,{placeholder:"Например, Анна"})}),(0,je.jsx)(Ze.A.Item,{name:"brand_color",label:"Бренд-цвет",rules:[{required:!0}],extra:"Цвет кнопки виджета, bubble юзера и кнопки отправки. Контрастный текст подбирается автоматически.",getValueFromEvent:e=>null!=e&&e.toHexString?e.toHexString().toUpperCase():e,children:(0,je.jsx)(Ni.A,{showText:!0,format:"hex"})}),(0,je.jsx)(Ze.A.Item,{name:"position",label:"Позиция на странице",rules:[{required:!0}],children:(0,je.jsxs)(Ta.Ay.Group,{children:[(0,je.jsx)(Ta.Ay.Button,{value:"right",children:"Справа снизу"}),(0,je.jsx)(Ta.Ay.Button,{value:"left",children:"Слева снизу"})]})}),(0,je.jsx)(Ze.A.Item,{name:"theme",label:"Тема",rules:[{required:!0}],children:(0,je.jsxs)(Ta.Ay.Group,{children:[(0,je.jsx)(Ta.Ay.Button,{value:"auto",children:"Авто"}),(0,je.jsx)(Ta.Ay.Button,{value:"light",children:"Светлая"}),(0,je.jsx)(Ta.Ay.Button,{value:"dark",children:"Тёмная"})]})}),(0,je.jsx)(Ze.A.Item,{name:"allowed_origins_text",label:"Разрешённые домены",extra:"По одному домену на строку. Виджет отвечает только если страница, на которой он встроен, имеет один из этих origin'ов. Защита от использования вашего ключа третьими сторонами.",rules:[{required:!0,message:"Добавьте хотя бы один домен"},{validator:(e,t)=>{if(!t||!t.trim())return Promise.reject(new Error("Добавьте хотя бы один домен"));var r=t.split("\n").map(e=>e.trim()).filter(Boolean).find(e=>!function(e){try{var t=new URL(e);return"http:"===t.protocol||"https:"===t.protocol}catch(e){return!1}}(e));return r?Promise.reject(new Error("Не похоже на domain: «".concat(r,"»"))):Promise.resolve()}}],children:(0,je.jsx)(Ye.A.TextArea,{rows:4,placeholder:"https://example.com\nhttps://www.example.com"})}),(0,je.jsx)(Hi.A,{ghost:!0,size:"small",items:[{key:"appearance",label:"Дополнительный внешний вид",children:(0,je.jsxs)(je.Fragment,{children:[(0,je.jsx)(Ze.A.Item,{name:"avatar_url",label:"URL аватара",extra:"Картинка ассистента в шапке. Если не задано — используется фавиконка сайта клиента.",rules:[{type:"url",message:"Должен быть HTTP/HTTPS URL",validateTrigger:"onBlur"}],children:(0,je.jsx)(Ye.A,{placeholder:"https://..."})}),(0,je.jsx)(Ze.A.Item,{name:"greeting",label:"Приветствие",rules:[{max:500,message:"Максимум 500 символов"}],extra:"Показывается в пустом чате и в проактивном bubble.",children:(0,je.jsx)(Ye.A.TextArea,{rows:2,placeholder:"Здравствуйте! Чем могу помочь?"})}),(0,je.jsx)(es,{name:"bg_custom",resetName:"reset_bg_custom",label:"Фон окна чата (опционально)",hint:"Если не задан — берётся из темы (белый/тёмный)",form:i}),(0,je.jsx)(es,{name:"bot_bg_custom",resetName:"reset_bot_bg_custom",label:"Фон bubble ассистента (опционально)",hint:"Если не задан — светло-серый/тёмный из темы",form:i})]})},{key:"features",label:"Функции",children:(0,je.jsx)(Ze.A.Item,{name:"images_enabled",valuePropName:"checked",extra:"Если выключено — картинки скрываются в ответах ассистента (быстрее ответ, меньше байт).",children:(0,je.jsx)(Ji,{label:"Показывать картинки в ответах"})})},{key:"proactive",label:"Проактивный bubble",children:(0,je.jsxs)(je.Fragment,{children:[(0,je.jsx)(Ze.A.Item,{name:"proactive_enabled",valuePropName:"checked",extra:"Через N секунд над кнопкой виджета всплывёт приветствие. Привлекает внимание, повышает конверсию в открытие чата.",children:(0,je.jsx)(Ji,{label:"Показывать приветствие"})}),(0,je.jsx)(Ze.A.Item,{name:"proactive_delay_sec",label:"Задержка перед показом, секунд",rules:[{required:!0,type:"number",min:0,max:300}],children:(0,je.jsx)(Ga.A,{min:0,max:300,step:1,style:{width:120}})}),(0,je.jsx)(Ze.A.Item,{name:"proactive_show_avatar",valuePropName:"checked",extra:"С аватаром — компактнее, без — больше места для приветствия.",children:(0,je.jsx)(Ji,{label:"Показывать аватар в bubble"})})]})}]}),c.error&&(0,je.jsx)(g.A,{type:"error",showIcon:!0,message:T(c.error,"Ошибка сохранения"),style:{marginTop:16}}),(0,je.jsxs)(Hr.A,{style:{marginTop:24},children:[(0,je.jsx)(m.Ay,{type:"primary",htmlType:"submit",loading:c.isPending,disabled:!l,children:"Сохранить"}),(0,je.jsx)(m.Ay,{onClick:()=>{i.setFieldsValue(ts(n)),o(!1)},disabled:!l||c.isPending,children:"Отменить изменения"})]}),!l&&!c.isPending&&(0,je.jsx)($i,{type:"secondary",style:{fontSize:12,marginTop:8,marginBottom:0},children:"Изменения применяются сразу после сохранения. Виджет обновляется при следующей загрузке страницы."})]})}function Ji(e){var t=e.label,r=e.value,n=e.onChange;return(0,je.jsxs)(Hr.A,{size:12,children:[(0,je.jsx)(Pe.A,{checked:r,onChange:n}),(0,je.jsx)(Zi,{children:t})]})}function es(e){var t=e.name,r=e.resetName,n=e.label,a=e.hint,i=e.form,s=Ze.A.useWatch(t,i),l=null!=s&&""!==s;return(0,je.jsxs)(Ze.A.Item,{label:n,extra:a,style:{marginBottom:12},children:[(0,je.jsxs)(Hr.A,{children:[(0,je.jsx)(Ni.A,{value:null!=s?s:"#FFFFFF",onChange:e=>{var n,a="string"==typeof e?e.toUpperCase():null==e||null===(n=e.toHexString)||void 0===n||null===(n=n.call(e))||void 0===n?void 0:n.toUpperCase();i.setFieldValue(t,a),i.setFieldValue(r,!1)},showText:!0,format:"hex",disabledAlpha:!0}),l&&(0,je.jsx)(m.Ay,{size:"small",type:"link",onClick:()=>{i.setFieldValue(t,null),i.setFieldValue(r,!0),i.validateFields([t])},children:"Сбросить"}),!l&&(0,je.jsx)(Zi,{type:"secondary",style:{fontSize:12},children:"не задан"})]}),(0,je.jsx)(Ze.A.Item,{name:r,hidden:!0,initialValue:!1,children:(0,je.jsx)(Ye.A,{type:"hidden"})})]})}function ts(e){return{display_name:e.display_name,avatar_url:e.avatar_url,greeting:e.greeting,brand_color:e.brand_color,bg_custom:e.bg_custom,reset_bg_custom:!1,bot_bg_custom:e.bot_bg_custom,reset_bot_bg_custom:!1,position:e.position,theme:e.theme,images_enabled:e.images_enabled,proactive_enabled:e.proactive_enabled,proactive_delay_sec:e.proactive_delay_sec,proactive_show_avatar:e.proactive_show_avatar,allowed_origins_text:e.allowed_origins.join("\n")}}var rs=r(26067),ns=r(57046);function as(e,t,r,n,a,i,s){try{var l=e[i](s),o=l.value}catch(e){return void r(e)}l.done?t(o):Promise.resolve(o).then(n,a)}function is(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rXi(n),enabled:!!n,staleTime:1/0})),i=a.data,s=a.isLoading,l=a.error,o=(t=(0,M.useState)(!1),r=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,s,l=[],o=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;o=!1}else for(;!(o=(n=i.call(r)).done)&&(l.push(n.value),l.length!==t);o=!0);}catch(e){c=!0,a=e}finally{try{if(!o&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(c)throw a}}return l}}(t,r)||function(e,t){if(e){if("string"==typeof e)return is(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?is(e,t):void 0}}(t,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),c=o[0],d=o[1];if(s)return(0,je.jsx)(h.A,{active:!0,paragraph:{rows:2}});if(l)return(0,je.jsx)(g.A,{type:"error",showIcon:!0,message:"Не удалось загрузить сниппет",description:T(l)});if(!i)return null;var u=function(){var e,t=(e=function*(){try{yield navigator.clipboard.writeText(i.snippet),d(!0),$e.Ay.success("Сниппет скопирован"),setTimeout(()=>d(!1),2e3)}catch(e){$e.Ay.error("Не удалось скопировать. Выделите и скопируйте вручную.")}},function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function s(e){as(i,n,a,s,l,"next",e)}function l(e){as(i,n,a,s,l,"throw",e)}s(void 0)})});return function(){return t.apply(this,arguments)}}();return(0,je.jsxs)("div",{children:[(0,je.jsxs)(ss,{type:"secondary",style:{fontSize:13,marginBottom:8},children:["Вставьте этот код в любое место HTML-страницы вашего сайта — лучше перед закрывающим ",(0,je.jsx)("code",{children:""}),". Виджет появится автоматически."]}),(0,je.jsxs)("div",{style:{position:"relative",background:"#F6F6F7",border:"1px solid #EFEFF1",borderRadius:8,padding:"14px 16px",paddingRight:56},children:[(0,je.jsx)("pre",{style:{margin:0,fontFamily:'ui-monospace, "SF Mono", Menlo, Consolas, monospace',fontSize:12,lineHeight:1.6,whiteSpace:"pre-wrap",wordBreak:"break-all",color:"#1F1F1F"},children:i.snippet}),(0,je.jsx)(m.Ay,{type:"text",icon:c?(0,je.jsx)(rs.A,{}):(0,je.jsx)(ns.A,{}),onClick:u,style:{position:"absolute",top:8,right:8},"aria-label":c?"Скопировано":"Копировать сниппет"})]}),(0,je.jsxs)(ss,{type:"secondary",style:{fontSize:12,marginTop:8,marginBottom:0},children:["Ключ: ",(0,je.jsx)(ls,{code:!0,children:i.publishable_key}),"."," ","Этот ключ привязан к разрешённым доменам — даже если кто-то скопирует сниппет, виджет не запустится на чужом сайте."]})]})}var cs=p.A.Title,ds=p.A.Text;function us(e){var t,r=e.channel,n=e.assistantId,a=(t=r.id,(0,B.I)({queryKey:Ki.config(null!=t?t:""),queryFn:()=>Wi(t),enabled:!!t,staleTime:1e4})),i=a.data,s=a.isLoading,l=a.error;return(0,je.jsxs)(Hr.A,{direction:"vertical",style:{width:"100%"},size:16,children:[(0,je.jsx)(y.A,{children:(0,je.jsxs)(Hr.A,{wrap:!0,size:8,children:[(0,je.jsx)(ve.A,{color:Zr[r.platform],children:Qr[r.platform]}),(0,je.jsx)(ps,{status:r.status}),(0,je.jsxs)(ds,{type:"secondary",style:{fontSize:12},children:["Создан ",new Date(r.created_at).toLocaleDateString("ru-RU")]})]})}),(0,je.jsxs)(y.A,{children:[(0,je.jsx)(cs,{level:5,style:{marginTop:0,marginBottom:12},children:"Код для вставки на сайт"}),(0,je.jsx)(os,{channelId:r.id})]}),(0,je.jsxs)(y.A,{children:[(0,je.jsx)(cs,{level:5,style:{marginTop:0,marginBottom:12},children:"Настройки виджета"}),s&&(0,je.jsx)(h.A,{active:!0,paragraph:{rows:6}}),l&&(0,je.jsx)(g.A,{type:"error",showIcon:!0,message:"Не удалось загрузить настройки",description:T(l)}),i&&(0,je.jsx)(Yi,{config:i})]}),(0,je.jsxs)(y.A,{children:[(0,je.jsx)(cs,{level:5,style:{marginTop:0,marginBottom:8},children:"Опасная зона"}),(0,je.jsxs)(Hr.A,{direction:"vertical",size:8,children:[(0,je.jsx)(ds,{type:"secondary",style:{fontSize:13},children:"Отключение виджета сделает ключ невалидным — виджет перестанет работать на всех сайтах где вставлен сниппет. История переписки с посетителями остаётся в БД, но скрывается из UI."}),(0,je.jsx)(zi,{channel:r,assistantId:n})]})]})]})}function ps(e){var t=e.status,r="active"===t?"success":"paused"===t?"warning":"error";return(0,je.jsx)(ve.A,{color:r,children:$r[t]})}var ys=p.A.Title,hs=p.A.Text;function gs(){var e,t=(0,u.Zp)(),r=(0,u.g)(),n=r.id,a=r.channelId,i=function(e){var t,r=ln((0,u.g)().id);if(!e)return{data:void 0,isLoading:!1,error:null};if(r.isLoading)return{data:void 0,isLoading:!0,error:null};if(r.error)return{data:void 0,isLoading:!1,error:r.error};var n=null===(t=r.data)||void 0===t?void 0:t.find(t=>t.id===e);return n?{data:n,isLoading:!1,error:null}:{data:void 0,isLoading:!1,error:new Error("Канал не найден")}}(a),s=i.data,l=i.isLoading,o=i.error;if(!n||!a)return(0,je.jsx)(g.A,{type:"error",message:"Не указан ID в URL"});var c=()=>{t("/assistants/".concat(n,"?tab=channels"))};return l?(0,je.jsx)(y.A,{children:(0,je.jsx)(h.A,{active:!0,paragraph:{rows:6}})}):o?(0,je.jsxs)("div",{style:{maxWidth:720},children:[(0,je.jsx)(m.Ay,{type:"link",icon:(0,je.jsx)(Ii.A,{}),onClick:c,style:{paddingLeft:0,marginBottom:8},children:"К каналам"}),(0,je.jsx)(g.A,{type:"error",showIcon:!0,message:"Канал не найден",description:T(o)})]}):s?(0,je.jsxs)("div",{children:[(0,je.jsx)(m.Ay,{type:"link",icon:(0,je.jsx)(Ii.A,{}),onClick:c,style:{paddingLeft:0,marginBottom:8},children:"К каналам"}),(0,je.jsx)(ys,{level:3,style:{marginTop:0,marginBottom:4},children:null!==(e=s.bot_display_name)&&void 0!==e?e:s.bot_username}),(0,je.jsxs)(hs,{type:"secondary",style:{fontSize:12},children:["ID: ",s.id]}),(0,je.jsx)("div",{style:{marginTop:24},children:"widget"===s.platform?(0,je.jsx)(us,{channel:s,assistantId:n}):(0,je.jsx)(Oi,{channel:s,assistantId:n})})]}):null}function ms(e,t,r,n,a,i,s){try{var l=e[i](s),o=l.value}catch(e){return void r(e)}l.done?t(o):Promise.resolve(o).then(n,a)}function xs(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function s(e){ms(i,n,a,s,l,"next",e)}function l(e){ms(i,n,a,s,l,"throw",e)}s(void 0)})}}function fs(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,s,l=[],o=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;o=!1}else for(;!(o=(n=i.call(r)).done)&&(l.push(n.value),l.length!==t);o=!0);}catch(e){c=!0,a=e}finally{try{if(!o&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(c)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return vs(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?vs(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function vs(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{e("/assistants/".concat(t,"?tab=channels"))},style:{paddingLeft:0,marginBottom:8},children:"К каналам"}),(0,je.jsx)(js,{level:3,style:{marginTop:0,marginBottom:4},children:"Подключить новый канал"}),!i&&(0,je.jsx)(_s,{onPick:e=>a({type:e})}),"telegram"===i&&(0,je.jsx)(Ss,{platform:"telegram",assistantId:t,onBack:()=>a({})}),"max"===i&&(0,je.jsx)(Ss,{platform:"max",assistantId:t,onBack:()=>a({})}),"widget"===i&&(0,je.jsx)(Fs,{assistantId:t,onBack:()=>a({})})]}):(0,je.jsx)(g.A,{type:"error",message:"Не указан assistant_id в URL"})}function _s(e){var t=e.onPick;return(0,je.jsxs)(Hr.A,{direction:"vertical",style:{width:"100%"},size:12,children:[(0,je.jsx)(As,{type:"secondary",style:{marginBottom:8},children:"Выберите, где ваш ассистент будет отвечать пользователям."}),["widget","telegram","max"].map(e=>(0,je.jsx)(y.A,{hoverable:!0,onClick:()=>t(e),styles:{body:{padding:16}},children:(0,je.jsxs)(Hr.A,{direction:"vertical",size:2,children:[(0,je.jsx)(bs,{strong:!0,children:Qr[e]}),(0,je.jsx)(bs,{type:"secondary",style:{fontSize:13},children:Vr[e]})]})},e))]})}function Ss(e){var t=e.platform,r=e.assistantId,n=e.onBack,a=(0,u.Zp)(),i=fs(Ze.A.useForm(),1)[0],s=fs((0,M.useState)(null),2),l=s[0],o=s[1],c=cn(r),d=function(){var e=xs(function*(e){o(null);try{var n=yield c.mutateAsync({assistant_id:r,platform:t,bot_token:e.bot_token.trim()});$e.Ay.success("Канал подключён"),a("/assistants/".concat(r,"/channels/").concat(n.id))}catch(e){o(T(e,"Не удалось подключить бота"))}});return function(t){return e.apply(this,arguments)}}();return(0,je.jsxs)(y.A,{children:[(0,je.jsxs)(Hr.A,{direction:"vertical",style:{width:"100%"},size:4,children:[(0,je.jsx)(bs,{strong:!0,style:{fontSize:15},children:Qr[t]}),(0,je.jsx)(As,{type:"secondary",style:{marginBottom:16},children:Vr[t]})]}),(0,je.jsxs)(Ze.A,{form:i,layout:"vertical",onFinish:d,disabled:c.isPending,children:[(0,je.jsx)(Ze.A.Item,{name:"bot_token",label:"Токен бота",rules:[{required:!0,message:"Введите токен бота"},{min:10,message:"Токен слишком короткий"},{max:512,message:"Токен слишком длинный"}],extra:(0,je.jsx)(Ts,{platform:t}),children:(0,je.jsx)(Ye.A.Password,{placeholder:"telegram"===t?"123456:ABCdef...":"токен из dev.max.ru",autoComplete:"off",visibilityToggle:!0})}),l&&(0,je.jsx)(g.A,{type:"error",showIcon:!0,message:l,style:{marginBottom:16}}),(0,je.jsxs)(Hr.A,{children:[(0,je.jsx)(m.Ay,{type:"primary",htmlType:"submit",loading:c.isPending,children:"Подключить"}),(0,je.jsx)(m.Ay,{onClick:n,disabled:c.isPending,children:"Назад"})]})]})]})}function Ts(e){return"telegram"===e.platform?(0,je.jsxs)(bs,{type:"secondary",style:{fontSize:12},children:["Создайте бота у"," ",(0,je.jsx)("a",{href:"https://t.me/BotFather",target:"_blank",rel:"noreferrer noopener",children:"@BotFather"})," ","и скопируйте выданный токен."]}):(0,je.jsxs)(bs,{type:"secondary",style:{fontSize:12},children:["Получите токен в кабинете разработчика на"," ",(0,je.jsx)("a",{href:"https://dev.max.ru",target:"_blank",rel:"noreferrer noopener",children:"dev.max.ru"}),"."]})}function Fs(e){var t=e.assistantId,r=e.onBack,n=(0,u.Zp)(),a=fs(Ze.A.useForm(),1)[0],i=fs((0,M.useState)(null),2),s=i[0],l=i[1],o=cn(t),c=function(){var e=xs(function*(e){l(null);var r=e.allowed_origins_text.split("\n").map(e=>e.trim()).filter(Boolean);try{var a=yield o.mutateAsync({assistant_id:t,platform:"widget",display_name:e.display_name.trim(),allowed_origins:r});$e.Ay.success("Виджет создан"),n("/assistants/".concat(t,"/channels/").concat(a.id))}catch(e){l(T(e,"Не удалось создать виджет"))}});return function(t){return e.apply(this,arguments)}}();return(0,je.jsxs)(y.A,{children:[(0,je.jsxs)(Hr.A,{direction:"vertical",style:{width:"100%"},size:4,children:[(0,je.jsx)(bs,{strong:!0,style:{fontSize:15},children:"Виджет на сайт"}),(0,je.jsxs)(As,{type:"secondary",style:{marginBottom:16},children:["Чат-окно встраивается в HTML-страницу вашего сайта через один ",(0,je.jsx)("code",{children:"