@akasecurity/cli 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/README.md +3 -3
  2. package/dist/cli.js +2559 -546
  3. package/package.json +3 -3
  4. package/web-ui/web-ui/.next/BUILD_ID +1 -1
  5. package/web-ui/web-ui/.next/app-build-manifest.json +54 -54
  6. package/web-ui/web-ui/.next/app-path-routes-manifest.json +6 -6
  7. package/web-ui/web-ui/.next/build-manifest.json +2 -2
  8. package/web-ui/web-ui/.next/prerender-manifest.json +3 -3
  9. package/web-ui/web-ui/.next/server/app/(app)/activity/page.js +2 -2
  10. package/web-ui/web-ui/.next/server/app/(app)/activity/page.js.nft.json +1 -1
  11. package/web-ui/web-ui/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
  12. package/web-ui/web-ui/.next/server/app/(app)/data-shares/page.js +2 -2
  13. package/web-ui/web-ui/.next/server/app/(app)/data-shares/page.js.nft.json +1 -1
  14. package/web-ui/web-ui/.next/server/app/(app)/data-shares/page_client-reference-manifest.js +1 -1
  15. package/web-ui/web-ui/.next/server/app/(app)/detections/page.js +2 -2
  16. package/web-ui/web-ui/.next/server/app/(app)/detections/page.js.nft.json +1 -1
  17. package/web-ui/web-ui/.next/server/app/(app)/detections/page_client-reference-manifest.js +1 -1
  18. package/web-ui/web-ui/.next/server/app/(app)/exceptions/[id]/page.js +2 -2
  19. package/web-ui/web-ui/.next/server/app/(app)/exceptions/[id]/page.js.nft.json +1 -1
  20. package/web-ui/web-ui/.next/server/app/(app)/exceptions/[id]/page_client-reference-manifest.js +1 -1
  21. package/web-ui/web-ui/.next/server/app/(app)/exceptions/new/page.js +2 -2
  22. package/web-ui/web-ui/.next/server/app/(app)/exceptions/new/page.js.nft.json +1 -1
  23. package/web-ui/web-ui/.next/server/app/(app)/exceptions/new/page_client-reference-manifest.js +1 -1
  24. package/web-ui/web-ui/.next/server/app/(app)/exceptions/page.js +1 -1
  25. package/web-ui/web-ui/.next/server/app/(app)/exceptions/page.js.nft.json +1 -1
  26. package/web-ui/web-ui/.next/server/app/(app)/exceptions/page_client-reference-manifest.js +1 -1
  27. package/web-ui/web-ui/.next/server/app/(app)/findings/page.js +2 -2
  28. package/web-ui/web-ui/.next/server/app/(app)/findings/page.js.nft.json +1 -1
  29. package/web-ui/web-ui/.next/server/app/(app)/findings/page_client-reference-manifest.js +1 -1
  30. package/web-ui/web-ui/.next/server/app/(app)/inventory/page.js +2 -2
  31. package/web-ui/web-ui/.next/server/app/(app)/inventory/page.js.nft.json +1 -1
  32. package/web-ui/web-ui/.next/server/app/(app)/inventory/page_client-reference-manifest.js +1 -1
  33. package/web-ui/web-ui/.next/server/app/(app)/policies/page.js +2 -2
  34. package/web-ui/web-ui/.next/server/app/(app)/policies/page.js.nft.json +1 -1
  35. package/web-ui/web-ui/.next/server/app/(app)/policies/page_client-reference-manifest.js +1 -1
  36. package/web-ui/web-ui/.next/server/app/(app)/scan/page.js +1 -1
  37. package/web-ui/web-ui/.next/server/app/(app)/scan/page.js.nft.json +1 -1
  38. package/web-ui/web-ui/.next/server/app/(app)/scan/page_client-reference-manifest.js +1 -1
  39. package/web-ui/web-ui/.next/server/app/(app)/security/page.js +1 -1
  40. package/web-ui/web-ui/.next/server/app/(app)/security/page.js.nft.json +1 -1
  41. package/web-ui/web-ui/.next/server/app/(app)/security/page_client-reference-manifest.js +1 -1
  42. package/web-ui/web-ui/.next/server/app/(app)/settings/page.js +2 -2
  43. package/web-ui/web-ui/.next/server/app/(app)/settings/page.js.nft.json +1 -1
  44. package/web-ui/web-ui/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
  45. package/web-ui/web-ui/.next/server/app/(app)/updates/page.js +2 -2
  46. package/web-ui/web-ui/.next/server/app/(app)/updates/page.js.nft.json +1 -1
  47. package/web-ui/web-ui/.next/server/app/(app)/updates/page_client-reference-manifest.js +1 -1
  48. package/web-ui/web-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  49. package/web-ui/web-ui/.next/server/app/_not-found.html +1 -1
  50. package/web-ui/web-ui/.next/server/app/_not-found.rsc +2 -2
  51. package/web-ui/web-ui/.next/server/app/index.html +1 -1
  52. package/web-ui/web-ui/.next/server/app/index.rsc +2 -2
  53. package/web-ui/web-ui/.next/server/app/page_client-reference-manifest.js +1 -1
  54. package/web-ui/web-ui/.next/server/app-paths-manifest.json +6 -6
  55. package/web-ui/web-ui/.next/server/chunks/{366.js → 244.js} +92 -25
  56. package/web-ui/web-ui/.next/server/chunks/264.js +1 -0
  57. package/web-ui/web-ui/.next/server/chunks/291.js +647 -0
  58. package/web-ui/web-ui/.next/server/chunks/45.js +1 -1
  59. package/web-ui/web-ui/.next/server/chunks/461.js +5 -5
  60. package/web-ui/web-ui/.next/server/chunks/773.js +4 -4
  61. package/web-ui/web-ui/.next/server/chunks/983.js +2 -0
  62. package/web-ui/web-ui/.next/server/functions-config-manifest.json +7 -7
  63. package/web-ui/web-ui/.next/server/middleware-manifest.json +5 -5
  64. package/web-ui/web-ui/.next/server/pages/404.html +1 -1
  65. package/web-ui/web-ui/.next/server/pages/500.html +1 -1
  66. package/web-ui/web-ui/.next/server/server-reference-manifest.js +1 -1
  67. package/web-ui/web-ui/.next/server/server-reference-manifest.json +1 -1
  68. package/web-ui/web-ui/.next/static/chunks/{24-55b96836aea5ce23.js → 24-d36fb6bd72e29537.js} +2 -2
  69. package/web-ui/web-ui/.next/static/chunks/561-52ad6ae6bf64b471.js +1 -0
  70. package/web-ui/web-ui/.next/static/chunks/app/(app)/activity/{page-0c208c8b275a69ac.js → page-797e2ce43b8db7e1.js} +1 -1
  71. package/web-ui/web-ui/.next/static/chunks/app/(app)/data-shares/{page-b7387fc879294f9e.js → page-d9e9023871035a2d.js} +1 -1
  72. package/web-ui/web-ui/.next/static/chunks/app/(app)/detections/{page-d3c788335ec106bc.js → page-5bd8e04955058e46.js} +1 -1
  73. package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/[id]/page-a254c9fc7cc27b97.js +1 -0
  74. package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/new/{page-f25f688accef752f.js → page-622151ff8e6960c8.js} +1 -1
  75. package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/page-c1221106bd6ba356.js +1 -0
  76. package/web-ui/web-ui/.next/static/chunks/app/(app)/findings/{page-d33f3999e89c7e77.js → page-fc68b0fb9b669a03.js} +1 -1
  77. package/web-ui/web-ui/.next/static/chunks/app/(app)/inventory/{page-4b11bbcc65f8d953.js → page-68418378cfb10a0f.js} +1 -1
  78. package/web-ui/web-ui/.next/static/chunks/app/(app)/scan/page-2b9ea3e95dbe82fb.js +1 -0
  79. package/web-ui/web-ui/.next/static/chunks/app/(app)/settings/{page-a2e02ffad2177626.js → page-315b8b57329d5eb6.js} +1 -1
  80. package/web-ui/web-ui/.next/static/chunks/app/(app)/updates/page-77adb595bb447040.js +1 -0
  81. package/web-ui/web-ui/.next/static/chunks/app/{layout-40fea3e270a8e120.js → layout-8b19b03146218dc7.js} +1 -1
  82. package/web-ui/web-ui/.next/static/css/{43f95c94ecc1bd17.css → 500a1c2bf0fc64fb.css} +1 -1
  83. package/web-ui/web-ui/.next/server/chunks/484.js +0 -580
  84. package/web-ui/web-ui/.next/server/chunks/900.js +0 -1
  85. package/web-ui/web-ui/.next/server/chunks/918.js +0 -2
  86. package/web-ui/web-ui/.next/static/chunks/561-c3388f066f813e17.js +0 -1
  87. package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/[id]/page-b9b760f81ad59940.js +0 -1
  88. package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/page-4b63bb2d272bab7e.js +0 -1
  89. package/web-ui/web-ui/.next/static/chunks/app/(app)/scan/page-00047eaf00adfcaa.js +0 -1
  90. package/web-ui/web-ui/.next/static/chunks/app/(app)/updates/page-e36c0f23fca981e3.js +0 -1
  91. /package/web-ui/web-ui/.next/static/{Oz-9GZNGXujYNXihIv5sm → ez8SLWYcUCScGuFekZ-G_}/_buildManifest.js +0 -0
  92. /package/web-ui/web-ui/.next/static/{Oz-9GZNGXujYNXihIv5sm → ez8SLWYcUCScGuFekZ-G_}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[876],{6283:(e,r,n)=>{"use strict";n.d(r,{ExceptionDetailClient:()=>u});var t=n(2330),o=n(7942),c=n(6146),a=n(8013);let i=(0,a.createServerReference)("603916444086a9c23695f6250608e16aa166944aa4",a.callServer,void 0,a.findSourceMapURL,"revokeException");function u(e){let{exception:r}=e,[n,a]=(0,c.useState)(null),[u,l]=(0,c.useTransition)();return(0,t.jsx)(o.Gj,{exception:r,busy:u,error:n,onRevoke:e=>{l(async()=>{var n;let t=await i(r.id,e);a(t.ok?null:null!=(n=t.error)?n:"Could not revoke.")})}})}},6434:(e,r,n)=>{Promise.resolve().then(n.t.bind(n,7338,23)),Promise.resolve().then(n.bind(n,6283))},8013:(e,r,n)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,r){for(var n in r)Object.defineProperty(e,n,{enumerable:!0,get:r[n]})}(r,{callServer:function(){return t.callServer},createServerReference:function(){return c.createServerReference},findSourceMapURL:function(){return o.findSourceMapURL}});let t=n(7982),o=n(3738),c=n(4656)}},e=>{e.O(0,[24,338,561,949,496,358],()=>e(e.s=6434)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[782],{4337:(e,n,r)=>{Promise.resolve().then(r.bind(r,523)),Promise.resolve().then(r.bind(r,3319)),Promise.resolve().then(r.bind(r,1328)),Promise.resolve().then(r.bind(r,6388)),Promise.resolve().then(r.bind(r,9822)),Promise.resolve().then(r.bind(r,6179)),Promise.resolve().then(r.bind(r,9912)),Promise.resolve().then(r.bind(r,3868)),Promise.resolve().then(r.bind(r,6324)),Promise.resolve().then(r.bind(r,8283)),Promise.resolve().then(r.bind(r,7735)),Promise.resolve().then(r.bind(r,6053)),Promise.resolve().then(r.bind(r,5130)),Promise.resolve().then(r.bind(r,6418)),Promise.resolve().then(r.bind(r,1462)),Promise.resolve().then(r.bind(r,3760)),Promise.resolve().then(r.bind(r,965)),Promise.resolve().then(r.bind(r,8885)),Promise.resolve().then(r.bind(r,7461)),Promise.resolve().then(r.bind(r,4285)),Promise.resolve().then(r.bind(r,1247)),Promise.resolve().then(r.bind(r,4453)),Promise.resolve().then(r.bind(r,3741)),Promise.resolve().then(r.bind(r,666)),Promise.resolve().then(r.bind(r,1648)),Promise.resolve().then(r.bind(r,1447)),Promise.resolve().then(r.bind(r,4026)),Promise.resolve().then(r.bind(r,5392)),Promise.resolve().then(r.bind(r,801)),Promise.resolve().then(r.bind(r,3492)),Promise.resolve().then(r.bind(r,6909)),Promise.resolve().then(r.bind(r,5875)),Promise.resolve().then(r.bind(r,5530)),Promise.resolve().then(r.bind(r,974)),Promise.resolve().then(r.bind(r,7526)),Promise.resolve().then(r.bind(r,5850)),Promise.resolve().then(r.bind(r,9102)),Promise.resolve().then(r.bind(r,4952)),Promise.resolve().then(r.bind(r,3365)),Promise.resolve().then(r.bind(r,4127)),Promise.resolve().then(r.bind(r,7889)),Promise.resolve().then(r.bind(r,209)),Promise.resolve().then(r.bind(r,1951)),Promise.resolve().then(r.bind(r,7845))},7071:(e,n,r)=>{"use strict";var s=r(7495);r.o(s,"usePathname")&&r.d(n,{usePathname:function(){return s.usePathname}}),r.o(s,"useRouter")&&r.d(n,{useRouter:function(){return s.useRouter}}),r.o(s,"useSearchParams")&&r.d(n,{useSearchParams:function(){return s.useSearchParams}})},7845:(e,n,r)=>{"use strict";r.d(n,{ExceptionsClient:()=>v});var s=r(2330),o=r(7942),i=r(8726),t=r(7338),l=r.n(t),a=r(7071),d=r(6146),c=r(8013);let u=(0,c.createServerReference)("404acccecc615c3fba01dbdab3ba387bc846a914b9",c.callServer,void 0,c.findSourceMapURL,"approveBlocked"),h=(0,c.createServerReference)("40f053f11c6be87817f62cea8b0fad34d6fe0f2b27",c.callServer,void 0,c.findSourceMapURL,"rotateKey");function v(e){let{items:n,blocked:r,includeTerminal:t,blockedWindow:c,keyVersion:v,activePermanent:b}=e,m=(0,a.useRouter)(),[P,f]=(0,d.useState)(null),[p,S]=(0,d.useState)(!1),[x,j]=(0,d.useState)(null),[y,R]=(0,d.useTransition)();return(0,s.jsxs)("div",{className:"px-8 pb-10 pt-7",children:[(0,s.jsx)(o.ec,{title:"Exceptions",sub:"Explicit, audited bypasses — one exact value each, never a rule-wide suppression",actions:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.$n,{asChild:!0,variant:"ghost",tone:"neutral",size:"sm",children:(0,s.jsx)(l(),{href:t?"/exceptions":"/exceptions?all=1",children:t?"Active only":"Show all (audit)"})}),(0,s.jsxs)(i.$n,{variant:"outline",tone:"neutral",size:"sm",onClick:()=>{j(null),S(!0)},children:["Rotate key",null!==v&&" (v".concat(String(v),")")]}),(0,s.jsx)(i.$n,{asChild:!0,variant:"solid",tone:"primary",size:"sm",children:(0,s.jsx)(l(),{href:"/exceptions/new",children:"Pre-authorize a value"})})]})}),(0,s.jsx)(o.VB,{items:r,onApprove:e=>{var n;j(null),f(null!=(n=r.find(n=>n.reference===e))?n:null)},blockedWindow:c,onBlockedWindowChange:e=>{let n=new URLSearchParams;n.set("window",e),t&&n.set("all","1"),m.push("/exceptions?".concat(n.toString()))}}),(0,s.jsx)(o.Eb,{items:n,includeTerminal:t,onSelect:e=>{m.push("/exceptions/".concat(e.slice(0,8)))}}),(0,s.jsx)(o.fu,{entry:P,open:null!==P,onOpenChange:e=>{e||(f(null),j(null))},onSubmit:e=>{R(async()=>{let n=await u(e);if(n.ok)f(null),j(null);else{var r;j(null!=(r=n.error)?r:"Could not grant the exception.")}})},busy:y,error:x}),(0,s.jsx)(o.nZ,{open:p,onOpenChange:e=>{S(e),e||j(null)},activePermanent:b,keyVersion:v,onConfirm:e=>{R(async()=>{let n=await h(e);if(n.ok)S(!1),j(null);else{var r;j(null!=(r=n.error)?r:"Could not rotate the key.")}})},busy:y,error:x})]})}},8013:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),!function(e,n){for(var r in n)Object.defineProperty(e,r,{enumerable:!0,get:n[r]})}(n,{callServer:function(){return s.callServer},createServerReference:function(){return i.createServerReference},findSourceMapURL:function(){return o.findSourceMapURL}});let s=r(7982),o=r(3738),i=r(4656)}},e=>{e.O(0,[24,338,561,949,496,358],()=>e(e.s=4337)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[69],{4931:(e,s,n)=>{"use strict";n.d(s,{ScanClient:()=>x});var t=n(2330),r=n(8726),i=n(7338),l=n.n(i),o=n(6146),a=n(8013);let d=(0,a.createServerReference)("40d38f88bb3faee49398b74c078b2b489a366bb069",a.callServer,void 0,a.findSourceMapURL,"runScan");var c=n(7942);let m=(0,a.createServerReference)("40ac5caf2bf7a7312333e3d74800441da5e5c77dd4",a.callServer,void 0,a.findSourceMapURL,"listDirectory");function h(e){let{onSelect:s}=e,[n,i]=(0,o.useState)(!1),[l,a]=(0,o.useState)(!1),[d,h]=(0,o.useState)(null),[x,v]=(0,o.useState)([]),[u,b]=(0,o.useState)(null),[f,p]=(0,o.useState)([]),[j,P]=(0,o.useState)(!1),[g,N]=(0,o.useState)(null),y=()=>{a(!1),h(null),v([]),b(null),p([]),N(null)},S=()=>{i(!1),y()},k=e=>{P(!0),N(null),m(e).then(e=>{var s,n;if(!e.ok||!e.path||!e.entries||!e.crumbs)return void N(null!=(s=e.error)?s:"Could not list directory.");h(e.path),v(e.crumbs),b(null!=(n=e.parent)?n:null),p(e.entries)}).catch(()=>{N("Could not list directory.")}).finally(()=>{P(!1)})};return(0,t.jsxs)(r.AM,{open:n,onOpenChange:e=>{i(e),e||y()},children:[(0,t.jsx)(r.Wv,{asChild:!0,children:(0,t.jsx)(r.$n,{variant:"ghost",tone:"neutral",size:"sm",children:"Browse…"})}),(0,t.jsxs)(r.hl,{align:"end",className:"w-96 p-4",children:[(0,t.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-label font-semibold uppercase tracking-wider text-text-3",children:l?"Choose a folder":"Browse your filesystem"}),(0,t.jsx)("button",{type:"button","aria-label":"Close",onClick:S,className:"rounded p-1 text-text-3 hover:text-text",children:(0,t.jsx)(c.mD,{name:"x",className:"size-3.5"})})]}),l?(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-1 text-xs",children:[u&&(0,t.jsx)(r.$n,{variant:"ghost",size:"icon",className:"size-6",title:"Up one level",onClick:()=>{k(u)},children:(0,t.jsx)(c.mD,{name:"arrow-up",className:"size-3.5"})}),x.map((e,s)=>{let n=s===x.length-1;return(0,t.jsxs)(o.Fragment,{children:[s>0&&(0,t.jsx)(c.mD,{name:"chevron-right",className:"size-3 text-text-3"}),(0,t.jsx)("button",{type:"button",onClick:()=>{k(e.path)},className:n?"cursor-default font-mono font-bold text-text":"font-mono text-text-2 hover:text-text",children:e.name})]},e.path)})]}),(0,t.jsxs)("div",{className:"max-h-64 overflow-y-auto rounded-lg border border-border",children:[j&&(0,t.jsx)("div",{className:"p-3 text-xs text-text-3",children:"Loading…"}),!j&&g&&(0,t.jsx)("div",{className:"p-3 text-xs text-sev-critical",children:g}),!j&&!g&&f.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>{k(e.path)},className:"flex w-full items-center gap-2 px-3 py-2 text-left text-sm hover:bg-surface-2",children:[(0,t.jsx)(c.mD,{name:"folder",className:"size-4 shrink-0 text-primary"}),(0,t.jsx)("span",{className:"truncate text-text",title:e.name,children:e.name})]},e.path)),!j&&!g&&0===f.length&&(0,t.jsx)("div",{className:"p-3 text-xs text-text-3",children:"No subfolders."})]}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(r.$n,{variant:"solid",tone:"primary",size:"sm",disabled:!d,onClick:()=>{d&&s(d),S()},children:"Select this folder"})})]}):(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsx)("p",{className:"text-xs text-text-3",children:"AKA will list folder names on your machine, starting from your home directory. Nothing is read or scanned until you click Scan."}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)(r.$n,{variant:"ghost",tone:"neutral",size:"sm",onClick:S,children:"Cancel"}),(0,t.jsx)(r.$n,{variant:"solid",tone:"primary",size:"sm",onClick:()=>{a(!0),k(void 0)},children:"Allow"})]})]})]})]})}function x(e){let{enabledRuleCount:s}=e,[n,i]=(0,o.useState)(""),[a,c]=(0,o.useState)(null),[m,x]=(0,o.useTransition)(),v=()=>{x(async()=>{c(await d(n))})};return(0,t.jsx)("div",{className:"flex max-w-xl flex-col gap-4",children:(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-5",children:[(0,t.jsx)("div",{className:"mb-1.5 text-label font-semibold uppercase tracking-wider text-text-3",children:"File or directory to scan"}),(0,t.jsxs)("p",{className:"mb-3 text-xs text-text-3",children:["Walked recursively (node_modules, dotdirs, build output and files over 1 MB are skipped). The raw match never lands on disk — findings store only a masked preview and the event keeps a redacted copy. ",String(s)," rule",1===s?"":"s"," enabled."]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(r.pd,{value:n,onChange:e=>{i(e.target.value)},onKeyDown:e=>{"Enter"!==e.key||m||v()},placeholder:"/path/to/project",className:"font-mono"}),(0,t.jsx)(r.$n,{variant:"solid",tone:"primary",size:"sm",disabled:m,onClick:v,children:m?"Scanning…":"Scan"}),(0,t.jsx)(h,{onSelect:e=>{i(e)}})]}),a&&!a.ok&&(0,t.jsx)("p",{className:"mt-3 text-xs text-sev-critical",children:a.error}),(null==a?void 0:a.ok)&&(0,t.jsxs)("div",{className:"mt-3 rounded-lg border border-ok-fill bg-ok-fill px-3 py-2 text-xs text-text",children:["Scanned ",String(a.scanned)," file",1===a.scanned?"":"s"," \xb7"," ",String(a.findings)," finding",1===a.findings?"":"s"," recorded."," ",void 0!==a.findings&&a.findings>0&&(0,t.jsx)(l(),{href:"/findings",className:"font-semibold text-primary underline",children:"View findings"})]})]})})}},5756:(e,s,n)=>{Promise.resolve().then(n.bind(n,523)),Promise.resolve().then(n.bind(n,3319)),Promise.resolve().then(n.bind(n,1328)),Promise.resolve().then(n.bind(n,6388)),Promise.resolve().then(n.bind(n,9822)),Promise.resolve().then(n.bind(n,6179)),Promise.resolve().then(n.bind(n,9912)),Promise.resolve().then(n.bind(n,3868)),Promise.resolve().then(n.bind(n,6324)),Promise.resolve().then(n.bind(n,8283)),Promise.resolve().then(n.bind(n,7735)),Promise.resolve().then(n.bind(n,6053)),Promise.resolve().then(n.bind(n,5130)),Promise.resolve().then(n.bind(n,6418)),Promise.resolve().then(n.bind(n,1462)),Promise.resolve().then(n.bind(n,3760)),Promise.resolve().then(n.bind(n,965)),Promise.resolve().then(n.bind(n,8885)),Promise.resolve().then(n.bind(n,7461)),Promise.resolve().then(n.bind(n,4285)),Promise.resolve().then(n.bind(n,1247)),Promise.resolve().then(n.bind(n,4453)),Promise.resolve().then(n.bind(n,3741)),Promise.resolve().then(n.bind(n,666)),Promise.resolve().then(n.bind(n,1648)),Promise.resolve().then(n.bind(n,1447)),Promise.resolve().then(n.bind(n,4026)),Promise.resolve().then(n.bind(n,5392)),Promise.resolve().then(n.bind(n,801)),Promise.resolve().then(n.bind(n,3492)),Promise.resolve().then(n.bind(n,6909)),Promise.resolve().then(n.bind(n,5875)),Promise.resolve().then(n.bind(n,5530)),Promise.resolve().then(n.bind(n,974)),Promise.resolve().then(n.bind(n,7526)),Promise.resolve().then(n.bind(n,5850)),Promise.resolve().then(n.bind(n,9102)),Promise.resolve().then(n.bind(n,4952)),Promise.resolve().then(n.bind(n,3365)),Promise.resolve().then(n.bind(n,4127)),Promise.resolve().then(n.bind(n,7889)),Promise.resolve().then(n.bind(n,209)),Promise.resolve().then(n.bind(n,1951)),Promise.resolve().then(n.bind(n,4931))},8013:(e,s,n)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),!function(e,s){for(var n in s)Object.defineProperty(e,n,{enumerable:!0,get:s[n]})}(s,{callServer:function(){return t.callServer},createServerReference:function(){return i.createServerReference},findSourceMapURL:function(){return r.findSourceMapURL}});let t=n(7982),r=n(3738),i=n(4656)}},e=>{e.O(0,[24,338,561,949,496,358],()=>e(e.s=5756)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[606],{891:(e,n,r)=>{Promise.resolve().then(r.bind(r,523)),Promise.resolve().then(r.bind(r,3319)),Promise.resolve().then(r.bind(r,1328)),Promise.resolve().then(r.bind(r,6388)),Promise.resolve().then(r.bind(r,9822)),Promise.resolve().then(r.bind(r,6179)),Promise.resolve().then(r.bind(r,9912)),Promise.resolve().then(r.bind(r,3868)),Promise.resolve().then(r.bind(r,6324)),Promise.resolve().then(r.bind(r,8283)),Promise.resolve().then(r.bind(r,7735)),Promise.resolve().then(r.bind(r,6053)),Promise.resolve().then(r.bind(r,5130)),Promise.resolve().then(r.bind(r,6418)),Promise.resolve().then(r.bind(r,1462)),Promise.resolve().then(r.bind(r,3760)),Promise.resolve().then(r.bind(r,965)),Promise.resolve().then(r.bind(r,8885)),Promise.resolve().then(r.bind(r,7461)),Promise.resolve().then(r.bind(r,4285)),Promise.resolve().then(r.bind(r,1247)),Promise.resolve().then(r.bind(r,4453)),Promise.resolve().then(r.bind(r,3741)),Promise.resolve().then(r.bind(r,666)),Promise.resolve().then(r.bind(r,1648)),Promise.resolve().then(r.bind(r,1447)),Promise.resolve().then(r.bind(r,4026)),Promise.resolve().then(r.bind(r,5392)),Promise.resolve().then(r.bind(r,801)),Promise.resolve().then(r.bind(r,3492)),Promise.resolve().then(r.bind(r,6909)),Promise.resolve().then(r.bind(r,5875)),Promise.resolve().then(r.bind(r,5530)),Promise.resolve().then(r.bind(r,974)),Promise.resolve().then(r.bind(r,7526)),Promise.resolve().then(r.bind(r,5850)),Promise.resolve().then(r.bind(r,9102)),Promise.resolve().then(r.bind(r,4952)),Promise.resolve().then(r.bind(r,3365)),Promise.resolve().then(r.bind(r,4127)),Promise.resolve().then(r.bind(r,7889)),Promise.resolve().then(r.bind(r,209)),Promise.resolve().then(r.bind(r,1951)),Promise.resolve().then(r.bind(r,7704))},7704:(e,n,r)=>{"use strict";r.d(n,{UpdatesClient:()=>h});var s=r(2330),i=r(7942),o=r(8726),l=r(6146),t=r(8013);let d=(0,t.createServerReference)("405a415de1040d163d05df2cbb306dc5933addb744",t.callServer,void 0,t.findSourceMapURL,"applyUpdate"),a=(0,t.createServerReference)("4019a1d19956c7144335f5d90a9080ef4a8c715e83",t.callServer,void 0,t.findSourceMapURL,"installPlugin"),c=(0,t.createServerReference)("005e6cd69d964cc663c56724d44721cc4938ca023f",t.callServer,void 0,t.findSourceMapURL,"checkNow");function h(e){let{statuses:n,availablePlugins:r,checkedAt:t,commands:h,installCommands:m}=e,[v,u]=(0,l.useState)({}),[b,P]=(0,l.useState)({}),[f,p]=(0,l.useState)(null),[x,S]=(0,l.useState)(null),[k,j]=(0,l.useState)(!1),[R,g]=(0,l.useState)(null),[w,y]=(0,l.useTransition)(),[,C]=(0,l.useTransition)();return(0,s.jsxs)("div",{className:"flex max-w-3xl flex-col gap-4",children:[(0,s.jsx)(i.bn,{statuses:n,checkedAt:t,busy:w,onCheckNow:()=>{y(async()=>{await c()})},onApply:e=>{var r;let s=n.find(n=>n.id===e);s&&g({id:e,kind:"update",name:s.name,command:null!=(r=h[e])?r:""})},applyingId:f,outcomes:v,restartRequired:k}),(0,s.jsx)(i.JR,{plugins:r,onInstall:e=>{var n;let s=r.find(n=>n.id===e);s&&g({id:e,kind:"install",name:s.name,command:null!=(n=m[e])?n:""})},installingId:x,outcomes:b}),(0,s.jsx)(o.lG,{open:null!==R,onOpenChange:e=>{e||g(null)},children:(0,s.jsxs)(o.Cf,{children:[(0,s.jsxs)(o.c7,{children:[(0,s.jsxs)(o.L3,{children:[(null==R?void 0:R.kind)==="install"?"Install":"Update"," ",null==R?void 0:R.name,"?"]}),(0,s.jsx)(o.rr,{children:"This runs the following command on this machine:"})]}),(0,s.jsxs)(o.R4,{children:[(0,s.jsx)("pre",{className:"overflow-x-auto rounded-lg border border-border bg-surface-2 p-3 font-mono text-xs text-text",children:null==R?void 0:R.command}),(null==R?void 0:R.id)==="cli"&&(0,s.jsxs)("p",{className:"text-xs text-text-3",children:["This replaces the package the dashboard server itself runs from — you’ll need to restart ",(0,s.jsx)("code",{className:"font-mono",children:"aka dashboard"})," afterwards."]})]}),(0,s.jsxs)(o.Es,{children:[(0,s.jsx)(o.$n,{variant:"ghost",tone:"neutral",size:"sm",onClick:()=>{g(null)},children:"Cancel"}),(0,s.jsx)(o.$n,{variant:"solid",tone:"primary",size:"sm",onClick:()=>{R&&(g(null),"update"===R.kind?p(R.id):S(R.id),C(async()=>{let e="update"===R.kind?await d(R.id):await a(R.id),n={ok:e.ok,output:e.output};"update"===R.kind?(u(e=>({...e,[R.id]:n})),p(null),e.restartRequired&&j(!0)):(P(e=>({...e,[R.id]:n})),S(null))}))},children:"Run it"})]})]})})]})}},8013:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),!function(e,n){for(var r in n)Object.defineProperty(e,r,{enumerable:!0,get:n[r]})}(n,{callServer:function(){return s.callServer},createServerReference:function(){return o.createServerReference},findSourceMapURL:function(){return i.findSourceMapURL}});let s=r(7982),i=r(3738),o=r(4656)}},e=>{e.O(0,[24,561,949,496,358],()=>e(e.s=891)),_N_E=e.O()}]);