@akasecurity/cli 0.9.11 → 0.9.12
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.
- package/dist/cli.js +4764 -3653
- package/extension/content.js +1 -1
- package/extension/manifest.json +1 -1
- package/native-host/host.js +1576 -870
- package/native-host/scan-worker.js +237 -18
- package/native-host/sync.js +333 -65
- package/package.json +5 -5
- package/web-ui/web-ui/.next/BUILD_ID +1 -1
- package/web-ui/web-ui/.next/app-build-manifest.json +87 -87
- package/web-ui/web-ui/.next/app-path-routes-manifest.json +5 -5
- package/web-ui/web-ui/.next/build-manifest.json +2 -2
- package/web-ui/web-ui/.next/prerender-manifest.json +3 -3
- package/web-ui/web-ui/.next/server/app/(app)/activity/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/activity/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/data-shares/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/data-shares/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/data-shares/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/detections/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/detections/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/detections/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/[id]/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/[id]/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/[id]/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/new/page.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/new/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/new/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/page.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/findings/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/findings/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/findings/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/inventory/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/inventory/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/inventory/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/policies/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/policies/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/policies/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/scan/page.js +3 -3
- package/web-ui/web-ui/.next/server/app/(app)/scan/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/scan/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/security/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/security/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/security/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/settings/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/settings/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/updates/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/updates/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/updates/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/vault/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/vault/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/vault/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/_not-found.html +1 -1
- package/web-ui/web-ui/.next/server/app/_not-found.rsc +2 -2
- package/web-ui/web-ui/.next/server/app/index.html +1 -1
- package/web-ui/web-ui/.next/server/app/index.rsc +2 -2
- package/web-ui/web-ui/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app-paths-manifest.json +5 -5
- package/web-ui/web-ui/.next/server/chunks/{739.js → 121.js} +1 -1
- package/web-ui/web-ui/.next/server/chunks/290.js +6 -0
- package/web-ui/web-ui/.next/server/chunks/475.js +1 -1
- package/web-ui/web-ui/.next/server/chunks/589.js +1 -1
- package/web-ui/web-ui/.next/server/chunks/611.js +1015 -0
- package/web-ui/web-ui/.next/server/chunks/7.js +1 -1
- package/web-ui/web-ui/.next/server/chunks/816.js +1 -0
- package/web-ui/web-ui/.next/server/chunks/935.js +1 -1
- package/web-ui/web-ui/.next/server/chunks/968.js +1006 -0
- package/web-ui/web-ui/.next/server/functions-config-manifest.json +6 -6
- package/web-ui/web-ui/.next/server/middleware-manifest.json +5 -5
- package/web-ui/web-ui/.next/server/pages/404.html +1 -1
- package/web-ui/web-ui/.next/server/pages/500.html +1 -1
- package/web-ui/web-ui/.next/server/server-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/server-reference-manifest.json +1 -1
- package/web-ui/web-ui/.next/static/chunks/{526-026c69b926a17dbb.js → 526-f0156de7831566b3.js} +1 -1
- package/web-ui/web-ui/.next/static/chunks/674-d8237c5d0faa4a53.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/activity/page-a27c8937989448e4.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/data-shares/page-2b805f9e1f995092.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/detections/page-a87cfee370c4e0f4.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/{error-dead9507fc349f26.js → error-190085728a856072.js} +1 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/[id]/page-4e214491c7be8d43.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/new/page-c1bb992ee1f12566.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/page-f16ba40d88e414b1.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/findings/page-59c76da638f22b0e.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/inventory/page-c37447caf89a86e1.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/{layout-dc7ae7664dcdc3c5.js → layout-cb3c8c7b6b33414c.js} +1 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/policies/page-ab639e48f60ad7ee.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/scan/page-494614fccc8c62cc.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/security/page-a3095119b3e87341.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/settings/page-469613d499e41093.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/updates/page-5b32bd569c9569d9.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/vault/page-3152ceb31f024b8d.js +1 -0
- package/web-ui/web-ui/.next/static/css/6e72259eccdf4435.css +2 -0
- package/web-ui/web-ui/dist/scan-worker.js +237 -18
- package/web-ui/web-ui/.next/server/chunks/471.js +0 -950
- package/web-ui/web-ui/.next/server/chunks/766.js +0 -6
- package/web-ui/web-ui/.next/server/chunks/851.js +0 -1
- package/web-ui/web-ui/.next/server/chunks/905.js +0 -959
- package/web-ui/web-ui/.next/static/chunks/907-2ba9428e7818b656.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/activity/page-c5a55618d187c906.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/data-shares/page-b1c76b8c00e1ae2a.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/detections/page-159167b47a005b33.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/[id]/page-5e872a82af85ef64.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/new/page-0695d0006518b2cb.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/page-adec99f2f4bbc180.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/findings/page-d013384d2ddb3036.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/inventory/page-42c1b48a01fdecb0.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/policies/page-9b6d7cc4ce9fb33e.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/scan/page-f3ee9ecde06df153.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/security/page-24a003c709776317.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/settings/page-4ea49ce2e765fffb.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/updates/page-6c7b94b070de8986.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/vault/page-f37ab8e1edc67663.js +0 -1
- package/web-ui/web-ui/.next/static/css/c6954dd65f2115e6.css +0 -2
- /package/web-ui/web-ui/.next/static/{osEmGZG6yEV-XkQlklt-B → PMeePXfXsQ2xxrXppySG_}/_buildManifest.js +0 -0
- /package/web-ui/web-ui/.next/static/{osEmGZG6yEV-XkQlklt-B → PMeePXfXsQ2xxrXppySG_}/_ssgManifest.js +0 -0
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
exports.id=766,exports.ids=[766],exports.modules={35653:a=>{function b(a){return Array.isArray(a)?a:[a]}let c=void 0,d=/^\s+$/,e=/(?:[^\\]|^)\\$/,f=/^\\!/,g=/^\\#/,h=/\r?\n/g,i=/^\.{0,2}\/|^\.{1,2}$/,j=/\/$/,k="node-ignore";"undefined"!=typeof Symbol&&(k=Symbol.for("node-ignore"));let l=k,m=(a,b,c)=>(Object.defineProperty(a,b,{value:c}),c),n=/([0-z])-([0-z])/g,o=()=>!1,p=[[/^\uFEFF/,()=>""],[/((?:\\\\)*?)(\\?\s+)$/,(a,b,c)=>b+(0===c.indexOf("\\")?" ":"")],[/(\\+?)\s/g,(a,b)=>{let{length:c}=b;return b.slice(0,c-c%2)+" "}],[/[\\$.|*+(){^]/g,a=>`\\${a}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*(?:\\\*\\\*\\\/)+/,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(a,b,c)=>b+6<c.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(a,b,c)=>b+c.replace(/\\\*/g,"[^\\/]*")],[/\\\\\\(?=[$.|*+(){^])/g,()=>"\\"],[/\\\\/g,()=>"\\"],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(a,b,c,d,e)=>"\\"===b?`\\[${c}${(a=>{let{length:b}=a;return a.slice(0,b-b%2)})(d)}${e}`:"]"===e&&d.length%2==0?`[${(a=>a.startsWith("!")||a.startsWith("\\^")?`^${a.slice("!"===a[0]?1:2)}`:a)(c.replace(n,(a,b,c)=>b.charCodeAt(0)<=c.charCodeAt(0)?a:""))}${d}]`:"[]"],[/(?:[^*])$/,a=>/\/$/.test(a)?`${a}$`:`${a}(?=$|\\/$)`]],q=/(^|\\\/)?\\\*$/,r="regex",s="checkRegex",t={[r](a,b){let c=b?`${b}[^/]+`:"[^/]*";return`${c}(?=$|\\/$)`},[s](a,b){let c=b?`${b}[^/]*`:"[^/]*";return`${c}(?=$|\\/$)`}};class u{constructor(a,b,c,d,e,f){this.pattern=a,this.mark=b,this.negative=e,m(this,"body",c),m(this,"ignoreCase",d),m(this,"regexPrefix",f)}get regex(){let a="_"+r;return this[a]?this[a]:this._make(r,a)}get checkRegex(){let a="_"+s;return this[a]?this[a]:this._make(s,a)}_make(a,b){let c=this.regexPrefix.replace(q,t[a]);return m(this,b,this.ignoreCase?RegExp(c,"i"):new RegExp(c))}}class v{constructor(a){this._ignoreCase=a,this._rules=[]}_add(a){let b;if(a&&a[l]){this._rules=this._rules.concat(a._rules._rules),this._added=!0;return}if("string"==typeof a&&(a={pattern:a}),(b=a.pattern)&&"string"==typeof b&&!d.test(b)&&!e.test(b)&&0!==b.indexOf("#")){let b=(({pattern:a,mark:b},c)=>{let d,e=!1,h=a;0===h.indexOf("!")&&(e=!0,h=h.substr(1));let i=(d=h=h.replace(f,"!").replace(g,"#"),p.reduce((a,[b,c])=>a.replace(b,c.bind(d)),d));return new u(a,b,h,c,e,i)})(a,this._ignoreCase);this._added=!0,this._rules.push(b)}}add(a){return this._added=!1,b("string"==typeof a?a.split(h).filter(Boolean):a).forEach(this._add,this),this._added}test(a,b,d){let e,f=!1,g=!1;this._rules.forEach(h=>{let{negative:i}=h;(g!==i||f===g)&&(!i||f||g||b)&&h[d].test(a)&&(f=!i,g=i,e=i?c:h)});let h={ignored:f,unignored:g};return e&&(h.rule=e),h}}let w=(a,b)=>{throw new b(a)},x=(a,b,c)=>"string"!=typeof a?c(`path must be a string, but got \`${b}\``,TypeError):a?!x.isNotRelative(a)||c(`path should be a \`path.relative()\`d string, but got "${b}"`,RangeError):c("path must not be empty",TypeError),y=a=>i.test(a);x.isNotRelative=y,x.convert=a=>a;class z{constructor({ignorecase:a=!0,ignoreCase:b=a,allowRelativePaths:c=!1}={}){m(this,l,!0),this._rules=new v(b),this._strictPathCheck=!c,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(a){return this._rules.add(a)&&this._initCache(),this}addPattern(a){return this.add(a)}_test(a,b,c,d){let e=a&&x.convert(a);return x(e,a,this._strictPathCheck?w:o),this._t(e,b,c,d)}checkIgnore(a){if(!j.test(a))return this.test(a);let b=a.split("/").filter(Boolean);if(b.pop(),b.length){let a=this._t(b.join("/")+"/",this._testCache,!0,b);if(a.ignored)return a}return this._rules.test(a,!1,s)}_t(a,b,c,d){if(a in b)return b[a];if(d||(d=a.split("/").filter(Boolean)),d.pop(),!d.length)return b[a]=this._rules.test(a,c,r);let e=this._t(d.join("/")+"/",b,c,d);return b[a]=e.ignored?e:this._rules.test(a,c,r)}ignores(a){return this._test(a,this._ignoreCache,!1).ignored}createFilter(){return a=>!this.ignores(a)}filter(a){return b(a).filter(this.createFilter())}test(a){return this._test(a,this._testCache,!0)}}let A=a=>new z(a),B=()=>{x.convert=a=>/^\\\\\?\\/.test(a)||/["<>|\u0000-\u001F]+/u.test(a)?a:a.replace(/\\/g,"/");let a=/^[a-z]:\//i;x.isNotRelative=b=>a.test(b)||y(b)};"undefined"!=typeof process&&"win32"===process.platform&&B(),a.exports=A,A.default=A,a.exports.isPathValid=a=>x(a&&x.convert(a),a,o),m(a.exports,Symbol.for("setupWindows"),B)},82766:(a,b,c)=>{"use strict";let d,e,f;c.d(b,{Pi:()=>cx,S1:()=>R,tq:()=>U,IL:()=>cA,Lr:()=>cv,yy:()=>M,Kq:()=>cy,UE:()=>V,I9:()=>cr,US:()=>cm,f2:()=>cw,u5:()=>cB,OF:()=>ct,cW:()=>Y});var g=c(31421),h=c(48161);let i="win32"===process.platform,j=/[\s&|^<>()"]/;function k(a){return j.test(a)?`"${a.replaceAll('"','""')}"`:a}let l=/^[\w@%+=:,./-]+$/;function m(a){return i?a.map(k):a}let n="win32"===process.platform?{cwd:(0,h.homedir)()}:{};function o(a){let b="win32"===process.platform?"where":"command",c="win32"===process.platform?[a]:["-v",a];try{let a=(0,g.spawnSync)(b,c,{stdio:"ignore",shell:"win32"!==process.platform,...n});return 0===a.status}catch{return!1}}function p(a,b,c=15e3){try{let d=(0,g.execFileSync)(a,m(b),{encoding:"utf8",timeout:c,stdio:["ignore","pipe","pipe"],shell:i,...n});return{ok:!0,stdout:d.trim(),stderr:""}}catch(a){return{ok:!1,stdout:"string"==typeof a.stdout?a.stdout.trim():"",stderr:"string"==typeof a.stderr?a.stderr.trim():""}}}function q(a,b){try{return(0,g.execFileSync)(a,m(b),{stdio:"inherit",shell:i,...n}),!0}catch{return!1}}let r={claude:{install:a=>[["plugin","install",a]],update:a=>[["plugin","update",a]],register:a=>[["plugin","marketplace","add",a]],refresh:a=>[["plugin","marketplace","update",a]]},codex:{install:a=>[["plugin","add",a]],update:a=>[["plugin","add",a]],register:a=>[["plugin","marketplace","add",a]],refresh:a=>[["plugin","marketplace","upgrade",a]]}};function s(a){let b=r[a],c=b=>b.every(b=>q(a,[...b])),d=b=>b.map(b=>`${a} ${b.join(" ")}`),e=(a,c)=>[...b.register(a),...c?b.refresh(c):[]],f=(a,c)=>d([...c?b.register(c):[],...a]),g=(a,b,c)=>d([...b?e(b,c):[],...a]);return{available:()=>o(a),marketplaceSteps:e,installSteps:a=>b.install(a),updateSteps:a=>b.update(a),installRecipe:(a,c)=>f(b.install(a),c),updateRecipe:(a,c)=>f(b.update(a),c),installSpawnPlan:(a,c,d)=>g(b.install(a),c,d),updateSpawnPlan:(a,c,d)=>g(b.update(a),c,d),install:a=>c(b.install(a)),update:a=>c(b.update(a))}}var t=c(73024),u=c(76760),v=c(73136),w=c(49008);let x=[{id:"claude-code",name:"Claude Code",sourceTool:w.Zdp.ClaudeCode,description:"Hooks Claude Code sessions to detect + redact sensitive data in prompts, responses, and file writes.",npmPackage:"@akasecurity/ai-tc-claude-code",pluginName:"ai-tc",marketplace:"akasecurity",marketplaceSource:"akasecurity/marketplace",cliBin:"claude"},{id:"codex",name:"Codex CLI",sourceTool:w.Zdp.Codex,description:"Hooks Codex CLI sessions to detect + redact sensitive data in prompts, responses, and Bash tool calls.",npmPackage:"@akasecurity/ai-tc-codex",pluginName:"aka-codex",marketplace:"ai-tc",marketplaceSource:"akasecurity/ai-tc",cliBin:"codex"},{id:"antigravity",name:"Antigravity",sourceTool:w.Zdp.Antigravity,description:"Hooks Antigravity CLI sessions to detect sensitive data in shell commands and file writes.",npmPackage:"@akasecurity/ai-tc-antigravity",installHint:"Antigravity installs plugins from a local directory rather than a marketplace:\n npm pack @akasecurity/ai-tc-antigravity && tar -xzf akasecurity-ai-tc-antigravity-*.tgz\n agy plugin install ./package\nThen run `aka init` to set up the local store."}];function y(a){if(a.pluginName&&a.marketplace)return`${a.pluginName}@${a.marketplace}`}function z(a){let b=/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z-.]+))?$/.exec(a.trim());return b?{core:[Number(b[1]),Number(b[2]),Number(b[3])],pre:b[4]?b[4].split("."):[]}:null}function A(a){return null!==z(a)}function B(a,b){let c=z(a),d=z(b);if(!c||!d)return 0;for(let a=0;a<3;a++){let b=c.core[a]??0,e=d.core[a]??0;if(b!==e)return b<e?-1:1}return function(a,b){if(0===a.length&&0===b.length)return 0;if(0===a.length)return 1;if(0===b.length)return -1;let c=Math.min(a.length,b.length);for(let d=0;d<c;d++){let c=a[d]??"",e=b[d]??"";if(c===e)continue;let f=/^\d+$/.test(c),g=/^\d+$/.test(e);if(f&&!g)return -1;if(!f&&g)return 1;if(f&&g)return Number(c)<Number(e)?-1:1;return c<e?-1:1}return a.length===b.length?0:a.length<b.length?-1:1}(c.pre,d.pre)}let C="@akasecurity/cli";function D(a){return"object"==typeof a&&null!==a}function E(a){let b=p("npm",["view",a,"version"],15e3);if(!b.ok||!b.stdout)return null;let c=b.stdout.split("\n").pop()?.trim();return c&&/^\d/.test(c)?c:null}function F(a){return a.split(u.sep).filter(Boolean)}function G(a,b){for(let c=a.length-b.length;c>=0;c--)if(b.every((b,d)=>a[c+d]===b))return c;return -1}function H(a){let b=0;for(;a[b]===u.sep;)b++;return a.slice(0,b)}function I(a,b){return b+a.join(u.sep)}let J=new Set(["homebrew","local","linuxbrew",".linuxbrew"]),K=[["pnpm-lock.yaml","pnpm"],["yarn.lock","yarn"],["bun.lock","bun"],["bun.lockb","bun"],["package-lock.json","npm"]];function L(a){return"yarn"===a.toLowerCase().replace(/^\./,"")}function M(a){var b;return function(a){if(a.sea)return{kind:"sea",execPath:a.execPath,installRoot:function(a){let b=F(a),c=b[b.length-2];return b.length<4||!c?.startsWith("aka-")?null:I(b.slice(0,b.length-3),H(a))}(a.execPath)};if(void 0===a.moduleDir)return{kind:"unknown",detail:"the running module has no resolvable path"};let b=function(a,b){let c=b;for(let b=0;b<8;b++){if(a.packageName(c)===C)return c;let b=(0,u.dirname)(c);if(b===c)break;c=b}return null}(a,a.moduleDir);if(null===b){let b=function(a,b){let c=b;for(let b=0;b<8;b++){if(a.exists((0,u.join)(c,"pnpm-workspace.yaml")))return c;let b=(0,u.dirname)(c);if(b===c)break;c=b}return null}(a,a.moduleDir);return null!==b?{kind:"dev",packageDir:b}:{kind:"unknown",detail:`no ${C} package.json above ${a.moduleDir}`}}let c=function(a){let b=a.lastIndexOf(".pnpm");if(b<1)return a;let c=a.indexOf("node_modules",b+1);if(c<0)return a;let d=a.slice(0,b),e="node_modules"===d[d.length-1]?[]:["node_modules"];return[...d,...e,...a.slice(c+1)]}(F(b)),d=H(b);if(c.some((a,b)=>"Cellar"===a&&b>=1&&J.has(c[b-1]??"")))return{kind:"homebrew",packageDir:b};let e=G(c,["install","global","node_modules"]);if(e>=0)return{kind:"global",manager:"bun",root:I(c.slice(0,e+2),d),packageDir:b};let f=G(c,["global"]);if(f>=0&&"node_modules"===c[f+2]&&/^\d+$/.test(c[f+1]??""))return{kind:"global",manager:"pnpm",root:I(c.slice(0,f+1),d),packageDir:b};let g=G(c,["global","node_modules"]);if(g>=1&&c.slice(Math.max(0,g-2),g).some(L))return{kind:"global",manager:"yarn",root:I(c.slice(0,g+1),d),packageDir:b};let h=G(c,["lib","node_modules"]);if(h>=0)return{kind:"global",manager:"npm",root:I(c.slice(0,h),d),packageDir:b};let i=G(c,["node_modules"]);if(i>=0){let e=I(c.slice(0,i),d);return a.exists((0,u.join)(e,"package.json"))?a.exists((0,u.join)(e,"pnpm-workspace.yaml"))?{kind:"dev",packageDir:b}:{kind:"project",packageDir:b,projectRoot:e,manager:function(a,b){for(let[c,d]of K)if(a.exists((0,u.join)(b,c)))return d;return"npm"}(a,e)}:a.exists((0,u.join)(e,"src"))?{kind:"dev",packageDir:b}:{kind:"global",manager:"npm",root:e,packageDir:b}}return a.exists((0,u.join)(b,"src"))?{kind:"dev",packageDir:b}:{kind:"unknown",detail:`unrecognised layout at ${b}`}}((b=a,{sea:function(){try{let a=c(15895);return"function"==typeof a.isSea&&a.isSea()}catch{return!1}}(),execPath:N(process.execPath),moduleDir:void 0===b.moduleDir?void 0:N(b.moduleDir),exists:t.existsSync,packageName:O}))}function N(a){try{return(0,t.realpathSync)(a)}catch{return a}}function O(a){let b=(0,u.join)(a,"package.json");if(!(0,t.existsSync)(b))return null;try{let a=JSON.parse((0,t.readFileSync)(b,"utf8"));return D(a)&&"string"==typeof a.name?a.name:null}catch{return null}}function P(a,b,c,d=6e5){if("inherit"===c)return{ok:q(a,[...b]),output:""};let e=p(a,[...b],d);return{ok:e.ok,output:[e.stdout,e.stderr].filter(Boolean).join("\n")}}function Q(a,b,c){let d=[];for(let e of b){let b=P(a,e,c);if(b.output&&d.push(b.output),!b.ok)return{ok:!1,output:d.join("\n")}}return{ok:!0,output:d.join("\n")}}function R(a,b="capture",c=o){let d=function(a,b=process.platform){let c=`${C}@latest`;switch(a.kind){case"global":return function(a,b,c,d){let e={npm:["install","-g","--prefix",b,c],pnpm:["add","-g","--global-dir",b,c],yarn:["global","add",c],bun:["add","-g",c]}[a],f=[a,...e.map(a=>(function(a,b=process.platform){return"win32"===b?k(a):a.length>0&&l.test(a)?a:`'${a.replaceAll("'",String.raw`'\''`)}'`})(a,d))].join(" ");return{command:{bin:a,args:e},display:f}}(a.manager,a.root,c,b);case"homebrew":return{command:null,display:"brew upgrade aka",reason:"this copy is managed by Homebrew — brew owns the files under Cellar"};case"sea":return{command:null,display:"win32"===b?"irm https://raw.githubusercontent.com/akasecurity/ai-tc/bin-latest/tools/installer/install.ps1 | iex":"curl -fsSL https://raw.githubusercontent.com/akasecurity/ai-tc/bin-latest/tools/installer/install.sh | sh",reason:"this is the standalone binary — it embeds its own runtime and has no npm package behind it, so re-run the installer to replace it"};case"dev":return{command:null,display:"git pull",reason:`running from a source checkout at ${a.packageDir} — nothing to install`};case"project":{let b="npm"===a.manager?"install":"add";return{command:null,display:`${a.manager} ${b} ${c}`,reason:`this copy is a dependency of the project at ${a.projectRoot}, not a global install — update it there, in that project`}}case"unknown":return{command:null,display:`npm install -g ${c}`,reason:`could not tell how this copy of aka was installed (${a.detail})`}}}(a);if(null===d.command)return{ok:!1,output:`Cannot update automatically: ${d.reason??"unsupported install"}.
|
|
2
|
-
Run: ${d.display}`};let{bin:e,args:f}=d.command;return c(e)?P(e,f,b):{ok:!1,output:`the \`${e}\` CLI isn't on your PATH — install it, then run: ${d.display}`}}function S(a){let b=x.find(b=>b.id===a);if(!b)return{ok:!1,output:`unknown agent '${a}'`};let c=y(b),d=b.cliBin;if(!c||!d)return{ok:!1,output:`${b.name} has no automated install path yet.`};let e=s(d);if(!e.available()){let a=b.marketplaceSource,f=e.installRecipe(c,a).join(" && "),g=e.updateRecipe(c,a).join(" && "),h=f===g?`\`${f}\` (that installs or updates)`:`\`${f}\` (or update with \`${g}\`)`;return{ok:!1,output:`the \`${d}\` CLI isn't on your PATH — install ${b.name}, then run ${h}.`}}return{ref:c,cliBin:d,marketplace:b.marketplace,marketplaceSource:b.marketplaceSource}}function T(a,b){if(a.marketplaceSource)for(let c of s(a.cliBin).marketplaceSteps(a.marketplaceSource,a.marketplace))P(a.cliBin,c,b,6e4)}function U(a,b="capture"){let c=S(a);if("ok"in c)return c;T(c,b);let d=s(c.cliBin);return Q(c.cliBin,d.updateSteps(c.ref),b)}function V(a,b="capture"){let c=S(a);if("ok"in c)return c;T(c,b);let d=s(c.cliBin);return Q(c.cliBin,d.installSteps(c.ref),b)}var W=c(77598);function X(a){return`com.akasecurity.aka.background-sync.${(0,W.createHash)("sha256").update(a).digest("hex").slice(0,12)}`}function Y(a,b={}){try{if((b.platform??process.platform)!=="darwin")return;(b.runLaunchctl??function(a){return p("launchctl",a).ok})(["bootout",`${function(){let a=process.getuid;return`gui/${String("function"==typeof a?a():0)}`}()}/${X(a)}`]),(b.removeFile??(a=>{(0,t.rmSync)(a,{force:!0})}))(u.posix.join(u.posix.join((b.homeDir??h.homedir)(),"Library","LaunchAgents"),`${X(a)}.plist`))}catch{}}let Z=s("claude");Z.available,Z.install,Z.update;let $=s("codex");$.available,$.install,$.update;var _=c(80007),aa=c(15905),ab=c(86879);let ac=ab.Yj().optional().transform(a=>{if(void 0===a)return;let b=a.trim().toLowerCase();return""!==b&&"false"!==b&&"0"!==b}).catch(void 0),ad=ab.vk(a=>{if("string"!=typeof a||""!==a.trim())return a},ab.Yj().optional()).catch(void 0);ab.Ik({CLAUDE_CODE_USE_BEDROCK:ac,CLAUDE_CODE_USE_VERTEX:ac,ANTHROPIC_BASE_URL:ad});let ae=JSON.parse('{"specVersion":1,"id":"code-flaws/auth-jwt-no-verify","name":"JWT decoded without signature verification","category":"code_flaw","severity":"critical","matcher":{"type":"regex","pattern":"(verify\\\\s*=\\\\s*false|verify_signature.*false|algorithms\\\\s*=\\\\s*\\\\[\\\\])","flags":"gi"},"requiresNearby":{"labels":["jwt","decode","token"],"windowChars":160},"examples":["jwt.decode(token, options={\\"verify_signature\\": False})","jwt.decode(token, algorithms=[])"]}'),af=JSON.parse('{"specVersion":1,"id":"code-flaws/auth-ssl-verify-false","name":"SSL certificate verification disabled","category":"code_flaw","severity":"high","matcher":{"type":"regex","pattern":"\\\\brequests\\\\.(get|post|put|delete|patch|request)\\\\s*\\\\([^)]*verify\\\\s*=\\\\s*False","flags":"gi"},"examples":["requests.get(url, verify=False)","requests.post(endpoint, data=payload, verify=False)"],"appliesTo":{"extensions":[".py"]}}'),ag=JSON.parse('{"specVersion":1,"id":"code-flaws/cmd-inject-exec","name":"Command injection via Java Runtime.exec","category":"code_flaw","severity":"critical","matcher":{"type":"regex","pattern":"Runtime\\\\.getRuntime\\\\(\\\\)\\\\.exec\\\\(","flags":"g"},"requiresNearby":{"labels":["input","request","param","user"],"windowChars":200},"examples":["Runtime.getRuntime().exec(userInput)"],"appliesTo":{"extensions":[".java"]}}'),ah=JSON.parse('{"specVersion":1,"id":"code-flaws/cmd-inject-node-exec","name":"Command injection via Node.js exec with variable argument","category":"code_flaw","severity":"critical","matcher":{"type":"regex","pattern":"\\\\bexec(?:Sync)?\\\\s*\\\\(\\\\s*(?![\'\\"`])","flags":"g"},"requiresNearby":{"labels":["input","request","param","argv","user","query","body"],"windowChars":200},"examples":["exec(req.query.cmd)","execSync(userInput)"],"appliesTo":{"extensions":[".js",".jsx",".ts",".tsx",".mjs",".cjs"]}}'),ai=JSON.parse('{"specVersion":1,"id":"code-flaws/cmd-inject-shell","name":"Command injection via subprocess shell=True","category":"code_flaw","severity":"critical","matcher":{"type":"regex","pattern":"subprocess\\\\.(run|Popen|call|check_output)\\\\s*\\\\([^)]*shell\\\\s*=\\\\s*True","flags":"gi"},"requiresNearby":{"labels":["input","request","param","argv","user"],"windowChars":300},"examples":["subprocess.run(user_input, shell=True)"],"appliesTo":{"extensions":[".py"]}}'),aj=JSON.parse('{"specVersion":1,"id":"code-flaws/crypto-insecure-random","name":"Insecure random number generator used for security-sensitive value","category":"code_flaw","severity":"medium","matcher":{"type":"regex","pattern":"\\\\b(Math\\\\.random\\\\(\\\\)|random\\\\.random\\\\(\\\\)|random\\\\.randint\\\\()","flags":"gi"},"requiresNearby":{"labels":["token","session","key","password","secret","nonce","salt"],"windowChars":160},"examples":["const token = Math.random().toString(36)","session_key = str(random.random())"],"appliesTo":{"extensions":[".js",".jsx",".ts",".tsx",".mjs",".cjs",".py"]}}'),ak=JSON.parse('{"specVersion":1,"id":"code-flaws/crypto-weak-hash-md5","name":"Weak cryptographic hash: MD5","category":"code_flaw","severity":"medium","matcher":{"type":"regex","pattern":"(hashlib\\\\.md5\\\\s*\\\\(|MD5\\\\.(?:digest|hash)\\\\b|Digest::MD5|MessageDigest\\\\.getInstance\\\\s*\\\\(\\\\s*[\\"\']MD5[\\"\'])","flags":"gi"},"examples":["hashlib.md5(password.encode())","MessageDigest.getInstance(\\"MD5\\")"],"appliesTo":{"extensions":[".py",".rb",".java"]}}'),al=JSON.parse('{"specVersion":1,"id":"code-flaws/crypto-weak-hash-sha1","name":"Weak cryptographic hash: SHA-1 in security context","category":"code_flaw","severity":"medium","matcher":{"type":"regex","pattern":"(hashlib\\\\.sha1\\\\s*\\\\(|SHA1\\\\.(?:digest|hash)\\\\b|Digest::SHA1|MessageDigest\\\\.getInstance\\\\s*\\\\(\\\\s*[\\"\']SHA-?1[\\"\'])","flags":"gi"},"requiresNearby":{"labels":["password","credential","hash","token","secret"],"windowChars":160},"examples":["password_hash = hashlib.sha1(password.encode()).hexdigest()","MessageDigest.getInstance(\\"SHA1\\")"],"appliesTo":{"extensions":[".py",".rb",".java"]}}'),am=JSON.parse('{"specVersion":1,"id":"code-flaws/deser-java-ois","name":"Insecure deserialization via Java ObjectInputStream","category":"code_flaw","severity":"critical","matcher":{"type":"regex","pattern":"\\\\bObjectInputStream\\\\b","flags":"g"},"requiresNearby":{"labels":["readObject"],"windowChars":200},"examples":["ObjectInputStream ois = new ObjectInputStream(inputStream); Object obj = ois.readObject();"],"appliesTo":{"extensions":[".java"]}}'),an=JSON.parse('{"specVersion":1,"id":"code-flaws/deser-pickle","name":"Insecure deserialization via Python pickle","category":"code_flaw","severity":"critical","matcher":{"type":"regex","pattern":"\\\\bpickle\\\\.loads?\\\\s*\\\\(","flags":"gi"},"examples":["data = pickle.loads(user_data)","obj = pickle.load(request.stream)"],"appliesTo":{"extensions":[".py"]}}'),ao=JSON.parse('{"specVersion":1,"id":"code-flaws/deser-yaml-unsafe","name":"Insecure deserialization via yaml.load without SafeLoader","category":"code_flaw","severity":"high","matcher":{"type":"regex","pattern":"\\\\byaml\\\\.load\\\\s*\\\\((?![^)]*SafeLoader|[^)]*safe_load)","flags":"gi"},"examples":["data = yaml.load(user_input)","config = yaml.load(f)"],"appliesTo":{"extensions":[".py"]}}'),ap=JSON.parse('{"specVersion":1,"id":"code-flaws/dev-debug-enabled","name":"Debug mode enabled in configuration","category":"code_flaw","severity":"medium","matcher":{"type":"regex","pattern":"\\\\bdebug\\\\s*[=:]\\\\s*(true|1|yes)","flags":"gi"},"examples":["DEBUG = True","debug: true","app.debug = True"]}'),aq=JSON.parse('{"specVersion":1,"id":"code-flaws/dev-placeholder-secret","name":"Placeholder or default secret left in code","category":"code_flaw","severity":"high","matcher":{"type":"keyword","keywords":["changeme","placeholder","your-secret","dev-secret","replace-me","todo-secret"],"caseSensitive":false},"requiresNearby":{"labels":["key","secret","password","token"],"windowChars":80},"examples":["SECRET_KEY = \'changeme\'","api_token = \'your-secret\'"]}'),ar=JSON.parse('{"specVersion":1,"id":"code-flaws/dev-wildcard-cors","name":"CORS wildcard allowing all origins","category":"code_flaw","severity":"medium","matcher":{"type":"regex","pattern":"(Access-Control-Allow-Origin:\\\\s*\\\\*|origin:\\\\s*[\\"\']\\\\*[\\"\']|allow_all_origins\\\\s*=\\\\s*True|CORS_ALLOW_ALL_ORIGINS\\\\s*=\\\\s*True)","flags":"gi"},"examples":["Access-Control-Allow-Origin: *","cors({ origin: \'*\' })","CORS_ALLOW_ALL_ORIGINS = True"]}'),as=JSON.parse('{"specVersion":1,"id":"code-flaws/eval-dynamic-exec","name":"Dynamic code execution with user-controlled input","category":"code_flaw","severity":"critical","matcher":{"type":"regex","pattern":"\\\\b(eval|exec)\\\\s*\\\\(\\\\s*(?![\'\\"`])","flags":"g"},"requiresNearby":{"labels":["input","request","param","user","query","body"],"windowChars":200},"examples":["eval(request.body.code)","exec(user_input)"]}'),at=JSON.parse('{"specVersion":1,"id":"code-flaws/hardcoded-password","name":"Hardcoded password in source code","category":"code_flaw","severity":"high","matcher":{"type":"regex","pattern":"(?:password|passwd|pwd)\\\\s*=\\\\s*[\\"\']([^\\"\']{3,})[\\"\']","flags":"gi","captureGroup":1},"postValidators":[{"name":"entropy","config":{"minLength":8,"threshold":3}}],"examples":["password = \\"Tr0ub4dor&3\\"","DB_PASSWORD = \'c0rr3ctH0rseBatt3ry\'"]}'),au=JSON.parse('{"specVersion":1,"id":"code-flaws/hardcoded-secret-key","name":"Hardcoded API key or secret key in source code","category":"code_flaw","severity":"high","matcher":{"type":"regex","pattern":"\\\\b(secret[_-]?key|api[_-]?key|auth[_-]?token)\\\\s*=\\\\s*[\\"\'][^\\"\']{8,}[\\"\']","flags":"gi"},"postValidators":["entropy"],"examples":["SECRET_KEY = \\"a9f2c8e1b4d7f3a6c9e2b5d8f1a4c7e0\\"","api_key = \'sk-proj-abc123XYZ789def456\'"]}'),av=JSON.parse('{"specVersion":1,"id":"code-flaws/path-traversal-join","name":"Path traversal via os.path.join with user-controlled component","category":"code_flaw","severity":"high","matcher":{"type":"regex","pattern":"os\\\\.path\\\\.join\\\\s*\\\\([^,)]+,\\\\s*(request|req|params|user)","flags":"gi"},"examples":["os.path.join(base_dir, request.args[\'file\'])","os.path.join(upload_dir, user_filename)"],"appliesTo":{"extensions":[".py"]}}'),aw=JSON.parse('{"specVersion":1,"id":"code-flaws/path-traversal-open","name":"Path traversal via open() with user-controlled path","category":"code_flaw","severity":"high","matcher":{"type":"regex","pattern":"\\\\bopen\\\\s*\\\\(\\\\s*(request|req|params|argv|input)","flags":"gi"},"requiresNearby":{"labels":["request","param","input","argv","user"],"windowChars":200},"examples":["open(request.args[\'filename\'])","open(params[\'path\'])"],"appliesTo":{"extensions":[".py",".rb"]}}'),ax=JSON.parse('{"specVersion":1,"id":"code-flaws/prototype-pollution-merge","name":"Prototype pollution via merge with user-controlled input","category":"code_flaw","severity":"high","matcher":{"type":"regex","pattern":"(Object\\\\.assign\\\\s*\\\\(\\\\s*\\\\w+\\\\s*,\\\\s*(req|request|body|params|query)|_\\\\.merge\\\\s*\\\\(\\\\s*\\\\w+\\\\s*,\\\\s*(req|request))","flags":"gi"},"examples":["Object.assign(config, req.body)","_.merge(target, request.body)"],"appliesTo":{"extensions":[".js",".jsx",".ts",".tsx",".mjs",".cjs"]}}'),ay=JSON.parse('{"specVersion":1,"id":"code-flaws/regex-redos-backtrack","name":"ReDoS via catastrophic backtracking pattern","category":"code_flaw","severity":"medium","matcher":{"type":"regex","pattern":"\\\\((?:\\\\?:)?(?:\\\\\\\\.|\\\\[[^\\\\]]*\\\\]|[^\\\\\\\\()\\\\[\\\\]+*?|])[+*](?:(?:\\\\\\\\.|\\\\[[^\\\\]]*\\\\]|[^\\\\\\\\()\\\\[\\\\]+*?|])\\\\*)?\\\\)[+*]|\\\\((?:\\\\?:)?([^()|]+)\\\\|\\\\1\\\\)[+*]","flags":"g"},"examples":["/(a+)+/","/(\\\\w+\\\\s*)+/"]}'),az=JSON.parse('{"specVersion":1,"id":"code-flaws/sql-inject-concat-dot","name":"SQL injection via string concatenation (PHP dot operator)","category":"code_flaw","severity":"high","matcher":{"type":"regex","pattern":"[\\"\'][^\\\\n]*?(select|insert|update|delete|drop|where)[^\\\\n]*?[\\"\']\\\\s*\\\\.","flags":"gi"},"appliesTo":{"extensions":[".php"]},"examples":["$query = \\"SELECT * FROM orders WHERE user = \\" . $username;"]}'),aA=JSON.parse('{"specVersion":1,"id":"code-flaws/sql-inject-concat","name":"SQL injection via string concatenation","category":"code_flaw","severity":"high","matcher":{"type":"regex","pattern":"[\\"\']\\\\s*(?:select\\\\b[^\\\\n]*?\\\\bfrom\\\\b|insert\\\\s+into\\\\b|update\\\\s+\\\\S+\\\\s+set\\\\b|delete\\\\s+from\\\\b|drop\\\\s+(?:table|database)\\\\b|where\\\\b[^\\\\n]*?=)[^\\\\n]*?[\\"\']\\\\s*\\\\+","flags":"gi"},"examples":["\\"SELECT * FROM users WHERE id = \\" + userId"]}'),aB=JSON.parse('{"specVersion":1,"id":"code-flaws/sql-inject-format","name":"SQL injection via format string or f-string","category":"code_flaw","severity":"high","matcher":{"type":"regex","pattern":"\\\\b(?:select\\\\b[^\\\\n]*?\\\\bfrom\\\\b|insert\\\\s+into\\\\b|update\\\\s+\\\\S+\\\\s+set\\\\b|delete\\\\s+from\\\\b|drop\\\\s+(?:table|database)\\\\b|where\\\\b[^\\\\n]*?=)[^\\\\n]*?(?:[%][sd]|\\\\{[^}]+\\\\})","flags":"gi"},"examples":["f\\"SELECT * FROM users WHERE id = {user_id}\\"","\\"SELECT * FROM users WHERE name = \'%s\'\\" % name"]}'),aC=JSON.parse('{"specVersion":1,"id":"code-flaws/sql-inject-interp","name":"SQL injection via Ruby string interpolation or PHP variable","category":"code_flaw","severity":"high","matcher":{"type":"regex","pattern":"(select|insert|update|delete|where)[^\\\\n]*?(#\\\\{|\\\\$[a-z_])","flags":"gi"},"examples":["\\"SELECT * FROM users WHERE id = #{params[:id]}\\"","\\"SELECT * FROM users WHERE id = $userId\\""],"appliesTo":{"extensions":[".rb",".php"]}}'),aD=JSON.parse('{"specVersion":1,"id":"code-flaws/ssrf-user-url","name":"Server-side request forgery via user-controlled URL","category":"code_flaw","severity":"high","matcher":{"type":"regex","pattern":"(fetch|axios\\\\.\\\\w+|requests\\\\.get|urllib\\\\.request\\\\.urlopen)\\\\s*\\\\(\\\\s*(req|request|params|query|body)","flags":"gi"},"examples":["fetch(req.query.url)","requests.get(request.form[\'url\'])"],"appliesTo":{"extensions":[".js",".jsx",".ts",".tsx",".mjs",".cjs",".py"]}}'),aE=JSON.parse('{"specVersion":1,"id":"code-flaws/xss-dangerously-set","name":"XSS via React dangerouslySetInnerHTML","category":"code_flaw","severity":"high","matcher":{"type":"keyword","keywords":["dangerouslySetInnerHTML"],"caseSensitive":true},"examples":["<div dangerouslySetInnerHTML={{ __html: userContent }} />"],"appliesTo":{"extensions":[".js",".jsx",".ts",".tsx"]}}'),aF=JSON.parse('{"specVersion":1,"id":"code-flaws/xss-inner-html","name":"XSS via innerHTML assignment","category":"code_flaw","severity":"high","matcher":{"type":"keyword","keywords":["innerHTML =","innerHTML="],"caseSensitive":true},"examples":["element.innerHTML = userInput"],"appliesTo":{"extensions":[".js",".jsx",".ts",".tsx",".mjs",".cjs"]}}'),aG=JSON.parse('{"specVersion":1,"id":"code-flaws/xss-unescaped-render","name":"XSS via unescaped template rendering","category":"code_flaw","severity":"high","matcher":{"type":"regex","pattern":"(\\\\braw\\\\s*\\\\(|\\\\bhtml_safe\\\\b|\\\\|\\\\s*safe\\\\b|\\\\bmark_safe\\\\s*\\\\()","flags":"gi"},"examples":["<%= raw(user_comment) %>","{{ user_input | safe }}","mark_safe(user_html)"],"appliesTo":{"extensions":[".rb",".py"]}}'),aH=JSON.parse('{"specVersion":1,"id":"core-code-context/db-table-name","name":"Internal database table/column name","category":"code_context","severity":"low","matcher":{"type":"keyword","keywords":["SELECT * FROM ","SELECT COUNT(*) FROM ","INSERT INTO ","DELETE FROM ","CREATE TABLE ","ALTER TABLE ","DROP TABLE ","FROM users","FROM orders","FROM employees","FROM customers","FROM accounts","FROM transactions","FROM products","FROM payments"],"caseSensitive":false},"examples":["SELECT * FROM users WHERE id = 1"]}'),aI=JSON.parse('{"specVersion":1,"id":"core-code-context/feature-flag","name":"Feature flag / toggle name","category":"code_context","severity":"low","matcher":{"type":"keyword","keywords":["feature_flag:","feature_toggle:","feature-flag:","feature-toggle:","FF_","FEATURE_FLAG_","FEATURE_TOGGLE_","unleash:","launchdarkly:","split.io:"],"caseSensitive":false},"examples":["feature_flag: new-checkout-flow","FF_ENABLE_DARK_MODE"]}'),aJ=JSON.parse('{"specVersion":1,"id":"core-code-context/file-path","name":"User home / identity-bearing file path","category":"code_context","severity":"low","matcher":{"type":"regex","pattern":"(?:/home|/Users)/[A-Za-z0-9_.@-]+(?:/[A-Za-z0-9_.@+-]+)*|/root(?:/[A-Za-z0-9_.@+-]+)+|[A-Za-z]:\\\\\\\\[Uu]sers\\\\\\\\[A-Za-z0-9_.-]+(?:\\\\\\\\[A-Za-z0-9_.-]+)*","flags":"g"},"examples":["/home/user/.ssh/id_rsa","/Users/jane/projects/acme/secrets.env","C:\\\\Users\\\\admin\\\\config.yml"]}'),aK=JSON.parse('{"specVersion":1,"id":"core-code-context/internal-domain","name":"Internal domain / hostname","category":"code_context","severity":"low","matcher":{"type":"regex","pattern":"(?<![A-Za-z0-9.-])[A-Za-z0-9][A-Za-z0-9.-]{0,251}\\\\.(?:internal|corp|local|lan|intranet|private|dev|staging|test|qa)(?:\\\\.(?:com|net|org|io|co|app))?\\\\b","flags":"gi"},"examples":["db.internal.com","app.corp.local","api.staging.example.com"]}'),aL=JSON.parse('{"specVersion":1,"id":"core-code-context/internal-ip","name":"Internal (RFC 1918) IP address","category":"code_context","severity":"low","matcher":{"type":"regex","pattern":"(?<![\\\\d.])(?:10\\\\.(?:25[0-5]|2[0-4]\\\\d|[01]?\\\\d\\\\d?)\\\\.(?:25[0-5]|2[0-4]\\\\d|[01]?\\\\d\\\\d?)\\\\.(?:25[0-5]|2[0-4]\\\\d|[01]?\\\\d\\\\d?)|172\\\\.(?:1[6-9]|2\\\\d|3[01])\\\\.(?:25[0-5]|2[0-4]\\\\d|[01]?\\\\d\\\\d?)\\\\.(?:25[0-5]|2[0-4]\\\\d|[01]?\\\\d\\\\d?)|192\\\\.168\\\\.(?:25[0-5]|2[0-4]\\\\d|[01]?\\\\d\\\\d?)\\\\.(?:25[0-5]|2[0-4]\\\\d|[01]?\\\\d\\\\d?))(?![\\\\d])","flags":"g"},"examples":["10.0.0.1","192.168.1.1","172.16.0.1"]}'),aM=JSON.parse('{"specVersion":1,"id":"core-code-context/internal-url","name":"Internal environment URL","category":"code_context","severity":"low","matcher":{"type":"keyword","keywords":["https://staging.","https://dev.","https://qa.","https://test.","http://staging.","http://dev.","http://qa.","http://test.",".staging.com",".dev.com",".qa.com","staging.internal","dev.internal"],"caseSensitive":false},"examples":["https://staging.example.com"]}'),aN=JSON.parse('{"specVersion":1,"id":"core-code-context/localhost-ref","name":"Localhost reference","category":"code_context","severity":"low","matcher":{"type":"regex","pattern":"(?<![A-Za-z0-9_])(?:localhost|127\\\\.0\\\\.0\\\\.1|0\\\\.0\\\\.0\\\\.0|(?<![A-Za-z0-9_]\\\\[)::1(?!:|\\\\.[0-9]))(?![A-Za-z0-9_])","flags":"g"},"examples":["localhost","127.0.0.1","0.0.0.0","::1"]}'),aO=JSON.parse('{"specVersion":1,"id":"core-code-context/stack-trace","name":"Stack trace (internal code structure)","category":"code_context","severity":"low","matcher":{"type":"regex","pattern":"(?:^|\\\\s+)at\\\\s+[A-Za-z0-9._$<>]+\\\\.[A-Za-z0-9_$]+\\\\s*\\\\([A-Za-z0-9._\\\\-/:]+:\\\\d+:\\\\d+\\\\)","flags":"g"},"examples":["at com.example.service.UserService.findUser(UserService.java:42:13)"]}'),aP=JSON.parse('{"specVersion":1,"id":"core-financial/credit-card","name":"Credit/debit card number","category":"financial","severity":"critical","matcher":{"type":"regex","pattern":"\\\\b(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][0-9]{13}|6(?:011|5[0-9]{2})[0-9]{12})\\\\b","flags":"g"},"postValidators":["luhn"],"examples":["4111111111111111","5500000000000004"]}'),aQ=JSON.parse('{"specVersion":1,"id":"core-financial/cusip","name":"CUSIP security identifier","category":"financial","severity":"medium","matcher":{"type":"regex","pattern":"\\\\bcusip\\\\b[\\\\s#:=-]{0,8}(\\\\d{3}[A-Z0-9]{2}[A-Z0-9*#@]\\\\d{2}[0-9])\\\\b","flags":"gi","captureGroup":1},"examples":["CUSIP: 037833100","CUSIP 931142103"]}'),aR=JSON.parse('{"specVersion":1,"id":"core-financial/cvv","name":"Card security code (CVV/CVC)","category":"financial","severity":"high","matcher":{"type":"regex","pattern":"\\\\b(?:CVV|CVC|CID|security\\\\s+code|card\\\\s+code)[:\\\\s]*\\\\d{3,4}\\\\b","flags":"gi"},"examples":["CVV: 123","CVC: 456"]}'),aS=JSON.parse('{"specVersion":1,"id":"core-financial/iban","name":"International Bank Account Number","category":"financial","severity":"high","matcher":{"type":"regex","pattern":"\\\\b[A-Z]{2}\\\\d{2}[A-Z0-9 ]{10,30}\\\\b","flags":"g"},"requiresNearby":{"labels":["iban","bank","account","bic","swift"],"windowChars":160},"examples":["IBAN: GB82 WEST 1234 5698 7654 32","IBAN: DE89 3704 0044 0532 0130 00"]}'),aT=JSON.parse('{"specVersion":1,"id":"core-financial/paypal","name":"PayPal transaction/merchant ID","category":"financial","severity":"medium","matcher":{"type":"regex","pattern":"paypal.{0,30}?\\\\b([A-Z0-9]{17})\\\\b","flags":"gi","captureGroup":1},"examples":["PayPal transaction ID: 9HW7382910ABCDEF1"]}'),aU=JSON.parse('{"specVersion":1,"id":"core-financial/routing-number","name":"US bank routing number (ABA)","category":"financial","severity":"high","matcher":{"type":"regex","pattern":"\\\\b(?:routing|aba|rtn)\\\\b[\\\\s#:=-]{0,8}(\\\\d{9})\\\\b","flags":"gi","captureGroup":1},"examples":["Routing: 021000021","ABA 111000025"]}'),aV=JSON.parse('{"specVersion":1,"id":"core-financial/salary","name":"Salary/compensation (contextual)","category":"financial","severity":"low","matcher":{"type":"keyword","keywords":["my salary is","my base salary","annual compensation","total comp","my tc is","my package is","i make $","i earn $","offered $"],"caseSensitive":false},"examples":["My salary is $150,000"]}'),aW=JSON.parse('{"specVersion":1,"id":"core-financial/swift","name":"SWIFT/BIC code","category":"financial","severity":"high","matcher":{"type":"regex","pattern":"\\\\b(?:swift|bic)\\\\b[\\\\s#:=-]{0,8}([A-Z]{6}[A-Z0-9]{2}(?:[A-Z0-9]{3})?)\\\\b","flags":"gi","captureGroup":1},"examples":["SWIFT: BOFAUS3N","BIC: CHASGB2LXXX"]}'),aX=JSON.parse('{"specVersion":1,"id":"core-phi/biometric-ref","name":"Biometric data reference","category":"phi","severity":"high","matcher":{"type":"keyword","keywords":["fingerprint data","fingerprint scan","my iris scan","my retina scan","my biometric","my facial recognition","my voiceprint","my palm print","my hand geometry"],"caseSensitive":false},"examples":["My fingerprint data is stored in the biometric database"]}'),aY=JSON.parse('{"specVersion":1,"id":"core-phi/genetic-data","name":"Genetic/DNA sequence reference","category":"phi","severity":"high","matcher":{"type":"keyword","keywords":["my dna sequence","my genome","my genetic","dna test results","genetic test results","my 23andme","my ancestrydna","gene variant","my genotype","my haplogroup"],"caseSensitive":false},"examples":["My DNA sequence shows a variant in the BRCA1 gene"]}'),aZ=JSON.parse('{"specVersion":1,"id":"core-phi/group-id","name":"Health plan group ID","category":"phi","severity":"high","matcher":{"type":"regex","pattern":"\\\\bgroup\\\\s*(?:id|number|no|#)\\\\s*[:#]?\\\\s*[A-Za-z0-9]{6,20}\\\\b","flags":"gi"},"requiresNearby":{"ruleIds":["core-phi/member-id"],"labels":["member id","subscriber","health plan"],"windowChars":200,"confidenceBoost":0.05},"examples":["Member ID: ABC987654321, Group ID: GRP12345678"]}'),a$=JSON.parse('{"specVersion":1,"id":"core-phi/hipaa-identifier","name":"HIPAA standard identifier (health plan / beneficiary / claim number)","category":"phi","severity":"high","matcher":{"type":"regex","pattern":"\\\\b(?:health\\\\s+plan|beneficiary|claim\\\\s+number|subscriber)[:\\\\s]*[A-Za-z0-9]{8,20}\\\\b","flags":"gi"},"examples":["Health Plan: XYZ123456789","Beneficiary: ABC987654321"]}'),a_=JSON.parse('{"specVersion":1,"id":"core-phi/icd10-code","name":"ICD-10 diagnosis code","category":"phi","severity":"medium","matcher":{"type":"regex","pattern":"(?:icd[- ]?10|diagnosis|\\\\bdx\\\\b).{0,12}?([A-Z][0-9]{2}(?:\\\\.[0-9]{1,4})?)\\\\b","flags":"gi","captureGroup":1},"examples":["ICD-10: I10","Diagnosis code E11.9","dx: J45.909"]}'),a0=JSON.parse('{"specVersion":1,"id":"core-phi/member-id","name":"Health plan member ID","category":"phi","severity":"high","matcher":{"type":"regex","pattern":"\\\\bmember\\\\s*(?:id|number|no|#)\\\\s*[:#]?\\\\s*[A-Za-z0-9]{6,20}\\\\b","flags":"gi"},"examples":["Member ID: ABC987654321"]}'),a1=JSON.parse('{"specVersion":1,"id":"core-phi/mrn","name":"Medical Record Number","category":"phi","severity":"high","matcher":{"type":"regex","pattern":"\\\\b(?:MRN|MR#|medical\\\\s+record)[:\\\\s]*[A-Za-z0-9]{6,16}\\\\b","flags":"gi"},"examples":["MRN: 1234567890","Medical Record: ABCD1234"]}'),a2=JSON.parse('{"specVersion":1,"id":"core-phi/ndc-code","name":"National Drug Code (NDC)","category":"phi","severity":"medium","matcher":{"type":"regex","pattern":"\\\\b\\\\d{4,5}-\\\\d{3,4}-\\\\d{1,2}\\\\b","flags":"g"},"examples":["0002-1427-01","68788-6965-1"]}'),a3=JSON.parse('{"specVersion":1,"id":"core-pii/dob","name":"Date of birth","category":"pii","severity":"high","matcher":{"type":"regex","pattern":"\\\\b(?:(?:19[4-9]\\\\d|20[0-1]\\\\d)[/-]\\\\d{1,2}[/-]\\\\d{1,2}|\\\\d{1,2}[/-]\\\\d{1,2}[/-](?:19[4-9]\\\\d|20[0-1]\\\\d))\\\\b","flags":"g"},"requiresNearby":{"categories":["pii"],"labels":["dob","date of birth","birth","d.o.b"],"windowChars":160},"examples":["DOB: 1985-03-22","Date of birth: 03/22/1985"]}'),a4=JSON.parse('{"specVersion":1,"id":"core-pii/drivers-license-us","name":"US driver\'s license number","category":"pii","severity":"high","matcher":{"type":"regex","pattern":"(?:driver\'?s?\\\\s*licen[sc]e|licen[sc]e|\\\\bDL\\\\b).{0,10}?([A-Z]\\\\d{6,8}|\\\\d{8,9})\\\\b","flags":"gi","captureGroup":1},"examples":["Driver\'s License: D1234567","DL: 123456789"]}'),a5=JSON.parse('{"specVersion":1,"id":"core-pii/email","name":"Email address","category":"pii","severity":"medium","matcher":{"type":"regex","pattern":"(?<![A-Za-z0-9._%+-])[A-Za-z0-9._%+-]{1,64}@[A-Za-z0-9.-]{1,255}\\\\.[A-Za-z]{2,24}\\\\b","flags":"g"},"examples":["user@example.com"]}'),a6=JSON.parse('{"specVersion":1,"id":"core-pii/home-address","name":"Home address (contextual)","category":"pii","severity":"medium","matcher":{"type":"keyword","keywords":["my address is","home address","shipping address","billing address","mailing address","my home is at","i reside at"],"caseSensitive":false},"examples":["My address is 123 Main St, Springfield, IL 62701"]}'),a7=JSON.parse('{"specVersion":1,"id":"core-pii/ip-address","name":"IP address","category":"pii","severity":"low","matcher":{"type":"regex","pattern":"\\\\b(?:(?:25[0-5]|2[0-4]\\\\d|[01]?\\\\d\\\\d?)\\\\.){3}(?:25[0-5]|2[0-4]\\\\d|[01]?\\\\d\\\\d?)\\\\b","flags":"g"},"examples":["192.168.1.1","10.0.0.1"]}'),a8=JSON.parse('{"specVersion":1,"id":"core-pii/mac-address","name":"MAC address","category":"pii","severity":"low","matcher":{"type":"regex","pattern":"\\\\b(?:[0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}\\\\b","flags":"g"},"examples":["AA:BB:CC:DD:EE:FF"]}'),a9=JSON.parse('{"specVersion":1,"id":"core-pii/name","name":"Personal name (contextual)","category":"pii","severity":"medium","matcher":{"type":"keyword","keywords":["my name is","my full name","i am called","please call me","name:\\n","\\"full_name\\": \\"","\\"fullName\\": \\""],"caseSensitive":false},"examples":["My name is John Doe"]}'),ba=JSON.parse('{"specVersion":1,"id":"core-pii/national-id","name":"National ID number (multi-country)","category":"pii","severity":"high","matcher":{"type":"regex","pattern":"\\\\b[A-Z]{2}\\\\d{6}[A-D]\\\\b|\\\\b[2-9]\\\\d{11}\\\\b|(?:national\\\\s*id|aadhaar|\\\\bSIN\\\\b).{0,10}?\\\\d{3}[\\\\s-]?\\\\d{3}[\\\\s-]?\\\\d{3}\\\\b","flags":"gi"},"requiresNearby":{"labels":["national id","national identity","national insurance","nino","ni","aadhaar","sin","identity number","id number"],"windowChars":160},"examples":["Aadhaar: 234567890123","NI: AB123456C","SIN: 123-456-789"]}'),bb=JSON.parse('{"specVersion":1,"id":"core-pii/passport-us","name":"US passport number","category":"pii","severity":"high","matcher":{"type":"regex","pattern":"\\\\b[A-Z]\\\\d{8}\\\\b","flags":"g"},"requiresNearby":{"labels":["passport"],"windowChars":160},"examples":["Passport: A12345678"]}'),bc=JSON.parse('{"specVersion":1,"id":"core-pii/phone-intl","name":"International phone number","category":"pii","severity":"high","matcher":{"type":"regex","pattern":"\\\\+\\\\d{1,3}(?:[-.\\\\s]\\\\d{1,14}){1,5}\\\\b","flags":"g"},"examples":["+44 20 7946 0958","+86 138 0013 8000"]}'),bd=JSON.parse('{"specVersion":1,"id":"core-pii/phone-us","name":"US phone number","category":"pii","severity":"high","matcher":{"type":"regex","pattern":"(?<!\\\\d)(?:\\\\+?1[-.\\\\s]?)?(?:\\\\([2-9]\\\\d{2}\\\\)[-.\\\\s]?|[2-9]\\\\d{2}[-.\\\\s])\\\\d{3}[-.\\\\s]\\\\d{4}(?!\\\\d)","flags":"g"},"requiresNearby":{"labels":["phone","call","mobile","cell","tel","telephone","contact","fax","dial"],"windowChars":160},"examples":["(555) 123-4567","+1-555-123-4567"]}'),be=JSON.parse('{"specVersion":1,"id":"core-pii/ssn","name":"US Social Security Number","category":"pii","severity":"high","matcher":{"type":"regex","pattern":"\\\\b(?!000|666|9\\\\d{2})\\\\d{3}[\\\\s\\\\-](?!00)\\\\d{2}[\\\\s\\\\-](?!0000)\\\\d{4}\\\\b","flags":"g"},"examples":["123-45-6789"]}'),bf=JSON.parse('{"specVersion":1,"id":"core-pii/vin","name":"Vehicle Identification Number","category":"pii","severity":"medium","matcher":{"type":"regex","pattern":"\\\\b[A-HJ-NPR-Z0-9]{17}\\\\b","flags":"g"},"examples":["1HGCM82633A004352"]}'),bg=JSON.parse('{"specVersion":1,"id":"core-pii/zip","name":"US ZIP / ZIP+4 postal code","category":"pii","severity":"low","matcher":{"type":"regex","pattern":"\\\\b\\\\d{5}(?:-\\\\d{4})?\\\\b","flags":"g"},"requiresNearby":{"ruleIds":["core-pii/home-address"],"labels":["address","street","avenue","boulevard","mailing","shipping","billing","suite","p.o. box","po box","postal"],"windowChars":120},"examples":["Shipping address: 123 Main Street, Springfield, IL 94107-1234"]}'),bh=JSON.parse('{"specVersion":1,"id":"secrets-infra/api-key-header","name":"API key in a custom HTTP header","category":"secret","severity":"high","matcher":{"type":"regex","pattern":"[\\"\']?\\\\bapi-?key\\\\b[\\"\']?\\\\s*:\\\\s*[\\"\']?([A-Za-z0-9+/_\\\\-.]{16,500})[\\"\']?","flags":"gi","captureGroup":1},"postValidators":["entropy"],"examples":["X-Api-Key: aBc123XyZ789kLmNoPqRsTuVwXyZ1234567890"]}'),bi=JSON.parse('{"specVersion":1,"id":"secrets-infra/basic-auth-header","name":"HTTP Basic auth Authorization header","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"authorization\\\\s*:\\\\s*basic\\\\s+[A-Za-z0-9+/=]{16,}","flags":"gi"},"examples":["Authorization: Basic dXNlcjpwYXNzd29yZDEyMzQ="]}'),bj=JSON.parse('{"specVersion":1,"id":"secrets-infra/basic-auth-url","name":"URL with embedded basic auth credentials","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"https?://[A-Za-z0-9_%\\\\-]+:[A-Za-z0-9_%\\\\-]+@[A-Za-z0-9.\\\\-]+","flags":"g"},"examples":["https://user:password@example.com/path"]}'),bk=JSON.parse('{"specVersion":1,"id":"secrets-infra/bearer-token","name":"Generic Authorization Bearer token","category":"secret","severity":"high","matcher":{"type":"regex","pattern":"\\\\b(?:Bearer|bearer)\\\\s+([A-Za-z0-9_\\\\-.]{20,500})","flags":"g","captureGroup":1},"postValidators":["entropy"],"examples":["Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.dozjgNryP4J3jVmNHl0w5N_XgL0n3I9PlFUP0THsR8U"]}'),bl=JSON.parse('{"specVersion":1,"id":"secrets-infra/db-connection-string","name":"Database connection string with credentials","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"\\\\b(?:postgres(?:ql)?|mysql|mongodb(?:\\\\+srv)?|redis|rediss)://[A-Za-z0-9_%\\\\-]+:[A-Za-z0-9_%\\\\-]+@[A-Za-z0-9.\\\\-]+(?:\\\\:\\\\d+)?","flags":"g"},"examples":["postgresql://user:password@localhost:5432/mydb"]}'),bm=JSON.parse('{"specVersion":1,"id":"secrets-infra/docker-config-auth","name":"Docker config.json auth (base64-encoded)","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"\\"auth\\"\\\\s*:\\\\s*\\"[A-Za-z0-9+/]{12,}={0,2}\\"","flags":"g"},"examples":["\\"auths\\": {\\"https://index.docker.io/v1/\\": {\\"auth\\": \\"dXNlcjpwYXNzd29yZA==\\"}}"]}'),bn=JSON.parse('{"specVersion":1,"id":"secrets-infra/env-key-value","name":"Environment variable assignment with sensitive key","category":"secret","severity":"high","matcher":{"type":"regex","pattern":"\\\\b[A-Za-z0-9_]*(?:API_KEY|API_SECRET|SECRET_KEY|SECRET|TOKEN|PASSWORD|PASS|CREDENTIALS|PRIVATE_KEY|ENCRYPTION_KEY|SIGNING_KEY)\\\\s*=\\\\s*[\\"\']?([^\\\\s\\"\']{4,})","flags":"gi","captureGroup":1},"examples":["API_KEY=aBcDeFgHiJkLmNoPqRsTuVwXyZ1234567890"]}'),bo=JSON.parse('{"specVersion":1,"id":"secrets-infra/generic-high-entropy-secret","name":"Generic high-entropy secret assigned to a credential-shaped field","category":"secret","severity":"high","matcher":{"type":"regex","pattern":"(?<![A-Za-z0-9_-])[A-Za-z0-9_]{0,34}(?:(?:secret|token|passw(?:or)?d|credentials?|(?<!api[_-]?)key)(?:[\\"\']?\\\\s*:|\\\\s+=)|(?:passwd|credential|(?<!api[_-]?)(?<!secret_)(?<!private_)(?<!encryption_)(?<!signing_)key)=)\\\\s*[\\"\']?((?!eyJ)[A-Za-z0-9+/_\\\\-]{20,200})","flags":"gi","captureGroup":1},"postValidators":["entropy"],"examples":["authToken: \\"aBc123XyZ789kLmNoPqRsTuVwXyZ1234567890\\"","MASTER_KEY=aBc123XyZ789kLmNoPqRsTuVwXyZ1234567890"]}'),bp=JSON.parse('{"specVersion":1,"id":"secrets-infra/jwt-token","name":"JSON Web Token (JWT)","category":"secret","severity":"high","matcher":{"type":"regex","pattern":"\\\\beyJ[A-Za-z0-9_\\\\-+/]+\\\\.[A-Za-z0-9_\\\\-+/]+\\\\.[A-Za-z0-9_\\\\-+/]+\\\\b","flags":"g"},"postValidators":["entropy"],"examples":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.dozjgNryP4J3jVmNHl0w5N_XgL0n3I9PlFUP0THsR8U"]}'),bq=JSON.parse('{"specVersion":1,"id":"secrets-infra/kubeconfig-token","name":"Kubernetes kubeconfig embedded token","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"\\\\b(?:client-(?:certificate|key)-data|token):\\\\s+([A-Za-z0-9+/=_.-]{20,})","flags":"g","captureGroup":1},"examples":["token: eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9..."]}'),br=JSON.parse('{"specVersion":1,"id":"secrets-infra/password-field","name":"JSON/YAML field with password value","category":"secret","severity":"high","matcher":{"type":"regex","pattern":"[\\"\']?\\\\b(?:password|passwd|pwd|pass|secret|token|api[_-]?key|apikey)\\\\b[\\"\']?\\\\s*:\\\\s*[\\"\']([^\\"\'\\\\n]{4,})[\\"\']","flags":"gi","captureGroup":1},"examples":["\\"password\\": \\"supersecret123\\""]}'),bs=JSON.parse('{"specVersion":1,"id":"secrets-infra/pgp-private-key","name":"PGP private key block","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"-----BEGIN PGP PRIVATE KEY BLOCK-----","flags":"g"},"examples":["-----BEGIN PGP PRIVATE KEY BLOCK-----\\nVersion: Keybase Go 1.0.0\\n...\\n-----END PGP PRIVATE KEY BLOCK-----"]}'),bt=JSON.parse('{"specVersion":1,"id":"secrets-infra/ssh-private-key","name":"SSH private key","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"-----BEGIN (?:RSA |DSA |EC |OPENSSH |SSH2 )?PRIVATE KEY-----","flags":"g"},"examples":["-----BEGIN RSA PRIVATE KEY-----\\nMIIEpAIBAAKCAQEA...\\n-----END RSA PRIVATE KEY-----"]}'),bu=JSON.parse('{"specVersion":1,"id":"secrets/anthropic-api-key","name":"Anthropic API key","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"\\\\bsk-ant-[A-Za-z0-9_-]{40,}","flags":"g"},"postValidators":["entropy"],"examples":["sk-ant-AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIjKlMnOpQrStUvWxYz"]}'),bv=JSON.parse('{"specVersion":1,"id":"secrets/aws-access-key","name":"AWS Access Key ID","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"\\\\b(AKIA|ASIA|AROA|AIDA|ANPA|ANVA|APKA)[A-Z0-9]{16}\\\\b","flags":"g"},"postValidators":["entropy"],"examples":["AKIAIOSFODNN7EXAMPLE"]}'),bw=JSON.parse('{"specVersion":1,"id":"secrets/aws-secret-key","name":"AWS Secret Access Key","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"aws[_.-]?secret[_.-]?(?:access[_.-]?)?key[\\"\'\\\\s:=]{1,5}([A-Za-z0-9/+]{40})","flags":"gi","captureGroup":1},"postValidators":["entropy"],"examples":["AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"]}'),bx=JSON.parse('{"specVersion":1,"id":"secrets/azure-connection-string","name":"Azure connection string","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"(?<![A-Za-z0-9])(?:DefaultEndpointsProtocol|AccountEndpoint|AccountName|AccountKey|SharedAccessSignature|SharedAccessKeyName|SharedAccessKey|EndpointSuffix|BlobEndpoint|QueueEndpoint|TableEndpoint|FileEndpoint|HostName|Endpoint)=(?![{<($])[^\\\\x3B\\\\r\\\\n]{1,400}\\\\x3B(?:[A-Za-z][A-Za-z0-9_]{0,39}=[^\\\\x3B\\\\r\\\\n]{1,400}\\\\x3B){0,10}(?:DefaultEndpointsProtocol|AccountEndpoint|AccountName|AccountKey|SharedAccessSignature|SharedAccessKeyName|SharedAccessKey|EndpointSuffix|BlobEndpoint|QueueEndpoint|TableEndpoint|FileEndpoint|HostName|Endpoint)=(?![{<($])[^\\\\x3B\\\\r\\\\n]{1,400}(?:\\\\x3B[A-Za-z][A-Za-z0-9_]{0,39}=[^\\\\x3B\\\\r\\\\n]{1,400}){0,10}","flags":"g"},"examples":["AccountName=mystorage;AccountKey=abc123=="]}'),by=JSON.parse('{"specVersion":1,"id":"secrets/cloudflare-api-key","name":"Cloudflare API token","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"cloudflare.{0,40}?[\\"\'\\\\s:=]([A-Za-z0-9_-]{40})","flags":"gi","captureGroup":1},"postValidators":["entropy"],"examples":["CLOUDFLARE_API_TOKEN=kQ9fL2mP7xR4tY6wB1nC8vD3jH5sZ0aG2eU4iO7p"]}'),bz=JSON.parse('{"specVersion":1,"id":"secrets/datadog-key","name":"Datadog API/Application key","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"\\\\b(?:DD_API_KEY|DD_APP_KEY|DATADOG_API_KEY|DATADOG_APP_KEY)[\\\\s:=]+([A-Za-z0-9]{32,40})\\\\b","flags":"gi","captureGroup":1},"postValidators":["entropy"],"examples":["DD_API_KEY=a3F5g8H1j4K7m2N0p9Q6r1S4t7U0v3W8"]}'),bA=JSON.parse('{"specVersion":1,"id":"secrets/digitalocean-token","name":"DigitalOcean Personal Access Token","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"\\\\bdop_v1_[A-Za-z0-9]{64}\\\\b","flags":"g"},"examples":["dop_v1_1234567890123456789012345678901234567890123456789012345678901234"]}'),bB=JSON.parse('{"specVersion":1,"id":"secrets/discord-token","name":"Discord bot token","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"\\\\b[A-Za-z0-9]{24}\\\\.[A-Za-z0-9]{6}\\\\.[A-Za-z0-9_\\\\-]{27}\\\\b","flags":"g"},"postValidators":["entropy"],"examples":["AbCdEfGhIjKlMnOpQrStUvWx.YzAbCd.ABCdEfGhIjKlMnOpQrStUvWxYzAbCdEf"]}'),bC=JSON.parse('{"specVersion":1,"id":"secrets/gcp-service-account","name":"GCP service account key","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"(?<![a-z0-9-])[a-z0-9-]{3,}@[a-z0-9][a-z0-9-]{2,60}\\\\.iam\\\\.gserviceaccount\\\\.com\\\\b","flags":"g"},"examples":["deploy-bot@sample-project.iam.gserviceaccount.com","12345678-1234-1234-1234-123456789012@my-project.iam.gserviceaccount.com"]}'),bD=JSON.parse('{"specVersion":1,"id":"secrets/github-pat","name":"GitHub Personal Access Token (classic and fine-grained)","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"\\\\b(?:gh[psou]_[A-Za-z0-9]{36}|github_pat_[0-9A-Za-z_]{82})\\\\b","flags":"g"},"examples":["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","ghp_aBcDeFgHiJkLmNoPqRsTuVwXyZ1234567890"]}'),bE=JSON.parse('{"specVersion":1,"id":"secrets/gitlab-token","name":"GitLab Personal/Project Access Token","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"\\\\bglpat-[A-Za-z0-9\\\\-_]{20,40}\\\\b","flags":"g"},"postValidators":["entropy"],"examples":["glpat-ABCdEfGhIjKlMnOpQrStUvWxYz1234567890"]}'),bF=JSON.parse('{"specVersion":1,"id":"secrets/heroku-api-key","name":"Heroku API key","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"heroku.{0,40}?([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})","flags":"gi","captureGroup":1},"examples":["HEROKU_API_KEY=3f8a1c2e-9b4d-4e6f-a1b2-c3d4e5f6a7b8"]}'),bG=JSON.parse('{"specVersion":1,"id":"secrets/npm-token","name":"npm access token","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"\\\\bnpm_[A-Za-z0-9]{36,60}\\\\b","flags":"g"},"postValidators":["entropy"],"examples":["npm_AbCdEfGhIjKlMnOpQrStUvWxYz1234567890AbCdEfGhIjKlMnO"]}'),bH=JSON.parse('{"specVersion":1,"id":"secrets/openai-api-key","name":"OpenAI API key","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"\\\\bsk-proj-[A-Za-z0-9]{20,60}\\\\b|\\\\bsk-[A-Za-z0-9]{40,55}\\\\b","flags":"g"},"postValidators":["entropy"],"examples":["sk-proj-AbCdEfGhIjKlMnOpQrStUvWxYz1234567890AbCdEfGhIjK"]}'),bI=JSON.parse('{"specVersion":1,"id":"secrets/pulumi-access-token","name":"Pulumi access token","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"\\\\bpul-[A-Za-z0-9]{20,60}\\\\b","flags":"g"},"postValidators":["entropy"],"examples":["pul-ABCdEfGhIjKlMnOpQrStUvWxYz1234567890"]}'),bJ=JSON.parse('{"specVersion":1,"id":"secrets/sendgrid-key","name":"SendGrid API key","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"\\\\bSG\\\\.[A-Za-z0-9_\\\\-]{20,60}\\\\b","flags":"g"},"postValidators":["entropy"],"examples":["SG.AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIjKlMnOpQrStUvWxYz"]}'),bK=JSON.parse('{"specVersion":1,"id":"secrets/slack-token","name":"Slack API token","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"\\\\b(?:xox[baprs]-[A-Za-z0-9]{10,60}|xapp-[A-Za-z0-9-]{10,60})\\\\b","flags":"g"},"examples":["xoxb-123456789012-123456789012-ABCdEfGhIjKlMnOpQrStUvWx"]}'),bL=JSON.parse('{"specVersion":1,"id":"secrets/stripe-live-key","name":"Stripe live API key","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"\\\\b(?:sk|pk|rk)_live_[A-Za-z0-9]{24,40}\\\\b","flags":"g"},"postValidators":["entropy"],"examples":["sk_live_aBcDeFgHiJkLmNoPqRsTuVwXyZ"]}'),bM=JSON.parse('{"specVersion":1,"id":"secrets/terraform-cloud-token","name":"Terraform Cloud / TFE user token","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"\\\\b[A-Za-z0-9]{14}\\\\.atlasv1\\\\.[A-Za-z0-9_\\\\-]{60,80}\\\\b","flags":"g"},"postValidators":["entropy"],"examples":["AbCdEfGhIjKlMnOp.atlasv1.XyZ1234567890123456789012345678901234567890123456789012345678901234567890"]}'),bN=[{packId:"code-flaws",name:"Code Security Flaws",version:"0.1.0",rawRules:[aA,az,aB,aC,ai,ag,ah,aF,aE,aG,an,ao,am,at,au,ap,aq,ar,af,ae,aw,av,ak,al,aj,ax,as,aD,ay]},{packId:"core-code-context",name:"Code Context",version:"0.1.0",rawRules:[aL,aN,aK,aJ,aO,aM,aI,aH]},{packId:"core-financial",name:"Financial Information",version:"0.1.0",rawRules:[aP,aS,aU,aW,aR,aQ,aT,aV]},{packId:"core-phi",name:"Protected Health Information",version:"0.1.0",rawRules:[a1,a$,a0,aZ,a_,a2,aY,aX]},{packId:"core-pii",name:"Core PII",version:"0.2.0",rawRules:[a5,be,bd,bc,a7,a3,a4,bb,a6,a9,bf,a8,ba,bg]},{packId:"secrets",name:"Secrets & Credentials",version:"0.1.0",rawRules:[bv,bw,bC,bx,bH,bu,bL,bK,bB,bJ,JSON.parse('{"specVersion":1,"id":"secrets/twilio-key","name":"Twilio Account SID","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"\\\\bAC[A-Za-z0-9]{32}\\\\b","flags":"g"},"examples":["AC12345678901234567890123456789012"]}'),bE,bA,bz,bG,bF,by,bI,bM,JSON.parse('{"specVersion":1,"id":"secrets/vault-token","name":"HashiCorp Vault token","category":"secret","severity":"critical","matcher":{"type":"regex","pattern":"\\\\b(?:hvs\\\\.[A-Za-z0-9\\\\-_]{20,50}|s\\\\.[A-Za-z0-9\\\\-_]{20,50})\\\\b","flags":"g"},"postValidators":["entropy"],"examples":["hvs.AbCdEfGhIjKlMnOpQrStUvWxYz1234567890"]}'),bD]},{packId:"secrets-infra",name:"Infrastructure Secrets",version:"0.1.0",rawRules:[bt,bl,bp,bj,bi,bs,bk,bn,br,bm,bq,bh,bo]}];function bO(a){try{let b=bR(a);if(!b)return;let c=bS(b),d=c?.headRoot??b,e=c?function(a){let b=bT(a.configPath);if(void 0===b)return;let c=function(a){let b,c={};for(let d of a.split("\n")){let a=d.trim(),e=/^\[remote "([^"]+)"\]$/.exec(a);if(e){b=e[1];continue}if(a.startsWith("[")){b=void 0;continue}if(b&&!(b in c)){let d=/^url\s*=\s*(.+)$/.exec(a)?.[1];d&&(c[b]=d.trim())}}return c}(b);return c.origin??Object.values(c)[0]}(c):void 0;return{url:e??d.split(u.sep).join("/"),name:(e?function(a){let b=a.replace(/\.git$/,"").split(/[/:]/).filter(Boolean).pop();return b&&b.length>0?b:void 0}(e):void 0)??(0,u.basename)(d)}}catch{return}}function bP(a){try{return bR(a)}catch{return}}function bQ(a){try{let b=bR(a);if(!b)return;return bS(b)?.headRoot??b}catch{return}}function bR(a){let b=a;for(;;){if((0,t.existsSync)((0,u.join)(b,".git")))return b;let a=(0,u.dirname)(b);if(a===b)return;b=a}}function bS(a){let b=(0,u.join)(a,".git");try{if((0,t.statSync)(b).isDirectory())return{configPath:(0,u.join)(b,"config"),headRoot:a}}catch{return}let c=/^gitdir:\s*(.+?)\s*$/m.exec(bT(b)??"")?.[1];if(!c)return;let d=(0,u.isAbsolute)(c)?c:(0,u.join)(a,c);if((0,t.existsSync)((0,u.join)(d,"config")))return{configPath:(0,u.join)(d,"config"),headRoot:a};let e=bT((0,u.join)(d,"commondir"))?.trim();if(!e)return;let f=(0,u.isAbsolute)(e)?e:(0,u.join)(d,e),g=".git"===(0,u.basename)(f)?(0,u.dirname)(f):a;return{configPath:(0,u.join)(f,"config"),headRoot:g}}function bT(a){try{return(0,t.readFileSync)(a,"utf8")}catch{return}}var bU=c(75919);function bV(a){return a instanceof Error?a.message:String(a)}function bW(a,b={}){let c,d,f,g,h=b.budgetMs??2e3,i=b.probeBudgetMs??1e3,j=b.startBudgetMs??5e3,k=b.minAttributionMs??500,l=!1,m=1,n=new Set,o=Promise.resolve();function p(){let a=g;if(a)return g=void 0,void 0!==a.startupTimer&&clearTimeout(a.startupTimer),void 0!==a.timer&&clearTimeout(a.timer),c?.unref(),a}function q(a){p()?.fail(a)}function r(a){c===a&&(c=void 0),d===a&&(d=void 0);let b=a.terminate().catch(()=>void 0);n.add(b),b.finally(()=>n.delete(b))}function s(a){void 0!==a.startupTimer&&(clearTimeout(a.startupTimer),a.startupTimer=void 0),void 0===a.timer&&(a.startedAt=performance.now(),a.progressAt=a.startedAt,a.timer=setTimeout(()=>{!function(a){if(g!==a)return;let b=performance.now(),c=b-a.progressAt,d=b-a.startedAt,e=a.progressIndex>=0&&c>=k&&c>=.5*d?a.progressIndex:void 0;r(a.worker),q({status:"timeout",culpritIndex:e,elapsedMs:d})}(a)},a.budgetMs))}function u(h,i){if(l)return void i({status:"unavailable",reason:"the scan worker is closed"});if(void 0!==f)return void i({status:"unavailable",reason:`the scan worker crashed: ${f}`});let k=function(){let h;if(c)return c;let i=b.workerUrl??function(){if(void 0!==e)return e??void 0;for(let a of["scan-worker.js","scan-worker.ts"]){let b=new URL(a,"file:///home/runner/work/ai-tc/ai-tc/packages/plugin-sdk/src/isolated-scan.ts");try{if((0,t.existsSync)((0,v.fileURLToPath)(b)))return e=b,b}catch{}}e=null}();if(!i)return{error:"the scan worker script was not found next to this bundle"};try{h=new bU.Worker(i,{workerData:a})}catch(a){return{error:`could not start the scan worker: ${bV(a)}`}}return b.onWorkerStart?.(h.threadId),h.on("message",a=>{if(c!==h)return;if("ready"===a.kind){d=h,g?.worker===h&&s(g);return}if("progress"===a.kind){g?.worker===h&&(g.progressIndex=a.index,g.progressAt=performance.now());return}if(g?.id!==a.id)return;if("failed"===a.kind)return void q({status:"unavailable",reason:`the scan worker failed: ${a.message}`});let b=p();b&&!b.reply(a)&&b.fail({status:"unavailable",reason:"the scan worker answered the wrong job"})}),h.on("error",a=>{c===h&&(f=bV(a),c=void 0,d===h&&(d=void 0),q({status:"unavailable",reason:`the scan worker crashed: ${f}`}))}),h.on("exit",()=>{c===h&&(f??="the scan worker exited before answering",c=void 0,d===h&&(d=void 0),q({status:"unavailable",reason:"the scan worker exited before answering"}))}),h.unref(),c=h,h}();if(!(k instanceof bU.Worker)){f=k.error,i({status:"unavailable",reason:k.error});return}let n=m++,o=performance.now(),u={id:n,worker:k,budgetMs:h.budgetMs,startedAt:o,progressIndex:-1,progressAt:o,startupTimer:void 0,timer:void 0,reply:h.reply,fail:i};g=u,k.ref(),d===k?s(u):u.startupTimer=setTimeout(()=>{g===u&&(r(u.worker),q({status:"unavailable",reason:`the scan worker did not start within ${String(j)}ms`}))},j);try{k.postMessage(h.build(n))}catch(a){q({status:"unavailable",reason:`could not reach the scan worker: ${bV(a)}`})}}function w(a){let b=o.then(()=>new Promise(b=>{a(b)}));return o=b.then(()=>void 0,()=>void 0),b}return{scan:(a,b,c)=>w(d=>{u({budgetMs:h,build:d=>({kind:"scan",id:d,text:a,filePath:b?.filePath,attribute:c?.attribute===!0}),reply:a=>"result"===a.kind&&(d({status:"ok",findings:a.findings}),!0)},d)}),probe:a=>w(b=>{u({budgetMs:i,build:b=>({kind:"probe",id:b,rule:a}),reply:a=>"probed"===a.kind&&(b({status:"ok",verdict:a.verdict,worstMs:a.worstMs,corroboratedMs:a.corroboratedMs}),!0)},b)}),async close(){l=!0;let a=c;c=void 0,d=void 0,q({status:"unavailable",reason:"the scan worker is closed"}),a&&r(a),await Promise.all([...n])}}}function bX(){let a="function"==typeof process.threadCpuUsage?process.threadCpuUsage():process.cpuUsage();return(a.user+a.system)/1e3}function bY(a){if("regex"===a.matcher.type){var b;return b=`${a.matcher.pattern} ${a.matcher.flags}`,(0,W.createHash)("sha256").update(b).digest("hex")}}function bZ(a,b,c,d){process.stderr.write(`[aka] ${b} rule "${a.id}": ${c}${d?" (clear it with `aka detections unquarantine`)":""}
|
|
3
|
-
`)}function b$(a,b,c){bZ(a,"quarantined",Number.isFinite(b)?`regex matcher exceeded the ReDoS timing budget (${b.toFixed(1)}ms); excluded from this scan.`:"the timing battery failed while measuring its regex matcher; excluded from this scan.",c)}async function b_(a,b,c,d){let e=bY(b),f=!1;if(void 0!==e)try{await a.setRuleProbeVerdict(e,"quarantined",c),f=!0}catch{}bZ(b,"quarantined",d,f)}async function b0(a,b,c){var d,e;let f=c?.passBudgetMs??2e3,g=c?.prober,h=performance.now(),i=[],j=new Map;try{for(let c of a){let a,k,l,m=bY(c);if(void 0===m){i.push(c);continue}try{a=await b.getRuleProbeVerdict(m)}catch{a=void 0}if(a){"safe"===a.verdict?i.push(c):b$(c,a.worstProbeMs,!0);continue}if(performance.now()-h>=f){bZ(c,"skipped","the timing pre-flight ran out of time before this rule could be measured; excluded for the rest of this run, and measured again next time.",!1);continue}let n=0;if(g){let a=await g.probe(c);if("unavailable"===a.status){j.set(a.reason,(j.get(a.reason)??0)+1);continue}k="ok"===a.status?a.verdict:"over-budget",l="ok"===a.status?a.worstMs:a.elapsedMs,"ok"===a.status&&(n=a.corroboratedMs)}else try{({verdict:k,worstMs:l,corroboratedMs:n}=(0,_.r4)(c,bX))}catch{k="over-budget",l=1/0}if("uncorroborated"===k){d=l,e=n,bZ(c,"deferred",`its regex matcher ran past the ReDoS timing budget (${d.toFixed(1)}ms) but spent only ${e.toFixed(1)}ms of CPU doing it, which is a busy machine rather than a slow pattern; excluded from this run and measured again next time, with nothing recorded against it.`,!1);continue}let o="safe"===k,p=!1;try{await b.setRuleProbeVerdict(m,o?"safe":"quarantined",l),p=!0}catch{}o?i.push(c):b$(c,l,p)}}finally{for(let[a,b]of j)process.stderr.write(`[aka] ${String(b)} pulled/custom-pack rule(s) could not be time-checked: ${a}. That is a problem with this install, not with the rules — until it is fixed they are excluded from every scan on this machine. Nothing was quarantined, so reinstalling AKA brings them straight back.
|
|
4
|
-
`)}return i}function b1(a,b,c){process.stderr.write(`[aka] isolated scanning is off for ${a}: ${c}. ${String(b)} pulled/custom-pack rule(s) are excluded; the built-in packs still run.
|
|
5
|
-
`)}let b2={ModelSwitch:"model-switch",VaultPointerDisplay:"vault-pointer-display"};b2.ModelSwitch,b2.VaultPointerDisplay;var b3=c(35653),b4=c.n(b3);function b5(a,b,c){try{return{matcher:b4()().add((0,t.readFileSync)((0,u.join)(a,b),"utf8")),anchorLen:c}}catch{return}}function b6(a,b,c,d){let e=d?"/":"";for(let d=a.length-1;d>=0;d--){var f;let g=a[d];if(void 0===g)continue;let h=g.matcher.test((f=g.anchorLen,(f===b.length?c:`${b.slice(0===f?0:f+1)}/${c}`)+e));if(h.ignored)return"ignored";if(h.unignored)return"unignored"}return"unmatched"}function b7(a,b){return""===a?b:`${a}/${b}`}function b8(a,b){return b?[...a,b]:a}function b9(a){return a.split(u.sep).join("/")}let ca=new Set([".git","node_modules",".pnpm-store",".venv","venv","__pycache__",".next",".turbo","dist","build","out","coverage","target",".cache"]),cb={maxDepth:64,budgetMs:4e3};function cc(a,b,c,d){return"ignored"===b6(a,b,c,d)}let cd=new Set(["pnpm-lock.yaml","package-lock.json","yarn.lock","cargo.lock","poetry.lock","gemfile.lock","composer.lock","go.sum"]),ce=new Set([".yml",".yaml",".toml",".ini",".properties",".conf"]),cf=new Set([".md",".mdx",".rst",".adoc",".txt"]),cg=new Set(["cmakelists.txt","constraints.txt","robots.txt"]),ch=new Set([".csv",".tsv",".parquet",".sql",".jsonl",".ndjson"]),ci=new Set(["package.json","dockerfile","makefile","justfile",".gitignore",".gitattributes",".npmrc",".nvmrc",".editorconfig",".akaignore"]),cj=ab.vk(a=>{if("string"!=typeof a||""!==a.trim())return a},ab.Yj().optional()).catch(void 0),ck=ab.vk(a=>{if("string"!=typeof a)return!1;let b=a.trim().toLowerCase();return""!==b&&"0"!==b&&"false"!==b},ab.zM()).catch(!1);ab.Ik({GOOGLE_GENAI_USE_VERTEXAI:ck,GOOGLE_GEMINI_BASE_URL:cj});let cl=ab.vk(a=>{if("string"!=typeof a||""!==a.trim())return a},ab.Yj().optional()).catch(void 0);function cm(a,b,c,d=(0,aa.tI)()){try{let e,f,g,h;if(!(0,aa.xR)(d).dataSharesInPlace)return null;let i=(0,u.resolve)(b),j=(0,t.statSync)(i).isDirectory()?i:(0,u.dirname)(i),k=bO(i),l=bP(i);k&&l?(e=l,f=`git:${k.url}`,g=k.name,h=a.sourceProject.upsert({url:k.url,name:k.name,attributes:{}})):({root:e,projectKey:f,project:g}=function(a,b){let c=function(a,b){let c=a,d=null;for(let a=0;a<40;a+=1){(function(a,b){try{for(let c of(0,t.readdirSync)(a,{withFileTypes:!0}))if(c.isFile()&&null!=b(c.name))return!0}catch{}return!1})(c,b)&&(d=c);let a=(0,u.dirname)(c);if(a===c)break;c=a}return d??a}(a,b),d=(0,t.realpathSync)(c);return{root:c,projectKey:`path:${d}`,project:(0,u.basename)(d)}}(j,_.DK),h=null);let m=[];for(let a of c.files){let b=b9((0,u.relative)(e,a.file));!(""===b||b.startsWith("../"))&&(b.startsWith(".")||b.includes("/.")||m.push({...a,file:b,vendored:(0,_.$1)(b)}))}let n={projectKey:f,project:g,projectId:h,reconcile:{mode:"walk",walkedPrefix:b9((0,u.relative)(e,i))},hits:(0,_.Ip)(m)};return{...a.shares.recordProjectEgress(n),project:n.project,input:n}}catch{return null}}function cn(a){try{return t.realpathSync.native(a)}catch{return(0,u.resolve)(a)}}function co(a,b){return b.some(b=>a===b||a.startsWith(b+u.sep))}ab.Ik({OPENAI_BASE_URL:cl});let cp="AKA_PROTECTED_SCAN_TARGET";class cq extends Error{constructor(a){super(`refusing to scan ${a}: it holds credentials this scanner must never read`),this.code=cp,this.name="ProtectedTargetError",this.path=a}}function cr(a){return"object"==typeof a&&null!==a&&a.code===cp}let cs=new Set(["node_modules",".git","dist",".next","coverage",".turbo","build","out"]);async function ct(a,b,c={}){let d,e=c.scanText??(a=>Promise.resolve((0,_.SQ)(a,c.rules))),f=0,g=0,i=[],j=[];for(let{path:k,gitignored:l}of function*(a,b={}){let c,d=function(a,b){let c=(0,u.basename)((0,aa.tI)());return[...new Set([(0,u.resolve)(a,".claude","ide"),(0,u.resolve)(a,".claude",".credentials.json"),(0,u.resolve)(a,".codex","auth.json"),(0,u.resolve)(b),(0,aa.tI)(),(0,u.resolve)(a,c)].map(cn))]}(b.home??(0,h.homedir)(),b.akaHome??(0,aa.tI)()),e=cn(a);try{c=(0,t.statSync)(a)}catch{return}if(co(e,d))throw new cq(a);if(c.isFile()){c.size<=1e6&&(yield{path:a,gitignored:!1});return}c.isDirectory()&&(yield*function* a(b,c,d,e,f,g,h){let i;try{i=(0,t.readdirSync)(b,{withFileTypes:!0})}catch(a){if(""===d)throw a;return}let j=b8(e,g?void 0:b5(b,".gitignore",d.length)),k=b8(f,b5(b,".akaignore",d.length));for(let e of i){let f=(0,u.join)(b,e.name),i=c===b?f:(0,u.join)(c,e.name);if(e.isDirectory()){if(co(i,h))continue;let b=b6(k,d,e.name,!0);if("unignored"!==b&&(cs.has(e.name)||e.name.startsWith(".")||"ignored"===b))continue;let c=g||"ignored"===b6(j,d,e.name,!0);yield*a(f,i,b7(d,e.name),j,k,c,h)}else if(e.isFile()){let a;if(co(i,h)||"ignored"===b6(k,d,e.name,!1))continue;try{a=(0,t.statSync)(f).size}catch{continue}if(a>1e6)continue;yield{path:f,gitignored:g||"ignored"===b6(j,d,e.name,!1)}}}}(a,e,"",[],[],!1,d))}((0,u.resolve)(b),{akaHome:c.akaHome})){let b;try{b=(0,t.readFileSync)(k,"utf8")}catch{continue}f++;let h=function(a,b){if(b.includes("\0"))return null;let c=(0,u.basename)(a);if(_.mu.has(c))return null;let d=(0,_.DK)(c),e=null===d?[]:(0,_.W$)(b,d),f=null===d&&_.Nc.has((0,u.extname)(a))?(0,_.Pb)(b):[];return 0===f.length&&0===e.length?null:{file:a,vendored:(0,_.$1)(b9(a)),endpoints:f,sdkHits:e}}(k,b);h&&j.push(h);let m=(0,_.KD)(b),n=(0,_.uT)(await e(m.text),m.spans);if(0===n.length)continue;let o=n.map(a=>({match:a,action:c.ruleActions?.get(a.ruleId)??w.unw[a.category]})),p=o.filter(({action:a})=>(0,w.T2I)(a,"redact")),q=(0,W.randomUUID)(),r={filePath:k};l&&(r.gitignored=!0);let s={id:q,sourceTool:c.sourceTool??w.Zdp.Cli,kind:"code_change",occurredAt:new Date().toISOString(),contentHash:(0,W.createHash)("sha256").update(b).digest("hex"),content:(0,_.E$)(b,p.map(({match:a})=>a)),metadata:r},v=o.map(({match:a,action:b})=>{let e=(0,_.sE)(a.rawMatch),f=function(){if(void 0===d)try{d=c.dataDir?(0,aa.Rd)(c.dataDir):null}catch{d=null}return d}(),g=f?(0,aa._2)(f,a.rawMatch):e;return{id:(0,W.randomUUID)(),eventId:q,ruleId:a.ruleId,category:a.category,severity:a.severity,span:a.span,maskedMatch:e,actionTaken:b,confidence:a.confidence,findingKey:(0,aa.Qo)({ruleId:a.ruleId,filePath:k,valueFingerprint:g})}});a.recordCapture(s,v),i.push({path:k,gitignored:l,findings:v}),g+=v.length}return{scanned:f,findings:g,files:i,egress:{files:j}}}let cu={status:"unavailable",reason:"this build shipped without its scan worker, so there was nowhere killable to measure them"};async function cv(a,b,c={}){let e,g={getRuleProbeVerdict:b=>Promise.resolve(a.ruleProbeCache.getVerdict(b)),setRuleProbeVerdict:(b,c,d)=>(a.ruleProbeCache.setVerdict(b,c,d),Promise.resolve())},h=c.workerUrl,i={workerUrl:h,budgetMs:c.budgetMs,probeBudgetMs:c.probeBudgetMs,startBudgetMs:c.startBudgetMs,onWorkerStart:c.onWorkerStart,minAttributionMs:void 0},j=f??=new Set((d??=bN.map(a=>({namespace:"aka",packId:a.packId,version:a.version,name:a.name,rules:a.rawRules.map(a=>w.jON.parse(a))}))).flatMap(a=>a.rules).map(bY).filter(a=>void 0!==a)),k=[],l=[];for(let a of b){let b=bY(a);void 0!==b&&j.has(b)?k.push(a):l.push(a)}let m=await b0(l,g,{passBudgetMs:c.passBudgetMs,prober:{probe:a=>void 0===h?Promise.resolve(cu):(e??=bW({verified:[],unverified:[]},i)).probe(a)}});await e?.close();let n=new Set(m),o=0,p=0;for(let a of l){let b;if(n.has(a))continue;let c=bY(a);try{b=void 0===c?void 0:(await g.getRuleProbeVerdict(c))?.verdict}catch{b=void 0}"quarantined"===b?o++:p++}let q=[...k],r=[],s=0;for(let a of m)"regex"!==a.matcher.type?q.push(a):void 0!==h?r.push(a):s++;let t=function(a,b,c){let d=c?.degradeScope??"the rest of this process",e=a.verified,f=a.unverified,g=f.length>0?bW({verified:e,unverified:f},c):void 0,h=!1;async function i(){let a=g;g=void 0,f=[],a&&await a.close()}async function j(){h=!0,await i()}async function k(a,b,c,d){try{return await a.scan(b,c,{attribute:d})}catch(a){return{status:"unavailable",reason:a instanceof Error?a.message:"the scan worker failed unexpectedly"}}}return{scan:async function(a,c){let h=g;if(!h)return(0,_.SQ)(a,e,c);let i=await k(h,a,c,!1);if("ok"===i.status)return i.findings;"timeout"===i.status&&(i=await k(h,a,c,!0));let l=f.length;if("ok"===i.status){b1(d,l,"a scan overran its bound once and no rule could be held responsible");let a=i.findings;return await j(),a}if("timeout"===i.status){let a=void 0===i.culpritIndex?void 0:f[i.culpritIndex];a&&await b_(b,a,i.elapsedMs,`it did not finish within the ${i.elapsedMs.toFixed(0)}ms isolated-scan bound and was terminated; excluded from every later scan.`),b1(d,l,a?`rule "${a.id}" had to be terminated mid-scan`:`a scan was terminated at the ${i.elapsedMs.toFixed(0)}ms bound and no single rule could be held responsible, so nothing was quarantined and the next process will try these rules again`)}else b1(d,l,i.reason);return await j(),(0,_.SQ)(a,e,c)},degraded:()=>h,async close(){await i()}}}({verified:q,unverified:r},g,{...i,degradeScope:"the rest of this scan"});return p+=s,{scanText:a=>t.scan(a),dropped:()=>({quarantined:o,unmeasured:p,bound:t.degraded()?r.length:0,isolated:void 0!==h}),close:()=>t.close()}}function cw(a,b){try{let c=(0,u.resolve)(b);(0,t.statSync)(c);let d=bO(c);if(!d)return null;let e=a.sourceProject.upsert({url:d.url,name:d.name,attributes:{}}),f=function(a,b={}){let c=b.bounds??cb,d=b.now??(()=>performance.now());try{let b=bP(a);if(!b)return;let e=bQ(a)!==b,f=[],g={lostSubtree:!1,omitted:!1,seen:0},h=d()+c.budgetMs,i=function a(b,e,i,j){let k;try{k=(0,t.readdirSync)(b,{withFileTypes:!0,encoding:"utf8"})}catch{return g.lostSubtree=!0,!1}if(d()>h)return g.omitted=!0,!0;let l=b8(i,b5(b,".gitignore",e.length));for(let i of k){if(g.seen++,g.seen%512==0&&d()>h)return g.omitted=!0,!0;if(i.isDirectory()){if(ca.has(i.name)||cc(l,e,i.name,!0))continue;let d=(0,u.join)(b,i.name);if((0,t.existsSync)((0,u.join)(d,".git")))continue;if(j>=c.maxDepth){g.omitted=!0;continue}if(a(d,b7(e,i.name),l,j+1))return!0;continue}if(!i.isFile()||".git"===i.name||cc(l,e,i.name,!1))continue;if(f.length>=2e4)return!0;let k=b7(e,i.name);f.push({path:k,name:(0,u.basename)(i.name),origin:function(a,b){let c=b.toLowerCase(),d=c.lastIndexOf("."),e=d>0?c.slice(d):"",f=a.split("/");return cd.has(c)||c.includes(".generated.")||f.includes("__generated__")||f.includes("generated")||".map"===e||c.endsWith(".min.js")||c.endsWith(".min.css")?"generated":f.includes("vendor")||f.includes("third_party")?"vendored":cg.has(c)||".txt"===e&&c.startsWith("requirements")?"config":cf.has(e)||c.startsWith("license")||"docs"===f[0]?"docs":ch.has(e)||f.includes("fixtures")||f.includes("__fixtures__")?"data":ci.has(c)||ce.has(e)||c.startsWith(".")||c.includes(".config.")||c.startsWith("tsconfig")?"config":"source"}(k,i.name),defaultAccess:"approved"})}return!1}(b,"",[],0)||g.lostSubtree||g.omitted||e;if(0===f.length)return;return f.sort((a,b)=>a.path.localeCompare(b.path)),{files:f,truncated:i,scannedAt:new Date().toISOString()}}catch{return}}(c);f&&a.recordProjectFiles(e,f);let g=bQ(c),h=bP(c);return g&&h&&a.reconcileWorktreeProjects(e,g,h),{projectId:e,name:d.name,url:d.url,fileCount:f?.files.length??0,truncated:f?.truncated??!1}}catch{return null}}let cx={unauthorized:"key rejected; re-attach with a valid plugin key",forbidden:"key is valid but not permitted for Data Shares ingest; a key minted before Data Shares ingest existed needs a re-attach, otherwise ask your org admin","route-absent":"the deployment predates Data Shares ingest; upgrade it, then re-run the scan","invalid-request":"this build assembled a request the contract refuses; please report it",rejected:"the deployment refused the request body; this build and the deployment are out of step — upgrade one of them",unreachable:"control plane unreachable (timeout or server error); the next scan retries"};async function cy(a,b,c){let d=null;try{let e=(0,aa.xR)(a),f=e.controlPlane;if(!(0,w.lgf)(e)||void 0===f)return{status:"not-attached"};let g=(0,w.F$B)(f);if(d=g,!1===c.enabled)return{status:"disabled",endpoint:g,reason:"opt-out"};if(!e.dataSharesInPlace)return{status:"disabled",endpoint:g,reason:"data-shares-off"};let h=(0,aa.R8)((0,aa.VL)(a),f);if(null===h)return{status:"no-credential",endpoint:g};let i=(0,aa.Yf)(b),j=await c.send({endpoint:f.endpoint,apiKey:h.apiKey},i);return j.ok?{status:"forwarded",endpoint:g,callSites:i.hits.length}:{status:"failed",endpoint:g,kind:j.kind}}catch{return null===d?{status:"not-attached"}:{status:"failed",endpoint:d,kind:"unreachable"}}}function cz(a){return(0,u.join)((0,aa.KS)(a),"update-check.json")}function cA(a){try{(0,t.rmSync)(cz(a),{force:!0})}catch{}}function cB(a){let b=function(a){let b=cz(a);if(!(0,t.existsSync)(b))return null;try{let a=JSON.parse((0,t.readFileSync)(b,"utf8"));if(!D(a)||"number"!=typeof a.checkedAt||!D(a.report))return null;return a}catch{return null}}(a);var c={checkedAt:Date.now(),report:function(a){let b=a.viewVersion(C),c=[{id:"cli",name:"aka CLI",kind:"cli",installed:a.cliInstalled,latest:b,updateAvailable:null!==a.cliInstalled&&null!==b&&B(b,a.cliInstalled)>0}],d=[];for(let b of x){let e=y(b);if(!e||!b.npmPackage)continue;let f=a.viewVersion(b.npmPackage),g=a.installed.get(e)??null;if(null===g){d.push({id:b.id,name:b.name,latest:f});continue}c.push({id:b.id,name:b.name,kind:"plugin",installed:g,latest:f,updateAvailable:null!==f&&B(f,g)>0})}return{statuses:c,availablePlugins:d}}({viewVersion:E,installed:new Map([...function(a=(0,u.join)((0,h.homedir)(),".claude")){let b,c=new Map,d=(0,u.join)(a,"plugins","installed_plugins.json");if(!(0,t.existsSync)(d))return c;try{b=JSON.parse((0,t.readFileSync)(d,"utf8"))}catch{return c}if(!D(b)||!D(b.plugins))return c;for(let[a,d]of Object.entries(b.plugins)){if(!Array.isArray(d)||0===d.length)continue;let b=d.find(a=>D(a)&&"user"===a.scope)??d.find(a=>D(a));b&&"string"==typeof b.version&&c.set(a,b.version)}return c}(void 0),...function(a=(0,u.join)((0,h.homedir)(),".codex")){let b=new Map,c=(0,u.join)(a,"plugins","cache");for(let a of x){if("codex"!==a.cliBin)continue;let d=y(a);if(!d||!a.pluginName||!a.marketplace)continue;let e=function(a){let b;try{b=(0,t.readdirSync)(a,{withFileTypes:!0}).filter(a=>a.isDirectory()).map(a=>a.name)}catch{return null}if(0===b.length)return null;if(b.includes("local"))return"local";let c=b.filter(A);return 0===c.length?null:c.reduce((a,b)=>B(b,a)>0?b:a)}((0,u.join)(c,a.marketplace,a.pluginName));null!==e&&b.set(d,e)}return b}(void 0)]),cliInstalled:function(a){let b=(void 0)??(0,u.dirname)((0,v.fileURLToPath)("file:///home/runner/work/ai-tc/ai-tc/packages/local-ops/src/updates.ts"));for(let a=0;a<6;a++){let a=(0,u.join)(b,"package.json");if((0,t.existsSync)(a))try{let b=JSON.parse((0,t.readFileSync)(a,"utf8"));if(D(b)&&b.name===C&&"string"==typeof b.version)return b.version}catch{}let c=(0,u.dirname)(b);if(c===b)break;b=c}return null}()}),notifiedPluginIds:b?.notifiedPluginIds??[]};if((0,t.existsSync)((0,aa.KS)(a)))try{(0,aa.g5)(cz(a),`${JSON.stringify(c,null,2)}
|
|
6
|
-
`)}catch{}}}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=851,exports.ids=[851],exports.modules={2558:(a,b,c)=>{c.d(b,{VaultInventoryView:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call VaultInventoryView() from the server but VaultInventoryView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/vault/VaultInventoryView.tsx","VaultInventoryView")},3133:(a,b,c)=>{c.d(b,{ThemeToggle:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call ThemeToggle() from the server but ThemeToggle is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/theme/ThemeToggle.tsx","ThemeToggle")},3469:(a,b,c)=>{c.d(b,{BlockedWindowSelect:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call BlockedWindowSelect() from the server but BlockedWindowSelect is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/exceptions/BlockedWindowSelect.tsx","BlockedWindowSelect")},4826:(a,b,c)=>{c.d(b,{MttrTrendCardView:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call MttrTrendCardView() from the server but MttrTrendCardView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/security/MttrTrendCardView.tsx","MttrTrendCardView")},9712:(a,b,c)=>{c.d(b,{ProjectPane:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call ProjectPane() from the server but ProjectPane is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/inventory/ProjectPane.tsx","ProjectPane")},11975:(a,b,c)=>{c.d(b,{ScopePicker:()=>g,StateTag:()=>e,StateTagFor:()=>f});var d=c(28326);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call StateTag() from the server but StateTag is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/exceptions/atoms.tsx","StateTag"),f=(0,d.registerClientReference)(function(){throw Error("Attempted to call StateTagFor() from the server but StateTagFor is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/exceptions/atoms.tsx","StateTagFor");(0,d.registerClientReference)(function(){throw Error("Attempted to call CapabilityTagFor() from the server but CapabilityTagFor is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/exceptions/atoms.tsx","CapabilityTagFor");let g=(0,d.registerClientReference)(function(){throw Error("Attempted to call ScopePicker() from the server but ScopePicker is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/exceptions/atoms.tsx","ScopePicker")},15512:(a,b,c)=>{c.d(b,{PolicyDetailView:()=>g,PolicyListView:()=>f,PolicyStatsView:()=>e});var d=c(28326);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call PolicyStatsView() from the server but PolicyStatsView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/policies/PoliciesView.tsx","PolicyStatsView"),f=(0,d.registerClientReference)(function(){throw Error("Attempted to call PolicyListView() from the server but PolicyListView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/policies/PoliciesView.tsx","PolicyListView"),g=(0,d.registerClientReference)(function(){throw Error("Attempted to call PolicyDetailView() from the server but PolicyDetailView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/policies/PoliciesView.tsx","PolicyDetailView")},15613:(a,b,c)=>{c.d(b,{CLOCK_TICK_MS:()=>e,useRenderClock:()=>f});var d=c(28326);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call CLOCK_TICK_MS() from the server but CLOCK_TICK_MS is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/lib/useRenderClock.ts","CLOCK_TICK_MS"),f=(0,d.registerClientReference)(function(){throw Error("Attempted to call useRenderClock() from the server but useRenderClock is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/lib/useRenderClock.ts","useRenderClock")},16069:(a,b,c)=>{c.d(b,{DerefAuditTableView:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call DerefAuditTableView() from the server but DerefAuditTableView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/vault/DerefAuditTableView.tsx","DerefAuditTableView")},24226:(a,b,c)=>{c.d(b,{FindingDetailView:()=>f,formatConfidence:()=>e});var d=c(28326);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call formatConfidence() from the server but formatConfidence is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/findings/FindingDetailView.tsx","formatConfidence"),f=(0,d.registerClientReference)(function(){throw Error("Attempted to call FindingDetailView() from the server but FindingDetailView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/findings/FindingDetailView.tsx","FindingDetailView")},25798:(a,b,c)=>{c.d(b,{DetectionDetailView:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call DetectionDetailView() from the server but DetectionDetailView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/detections/DetectionDetailView.tsx","DetectionDetailView")},25822:(a,b,c)=>{c.d(b,{NeedsReviewStripView:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call NeedsReviewStripView() from the server but NeedsReviewStripView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/data-shares/NeedsReviewStripView.tsx","NeedsReviewStripView")},27138:(a,b,c)=>{c.d(b,{TimeRangeSelect:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call TimeRangeSelect() from the server but TimeRangeSelect is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/shared/TimeRangeSelect.tsx","TimeRangeSelect")},27482:(a,b,c)=>{c.d(b,{AssetDetail:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call AssetDetail() from the server but AssetDetail is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/inventory/AssetDetail.tsx","AssetDetail")},28300:(a,b,c)=>{c.d(b,{DETECTION_FILTER_TABS:()=>e,DetectionsListView:()=>f});var d=c(28326);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call DETECTION_FILTER_TABS() from the server but DETECTION_FILTER_TABS is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/detections/DetectionsListView.tsx","DETECTION_FILTER_TABS"),f=(0,d.registerClientReference)(function(){throw Error("Attempted to call DetectionsListView() from the server but DetectionsListView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/detections/DetectionsListView.tsx","DetectionsListView")},29685:(a,b,c)=>{c.d(b,{UpdateModal:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call UpdateModal() from the server but UpdateModal is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/detections/UpdateModal.tsx","UpdateModal")},30208:(a,b,c)=>{c.d(b,{NeedsReviewListView:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call NeedsReviewListView() from the server but NeedsReviewListView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/data-shares/NeedsReviewListView.tsx","NeedsReviewListView")},34751:(a,b,c)=>{c.d(b,{AddExceptionForm:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call AddExceptionForm() from the server but AddExceptionForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/exceptions/AddExceptionForm.tsx","AddExceptionForm")},39015:(a,b,c)=>{c.d(b,{ApproveExceptionDialog:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call ApproveExceptionDialog() from the server but ApproveExceptionDialog is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/exceptions/ApproveExceptionDialog.tsx","ApproveExceptionDialog")},41954:(a,b,c)=>{c.d(b,{InventoryNav:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call InventoryNav() from the server but InventoryNav is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/inventory/InventoryNav.tsx","InventoryNav")},43891:(a,b,c)=>{c.d(b,{DataSharesKindTabsView:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call DataSharesKindTabsView() from the server but DataSharesKindTabsView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/data-shares/DataSharesKindTabsView.tsx","DataSharesKindTabsView")},49819:(a,b,c)=>{c.d(b,{FindingsFlatTableView:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call FindingsFlatTableView() from the server but FindingsFlatTableView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/findings/FindingsFlatTableView.tsx","FindingsFlatTableView")},50742:(a,b,c)=>{c.d(b,{ExceptionDetailView:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call ExceptionDetailView() from the server but ExceptionDetailView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/exceptions/ExceptionDetailView.tsx","ExceptionDetailView")},51977:(a,b,c)=>{c.d(b,{AvailablePluginsCardView:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call AvailablePluginsCardView() from the server but AvailablePluginsCardView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/updates/AvailablePluginsCardView.tsx","AvailablePluginsCardView")},56037:(a,b,c)=>{c.r(b),c.d(b,{AreaChart:()=>h,Donut:()=>e,Sparkline:()=>f,useMeasuredWidth:()=>g});var d=c(28326);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call Donut() from the server but Donut is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/shared/charts.tsx","Donut"),f=(0,d.registerClientReference)(function(){throw Error("Attempted to call Sparkline() from the server but Sparkline is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/shared/charts.tsx","Sparkline"),g=(0,d.registerClientReference)(function(){throw Error("Attempted to call useMeasuredWidth() from the server but useMeasuredWidth is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/shared/charts.tsx","useMeasuredWidth"),h=(0,d.registerClientReference)(function(){throw Error("Attempted to call AreaChart() from the server but AreaChart is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/shared/charts.tsx","AreaChart")},59865:(a,b,c)=>{c.d(b,{WorkspaceSettingsFormView:()=>e});var d=c(28326);(0,d.registerClientReference)(function(){throw Error("Attempted to call HANDLING_SECTION_LABEL() from the server but HANDLING_SECTION_LABEL is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","HANDLING_SECTION_LABEL"),(0,d.registerClientReference)(function(){throw Error("Attempted to call HANDLING_SECTION_DESCRIPTION() from the server but HANDLING_SECTION_DESCRIPTION is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","HANDLING_SECTION_DESCRIPTION"),(0,d.registerClientReference)(function(){throw Error("Attempted to call HANDLING_SECTION_LINK_LABEL() from the server but HANDLING_SECTION_LINK_LABEL is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","HANDLING_SECTION_LINK_LABEL"),(0,d.registerClientReference)(function(){throw Error("Attempted to call HISTORICAL_SECTION_LABEL() from the server but HISTORICAL_SECTION_LABEL is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","HISTORICAL_SECTION_LABEL"),(0,d.registerClientReference)(function(){throw Error("Attempted to call HISTORICAL_SECTION_DESCRIPTION() from the server but HISTORICAL_SECTION_DESCRIPTION is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","HISTORICAL_SECTION_DESCRIPTION"),(0,d.registerClientReference)(function(){throw Error("Attempted to call HISTORICAL_CHOICES() from the server but HISTORICAL_CHOICES is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","HISTORICAL_CHOICES"),(0,d.registerClientReference)(function(){throw Error("Attempted to call MODEL_JUDGE_SECTION_LABEL() from the server but MODEL_JUDGE_SECTION_LABEL is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","MODEL_JUDGE_SECTION_LABEL"),(0,d.registerClientReference)(function(){throw Error("Attempted to call MODEL_JUDGE_SECTION_DESCRIPTION() from the server but MODEL_JUDGE_SECTION_DESCRIPTION is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","MODEL_JUDGE_SECTION_DESCRIPTION"),(0,d.registerClientReference)(function(){throw Error("Attempted to call MODEL_JUDGE_CHOICES() from the server but MODEL_JUDGE_CHOICES is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","MODEL_JUDGE_CHOICES"),(0,d.registerClientReference)(function(){throw Error("Attempted to call HISTORY_SYNC_SECTION_LABEL() from the server but HISTORY_SYNC_SECTION_LABEL is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","HISTORY_SYNC_SECTION_LABEL"),(0,d.registerClientReference)(function(){throw Error("Attempted to call HISTORY_SYNC_SECTION_DESCRIPTION() from the server but HISTORY_SYNC_SECTION_DESCRIPTION is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","HISTORY_SYNC_SECTION_DESCRIPTION"),(0,d.registerClientReference)(function(){throw Error("Attempted to call HISTORY_SYNC_CHOICES() from the server but HISTORY_SYNC_CHOICES is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","HISTORY_SYNC_CHOICES"),(0,d.registerClientReference)(function(){throw Error("Attempted to call HISTORY_SYNC_STALE_BADGE() from the server but HISTORY_SYNC_STALE_BADGE is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","HISTORY_SYNC_STALE_BADGE"),(0,d.registerClientReference)(function(){throw Error("Attempted to call HISTORY_SYNC_STALE_NOTICE() from the server but HISTORY_SYNC_STALE_NOTICE is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","HISTORY_SYNC_STALE_NOTICE"),(0,d.registerClientReference)(function(){throw Error("Attempted to call VAULT_SECTION_LABEL() from the server but VAULT_SECTION_LABEL is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","VAULT_SECTION_LABEL"),(0,d.registerClientReference)(function(){throw Error("Attempted to call VAULT_SECTION_DESCRIPTION() from the server but VAULT_SECTION_DESCRIPTION is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","VAULT_SECTION_DESCRIPTION"),(0,d.registerClientReference)(function(){throw Error("Attempted to call VAULT_CHOICES() from the server but VAULT_CHOICES is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","VAULT_CHOICES"),(0,d.registerClientReference)(function(){throw Error("Attempted to call INLINE_REVEAL_SECTION_LABEL() from the server but INLINE_REVEAL_SECTION_LABEL is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","INLINE_REVEAL_SECTION_LABEL"),(0,d.registerClientReference)(function(){throw Error("Attempted to call INLINE_REVEAL_SECTION_DESCRIPTION() from the server but INLINE_REVEAL_SECTION_DESCRIPTION is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","INLINE_REVEAL_SECTION_DESCRIPTION"),(0,d.registerClientReference)(function(){throw Error("Attempted to call INLINE_REVEAL_CHOICES() from the server but INLINE_REVEAL_CHOICES is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","INLINE_REVEAL_CHOICES"),(0,d.registerClientReference)(function(){throw Error("Attempted to call vaultChoiceOf() from the server but vaultChoiceOf is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","vaultChoiceOf"),(0,d.registerClientReference)(function(){throw Error("Attempted to call vaultConsentStale() from the server but vaultConsentStale is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","vaultConsentStale"),(0,d.registerClientReference)(function(){throw Error("Attempted to call VAULT_STALE_BADGE() from the server but VAULT_STALE_BADGE is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","VAULT_STALE_BADGE"),(0,d.registerClientReference)(function(){throw Error("Attempted to call VAULT_STALE_NOTICE() from the server but VAULT_STALE_NOTICE is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","VAULT_STALE_NOTICE"),(0,d.registerClientReference)(function(){throw Error("Attempted to call managedUnknownLocksNotice() from the server but managedUnknownLocksNotice is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","managedUnknownLocksNotice");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call WorkspaceSettingsFormView() from the server but WorkspaceSettingsFormView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","WorkspaceSettingsFormView");(0,d.registerClientReference)(function(){throw Error("Attempted to call CONNECTION_STANDALONE_LABEL() from the server but CONNECTION_STANDALONE_LABEL is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","CONNECTION_STANDALONE_LABEL"),(0,d.registerClientReference)(function(){throw Error("Attempted to call CONNECTION_ATTACHED_LABEL() from the server but CONNECTION_ATTACHED_LABEL is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","CONNECTION_ATTACHED_LABEL"),(0,d.registerClientReference)(function(){throw Error("Attempted to call CONNECTION_STANDALONE_DESCRIPTION() from the server but CONNECTION_STANDALONE_DESCRIPTION is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","CONNECTION_STANDALONE_DESCRIPTION"),(0,d.registerClientReference)(function(){throw Error("Attempted to call CONNECTION_ATTACHED_DESCRIPTION() from the server but CONNECTION_ATTACHED_DESCRIPTION is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","CONNECTION_ATTACHED_DESCRIPTION"),(0,d.registerClientReference)(function(){throw Error("Attempted to call CONNECTION_FORWARDING_NOTICE() from the server but CONNECTION_FORWARDING_NOTICE is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","CONNECTION_FORWARDING_NOTICE"),(0,d.registerClientReference)(function(){throw Error("Attempted to call CONNECTION_UNAVAILABLE_NOTICE() from the server but CONNECTION_UNAVAILABLE_NOTICE is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","CONNECTION_UNAVAILABLE_NOTICE"),(0,d.registerClientReference)(function(){throw Error("Attempted to call CONNECTION_INACTIVE_BADGE() from the server but CONNECTION_INACTIVE_BADGE is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","CONNECTION_INACTIVE_BADGE"),(0,d.registerClientReference)(function(){throw Error("Attempted to call CONNECTION_CREDENTIAL_MISSING_NOTICE() from the server but CONNECTION_CREDENTIAL_MISSING_NOTICE is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","CONNECTION_CREDENTIAL_MISSING_NOTICE"),(0,d.registerClientReference)(function(){throw Error("Attempted to call CONNECTION_CREDENTIAL_UNUSABLE_NOTICE() from the server but CONNECTION_CREDENTIAL_UNUSABLE_NOTICE is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","CONNECTION_CREDENTIAL_UNUSABLE_NOTICE"),(0,d.registerClientReference)(function(){throw Error("Attempted to call connectionEndpointMismatchNotice() from the server but connectionEndpointMismatchNotice is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","connectionEndpointMismatchNotice"),(0,d.registerClientReference)(function(){throw Error("Attempted to call DETACH_LABEL() from the server but DETACH_LABEL is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","DETACH_LABEL"),(0,d.registerClientReference)(function(){throw Error("Attempted to call DETACH_EXPLANATION() from the server but DETACH_EXPLANATION is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","DETACH_EXPLANATION"),(0,d.registerClientReference)(function(){throw Error("Attempted to call DETACH_UNAVAILABLE_NOTICE() from the server but DETACH_UNAVAILABLE_NOTICE is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","DETACH_UNAVAILABLE_NOTICE"),(0,d.registerClientReference)(function(){throw Error("Attempted to call ATTACH_LABEL() from the server but ATTACH_LABEL is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","ATTACH_LABEL"),(0,d.registerClientReference)(function(){throw Error("Attempted to call canAttach() from the server but canAttach is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","canAttach"),(0,d.registerClientReference)(function(){throw Error("Attempted to call submitAttach() from the server but submitAttach is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","submitAttach"),(0,d.registerClientReference)(function(){throw Error("Attempted to call ATTACH_KEY_HINT() from the server but ATTACH_KEY_HINT is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","ATTACH_KEY_HINT"),(0,d.registerClientReference)(function(){throw Error("Attempted to call DETACH_MANAGED_NOTICE() from the server but DETACH_MANAGED_NOTICE is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/settings/WorkspaceSettingsFormView.tsx","DETACH_MANAGED_NOTICE")},61651:(a,b,c)=>{c.d(b,{UpdateStatusCardView:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call UpdateStatusCardView() from the server but UpdateStatusCardView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/updates/UpdateStatusCardView.tsx","UpdateStatusCardView")},62632:(a,b,c)=>{c.d(b,{FindingTypesListView:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call FindingTypesListView() from the server but FindingTypesListView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/findings/FindingTypesListView.tsx","FindingTypesListView")},62935:(a,b,c)=>{c.d(b,{SessionListView:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call SessionListView() from the server but SessionListView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/activity/SessionListView.tsx","SessionListView")},65722:(a,b,c)=>{c.d(b,{ActivityTokenUsageView:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call ActivityTokenUsageView() from the server but ActivityTokenUsageView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/activity/ActivityTokenUsageView.tsx","ActivityTokenUsageView")},65850:(a,b,c)=>{c.d(b,{MatcherModal:()=>f,RuleInspectorBody:()=>e});var d=c(28326);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call RuleInspectorBody() from the server but RuleInspectorBody is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/detections/RuleInspector.tsx","RuleInspectorBody"),f=(0,d.registerClientReference)(function(){throw Error("Attempted to call MatcherModal() from the server but MatcherModal is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/detections/RuleInspector.tsx","MatcherModal")},66365:(a,b,c)=>{c.d(b,{BlockedLedgerView:()=>e});var d=c(28326);(0,d.registerClientReference)(function(){throw Error("Attempted to call BLOCKED_REASON_UNSTATED() from the server but BLOCKED_REASON_UNSTATED is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/exceptions/BlockedLedgerView.tsx","BLOCKED_REASON_UNSTATED");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call BlockedLedgerView() from the server but BlockedLedgerView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/exceptions/BlockedLedgerView.tsx","BlockedLedgerView")},66635:(a,b,c)=>{c.d(b,{FindingLocationsListView:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call FindingLocationsListView() from the server but FindingLocationsListView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/findings/FindingLocationsListView.tsx","FindingLocationsListView")},69332:(a,b,c)=>{c.d(b,{HarnessOverview:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call HarnessOverview() from the server but HarnessOverview is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/inventory/HarnessOverview.tsx","HarnessOverview")},70608:(a,b,c)=>{c.d(b,{ExceptionsTableView:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call ExceptionsTableView() from the server but ExceptionsTableView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/exceptions/ExceptionsTableView.tsx","ExceptionsTableView")},71044:(a,b,c)=>{c.d(b,{EmptyState:()=>e});var d=c(28326);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call EmptyState() from the server but EmptyState is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/inventory/chips.tsx","EmptyState");(0,d.registerClientReference)(function(){throw Error("Attempted to call Section() from the server but Section is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/inventory/chips.tsx","Section"),(0,d.registerClientReference)(function(){throw Error("Attempted to call RadioCardList() from the server but RadioCardList is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/inventory/chips.tsx","RadioCardList"),(0,d.registerClientReference)(function(){throw Error("Attempted to call AccessControl() from the server but AccessControl is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/inventory/chips.tsx","AccessControl"),(0,d.registerClientReference)(function(){throw Error("Attempted to call AccessLabel() from the server but AccessLabel is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/inventory/chips.tsx","AccessLabel"),(0,d.registerClientReference)(function(){throw Error("Attempted to call AccessBar() from the server but AccessBar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/inventory/chips.tsx","AccessBar"),(0,d.registerClientReference)(function(){throw Error("Attempted to call TrustPill() from the server but TrustPill is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/inventory/chips.tsx","TrustPill"),(0,d.registerClientReference)(function(){throw Error("Attempted to call FlagChip() from the server but FlagChip is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/inventory/chips.tsx","FlagChip"),(0,d.registerClientReference)(function(){throw Error("Attempted to call FlagChips() from the server but FlagChips is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/inventory/chips.tsx","FlagChips"),(0,d.registerClientReference)(function(){throw Error("Attempted to call VisBadge() from the server but VisBadge is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/inventory/chips.tsx","VisBadge"),(0,d.registerClientReference)(function(){throw Error("Attempted to call OriginTag() from the server but OriginTag is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/inventory/chips.tsx","OriginTag")},75141:(a,b,c)=>{c.d(b,{FindingLevelFilters:()=>e,FindingsToolbarView:()=>f});var d=c(28326);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call FindingLevelFilters() from the server but FindingLevelFilters is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/findings/FindingsToolbarView.tsx","FindingLevelFilters"),f=(0,d.registerClientReference)(function(){throw Error("Attempted to call FindingsToolbarView() from the server but FindingsToolbarView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/findings/FindingsToolbarView.tsx","FindingsToolbarView")},75851:(a,b,c)=>{c.d(b,{rDU:()=>y.ActivityTokenUsageView,DrA:()=>l,DQQ:()=>O,cZ5:()=>L,VNw:()=>Q,anf:()=>S,ahu:()=>aa,_GS:()=>B,Lgv:()=>ac,oUz:()=>ad.MttrTrendCardView,ece:()=>p,fcY:()=>W.PolicyStatsView,c2Z:()=>ae,RyQ:()=>ah,hU:()=>ai,Zus:()=>F,s0y:()=>v,k3y:()=>N,XTX:()=>aj,K2H:()=>U,gSG:()=>T,$x2:()=>ag,b45:()=>al,UqB:()=>R,OHL:()=>h.OHL,QTF:()=>j,oBs:()=>k,KWc:()=>g,pif:()=>m,twV:()=>Y,U4D:()=>V});let d={primary:"var(--color-primary)",ok:"var(--color-ok)",sevCritical:"var(--color-sev-critical)",sevHigh:"var(--color-sev-high)",sevMedium:"var(--color-sev-medium)",sevLow:"var(--color-sev-low)"},e=new Intl.RelativeTimeFormat("en",{numeric:"auto"}),f=[["year",31536e3],["month",2592e3],["week",604800],["day",86400],["hour",3600],["minute",60]];function g(a,b){if(!a)return"";let c=Date.parse(a);if(Number.isNaN(c))return"";let d=(c-b)/1e3,g=Math.abs(d);if(g<45)return"just now";for(let[a,b]of f)if(g>=b)return e.format(Math.round(d/b),a);return"just now"}var h=c(97001);let i=[{value:"7d",label:"Last 7 days"},{value:"30d",label:"Last 30 days"},{value:"3m",label:"Last 3 months"},{value:"6m",label:"Last 6 months"}];function j(a){return i.find(b=>b.value===a)?.label??a}function k(a,b){return new Date(b-864e5*h.eI7[a]).toISOString()}let l={"30m":18e5,"1h":36e5,"4h":144e5,"24h":864e5};function m(a){return void 0!==a&&Object.hasOwn(l,a)?a:"30m"}c(15613);var n=c(56037),o=c(13726);function p({title:a,sub:b,actions:c}){return(0,o.jsxs)("div",{className:"flex items-start justify-between gap-4 pb-6",children:[(0,o.jsxs)("div",{children:[(0,o.jsx)("h1",{className:"font-display text-2xl font-semibold text-text",children:a}),void 0!==b&&""!==b&&(0,o.jsx)("p",{className:"mt-1 text-sm text-text-3",children:b})]}),c&&(0,o.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:c})]})}let q={[h.tLs.ClaudeCode]:{label:"Claude Code",short:"CC",color:"#C96442"},[h.tLs.ClaudeDesktop]:{label:"Claude Desktop",short:"CD",color:"#A8553A"},[h.tLs.Cursor]:{label:"Cursor",short:"Cu",color:"#252F3D"},[h.tLs.Windsurf]:{label:"Windsurf",short:"Wf",color:"#0B8F7B"},[h.tLs.Codex]:{label:"Codex CLI",short:"Cx",color:"#10A37F"},[h.tLs.Antigravity]:{label:"Antigravity",short:"Ag",color:"#4285F4"},[h.tLs.Copilot]:{label:"GitHub Copilot",short:"Co",color:"#0581D4"},[h.tLs.ChatGpt]:{label:"ChatGPT",short:"GP",color:"#0d8f6f"},[h.tLs.ClaudeAi]:{label:"Claude.ai",short:"Ca",color:"#D97757"},[h.tLs.Api]:{label:"Anthropic API",short:"AP",color:"#6058E9"}};function r({id:a,size:b=24}){let c=q[a];return(0,o.jsx)("span",{className:"flex shrink-0 items-center justify-center rounded-lg font-display font-bold text-white ring-1 ring-inset ring-mark-edge",style:{width:b,height:b,background:c.color,fontSize:.36*b},children:c.short})}var s=c(95043),t=c(17967);function u({icon:a,value:b,label:c,tone:d,isLoading:e}){let{text:f,fill:g}=s.cH[d];return(0,o.jsxs)("div",{"data-slot":"summary-stat",className:"flex min-w-0 flex-1 items-center gap-2 px-4",children:[(0,o.jsx)("span",{"data-slot":"summary-stat-icon",className:(0,s.cn)("grid size-7 shrink-0 place-items-center rounded-lg",g,f),children:(0,o.jsx)(a,{"aria-hidden":!0,focusable:!1,className:"size-3.5"})}),(0,o.jsxs)("div",{className:"flex min-w-0 items-baseline gap-1.5 overflow-hidden",title:e?c:`${String(b)} ${c}`,children:[e?(0,o.jsx)(s.EA,{className:"h-4 w-10 shrink-0"}):(0,o.jsx)("span",{className:"min-w-0 truncate font-display text-lg font-semibold leading-none tabular-nums text-text",children:b}),(0,o.jsx)("span",{className:"shrink-[9999] truncate text-xs text-text-3",children:c})]})]})}function v({items:a,isLoading:b,className:c}){return(0,o.jsx)(s.Zp,{className:(0,s.cn)("mb-3 flex shrink-0 items-stretch overflow-hidden py-2.5 shadow-sm",c),"aria-busy":b,children:a.map((a,c)=>(0,o.jsxs)(t.Fragment,{children:[c>0&&(0,o.jsx)("span",{className:"w-px shrink-0 self-stretch bg-hairline"}),(0,o.jsx)(u,{...a,isLoading:b})]},a.label))})}function w({message:a}){return(0,o.jsxs)("div",{role:"alert",className:"text-xs text-text-3",children:["Couldn’t load data — ",a]})}function x({message:a,className:b}){return(0,o.jsx)("div",{className:(0,s.cn)("w-full py-6 text-center text-xs text-text-3",b),children:a})}c(27138);var y=c(65722);let z={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.6,strokeLinecap:"round",strokeLinejoin:"round"},A=a=>(0,o.jsxs)("svg",{...z,...a,children:[(0,o.jsx)("path",{d:"M8 2.5h8L21.5 8v8L16 21.5H8L2.5 16V8L8 2.5Z"}),(0,o.jsx)("path",{d:"M12 8v4"}),(0,o.jsx)("circle",{cx:"12",cy:"16",r:"1",fill:"currentColor",stroke:"none"})]}),B=a=>(0,o.jsxs)("svg",{...z,...a,children:[(0,o.jsx)("path",{d:"M14 4h6v6"}),(0,o.jsx)("path",{d:"M20 4 11 13"}),(0,o.jsx)("path",{d:"M18 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4"})]}),C=a=>(0,o.jsx)("svg",{...z,...a,children:(0,o.jsx)("path",{d:"M12 19V5M6 11l6-6 6 6"})}),D=a=>(0,o.jsx)("svg",{...z,...a,children:(0,o.jsx)("path",{d:"M12 5v14M6 13l6 6 6-6"})}),E=a=>(0,o.jsx)("svg",{...z,...a,children:(0,o.jsx)("path",{d:"M4 20V10M10 20V4M16 20v-7M22 20H2"})}),F=a=>(0,o.jsxs)("svg",{...z,...a,children:[(0,o.jsx)("path",{d:"M12 3 4.5 6v5.5c0 4.6 3.2 7.6 7.5 9 4.3-1.4 7.5-4.4 7.5-9V6L12 3Z"}),(0,o.jsx)("path",{d:"m9 12 2 2 4-4"})]}),G=a=>(0,o.jsxs)("svg",{...z,...a,children:[(0,o.jsx)("circle",{cx:"12",cy:"12",r:"8.5"}),(0,o.jsx)("circle",{cx:"12",cy:"12",r:"4.5"}),(0,o.jsx)("circle",{cx:"12",cy:"12",r:"1",fill:"currentColor",stroke:"none"})]}),H=a=>(0,o.jsxs)("svg",{...z,...a,children:[(0,o.jsx)("circle",{cx:"12",cy:"8",r:"3.6"}),(0,o.jsx)("path",{d:"M5.5 20a6.5 6.5 0 0 1 13 0"})]}),I=a=>(0,o.jsxs)("svg",{...z,...a,children:[(0,o.jsx)("path",{d:"M6 8.4v7.2"}),(0,o.jsx)("circle",{cx:"6",cy:"6",r:"2.4"}),(0,o.jsx)("circle",{cx:"6",cy:"18",r:"2.4"}),(0,o.jsx)("circle",{cx:"18",cy:"7",r:"2.4"}),(0,o.jsx)("path",{d:"M18 9.4a8.6 8.6 0 0 1-8.6 8.6"})]}),J=a=>(0,o.jsxs)("svg",{...z,...a,children:[(0,o.jsx)("circle",{cx:"8",cy:"12",r:"4"}),(0,o.jsx)("path",{d:"M11.5 12H21l-2 2.4M16.5 12v3"})]}),K=a=>(0,o.jsxs)("svg",{...z,...a,children:[(0,o.jsx)("ellipse",{cx:"12",cy:"6",rx:"7",ry:"3"}),(0,o.jsx)("path",{d:"M5 6v12c0 1.7 3.1 3 7 3s7-1.3 7-3V6"}),(0,o.jsx)("path",{d:"M5 12c0 1.7 3.1 3 7 3s7-1.3 7-3"})]}),L=a=>(0,o.jsx)("svg",{...z,...a,children:(0,o.jsx)("path",{d:"M8 4c-2 0-2 2-2 4s0 3-2 4c2 1 2 2 2 4s0 4 2 4M16 4c2 0 2 2 2 4s0 3 2 4c-2 1-2 2-2 4s0 4-2 4"})}),M=a=>(0,o.jsxs)("svg",{...z,...a,children:[(0,o.jsx)("circle",{cx:"12",cy:"12",r:"9"}),(0,o.jsx)("path",{d:"m8.5 12 2.3 2.3 4.7-4.6"})]}),N=a=>(0,o.jsxs)("svg",{...z,...a,children:[(0,o.jsx)("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),(0,o.jsx)("path",{d:"m7 9 3 3-3 3M13 15h4"})]}),O=a=>(0,o.jsx)("svg",{...z,...a,children:(0,o.jsx)("path",{d:"M13 2 4 14h7l-1 8 9-12h-7l1-8Z"})});h.tLs.ClaudeCode,h.tLs.Cursor,h.tLs.Copilot,h.tLs.Codex,h.tLs.Antigravity,h.tLs.Windsurf,h.tLs.ClaudeDesktop,h.tLs.ChatGpt,h.tLs.ClaudeAi,h.tLs.Api,Object.values(h.tLs),s.cH.neutral,s.cH.primary,s.cH.violet,s.cH.neutral,s.cH.low,s.cH.critical,s.cH.teal,s.cH.high,s.cH.neutral,s.cH.critical,s.cH.primary,new Intl.DateTimeFormat("en-US",{hour:"numeric",minute:"2-digit",hour12:!0}),new Intl.DateTimeFormat("en-US",{hour:"2-digit",minute:"2-digit",second:"2-digit",hourCycle:"h23"}),c(76832),c(96336),c(62935);let P=["grouped","flat","files"],Q="grouped";function R(a){return P.includes(a)}Object.assign(Object.create(null),{secret:J,pii:H,source_code:a=>(0,o.jsx)("svg",{...z,...a,children:(0,o.jsx)("path",{d:"m8 8-4 4 4 4M16 8l4 4-4 4M13.5 6l-3 12"})}),code_flaw:a=>(0,o.jsxs)("svg",{...z,...a,children:[(0,o.jsx)("path",{d:"M12 3 2 20h20L12 3Z"}),(0,o.jsx)("path",{d:"M12 9v5"}),(0,o.jsx)("circle",{cx:"12",cy:"17",r:"1",fill:"currentColor",stroke:"none"})]}),external_share:B,mcp_server:a=>(0,o.jsxs)("svg",{...z,...a,children:[(0,o.jsx)("rect",{x:"4",y:"4",width:"16",height:"7",rx:"2"}),(0,o.jsx)("rect",{x:"4",y:"13",width:"16",height:"7",rx:"2"}),(0,o.jsx)("circle",{cx:"8",cy:"7.5",r:"1",fill:"currentColor",stroke:"none"}),(0,o.jsx)("circle",{cx:"8",cy:"16.5",r:"1",fill:"currentColor",stroke:"none"})]}),customer_data:K,financial:K,phi:H,custom:J}),s.id.critical,s.id.primary,s.id.high,s.id.ok,s.id.neutral,s.id.critical;let S={severity:[],type:[],provider:[],action:[],status:[]};c(24226),c(66635),c(49819),c(75141),c(62632),c(25798),c(28300),c(94115),c(65850),c(29685);let T="Nothing is being vaulted on this machine",U="Reversible redaction is now assigned per detection rather than by the vault consent alone. This machine has the consent granted and entries already in its vault, but no detection is set to Redact & Vault — so detected values are being redacted one-way, and what is removed from here on cannot be recovered. Set the detections you want kept to Redact & Vault below. Entries already in the vault are unaffected.";function V(a){return a.consentValid&&a.vaultEntries>0&&0===a.vaultAssignedPacks}var W=c(15512);c(27482),c(71044);let X={skill:{type:"skill",label:"Skills",icon:"sparkles",fg:"text-violet-ink",bg:"bg-violet-fill"},mcp:{type:"mcp",label:"MCP servers",icon:"server",fg:"text-teal-ink",bg:"bg-teal-fill"},hook:{type:"hook",label:"Hooks",icon:"route",fg:"text-sev-low-ink",bg:"bg-sev-low-fill"},config:{type:"config",label:"Configuration",icon:"sliders",fg:"text-teal-ink",bg:"bg-surface-2"}};function Y(a,b){let c;if(null!=a&&("harness"===a.type?b.harnesses.some(b=>b.id===a.id):"project"===a.type?b.projects.some(b=>b.id===a.id):(c=a.id,b.assetGroups.some(a=>a.items.some(a=>a.id===c))||b.harnesses.some(a=>a.categories.some(a=>a.assets.some(a=>a.id===c))))))return a;let d=b.harnesses[0];if(d)return{type:"harness",id:d.id};let e=b.projects[0];if(e)return{type:"project",id:e.id};for(let a of b.assetGroups){let b=a.items[0];if("project"!==a.type&&b)return{type:a.type,id:b.id}}return null}X.skill,X.mcp,X.hook,X.config,c(80243),c(69332),c(41954),c(9712);let Z={critical:{label:"Critical",color:d.sevCritical},high:{label:"High",color:d.sevHigh},medium:{label:"Medium",color:d.sevMedium},low:{label:"Low",color:d.sevLow}},$={blocked:{label:"Blocked",icon:a=>(0,o.jsxs)("svg",{...z,...a,children:[(0,o.jsx)("circle",{cx:"12",cy:"12",r:"9"}),(0,o.jsx)("path",{d:"m6 6 12 12"})]}),color:d.sevCritical},redacted:{label:"Redacted",icon:a=>(0,o.jsxs)("svg",{...z,...a,children:[(0,o.jsx)("rect",{x:"3",y:"9",width:"18",height:"6",rx:"1.5",fill:"currentColor",stroke:"none"}),(0,o.jsx)("path",{d:"M3 5h18M3 19h12"})]}),color:d.primary},warned:{label:"Warned",icon:A,color:d.sevHigh}},_=new Intl.NumberFormat("en-US");function aa({total:a,actions:b,isLoading:c,error:d,rangeLabel:e,actionHrefs:f}){return(0,o.jsx)(s.Zp,{className:"flex flex-col shadow-sm",children:(0,o.jsxs)(s.Wu,{"aria-busy":c,className:"flex flex-1 flex-col justify-center gap-4",children:[(0,o.jsxs)("div",{className:"flex justify-between gap-3",children:[(0,o.jsxs)("div",{children:[(0,o.jsx)("div",{className:"text-sm font-semibold text-text",children:"Enforcement actions"}),(0,o.jsx)("div",{className:"mt-0.5 text-xs text-text-3",children:e.toLowerCase()})]}),(0,o.jsxs)("div",{className:"text-right",children:[c?(0,o.jsx)(s.EA,{className:"ml-auto h-5 w-12"}):(0,o.jsx)("div",{className:"font-display text-xl font-semibold leading-none text-text",children:d?"—":_.format(a)}),(0,o.jsx)("div",{className:"mt-0.5 text-label text-text-3",children:"total intercepted"})]})]}),d?(0,o.jsx)(w,{message:d}):c?(0,o.jsx)("div",{className:"flex gap-3",children:[0,1,2].map(a=>(0,o.jsx)(s.EA,{className:"h-20 flex-1"},a))}):0===a?(0,o.jsx)(x,{message:"No enforcement actions in this range."}):(0,o.jsx)("div",{className:"flex gap-3",children:b.map(a=>{let b=$[a.kind],c=b.icon,d=a.delta>0,e=f?.[a.kind],g=e?"a":"div";return(0,o.jsxs)(g,{...e?{href:e,title:`View ${b.label.toLowerCase()} findings`}:{},className:(0,s.cn)("block min-w-0 flex-1 border-l-[3px] pl-3",e&&"transition-colors hover:bg-surface-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary/40"),style:{borderColor:b.color},children:[(0,o.jsxs)("div",{className:"inline-flex items-center gap-1.5",style:{color:b.color},children:[(0,o.jsx)(c,{"aria-hidden":!0,focusable:!1,className:"size-4"}),(0,o.jsx)("span",{className:"text-xs font-semibold text-text-2",children:b.label})]}),(0,o.jsx)("div",{className:"mt-2 font-display text-3xl font-semibold leading-none text-text",children:_.format(a.count)}),0!==a.delta&&(0,o.jsxs)("div",{className:"mt-1 inline-flex items-center gap-0.5 text-xs font-semibold text-text-3",children:[d?(0,o.jsx)(C,{"aria-hidden":!0,focusable:!1,className:"size-3"}):(0,o.jsx)(D,{"aria-hidden":!0,focusable:!1,className:"size-3"}),d?"+":"−",_.format(Math.abs(a.delta))," wk/wk"]})]},a.kind)})})]})})}new Intl.NumberFormat("en-US",{notation:"compact"});let ab=[{key:"critical",label:"Critical",color:d.sevCritical},{key:"high",label:"High",color:d.sevHigh},{key:"medium",label:"Medium",color:d.sevMedium},{key:"low",label:"Low",color:d.sevLow}];function ac({points:a,isLoading:b,error:c}){let d=a.every(a=>ab.every(b=>!a[b.key]));return(0,o.jsxs)(s.Zp,{className:"mt-4 shadow-sm xl:mt-5",children:[(0,o.jsxs)(s.aR,{children:[(0,o.jsx)(s.AG,{children:(0,o.jsx)(E,{"aria-hidden":!0,focusable:!1,className:"size-4"})}),(0,o.jsxs)(s.Lc,{children:[(0,o.jsx)(s.ZB,{children:"Findings over time"}),(0,o.jsx)(s.BT,{children:"New sensitive-data detections per day"})]}),(0,o.jsx)(s.X9,{className:"gap-3 text-xs text-text-2",children:ab.map(a=>(0,o.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,o.jsx)("span",{className:"size-2 rounded-xs",style:{background:a.color}}),a.label]},a.key))})]}),(0,o.jsx)(s.Wu,{"aria-busy":b,className:"pb-2",children:c?(0,o.jsx)(w,{message:c}):b?(0,o.jsx)(s.EA,{className:"h-40 w-full"}):d?(0,o.jsx)(x,{message:"No findings in this range."}):(0,o.jsx)(n.AreaChart,{data:a,series:ab,height:160})})]})}var ad=c(4826);function ae({items:a,isLoading:b,error:c,renderedAt:d,itemHrefs:e}){return(0,o.jsxs)(s.Zp,{className:"flex h-full flex-col shadow-sm",children:[(0,o.jsxs)(s.aR,{children:[(0,o.jsx)(s.AG,{children:(0,o.jsx)(M,{"aria-hidden":!0,focusable:!1,className:"size-4"})}),(0,o.jsxs)(s.Lc,{children:[(0,o.jsx)(s.ZB,{children:"Recently resolved"}),(0,o.jsx)(s.BT,{children:"Findings moved to resolved, newest first"})]})]}),(0,o.jsx)(s.Wu,{"aria-busy":b,className:"flex flex-col",children:c?(0,o.jsx)(w,{message:c}):b?(0,o.jsx)("div",{className:"flex flex-col gap-3 py-2",children:[0,1,2].map(a=>(0,o.jsx)(s.EA,{className:"h-12 w-full"},a))}):0===a.length?(0,o.jsx)(x,{message:"No resolved findings yet."}):a.map((b,c)=>{let f=e?.[b.findingKey];return(0,o.jsx)(af,{item:b,last:c===a.length-1,renderedAt:d,...f?{href:f}:{}},b.findingKey)})})]})}function af({item:a,last:b,renderedAt:c,href:d}){let e=d?"a":"div";return(0,o.jsxs)(e,{...d?{href:d,title:`View resolved ${a.ruleId} findings`}:{},className:(0,s.cn)("relative flex gap-3",!b&&"pb-4",d&&"rounded-sm transition-colors hover:bg-surface-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary/40"),children:[!b&&(0,o.jsx)("span",{className:"absolute bottom-0 left-4 top-8 w-px bg-hairline"}),(0,o.jsx)("span",{className:(0,s.cn)("z-10 grid size-8 shrink-0 place-items-center rounded-lg",s.id[a.severity]),children:(0,o.jsx)(M,{"aria-hidden":!0,focusable:!1,className:"size-4"})}),(0,o.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsx)("span",{className:"truncate text-sm font-semibold text-text",title:a.ruleId,children:a.ruleId}),(0,o.jsx)("span",{className:"ml-auto shrink-0 text-xs text-text-3",children:g(a.resolvedAt,c)})]}),(0,o.jsxs)("div",{className:"mt-1.5 flex items-center gap-1.5 text-xs text-text-3",children:[(0,o.jsx)("span",{className:"shrink-0",children:Z[a.severity].label}),(0,o.jsx)("span",{className:"shrink-0 text-text-3",children:"\xb7"}),(0,o.jsx)("span",{className:"truncate font-mono",title:a.path,children:a.path})]})]})]})}function ag(a,b={}){return(0,h.Plu)(a).map(a=>{var c;let d=b.hrefForRule?.(a.ruleId),e=(0,h.bCv)(a.category);return{id:`local-${a.category}`,category:a.category,severity:"critical"===(c=a.severity)||"high"===c||"medium"===c?c:"low",title:e.title,description:e.advice,subjects:[{type:"rule",id:a.ruleId,label:`${a.ruleId} \xb7 ${String(a.count)} finding${1===a.count?"":"s"}`}],action:{mode:"navigate",type:"review_findings",label:e.action,...void 0===d?{}:{href:d}}}})}function ah({providers:a,isLoading:b,error:c,rangeLabel:e}){return(0,o.jsxs)(s.Zp,{className:"flex flex-col shadow-sm",children:[(0,o.jsxs)(s.aR,{children:[(0,o.jsx)(s.AG,{tone:"teal",children:(0,o.jsx)(F,{"aria-hidden":!0,focusable:!1,className:"size-4"})}),(0,o.jsxs)(s.Lc,{children:[(0,o.jsx)(s.ZB,{children:"Scan coverage"}),(0,o.jsxs)(s.BT,{children:["By provider \xb7 ",e.toLowerCase()]})]})]}),(0,o.jsx)(s.Wu,{"aria-busy":b,className:"flex flex-col gap-2.5",children:c?(0,o.jsx)(w,{message:c}):b?[0,1,2,3,4].map(a=>(0,o.jsx)(s.EA,{className:"h-6 w-full"},a)):a.map(a=>{let b=!a.supported,c=100===a.coverage?d.ok:a.coverage>=60?d.sevMedium:d.sevHigh;return(0,o.jsxs)("div",{className:(0,s.cn)("flex items-center gap-2.5",b&&"opacity-45"),children:[(0,o.jsx)("span",{className:(0,s.cn)(b&&"grayscale"),children:(0,o.jsx)(r,{id:a.provider})}),(0,o.jsxs)("span",{className:"w-28 shrink-0 truncate text-ui text-text",children:[q[a.provider].label,b&&(0,o.jsx)("span",{className:"sr-only",children:" — not yet supported"})]}),b?(0,o.jsx)("span",{"aria-hidden":!0,className:"block h-1.5 flex-1 rounded-full bg-surface-3"}):(0,o.jsx)(s.kI,{value:a.coverage,max:100,color:c,height:6,"aria-label":`${q[a.provider].label} scan coverage`}),b?(0,o.jsx)("span",{className:"w-9 shrink-0 text-right text-label font-semibold uppercase tracking-wide text-text-3",children:"Soon"}):(0,o.jsxs)("span",{className:"w-9 shrink-0 text-right text-xs font-semibold text-text-2",children:[a.coverage,"%"]})]},a.provider)})})]})}function ai({bySeverity:a,total:b,severityHrefs:c,isLoading:d,error:e}){return(0,o.jsxs)(s.Zp,{className:"flex flex-col shadow-sm",children:[(0,o.jsxs)(s.aR,{children:[(0,o.jsx)(s.AG,{tone:"critical",children:(0,o.jsx)(A,{"aria-hidden":!0,focusable:!1,className:"size-4"})}),(0,o.jsxs)(s.Lc,{children:[(0,o.jsx)(s.ZB,{children:"By severity"}),(0,o.jsx)(s.BT,{children:d?"Loading…":e?"—":`${_.format(b)} findings`})]})]}),(0,o.jsx)(s.Wu,{"aria-busy":d,className:"flex items-center gap-4",children:e?(0,o.jsx)(w,{message:e}):d?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.EA,{className:"size-30 shrink-0 rounded-full"}),(0,o.jsx)("div",{className:"flex flex-1 flex-col gap-2",children:[0,1,2,3].map(a=>(0,o.jsx)(s.EA,{className:"h-4 w-full"},a))})]}):0===b?(0,o.jsx)(x,{message:"No findings."}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.Donut,{segments:a.map(a=>({label:Z[a.severity].label,value:a.count,color:Z[a.severity].color})),size:120,thickness:15,children:(0,o.jsx)("div",{className:"font-display text-2xl font-semibold leading-none text-text",children:_.format(b)})}),(0,o.jsx)("div",{className:"flex flex-1 flex-col gap-2",children:a.map(a=>{let b=c?.[a.severity],d=b?"a":"div";return(0,o.jsxs)(d,{...b?{href:b,title:`View ${Z[a.severity].label.toLowerCase()} findings`}:{},className:(0,s.cn)("flex items-center gap-2",b&&"-mx-1 rounded-sm px-1 transition-colors hover:bg-surface-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary/40"),children:[(0,o.jsx)("span",{className:"size-2 rounded-xs",style:{background:Z[a.severity].color}}),(0,o.jsx)("span",{className:"flex-1 text-ui text-text-2",children:Z[a.severity].label}),(0,o.jsx)("span",{className:"text-ui font-bold text-text",children:_.format(a.count)})]},a.severity)})})]})})]})}function aj({items:a,isLoading:b,error:c,sourceHrefs:d}){return(0,o.jsxs)(s.Zp,{className:"flex flex-col shadow-sm min-w-0",children:[(0,o.jsxs)(s.aR,{children:[(0,o.jsx)(s.AG,{children:(0,o.jsx)(G,{"aria-hidden":!0,focusable:!1,className:"size-4"})}),(0,o.jsxs)(s.Lc,{children:[(0,o.jsx)(s.ZB,{children:"Top sources"}),(0,o.jsx)(s.BT,{children:"Repos & people by findings"})]})]}),(0,o.jsx)(s.Wu,{"aria-busy":b,className:"flex flex-col gap-3",children:c?(0,o.jsx)(w,{message:c}):b?[0,1,2,3,4].map(a=>(0,o.jsx)(s.EA,{className:"h-7 w-full"},a)):0===a.length?(0,o.jsx)("div",{className:"py-6 text-center text-xs text-text-3",children:"No sources yet."}):a.map(a=>{let b=d?.[a.id];return(0,o.jsx)(ak,{source:a,...b?{href:b}:{}},a.id)})})]})}function ak({source:a,href:b}){let c="user"===a.kind,d=b?"a":"div";return(0,o.jsxs)(d,{...b?{href:b,title:`View findings from ${a.name}`}:{},className:(0,s.cn)("flex items-center gap-3",b&&"-mx-1 rounded-sm px-1 transition-colors hover:bg-surface-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary/40"),children:[(0,o.jsx)("span",{className:(0,s.cn)("flex size-7 shrink-0 items-center justify-center bg-surface-2 text-text-2",c?"rounded-full":"rounded-md"),children:(0,o.jsx)(c?H:I,{"aria-hidden":!0,focusable:!1,className:"size-3.5"})}),(0,o.jsxs)("div",{className:"min-w-0 flex-1 flex items-center justify-between gap-2",children:[(0,o.jsx)("span",{className:(0,s.cn)("truncate text-sm text-text",!c&&"font-mono"),title:a.name,children:a.name}),(0,o.jsx)("span",{className:"text-sm font-bold text-text shrink-0",children:_.format(a.findingsCount)})]})]})}function al(a,b){return(0,h.qEQ)(a.keyVersion,b)}c(85242),c(34751),c(39015),c(11975),c(66365),c(3469),c(50742),c(70608),c(92571),c(16069),c(2558),c(78654),c(51977),c(61651),c(59865),c(82061),c(43891),c(89431),c(30208),c(25822),c(33443),c(3133)},76832:(a,b,c)=>{c.d(b,{HarnessSelect:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call HarnessSelect() from the server but HarnessSelect is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/activity/HarnessSelect.tsx","HarnessSelect")},78654:(a,b,c)=>{c.d(b,{VaultReuseView:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call VaultReuseView() from the server but VaultReuseView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/vault/VaultReuseView.tsx","VaultReuseView")},80243:(a,b,c)=>{c.d(b,{FileDetailDrawer:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call FileDetailDrawer() from the server but FileDetailDrawer is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/inventory/FileDetailDrawer.tsx","FileDetailDrawer")},82061:(a,b,c)=>{c.d(b,{DataShareDetailView:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call DataShareDetailView() from the server but DataShareDetailView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/data-shares/DataShareDetailView.tsx","DataShareDetailView")},85242:(a,b,c)=>{c.d(b,{RecommendedActionsCardView:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call RecommendedActionsCardView() from the server but RecommendedActionsCardView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/security/RecommendedActionsCardView.tsx","RecommendedActionsCardView")},89431:(a,b,c)=>{c.d(b,{DataSharesTableView:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call DataSharesTableView() from the server but DataSharesTableView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/data-shares/DataSharesTableView.tsx","DataSharesTableView")},92571:(a,b,c)=>{c.d(b,{ROTATE_CONFIRMATION:()=>e,RotateKeyDialog:()=>f});var d=c(28326);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call ROTATE_CONFIRMATION() from the server but ROTATE_CONFIRMATION is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/exceptions/RotateKeyDialog.tsx","ROTATE_CONFIRMATION"),f=(0,d.registerClientReference)(function(){throw Error("Attempted to call RotateKeyDialog() from the server but RotateKeyDialog is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/exceptions/RotateKeyDialog.tsx","RotateKeyDialog")},94115:(a,b,c)=>{c.d(b,{PolicyPicker:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call PolicyPicker() from the server but PolicyPicker is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/detections/PolicyPicker.tsx","PolicyPicker")},96336:(a,b,c)=>{c.d(b,{SessionDetailView:()=>d});let d=(0,c(28326).registerClientReference)(function(){throw Error("Attempted to call SessionDetailView() from the server but SessionDetailView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/ai-tc/ai-tc/packages/dashboard-ui/src/activity/SessionDetailView.tsx","SessionDetailView")}};
|