PageSourceSearch

https://saleads.ai/_next/static/chunks/9840-efef94c047501005.js?dpl=5431bd293a3b59917047be2cd4054bce0de014a5

js saleads.ai collected 2026-10-05 12:49:13 UTC 13,834 bytes, 1 lines download raw bytes

1!function(){try{var e="u">typeof window?window:"u">typeof global?global:"u">typeof globalThis?globalThis:"u">typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="55ad2807-3072-4af1-a01e-f10aedb02e9e",e._sentryDebugIdIdentifier="sentry-dbid-55ad2807-3072-4af1-a01e-f10aedb02e9e")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9840],{12521:(e,t,r)=>{r.d(t,{GQ:()=>u,Te:()=>s,lf:()=>i,mf:()=>l,vV:()=>c});var n=r(88968);let o={network:{title:"Connection problem",message:"We could not connect to the server. Please check your internet connection and try again.",showSupport:!1},authentication:{title:"Session expired",message:"Your session has expired. Please log in again to continue.",showSupport:!1},authorization:{title:"Access denied",message:"You don't have permission to perform this action.",showSupport:!1},not_found:{title:"Not found",message:"The resource you are looking for does not exist or is no longer available.",showSupport:!1},validation:{title:"Invalid data",message:"The information provided is not valid. Please review and try again.",showSupport:!1},conflict:{title:"Conflict",message:"This action could not be completed due to a conflict. The resource may have been modified.",showSupport:!1},rate_limit:{title:"Too many requests",message:"You have made too many requests. Please wait a moment and try again.",showSupport:!1},server:{title:"Server error",message:"We are experiencing technical difficulties. Our team has been notified.",showSupport:!0},timeout:{title:"Request timeout",message:"The request took too long to complete. Please try again.",showSupport:!1},unknown:{title:"Unexpected error",message:"An unexpected error occurred. Please try again.",showSupport:!0}},s="[email protected]";function a(e,t){let r=Date.now().toString(36).toUpperCase(),n=e.substring(0,3).toUpperCase(),o=t?t.toString():"XXX";return`SA-${n}-${o}-${r}`}function i(e,t){if(e instanceof n.ApiError){var r;let t=401===(r=e.status)?"authentication":403===r?"authorization":404===r?"not_found":409===r?"conflict":422===r||400===r?"validation":429===r?"rate_limit":r>
1=500?"server":"unknown",n=o[t],s=a(t,e.status);return{title:n.title,message:n.message,code:s,showSupport:n.showSupport,originalError:e}}if(e instanceof Error&&"Request timeout"===e.message){let t=o.timeout;return{title:t.title,message:t.message,code:a("timeout"),showSupport:t.showSupport,originalError:e}}if(e instanceof TypeError&&e.message.includes("fetch")||e instanceof Error&&["network","connection","offline","dns","socket"].some(t=>e.message.toLowerCase().includes(t))){let t=o.network;return{title:t.title,message:t.message,code:a("network"),showSupport:t.showSupport,originalError:e}}let s=o.unknown;return{title:s.title,message:t?`${s.message} (${t})`:s.message,code:a("unknown"),showSupport:s.showSupport,originalError:e}}function u(e){return e instanceof n.ApiError&&e.status>=500}function c(e,t){}function l(e,t=2048){if(null==e)return;if("string"==typeof e)return e.length>t?e.substring(0,t)+"...[truncated]":e;if("object"!=typeof e)return e;if(Array.isArray(e)){let t=JSON.stringify(e);return t.length>8192?{_truncated:!0,_size:t.length,_count:e.length}:e}let r=new Set(["password","token","access_token","refresh_token","upload_token","secret","api_key","authorization","cookie"]),n={};for(let[o,s]of Object.entries(e))r.has(o.toLowerCase())?n[o]="[FILTERED]":"string"==typeof s&&s.length>t?n[o]=s.substring(0,t)+"...[truncated]":n[o]=s;let o=JSON.stringify(n);return o.length>8192?{_truncated:!0,_size:o.length,_keys:Object.keys(n)}:n}},88968:(e,t,r)=>{r.d(t,{ApiError:()=>R,Pe:()=>P,Ue:()=>B});var n=r(81641),o=r(48979),s=r(23550),a=r(77351);let i="sessionStartedAt";function u(e){return"number"==typeof e&&Number.isSafeInteger(e)&&e>0}function c(e){let t=e[i];if(u(t))return t;let r=e.iat;if(!u(r))return;let n=1e3*r;return u(n)?n:void 0}function l(e,t=Date.now()){return{...e,[i]:t}}var p=r(55036);async function d(e){if(!e.refreshToken)return{...e,error:"RefreshAccessTokenError"};try{var t;let r,n=`${p.env.KEYCLOAK_ISSUER}/protocol/openid-connect/token`,o=await fetch(n,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams((t=e.refreshToken,r={client_id:p.env.KEYCLOAK_CLIENT_ID,grant_type:"refresh_token",refresh_token:t},p.env.KEYCLOAK_CLIENT_SECRET&&(r.client_secret=p.env.KEYCLOAK_CLIENT_SECRET),r))}),s=await o.json();if(!o.ok){if(400===o.status||401===o.status)return{...e,error:"RefreshTokenExpired"};throw s}return{...e,accessToken:s.access_token,expiresAt:Date.now()+1e3*s.expires_in,refreshToken:s.refresh_token??e.refreshToken,error:void 0}}catch{return{...e,error:"RefreshAccessTokenError"}}}let h=(p.env.NEXTAUTH_URL??p.env.AUTH_URL??"").startsWith("https://"),f=h?"__Host-":"";function m(e){return async({token:t,account:r,profile:n,user:o})=>{let s;if(r&&n)return l({...t,accessToken:r.access_token,refreshToken:r.refresh_token,idToken:r.id_token,expiresAt:r.expires_at?1e3*r.expires_at:Date.now()+36e5,sub:n.sub,name:n.name||n.preferred_username,email:n.email,picture:n.picture,roles:n.realm_access?.roles||[]});if(r?.provider==="magic-link-activate"&&o)return l({...t,accessToken:o.accessToken,refreshToken:o.refreshToken,idToken:o.idToken,expiresAt:Date.now()+1e3*o.expiresIn,sub:o.id,name:o.name,email:o.email,roles:[]});let a=void 0===(s=c(t))||t[i]===s?t:l(t,s);if(function(e,t){if(!u(t))return!1;let r=c(e);return void 0===r||r<t}(a,e))return null;if("RefreshTokenExpired"===a.error||a.expiresAt&&Date.now()<a.expiresAt)return a;let p=await d(a);return{...a,...p}}}function g(){return async({session:e,token:t})=>(t.sub&&(e.user={id:t.sub,email:t.email||"",name:t.name||"",avatar:t.picture,roles:t.roles||[]}),e.accessToken=t.accessToken,e.idToken=t.idToken,e.error=t.error,e.expiresAt=t.expiresAt,e)}let w={secret:p.env.NEXTAUTH_SECRET,cookies:{pkceCodeVerifier:{name:`${f}authjs.pkce.code_verifier`,options:{httpOnly:!0,sameSite:"lax",path:"/",secure:h,maxAge:900}},state:{name:`${f}authjs.state`,options:{httpOnly:!0,sameSite:"lax",path:"/",secure:h,maxAge:900}},nonce:{name:`${f}authjs.nonce`,options:{httpOnly:!0,sameSite:"lax",path:"/",secure:h}}},providers:[(0,s.A)({clientId:p.env.KEYCLOAK_CLIENT_ID,issuer:p.env.KEYCLOAK_ISSUER,authorization:{params:{scope:"openid email profile offline_access"}}}),(0,a.A)({id:"magic-link-activate",credentials:{access_token:{type:"text"},id_token:{type:"text"},refresh_token:{type:"text"},expires_in:{type:"text"},email:{type:"email"}},async authorize(e){if(!e?.access_token)return null;try{let t=`${p.env.KEYCLOAK_ISSUER}/protocol/openid-connect/userinfo`,r=await fetch(t,{headers:{Authorization:`Bearer ${String(e.access_token)}`}});if(!r.ok)return null;let n=await r.json();return{id:n.sub,email:n.email??String(e.email??""),name:n.name??n.preferred_username??n.email??"",accessToken:String(e.access_token),idToken:String(e.id_token??""),refreshToken:String(e.refresh_token??""),expiresIn:Number(e.expires_in??300)}}catch{return null}}})],session:{strategy:"jwt",maxAge:86400},pages:{signIn:"/login",error:"/auth/error"},callbacks:{jwt:m(),session:g(),redirect:async({url:e,baseUrl:t})=>e.startsWith("/")?`${t}${e}
1`:new URL(e).origin===t?e:`${t}/dashboard`},events:{async signOut(e){if("token"in e&&e.token){let t=e.token;if(t.accessToken)try{let e=`${p.env.KEYCLOAK_ISSUER}/protocol/openid-connect/logout`,r={client_id:p.env.KEYCLOAK_CLIENT_ID,refresh_token:t.refreshToken||""};p.env.KEYCLOAK_CLIENT_SECRET&&(r.client_secret=p.env.KEYCLOAK_CLIENT_SECRET),await fetch(e,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(r)})}catch{}}}},debug:!1};function _(e){return{...w,callbacks:{...w.callbacks,jwt:m(e),session:g()}}}let y=_();r(55036);var k=r(55036);let T=(0,o.Ay)(y),{GET:E,POST:v}=(0,o.Ay)(e=>{if(!e)return _();let t=k.env.NEXTAUTH_URL??k.env.AUTH_URL??"",r="https:"===e.nextUrl.protocol||"https"===e.headers.get("x-forwarded-proto")||t.startsWith("https://");return _(function(e,t=!1,r=Date.now()){return function(e,t=Date.now()){if(!e||!/^\d+$/.test(e))return;let r=Number(e);if(u(r))return r>=t-9e7&&r<=t+3e5?r:void 0}(e.get(t?"__Host-sa-auth-logout-at":"sa-auth-logout-at")?.value,r)}(e.cookies,r))}).handlers,{auth:S,signIn:b,signOut:A}=T;var x=r(49631),C=r(68698),$=r(10019),L=r(12521),I=r(55036);function O(){try{let e=localStorage.getItem("business-store");if(!e)return null;let t=JSON.parse(e);return t?.state?.selectedBusiness?.business_id||null}catch{return null}}class R extends Error{constructor(e,t,r){super(`API Error: ${e} ${t}`),this.status=e,this.statusText=t,this.data=r,this.name="ApiError"}}let U=(I.env.NEXT_PUBLIC_SUPPORT_BACKEND_URL||"").replace(/\/+$/,""),D=/^\/api\/(support|checklist)(\/|$)/,N=null,K=null;function P(){N=null,K=null}async function j(){try{if(N&&Date.now()<N.expires)return N.value;if(K)return K;return K=(async()=>{try{let e,t=await (0,n.getSession)();if(t?.error==="RefreshAccessTokenError"||t?.error==="RefreshTokenExpired")return window.dispatchEvent(new CustomEvent("auth:session-error",{detail:{error:t.error}})),null;let r=t?.expiresAt;if(r){let t=r-Date.now()-3e4;e=Date.now()+Math.min(Math.max(t,0),3e5)}else e=Date.now()+5e3;return(N={value:t?.accessToken||null,expires:e}).value}finally{K=null}})()}catch{return K=null,null}}function Y(e,t){let r=`${U&&D.test(e)?U:"https://gateway-prod.saleads.ai"}${e}`;if(!t)return r;let n=new URLSearchParams;Object.entries(t).forEach(([e,t])=>{null!=t&&n.append(e,String(t))});let o=n.toString();if(!o)return r;let s=r.includes("?")?"&":"?";return`${r}${s}${o}`}async function z(e,t,r=3e4){let n=new AbortController,o=setTimeout(()=>n.abort(),r);try{let r=await fetch(e,{...t,signal:n.signal});return clearTimeout(o),r}catch(e){throw clearTimeout(o),e}}async function H(e,t={}){let{params:r,timeout:n,body:o,skipBusinessIdHeader:s=!1,headers:a,...i}=t,u=Y(e,r),c=t.method||"GET";return x.Lk({name:`${c} ${e}`,op:"http.client",attributes:{"http.method":c,"http.url":e,"http.client":"gatewayClient"}},async r=>{function l(e){let t=o instanceof FormData,r={...t?{}:{"Content-Type":"application/json"},...a||{}};e&&(r.Authorization=`Bearer ${e}`);let c=O();c&&!s&&(r["X-Business-Id"]=c);let l=t?o:o?JSON.stringify(o):void 0;return z(u,{...i,credentials:"omit",headers:r,body:l},n)}try{let t=await j(),n;if(void 0!==n)return n;let o=await l(t);if(401===o.status){N=null;let e=await j();e&&e!==t&&(o=await l(e))}if(!o.ok){let e,t=await o.text();try{e=JSON.parse(t)}catch{e=t||`Error ${o.status}: ${o.statusText}`}throw new R(o.status,o.statusText,e)}r.setStatus({code:1,message:"ok"}),r.setAttribute("http.status_code",o.status),C.Z({category:"http",type:"http",message:`${c} ${e}`,data:{url:e,method:c,status_code:o.status},level:"info"});let s=o.headers.get("content-type");if(!s||!s.includes("application/json"))return await o.text()||null;return await o.json()}catch(n){if(r.setStatus({code:2,message:n instanceof Error?n.message:"unknown"}),C.Z({category:"http",type:"http",message:`${c} ${e} FAILED`,data:{url:e,method:c,status_code:n instanceof R?n.status:void 0,error_type:n instanceof R?"api_error":"network_error"},level:"error"}),$.Cp(n,{tags:{api_endpoint:e,http_method:c,error_type:n instanceof R?"api_error":"network_error"},extra:{url:u,params:t.params,status:n instanceof R?n.status:void 0,response_data:n instanceof R?(0,L.mf)(n.data):void 0},level:n instanceof R&&n.status>=500?"error":"warning"}),n instanceof R)throw n;if(n instanceof Error){if("AbortError"===n.name)throw Error("Request timeout");throw n}throw Error("Unknown error occurred")}})}async function X(e,t={}){let{params:r,timeout:n,body:o,skipBusinessIdHeader:s=!1,headers:a,...i}=t,u=Y(e,r),c=t.method||"GET";return x.Lk({name:`${c} ${e}`,op:"http.client",attributes:{"http.method":c,"http.url":e,"http.client":"gatewayClient"}},async r=>{function l(e){let t=o instanceof FormData,r={...t?{}:{"Content-Type":"application/json"},...a||{}};e&&(r.Authorization=`Bearer ${e}`);let c=O();c&&!s&&(r["X-Business-Id"]=c);let l=t?o:o?JSON.stringify(o):void 0;return z(u,{...i,credentials:"omit",headers:r,body:l},n)}try{let t=await j(),n;if(void 0!==n)return{data:n,headers:new Headers};let o=await l(t);if(401===o.status){N=null;let e=await j();e&&e!==t&&(o=await l(e))}if(!o.ok){let e,t=await o.text();try{e=JSON.parse(t)}catch{e=t||`Error ${o.status}: ${o.statusText}`}throw new R(o.status,o.statusText,e)}r.setStatus({code:1,message:"ok"}),r.setAttribute("http.status_code",o.status),C.Z({category:"http",type:"http",message:`${c} ${e}`,data:{url:e,method:c,status_code:o.status},level:"info"});let s=o.headers,a=o.headers.get("content-type");return{data:a&&a.includes("application/json")?await o.json():await o.text()||null,headers:s}}catch(n){if(r.setStatus({code:2,message:n instanceof Error?n.message:"unknown"}),C.Z({category:"http",type:"http",message:`${c} ${e} FAILED`,data:{url:e,method:c,status_code:n instanceof R?n.status:void 0,error_type:n instanceof R?"api_error":"network_error"},level:"error"}),$.Cp(n,{tags:{api_endpoint:e,http_method:c,error_type:n instanceof R?"api_error":"network_error"},extra:{url:u,params:t.params,status:n instanceof R?n.status:void 0,response_data:n instanceof R?(0,L.mf)(n.data):void 0},level:n instanceof R&&n.status>=500?"error":"warning"}),n instanceof R)throw n;if(n instanceof Error){if("AbortError"===n.name)throw Error("Request timeout");throw n}throw Error("Unknown error occurred")}})}let B={get:async(e,t)=>H(e,{...t,method:"GET"}),post:async(e,t,r)=>H(e,{...r,method:"POST",body:t}),put:async(e,t,r)=>H(e,{...r,method:"PUT",body:t}),patch:async(e,t,r)=>H(e,{...r,method:"PATCH",body:t}),delete:async(e,t)=>H(e,{...t,method:"DELETE"}),getWithMeta:async(e,t)=>X(e,{...t,method:"GET"}),patchWithMeta:async(e,t,r)=>X(e,{...r,method:"PATCH",body:t})}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.