1try{let e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="92d7e27b-dfe1-40ef-9d64-ebea8c4bf34c",e._sentryDebugIdIdentifier="sentry-dbid-92d7e27b-dfe1-40ef-9d64-ebea8c4bf34c")}catch(e){}"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5779],{1336:(e,t,s)=>{s.d(t,{A:()=>l}),s(83225);var r=s(21338),a=s(66609);let n=r.A.create({baseURL:"https://platform.socbyte.ai/api/threatintelligence"});n.interceptors.request.use(e=>{e.withCredentials=!0;try{{let t=localStorage.getItem("sb:lastActivityAtMs"),s=t?Number(t):NaN;Number.isFinite(s)&&Date.now()-s<15e3&&(e.headers=e.headers||{},e.headers["X-SB-User-Active"]="1")}}catch(e){}return e}),n.interceptors.response.use(e=>e,e=>{var t,s,r;return(null==(t=e.response)?void 0:t.status)===403&&a.oR.error(null==(r=e.response)||null==(s=r.data)?void 0:s.message),Promise.reject(e)});let l=n},8896:(e,t,s)=>{s.d(t,{Lv:()=>o,Z7:()=>i,gV:()=>l,no:()=>n});var r=s(1336),a=s(34686);let n=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{let{user:t,fieldSearch:s,requestedTenant:n,...l}=e,o=null!=n?Array.isArray(n)?n:[n]:t?(0,a.jN)(t):[],i=Object.fromEntries(Object.entries(l).filter(e=>{let[,t]=e;return null!=t&&("string"!=typeof t||""!==t.trim())}));return(await r.A.post("/threat-intelligence/sources/by-tenant",{requestedTenant:o},{params:{...i}})).data}catch(e){return console.error("Error fetching sources list:",e),{success:!1,message:"Error fetching sources list",errorList:[e]}}},l=async e=>{try{return(await r.A.post("/threat-intelligence/sources/create",e)).data}catch(e){return console.error("Error creating source:",e),{success:!1,message:"Error creating source",errorList:[e]}}},o=async e=>{try{return(await r.A.patch("/threat-intelligence/sources/update",e)).data}catch(e){return console.error("Error updating source:",e),{success:!1,message:"Error updating source",errorList:[e]}}},i=async e=>{try{return(await r.A.patch("/threat-intelligence/sources/disable/".concat(e.sourceId),{requestedTenant:e.requestedTenant})).data}catch(e){return console.error("Error deleting source:",e),{success:!1,message:"Error deleting source",errorList:[e]}}}},13364:(e,t,s)=>{s.d(t,{r:()=>r});function r(e){if(null==e||"string"==typeof e&&""===e.trim())return"";let t=new Date(e);return Number.isNaN(t.getTime())?"":t.toLocaleString(void 0,{year:"numeric",month:"short",day:"2-digit",hour:"2-digit",minute:"2-digit"})}},28559:(e,t,s)=>{s.d(t,{A:()=>r});let r=(0,s(98422).A)("outline","device-desktop-down","DeviceDesktopDown",[["path",{d:"M13.5 16h-9.5a1 1 0 0 1 -1 -1v-10a1 1 0 0 1 1 -1h16a1 1 0 0 1 1 1v7.5",key:"svg-0"}],["path",{d:"M7 20h5",key:"svg-1"}],["path",{d:"M9 16v4",key:"svg-2"}],["path",{d:"M19 16v6",key:"svg-3"}],["path",{d:"M22 19l-3 3l-3 -3",key:"svg-4"}]])},39047:(e,t,s)=>{function r(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t||e>1}function a(e,t,s,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"default",n=1===t?s:r||"".concat(s,"s"),l=String(e||"").trim().toLowerCase();return"assign to yourself"===l||"assign to me"===l?"This will assign to me ".concat(t," ").concat(n,"."):"assign to user"===l?"This will assign to user ".concat(t," ").concat(n,"."):"delete"===l&&"destructive"===a?"This will permanently delete ".concat(t," ").concat(n,"."):"This will ".concat(l," ").concat(t," ").concat(n,".")}function n(e){let t=String(null!=e?e:"").trim()||"this item";return"This will permanently delete '".concat(t,"' ? This action cannot be undone.")}function l(e){let{actionVerb:t,count:s,entitySingular:r,entityPlural:n,confirmText:l,variant:o="default"}=e;return{title:"Are you sure?",description:a(t,s,r,n,o),confirmText:l||function(e){let t=String(e||"").trim();return t?t.charAt(0).toUpperCase()+t.slice(1):"Confirm"}(t),variant:o}}function o(e){if(e)for(let t of[e.reportName,e.title,e.name,e.referenceId,e.reference_id,e.id,e.caseId,e.offenseId]){let e=String(null!=t?t:"").trim();if(e)return e}}s.d(t,{E9:()=>l,PC:()=>a,bz:()=>n,dg:()=>
1o,gD:()=>r})},55779:(e,t,s)=>{s.r(t),s.d(t,{default:()=>E});var r=s(95155),a=s(12115),n=s(65957),l=s(15007),o=s(28559),i=s(80069),c=s(68249),u=s(70747),d=s(37911),m=s(73344),h=s(73124),g=s(33936),f=s(51588),y=s(60285),p=s(33210),x=s(12877),v=s(60002),w=s(3134),S=s(31376),j=s(57828),N=s(39047),b=s(8896),I=s(22980),C=s(14749),A=s(8213),k=s(13364),T=s(45981);let D=(e,t)=>!t||!(e=>null==e.tenantId||""===e.tenantId)(e);function E(){let{t:e}=(0,T.Jl)("administration"),[t,s]=(0,a.useState)(!1),[E,_]=(0,a.useState)(!1),[M,q]=(0,a.useState)(""),[F,L]=(0,a.useState)([]),[z,B]=(0,a.useState)(!1),[O,P]=(0,a.useState)(null),[V,R]=(0,a.useState)(!1),[$,K]=(0,a.useState)(null),[U,Y]=(0,a.useState)(null),[J,Z]=(0,a.useState)({}),[H,Q]=(0,a.useState)(!1),[W,X]=(0,a.useState)(!1),[G,ee]=(0,a.useState)(null),[et,es]=(0,a.useState)(0),{user:er}=(0,I.J)(),[ea,en]=(0,a.useState)({pageIndex:0,pageSize:10}),[el,eo]=(0,a.useState)([]),ei="customer"===String((null==er?void 0:er.tenantType)||"").toLowerCase(),[ec,eu]=(0,a.useState)(!0),[ed,em]=(0,a.useState)(""),[eh,eg]=(0,a.useState)(""),ef=()=>{ed.trim()&&(eg(ed.trim()),en(e=>({...e,pageIndex:0})))},ey=()=>{em(""),eg(""),en(e=>({...e,pageIndex:0}))},ep=(0,a.useCallback)(async()=>{try{Q(!0),ee(null);let a=await (0,b.no)({user:er,page:ea.pageIndex,size:ea.pageSize,search:eh.trim()?eh.trim():void 0});if(a&&!1!==a.success){var e,t,s,r;let n=null!=(s=null==a||null==(e=a.data)?void 0:e.results)?s:[],l=null!=(r=null==a||null==(t=a.data)?void 0:t.total)?r:n.length;L(n),es(l)}else ee((null==a?void 0:a.message)||"Failed to fetch sources list"),L([]),es(0)}catch(e){ee((null==e?void 0:e.message)||"Failed to fetch sources list"),L([]),es(0)}finally{Q(!1)}},[ea.pageIndex,ea.pageSize,er,eh]);(0,a.useEffect)(()=>{t&&ep()},[t,ep,eh]);let ex=async()=>{try{if(Q(!0),!$)return;if(!D($,ei))return void S.toast.error("You do not have permission to delete this source.");let e=null===$.tenantId||void 0===$.tenantId||""===$.tenantId?[null]:[String($.tenantId)],t={sourceId:$.id,requestedTenant:e},s=await (0,b.Z7)(t);s.success?(S.toast.success(s.message||"Source deleted successfully"),K(null),R(!1),await ep()):S.toast.error(s.message||"Failed to delete source")}catch(e){S.toast.error(e.message||"Failed to delete source")}finally{Q(!1)}},ev=async()=>{let e={tenant:!ei&&!z&&!U,sourceName:!M.trim()};if(Z(e),Object.values(e).some(Boolean))return void S.toast.error("Please fill in all required fields");X(!0);try{let e=ei&&(null==er?void 0:er.tenantId)?[String(er.tenantId)]:U?[U]:[];if(z&&O){let e=null===O.tenantId||void 0===O.tenantId||""===O.tenantId?[null]:[String(O.tenantId)],s={sourceId:O.id,source_name:M.trim(),requestedTenant:e},r=await (0,b.Lv)(s);r.success?(S.toast.success(r.message||"Source updated successfully"),_(!1),q(""),Z({}),B(!1),P(null),Y(null),t&&await ep()):S.toast.error(r.message||"Failed to update source")}else{let s={source_name:M.trim(),requestedTenant:e},r=await (0,b.gV)(s);r.success?(S.toast.success(r.message||"Source created successfully"),_(!1),q(""),Z({}),B(!1),P(null),Y(null),t&&await ep()):S.toast.error(r.message||"Failed to create source")}}catch(e){S.toast.error((null==e?void 0:e.message)||"Something went wrong")}finally{X(!1)}},ew=(0,a.useMemo)(()=>[{accessorKey:"sourceName",header:e=>{let{column:t}=e;return(0,r.jsx)(g.w,{column:t,title:"Name"})},cell:e=>{let{cell:t}=e;return t.getValue()}},{accessorKey:"tenantName",header:e=>{let{column:t}=e;return(0,r.jsx)(g.w,{column:t,title:"Tenant"})},cell:e=>{let{cell:t}=e;return t.getValue()}},{accessorKey:"createdByName",header:e=>{let{column:t}=e;return(0,r.jsx)(g.w,{column:t,title:"Created By"})},cell:e=>{let{cell:t}=e;return t.getValue()}},{accessorKey:"createdAt",header:e=>{let{column:t}=e;return(0,r.jsx)(g.w,{column:t,title:"Created At"})},cell:e=>{let{cell:t}=e,s=(0,k.r)(t.getValue());return(0,r.jsx)("div",{children:s||"-"})}},{id:"actions",header:()=>(0,r.jsx)("div",{className:"text-center",children:"Actions"}),cell:t=>{let{row:s}=t;return D(s.original,ei)?(0,r.jsx)("div",{className:"flex justify-center",children:(0,r.jsxs)(f.rI,{children:[(0,r.jsx)(f.ty,{asChild:!0,children:(0,r.jsxs)(u.$,{className:"h-8 w-8 bg-transparent p-0 hover:bg-transparent",children:[(0,r.jsx)("span",{className:"sr-only",children:"Open menu"}),(0,r.jsx)(y.A,{className:"h-4 w-4"})]})}),(0,r.jsxs)(f.SQ,{align:"end",children:[(0,r.jsxs)(f._2,{onClick:()=>(e=>{if(!D(e,ei))return void S.toast.error("You do not have permission to edit this source.");B(!0),P(e),q(e.sourceName),Y(ei?String((null==er?void 0:er.tenantId)||""):e.tenantId),_(!0)})(s.original),children:[(0,r.jsx)(n.A,{className:"h-4 w-4 text-[var(--editIcon)]"}),e("Edit")]}),(0,r.jsxs)(f._2,{onClick:()=>(e=>{if(!D(e,ei))return void S.toast.error("You do not have permission to delete this source.");K(e),R(!0)})(s.original),children:[(0,r.jsx)(l.A,{className:"h-4 w-4 text-[var(--deleteIcon)]"}),e("Delete")]})]})]})}):(0,r.jsx)("div",{className:"text-muted-foreground text-center",children:"â"})}}],[ei,e]),eS=(0,v.N4)({data:F,columns:ew,getCoreRowModel:(0,w.HT)(),getSortedRowModel:(0,w.h5)(),getPaginationRowModel:(0,w.kW)(),onPaginationChange:en,onSortingChange:eo,manualPagination:!0,pageCount:et>0?Math.ceil(et/ea.pageSize):1,meta:{totalRows:et},state:{pagination:ea,sorting:el}});return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(u.$,{onClick:()=>s(!0),variant:"icon","data-sentry-element":"Button","data-sentry-source-file":"sources.tsx",children:[(0,r.jsx)(o.A,{className:"text-primary !h-6 !w-6","data-sentry-element":"IconDeviceDesktopDown","data-sentry-source-file":"sources.tsx"}),(0,r.jsx)("span",{className:"text-[11px] font-medium text-gray-100",children:e("Sources")})]}),(0,r.jsx)(d.a,{heading:"Sources Details",open:t,onOpenChange:s,showClose:!0,className:"min-w-[600px]","data-sentry-element":"Modal","data-sentry-source-file":"sources.tsx",children:(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)(u.$,{onClick:()=>{B(!1),P(null),q(""),Z({}),Y(ei?String((null==er?void 0:er.tenantId)||""):null),_(!0)},"data-sentry-element":"Button","data-sentry-source-file":"sources.tsx",children:[(0,r.jsx)(i.A,{className:"!h-5 !w-5 text-white","data-sentry-element":"IconPlus","data-sentry-source-file":"sources.tsx"}),(0,r.jsx)("span",{className:"text-sm font-medium text-white",children:"New Source"})]}),(0,r.jsxs)("div",{className:"relative flex items-center",children:[(0,r.jsx)(c.A,{className:"text-muted-foreground h-5 w-5 cursor-pointer",onClick:()=>eu(e=>!e),"data-sentry-element":"IconSearch","data-sentry-source-file":"sources.tsx"}),(0,r.jsx)("div",{className:"overflow-hidden transition-all duration-500 ease-in-out ".concat(ec?"ml-2 w-80 opacity-100":"w-0 opacity-0"),children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(x.p,{placeholder:"Search sources...",value:ed,onChange:e=>{let t=e.target.value,s=!!(null==ed?void 0:ed.trim()),r=!t.trim();em(t),s&&r&&ey()},onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),ef())},className:"flex-1",autoFocus:ec,"data-sentry-element":"Input","data-sentry-source-file":"sources.tsx"}),(0,r.jsx)(u.$,{size:"sm",onClick:ef,className:"px-3",title:"Search",disabled:!ed.trim(),"data-sentry-element":"Button","data-sentry-source-file":"sources.tsx",children:(0,r.jsx)(c.A,{className:"h-4 w-4","data-sentry-element":"IconSearch","data-sentry-source-file":"sources.tsx"})}),(null==ed?void 0:ed.trim())&&(0,r.jsx)(u.$,{size:"sm",variant:"outline",onClick:ey,className:"px-3",title:"Clear search",children:(0,r.jsx)(p.A,{className:"h-4 w-4"})})]})})]})]}),H?(0,r.jsx)(A.O,{columnCount:5,rowCount:5,withPagination:!0}
1):(0,r.jsx)("div",{className:"w-full",children:(0,r.jsx)(h.b,{table:eS})})]})}),(0,r.jsx)(d.a,{heading:z?"Edit Source":"New Source",open:E,onOpenChange:e=>{_(e),e||(q(""),Z({}),B(!1),P(null),Y(null))},showClose:!0,"data-sentry-element":"Modal","data-sentry-source-file":"sources.tsx",children:(0,r.jsxs)("div",{className:"space-y-4",children:[!ei&&!z&&(0,r.jsx)(C.F,{id:"source-tenant-select",label:"Tenant",placeholder:"Select a tenant",value:null!=U?U:void 0,onValueChange:e=>{Y(e),e&&Z(e=>({...e,tenant:!1}))},disabled:W,required:!0,error:J.tenant?"Tenant is required":void 0}),(0,r.jsx)(m.D,{id:"source-name",label:"Source Name",placeholder:"Enter Source Name",required:!0,value:M,disabled:W,onChange:e=>{q(e.target.value),e.target.value.trim()&&Z(e=>({...e,sourceName:!1}))},error:J.sourceName?"Source name is required":void 0,"data-sentry-element":"ValidatedInput","data-sentry-source-file":"sources.tsx"}),(0,r.jsx)("div",{className:"flex justify-end",children:(0,r.jsx)(u.$,{onClick:ev,disabled:W,"data-sentry-element":"Button","data-sentry-source-file":"sources.tsx",children:W?z?"Updating...":"Creating...":z?"Update":"Create"})})]})}),(0,r.jsx)(j.A,{open:V,onOpenChange:R,title:"Are you sure?",description:(0,N.bz)(null==$?void 0:$.sourceName),confirmText:"Delete",cancelText:"Cancel",variant:"destructive",onConfirm:ex,"data-sentry-element":"ConfirmDialog","data-sentry-source-file":"sources.tsx"})]})}}}]);
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.