1import{a2 as t,a3 as e,a4 as a,a5 as o,a6 as n,a7 as r,a8 as s,a9 as i,aa as c,ab as l}from"./api-CPiT7-aR.js";import{e as d}from"./companyHelpers-BHkC0xo-.js";const u=5242880,p=".pdf,.doc,.docx,.html,.htm,.mht,.mhtml,.mp4,.webm,.mov,.mkv,.steppo",m={pdf:"PDF",doc:"Word",docx:"Word",html:"HTML",htm:"HTML",mht:"MHTML",mhtml:"MHTML",mp4:"MP4",webm:"WebM",mov:"MOV",mkv:"MKV"};function h(t){const e=String(t||""),a=e.lastIndexOf(".");return a<=0?{base:e,ext:""}:{base:e.slice(0,a),ext:e.slice(a+1).toLowerCase()}}function f(t){const e=Number(t)||0;return e<1024?`${e} Ð`:e<1048576?`${Math.round(e/1024)} ÐÐ`:`${(e/1048576).toFixed(e>=10485760?0:1)} ÐÐ`}const w=new Set(["mp4","webm","mov","mkv"]),g=new Set(["pdf","doc","docx","html","htm","mht","mhtml"]),y=new Set([...w,...g]);function k(t){var e;const a=(null==(e=String((null==t?void 0:t.name)||"").split(".").pop())?void 0:e.toLowerCase())||"",o=String((null==t?void 0:t.type)||"").toLowerCase().split(";")[0].trim();return"steppo"===a?{kind:"steppo",ext:a}:"zip"===a||"application/zip"===o||"application/x-zip-compressed"===o?{error:"ZIP-аÑÑ
Ð¸Ð²Ñ Ð½Ðµ пÑинимаÑÑÑÑ. ÐагÑÑзиÑе PDF, Word или HTML."}:y.has(a)?w.has(a)?t.size>524288e3?{error:"Ðидео должно бÑÑÑ Ð¼ÐµÐ½ÑÑе 500 ÐÐ"}:{kind:"video",ext:a}:t.size>52428800?{error:"ÐокÑÐ¼ÐµÐ½Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ бÑÑÑ Ð¼ÐµÐ½ÑÑе 50 ÐÐ"}:{kind:"document",ext:a}:{error:"Ðожно PDF, Word (.doc/.docx), HTML и видео: MP4, WebM, MOV, MKV"}}function S(t,e=!1){if(null==t||"1"===t||"collect"===t||"agents"===t)return;const a=String(t);return{createdDocumentFolderId:a,createdDocumentFolderScope:e||"0"===a?"personal":"team"}}async function v({file:l,targetType:d,folderId:p,signal:m,onProgress:h,onStage:f}){const w=await t({fileName:l.name,contentType:l.type,fileSize:l.size,targetType:d,folderId:p});if(null==m?void 0:m.aborted)throw await e(w.id).catch(()=>{}),Object.assign(new Error("ÐбÑабоÑка оÑменена"),{name:"AbortError"});if(null==h||h({status:"uploading",progress:1,message:"ÐагÑÑжаем Ñайлâ¦",importId:w.id}),null==f||f("uploading","ÐагÑÑжаем Ñайлâ¦"),await async function(t,e,a,o){const n=await r(t),l={uploadId:n.uploadId,key:n.key,parts:[],nextPartNumber:1};try{const n=Math.max(1,e.size);let r=0;for(let i=0;i<e.size;i+=u){const c=e.slice(i,i+u,e.type),d=l.nextPartNumber;l.nextPartNumber+=1;const{uploadUrl:p}=await s(t,{uploadId:l.uploadId,key:l.key,partNumber:d}),m=await fetch(p,{method:"PUT",body:c,signal:o});if(!m.ok)throw new Error("Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ ÑаÑÑÑ Ñайла");const h=m.headers.get("etag");l.parts.push({partNumber:d,etag:h}),r+=c.size,null==a||a(Math.max(1,Math.round(r/n*10)))}await i(t,l),null==a||a(10)}catch(d){throw await c(t,l).catch(()=>{}),d}}(w.id,l,t=>{null==h||h({status:"uploading",progress:t,message:"ÐагÑÑжаем Ñайлâ¦",importId:w.id})},m),null==m?void 0:m.aborted)throw Object.assign(new Error("ÐбÑабоÑка оÑменена"),{name:"AbortError"});null==f||f("processing","ÐбÑабоÑкаâ¦"),await a(w.id);let g=await o(w.id,{signal:m,onEvent:t=>null==h?void 0:h({...t,importId:w.id})});if(!g||!["completed","failed","pick_images","cancelled"].includes(g.status)){const t=await n(w.id);g={...t,images:t.images||t.candidateImages||[],message:t.message||t.errorMessage}}if("completed"===g.status&&!g.uuid){const t=await n(w.id);g={...g,...t}}return{importId:w.id,...g||{}}}const I="steppo:handoff",P="steppo:returnTo";function b(t){return"string"==typeof t&&t.startsWith("/")&&!t.startsWith("//")&&!t.includes("://")}function T(t){if(b(t))try{sessionStorage.setItem(P,t)}catch{}}function x(t){if(t)try{sessionStorage.setItem(I,t)}catch{}}function $(t){let e=null;try{e=sessionStorage.getItem(t),e&&sessionStorage.removeItem(t)}catch{return null}return e}function E(){$(I);let t=null;try{t=sessionStorage.getItem(P)}catch{return}t&&t.startsWith("/handoff/")&&$(P)}const j="https://steppo.ru/api/auth",M="https://steppo.ru/api/invites";function C(t,e){const a=new Error((null==t?void 0:t.error)||e);return a.code=(null==t?void 0:t.code)||null,a.invitedEmail=(null==t?void 0:t.invitedEmail)||null,a.currentEmail=(null==t?void 0:t.currentEmail)||null,a}async function O(t){const e=await fetch(`${M}/link/${encodeURIComponent(t)}`),a=await e.json().catch(()=>({}));if(!e.ok)throw C(a,"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð¿ÑиглаÑение");return a}
1async function z(t,e){const a=e||localStorage.getItem("token"),o=await fetch(`${M}/link/${encodeURIComponent(t)}/accept`,{method:"POST",headers:a?{Authorization:`Bearer ${a}`}:{}}),n=await o.json().catch(()=>({}));if(!o.ok)throw C(n,"Ðе ÑдалоÑÑ Ð¿ÑинÑÑÑ Ð¿ÑиглаÑение");return n}function N(t){const e=t.split(".")[1];if(!e)throw new Error("ÐевеÑнÑй ÑоÑÐ¼Ð°Ñ Ñокена");let a=e.replace(/-/g,"+").replace(/_/g,"/");const o=a.length%4;o&&(a+="=".repeat(4-o));const n=decodeURIComponent(atob(a).split("").map(t=>`%${`00${t.charCodeAt(0).toString(16)}`.slice(-2)}`).join(""));return JSON.parse(n)}async function L({data:t,email:e,updateToken:a,navigate:o,onSuccess:n,cidParam:r,returnTo:s,desktop:i,inviteToken:c,onInviteError:l}){var u,p,m;const h=t.token,f=t.role||(null==(u=t.user)?void 0:u.role);if(!h||!f)throw new Error("Ðе полÑÑÐµÐ½Ñ Ð½ÐµÐ¾Ð±Ñ
одимÑе даннÑе авÑоÑизаÑии");if(localStorage.setItem("token",h),localStorage.setItem("role",f),localStorage.setItem("userEmail",e||(null==(p=t.user)?void 0:p.email)||""),a(h),window.postMessage({action:"AUTH_SUCCESS",token:h,user:t.user||{email:e,role:f}},"*"),i)return void(await async function(t,{state:e,challenge:a,port:o}){const n=await fetch(`${j}/desktop/authorize`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`},body:JSON.stringify({challenge:a})}),r=await n.json().catch(()=>({}));if(!n.ok||!r.code)throw new Error(r.error||"Ðе ÑдалоÑÑ Ð¿ÐµÑедаÑÑ Ð²Ñ
од в пÑиложение Steppo");const s=new URL(`http://127.0.0.1:${o}
1/callback`);s.searchParams.set("code",r.code),s.searchParams.set("state",e),window.location.href=s.toString()}(h,i));if(c)try{const t=await z(c,h);null!=t.companyId&&localStorage.setItem("selectedCompanyId",String(t.companyId));const e="string"!=typeof t.redirectPath||!t.redirectPath.startsWith("/")||t.redirectPath.startsWith("//")||t.redirectPath.includes("://")?`/mainscreen?cid=${encodeURIComponent(t.companyId)}`:t.redirectPath;return void(o?o(e,{replace:!0}):window.location.href=e)}catch(k){null==l||l(k.message||"Ðе ÑдалоÑÑ Ð¿ÑинÑÑÑ Ð¿ÑиглаÑение")}const w=Boolean(null==(m=N(h))?void 0:m.isOnBoarded),g=b(s)?s:null;if(!w&&o)return T(g),void o("/onboarding",{replace:!0});if(n)return void n();if(g)return void(o?o(g,{replace:!0}):window.location.href=g);const y=null!==r?`/mainscreen?cid=${encodeURIComponent(r)}`:"/mainscreen";await d(),o?o(y,{replace:!0}):window.location.href=y}async function U(){const t=await fetch(`${j}/yandex/status`,{credentials:"include"});return t.ok?t.json():{configured:!1}}async function W(){let t=localStorage.getItem("token");const e=async t=>{const a=await fetch(`${j}/onboarding/avatars`,{credentials:"include",headers:t?{Authorization:`Bearer ${t}`}:{}});if(!a.ok){if(403===a.status&&t){const t=await l();if(t)return e(t)}throw new Error("Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð²Ð°ÑианÑÑ Ð°Ð²Ð°ÑаÑа")}return a.json()};return e(t)}async function A(){const t=await fetch(`${j}/social-proof`,{credentials:"include"});return t.ok?t.json():{usersRounded:0}}const H="steppo-yandex-popup",R="steppo:yandex-auth";async function F({cid:t,returnTo:e,desktop:a,inviteToken:o}={}){const n=new URL(`${j}/yandex/start-url`,window.location.origin);t&&n.searchParams.set("cid",t),e&&n.searchParams.set("returnTo",e),o&&n.searchParams.set("invite",o),a&&(n.searchParams.set("desktopState",a.state),n.searchParams.set("desktopChallenge",a.challenge),n.searchParams.set("desktopPort",a.port));const r=await fetch(n.toString(),{credentials:"include"}),s=await r.json().catch(()=>({}));if(!r.ok)throw new Error(s.error||"Ðе ÑдалоÑÑ Ð½Ð°ÑаÑÑ Ð²Ñ
од ÑеÑез ЯндекÑ");if(!s.url)throw new Error("Ðе ÑдалоÑÑ Ð¿Ð¾Ð»ÑÑиÑÑ ÑÑÑÐ»ÐºÑ Ð´Ð»Ñ Ð²Ñ
ода ÑеÑез ЯндекÑ");return s.url}async function B(t={}){const e=await F(t);window.location.assign(e)}async function J(t,e,a){const o=await fetch(`${j}/yandex/complete`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({code:t,state:e,analytics:a})}),n=await o.json().catch(()=>({}));if(!o.ok)throw new Error(n.error||"yandex_server");return n}async function D(t,e){const a=e||localStorage.getItem("token");if(!a)return{attached:!1};const o=await fetch(`${j}/analytics/attach`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},credentials:"include",body:JSON.stringify({analytics:t})});return o.ok?o.json():{attached:!1}}async function _(t){const e=await l(t);if(!e)throw new Error("Ðе ÑдалоÑÑ Ð¿Ð¾Ð»ÑÑиÑÑ Ñокен авÑоÑизаÑии");const a=N(e);return{token:e,role:a.role,user:{email:a.email,role:a.role,name:a.username||a.name}}}async function V(t){const e=await fetch(`${j}/otp/send`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({email:t})}),a=await e.json();if(!e.ok){const t=new Error(a.error||"Ðе ÑдалоÑÑ Ð¾ÑпÑавиÑÑ ÐºÐ¾Ð´");throw t.retryAfter=a.retryAfter,t}return a}async function K(t,e,a,o){const n=await fetch(`${j}/otp/verify`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({email:t,code:e,analytics:a,inviteToken:o})}),r=await n.json();if(!n.ok)throw new Error(r.error||"ÐевеÑнÑй код");return r}export{m as F,I as H,p as I,P as R,R as Y,L as a,O as b,J as c,_ as d,U as e,E as f,A as g,D as h,V as i,b as j,z as k,T as l,k as m,H as n,F as o,h as p,f as q,x as r,B as s,$ as t,v as u,K as v,W as w,S as x};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.