/*! Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one or more contributor license agreements. * Licensed under the Elastic License 2.0; you may not use this file except in compliance with the Elastic License 2.0. */ (window.osquery_bundle_jsonpfunction=window.osquery_bundle_jsonpfunction||[]).push([[6],{124:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s=a(49),l=a(125),i=s.__importDefault(a(127));t.default=function(e,t){i.default(e,t,l.isDeepEqual)}},125:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isDeepEqual=t.off=t.on=t.isClient=void 0;var s=a(49).__importDefault(a(126));t.isClient="object"==typeof window,t.on=function(e){for(var t=[],a=1;aNumber(e)-Number(t))).map((t=>e[t])):e}function o(e){const t=e.indexOf("#");return-1!==t&&(e=e.slice(0,t)),e}function d(e){const t=(e=o(e)).indexOf("?");return-1===t?"":e.slice(t+1)}function j(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?e=Number(e):!t.parseBooleans||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(e="true"===e.toLowerCase()),e}function b(e,t){r((t=Object.assign({decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1},t)).arrayFormatSeparator);const a=function(e){let t;switch(e.arrayFormat){case"index":return(e,a,s)=>{t=/\[(\d*)\]$/.exec(e),e=e.replace(/\[\d*\]$/,""),t?(void 0===s[e]&&(s[e]={}),s[e][t[1]]=a):s[e]=a};case"bracket":return(e,a,s)=>{t=/(\[\])$/.exec(e),e=e.replace(/\[\]$/,""),t?void 0!==s[e]?s[e]=[].concat(s[e],a):s[e]=[a]:s[e]=a};case"comma":case"separator":return(t,a,s)=>{const l="string"==typeof a&&a.split("").indexOf(e.arrayFormatSeparator)>-1?a.split(e.arrayFormatSeparator).map((t=>c(t,e))):null===a?a:c(a,e);s[t]=l};default:return(e,t,a)=>{void 0!==a[e]?a[e]=[].concat(a[e],t):a[e]=t}}}(t),s=Object.create(null);if("string"!=typeof e)return s;if(!(e=e.trim().replace(/^[?#&]/,"")))return s;for(const l of e.split("&")){let[e,r]=i(t.decode?l.replace(/\+/g," "):l,"=");r=void 0===r?null:["comma","separator"].includes(t.arrayFormat)?r:c(r,t),a(c(e,t),r,s)}for(const e of Object.keys(s)){const a=s[e];if("object"==typeof a&&null!==a)for(const e of Object.keys(a))a[e]=j(a[e],t);else s[e]=j(a,t)}return!1===t.sort?s:(!0===t.sort?Object.keys(s).sort():Object.keys(s).sort(t.sort)).reduce(((e,t)=>{const a=s[t];return Boolean(a)&&"object"==typeof a&&!Array.isArray(a)?e[t]=n(a):e[t]=a,e}),Object.create(null))}t.extract=d,t.parse=b,t.stringify=(e,t)=>{if(!e)return"";r((t=Object.assign({encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:","},t)).arrayFormatSeparator);const a=a=>t.skipNull&&null==e[a]||t.skipEmptyString&&""===e[a],s=function(e){switch(e.arrayFormat){case"index":return t=>(a,s)=>{const l=a.length;return void 0===s||e.skipNull&&null===s||e.skipEmptyString&&""===s?a:null===s?[...a,[u(t,e),"[",l,"]"].join("")]:[...a,[u(t,e),"[",u(l,e),"]=",u(s,e)].join("")]};case"bracket":return t=>(a,s)=>void 0===s||e.skipNull&&null===s||e.skipEmptyString&&""===s?a:null===s?[...a,[u(t,e),"[]"].join("")]:[...a,[u(t,e),"[]=",u(s,e)].join("")];case"comma":case"separator":return t=>(a,s)=>null==s||0===s.length?a:0===a.length?[[u(t,e),"=",u(s,e)].join("")]:[[a,u(s,e)].join(e.arrayFormatSeparator)];default:return t=>(a,s)=>void 0===s||e.skipNull&&null===s||e.skipEmptyString&&""===s?a:null===s?[...a,u(t,e)]:[...a,[u(t,e),"=",u(s,e)].join("")]}}(t),l={};for(const t of Object.keys(e))a(t)||(l[t]=e[t]);const i=Object.keys(l);return!1!==t.sort&&i.sort(t.sort),i.map((a=>{const l=e[a];return void 0===l?"":null===l?u(a,t):Array.isArray(l)?l.reduce(s(a),[]).join("&"):u(a,t)+"="+u(l,t)})).filter((e=>e.length>0)).join("&")},t.parseUrl=(e,t)=>{t=Object.assign({decode:!0},t);const[a,s]=i(e,"#");return Object.assign({url:a.split("?")[0]||"",query:b(d(e),t)},t&&t.parseFragmentIdentifier&&s?{fragmentIdentifier:c(s,t)}:{})},t.stringifyUrl=(e,a)=>{a=Object.assign({encode:!0,strict:!0},a);const s=o(e.url).split("?")[0]||"",l=t.extract(e.url),i=t.parse(l,{sort:!1}),r=Object.assign(i,e.query);let c=t.stringify(r,a);c&&(c=`?${c}`);let n=function(e){let t="";const a=e.indexOf("#");return-1!==a&&(t=e.slice(a)),t}(e.url);return e.fragmentIdentifier&&(n=`#${u(e.fragmentIdentifier,a)}`),`${s}${c}${n}`}},129:function(e,t,a){"use strict";e.exports=e=>encodeURIComponent(e).replace(/[!'()*]/g,(e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`))},130:function(e,t,a){"use strict";var s="%[a-f0-9]{2}",l=new RegExp("("+s+")|([^%]+?)","gi"),i=new RegExp("("+s+")+","gi");function r(e,t){try{return[decodeURIComponent(e.join(""))]}catch(e){}if(1===e.length)return e;t=t||1;var a=e.slice(0,t),s=e.slice(t);return Array.prototype.concat.call([],r(a),r(s))}function u(e){try{return decodeURIComponent(e)}catch(s){for(var t=e.match(l)||[],a=1;a{if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===t)return[e];const a=e.indexOf(t);return-1===a?[e]:[e.slice(0,a),e.slice(a+t.length)]}},152:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s=a(49),l=a(1),i=s.__importDefault(a(153));t.default=function(e,t){var a=l.useState(t),s=a[0],r=a[1];return i.default((function(){var t=e.subscribe(r);return function(){return t.unsubscribe()}}),[e]),s}},153:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s=a(1),l="undefined"!=typeof window?s.useLayoutEffect:s.useEffect;t.default=l},175:function(e,t,a){"use strict";a.r(t),a.d(t,"renderApp",(function(){return Xa}));var s=a(6),l=a(1),i=a.n(l),r=a(55),u=a.n(r),c=a(7),n=a.n(c),o=a(18);const d={services:{}},j=Object(l.createContext)(d);var b=a(124),p=a.n(b),m=a(0);const x=({children:e,component:t,render:a,...s})=>{const r=Object(l.useMemo)((()=>{if(t)return e=>Object(m.jsx)(i.a.Fragment,null,Object(m.jsx)(O,null),Object(m.jsx)(t,e))}),[t]);if(r)return Object(m.jsx)(o.Route,n()({},s,{component:r}));if(a||"function"==typeof e){const t="function"==typeof e?e:a;return Object(m.jsx)(o.Route,n()({},s,{render:e=>Object(m.jsx)(i.a.Fragment,null,Object(m.jsx)(O,null),t(e))}))}return Object(m.jsx)(o.Route,s,Object(m.jsx)(O,null),e)},O=()=>{const{executionContext:e}=Object(l.useContext)(j).services,t=Object(o.useRouteMatch)();return function(e,t){p()((()=>(null==e||e.set(t),()=>{null==e||e.clear()})),[t])}(e,{type:"application",page:t.path,id:Object.keys(t.params).length>0?JSON.stringify(t.params):void 0}),null};var g=a(51);const y=({children:e,...t})=>Object(m.jsx)(o.Router,t,Object(m.jsx)(g.CompatRouter,null,e));var v=a(15);const f=({legacySwitch:e=!0,children:t})=>{const a=Object(o.useRouteMatch)();return e?Object(m.jsx)(o.Switch,null,t):Object(m.jsx)(g.Routes,null,l.Children.map(t,(e=>{if(i.a.isValidElement(e)&&e.type===x){var s;const l=Object(v.replace)(null==e?void 0:e.props.path,a.url+"/",""),r="function"==typeof(null==e?void 0:e.props.children)?null==e?void 0:e.props.children:null==e?void 0:e.props.render;return Object(m.jsx)(g.Route,{path:l,element:Object(m.jsx)(i.a.Fragment,null,Object(m.jsx)(O,null),(null==e||null===(s=e.props)||void 0===s?void 0:s.component)&&Object(m.jsx)(e.props.component,null)||r&&r()||t)})}return e})))};var k=a(14),h=a(11),E=a(56),q=a(5),M=a(152),F=a.n(M),C=a(45);const S=({euiTheme:e})=>({minHeight:`calc(100vh - ${2*parseFloat(e.size.xxxl)}px)`,background:e.colors.emptyShade,display:"flex",flexDirection:"column"}),T={display:"flex",flexDirection:"column",flex:1},I=({euiTheme:e})=>({background:e.colors.emptyShade,borderBottom:e.border.thin,padding:`${e.size.base} ${e.size.l} ${e.size.base} ${e.size.l}`,".euiTabs":{paddingLeft:"3px",marginLeft:"-3px"}});var w=a(8),_=a(2),P=a(61),L=a(4);const Q={href:P.a.overview(),text:w.i18n.translate("xpack.osquery.breadcrumbs.appTitle",{defaultMessage:"Osquery"})},A={base:()=>[Q],overview:()=>[Q,{text:w.i18n.translate("xpack.osquery.breadcrumbs.overviewPageTitle",{defaultMessage:"Overview"})}],live_queries:()=>[Q,{text:w.i18n.translate("xpack.osquery.breadcrumbs.liveQueriesPageTitle",{defaultMessage:"Live queries"})}],live_query_new:()=>[Q,{href:P.a.live_queries(),text:w.i18n.translate("xpack.osquery.breadcrumbs.liveQueriesPageTitle",{defaultMessage:"Live queries"})},{text:w.i18n.translate("xpack.osquery.breadcrumbs.newLiveQueryPageTitle",{defaultMessage:"New"})}],live_query_details:({liveQueryId:e})=>[Q,{href:P.a.live_queries(),text:w.i18n.translate("xpack.osquery.breadcrumbs.liveQueriesPageTitle",{defaultMessage:"Live queries"})},{text:e}],saved_queries:()=>[Q,{text:w.i18n.translate("xpack.osquery.breadcrumbs.savedQueriesPageTitle",{defaultMessage:"Saved queries"})}],saved_query_new:()=>[Q,{href:P.a.saved_queries(),text:w.i18n.translate("xpack.osquery.breadcrumbs.savedQueriesPageTitle",{defaultMessage:"Saved queries"})},{text:w.i18n.translate("xpack.osquery.breadcrumbs.newSavedQueryPageTitle",{defaultMessage:"New"})}],saved_query_edit:({savedQueryName:e})=>[Q,{href:P.a.saved_queries(),text:w.i18n.translate("xpack.osquery.breadcrumbs.savedQueriesPageTitle",{defaultMessage:"Saved queries"})},{text:e}],packs:()=>[Q,{text:w.i18n.translate("xpack.osquery.breadcrumbs.packsPageTitle",{defaultMessage:"Packs"})}],pack_add:()=>[Q,{href:P.a.packs(),text:w.i18n.translate("xpack.osquery.breadcrumbs.packsPageTitle",{defaultMessage:"Packs"})},{text:w.i18n.translate("xpack.osquery.breadcrumbs.addpacksPageTitle",{defaultMessage:"Add"})}],pack_details:({packName:e})=>[Q,{href:P.a.packs(),text:w.i18n.translate("xpack.osquery.breadcrumbs.packsPageTitle",{defaultMessage:"Packs"})},{text:e}],pack_edit:({packName:e,packId:t})=>[Q,{href:P.a.packs(),text:w.i18n.translate("xpack.osquery.breadcrumbs.packsPageTitle",{defaultMessage:"Packs"})},{href:P.a.pack_details({packId:t}),text:e},{text:w.i18n.translate("xpack.osquery.breadcrumbs.editpacksPageTitle",{defaultMessage:"Edit"})}]};function B(e,t={}){var a;const{chrome:s,http:l,application:i}=Object(L.e)().services,r=(null===(a=A[e])||void 0===a?void 0:a.call(A,t).map((e=>{const t=e.href?l.basePath.prepend(`${_.b}${e.href}`):void 0;return{...e,href:t,onClick:t?e=>{e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||(e.preventDefault(),i.navigateToUrl(t))}:void 0}})))||[],u=[...r].reverse().map((e=>e.text));s.docTitle.change(u),s.setBreadcrumbs(r)}var N=a(68),z=a(30),D=a(69);const R=[],G=({actionId:e})=>{const t=Object(L.f)(`live_queries/${e}`),a=w.i18n.translate("xpack.osquery.liveQueryActions.table.viewDetailsActionButton",{defaultMessage:"Details"});return Object(m.jsx)(s.EuiToolTip,{position:"top",content:a},Object(m.jsx)(s.EuiButtonIcon,n()({iconType:"visTable"},t,{"aria-label":a})))};G.displayName="ActionTableResultsButton";const $=()=>{var e,t;const a=Object(L.e)().services.application.capabilities.osquery,{push:r}=Object(o.useHistory)(),[u,c]=Object(l.useState)(0),[n,d]=Object(l.useState)(20),{data:j}=Object(D.a)({}),{data:b}=Object(z.a)({activePage:u,limit:n,filterQuery:{exists:{field:"user_id"}}}),p=Object(l.useCallback)((({page:e={}})=>{const{index:t,size:a}=e;c(t),d(a)}),[]),x=Object(l.useCallback)(((e,t)=>{if(t._source.pack_name)return Object(m.jsx)(s.EuiFlexGroup,{gutterSize:"s",alignItems:"center",justifyContent:"center"},Object(m.jsx)(s.EuiFlexItem,{grow:!1},Object(m.jsx)(s.EuiIcon,{type:"package"})),Object(m.jsx)(s.EuiFlexItem,null,t._source.pack_name));const a=t._source.queries[0].query,l=Object(N.a)(a),i=l.length>90?`${null==l?void 0:l.substring(0,90)}...`:l;return Object(m.jsx)(s.EuiCodeBlock,{language:"sql",fontSize:"s",paddingSize:"none",transparentBackground:!0},i)}),[]),O=Object(l.useCallback)(((e,t)=>{var a,s;return Object(m.jsx)(i.a.Fragment,null,null!==(a=null===(s=t.fields.agents)||void 0===s?void 0:s.length)&&void 0!==a?a:0)}),[]),g=Object(l.useCallback)((e=>Object(v.isArray)(e)?e[0]:"-"),[]),y=Object(l.useCallback)(((e,t)=>Object(m.jsx)(i.a.Fragment,null,Object(s.formatDate)(t.fields["@timestamp"][0]))),[]),f=Object(l.useCallback)((e=>Object(m.jsx)(G,{actionId:e.fields.action_id[0]})),[]),k=Object(l.useCallback)((e=>()=>{if(e._source.pack_id)return r("/live_queries/new",{form:Object(v.pickBy)({packId:e._source.pack_id,agentSelection:{agents:e._source.agent_ids,allAgentsSelected:e._source.agent_all,platformsSelected:e._source.agent_platforms,policiesSelected:e._source.agent_policy_ids}},(e=>!Object(v.isEmpty)(e)))});r("/live_queries/new",{form:Object(v.pickBy)({query:e._source.queries[0].query,ecs_mapping:e._source.queries[0].ecs_mapping,savedQueryId:e._source.queries[0].saved_query_id,agentSelection:{agents:e._source.agent_ids,allAgentsSelected:e._source.agent_all,platformsSelected:e._source.agent_platforms,policiesSelected:e._source.agent_policy_ids}},(e=>!Object(v.isEmpty)(e)))})}),[r]),h=Object(l.useCallback)(((e,t)=>{const a=w.i18n.translate("xpack.osquery.liveQueryActions.table.runActionAriaLabel",{defaultMessage:"Run query"});return Object(m.jsx)(s.EuiToolTip,{position:"top",content:a},Object(m.jsx)(s.EuiButtonIcon,{iconType:"play",onClick:k(e),isDisabled:!t,"aria-label":a}))}),[k]),E=Object(l.useMemo)((()=>{var e;return Object(v.map)(null!==(e=null==j?void 0:j.data)&&void 0!==e?e:[],"id")}),[j]),q=Object(l.useCallback)((e=>{var t;return null!==(t=e.fields.pack_id)&&void 0!==t&&t.length?E.includes(e.fields.pack_id[0])&&a.runSavedQueries&&a.readPacks:!(!a.runSavedQueries&&!a.writeLiveQueries)}),[a,E]),M=Object(l.useMemo)((()=>[{field:"query",name:w.i18n.translate("xpack.osquery.liveQueryActions.table.queryColumnTitle",{defaultMessage:"Query"}),truncateText:!0,width:"60%",render:x},{field:"agents",name:w.i18n.translate("xpack.osquery.liveQueryActions.table.agentsColumnTitle",{defaultMessage:"Agents"}),width:"100px",render:O},{field:"created_at",name:w.i18n.translate("xpack.osquery.liveQueryActions.table.createdAtColumnTitle",{defaultMessage:"Created at"}),width:"200px",render:y},{field:"fields.user_id",name:w.i18n.translate("xpack.osquery.liveQueryActions.table.createdByColumnTitle",{defaultMessage:"Run by"}),width:"200px",render:g},{name:w.i18n.translate("xpack.osquery.liveQueryActions.table.viewDetailsColumnTitle",{defaultMessage:"View details"}),actions:[{available:q,render:h},{render:f}]}]),[q,f,O,g,h,x,y]),F=Object(l.useMemo)((()=>{var e,t;return{pageIndex:u,pageSize:n,totalItemCount:null!==(e=null==b||null===(t=b.data)||void 0===t?void 0:t.total)&&void 0!==e?e:0,pageSizeOptions:[20,50,100]}}),[b,u,n]),C=Object(l.useCallback)((e=>({"data-test-subj":`row-${e._source.action_id}`})),[]);return Object(m.jsx)(s.EuiBasicTable,{items:null!==(e=null==b||null===(t=b.data)||void 0===t?void 0:t.items)&&void 0!==e?e:R,columns:M,pagination:F,onChange:p,rowProps:C,"data-test-subj":"liveQueryActionsTable"})},V=i.a.memo($),U=({euiTheme:e})=>({borderBottom:e.border.thin,backgroundColor:e.colors.body}),W={top:"1px","&:before":{height:"0px"}},H=Object(l.memo)((({leftColumn:e,rightColumn:t,rightColumnGrow:a})=>Object(m.jsx)(s.EuiFlexGroup,{alignItems:"center"},e?Object(m.jsx)(s.EuiFlexItem,null,e):null,t?Object(m.jsx)(s.EuiFlexItem,{grow:a},t):null)));H.displayName="HeaderColumns";const Y=({children:e,leftColumn:t,rightColumn:a,rightColumnGrow:i,tabs:r,maxWidth:u,tabsClassName:c,"data-test-subj":o})=>{const d=Object(l.useCallback)((({euiTheme:e})=>Object(m.css)("max-width:",u||1200,"px;margin-left:auto;margin-right:auto;padding-top:",e.size.xl,";padding-left:",e.size.m,";padding-right:",e.size.m,";","")),[u]);return Object(m.jsx)("div",{css:U,"data-test-subj":o},Object(m.jsx)("div",{css:d},Object(m.jsx)(H,{leftColumn:t,rightColumn:a,rightColumnGrow:i}),e,Object(m.jsx)(s.EuiFlexGroup,null,r?Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiSpacer,{size:"s"}),Object(m.jsx)(s.EuiTabs,{className:c,css:W},r.map((e=>Object(m.jsx)(s.EuiTab,n()({},e,{key:e.id}),e.name))))):Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiSpacer,{size:"l"})))))},K=i.a.memo(Y),J=({euiTheme:e})=>({background:e.colors.emptyShade,width:"100%",alignSelf:"center",marginLeft:0,marginRight:0,flex:1}),X={height:"100%"},Z=({restrictWidth:e,restrictHeaderWidth:t,children:a,headerChildren:i,"data-test-subj":r,...u})=>Object(m.jsx)(l.Fragment,null,Object(m.jsx)(K,n()({maxWidth:t,"data-test-subj":r?`${r}_header`:void 0},u),i),Object(m.jsx)(s.EuiPage,{css:J,restrictWidth:e||1200,"data-test-subj":r?`${r}_page`:void 0},Object(m.jsx)(s.EuiPageBody,null,Object(m.jsx)("div",{css:X},Object(m.jsx)(s.EuiSpacer,{size:"l"}),a)))),ee=()=>{B("live_queries");const e=Object(l.useMemo)((()=>Object(m.jsx)(s.EuiFlexGroup,{direction:"column",gutterSize:"m"},Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiText,null,Object(m.jsx)("h1",null,Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.liveQueriesHistory.pageTitle",defaultMessage:"Live queries history"})))))),[]);return Object(m.jsx)(Z,{leftColumn:e,rightColumn:Object(m.jsx)(ae,null),rightColumnGrow:!1},Object(m.jsx)(V,null))},te=i.a.memo(ee),ae=i.a.memo((()=>{const e=Object(L.e)().services.application.capabilities.osquery,t=Object(L.f)("live_queries/new");return Object(m.jsx)(s.EuiButton,n()({fill:!0},t,{iconType:"plusInCircle",isDisabled:!(e.writeLiveQueries||e.runSavedQueries&&(e.readSavedQueries||e.readPacks))}),Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.liveQueriesHistory.newLiveQueryButtonLabel",defaultMessage:"New live query"}))}));ae.displayName="NewLiveQueryButton";var se=a(128),le=a.n(se),ie=a(97);const re=()=>{var e;B("live_query_new");const{replace:t}=Object(o.useHistory)(),a=Object(o.useLocation)(),i=Object(L.f)("live_queries"),[r,u]=Object(l.useState)({}),c=Object(l.useMemo)((()=>{const e=le.a.parse(a.search);return null!=e&&e.agentPolicyId?[null==e?void 0:e.agentPolicyId]:void 0}),[a.search]);Object(l.useEffect)((()=>{var e,s;null!==(e=a.state)&&void 0!==e&&e.form&&(u(null===(s=a.state)||void 0===s?void 0:s.form),t({state:null}))}),[null===(e=a.state)||void 0===e?void 0:e.form,t]);const d=Object(l.useMemo)((()=>Object(m.jsx)(s.EuiFlexGroup,{alignItems:"flexStart",direction:"column",gutterSize:"m"},Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiButtonEmpty,n()({iconType:"arrowLeft"},i,{flush:"left",size:"xs"}),Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.newLiveQuery.viewLiveQueriesHistoryTitle",defaultMessage:"View live queries history"}))),Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiText,null,Object(m.jsx)("h1",null,Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.newLiveQuery.pageTitle",defaultMessage:"New live query"})))))),[i]);return Object(m.jsx)(Z,{leftColumn:d},Object(m.jsx)(ie.a,n()({agentPolicyIds:c},r)))},ue=i.a.memo(re);var ce=a(71),ne=a(75);const oe={paddingLeft:"10px"},de=()=>{const{actionId:e}=Object(o.useParams)();B("live_query_details",{liveQueryId:e});const t=Object(L.f)("live_queries"),[a,i]=Object(l.useState)(!1),{data:r}=Object(ce.a)({actionId:e,isLive:a}),u=Object(l.useMemo)((()=>Object(m.jsx)(s.EuiFlexGroup,{alignItems:"flexStart",direction:"column",gutterSize:"m"},Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiButtonEmpty,n()({iconType:"arrowLeft"},t,{flush:"left",size:"xs"}),Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.liveQueryDetails.viewLiveQueriesHistoryTitle",defaultMessage:"View live queries history"}))),Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiText,null,Object(m.jsx)("h1",null,Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.liveQueryDetails.pageTitle",defaultMessage:"Live query details"})))))),[t]);return Object(l.useLayoutEffect)((()=>{i((()=>!("completed"===(null==r?void 0:r.status))))}),[null==r?void 0:r.status]),Object(m.jsx)(Z,{leftColumn:u,rightColumnGrow:!1},Object(m.jsx)(s.EuiFlexItem,{css:oe},Object(m.jsx)(ne.a,{actionId:e,data:null==r?void 0:r.queries,startDate:null==r?void 0:r["@timestamp"],expirationDate:null==r?void 0:r.expiration,agentIds:null==r?void 0:r.agents,showResultsHeader:!0})))},je=i.a.memo(de);var be=a(78);const pe=()=>{const e=Object(L.e)().services.application.capabilities.osquery;B("live_queries");const t=Object(o.useRouteMatch)();return e.readLiveQueries?Object(m.jsx)(f,null,Object(m.jsx)(x,{path:`${t.url}/new`},e.runSavedQueries&&(e.readSavedQueries||e.readPacks)||e.writeLiveQueries?Object(m.jsx)(ue,null):Object(m.jsx)(be.a,null)),Object(m.jsx)(x,{path:`${t.url}/:actionId`},Object(m.jsx)(je,null)),Object(m.jsx)(x,{path:`${t.url}`},Object(m.jsx)(te,null))):Object(m.jsx)(be.a,null)},me=i.a.memo(pe);var xe=a(47),Oe=a.n(xe),ge=a(60),ye=a.n(ge),ve=a(19),fe=a(72);const ke=({disabled:e=!1,savedQuery:t})=>{const{push:a}=Object(o.useHistory)(),i=Object(l.useCallback)((()=>a("/live_queries/new",{form:{savedQueryId:t.id,query:t.query,ecs_mapping:t.ecs_mapping}})),[a,t]),r=Object(l.useMemo)((()=>w.i18n.translate("xpack.osquery.savedQueryList.queriesTable.runActionAriaLabel",{defaultMessage:"Run {savedQueryName}",values:{savedQueryName:t.id}})),[t]);return Object(m.jsx)(s.EuiToolTip,{position:"top",content:r},Object(m.jsx)(s.EuiButtonIcon,{color:"primary",iconType:"play",isDisabled:e,onClick:i,"aria-label":r}))},he=i.a.memo(ke,ye.a),Ee=({disabled:e=!1,savedQueryId:t,savedQueryName:a})=>{const i=Object(L.f)(`saved_queries/${t}`),r=Object(l.useMemo)((()=>w.i18n.translate("xpack.osquery.savedQueryList.queriesTable.editActionAriaLabel",{defaultMessage:"Edit {savedQueryName}",values:{savedQueryName:a}})),[a]);return Object(m.jsx)(s.EuiToolTip,{position:"top",content:r},Object(m.jsx)(s.EuiButtonIcon,n()({color:"primary"},i,{iconType:"pencil",isDisabled:e,"aria-label":r})))},qe=i.a.memo(Ee),Me=()=>{const e=Object(L.e)().services.application.capabilities.osquery;B("saved_queries");const t=Object(L.f)("saved_queries/new"),[a,r]=Object(l.useState)(0),[u,c]=Object(l.useState)(20),[o,d]=Object(l.useState)("updated_at"),[j,b]=Object(l.useState)(ve.a.desc),{data:p}=Object(fe.a)({isLive:!0}),x=Object(l.useCallback)((e=>Object(m.jsx)(qe,{savedQueryId:e.saved_object_id,savedQueryName:e.id})),[]),O=Object(l.useCallback)((t=>e.runSavedQueries||e.writeLiveQueries?Object(m.jsx)(he,{savedQuery:t,disabled:!1}):Object(m.jsx)(i.a.Fragment,null)),[e.runSavedQueries,e.writeLiveQueries]),g=Object(l.useCallback)(((e,t)=>{if(!e)return"-";const a=t.updated_by!==t.created_by?` @ ${t.updated_by}`:"";return e?`${Oe()(e).fromNow()}${a}`:"-"}),[]),y=Object(l.useCallback)((e=>{const t=e&&e.length>80?`${null==e?void 0:e.substring(0,80)}...`:e;return Object(m.jsx)(s.EuiToolTip,{content:Object(m.jsx)(s.EuiFlexItem,null,e)},Object(m.jsx)(s.EuiFlexItem,{grow:!1},t))}),[]),v=Object(l.useMemo)((()=>[{field:"id",name:w.i18n.translate("xpack.osquery.savedQueries.table.queryIdColumnTitle",{defaultMessage:"Query ID"}),sortable:e=>e.id.toLowerCase(),truncateText:!0,width:"15%"},{field:"description",name:w.i18n.translate("xpack.osquery.savedQueries.table.descriptionColumnTitle",{defaultMessage:"Description"}),render:y,width:"50%"},{field:"created_by",name:w.i18n.translate("xpack.osquery.savedQueries.table.createdByColumnTitle",{defaultMessage:"Created by"}),width:"15%",sortable:!0,truncateText:!0},{field:"updated_at",name:w.i18n.translate("xpack.osquery.savedQueries.table.updatedAtColumnTitle",{defaultMessage:"Last updated at"}),width:"10%",sortable:e=>e.updated_at?Date.parse(e.updated_at):0,truncateText:!0,render:g},{name:w.i18n.translate("xpack.osquery.savedQueries.table.actionsColumnTitle",{defaultMessage:"Actions"}),actions:[{render:O},{render:x}]}]),[y,x,O,g]),f=Object(l.useCallback)((({page:e={},sort:t={}})=>{r(e.index),c(e.size),d(t.field),b(t.direction)}),[]),h=Object(l.useMemo)((()=>{var e;return{pageIndex:a,pageSize:u,totalItemCount:null!==(e=null==p?void 0:p.total)&&void 0!==e?e:0,pageSizeOptions:[10,20,50,100]}}),[a,u,null==p?void 0:p.total]),E=Object(l.useMemo)((()=>({sort:{field:o,direction:j}})),[j,o]),q=Object(l.useMemo)((()=>Object(m.jsx)(s.EuiFlexGroup,{alignItems:"flexStart",direction:"column",gutterSize:"m"},Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiText,null,Object(m.jsx)("h1",null,Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.savedQueryList.pageTitle",defaultMessage:"Saved queries"})))))),[]),M=Object(l.useMemo)((()=>Object(m.jsx)(s.EuiButton,n()({fill:!0},t,{iconType:"plusInCircle",isDisabled:!e.writeSavedQueries}),Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.savedQueryList.addSavedQueryButtonLabel",defaultMessage:"Add saved query"}))),[e.writeSavedQueries,t]);return Object(m.jsx)(Z,{leftColumn:q,rightColumn:M,rightColumnGrow:!1},(null==p?void 0:p.data)&&Object(m.jsx)(s.EuiInMemoryTable,{items:null==p?void 0:p.data,itemId:"id",columns:v,pagination:h,sorting:E,onChange:f,rowHeader:"id"}))},Fe=i.a.memo(Me);var Ce=a(16),Se=a(99),Te=a(76);const Ie=({defaultValue:e,handleSubmit:t})=>{const a=Object(L.f)("saved_queries"),l=Object(Te.b)({defaultValue:e}),{serializer:i,idSet:r,handleSubmit:u,formState:{isSubmitting:c,errors:o}}=l;return Object(m.jsx)(Ce.FormProvider,l,Object(m.jsx)(Se.a,{hasPlayground:!0,isValid:Object(v.isEmpty)(o),idSet:r}),Object(m.jsx)(s.EuiBottomBar,null,Object(m.jsx)(s.EuiFlexGroup,{justifyContent:"flexEnd"},Object(m.jsx)(s.EuiFlexItem,{grow:!1},Object(m.jsx)(s.EuiFlexGroup,{gutterSize:"m"},Object(m.jsx)(s.EuiFlexItem,{grow:!1},Object(m.jsx)(s.EuiButtonEmpty,n()({color:"ghost"},a),Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.addSavedQuery.form.cancelButtonLabel",defaultMessage:"Cancel"}))),Object(m.jsx)(s.EuiFlexItem,{grow:!1},Object(m.jsx)(s.EuiButton,{isLoading:c,color:"primary",fill:!0,size:"m",iconType:"save",onClick:u((async e=>{const a=i(e);await t(a)}))},Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.addSavedQuery.form.saveQueryButtonLabel",defaultMessage:"Save query"}))))))),Object(m.jsx)(s.EuiSpacer,{size:"xxl"}),Object(m.jsx)(s.EuiSpacer,{size:"xxl"}),Object(m.jsx)(s.EuiSpacer,{size:"xxl"}))},we=i.a.memo(Ie);var _e=a(114);const Pe=()=>{B("saved_query_new");const e=Object(L.f)("saved_queries"),{mutateAsync:t}=Object(_e.a)({withRedirect:!0}),a=Object(l.useMemo)((()=>Object(m.jsx)(s.EuiFlexGroup,{alignItems:"flexStart",direction:"column",gutterSize:"m"},Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiButtonEmpty,n()({iconType:"arrowLeft"},e,{flush:"left",size:"xs"}),Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.addSavedQuery.viewSavedQueriesListTitle",defaultMessage:"View all saved queries"}))),Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiText,null,Object(m.jsx)("h1",null,Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.addSavedQuery.pageTitle",defaultMessage:"Add saved query"})))))),[e]),i=Object(l.useCallback)((async e=>{await t(e)}),[t]);return Object(m.jsx)(Z,{leftColumn:a},Object(m.jsx)(we,{handleSubmit:i}))},Le=i.a.memo(Pe);var Qe=a(20);const Ae=({defaultValue:e,handleSubmit:t,viewMode:a})=>{const l=Object(L.f)("saved_queries"),r=Object(Te.b)({defaultValue:e}),{serializer:u,idSet:c,handleSubmit:o,formState:{isSubmitting:d}}=r;return Object(m.jsx)(Ce.FormProvider,r,Object(m.jsx)(Se.a,{viewMode:a,hasPlayground:!0,idSet:c}),!a&&Object(m.jsx)(i.a.Fragment,null,Object(m.jsx)(s.EuiBottomBar,null,Object(m.jsx)(s.EuiFlexGroup,{justifyContent:"flexEnd"},Object(m.jsx)(s.EuiFlexItem,{grow:!1},Object(m.jsx)(s.EuiFlexGroup,{gutterSize:"m"},Object(m.jsx)(s.EuiFlexItem,{grow:!1},Object(m.jsx)(s.EuiButtonEmpty,n()({color:"ghost"},l),Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.editSavedQuery.form.cancelButtonLabel",defaultMessage:"Cancel"}))),Object(m.jsx)(s.EuiFlexItem,{grow:!1},Object(m.jsx)(s.EuiButton,{"data-test-subj":"savedQueryFormUpdateButton",isLoading:d,color:"primary",fill:!0,size:"m",iconType:"save",onClick:o((async e=>{const a=u(e);try{await t(a)}catch(e){}}))},Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.editSavedQuery.form.updateQueryButtonLabel",defaultMessage:"Update query"}))))))),Object(m.jsx)(s.EuiSpacer,{size:"xxl"}),Object(m.jsx)(s.EuiSpacer,{size:"xxl"}),Object(m.jsx)(s.EuiSpacer,{size:"xxl"})))},Be=i.a.memo(Ae);var Ne=a(120);const ze={margin:"10px"},De=()=>{var e;const t=Object(L.e)().services.application.capabilities.osquery,[a,r]=Object(l.useState)(!1),{savedQueryId:u}=Object(o.useParams)(),c=Object(L.f)("saved_queries"),{isLoading:d,data:j}=Object(Ne.c)({savedQueryId:u}),b=Object(Ne.d)({savedQueryId:u}),p=Object(Ne.b)({savedQueryId:u});B("saved_query_edit",{savedQueryName:null!==(e=null==j?void 0:j.saved_object_id)&&void 0!==e?e:""});const x=Object(l.useMemo)((()=>!(null==j||!j.prebuilt)),[j]),O=Object(l.useMemo)((()=>!t.writeSavedQueries||x),[t.writeSavedQueries,x]),g=Object(l.useCallback)((()=>{r(!1)}),[]),y=Object(l.useCallback)((()=>{r(!0)}),[]),v=Object(l.useCallback)((()=>{p.mutateAsync().then((()=>{g()}))}),[p,g]),f=Object(l.useMemo)((()=>{var e,t;return Object(m.jsx)(s.EuiFlexGroup,{alignItems:"flexStart",direction:"column",gutterSize:"m"},Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiButtonEmpty,n()({iconType:"arrowLeft"},c,{flush:"left",size:"xs"}),Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.editSavedQuery.viewSavedQueriesListTitle",defaultMessage:"View all saved queries"}))),Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiText,null,Object(m.jsx)("h1",null,O?Object(m.jsx)(i.a.Fragment,null,Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.viewSavedQuery.pageTitle",defaultMessage:'"{savedQueryId}" details',values:{savedQueryId:null!==(e=null==j?void 0:j.id)&&void 0!==e?e:""}}),x&&Object(m.jsx)(s.EuiCallOut,{css:ze,size:"s"},Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.viewSavedQuery.prebuiltInfo",defaultMessage:"This is a prebuilt Elastic query, and it cannot be edited."}))):Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.editSavedQuery.pageTitle",defaultMessage:'Edit "{savedQueryId}"',values:{savedQueryId:null!==(t=null==j?void 0:j.id)&&void 0!==t?t:""}})))))}),[x,null==j?void 0:j.id,c,O]),h=Object(l.useMemo)((()=>Object(m.jsx)(s.EuiButton,{color:"danger",onClick:y,iconType:"trash"},Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.editSavedQuery.deleteSavedQueryButtonLabel",defaultMessage:"Delete query"}))),[y]),E=Object(l.useCallback)((async e=>{await b.mutateAsync(e)}),[b]);return d?null:Object(m.jsx)(Z,{leftColumn:f,rightColumn:O?void 0:h,rightColumnGrow:!1},!d&&!Object(Qe.isEmpty)(j)&&Object(m.jsx)(Be,{defaultValue:j,handleSubmit:E,viewMode:O}),a?Object(m.jsx)(s.EuiConfirmModal,{title:Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.deleteSavedQuery.confirmationModal.title",defaultMessage:"Are you sure you want to delete this query?"}),onCancel:g,onConfirm:v,cancelButtonText:Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.deleteSavedQuery.confirmationModal.cancelButtonLabel",defaultMessage:"Cancel"}),confirmButtonText:Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.deleteSavedQuery.confirmationModal.confirmButtonLabel",defaultMessage:"Confirm"}),buttonColor:"danger",defaultFocusedButton:"confirm"},Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.deleteSavedQuery.confirmationModal.body",defaultMessage:"You're about to delete this query. Are you sure you want to do this?"})):null)},Re=i.a.memo(De),Ge=()=>{const e=Object(L.e)().services.application.capabilities.osquery;B("saved_queries");const t=Object(o.useRouteMatch)();return e.readSavedQueries?Object(m.jsx)(f,null,Object(m.jsx)(x,{path:`${t.url}/new`},e.writeSavedQueries?Object(m.jsx)(Le,null):Object(m.jsx)(be.a,null)),Object(m.jsx)(x,{path:`${t.url}/:savedQueryId`},Object(m.jsx)(Re,null)),Object(m.jsx)(x,{path:`${t.url}`},Object(m.jsx)(Fe,null))):Object(m.jsx)(be.a,null)},$e=i.a.memo(Ge);var Ve=a(88);const Ue=({onConfirm:e,onCancel:t,agentCount:a,agentPolicyCount:l})=>Object(m.jsx)(s.EuiConfirmModal,{title:Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.agentPolicy.confirmModalTitle",defaultMessage:"Save and deploy changes"}),onCancel:t,onConfirm:e,cancelButtonText:Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.agentPolicy.confirmModalCancelButtonLabel",defaultMessage:"Cancel"}),confirmButtonText:Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.agentPolicy.confirmModalConfirmButtonLabel",defaultMessage:"Save and deploy changes"}),buttonColor:"primary"},Object(m.jsx)(s.EuiCallOut,{iconType:"iInCircle",title:w.i18n.translate("xpack.osquery.agentPolicy.confirmModalCalloutTitle",{defaultMessage:"This action will update {agentCount, plural, one {# agent} other {# agents}}",values:{agentCount:a}})},Object(m.jsx)("div",{className:"eui-textBreakWord"},Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.agentPolicy.confirmModalCalloutDescription",defaultMessage:"Fleet has detected that the selected {agentPolicyCount, plural, one {agent policy} other {agent policies}}, is already in use by some of your agents. As a result of this action, Fleet will deploy updates to all agents that use this {agentPolicyCount, plural, one {agent policy} other {agent policies}}.",values:{agentPolicyCount:l}}))),Object(m.jsx)(s.EuiSpacer,{size:"l"}),Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.agentPolicy.confirmModalDescription",defaultMessage:"Are you sure you wish to continue?"})),We=i.a.memo(Ue);var He=a(17),Ye=a(9),Ke=a(63);const Je=({withRedirect:e,options:t})=>{const a=Object(h.useQueryClient)(),{application:{navigateToApp:s},http:l,notifications:{toasts:i}}=Object(L.e)().services,r=Object(He.a)();return Object(h.useMutation)((({id:e,...t})=>l.put(`/api/osquery/packs/${e}`,{version:_.a.public.v1,body:JSON.stringify(t)})),{onError:e=>{var t,a;r(e,{title:null==e||null===(t=e.body)||void 0===t?void 0:t.error,toastMessage:null==e||null===(a=e.body)||void 0===a?void 0:a.message})},onSuccess:t=>{var l,r;a.invalidateQueries([Ke.a]),e&&s(Ye.PLUGIN_ID,{path:P.a.packs()}),i.addSuccess(w.i18n.translate("xpack.osquery.updatePack.successToastMessageText",{defaultMessage:'Successfully updated "{packName}" pack',values:{packName:null!==(l=null==t||null===(r=t.data)||void 0===r?void 0:r.name)&&void 0!==l?l:""}}))},...t})},Xe=({euiTheme:e})=>({marginRight:e.size.s}),Ze=({item:e})=>{const t=Object(h.useQueryClient)(),{application:{capabilities:{osquery:a}},notifications:{toasts:r}}=Object(L.e)().services,u=Object(He.a)(),[c,n]=Object(l.useState)(!1),o=Object(l.useCallback)((()=>n(!1)),[]),{data:d}=Object(Ve.a)(),j=Object(l.useMemo)((()=>e.policy_ids.reduce(((e,t)=>{var a;return e+((null==d||null===(a=d.agentPoliciesById[t])||void 0===a?void 0:a.agents)||0)}),0)),[null==d?void 0:d.agentPoliciesById,e.policy_ids]),{isLoading:b,mutateAsync:p}=Je({options:{onSuccess:e=>{var a,s,l;t.invalidateQueries([Ke.a]),u(),r.addSuccess(null!=e&&null!==(a=e.data)&&void 0!==a&&a.enabled?w.i18n.translate("xpack.osquery.pack.table.activatedSuccessToastMessageText",{defaultMessage:'Successfully activated "{packName}" pack',values:{packName:null==e||null===(s=e.data)||void 0===s?void 0:s.name}}):w.i18n.translate("xpack.osquery.pack.table.deactivatedSuccessToastMessageText",{defaultMessage:'Successfully deactivated "{packName}" pack',values:{packName:null==e||null===(l=e.data)||void 0===l?void 0:l.name}}))}}}),x=Object(l.useCallback)((()=>{p({id:e.saved_object_id,enabled:!e.enabled}),o()}),[o,e,p]),O=Object(l.useCallback)((()=>{if(j)return n(!0);x()}),[j,x]);return Object(m.jsx)(i.a.Fragment,null,b&&Object(m.jsx)(s.EuiLoadingSpinner,{css:Xe}),Object(m.jsx)(s.EuiSwitch,{checked:!!e.enabled,disabled:!a.writePacks||b,showLabel:!1,label:"",onChange:O}),c&&j&&Object(m.jsx)(We,{onConfirm:x,onCancel:o,agentCount:j,agentPolicyCount:e.policy_ids.length}))},et=i.a.memo(Ze);var tt=a(48),at=a(46),st=a(89);const lt={whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden"},it=({policyId:e})=>{var t;const{application:{getUrlForApp:a,navigateToApp:i}}=Object(L.e)().services,{data:r}=Object(st.a)({policyId:e}),u=Object(l.useMemo)((()=>a(tt.PLUGIN_ID,{path:at.pagePathGetters.policy_details({policyId:e})[1]})),[a,e]),c=Object(l.useCallback)((t=>{if(!Object(L.d)(t)&&Object(L.c)(t))return t.preventDefault(),i(tt.PLUGIN_ID,{path:at.pagePathGetters.policy_details({policyId:e})[1]})}),[i,e]);return Object(m.jsx)(s.EuiLink,{href:u,onClick:c,css:lt},null!==(t=null==r?void 0:r.name)&&void 0!==t?t:e)},rt=i.a.memo(it),ut={whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},ct=[],nt=({id:e,name:t})=>Object(m.jsx)(s.EuiLink,Object(L.f)(`packs/${e}`),t),ot=i.a.memo(nt),dt=(e,t)=>Object(m.jsx)(ot,{id:t.saved_object_id,name:t.name}),jt=({agentPolicyIds:e=[]})=>{const[t,a]=Object(l.useState)(!1),r=Object(l.useCallback)((()=>a((e=>!e))),[]),u=Object(l.useCallback)((()=>a(!1)),[]),c=Object(l.useMemo)((()=>{var t;return Object(m.jsx)(s.EuiButtonEmpty,{size:"s",flush:"both",onClick:r},Object(m.jsx)(i.a.Fragment,null,null!==(t=null==e?void 0:e.length)&&void 0!==t?t:0))}),[null==e?void 0:e.length,r]);var n;return null!=e&&e.length?Object(m.jsx)(s.EuiPopover,{button:c,isOpen:t,closePopover:u},Object(m.jsx)(s.EuiText,{size:"s"},null==e?void 0:e.map((e=>Object(m.jsx)("div",{key:e},Object(m.jsx)(rt,{policyId:e})))))):Object(m.jsx)(i.a.Fragment,null,null!==(n=null==e?void 0:e.length)&&void 0!==n?n:0)},bt=()=>{var e;const t=Object(L.e)().services.application.capabilities.osquery,{push:a}=Object(o.useHistory)(),{data:r,isLoading:u}=Object(D.a)({}),c=Object(l.useCallback)((e=>Object(m.jsx)(jt,{agentPolicyIds:e})),[]),n=Object(l.useCallback)((e=>{var t;return Object(m.jsx)(i.a.Fragment,null,null!==(t=e&&Object.keys(e).length)&&void 0!==t?t:0)}),[]),d=Object(l.useCallback)(((e,t)=>Object(m.jsx)(et,{item:t})),[]),j=Object(l.useCallback)(((e,t)=>{if(!e)return"-";const a=t.updated_by!==t.created_by?` @ ${t.updated_by}`:"";return e?Object(m.jsx)(s.EuiToolTip,{content:`${Oe()(e).fromNow()}${a}`},Object(m.jsx)("span",{css:ut},`${Oe()(e).fromNow()}${a}`)):"-"}),[]),b=Object(l.useCallback)((e=>()=>a("/live_queries/new",{form:{packId:e.saved_object_id}})),[a]),p=Object(l.useCallback)(((e,t)=>{const a=w.i18n.translate("xpack.osquery.packs.table.runActionAriaLabel",{defaultMessage:"Run {packName}",values:{packName:e.name}});return Object(m.jsx)(s.EuiToolTip,{position:"top",content:a},Object(m.jsx)(s.EuiButtonIcon,{iconType:"play",onClick:b(e),isDisabled:!t}))}),[b]),x=Object(l.useMemo)((()=>[{field:"name",name:w.i18n.translate("xpack.osquery.packs.table.nameColumnTitle",{defaultMessage:"Name"}),sortable:e=>e.name.toLowerCase(),render:dt},{field:"policy_ids",name:w.i18n.translate("xpack.osquery.packs.table.policyColumnTitle",{defaultMessage:"Scheduled policies"}),truncateText:!0,render:c},{field:"queries",name:w.i18n.translate("xpack.osquery.packs.table.numberOfQueriesColumnTitle",{defaultMessage:"Number of queries"}),render:n,width:"150px"},{field:"created_by",name:w.i18n.translate("xpack.osquery.packs.table.createdByColumnTitle",{defaultMessage:"Created by"}),sortable:!0,truncateText:!0},{field:"updated_at",name:"Last updated",sortable:e=>e.updated_at?Date.parse(e.updated_at):0,truncateText:!0,render:j},{field:"enabled",name:w.i18n.translate("xpack.osquery.packs.table.activeColumnTitle",{defaultMessage:"Active"}),sortable:!0,align:"right",width:"80px",render:d},{name:w.i18n.translate("xpack.osquery.pack.queriesTable.actionsColumnTitle",{defaultMessage:"Actions"}),width:"80px",actions:[{render:p,enabled:()=>t.writeLiveQueries||t.runSavedQueries}]}]),[t.runSavedQueries,t.writeLiveQueries,d,c,p,n,j]),O=Object(l.useMemo)((()=>({sort:{field:"name",direction:"asc"}})),[]);return u?Object(m.jsx)(s.EuiSkeletonText,{lines:10}):Object(m.jsx)(s.EuiInMemoryTable,{items:null!==(e=null==r?void 0:r.data)&&void 0!==e?e:ct,columns:x,pagination:!0,sorting:O})},pt=i.a.memo(bt),mt=({fill:e=!0})=>{const t=Object(L.e)().services.application.capabilities.osquery,a=Object(L.f)("packs/add");return Object(m.jsx)(s.EuiButton,n()({fill:!!e},a,{iconType:"plusInCircle",isDisabled:!t.writePacks}),Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.packList.addPackButtonLabel",defaultMessage:"Add pack"}))},xt=i.a.memo(mt),Ot="integrationAssetsStatus",gt=()=>{const{http:e}=Object(L.e)().services;return Object(h.useQuery)([Ot],(()=>e.get("/internal/osquery/assets",{version:_.a.internal.v1})),{keepPreviousData:!0,retry:!1})},yt=w.i18n.translate("xpack.osquery.packList.prePackagedPacks.emptyPromptTitle",{defaultMessage:"Load Elastic prebuilt packs"}),vt=w.i18n.translate("xpack.osquery.packList.prePackagedPacks.loadButtonLabel",{defaultMessage:"Load Elastic prebuilt packs"}),ft=w.i18n.translate("xpack.osquery.packList.prePackagedPacks.updateButtonLabel",{defaultMessage:"Update Elastic prebuilt packs"}),kt=w.i18n.translate("xpack.osquery.packList.integrationAssets.loadSuccessToastMessageText",{defaultMessage:"Successfully loaded prebuilt packs"}),ht=w.i18n.translate("xpack.osquery.packList.integrationAssets.updateSuccessToastMessageText",{defaultMessage:"Successfully updated prebuilt packs"}),Et=w.i18n.translate("xpack.osquery.packList.prePackagedPacks.emptyPromptTitle.emptyPromptMessage",{defaultMessage:"A pack is a set of queries that you can schedule. Load prebuilt packs or create your own."}),qt=({fill:e})=>{var t;const{data:a}=gt(),{isLoading:i,mutateAsync:r}=(({successToastText:e})=>{const t=Object(h.useQueryClient)(),{http:a,notifications:{toasts:s}}=Object(L.e)().services,l=Object(He.a)();return Object(h.useMutation)((()=>a.post("/internal/osquery/assets/update",{version:_.a.internal.v1})),{onSuccess:()=>{l(),t.invalidateQueries([Ke.a]),t.invalidateQueries([Ot]),s.addSuccess(e)},onError:e=>{l(e)}})})({successToastText:null!=a&&null!==(t=a.upToDate)&&void 0!==t&&t.length?ht:kt}),u=Object(l.useCallback)((()=>r()),[r]);var c;return null!=a&&a.install.length||null!=a&&a.update.length?Object(m.jsx)(s.EuiButton,{fill:!!e,isLoading:i,onClick:u,iconType:"plusInCircle"},null!=a&&null!==(c=a.upToDate)&&void 0!==c&&c.length?ft:vt):null},Mt=i.a.memo(qt);var Ft=a(62);const Ct=()=>{const e=Object(l.useMemo)((()=>Object(m.jsx)(s.EuiFlexGroup,null,Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(Mt,{fill:!0})),Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(xt,{fill:!1})))),[]);return Object(m.jsx)(s.EuiEmptyPrompt,{icon:Object(m.jsx)(Ft.a,null),color:"transparent",title:Object(m.jsx)("h2",null,yt),body:Object(m.jsx)("p",null,Et),actions:e})},St=i.a.memo(Ct),Tt=()=>{var e;const{data:t,isLoading:a}=gt(),{data:i,isLoading:r}=Object(D.a)({}),u=Object(l.useMemo)((()=>{var e;return!(null!=i&&i.total)&&(null==t||null===(e=t.install)||void 0===e?void 0:e.length)}),[null==t||null===(e=t.install)||void 0===e?void 0:e.length,null==i?void 0:i.total]),c=Object(l.useMemo)((()=>Object(m.jsx)(s.EuiFlexGroup,{direction:"column",gutterSize:"m"},Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiText,null,Object(m.jsx)("h1",null,Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.packList.pageTitle",defaultMessage:"Packs"})))),Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiText,{color:"subdued"},Object(m.jsx)("p",null,Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.packList.pageSubtitle",defaultMessage:"Create packs to organize sets of queries and to schedule queries for agent policies."})))))),[]),n=Object(l.useMemo)((()=>Object(m.jsx)(s.EuiFlexGroup,{direction:"row",gutterSize:"m"},Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(Mt,{fill:!!u})),Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(xt,{fill:!u})))),[u]),o=Object(l.useMemo)((()=>a||r?Object(m.jsx)(s.EuiSkeletonText,{lines:10}):u?Object(m.jsx)(St,null):Object(m.jsx)(pt,null)),[a,r,u]);return Object(m.jsx)(Z,{leftColumn:c,rightColumn:n,rightColumnGrow:!1},o)},It=i.a.memo(Tt);var wt=a(90),_t=a(74);const Pt=({index:e,control:t,hideLabel:a,options:i})=>{const{data:{agentPoliciesById:r}={}}=Object(_t.a)(),u=Object(l.useCallback)((e=>e?void 0:w.i18n.translate("xpack.osquery.pack.form.shardsPolicyFieldMissingErrorMessage",{defaultMessage:"Policy is a required field"})),[]),{field:{onChange:c,value:n},fieldState:{error:o}}=Object(Ce.useController)({control:t,name:`shardsArray.${e}.policy`,rules:{validate:u}}),d=Object(l.useMemo)((()=>!(null==o||!o.message)),[null==o?void 0:o.message]),[j,b]=Object(l.useState)([]),p=Object(l.useCallback)((e=>{b(e),c(e[0])}),[c]);Object(l.useEffect)((()=>{const e=null==r?void 0:r[n.key];n&&e&&b([{label:n.label||e.name,value:n.key}])}),[r,n]);const x=Object(l.useMemo)((()=>({asPlainText:!0})),[]);return Object(m.jsx)(s.EuiFormRow,{label:a?"":w.i18n.translate("xpack.osquery.pack.form.policyFieldLabel",{defaultMessage:"Policy"}),error:null==o?void 0:o.message,isInvalid:d,fullWidth:!0},Object(m.jsx)(s.EuiComboBox,{fullWidth:!0,singleSelection:x,isInvalid:d,options:i,selectedOptions:j,onChange:p,"data-test-subj":"shards-field-policy",rowHeight:32,isClearable:!0}))},Lt=i.a.memo(Pt),Qt=({index:e,control:t,euiFieldProps:a,hideLabel:i})=>{const{field:{onChange:r,value:u},fieldState:{error:c}}=Object(Ce.useController)({control:t,name:`shardsArray.${e}.percentage`,defaultValue:100}),o=Object(l.useCallback)((e=>{const t=e.target.valueAsNumber?e.target.valueAsNumber:0;r(t)}),[r]),d=Object(l.useMemo)((()=>!(null==c||!c.message)),[null==c?void 0:c.message]);return Object(m.jsx)(s.EuiFormRow,{label:i?"":w.i18n.translate("xpack.osquery.pack.form.percentageFieldLabel",{defaultMessage:"Shard"}),error:null==c?void 0:c.message,isInvalid:d,fullWidth:!0},Object(m.jsx)(s.EuiFlexGroup,{gutterSize:"s"},Object(m.jsx)(s.EuiFlexItem,{grow:10},Object(m.jsx)(s.EuiRange,n()({"data-test-subj":"shards-field-percentage",id:"shardsPercentage"+e,min:0,max:100,step:1,value:u,fullWidth:!0,showInput:!0,showLabels:!1,append:"%",onChange:o},a)))))},At=i.a.memo(Qt);var Bt=a(65);const Nt=({onDelete:e,index:t,isLastItem:a,control:r,options:u})=>{const c=Object(l.useCallback)((()=>{e&&e(t)}),[t,e]),n=Object(l.useCallback)((({euiTheme:e})=>0===t?{marginTop:e.size.base}:{}),[t]);return Object(m.jsx)(i.a.Fragment,null,Object(m.jsx)(s.EuiFlexGroup,{"data-test-subj":`packShardsForm-${t}`,alignItems:"flexStart",gutterSize:"s"},Object(m.jsx)(s.EuiFlexItem,{css:Bt.a},Object(m.jsx)(Lt,{index:t,control:r,hideLabel:0!==t,options:u})),Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiFlexGroup,{alignItems:"center",gutterSize:"s"},Object(m.jsx)(s.EuiFlexItem,{grow:!0},Object(m.jsx)(At,{index:t,control:r,hideLabel:0!==t})),Object(m.jsx)(s.EuiFlexItem,{grow:!1},Object(m.jsx)("div",{css:n},Object(m.jsx)(s.EuiButtonIcon,{"aria-label":w.i18n.translate("xpack.osquery.pack.form.deleteShardsRowButtonAriaLabel",{defaultMessage:"Delete shards row"}),iconType:"trash",color:"text",disabled:a,onClick:c})))))),Object(m.jsx)(s.EuiSpacer,{size:"s"}))},zt=i.a.memo(Nt),Dt={policy:{label:"",key:""},percentage:100},Rt=({options:e})=>{const{watch:t,register:a,setValue:r,formState:{errors:u}}=Object(Ce.useFormContext)(),{data:{agentPoliciesById:c}={}}=Object(_t.a)(),n=t("shards"),o=Object(l.useMemo)((()=>{const e=Object(wt.c)(n,c);return Object(v.isEmpty)(e)?[Dt]:e[e.length-1].policy.key?[...e,Dt]:e}),[c,n]),{control:d,watch:j,getFieldState:b,formState:p,resetField:x,setValue:O}=Object(Ce.useForm)({mode:"all",shouldUnregister:!0,defaultValues:{shardsArray:o}}),{fields:g,remove:y,append:f}=Object(Ce.useFieldArray)({control:d,name:"shardsArray"}),k=j(),h=b("shardsArray",p);return Object(l.useEffect)((()=>{a("shards",{validate:()=>!Object(v.reject)(h.error,v.isEmpty).length})}),[h.error,u,a]),Object(l.useEffect)((()=>{const e=j(((e,t)=>{if(null!=e&&e.shardsArray){var a,s;const i=(null==e||null===(a=e.shardsArray)||void 0===a?void 0:a.length)-1;if(null!==(s=t.name)&&void 0!==s&&s.startsWith(`shardsArray.${i}.`)){var l;const t=Object(v.last)(e.shardsArray);null!=t&&null!==(l=t.policy)&&void 0!==l&&l.key&&f(Dt)}}}));return()=>e.unsubscribe()}),[k,f,j]),Object(l.useEffect)((()=>{const e=Object(wt.d)(k.shardsArray);h.isDirty&&!ye()(e,n)&&r("shards",e,{shouldTouch:!0})}),[r,k,h.isDirty,n,x,O]),Object(m.jsx)(i.a.Fragment,null,Object(m.jsx)(s.EuiSpacer,{size:"s"}),g.map(((t,a,l)=>Object(m.jsx)(s.EuiFlexItem,{key:t.id},Object(m.jsx)(zt,{index:a,onDelete:y,isLastItem:a===l.length-1,control:d,options:e}),Object(m.jsx)(s.EuiSpacer,{size:"xs"})))))},Gt=i.a.memo(Rt);var $t=a(81),Vt=a.n($t);const Ut=Vt()(s.EuiFlexItem,{target:"e1ami9i00"})("max-width:",(({grow:e})=>e/9*100),";overflow:hidden;"),Wt=({euiFieldProps:e,options:t})=>{const{data:{agentPoliciesById:a}={}}=Object(_t.a)(),{field:{onChange:i,value:r},fieldState:{error:u}}=Object(Ce.useController)({name:"policy_ids",defaultValue:[],rules:{}}),c=Object(l.useMemo)((()=>a?Object(v.castArray)(r).map((e=>{var t,s;return{key:e,label:null!==(t=null===(s=a[e])||void 0===s?void 0:s.name)&&void 0!==t?t:e}})):[]),[a,r]),o=Object(l.useCallback)((e=>{i(e.map((e=>e.key||e.label)))}),[i]),d=Object(l.useCallback)((e=>{var t,l,i,r,u;return Object(m.jsx)(s.EuiFlexGroup,null,Object(m.jsx)(Ut,{grow:2},Object(m.jsx)("span",{className:"eui-textTruncate"},null!==(t=e.key&&(null==a||null===(l=a[e.key])||void 0===l?void 0:l.name))&&void 0!==t?t:e.label)),Object(m.jsx)(Ut,{grow:5},Object(m.jsx)(s.EuiTextColor,{className:"eui-textTruncate",color:"subdued"},null!==(i=e.key&&(null==a?void 0:a[e.key].description))&&void 0!==i?i:"")),Object(m.jsx)(s.EuiFlexItem,{grow:2,className:"eui-textRight"},Object(m.jsx)(s.EuiTextColor,{color:"subdued"},Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.createScheduledQuery.agentPolicyAgentsCountText",defaultMessage:"{count, plural, one {# agent} other {# agents}} enrolled",values:{count:null!==(r=e.key&&(null==a||null===(u=a[e.key])||void 0===u?void 0:u.agents))&&void 0!==r?r:0}}))))}),[a]),j=Object(l.useMemo)((()=>{if(null==r||!r.length||!r[0].length||!a)return Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.pack.form.agentPoliciesFieldHelpText",defaultMessage:"Queries in this pack are scheduled for agents in the selected policies."});const e=Object(v.reduce)(r,((e,t)=>{var s;const l=a&&a[t];return e+(null!==(s=null==l?void 0:l.agents)&&void 0!==s?s:0)}),0);return Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.createScheduledQuery.agentPolicyAgentsCountText",defaultMessage:"{count, plural, one {# agent} other {# agents}} enrolled",values:{count:e}})}),[a,r]),b=Object(l.useMemo)((()=>!(null==u||!u.message)),[null==u?void 0:u.message]);return Object(m.jsx)(s.EuiFormRow,{label:w.i18n.translate("xpack.osquery.pack.form.agentPoliciesFieldLabel",{defaultMessage:"Scheduled agent policies (optional)"}),helpText:j,error:null==u?void 0:u.message,isInvalid:b,fullWidth:!0},Object(m.jsx)(s.EuiComboBox,n()({isInvalid:b,selectedOptions:c,fullWidth:!0,"data-test-subj":"policyIdsComboBox",isClearable:!0,options:t,renderOption:d,onChange:o},e)))},Ht=i.a.memo(Wt,ye.a);var Yt=a(73),Kt=a(108),Jt=a(106);const Xt=({platform:e})=>{const[t,a]=Object(l.useState)(Kt.a);Object(l.useEffect)((()=>{a((t=>{if(e){let a;try{a=null==e?void 0:e.split(",").map((e=>e.trim()))}catch(e){return t}return a}return Kt.a}))}),[e]);const i=Object(l.useMemo)((()=>t.map((e=>Object(m.jsx)(s.EuiFlexItem,{key:e,grow:!1},Object(m.jsx)(Jt.a,{platform:e}))))),[t]);return Object(m.jsx)(s.EuiFlexGroup,{gutterSize:"s"},i)},Zt=i.a.memo(Xt),ea=({data:e,isReadOnly:t,onDeleteClick:a,onEditClick:i,selectedItems:r,setSelectedItems:u})=>{const c=Object(l.useCallback)((e=>Object(m.jsx)(s.EuiButtonIcon,{color:"danger",onClick:()=>a&&a(e),iconType:"trash","aria-label":w.i18n.translate("xpack.osquery.pack.queriesTable.deleteActionAriaLabel",{defaultMessage:"Delete {queryName}",values:{queryName:e.id}})})),[a]),o=Object(l.useCallback)((e=>Object(m.jsx)(s.EuiButtonIcon,{color:"primary",onClick:()=>i&&i(e),iconType:"pencil","aria-label":w.i18n.translate("xpack.osquery.pack.queriesTable.editActionAriaLabel",{defaultMessage:"Edit {queryName}",values:{queryName:e.id}})})),[i]),d=Object(l.useCallback)((e=>Object(m.jsx)(s.EuiCodeBlock,{language:"sql",fontSize:"s",paddingSize:"none",transparentBackground:!0},e)),[]),j=Object(l.useCallback)((e=>Object(m.jsx)(Zt,{platform:e})),[]),b=Object(l.useCallback)((e=>e?`${e}`:w.i18n.translate("xpack.osquery.pack.queriesTable.osqueryVersionAllLabel",{defaultMessage:"ALL"})),[]),p=Object(l.useMemo)((()=>[{field:"id",name:w.i18n.translate("xpack.osquery.pack.queriesTable.idColumnTitle",{defaultMessage:"ID"}),width:"20%"},{field:"interval",name:w.i18n.translate("xpack.osquery.pack.queriesTable.intervalColumnTitle",{defaultMessage:"Interval (s)"}),width:"100px"},{field:"query",name:w.i18n.translate("xpack.osquery.pack.queriesTable.queryColumnTitle",{defaultMessage:"Query"}),render:d},{field:"platform",name:w.i18n.translate("xpack.osquery.pack.queriesTable.platformColumnTitle",{defaultMessage:"Platform"}),render:j},{field:"version",name:w.i18n.translate("xpack.osquery.pack.queriesTable.versionColumnTitle",{defaultMessage:"Min Osquery version"}),render:b},...t?[]:[{name:w.i18n.translate("xpack.osquery.pack.queriesTable.actionsColumnTitle",{defaultMessage:"Actions"}),width:"120px",actions:[{render:o},{render:c}]}]]),[t,c,o,j,d,b]),x=Object(l.useMemo)((()=>({sort:{field:"id",direction:"asc"}})),[]),O=Object(l.useCallback)((e=>{var t;return null!==(t=e.id)&&void 0!==t?t:""}),[]),g=Object(l.useMemo)((()=>({onSelectionChange:u,initialSelected:r})),[r,u]);return Object(m.jsx)(s.EuiBasicTable,n()({items:e,itemId:O,columns:p,sorting:x},t?{}:{selection:g,isSelectable:!0}))},ta=i.a.memo(ea);var aa=a(118),sa=a(111),la=a(105),ia=a(110);const ra=e=>Object(Yt.produce)(e,(e=>(Object(v.isArray)(e.platform)&&(e.platform.length?e.platform.join(","):delete e.platform),Object(v.isArray)(e.version)&&(e.version.length?e.version=e.version[0]:delete e.version),e.interval&&(e.interval=e.interval+""),Object(v.isEmpty)(e.ecs_mapping)&&delete e.ecs_mapping,e)));var ua=a(116),ca=a(86);const na=({uniqueQueryIds:e,defaultValue:t,onSave:a,onClose:r})=>{const u=Object(L.e)().services.application.capabilities.osquery,[c]=Object(l.useState)(!!t),{serializer:n,idSet:o,...d}=(({uniqueQueryIds:e,defaultValue:t})=>{const a=Object(l.useMemo)((()=>new Set(Object(v.xor)(e,null!=t&&t.id?[t.id]:[]))),[e,t]);return{serializer:ra,idSet:a,...Object(Ce.useForm)({defaultValues:t?(s=t,{id:s.id,query:s.query,interval:s.interval?parseInt(s.interval,10):3600,snapshot:s.snapshot,removed:s.removed,platform:s.platform,version:s.version?[s.version]:[],ecs_mapping:null!==(i=s.ecs_mapping)&&void 0!==i?i:{}}):{id:"",query:"",interval:3600,snapshot:!0,removed:!1}})};var s,i})({uniqueQueryIds:e,defaultValue:t}),{handleSubmit:j,formState:{isSubmitting:b},resetField:p}=d,x=Object(l.useCallback)((e=>{var t,a;e&&(p("id",{defaultValue:e.id}),p("query",{defaultValue:e.query}),p("platform",{defaultValue:e.platform?e.platform:_.e}),p("version",{defaultValue:e.version?[e.version]:[]}),p("interval",{defaultValue:e.interval?e.interval:3600}),p("snapshot",{defaultValue:null===(t=e.snapshot)||void 0===t||t}),p("removed",{defaultValue:e.removed}),p("ecs_mapping",{defaultValue:null!==(a=e.ecs_mapping)&&void 0!==a?a:{}}))}),[p]);return Object(m.jsx)(s.EuiFlyout,{size:"m",onClose:r,"aria-labelledby":"flyoutTitle",ownFocus:!0,outsideClickCloses:!1},Object(m.jsx)(s.EuiFlyoutHeader,{hasBorder:!0},Object(m.jsx)(s.EuiTitle,{size:"s"},Object(m.jsx)("h2",{id:"flyoutTitle"},c?Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.queryFlyoutForm.editFormTitle",defaultMessage:"Edit query"}):Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.queryFlyoutForm.addFormTitle",defaultMessage:"Attach next query"})))),Object(m.jsx)(s.EuiFlyoutBody,null,Object(m.jsx)(Ce.FormProvider,d,!c&&u.readSavedQueries?Object(m.jsx)(i.a.Fragment,null,Object(m.jsx)(ua.a,{onChange:x}),Object(m.jsx)(s.EuiSpacer,null)):null,Object(m.jsx)(aa.c,{idSet:o}),Object(m.jsx)(s.EuiSpacer,null),Object(m.jsx)(sa.a,null),Object(m.jsx)(s.EuiSpacer,null),Object(m.jsx)(s.EuiFlexGroup,null,Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(aa.a,{euiFieldProps:{append:"s"}}),Object(m.jsx)(s.EuiSpacer,null),Object(m.jsx)(aa.e,{euiFieldProps:{noSuggestions:!1,singleSelection:{asPlainText:!0},placeholder:w.i18n.translate("xpack.osquery.queriesTable.osqueryVersionAllLabel",{defaultMessage:"ALL"}),options:ia.a,onCreateOption:void 0}}),Object(m.jsx)(s.EuiSpacer,null),Object(m.jsx)(aa.d,null)),Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(la.a,null))),Object(m.jsx)(s.EuiSpacer,null),Object(m.jsx)(s.EuiFlexGroup,null,Object(m.jsx)(s.EuiFlexItem,{css:Bt.a},Object(m.jsx)(ca.a,null))))),Object(m.jsx)(s.EuiFlyoutFooter,null,Object(m.jsx)(s.EuiFlexGroup,{justifyContent:"spaceBetween"},Object(m.jsx)(s.EuiFlexItem,{grow:!1},Object(m.jsx)(s.EuiButtonEmpty,{iconType:"cross",onClick:r,flush:"left"},Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.queryFlyoutForm.cancelButtonLabel",defaultMessage:"Cancel"}))),Object(m.jsx)(s.EuiFlexItem,{grow:!1},Object(m.jsx)(s.EuiButton,{isLoading:b,onClick:j((async e=>{const t=n(e);await a(t),r()})),fill:!0},Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.queryFlyoutForm.saveButtonLabel",defaultMessage:"Save"}))))))},oa=i.a.memo(na),da=["application/json","text/plain"],ja=i.a.memo((()=>Object(m.jsx)(s.EuiLink,{href:"https://github.com/osquery/osquery/tree/master/packs",target:"_blank"},Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.packUploader.examplePacksLinkLabel",defaultMessage:"Example packs"}))));ja.displayName="ExamplePackLink";const ba=({onChange:e})=>{const t=Object(l.useRef)(""),a=Object(l.useRef)(null),[r,u]=Object(l.useState)(null);let c;const n=()=>{var s,l;const i=c.result;let r;try{r=JSON.parse(i.replaceAll("\\\n",""),((e,t)=>"query"===e?t.replaceAll(/\s(?=\s)/gm,""):"interval"===e?`${t}`:t)),u(null)}catch(e){var n;u(e),null===(n=a.current)||void 0===n||n.removeFiles(new Event("fake"))}null!==(s=r)&&void 0!==s&&s.queries&&(e(r,t.current),null===(l=a.current)||void 0===l||l.removeFiles(new Event("fake")))},o=e=>{c=new FileReader,c.onloadend=n,c.readAsText(e)},d=Object(l.useCallback)((e=>{var s;if(e.length){var l;if(e.length&&(null!==(s=!!e[0].type.length&&!da.includes(e[0].type))&&void 0!==s?s:!e[0].name.endsWith(".conf")))return t.current="",u(w.i18n.translate("xpack.osquery.packUploader.unsupportedFileTypeText",{defaultMessage:"File type {fileType} is not supported, please upload {supportedFileTypes} config file",values:{fileType:e[0].type,supportedFileTypes:da.join(" or ")}})),void(null===(l=a.current)||void 0===l||l.removeFiles(new Event("fake")));t.current=Object(v.kebabCase)(e[0].name.split(".")[0]),o(e[0])}else t.current=""}),[o]);return Object(m.jsx)(i.a.Fragment,null,Object(m.jsx)(s.EuiSpacer,{size:"xl"}),Object(m.jsx)(s.EuiFormRow,{fullWidth:!0,labelAppend:Object(m.jsx)(ja,null),isInvalid:!!r,error:Object(m.jsx)(i.a.Fragment,null,`${r}`)},Object(m.jsx)(s.EuiFilePicker,{ref:a,id:"osquery_pack_picker",initialPromptText:w.i18n.translate("xpack.osquery.packUploader.initialPromptTextLabel",{defaultMessage:"Select or drag and drop osquery pack config file"}),onChange:d,display:"large",fullWidth:!0,isInvalid:!!r,accept:da.join(",")})))},pa=i.a.memo(ba);var ma=a(107);const xa=({euiFieldProps:e})=>{const{field:{value:t}}=Object(Ce.useController)({name:"queries",defaultValue:[],rules:{}}),{append:a,remove:r,update:u,replace:c}=Object(Ce.useFieldArray)({name:"queries"}),{setValue:n}=Object(Ce.useFormContext)(),{name:o}=Object(Ce.useWatch)(),d=Object(l.useCallback)((e=>Object(v.isEmpty)(o)&&n("name",e)),[o,n]),j=!(null==e||!e.isDisabled),[b,p]=Object(l.useState)(!1),[x,O]=Object(l.useState)(-1),[g,y]=Object(l.useState)([]),f=Object(l.useCallback)((()=>p(!0)),[]),h=Object(l.useCallback)((()=>p(!1)),[]),E=Object(l.useCallback)((()=>O(-1)),[]),q=Object(l.useCallback)((e=>{const a=Object(v.findIndex)(t,["id",e.id]);a>-1&&r(a)}),[t,r]),M=Object(l.useCallback)((e=>{const a=Object(v.findIndex)(t,["id",e.id]);O(a)}),[t]),F=Object(l.useCallback)((e=>new Promise((t=>{x>=0&&u(x,Object(Yt.produce)({},(t=>{var a,s;return t.id=e.id,t.interval=e.interval,t.query=e.query,null!==(a=e.platform)&&void 0!==a&&a.length&&(t.platform=e.platform),null!==(s=e.version)&&void 0!==s&&s.length&&(t.version=e.version),e.ecs_mapping&&(t.ecs_mapping=e.ecs_mapping),t.snapshot=e.snapshot,t.removed=e.removed,t}))),E(),t()}))),[E,u,x]),C=Object(l.useCallback)((e=>new Promise((t=>{a(e),h(),t()}))),[h,a]),S=Object(l.useCallback)((()=>{const e=Object(v.map)(g,(e=>Object(v.indexOf)(t,e)));r(e),y([])}),[t,r,g]),T=Object(l.useCallback)(((e,t)=>{c(Object(v.map)(e.queries,((t,a)=>{var s,l,i,r,u,c;return Object(v.pickBy)({id:a,interval:null!==(s=null!==(l=t.interval)&&void 0!==l?l:e.interval)&&void 0!==s?s:"3600",query:t.query,version:null!==(i=t.version)&&void 0!==i?i:e.version,snapshot:null!==(r=t.snapshot)&&void 0!==r?r:e.snapshot,removed:null!==(u=t.removed)&&void 0!==u?u:e.removed,platform:Object(ma.b)(null!==(c=t.platform)&&void 0!==c?c:e.platform)},(e=>!Object(v.isEmpty)(e)||!1===e))}))),d(t)}),[d,c]),I=Object(l.useMemo)((()=>null!=t&&t.length?t:[]),[t]),w=Object(l.useMemo)((()=>Object(v.uniq)(Object(v.map)(t,"id"))),[t]);return Object(m.jsx)(i.a.Fragment,null,!j&&Object(m.jsx)(i.a.Fragment,null,Object(m.jsx)(s.EuiFlexGroup,{justifyContent:"flexEnd"},Object(m.jsx)(s.EuiFlexItem,{grow:!1},g.length?Object(m.jsx)(s.EuiButton,{color:"danger",onClick:S,iconType:"trash"},Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.pack.table.deleteQueriesButtonLabel",defaultMessage:"Delete {queriesCount, plural, one {# query} other {# queries}}",values:{queriesCount:g.length}})):Object(m.jsx)(s.EuiButton,{fill:!0,onClick:f,iconType:"plusInCircle"},Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.pack.queriesForm.addQueryButtonLabel",defaultMessage:"Add query"})))),Object(m.jsx)(s.EuiSpacer,null)),null!=t&&t.length?Object(m.jsx)(ta,{data:I,isReadOnly:j,onEditClick:M,onDeleteClick:q,selectedItems:g,setSelectedItems:y}):null,Object(m.jsx)(s.EuiSpacer,null),!j&&Object(m.jsx)(pa,{onChange:T}),b&&Object(m.jsx)(oa,{uniqueQueryIds:w,onSave:C,onClose:h}),null!=x&&x>=0&&Object(m.jsx)(oa,{uniqueQueryIds:w,defaultValue:t[x],onSave:F,onClose:E}))},Oa=i.a.memo(xa,ye.a),ga=e=>Object(v.reduce)(e,((e,{id:t,...a})=>(e[t]=a,e)),{}),ya=({euiFieldProps:e})=>{const{field:{onChange:t,value:a,name:i},fieldState:{error:r}}=Object(Ce.useController)({name:"name",defaultValue:"",rules:{pattern:{value:/^[a-zA-Z0-9-_]+$/,message:w.i18n.translate("xpack.osquery.pack.queryFlyoutForm.invalidIdError",{defaultMessage:"Characters must be alphanumeric, _, or -"})},required:w.i18n.translate("xpack.osquery.pack.form.nameFieldRequiredErrorMessage",{defaultMessage:"Name is a required field"})}}),u=Object(l.useMemo)((()=>!(null==r||!r.message)),[null==r?void 0:r.message]);return Object(m.jsx)(s.EuiFormRow,{label:w.i18n.translate("xpack.osquery.pack.form.nameFieldLabel",{defaultMessage:"Name"}),error:null==r?void 0:r.message,isInvalid:u,fullWidth:!0},Object(m.jsx)(s.EuiFieldText,n()({isInvalid:u,onChange:t,value:a,name:i,fullWidth:!0,"data-test-subj":"input"},e)))},va=i.a.memo(ya),fa=({euiFieldProps:e})=>{const{field:{onChange:t,value:a,name:i},fieldState:{error:r}}=Object(Ce.useController)({name:"description",defaultValue:""}),u=Object(l.useMemo)((()=>!(null==r||!r.message)),[null==r?void 0:r.message]);return Object(m.jsx)(s.EuiFormRow,{label:w.i18n.translate("xpack.osquery.pack.form.descriptionFieldLabel",{defaultMessage:"Description (optional)"}),error:null==r?void 0:r.message,isInvalid:u,fullWidth:!0},Object(m.jsx)(s.EuiFieldText,n()({isInvalid:u,onChange:t,value:a,name:i,fullWidth:!0,"data-test-subj":"input"},e)))},ka=i.a.memo(fa),ha=Vt()(s.EuiCard,{target:"e2j9yjr0"})("padding:16px 92px 16px 16px!important;border:",(({theme:e,selectable:t})=>{if(null!=t&&t.isSelected)return`${e.euiTheme.border.width.thin} solid ${e.euiTheme.colors.success}`}),";.euiTitle{font-size:1rem;}.euiSpacer{display:none;}.euiText{margin-top:0;margin-left:25px;color:",(({theme:e})=>e.euiTheme.colors.subduedText),";}>button[role='switch']{display:none;}"),Ea=({packType:e,setPackType:t,resetFormFields:a})=>{const i=Object(l.useCallback)((e=>{t(e),a&&a()}),[a,t]),r=Object(l.useMemo)((()=>({onClick:()=>i("policy"),isSelected:"policy"===e})),[e,i]),u=Object(l.useMemo)((()=>({onClick:()=>i("global"),isSelected:"global"===e})),[e,i]);return Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiFormRow,{label:"Type",fullWidth:!0},Object(m.jsx)(s.EuiFlexGroup,{gutterSize:"m"},Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(ha,n()({layout:"horizontal",title:Object(m.jsx)(s.EuiRadio,{id:"osquery_pack_type_policy",label:w.i18n.translate("xpack.osquery.pack.form.policyLabel",{defaultMessage:"Policy"}),onChange:v.noop,checked:"policy"===e}),titleSize:"xs",hasBorder:!0,description:w.i18n.translate("xpack.osquery.pack.form.policyDescription",{defaultMessage:"Schedule pack for specific policy."}),"data-test-subj":"osqueryPackTypePolicy",selectable:r},"policy"===e&&{color:"primary"}))),Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(ha,n()({layout:"horizontal",title:Object(m.jsx)(s.EuiRadio,{id:"osquery_pack_type_global",label:w.i18n.translate("xpack.osquery.pack.form.globalLabel",{defaultMessage:"Global"}),onChange:v.noop,checked:"global"===e}),titleSize:"xs",description:w.i18n.translate("xpack.osquery.pack.form.globalDescription",{defaultMessage:"Use pack across all policies"}),selectable:u,"data-test-subj":"osqueryPackTypeGlobal"},"global"===e&&{color:"primary"}))))))},qa=i.a.memo(Ea),Ma=({euiTheme:e})=>({".euiAccordion__button":{color:e.colors.primary}}),Fa=({defaultValue:e,editMode:t=!1,isReadOnly:a=!1})=>{const[r,u]=Object(l.useState)("closed"),c=Object(l.useCallback)((e=>{u(e?"open":"closed")}),[]),[o,d]=Object(l.useState)("policy"),[j,b]=Object(l.useState)(!1),p=Object(l.useCallback)((()=>b(!1)),[]),{data:{agentPoliciesById:x}={}}=Object(_t.a)(),O=Object(L.f)(`packs/${t?null==e?void 0:e.id:""}`),{mutateAsync:g}=(({withRedirect:e})=>{const t=Object(h.useQueryClient)(),{application:{navigateToApp:a},http:s,notifications:{toasts:l}}=Object(L.e)().services,i=Object(He.a)();return Object(h.useMutation)((e=>s.post("/api/osquery/packs",{version:_.a.public.v1,body:JSON.stringify(e)})),{onError:e=>{i(e,{title:e.body.error,toastMessage:e.body.message})},onSuccess:s=>{var i,r;t.invalidateQueries([Ke.a]),e&&a(Ye.PLUGIN_ID,{path:P.a.packs()}),l.addSuccess(w.i18n.translate("xpack.osquery.newPack.successToastMessageText",{defaultMessage:'Successfully created "{packName}" pack',values:{packName:null!==(i=null===(r=s.data)||void 0===r?void 0:r.name)&&void 0!==i?i:""}}))}})})({withRedirect:!0}),{mutateAsync:y}=Je({withRedirect:!0}),f=Object(Ce.useForm)({defaultValues:e?(e=>{var t;const a=Object(v.filter)(e.policy_ids,(t=>{var a;return null==(null===(a=e.shards)||void 0===a?void 0:a[t])}));return{...e,policy_ids:null!=a?a:[],queries:(s=e.queries,Object(v.reduce)(s,((e,t,a)=>(e.push({id:a,...Object(v.pick)(t,["query","interval","snapshot","removed","platform","version","ecs_mapping"])}),e)),[])),shards:null!==(t=Object(v.omit)(e.shards,"*"))&&void 0!==t?t:{}};var s})(e):{name:"",description:"",policy_ids:[],enabled:!0,queries:[]}});Object(l.useEffect)((()=>{var t;Object(v.isEmpty)(null==e?void 0:e.shards)||(null!=e&&null!==(t=e.shards)&&void 0!==t&&t["*"]?d("global"):u("open"))}),[e,null==e?void 0:e.shards]);const{handleSubmit:E,watch:q,formState:{isSubmitting:M}}=f,{policy_ids:F,shards:C}=q(),S=Object(l.useCallback)((()=>"global"===o?{"*":100}:Object(v.reduce)(C,((e,t,a)=>Object(v.isEmpty)(a)?e:{...e,[a]:t}),{})),[o,C]),T=Object(l.useCallback)((async a=>{const s=({shards:e,policy_ids:t,queries:a,...s})=>{var l;const i=[...t,...Object(v.isEmpty)(C)?[]:Object(v.filter)(Object(v.map)(C,((e,t)=>{if(!Object(v.isEmpty)(t))return t})))];return{...s,policy_ids:null!=i?i:[],queries:ga(a),shards:null!==(l=S())&&void 0!==l?l:{}}};try{t&&null!=e&&e.saved_object_id?await y({id:null==e?void 0:e.saved_object_id,...s(a)}):await g(s(a))}catch(e){}}),[g,null==e?void 0:e.saved_object_id,t,S,C,y]),I=Object(l.useMemo)((()=>E(T)),[E,T]),Q=Object(l.useMemo)((()=>Object(v.reduce)(F,((e,t)=>{var a;const s=x&&x[t];return e+(null!==(a=null==s?void 0:s.agents)&&void 0!==a?a:0)}),0)),[F,x]),A=Object(l.useCallback)((()=>{Q?b(!0):I()}),[Q,I]),B=Object(l.useCallback)((()=>{I(),b(!1)}),[I]),N=Object(l.useMemo)((()=>({isDisabled:a})),[a]),z=Object(l.useCallback)((e=>{d(e)}),[d]),D=Object(l.useMemo)((()=>Object.entries(null!=x?x:{}).map((([e,t])=>({key:e,label:t.name})))),[x]),R=Object(l.useMemo)((()=>{const e=[...Object(v.map)(C,((e,t)=>t)),...Object(v.map)(F,(e=>e))];return D.filter((({key:t})=>!e.includes(t)))}),[C,F,D]);return Object(m.jsx)(i.a.Fragment,null,Object(m.jsx)(Ce.FormProvider,f,Object(m.jsx)(s.EuiFlexGroup,null,Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(va,{euiFieldProps:N}))),Object(m.jsx)(s.EuiSpacer,{size:"m"}),Object(m.jsx)(s.EuiFlexGroup,null,Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(ka,{euiFieldProps:N}))),Object(m.jsx)(s.EuiSpacer,{size:"m"}),Object(m.jsx)(s.EuiFlexGroup,null,Object(m.jsx)(qa,{packType:o,setPackType:z})),Object(m.jsx)(s.EuiSpacer,{size:"m"}),"policy"===o&&Object(m.jsx)(i.a.Fragment,null,Object(m.jsx)(s.EuiFlexGroup,null,Object(m.jsx)(s.EuiFlexItem,{css:Bt.a},Object(m.jsx)(Ht,{options:R}))),Object(m.jsx)(s.EuiSpacer,{size:"m"}),Object(m.jsx)(s.EuiFlexGroup,null,Object(m.jsx)(s.EuiFlexItem,{css:Bt.a},Object(m.jsx)(s.EuiAccordion,{css:Ma,id:"shardsToggle",forceState:r,onToggle:c,buttonContent:"Partial deployment (shards)"},Object(m.jsx)(s.EuiSpacer,{size:"xs"}),Object(m.jsx)(Gt,{options:R})))),Object(m.jsx)(s.EuiSpacer,{size:"m"})),Object(m.jsx)(s.EuiSpacer,{size:"xl"}),Object(m.jsx)(s.EuiHorizontalRule,null),Object(m.jsx)(Oa,{euiFieldProps:N})),Object(m.jsx)(s.EuiSpacer,{size:"xxl"}),Object(m.jsx)(s.EuiSpacer,{size:"xxl"}),Object(m.jsx)(s.EuiSpacer,{size:"xxl"}),Object(m.jsx)(s.EuiBottomBar,null,Object(m.jsx)(s.EuiFlexGroup,{justifyContent:"flexEnd"},Object(m.jsx)(s.EuiFlexItem,{grow:!1},Object(m.jsx)(s.EuiFlexGroup,{gutterSize:"m"},Object(m.jsx)(s.EuiFlexItem,{grow:!1},Object(m.jsx)(s.EuiButtonEmpty,n()({color:"ghost"},O),Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.pack.form.cancelButtonLabel",defaultMessage:"Cancel"}))),Object(m.jsx)(s.EuiFlexItem,{grow:!1},Object(m.jsx)(s.EuiButton,{isLoading:M,color:"primary",fill:!0,size:"m",iconType:"save",onClick:A},t?Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.pack.form.updatePackButtonLabel",defaultMessage:"Update pack"}):Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.pack.form.savePackButtonLabel",defaultMessage:"Save pack"}))))))),j&&Object(m.jsx)(We,{onCancel:p,onConfirm:B,agentCount:Q,agentPolicyCount:F.length}))},Ca=i.a.memo(Fa,ye.a),Sa=()=>{B("pack_add");const e=Object(L.f)("packs"),t=Object(l.useMemo)((()=>Object(m.jsx)(s.EuiFlexGroup,{alignItems:"flexStart",direction:"column",gutterSize:"m"},Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiButtonEmpty,n()({iconType:"arrowLeft"},e,{flush:"left",size:"xs"}),Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.addPack.viewPacksListTitle",defaultMessage:"View all packs"}))),Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiText,null,Object(m.jsx)("h1",null,Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.addPack.pageTitle",defaultMessage:"Add pack"})))))),[e]);return Object(m.jsx)(Z,{leftColumn:t},Object(m.jsx)(Ca,null))},Ta=i.a.memo(Sa);var Ia=a(79);const wa=()=>{var e,t;const{packId:a}=Object(o.useParams)(),r=Object(L.f)(`packs/${a}`),[u,c]=Object(l.useState)(!1),{isLoading:d,data:j}=Object(Ia.a)({packId:a}),b=(({packId:e,withRedirect:t})=>{const a=Object(h.useQueryClient)(),{application:{navigateToApp:s},http:l,notifications:{toasts:i}}=Object(L.e)().services,r=Object(He.a)();return Object(h.useMutation)((()=>l.delete(`/api/osquery/packs/${e}`,{version:_.a.public.v1})),{onError:e=>{r(e,{title:e.body.error,toastMessage:e.body.message})},onSuccess:()=>{a.invalidateQueries([Ke.a]),t&&s(Ye.PLUGIN_ID,{path:P.a.packs()}),i.addSuccess(w.i18n.translate("xpack.osquery.deletePack.successToastMessageText",{defaultMessage:"Successfully deleted pack"}))}})})({packId:a,withRedirect:!0}),p=Object(l.useMemo)((()=>!(null==j||!j.read_only)),[j]);B("pack_edit",{packId:null!==(e=null==j?void 0:j.id)&&void 0!==e?e:"",packName:null!==(t=null==j?void 0:j.name)&&void 0!==t?t:""});const x=Object(l.useCallback)((()=>{c(!1)}),[]),O=Object(l.useCallback)((()=>{c(!0)}),[]),g=Object(l.useCallback)((()=>{b.mutateAsync().then((()=>{x()}))}),[b,x]),y=Object(l.useMemo)((()=>Object(m.jsx)(s.EuiFlexGroup,{alignItems:"flexStart",direction:"column",gutterSize:"m"},Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiButtonEmpty,n()({iconType:"arrowLeft"},r,{flush:"left",size:"xs"}),Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.editPack.viewPackListTitle",defaultMessage:"View {queryName} details",values:{queryName:null==j?void 0:j.name}}))),Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiText,null,Object(m.jsx)("h1",null,Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.editPack.pageTitle",defaultMessage:"Edit {queryName}",values:{queryName:null==j?void 0:j.name}})))))),[null==j?void 0:j.name,r]),v=Object(l.useMemo)((()=>Object(m.jsx)(s.EuiButton,{color:"danger",onClick:O,iconType:"trash"},Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.editPack.deletePackButtonLabel",defaultMessage:"Delete pack"}))),[O]),f=Object(l.useMemo)((()=>p?Object(m.jsx)(i.a.Fragment,null,Object(m.jsx)(s.EuiSpacer,null),Object(m.jsx)(s.EuiCallOut,null,Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.editPack.prebuiltPackModeDescription",defaultMessage:"This is a prebuilt Elastic pack. You can modify the scheduled agent policies, but you cannot edit queries in the pack."}))):null),[p]);return d?null:Object(m.jsx)(Z,{leftColumn:y,rightColumn:v,rightColumnGrow:!1,headerChildren:f},j?Object(m.jsx)(Ca,{editMode:!0,defaultValue:j,isReadOnly:p}):Object(m.jsx)(s.EuiSkeletonText,{lines:10}),u?Object(m.jsx)(s.EuiConfirmModal,{title:Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.deletePack.confirmationModal.title",defaultMessage:"Are you sure you want to delete this pack?"}),onCancel:x,onConfirm:g,confirmButtonDisabled:b.isLoading,cancelButtonText:Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.deletePack.confirmationModal.cancelButtonLabel",defaultMessage:"Cancel"}),confirmButtonText:Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.deletePack.confirmationModal.confirmButtonLabel",defaultMessage:"Confirm"}),buttonColor:"danger",defaultFocusedButton:"confirm"},Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.deletePack.confirmationModal.body",defaultMessage:"You're about to delete this pack. Are you sure you want to do this?"})):null)},_a=i.a.memo(wa);var Pa=a(122);const La=({euiTheme:e})=>({width:0,height:"100%",borderLeft:e.border.thin}),Qa=()=>{var e,t;const a=Object(L.e)().services.application.capabilities.osquery,{packId:i}=Object(o.useParams)(),r=Object(L.f)("packs"),u=Object(L.f)(`packs/${i}/edit`),{data:c}=Object(Ia.a)({packId:i}),{data:d}=(({agentPolicyId:e,silent:t,skip:a})=>{const{http:s}=Object(L.e)().services,l=Object(He.a)();return Object(h.useQuery)(["agentPolicyAgentIds",e],(()=>{const t=`${tt.AGENTS_PREFIX}.policy_id:${e}`;return s.get("/internal/osquery/fleet_wrapper/agents",{version:_.a.internal.v1,query:{kuery:t,perPage:1e4}})}),{select:e=>Object(v.map)(null==e?void 0:e.agents,"id")||[],enabled:!a||!e,onSuccess:()=>l(),onError:e=>!t&&l(e,{title:w.i18n.translate("xpack.osquery.agents.fetchError",{defaultMessage:"Error while fetching agents"})}),refetchOnReconnect:!1,refetchOnWindowFocus:!1})})({agentPolicyId:null==c||null===(e=c.policy_ids)||void 0===e?void 0:e[0],skip:!c});B("pack_details",{packName:null!==(t=null==c?void 0:c.name)&&void 0!==t?t:""});const j=Object(l.useMemo)((()=>{var e;return null!==(e=(null==c?void 0:c.queries)&&Object.entries(c.queries).map((([e,t])=>({...t,id:e}))))&&void 0!==e?e:[]}),[c]),b=Object(l.useMemo)((()=>Object(m.jsx)(s.EuiFlexGroup,{alignItems:"flexStart",direction:"column",gutterSize:"m"},Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiButtonEmpty,n()({iconType:"arrowLeft"},r,{flush:"left",size:"xs"}),Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.packDetails.viewAllPackListTitle",defaultMessage:"View all packs"}))),Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiText,null,Object(m.jsx)("h1",null,Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.packDetails.pageTitle",defaultMessage:"{queryName} details",values:{queryName:null==c?void 0:c.name}})))),(null==c?void 0:c.description)&&Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiSpacer,{size:"s"}),Object(m.jsx)(s.EuiText,{color:"subdued",size:"s"},c.description)))),[null==c?void 0:c.description,null==c?void 0:c.name,r]),p=Object(l.useMemo)((()=>Object(m.jsx)(s.EuiFlexGroup,{justifyContent:"flexEnd",direction:"row"},Object(m.jsx)(s.EuiFlexItem,{grow:!1,key:"agents_failed_count"},Object(m.jsx)(s.EuiDescriptionList,{compressed:!0,textStyle:"reverse",style:{textAlign:"right"}},Object(m.jsx)(s.EuiDescriptionListTitle,{className:"eui-textNoWrap"},Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.packDetailsPage.kpis.policiesLabelText",defaultMessage:"Policies"})),Object(m.jsx)(s.EuiDescriptionListDescription,{className:"eui-textNoWrap"},Object(m.jsx)(jt,{agentPolicyIds:null==c?void 0:c.policy_ids})))),Object(m.jsx)(s.EuiFlexItem,{grow:!1,key:"agents_failed_count_divider"},Object(m.jsx)("div",{css:La})),Object(m.jsx)(s.EuiFlexItem,{grow:!1,key:"edit_button"},Object(m.jsx)(s.EuiButton,n()({fill:!0},u,{iconType:"pencil",isDisabled:!a.writePacks}),Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.packDetailsPage.editQueryButtonLabel",defaultMessage:"Edit"}))))),[null==c?void 0:c.policy_ids,u,a]);return Object(m.jsx)(Z,{leftColumn:b,rightColumn:p,rightColumnGrow:!1},c&&Object(m.jsx)(Pa.a,{agentIds:d,packName:c.name,data:j}))},Aa=i.a.memo(Qa),Ba=()=>{const e=Object(L.e)().services.application.capabilities.osquery;B("packs");const t=Object(o.useRouteMatch)();return e.readPacks?Object(m.jsx)(f,null,Object(m.jsx)(x,{path:`${t.url}/add`},e.writePacks?Object(m.jsx)(Ta,null):Object(m.jsx)(be.a,null)),Object(m.jsx)(x,{path:`${t.url}/:packId/edit`},e.writePacks?Object(m.jsx)(_a,null):Object(m.jsx)(be.a,null)),Object(m.jsx)(x,{path:`${t.url}/:packId`},Object(m.jsx)(Aa,null)),Object(m.jsx)(x,{path:`${t.url}`},Object(m.jsx)(It,null))):Object(m.jsx)(be.a,null)},Na=i.a.memo(Ba),za=()=>(B("base"),Object(m.jsx)(f,null,Object(m.jsx)(x,{path:"/packs"},Object(m.jsx)(Na,null)),Object(m.jsx)(x,{path:"/saved_queries"},Object(m.jsx)($e,null)),Object(m.jsx)(x,{path:"/live_queries"},Object(m.jsx)(me,null)),Object(m.jsx)(o.Redirect,{to:"/live_queries"}))),Da=i.a.memo(za);a(50);const Ra=()=>{B("base");const{application:{getUrlForApp:e,navigateToApp:t}}=Object(L.e)().services,a=Object(l.useMemo)((()=>e(tt.INTEGRATIONS_PLUGIN_ID,{path:at.pagePathGetters.integration_details_overview({pkgkey:Ye.OSQUERY_INTEGRATION_NAME})[1]})),[e]),i=Object(l.useCallback)((e=>{if(!Object(L.d)(e)&&Object(L.c)(e))return e.preventDefault(),t(tt.INTEGRATIONS_PLUGIN_ID,{path:at.pagePathGetters.integration_details_overview({pkgkey:Ye.OSQUERY_INTEGRATION_NAME})[1]})}),[t]),r=Object(l.useMemo)((()=>({iconType:Ft.a,pageTitle:Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.emptyState.pageTitle",defaultMessage:"Add Osquery Manager"}),description:Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.emptyState.pageDescription",defaultMessage:"Add this integration to run and schedule queries for Elastic Agent."}),rightSideItems:[Object(m.jsx)(s.EuiButton,{key:"button",fill:!0,href:a,onClick:i,iconType:"plusInCircleFilled","data-test-subj":"osquery-add-integration-button"},Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.emptyState.addOsqueryManagerButton",defaultMessage:"Add Osquery Manager"}))]})),[i,a]);return Object(m.jsx)(q.KibanaPageTemplate,{isEmptyState:!0,pageHeader:r})},Ga=i.a.memo(Ra),$a=()=>{const{application:{getUrlForApp:e,navigateToApp:t}}=Object(L.e)().services,a=Object(l.useMemo)((()=>e(tt.INTEGRATIONS_PLUGIN_ID,{path:at.pagePathGetters.integration_details_policies({pkgkey:Ye.OSQUERY_INTEGRATION_NAME})[1]})),[e]),i=Object(l.useCallback)((e=>{if(!Object(L.d)(e)&&Object(L.c)(e))return e.preventDefault(),t(tt.INTEGRATIONS_PLUGIN_ID,{path:at.pagePathGetters.integration_details_policies({pkgkey:Ye.OSQUERY_INTEGRATION_NAME})[1]})}),[t]);return a?Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiButtonEmpty,{iconType:"gear",href:a,onClick:i},Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.appNavigation.manageIntegrationButton",defaultMessage:"Manage integration"}))):null},Va=i.a.memo($a);var Ua;!function(e){e.LiveQueries="live_queries",e.Packs="packs",e.SavedQueries="saved_queries"}(Ua||(Ua={}));const Wa=()=>{const e=Object(o.useLocation)(),t=Object(l.useMemo)((()=>{var t;return null!==(t=e.pathname.split("/")[1])&&void 0!==t?t:"overview"}),[e.pathname]);return Object(m.jsx)("div",{css:I},Object(m.jsx)(s.EuiFlexGroup,{gutterSize:"l",alignItems:"center"},Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiTabs,{bottomBorder:!1},Object(m.jsx)(s.EuiTab,n()({isSelected:t===Ua.LiveQueries},Object(L.f)(Ua.LiveQueries)),Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.appNavigation.liveQueriesLinkText",defaultMessage:"Live queries"})),Object(m.jsx)(s.EuiTab,n()({isSelected:t===Ua.Packs},Object(L.f)(Ua.Packs)),Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.appNavigation.packsLinkText",defaultMessage:"Packs"})),Object(m.jsx)(s.EuiTab,n()({isSelected:t===Ua.SavedQueries},Object(L.f)(Ua.SavedQueries)),Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.appNavigation.savedQueriesLinkText",defaultMessage:"Saved queries"})))),Object(m.jsx)(s.EuiFlexItem,{grow:!1},Object(m.jsx)(s.EuiFlexGroup,{gutterSize:"s",direction:"row"},Object(m.jsx)(s.EuiFlexItem,null,Object(m.jsx)(s.EuiButtonEmpty,{iconType:"popout",href:"https://ela.st/osquery-feedback",target:"_blank"},Object(m.jsx)(k.FormattedMessage,{id:"xpack.osquery.appNavigation.sendFeedbackButton",defaultMessage:"Send feedback"}))),Object(m.jsx)(Va,null)))))},Ha=()=>{const{customBranding:e}=Object(q.useKibana)().services,{data:t,isFetched:a}=(()=>{const{http:e}=Object(L.e)().services,t=Object(He.a)();return Object(h.useQuery)(["integration"],(()=>e.get("/internal/osquery/status",{version:_.a.internal.v1})),{onError:e=>t(e,{title:w.i18n.translate("xpack.osquery.osquery_integration.fetchError",{defaultMessage:"Error while fetching osquery integration"})}),refetchOnReconnect:!1,refetchOnWindowFocus:!1})})(),l=F()((null==e?void 0:e.hasCustomBranding$)||Object(C.of)(!1),!1);return a?a&&"installed"!==(null==t?void 0:t.install_status)?Object(m.jsx)(Ga,null):Object(m.jsx)("div",{css:S,id:"osquery-app"},Object(m.jsx)("div",{css:T},Object(m.jsx)(Wa,null),Object(m.jsx)(Da,null))):Object(m.jsx)(s.EuiPage,{paddingSize:"none"},Object(m.jsx)(s.EuiPageBody,null,Object(m.jsx)(s.EuiPageSection,{paddingSize:"none",color:"subdued"},l?Object(m.jsx)(s.EuiLoadingSpinner,{size:"xxl"}):Object(m.jsx)(s.EuiLoadingElastic,{size:"xxl"}))))},Ya=i.a.memo(Ha);var Ka=a(22),Ja=a(24);const Xa=(e,t,{element:a,history:l,theme$:i},r,c)=>(u.a.render(Object(m.jsx)(Ja.d,{theme$:i},Object(m.jsx)(L.b,{services:{appName:Ye.PLUGIN_NAME,kibanaVersion:c,...e,...t,storage:r}},Object(m.jsx)(s.EuiErrorBoundary,null,Object(m.jsx)(y,{history:l},Object(m.jsx)(k.I18nProvider,null,Object(m.jsx)(h.QueryClientProvider,{client:Ka.a},Object(m.jsx)(Ya,null),Object(m.jsx)(E.ReactQueryDevtools,{initialIsOpen:!1}))))))),a),()=>u.a.unmountComponentAtNode(a))},78:function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var s=a(1),l=a.n(s),i=a(6),r=a(14),u=a(0);const c={maxWidth:"500px",marginRight:"auto",marginLeft:"auto"},n=()=>Object(u.jsx)("div",null,Object(u.jsx)(i.EuiSpacer,null),Object(u.jsx)(i.EuiPanel,{css:c},Object(u.jsx)(i.EuiEmptyPrompt,{iconType:"securityApp",title:Object(u.jsx)("h2",null,Object(u.jsx)(r.FormattedMessage,{id:"xpack.osquery.permissionDeniedErrorTitle",defaultMessage:"Permission denied"})),body:Object(u.jsx)("p",null,Object(u.jsx)(r.FormattedMessage,{id:"xpack.osquery.permissionDeniedErrorMessage",defaultMessage:"You are not authorized to access this page."}))})),Object(u.jsx)(i.EuiSpacer,null)),o=l.a.memo(n)},79:function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));var s=a(11),l=a(2),i=a(4);const r=({packId:e,skip:t=!1})=>{const{http:a}=Object(i.e)().services;return Object(s.useQuery)(["pack",{packId:e}],(()=>a.get(`/api/osquery/packs/${e}`,{version:l.a.public.v1})),{select:e=>null==e?void 0:e.data,keepPreviousData:!0,enabled:!(t||!e)})}},90:function(e,t,a){"use strict";a.d(t,"b",(function(){return l})),a.d(t,"a",(function(){return i})),a.d(t,"d",(function(){return r})),a.d(t,"c",(function(){return u}));var s=a(15);const l=e=>Object(s.reduce)(e,((e,t)=>{var a,l;return Object(s.isEmpty)(null==t?void 0:t.key)||Object(s.isEmpty)(null===(a=t.result)||void 0===a?void 0:a.type)||Object(s.isEmpty)(null===(l=t.result)||void 0===l?void 0:l.value)||(e[t.key]={[t.result.type]:t.result.value}),e}),{}),i=e=>Object(s.reduce)(e,((e,t,a)=>(t&&e.push({key:a,result:{type:Object.keys(t)[0],value:Object.values(t)[0]}}),e)),[]),r=e=>Object(s.reduce)(e,((e,t)=>(Object(s.isEmpty)(null==t?void 0:t.policy)||(e[t.policy.key]=t.percentage),e)),{}),u=(e,t)=>Object(s.reduce)(e,((e,a,s)=>{var l,i;return null!=a&&e.push({policy:{key:s,label:null!==(l=null==t||null===(i=t[s])||void 0===i?void 0:i.name)&&void 0!==l?l:""},percentage:a}),e}),[])}}]);