@claudeye/linux-arm64 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/assets/standalone/.next/BUILD_ID +1 -1
  2. package/assets/standalone/.next/build-manifest.json +2 -2
  3. package/assets/standalone/.next/prerender-manifest.json +3 -3
  4. package/assets/standalone/.next/server/app/_global-error.html +2 -2
  5. package/assets/standalone/.next/server/app/_global-error.rsc +1 -1
  6. package/assets/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/assets/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/assets/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/assets/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/assets/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/assets/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  12. package/assets/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  13. package/assets/standalone/.next/server/app/_not-found.html +2 -2
  14. package/assets/standalone/.next/server/app/_not-found.rsc +5 -5
  15. package/assets/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +5 -5
  16. package/assets/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  17. package/assets/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +5 -5
  18. package/assets/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  19. package/assets/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  20. package/assets/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  21. package/assets/standalone/.next/server/app/dashboard/[viewName]/page/server-reference-manifest.json +4 -4
  22. package/assets/standalone/.next/server/app/dashboard/[viewName]/page_client-reference-manifest.js +1 -1
  23. package/assets/standalone/.next/server/app/dashboard/page/server-reference-manifest.json +4 -4
  24. package/assets/standalone/.next/server/app/dashboard/page_client-reference-manifest.js +1 -1
  25. package/assets/standalone/.next/server/app/login/page/server-reference-manifest.json +2 -2
  26. package/assets/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  27. package/assets/standalone/.next/server/app/login.html +2 -2
  28. package/assets/standalone/.next/server/app/login.rsc +6 -6
  29. package/assets/standalone/.next/server/app/login.segments/_full.segment.rsc +6 -6
  30. package/assets/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  31. package/assets/standalone/.next/server/app/login.segments/_index.segment.rsc +5 -5
  32. package/assets/standalone/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  33. package/assets/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  34. package/assets/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  35. package/assets/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  36. package/assets/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  37. package/assets/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  38. package/assets/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  39. package/assets/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +1 -1
  40. package/assets/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +8 -8
  41. package/assets/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  42. package/assets/standalone/.next/server/app/queue/page/server-reference-manifest.json +3 -3
  43. package/assets/standalone/.next/server/app/queue/page_client-reference-manifest.js +1 -1
  44. package/assets/standalone/.next/server/chunks/[root-of-the-server]__b18c2f99._.js +2 -2
  45. package/assets/standalone/.next/server/chunks/_d3c87a9f._.js +2 -2
  46. package/assets/standalone/.next/server/chunks/_fb07f1d4._.js +1 -1
  47. package/assets/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_7a66d362.js +1 -1
  48. package/assets/standalone/.next/server/chunks/ssr/_1d335924._.js +1 -1
  49. package/assets/standalone/.next/server/chunks/ssr/_34abf048._.js +2 -2
  50. package/assets/standalone/.next/server/chunks/ssr/_3e6c3cad._.js +2 -2
  51. package/assets/standalone/.next/server/chunks/ssr/_40b9779b._.js +2 -2
  52. package/assets/standalone/.next/server/chunks/ssr/_472a5ae2._.js +2 -2
  53. package/assets/standalone/.next/server/chunks/ssr/_76ab933f._.js +1 -1
  54. package/assets/standalone/.next/server/chunks/ssr/_87e025a1._.js +1 -1
  55. package/assets/standalone/.next/server/chunks/ssr/_cce5033e._.js +2 -2
  56. package/assets/standalone/.next/server/chunks/ssr/_d7141734._.js +2 -2
  57. package/assets/standalone/.next/server/chunks/ssr/_d982b289._.js +2 -2
  58. package/assets/standalone/.next/server/chunks/ssr/_f7ec0663._.js +2 -2
  59. package/assets/standalone/.next/server/chunks/ssr/app_actions_compute-dashboard_ts_fc151dbb._.js +1 -1
  60. package/assets/standalone/.next/server/chunks/ssr/app_login_page_tsx_ccc0019b._.js +1 -1
  61. package/assets/standalone/.next/server/chunks/ssr/app_queue_queue-client_tsx_45f040f7._.js +1 -1
  62. package/assets/standalone/.next/server/chunks/ssr/components_navbar_tsx_e9e361f1._.js +1 -1
  63. package/assets/standalone/.next/server/pages/404.html +2 -2
  64. package/assets/standalone/.next/server/pages/500.html +2 -2
  65. package/assets/standalone/.next/server/server-reference-manifest.js +1 -1
  66. package/assets/standalone/.next/server/server-reference-manifest.json +15 -15
  67. package/assets/standalone/.next/static/chunks/{1354821dd1da3ecd.js → 0799325e505e77f7.js} +1 -1
  68. package/assets/standalone/.next/static/chunks/{6e2032188a623ac8.js → 41f5296fb6143015.js} +3 -3
  69. package/assets/standalone/.next/static/chunks/{14572e430f69d6c3.js → 7ae9fc2d3620a9da.js} +1 -1
  70. package/assets/standalone/.next/static/chunks/{c2390d8abaa33663.js → 7dd73e58ba8a0797.js} +1 -1
  71. package/assets/standalone/.next/static/chunks/{7d8ed7350dad6010.js → 9a7a0881a040272f.js} +1 -1
  72. package/assets/standalone/.next/static/chunks/{72ebacce3ab7b9c6.js → a49aebd623ae4665.js} +1 -1
  73. package/assets/standalone/package.json +1 -1
  74. package/bin/claudeye +0 -0
  75. package/package.json +1 -1
  76. /package/assets/standalone/.next/static/{CsliEBsvJnZazoPCAbqF5 → AKt9xSBixO5pCAaT7TTds}/_buildManifest.js +0 -0
  77. /package/assets/standalone/.next/static/{CsliEBsvJnZazoPCAbqF5 → AKt9xSBixO5pCAaT7TTds}/_clientMiddlewareManifest.json +0 -0
  78. /package/assets/standalone/.next/static/{CsliEBsvJnZazoPCAbqF5 → AKt9xSBixO5pCAaT7TTds}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- module.exports=[77728,a=>{"use strict";var b=a.i(37936),c=a.i(5246),d=a.i(76668),e=a.i(9223);async function f(a){let b=a.get("username"),f=a.get("password"),g=a.get("redirectTo")||"/";if(!b||!f)return{error:"Username and password are required"};let i=process.env.CLAUDEYE_AUTH_USERS??"",j=(0,e.parseAuthUsers)(i),k=!1;for(let a of j){let c=h(a.username,b),d=h(a.password,f);c&&d&&(k=!0)}if(!k)return(0,d.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let l=process.env.CLAUDEYE_AUTH_SECRET??"",m=await (0,e.createSessionCookie)(b,l),n=await (0,c.cookies)();return n.set("claudeye_session",m,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,d.logActivity)(b,"login"),{redirectTo:g}}async function g(){let{getRequestUsername:b}=await a.A(47538),e=await b();(0,d.logActivity)(e,"logout");let f=await (0,c.cookies)();return f.delete("claudeye_session"),f.delete("claudeye_auth"),{redirectTo:"/login"}}function h(a,b){if(a.length!==b.length){let c=Math.max(a.length,b.length);for(let d=0;d<c;d++)a.charCodeAt(d%a.length),b.charCodeAt(d%b.length);return!1}let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(0,a.i(13095).ensureServerEntryExports)([f,g]),(0,b.registerServerReference)(f,"408ea81a69adbe48e14de83932e8376609011db9af",null),(0,b.registerServerReference)(g,"00eb53591ad3a4f097215afe550fcf57f8e0294c55",null),a.s(["login",()=>f,"logout",()=>g])},37936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},13095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},9223,a=>{"use strict";function b(a){let b=new Uint8Array(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function c(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=atob(b+"=".repeat((4-b.length%4)%4)),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}async function d(a){let b=new TextEncoder;return crypto.subtle.importKey("raw",b.encode(a),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function e(a,c){let e=JSON.stringify({u:a,e:Date.now()+864e5}),f=new TextEncoder().encode(e),g=await d(c),h=await crypto.subtle.sign("HMAC",g,f);return`${b(f.buffer)}.${b(h)}`}async function f(a,b){let e=a.indexOf(".");if(e<0)return null;try{let f=a.slice(0,e),g=a.slice(e+1),h=c(f),i=c(g),j=await d(b);if(!await crypto.subtle.verify("HMAC",j,i.buffer,h.buffer))return null;let{u:k,e:l}=JSON.parse(new TextDecoder().decode(h));if("number"!=typeof l||Date.now()>l)return null;return"string"==typeof k?k:null}catch{return null}}function g(a){return a.trim()?a.split(",").reduce((a,b)=>{let c=b.indexOf(":");return c>0&&a.push({username:b.slice(0,c),password:b.slice(c+1)}),a},[]):[]}a.s(["createSessionCookie",()=>e,"parseAuthUsers",()=>g,"verifySessionCookie",()=>f])},69191,a=>{"use strict";var b=a.i(24868),c=a.i(14747),d=a.i(90798),e=a.i(34900),f=a.i(76668),g=a.i(82248);async function h(a,c){try{return(await (0,b.stat)(a)).mtime}catch(a){return(0,f.logWarn)(`Failed to stat ${c}:`,a),new Date(0)}}async function i(a){try{if(!(await (0,b.stat)(a)).isDirectory())return null;return await (0,b.readdir)(a,{withFileTypes:!0})}catch{return null}}async function j(){try{let a=(0,d.getClaudeProjectsPath)(),b=await i(a);if(!b)return[];let e=await Promise.all(b.filter(a=>a.isDirectory()).map(async b=>{let d=(0,c.join)(a,b.name),e=await h(d,b.name);return{name:b.name,path:d,isDirectory:!0,lastModified:e,lastModifiedFormatted:(0,g.formatDate)(e)}}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,f.logError)("Error reading project folders:",a),[]}}function k(a){let b=(0,d.getClaudeProjectsPath)();return(0,c.join)(b,a)}function l(a){let b=a.match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i);return b?b[0]:void 0}async function m(a){try{let b=await i(a);if(!b)return[];let d=b.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")&&l(a.name)),e=await Promise.all(d.map(async b=>{let d=(0,c.join)(a,b.name),e=await h(d,b.name);return{name:b.name,path:d,lastModified:e,lastModifiedFormatted:(0,g.formatDate)(e),sessionId:l(b.name)}}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,f.logError)("Error reading session files:",a),[]}}let n=(0,e.runtimeCache)(j,30),o=(0,e.runtimeCache)(a=>m(a),30);a.s(["getCachedProjectFolders",0,n,"getCachedSessionFiles",0,o,"getProjectPath",()=>k])},46325,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_ENRICHER_REGISTRY__");function c(a,d,e,f="session",g){let h={name:a,fn:d,scope:f};e&&(h.condition=e),g&&(h.subagentType=g),b.register(h)}let d=b.getAll,e=b.getSessionScoped,f=b.getSubagentScoped,g=b.hasSubagent,h=b.has,i=b.clear;a.s(["clearEnrichers",0,i,"getRegisteredEnrichers",0,d,"getSessionScopedEnrichers",0,e,"getSubagentScopedEnrichers",0,f,"hasEnrichers",0,h,"hasSubagentEnrichers",0,g,"registerEnricher",()=>c])},70467,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_EVAL_REGISTRY__");function c(a,d,e,f="session",g){let h={name:a,fn:d,scope:f};e&&(h.condition=e),g&&(h.subagentType=g),b.register(h)}let d=b.getAll,e=b.getSessionScoped,f=b.getSubagentScoped,g=b.hasSubagent,h=b.has,i=b.clear;a.s(["clearEvals",0,i,"getRegisteredEvals",0,d,"getSessionScopedEvals",0,e,"getSubagentScopedEvals",0,f,"hasEvals",0,h,"hasSubagentEvals",0,g,"registerEval",()=>c])},20396,82762,a=>{"use strict";var b=a.i(37936),c=a.i(62733);let d="__CLAUDEYE_DASHBOARD_FILTER_REGISTRY__",e="__CLAUDEYE_DASHBOARD_VIEW_REGISTRY__",f="__CLAUDEYE_DASHBOARD_AGGREGATE_REGISTRY__",g="__CLAUDEYE_DASHBOARD_PREBUILT_FILTER_REGISTRY__";function h(){let a=globalThis;return a[d]||(a[d]=[]),a[d]}function i(){let a=globalThis;return a[e]||(a[e]=[]),a[e]}function j(){return h()}function k(a){return h().filter(b=>b.view===a)}function l(a){return i().find(b=>b.name===a)}function m(){return i()}function n(a){let b;return(!(b=globalThis)[f]&&(b[f]=[]),b[f]).filter(b=>b.view===a)}function o(a){let b;return(!(b=globalThis)[g]&&(b[g]=[]),b[g]).filter(b=>b.view===a)}async function p(){try{await (0,c.ensureEvalsLoaded)();let a=m().map(a=>({name:a.name,label:a.label,filterCount:k(a.name).length,aggregateCount:n(a.name).length})),b=k("default").length>0,d=n("default").length>0;return{ok:!0,views:a,hasDefaultFilters:b,hasDefaultAggregates:d}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}a.s(["getAggregatesForView",()=>n,"getFiltersForView",()=>k,"getPreBuiltFiltersForView",()=>o,"getRegisteredFilters",()=>j,"getRegisteredViews",()=>m,"getViewOptions",()=>l],82762),(0,a.i(13095).ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"00b3dbba08cf01fea3acfa3f3e931656f064e893eb",null),a.s(["listDashboardViews",()=>p],20396)},65003,a=>{"use strict";var b=a.i(70467),c=a.i(50871);async function d(a,d,e,f,g,h){let i=g??(0,b.getRegisteredEvals)(),j={entries:a,stats:d,projectName:e,sessionId:f,source:"session",...h};return(0,c.runAll)(i,j,{skipResult:a=>({name:a.name,pass:!1,score:0,durationMs:0,skipped:!0}),successResult:(a,b,c)=>{var d;return{name:a.name,pass:b.pass,score:null==(d=b.score)?1:Math.max(0,Math.min(1,d)),message:b.message,metadata:b.metadata,durationMs:c}},errorResult:(a,b,c)=>({name:a.name,pass:!1,score:0,durationMs:c,error:b}),unexpectedResult:()=>({name:"?",pass:!1,score:0,durationMs:0,error:"Unexpected rejection"}),buildSummary:(a,b)=>{let c=0,d=0,e=0,f=0;for(let b of a)b.skipped?f++:b.error?e++:b.pass?c++:d++;return{results:a,totalDurationMs:b,passCount:c,failCount:d,errorCount:e,skippedCount:f}}})}a.s(["runAllEvals",()=>d])},50871,a=>{"use strict";async function b(a,b,c){let d=[],e=performance.now(),f=globalThis.__CLAUDEYE_CONDITION_REGISTRY__??null,g=!1;if(f)try{await f(b)||(g=!0)}catch{g=!0}if(g)for(let b of a)d.push(c.skipResult(b));else{let e=a.map(async a=>{if(a.condition)try{if(!await a.condition(b))return c.skipResult(a)}catch(b){return c.errorResult(a,`Condition error: ${b instanceof Error?b.message:String(b)}`,0)}let d=performance.now();try{let e=await a.fn(b),f=Math.round(performance.now()-d);return c.successResult(a,e,f)}catch(e){let b=Math.round(performance.now()-d);return c.errorResult(a,e instanceof Error?e.message:String(e),b)}});for(let a of(await Promise.allSettled(e)))d.push("fulfilled"===a.status?a.value:c.unexpectedResult())}let h=Math.round(performance.now()-e);return c.buildSummary(d,h)}a.s(["runAll",()=>b],50871)},31810,a=>{"use strict";var b=a.i(46325),c=a.i(50871);async function d(a,d,e,f,g,h){let i=g??(0,b.getRegisteredEnrichers)(),j={entries:a,stats:d,projectName:e,sessionId:f,source:"session",...h};return(0,c.runAll)(i,j,{skipResult:a=>({name:a.name,data:{},durationMs:0,skipped:!0}),successResult:(a,b,c)=>({name:a.name,data:b,durationMs:c}),errorResult:(a,b,c)=>({name:a.name,data:{},durationMs:c,error:b}),unexpectedResult:()=>({name:"?",data:{},durationMs:0,error:"Unexpected rejection"}),buildSummary:(a,b)=>{let c=0,d=0;for(let b of a)b.skipped?d++:b.error&&c++;return{results:a,totalDurationMs:b,errorCount:c,skippedCount:d}}})}a.s(["runAllEnrichers",()=>d])},20722,a=>{"use strict";var b=a.i(77728),c=a.i(20396),d=a.i(42298),e=a.i(4930);a.s([],56020),a.i(56020),a.s(["00b3dbba08cf01fea3acfa3f3e931656f064e893eb",()=>c.listDashboardViews,"00eb53591ad3a4f097215afe550fcf57f8e0294c55",()=>b.logout,"405faeee3f299d04e3412abfb142f2953ba2bf65e5",()=>e.computeAggregates,"606fa0ff3570161e6192562c93508e0de5fc8281b0",()=>d.computeDashboard],20722)},23804,a=>{a.v(a=>Promise.resolve().then(()=>a(5246)))},76958,a=>{a.v(a=>Promise.resolve().then(()=>a(9223)))},47538,a=>{a.v(a=>Promise.resolve().then(()=>a(76668)))},45397,a=>{a.v(a=>Promise.resolve().then(()=>a(70467)))},79288,a=>{a.v(a=>Promise.resolve().then(()=>a(46325)))}];
1
+ module.exports=[77728,a=>{"use strict";var b=a.i(37936),c=a.i(5246),d=a.i(76668),e=a.i(9223);async function f(a){let b=a.get("username"),f=a.get("password"),g=a.get("redirectTo")||"/";if(!b||!f)return{error:"Username and password are required"};let i=process.env.CLAUDEYE_AUTH_USERS??"",j=(0,e.parseAuthUsers)(i),k=!1;for(let a of j){let c=h(a.username,b),d=h(a.password,f);c&&d&&(k=!0)}if(!k)return(0,d.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let l=process.env.CLAUDEYE_AUTH_SECRET??"",m=await (0,e.createSessionCookie)(b,l),n=await (0,c.cookies)();return n.set("claudeye_session",m,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,d.logActivity)(b,"login"),{redirectTo:g}}async function g(){let{getRequestUsername:b}=await a.A(47538),e=await b();(0,d.logActivity)(e,"logout");let f=await (0,c.cookies)();return f.delete("claudeye_session"),f.delete("claudeye_auth"),{redirectTo:"/login"}}function h(a,b){if(a.length!==b.length){let c=Math.max(a.length,b.length);for(let d=0;d<c;d++)a.charCodeAt(d%a.length),b.charCodeAt(d%b.length);return!1}let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(0,a.i(13095).ensureServerEntryExports)([f,g]),(0,b.registerServerReference)(f,"40bb68ba2962c29eb9ea8abd3a00378698f2d44f11",null),(0,b.registerServerReference)(g,"00a1f1cb1c545539b00ebf8d309d7c59ded691b4a1",null),a.s(["login",()=>f,"logout",()=>g])},37936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},13095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},9223,a=>{"use strict";function b(a){let b=new Uint8Array(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function c(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=atob(b+"=".repeat((4-b.length%4)%4)),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}async function d(a){let b=new TextEncoder;return crypto.subtle.importKey("raw",b.encode(a),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function e(a,c){let e=JSON.stringify({u:a,e:Date.now()+864e5}),f=new TextEncoder().encode(e),g=await d(c),h=await crypto.subtle.sign("HMAC",g,f);return`${b(f.buffer)}.${b(h)}`}async function f(a,b){let e=a.indexOf(".");if(e<0)return null;try{let f=a.slice(0,e),g=a.slice(e+1),h=c(f),i=c(g),j=await d(b);if(!await crypto.subtle.verify("HMAC",j,i.buffer,h.buffer))return null;let{u:k,e:l}=JSON.parse(new TextDecoder().decode(h));if("number"!=typeof l||Date.now()>l)return null;return"string"==typeof k?k:null}catch{return null}}function g(a){return a.trim()?a.split(",").reduce((a,b)=>{let c=b.indexOf(":");return c>0&&a.push({username:b.slice(0,c),password:b.slice(c+1)}),a},[]):[]}a.s(["createSessionCookie",()=>e,"parseAuthUsers",()=>g,"verifySessionCookie",()=>f])},69191,a=>{"use strict";var b=a.i(24868),c=a.i(14747),d=a.i(90798),e=a.i(34900),f=a.i(76668),g=a.i(82248);async function h(a,c){try{return(await (0,b.stat)(a)).mtime}catch(a){return(0,f.logWarn)(`Failed to stat ${c}:`,a),new Date(0)}}async function i(a){try{if(!(await (0,b.stat)(a)).isDirectory())return null;return await (0,b.readdir)(a,{withFileTypes:!0})}catch{return null}}async function j(){try{let a=(0,d.getClaudeProjectsPath)(),b=await i(a);if(!b)return[];let e=await Promise.all(b.filter(a=>a.isDirectory()).map(async b=>{let d=(0,c.join)(a,b.name),e=await h(d,b.name);return{name:b.name,path:d,isDirectory:!0,lastModified:e,lastModifiedFormatted:(0,g.formatDate)(e)}}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,f.logError)("Error reading project folders:",a),[]}}function k(a){let b=(0,d.getClaudeProjectsPath)();return(0,c.join)(b,a)}function l(a){let b=a.match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i);return b?b[0]:void 0}async function m(a){try{let b=await i(a);if(!b)return[];let d=b.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")&&l(a.name)),e=await Promise.all(d.map(async b=>{let d=(0,c.join)(a,b.name),e=await h(d,b.name);return{name:b.name,path:d,lastModified:e,lastModifiedFormatted:(0,g.formatDate)(e),sessionId:l(b.name)}}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,f.logError)("Error reading session files:",a),[]}}let n=(0,e.runtimeCache)(j,30),o=(0,e.runtimeCache)(a=>m(a),30);a.s(["getCachedProjectFolders",0,n,"getCachedSessionFiles",0,o,"getProjectPath",()=>k])},46325,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_ENRICHER_REGISTRY__");function c(a,d,e,f="session",g){let h={name:a,fn:d,scope:f};e&&(h.condition=e),g&&(h.subagentType=g),b.register(h)}let d=b.getAll,e=b.getSessionScoped,f=b.getSubagentScoped,g=b.hasSubagent,h=b.has,i=b.clear;a.s(["clearEnrichers",0,i,"getRegisteredEnrichers",0,d,"getSessionScopedEnrichers",0,e,"getSubagentScopedEnrichers",0,f,"hasEnrichers",0,h,"hasSubagentEnrichers",0,g,"registerEnricher",()=>c])},70467,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_EVAL_REGISTRY__");function c(a,d,e,f="session",g){let h={name:a,fn:d,scope:f};e&&(h.condition=e),g&&(h.subagentType=g),b.register(h)}let d=b.getAll,e=b.getSessionScoped,f=b.getSubagentScoped,g=b.hasSubagent,h=b.has,i=b.clear;a.s(["clearEvals",0,i,"getRegisteredEvals",0,d,"getSessionScopedEvals",0,e,"getSubagentScopedEvals",0,f,"hasEvals",0,h,"hasSubagentEvals",0,g,"registerEval",()=>c])},20396,82762,a=>{"use strict";var b=a.i(37936),c=a.i(62733);let d="__CLAUDEYE_DASHBOARD_FILTER_REGISTRY__",e="__CLAUDEYE_DASHBOARD_VIEW_REGISTRY__",f="__CLAUDEYE_DASHBOARD_AGGREGATE_REGISTRY__",g="__CLAUDEYE_DASHBOARD_PREBUILT_FILTER_REGISTRY__";function h(){let a=globalThis;return a[d]||(a[d]=[]),a[d]}function i(){let a=globalThis;return a[e]||(a[e]=[]),a[e]}function j(){return h()}function k(a){return h().filter(b=>b.view===a)}function l(a){return i().find(b=>b.name===a)}function m(){return i()}function n(a){let b;return(!(b=globalThis)[f]&&(b[f]=[]),b[f]).filter(b=>b.view===a)}function o(a){let b;return(!(b=globalThis)[g]&&(b[g]=[]),b[g]).filter(b=>b.view===a)}async function p(){try{await (0,c.ensureEvalsLoaded)();let a=m().map(a=>({name:a.name,label:a.label,filterCount:k(a.name).length,aggregateCount:n(a.name).length})),b=k("default").length>0,d=n("default").length>0;return{ok:!0,views:a,hasDefaultFilters:b,hasDefaultAggregates:d}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}a.s(["getAggregatesForView",()=>n,"getFiltersForView",()=>k,"getPreBuiltFiltersForView",()=>o,"getRegisteredFilters",()=>j,"getRegisteredViews",()=>m,"getViewOptions",()=>l],82762),(0,a.i(13095).ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"000219fb65fcd8170a7fd8ede639a345151a1beda7",null),a.s(["listDashboardViews",()=>p],20396)},65003,a=>{"use strict";var b=a.i(70467),c=a.i(50871);async function d(a,d,e,f,g,h){let i=g??(0,b.getRegisteredEvals)(),j={entries:a,stats:d,projectName:e,sessionId:f,source:"session",...h};return(0,c.runAll)(i,j,{skipResult:a=>({name:a.name,pass:!1,score:0,durationMs:0,skipped:!0}),successResult:(a,b,c)=>{var d;return{name:a.name,pass:b.pass,score:null==(d=b.score)?1:Math.max(0,Math.min(1,d)),message:b.message,metadata:b.metadata,durationMs:c}},errorResult:(a,b,c)=>({name:a.name,pass:!1,score:0,durationMs:c,error:b}),unexpectedResult:()=>({name:"?",pass:!1,score:0,durationMs:0,error:"Unexpected rejection"}),buildSummary:(a,b)=>{let c=0,d=0,e=0,f=0;for(let b of a)b.skipped?f++:b.error?e++:b.pass?c++:d++;return{results:a,totalDurationMs:b,passCount:c,failCount:d,errorCount:e,skippedCount:f}}})}a.s(["runAllEvals",()=>d])},50871,a=>{"use strict";async function b(a,b,c){let d=[],e=performance.now(),f=globalThis.__CLAUDEYE_CONDITION_REGISTRY__??null,g=!1;if(f)try{await f(b)||(g=!0)}catch{g=!0}if(g)for(let b of a)d.push(c.skipResult(b));else{let e=a.map(async a=>{if(a.condition)try{if(!await a.condition(b))return c.skipResult(a)}catch(b){return c.errorResult(a,`Condition error: ${b instanceof Error?b.message:String(b)}`,0)}let d=performance.now();try{let e=await a.fn(b),f=Math.round(performance.now()-d);return c.successResult(a,e,f)}catch(e){let b=Math.round(performance.now()-d);return c.errorResult(a,e instanceof Error?e.message:String(e),b)}});for(let a of(await Promise.allSettled(e)))d.push("fulfilled"===a.status?a.value:c.unexpectedResult())}let h=Math.round(performance.now()-e);return c.buildSummary(d,h)}a.s(["runAll",()=>b],50871)},31810,a=>{"use strict";var b=a.i(46325),c=a.i(50871);async function d(a,d,e,f,g,h){let i=g??(0,b.getRegisteredEnrichers)(),j={entries:a,stats:d,projectName:e,sessionId:f,source:"session",...h};return(0,c.runAll)(i,j,{skipResult:a=>({name:a.name,data:{},durationMs:0,skipped:!0}),successResult:(a,b,c)=>({name:a.name,data:b,durationMs:c}),errorResult:(a,b,c)=>({name:a.name,data:{},durationMs:c,error:b}),unexpectedResult:()=>({name:"?",data:{},durationMs:0,error:"Unexpected rejection"}),buildSummary:(a,b)=>{let c=0,d=0;for(let b of a)b.skipped?d++:b.error&&c++;return{results:a,totalDurationMs:b,errorCount:c,skippedCount:d}}})}a.s(["runAllEnrichers",()=>d])},20722,a=>{"use strict";var b=a.i(77728),c=a.i(20396),d=a.i(42298),e=a.i(4930);a.s([],56020),a.i(56020),a.s(["000219fb65fcd8170a7fd8ede639a345151a1beda7",()=>c.listDashboardViews,"00a1f1cb1c545539b00ebf8d309d7c59ded691b4a1",()=>b.logout,"40958183104f2fd94ddbedb446057d5376f11a4ae5",()=>e.computeAggregates,"60682ee61abc96ddc3b157efaba63823003f8da164",()=>d.computeDashboard],20722)},23804,a=>{a.v(a=>Promise.resolve().then(()=>a(5246)))},76958,a=>{a.v(a=>Promise.resolve().then(()=>a(9223)))},47538,a=>{a.v(a=>Promise.resolve().then(()=>a(76668)))},45397,a=>{a.v(a=>Promise.resolve().then(()=>a(70467)))},79288,a=>{a.v(a=>Promise.resolve().then(()=>a(46325)))}];
3
3
 
4
4
  //# sourceMappingURL=_472a5ae2._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[96221,a=>{"use strict";let b=(0,a.i(70106).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["Loader2",()=>b],96221)},68765,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(5050);let e=(0,d.createServerReference)("606fa0ff3570161e6192562c93508e0de5fc8281b0",d.callServer,void 0,d.findSourceMapURL,"computeDashboard");var f=a.i(90619),g=a.i(95947);let h=["all","true","false"];function i({meta:a,value:c,onChange:d}){return(0,b.jsxs)("div",{className:"bg-card border border-border rounded-lg p-4",children:[(0,b.jsx)("label",{className:"block text-sm font-medium text-foreground mb-2",children:a.label}),(0,b.jsx)("div",{className:"flex gap-1",children:h.map(a=>(0,b.jsx)("button",{onClick:()=>d(a),className:`flex-1 px-3 py-1.5 text-sm rounded-md transition-colors ${c===a?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:bg-muted/80"}`,children:"all"===a?"All":"true"===a?"Yes":"No"},a))})]})}function j({meta:a,value:d,onChange:e}){let f=a.max-a.min,g=!Number.isInteger(a.min)||!Number.isInteger(a.max),h=f<=1?.01:g&&f<=10?.1:g||f<=10?1:f<=100?5:10,i=(0,c.useCallback)(a=>{let b=Number(a.target.value);isNaN(b)||e({...d,min:Math.min(b,d.max)})},[d,e]),j=(0,c.useCallback)(a=>{let b=Number(a.target.value);isNaN(b)||e({...d,max:Math.max(b,d.min)})},[d,e]),k=(0,c.useCallback)(a=>{let b=Number(a.target.value);e({...d,min:Math.min(b,d.max)})},[d,e]),l=(0,c.useCallback)(a=>{let b=Number(a.target.value);e({...d,max:Math.max(b,d.min)})},[d,e]);return(0,b.jsxs)("div",{className:"bg-card border border-border rounded-lg p-4",children:[(0,b.jsx)("label",{className:"block text-sm font-medium text-foreground mb-2",children:a.label}),(0,b.jsxs)("div",{className:"relative mb-3",children:[(0,b.jsx)("input",{type:"range",min:a.min,max:a.max,step:h,value:d.min,onChange:k,className:"absolute w-full pointer-events-none appearance-none bg-transparent [&::-webkit-slider-thumb]:pointer-events-auto [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-primary [&::-webkit-slider-thumb]:cursor-pointer [&::-moz-range-thumb]:pointer-events-auto [&::-moz-range-thumb]:appearance-none [&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:w-4 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:bg-primary [&::-moz-range-thumb]:border-0 [&::-moz-range-thumb]:cursor-pointer","aria-label":`${a.label} minimum`}),(0,b.jsx)("input",{type:"range",min:a.min,max:a.max,step:h,value:d.max,onChange:l,className:"absolute w-full pointer-events-none appearance-none bg-transparent [&::-webkit-slider-thumb]:pointer-events-auto [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-primary [&::-webkit-slider-thumb]:cursor-pointer [&::-moz-range-thumb]:pointer-events-auto [&::-moz-range-thumb]:appearance-none [&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:w-4 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:bg-primary [&::-moz-range-thumb]:border-0 [&::-moz-range-thumb]:cursor-pointer","aria-label":`${a.label} maximum`}),(0,b.jsx)("div",{className:"h-1 bg-muted rounded w-full mt-2"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("input",{type:"number",min:a.min,max:a.max,step:h,value:d.min,onChange:i,className:"w-20 px-2 py-1 text-sm bg-input border border-border rounded-md text-foreground focus:outline-none focus:ring-2 focus:ring-ring","aria-label":`${a.label} minimum value`}),(0,b.jsx)("span",{className:"text-muted-foreground text-sm",children:"to"}),(0,b.jsx)("input",{type:"number",min:a.min,max:a.max,step:h,value:d.max,onChange:j,className:"w-20 px-2 py-1 text-sm bg-input border border-border rounded-md text-foreground focus:outline-none focus:ring-2 focus:ring-ring","aria-label":`${a.label} maximum value`})]})]})}var k=a.i(5784);function l({meta:a,value:d,onChange:e}){let[f,g]=(0,c.useState)(!1),h=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!f)return;let a=a=>{h.current&&!h.current.contains(a.target)&&g(!1)};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[f]);let i=(0,c.useCallback)(a=>{let b=new Set(d);b.has(a)?b.delete(a):b.add(a),e(b)},[d,e]),j=(0,c.useCallback)(()=>{e(new Set(a.values))},[a.values,e]),l=(0,c.useCallback)(()=>{e(new Set)},[e]),m=d.size,n=a.values.length,o=0===m?"None selected":m===n?"All selected":`${m} of ${n} selected`;return(0,b.jsxs)("div",{className:"bg-card border border-border rounded-lg p-4",ref:h,children:[(0,b.jsx)("label",{className:"block text-sm font-medium text-foreground mb-2",children:a.label}),(0,b.jsxs)("button",{onClick:()=>g(!f),className:"w-full flex items-center justify-between px-3 py-2 text-sm bg-input border border-border rounded-md text-foreground hover:border-primary/50 transition-colors","aria-expanded":f,children:[(0,b.jsx)("span",{className:"truncate",children:o}),(0,b.jsx)(k.ChevronDown,{className:`w-4 h-4 text-muted-foreground transition-transform ${f?"rotate-180":""}`})]}),f&&(0,b.jsxs)("div",{className:"mt-2 border border-border rounded-md bg-popover shadow-md max-h-60 overflow-y-auto",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 border-b border-border",children:[(0,b.jsx)("button",{onClick:j,className:"text-xs text-primary hover:text-primary/80 transition-colors",children:"Select All"}),(0,b.jsx)("span",{className:"text-muted-foreground text-xs",children:"|"}),(0,b.jsx)("button",{onClick:l,className:"text-xs text-primary hover:text-primary/80 transition-colors",children:"Clear"})]}),a.values.map(a=>(0,b.jsxs)("label",{className:"flex items-center gap-2 px-3 py-1.5 hover:bg-muted/50 cursor-pointer transition-colors",children:[(0,b.jsx)("input",{type:"checkbox",checked:d.has(a),onChange:()=>i(a),className:"rounded border-border text-primary focus:ring-ring"}),(0,b.jsx)("span",{className:"text-sm text-foreground truncate",children:a})]},a)),0===a.values.length&&(0,b.jsx)("div",{className:"px-3 py-2 text-sm text-muted-foreground",children:"No values available"})]})]})}var m=a.i(24451);function n({meta:a,value:c,onChange:d}){let e=null!==c.from||null!==c.to;return(0,b.jsxs)("div",{className:"bg-card border border-border rounded-lg p-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,b.jsx)("label",{className:"block text-sm font-medium text-foreground",children:a.label}),e&&(0,b.jsx)("button",{onClick:()=>d({from:null,to:null}),className:"text-xs text-primary hover:text-primary/80 transition-colors",children:"Clear"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(m.default,{id:`filter-date-${a.name}-from`,value:null,stringValue:c.from,onChange:a=>d({...c,from:a||null}),"aria-label":`${a.label} from date`}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:"to"}),(0,b.jsx)(m.default,{id:`filter-date-${a.name}-to`,value:null,stringValue:c.to,onChange:a=>d({...c,to:a||null}),"aria-label":`${a.label} to date`})]})]})}var o=a.i(38246),p=a.i(35487),q=a.i(65967);function r({sessions:a,filterMeta:c,totalCount:d,matchingCount:e,page:f,pageSize:g,onPageChange:h}){let i=Math.ceil(e/g),j=(f-1)*g,k=Math.min(j+a.length,e);return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("div",{className:"text-sm text-muted-foreground",children:0===e?"No sessions match the current filters.":(0,b.jsxs)(b.Fragment,{children:["Showing ",j+1,"-",k," of ",e," sessions",e!==d&&(0,b.jsxs)("span",{className:"ml-1",children:["(filtered from ",d," total)"]})]})}),(0,b.jsxs)("div",{className:"bg-card border border-border rounded-lg overflow-hidden",children:[(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:"w-full",children:[(0,b.jsx)("thead",{children:(0,b.jsxs)("tr",{className:"border-b border-border bg-muted/50",children:[(0,b.jsx)("th",{scope:"col",className:"px-4 py-3 text-left text-sm font-semibold text-foreground w-12",children:(0,b.jsx)("span",{className:"sr-only",children:"Icon"})}),(0,b.jsx)("th",{scope:"col",className:"px-4 py-3 text-left text-sm font-semibold text-foreground",children:"Project"}),(0,b.jsx)("th",{scope:"col",className:"px-4 py-3 text-left text-sm font-semibold text-foreground",children:"Session ID"}),(0,b.jsx)("th",{scope:"col",className:"px-4 py-3 text-left text-sm font-semibold text-foreground",children:"Modified"}),c.filter(a=>"date"!==a.type).map(a=>(0,b.jsx)("th",{scope:"col",className:"px-4 py-3 text-left text-sm font-semibold text-foreground",children:a.label},a.name))]})}),(0,b.jsx)("tbody",{children:0===a.length?(0,b.jsx)("tr",{children:(0,b.jsx)("td",{colSpan:4+c.filter(a=>"date"!==a.type).length,className:"px-4 py-8 text-center text-muted-foreground",children:"No sessions found matching the filters."})}):a.map(a=>(0,b.jsxs)("tr",{className:"border-b border-border hover:bg-muted/50 transition-colors",children:[(0,b.jsx)("td",{className:"px-4 py-3",children:(0,b.jsx)(p.File,{className:"w-5 h-5 text-primary"})}),(0,b.jsx)("td",{className:"px-4 py-3 text-sm text-foreground",children:(0,b.jsx)(o.default,{href:`/project/${encodeURIComponent(a.projectName)}`,className:"hover:text-primary transition-colors",children:a.projectName})}),(0,b.jsx)("td",{className:"px-4 py-3 text-sm max-w-xs",children:(0,b.jsx)(o.default,{href:`/project/${encodeURIComponent(a.projectName)}/session/${encodeURIComponent(a.sessionId)}`,className:"font-semibold text-foreground hover:text-primary transition-colors break-words break-all",children:a.sessionId})}),(0,b.jsx)("td",{className:"px-4 py-3 text-sm text-muted-foreground",children:a.lastModifiedFormatted}),c.filter(a=>"date"!==a.type).map(c=>{var d;return(0,b.jsx)("td",{className:"px-4 py-3 text-sm text-muted-foreground",children:void 0===(d=a.filterValues[c.name])?"-":"boolean"==typeof d?d?"Yes":"No":String(d)},c.name)})]},`${a.projectName}/${a.sessionId}`))})]})}),e>0&&i>1&&(0,b.jsx)(q.default,{currentPage:f,totalPages:i,onPageChange:h})]})]})}var s=a.i(96221);function t(a,b){let c={};for(let d of b){let b=a[d.name];if(b)switch(d.type){case"boolean":c[d.name]={type:"boolean",value:b};break;case"number":c[d.name]={type:"number",min:b.min,max:b.max};break;case"string":c[d.name]={type:"string",selected:Array.from(b)};break;case"date":c[d.name]={type:"date",from:b.from,to:b.to}}}return c}function u(a,b){for(let c of b){let b=a[c.name];if(b)switch(c.type){case"boolean":if("all"!==b)return!0;break;case"number":if(b.min!==c.min||b.max!==c.max)return!0;break;case"string":if(b.size!==c.values.length)return!0;break;case"date":if(null!==b.from||null!==b.to)return!0}}return!1}function v({viewName:a}){let d=(0,f.useUrlParams)(),h=(0,c.useRef)(null);null===h.current&&(h.current=d.getAll());let k=(0,c.useRef)(!1),[m,o]=(0,c.useState)(null),[p,q]=(0,c.useState)([]),[v,w]=(0,c.useState)(!0),[x,y]=(0,c.useState)(null),[z,A]=(0,c.useState)(!1),[B,C]=(0,c.useState)({}),[D,E]=(0,c.useState)(()=>(0,g.paramToPage)(d.get("page"))),F=(0,c.useRef)(null);(0,c.useEffect)(()=>()=>{F.current&&clearTimeout(F.current)},[]);let G=(0,c.useCallback)(async(b,c)=>{w(!0),y(null);try{let d=await e(a,{filters:b,page:c??1,pageSize:25});d.ok?d.hasFilters?(o(d.payload),d.payload.filterMeta.length>0&&q(d.payload.filterMeta)):A(!0):y(d.error)}catch(a){y(a instanceof Error?a.message:String(a))}finally{w(!1)}},[a]);(0,c.useEffect)(()=>{G().then(()=>{})},[G]),(0,c.useEffect)(()=>{if(p.length>0&&0===Object.keys(B).length){let a=function(a){let b={};for(let c of a)switch(c.type){case"boolean":b[c.name]="all";break;case"number":b[c.name]={min:c.min,max:c.max};break;case"string":b[c.name]=new Set(c.values);break;case"date":b[c.name]={from:null,to:null}}return b}(p),b=h.current,c=!1;if(b)for(let d of p){let e=b.get(d.name),f=(0,g.paramToActiveFilter)(d,e);null!==f&&(a[d.name]=f,c=!0)}if(C(a),k.current=!0,c||b&&(0,g.paramToPage)(b.get("page"))>1){let c=b?(0,g.paramToPage)(b.get("page")):1,d=u(a,p)?t(a,p):void 0;E(c),G(d,c)}}},[p]);let H=(0,c.useCallback)((a,b)=>{if(!k.current)return;let c={page:(0,g.pageToParam)(b)};for(let b of p)c[b.name]=(0,g.activeFilterToParam)(b,a[b.name]);d.setAll(c)},[p,d]),I=(0,c.useCallback)((a,b)=>{C(c=>{let d={...c,[a]:b};return F.current&&clearTimeout(F.current),F.current=setTimeout(()=>{let a=u(d,p)?t(d,p):void 0;E(1),G(a,1),H(d,1)},300),d})},[p,G,H]),J=(0,c.useCallback)(a=>{E(a),G(u(B,p)?t(B,p):void 0,a),H(B,a)},[B,p,G,H]);if(z)return(0,b.jsxs)("div",{className:"bg-card border border-border rounded-lg p-6 text-center",children:[(0,b.jsx)("p",{className:"text-muted-foreground mb-2",children:"No filters are registered for this view."}),(0,b.jsxs)("p",{className:"text-sm text-muted-foreground",children:["Use ",(0,b.jsx)("code",{className:"text-foreground bg-muted px-1 py-0.5 rounded",children:"app.dashboard.view()"})," or"," ",(0,b.jsx)("code",{className:"text-foreground bg-muted px-1 py-0.5 rounded",children:"app.dashboard.filter()"})," in your evals file to register filters."]})]});if(v&&!m)return(0,b.jsxs)("div",{className:"flex items-center justify-center py-16",children:[(0,b.jsx)(s.Loader2,{className:"w-6 h-6 text-primary animate-spin mr-2"}),(0,b.jsx)("span",{className:"text-muted-foreground",children:"Computing dashboard filters..."})]});if(x&&!m)return(0,b.jsxs)("div",{className:"bg-destructive/10 border border-destructive/20 rounded-lg p-4",children:[(0,b.jsx)("p",{className:"text-sm text-destructive font-medium",children:"Failed to load dashboard"}),(0,b.jsx)("p",{className:"text-sm text-destructive/80 mt-1",children:x}),(0,b.jsx)("button",{onClick:()=>G(),className:"mt-3 px-3 py-1.5 text-sm bg-primary text-primary-foreground rounded-md hover:bg-primary/90 transition-colors",children:"Retry"})]});if(!m)return null;let K=p.length>0?p:m.filterMeta;return(0,b.jsxs)("div",{className:"space-y-6",children:[K.length>0&&(0,b.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:K.map(a=>{switch(a.type){case"boolean":return(0,b.jsx)(i,{meta:a,value:B[a.name]??"all",onChange:b=>I(a.name,b)},a.name);case"number":return(0,b.jsx)(j,{meta:a,value:B[a.name]??{min:a.min,max:a.max},onChange:b=>I(a.name,b)},a.name);case"string":return(0,b.jsx)(l,{meta:a,value:B[a.name]??new Set(a.values),onChange:b=>I(a.name,b)},a.name);case"date":return(0,b.jsx)(n,{meta:a,value:B[a.name]??{from:null,to:null},onChange:b=>I(a.name,b)},a.name)}})}),(0,b.jsxs)("div",{className:"text-xs text-muted-foreground",children:["Computed in ",m.totalDurationMs,"ms",v&&" (updating...)"]}),(0,b.jsx)(r,{sessions:m.sessions,filterMeta:K,totalCount:m.totalCount,matchingCount:m.matchingCount,page:m.page,pageSize:m.pageSize,onPageChange:J})]})}a.s(["default",()=>v],68765)},43911,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(5050);let e=(0,d.createServerReference)("405faeee3f299d04e3412abfb142f2953ba2bf65e5",d.callServer,void 0,d.findSourceMapURL,"computeAggregates"),f=(0,a.i(70106).default)("arrow-up-down",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);function g({rows:a,columns:d}){let[e,g]=(0,c.useState)(null),[h,i]=(0,c.useState)("asc");if(0===a.length)return(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"No data returned from reduce function."});let j=e?[...a].sort((a,b)=>{let c="asc"===h?1:-1,d=a[e],f=b[e];return void 0===d&&void 0===f?0:void 0===d?1:void 0===f?-1:"string"==typeof d&&"string"==typeof f?d.localeCompare(f)*c:"boolean"==typeof d&&"boolean"==typeof f?(Number(d)-Number(f))*c:"number"==typeof d&&"number"==typeof f?(d-f)*c:String(d).localeCompare(String(f))*c}):a;return(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:"w-full text-sm",children:[(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{className:"border-b border-border",children:d.map(a=>(0,b.jsx)("th",{className:"px-3 py-2 text-left text-xs font-medium text-muted-foreground cursor-pointer hover:text-foreground select-none",onClick:()=>{e===a?i(a=>"asc"===a?"desc":"asc"):(g(a),i("desc"))},children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-1",children:[a,(0,b.jsx)(f,{className:"w-3 h-3"})]})},a))})}),(0,b.jsx)("tbody",{children:j.map((a,c)=>(0,b.jsx)("tr",{className:"border-b border-border/50 hover:bg-muted/50",children:d.map(c=>{var d;return(0,b.jsx)("td",{className:"px-3 py-2 text-foreground",children:null==(d=a[c])?"—":"boolean"==typeof d?d?"Yes":"No":"number"==typeof d?Number.isInteger(d)?d.toLocaleString():d.toFixed(4):String(d)},c)})},c))})]})})}function h({aggregate:a}){return(0,b.jsxs)("div",{className:"bg-card border border-border rounded-lg p-4",children:[(0,b.jsx)("h4",{className:"text-sm font-medium text-foreground mb-3",children:a.label}),(0,b.jsx)(g,{rows:a.rows,columns:a.columns})]})}var i=a.i(96221);function j({viewName:a}){let[d,f]=(0,c.useState)(null),[g,j]=(0,c.useState)(!0),[k,l]=(0,c.useState)(null),m=(0,c.useCallback)(async()=>{j(!0),l(null);try{let b=await e(a);b.ok?b.hasAggregates&&f(b.payload):l(b.error)}catch(a){l(a instanceof Error?a.message:String(a))}finally{j(!1)}},[a]);return((0,c.useEffect)(()=>{m()},[m]),g&&!d)?(0,b.jsxs)("div",{className:"flex items-center justify-center py-8",children:[(0,b.jsx)(i.Loader2,{className:"w-5 h-5 text-primary animate-spin mr-2"}),(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:"Computing aggregates..."})]}):k&&!d?(0,b.jsxs)("div",{className:"bg-destructive/10 border border-destructive/20 rounded-lg p-4",children:[(0,b.jsx)("p",{className:"text-sm text-destructive font-medium",children:"Failed to compute aggregates"}),(0,b.jsx)("p",{className:"text-sm text-destructive/80 mt-1",children:k}),(0,b.jsx)("button",{onClick:()=>m(),className:"mt-3 px-3 py-1.5 text-sm bg-primary text-primary-foreground rounded-md hover:bg-primary/90 transition-colors",children:"Retry"})]}):d&&0!==d.aggregates.length?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("h3",{className:"text-lg font-medium text-foreground",children:"Aggregates"}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:[d.totalSessions," sessions, ",d.totalDurationMs,"ms",g&&" (updating...)"]})]}),d.aggregates.map(a=>(0,b.jsx)(h,{aggregate:a},a.name))]}):null}a.s(["default",()=>j],43911)}];
1
+ module.exports=[96221,a=>{"use strict";let b=(0,a.i(70106).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["Loader2",()=>b],96221)},68765,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(5050);let e=(0,d.createServerReference)("60682ee61abc96ddc3b157efaba63823003f8da164",d.callServer,void 0,d.findSourceMapURL,"computeDashboard");var f=a.i(90619),g=a.i(95947);let h=["all","true","false"];function i({meta:a,value:c,onChange:d}){return(0,b.jsxs)("div",{className:"bg-card border border-border rounded-lg p-4",children:[(0,b.jsx)("label",{className:"block text-sm font-medium text-foreground mb-2",children:a.label}),(0,b.jsx)("div",{className:"flex gap-1",children:h.map(a=>(0,b.jsx)("button",{onClick:()=>d(a),className:`flex-1 px-3 py-1.5 text-sm rounded-md transition-colors ${c===a?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:bg-muted/80"}`,children:"all"===a?"All":"true"===a?"Yes":"No"},a))})]})}function j({meta:a,value:d,onChange:e}){let f=a.max-a.min,g=!Number.isInteger(a.min)||!Number.isInteger(a.max),h=f<=1?.01:g&&f<=10?.1:g||f<=10?1:f<=100?5:10,i=(0,c.useCallback)(a=>{let b=Number(a.target.value);isNaN(b)||e({...d,min:Math.min(b,d.max)})},[d,e]),j=(0,c.useCallback)(a=>{let b=Number(a.target.value);isNaN(b)||e({...d,max:Math.max(b,d.min)})},[d,e]),k=(0,c.useCallback)(a=>{let b=Number(a.target.value);e({...d,min:Math.min(b,d.max)})},[d,e]),l=(0,c.useCallback)(a=>{let b=Number(a.target.value);e({...d,max:Math.max(b,d.min)})},[d,e]);return(0,b.jsxs)("div",{className:"bg-card border border-border rounded-lg p-4",children:[(0,b.jsx)("label",{className:"block text-sm font-medium text-foreground mb-2",children:a.label}),(0,b.jsxs)("div",{className:"relative mb-3",children:[(0,b.jsx)("input",{type:"range",min:a.min,max:a.max,step:h,value:d.min,onChange:k,className:"absolute w-full pointer-events-none appearance-none bg-transparent [&::-webkit-slider-thumb]:pointer-events-auto [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-primary [&::-webkit-slider-thumb]:cursor-pointer [&::-moz-range-thumb]:pointer-events-auto [&::-moz-range-thumb]:appearance-none [&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:w-4 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:bg-primary [&::-moz-range-thumb]:border-0 [&::-moz-range-thumb]:cursor-pointer","aria-label":`${a.label} minimum`}),(0,b.jsx)("input",{type:"range",min:a.min,max:a.max,step:h,value:d.max,onChange:l,className:"absolute w-full pointer-events-none appearance-none bg-transparent [&::-webkit-slider-thumb]:pointer-events-auto [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-primary [&::-webkit-slider-thumb]:cursor-pointer [&::-moz-range-thumb]:pointer-events-auto [&::-moz-range-thumb]:appearance-none [&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:w-4 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:bg-primary [&::-moz-range-thumb]:border-0 [&::-moz-range-thumb]:cursor-pointer","aria-label":`${a.label} maximum`}),(0,b.jsx)("div",{className:"h-1 bg-muted rounded w-full mt-2"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("input",{type:"number",min:a.min,max:a.max,step:h,value:d.min,onChange:i,className:"w-20 px-2 py-1 text-sm bg-input border border-border rounded-md text-foreground focus:outline-none focus:ring-2 focus:ring-ring","aria-label":`${a.label} minimum value`}),(0,b.jsx)("span",{className:"text-muted-foreground text-sm",children:"to"}),(0,b.jsx)("input",{type:"number",min:a.min,max:a.max,step:h,value:d.max,onChange:j,className:"w-20 px-2 py-1 text-sm bg-input border border-border rounded-md text-foreground focus:outline-none focus:ring-2 focus:ring-ring","aria-label":`${a.label} maximum value`})]})]})}var k=a.i(5784);function l({meta:a,value:d,onChange:e}){let[f,g]=(0,c.useState)(!1),h=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!f)return;let a=a=>{h.current&&!h.current.contains(a.target)&&g(!1)};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[f]);let i=(0,c.useCallback)(a=>{let b=new Set(d);b.has(a)?b.delete(a):b.add(a),e(b)},[d,e]),j=(0,c.useCallback)(()=>{e(new Set(a.values))},[a.values,e]),l=(0,c.useCallback)(()=>{e(new Set)},[e]),m=d.size,n=a.values.length,o=0===m?"None selected":m===n?"All selected":`${m} of ${n} selected`;return(0,b.jsxs)("div",{className:"bg-card border border-border rounded-lg p-4",ref:h,children:[(0,b.jsx)("label",{className:"block text-sm font-medium text-foreground mb-2",children:a.label}),(0,b.jsxs)("button",{onClick:()=>g(!f),className:"w-full flex items-center justify-between px-3 py-2 text-sm bg-input border border-border rounded-md text-foreground hover:border-primary/50 transition-colors","aria-expanded":f,children:[(0,b.jsx)("span",{className:"truncate",children:o}),(0,b.jsx)(k.ChevronDown,{className:`w-4 h-4 text-muted-foreground transition-transform ${f?"rotate-180":""}`})]}),f&&(0,b.jsxs)("div",{className:"mt-2 border border-border rounded-md bg-popover shadow-md max-h-60 overflow-y-auto",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 border-b border-border",children:[(0,b.jsx)("button",{onClick:j,className:"text-xs text-primary hover:text-primary/80 transition-colors",children:"Select All"}),(0,b.jsx)("span",{className:"text-muted-foreground text-xs",children:"|"}),(0,b.jsx)("button",{onClick:l,className:"text-xs text-primary hover:text-primary/80 transition-colors",children:"Clear"})]}),a.values.map(a=>(0,b.jsxs)("label",{className:"flex items-center gap-2 px-3 py-1.5 hover:bg-muted/50 cursor-pointer transition-colors",children:[(0,b.jsx)("input",{type:"checkbox",checked:d.has(a),onChange:()=>i(a),className:"rounded border-border text-primary focus:ring-ring"}),(0,b.jsx)("span",{className:"text-sm text-foreground truncate",children:a})]},a)),0===a.values.length&&(0,b.jsx)("div",{className:"px-3 py-2 text-sm text-muted-foreground",children:"No values available"})]})]})}var m=a.i(24451);function n({meta:a,value:c,onChange:d}){let e=null!==c.from||null!==c.to;return(0,b.jsxs)("div",{className:"bg-card border border-border rounded-lg p-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,b.jsx)("label",{className:"block text-sm font-medium text-foreground",children:a.label}),e&&(0,b.jsx)("button",{onClick:()=>d({from:null,to:null}),className:"text-xs text-primary hover:text-primary/80 transition-colors",children:"Clear"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(m.default,{id:`filter-date-${a.name}-from`,value:null,stringValue:c.from,onChange:a=>d({...c,from:a||null}),"aria-label":`${a.label} from date`}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:"to"}),(0,b.jsx)(m.default,{id:`filter-date-${a.name}-to`,value:null,stringValue:c.to,onChange:a=>d({...c,to:a||null}),"aria-label":`${a.label} to date`})]})]})}var o=a.i(38246),p=a.i(35487),q=a.i(65967);function r({sessions:a,filterMeta:c,totalCount:d,matchingCount:e,page:f,pageSize:g,onPageChange:h}){let i=Math.ceil(e/g),j=(f-1)*g,k=Math.min(j+a.length,e);return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("div",{className:"text-sm text-muted-foreground",children:0===e?"No sessions match the current filters.":(0,b.jsxs)(b.Fragment,{children:["Showing ",j+1,"-",k," of ",e," sessions",e!==d&&(0,b.jsxs)("span",{className:"ml-1",children:["(filtered from ",d," total)"]})]})}),(0,b.jsxs)("div",{className:"bg-card border border-border rounded-lg overflow-hidden",children:[(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:"w-full",children:[(0,b.jsx)("thead",{children:(0,b.jsxs)("tr",{className:"border-b border-border bg-muted/50",children:[(0,b.jsx)("th",{scope:"col",className:"px-4 py-3 text-left text-sm font-semibold text-foreground w-12",children:(0,b.jsx)("span",{className:"sr-only",children:"Icon"})}),(0,b.jsx)("th",{scope:"col",className:"px-4 py-3 text-left text-sm font-semibold text-foreground",children:"Project"}),(0,b.jsx)("th",{scope:"col",className:"px-4 py-3 text-left text-sm font-semibold text-foreground",children:"Session ID"}),(0,b.jsx)("th",{scope:"col",className:"px-4 py-3 text-left text-sm font-semibold text-foreground",children:"Modified"}),c.filter(a=>"date"!==a.type).map(a=>(0,b.jsx)("th",{scope:"col",className:"px-4 py-3 text-left text-sm font-semibold text-foreground",children:a.label},a.name))]})}),(0,b.jsx)("tbody",{children:0===a.length?(0,b.jsx)("tr",{children:(0,b.jsx)("td",{colSpan:4+c.filter(a=>"date"!==a.type).length,className:"px-4 py-8 text-center text-muted-foreground",children:"No sessions found matching the filters."})}):a.map(a=>(0,b.jsxs)("tr",{className:"border-b border-border hover:bg-muted/50 transition-colors",children:[(0,b.jsx)("td",{className:"px-4 py-3",children:(0,b.jsx)(p.File,{className:"w-5 h-5 text-primary"})}),(0,b.jsx)("td",{className:"px-4 py-3 text-sm text-foreground",children:(0,b.jsx)(o.default,{href:`/project/${encodeURIComponent(a.projectName)}`,className:"hover:text-primary transition-colors",children:a.projectName})}),(0,b.jsx)("td",{className:"px-4 py-3 text-sm max-w-xs",children:(0,b.jsx)(o.default,{href:`/project/${encodeURIComponent(a.projectName)}/session/${encodeURIComponent(a.sessionId)}`,className:"font-semibold text-foreground hover:text-primary transition-colors break-words break-all",children:a.sessionId})}),(0,b.jsx)("td",{className:"px-4 py-3 text-sm text-muted-foreground",children:a.lastModifiedFormatted}),c.filter(a=>"date"!==a.type).map(c=>{var d;return(0,b.jsx)("td",{className:"px-4 py-3 text-sm text-muted-foreground",children:void 0===(d=a.filterValues[c.name])?"-":"boolean"==typeof d?d?"Yes":"No":String(d)},c.name)})]},`${a.projectName}/${a.sessionId}`))})]})}),e>0&&i>1&&(0,b.jsx)(q.default,{currentPage:f,totalPages:i,onPageChange:h})]})]})}var s=a.i(96221);function t(a,b){let c={};for(let d of b){let b=a[d.name];if(b)switch(d.type){case"boolean":c[d.name]={type:"boolean",value:b};break;case"number":c[d.name]={type:"number",min:b.min,max:b.max};break;case"string":c[d.name]={type:"string",selected:Array.from(b)};break;case"date":c[d.name]={type:"date",from:b.from,to:b.to}}}return c}function u(a,b){for(let c of b){let b=a[c.name];if(b)switch(c.type){case"boolean":if("all"!==b)return!0;break;case"number":if(b.min!==c.min||b.max!==c.max)return!0;break;case"string":if(b.size!==c.values.length)return!0;break;case"date":if(null!==b.from||null!==b.to)return!0}}return!1}function v({viewName:a}){let d=(0,f.useUrlParams)(),h=(0,c.useRef)(null);null===h.current&&(h.current=d.getAll());let k=(0,c.useRef)(!1),[m,o]=(0,c.useState)(null),[p,q]=(0,c.useState)([]),[v,w]=(0,c.useState)(!0),[x,y]=(0,c.useState)(null),[z,A]=(0,c.useState)(!1),[B,C]=(0,c.useState)({}),[D,E]=(0,c.useState)(()=>(0,g.paramToPage)(d.get("page"))),F=(0,c.useRef)(null);(0,c.useEffect)(()=>()=>{F.current&&clearTimeout(F.current)},[]);let G=(0,c.useCallback)(async(b,c)=>{w(!0),y(null);try{let d=await e(a,{filters:b,page:c??1,pageSize:25});d.ok?d.hasFilters?(o(d.payload),d.payload.filterMeta.length>0&&q(d.payload.filterMeta)):A(!0):y(d.error)}catch(a){y(a instanceof Error?a.message:String(a))}finally{w(!1)}},[a]);(0,c.useEffect)(()=>{G().then(()=>{})},[G]),(0,c.useEffect)(()=>{if(p.length>0&&0===Object.keys(B).length){let a=function(a){let b={};for(let c of a)switch(c.type){case"boolean":b[c.name]="all";break;case"number":b[c.name]={min:c.min,max:c.max};break;case"string":b[c.name]=new Set(c.values);break;case"date":b[c.name]={from:null,to:null}}return b}(p),b=h.current,c=!1;if(b)for(let d of p){let e=b.get(d.name),f=(0,g.paramToActiveFilter)(d,e);null!==f&&(a[d.name]=f,c=!0)}if(C(a),k.current=!0,c||b&&(0,g.paramToPage)(b.get("page"))>1){let c=b?(0,g.paramToPage)(b.get("page")):1,d=u(a,p)?t(a,p):void 0;E(c),G(d,c)}}},[p]);let H=(0,c.useCallback)((a,b)=>{if(!k.current)return;let c={page:(0,g.pageToParam)(b)};for(let b of p)c[b.name]=(0,g.activeFilterToParam)(b,a[b.name]);d.setAll(c)},[p,d]),I=(0,c.useCallback)((a,b)=>{C(c=>{let d={...c,[a]:b};return F.current&&clearTimeout(F.current),F.current=setTimeout(()=>{let a=u(d,p)?t(d,p):void 0;E(1),G(a,1),H(d,1)},300),d})},[p,G,H]),J=(0,c.useCallback)(a=>{E(a),G(u(B,p)?t(B,p):void 0,a),H(B,a)},[B,p,G,H]);if(z)return(0,b.jsxs)("div",{className:"bg-card border border-border rounded-lg p-6 text-center",children:[(0,b.jsx)("p",{className:"text-muted-foreground mb-2",children:"No filters are registered for this view."}),(0,b.jsxs)("p",{className:"text-sm text-muted-foreground",children:["Use ",(0,b.jsx)("code",{className:"text-foreground bg-muted px-1 py-0.5 rounded",children:"app.dashboard.view()"})," or"," ",(0,b.jsx)("code",{className:"text-foreground bg-muted px-1 py-0.5 rounded",children:"app.dashboard.filter()"})," in your evals file to register filters."]})]});if(v&&!m)return(0,b.jsxs)("div",{className:"flex items-center justify-center py-16",children:[(0,b.jsx)(s.Loader2,{className:"w-6 h-6 text-primary animate-spin mr-2"}),(0,b.jsx)("span",{className:"text-muted-foreground",children:"Computing dashboard filters..."})]});if(x&&!m)return(0,b.jsxs)("div",{className:"bg-destructive/10 border border-destructive/20 rounded-lg p-4",children:[(0,b.jsx)("p",{className:"text-sm text-destructive font-medium",children:"Failed to load dashboard"}),(0,b.jsx)("p",{className:"text-sm text-destructive/80 mt-1",children:x}),(0,b.jsx)("button",{onClick:()=>G(),className:"mt-3 px-3 py-1.5 text-sm bg-primary text-primary-foreground rounded-md hover:bg-primary/90 transition-colors",children:"Retry"})]});if(!m)return null;let K=p.length>0?p:m.filterMeta;return(0,b.jsxs)("div",{className:"space-y-6",children:[K.length>0&&(0,b.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:K.map(a=>{switch(a.type){case"boolean":return(0,b.jsx)(i,{meta:a,value:B[a.name]??"all",onChange:b=>I(a.name,b)},a.name);case"number":return(0,b.jsx)(j,{meta:a,value:B[a.name]??{min:a.min,max:a.max},onChange:b=>I(a.name,b)},a.name);case"string":return(0,b.jsx)(l,{meta:a,value:B[a.name]??new Set(a.values),onChange:b=>I(a.name,b)},a.name);case"date":return(0,b.jsx)(n,{meta:a,value:B[a.name]??{from:null,to:null},onChange:b=>I(a.name,b)},a.name)}})}),(0,b.jsxs)("div",{className:"text-xs text-muted-foreground",children:["Computed in ",m.totalDurationMs,"ms",v&&" (updating...)"]}),(0,b.jsx)(r,{sessions:m.sessions,filterMeta:K,totalCount:m.totalCount,matchingCount:m.matchingCount,page:m.page,pageSize:m.pageSize,onPageChange:J})]})}a.s(["default",()=>v],68765)},43911,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(5050);let e=(0,d.createServerReference)("40958183104f2fd94ddbedb446057d5376f11a4ae5",d.callServer,void 0,d.findSourceMapURL,"computeAggregates"),f=(0,a.i(70106).default)("arrow-up-down",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);function g({rows:a,columns:d}){let[e,g]=(0,c.useState)(null),[h,i]=(0,c.useState)("asc");if(0===a.length)return(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"No data returned from reduce function."});let j=e?[...a].sort((a,b)=>{let c="asc"===h?1:-1,d=a[e],f=b[e];return void 0===d&&void 0===f?0:void 0===d?1:void 0===f?-1:"string"==typeof d&&"string"==typeof f?d.localeCompare(f)*c:"boolean"==typeof d&&"boolean"==typeof f?(Number(d)-Number(f))*c:"number"==typeof d&&"number"==typeof f?(d-f)*c:String(d).localeCompare(String(f))*c}):a;return(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:"w-full text-sm",children:[(0,b.jsx)("thead",{children:(0,b.jsx)("tr",{className:"border-b border-border",children:d.map(a=>(0,b.jsx)("th",{className:"px-3 py-2 text-left text-xs font-medium text-muted-foreground cursor-pointer hover:text-foreground select-none",onClick:()=>{e===a?i(a=>"asc"===a?"desc":"asc"):(g(a),i("desc"))},children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-1",children:[a,(0,b.jsx)(f,{className:"w-3 h-3"})]})},a))})}),(0,b.jsx)("tbody",{children:j.map((a,c)=>(0,b.jsx)("tr",{className:"border-b border-border/50 hover:bg-muted/50",children:d.map(c=>{var d;return(0,b.jsx)("td",{className:"px-3 py-2 text-foreground",children:null==(d=a[c])?"—":"boolean"==typeof d?d?"Yes":"No":"number"==typeof d?Number.isInteger(d)?d.toLocaleString():d.toFixed(4):String(d)},c)})},c))})]})})}function h({aggregate:a}){return(0,b.jsxs)("div",{className:"bg-card border border-border rounded-lg p-4",children:[(0,b.jsx)("h4",{className:"text-sm font-medium text-foreground mb-3",children:a.label}),(0,b.jsx)(g,{rows:a.rows,columns:a.columns})]})}var i=a.i(96221);function j({viewName:a}){let[d,f]=(0,c.useState)(null),[g,j]=(0,c.useState)(!0),[k,l]=(0,c.useState)(null),m=(0,c.useCallback)(async()=>{j(!0),l(null);try{let b=await e(a);b.ok?b.hasAggregates&&f(b.payload):l(b.error)}catch(a){l(a instanceof Error?a.message:String(a))}finally{j(!1)}},[a]);return((0,c.useEffect)(()=>{m()},[m]),g&&!d)?(0,b.jsxs)("div",{className:"flex items-center justify-center py-8",children:[(0,b.jsx)(i.Loader2,{className:"w-5 h-5 text-primary animate-spin mr-2"}),(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:"Computing aggregates..."})]}):k&&!d?(0,b.jsxs)("div",{className:"bg-destructive/10 border border-destructive/20 rounded-lg p-4",children:[(0,b.jsx)("p",{className:"text-sm text-destructive font-medium",children:"Failed to compute aggregates"}),(0,b.jsx)("p",{className:"text-sm text-destructive/80 mt-1",children:k}),(0,b.jsx)("button",{onClick:()=>m(),className:"mt-3 px-3 py-1.5 text-sm bg-primary text-primary-foreground rounded-md hover:bg-primary/90 transition-colors",children:"Retry"})]}):d&&0!==d.aggregates.length?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("h3",{className:"text-lg font-medium text-foreground",children:"Aggregates"}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:[d.totalSessions," sessions, ",d.totalDurationMs,"ms",g&&" (updating...)"]})]}),d.aggregates.map(a=>(0,b.jsx)(h,{aggregate:a},a.name))]}):null}a.s(["default",()=>j],43911)}];
2
2
 
3
3
  //# sourceMappingURL=_76ab933f._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[50871,a=>{"use strict";async function b(a,b,c){let d=[],e=performance.now(),f=globalThis.__CLAUDEYE_CONDITION_REGISTRY__??null,g=!1;if(f)try{await f(b)||(g=!0)}catch{g=!0}if(g)for(let b of a)d.push(c.skipResult(b));else{let e=a.map(async a=>{if(a.condition)try{if(!await a.condition(b))return c.skipResult(a)}catch(b){return c.errorResult(a,`Condition error: ${b instanceof Error?b.message:String(b)}`,0)}let d=performance.now();try{let e=await a.fn(b),f=Math.round(performance.now()-d);return c.successResult(a,e,f)}catch(e){let b=Math.round(performance.now()-d);return c.errorResult(a,e instanceof Error?e.message:String(e),b)}});for(let a of(await Promise.allSettled(e)))d.push("fulfilled"===a.status?a.value:c.unexpectedResult())}let h=Math.round(performance.now()-e);return c.buildSummary(d,h)}a.s(["runAll",()=>b],50871)},31810,a=>{"use strict";var b=a.i(46325),c=a.i(50871);async function d(a,d,e,f,g,h){let i=g??(0,b.getRegisteredEnrichers)(),j={entries:a,stats:d,projectName:e,sessionId:f,source:"session",...h};return(0,c.runAll)(i,j,{skipResult:a=>({name:a.name,data:{},durationMs:0,skipped:!0}),successResult:(a,b,c)=>({name:a.name,data:b,durationMs:c}),errorResult:(a,b,c)=>({name:a.name,data:{},durationMs:c,error:b}),unexpectedResult:()=>({name:"?",data:{},durationMs:0,error:"Unexpected rejection"}),buildSummary:(a,b)=>{let c=0,d=0;for(let b of a)b.skipped?d++:b.error&&c++;return{results:a,totalDurationMs:b,errorCount:c,skippedCount:d}}})}a.s(["runAllEnrichers",()=>d])},86736,a=>{"use strict";var b=a.i(37936),c=a.i(62733),d=a.i(46325),e=a.i(31810),f=a.i(83397),g=a.i(61542);a.i(651);var h=a.i(46721),i=a.i(70427);async function j(a,b,k,l=!1){try{await (0,c.ensureEvalsLoaded)();let j=(0,d.getSessionScopedEnrichers)().find(a=>a.name===k);if(!j)return{ok:!1,error:`Enricher "${k}" not found`};let m=await (0,h.hashSessionFile)(a,b);if(!l&&m){let c=(0,h.hashItemCode)(j.fn),d=await (0,i.getPerItemCache)("enrichments",a,b,j.name,c,m);if(d)return{ok:!0,result:d.value}}let{entries:n,rawLines:o}=await (0,f.getCachedSessionLog)(a,b),p=(0,g.calculateLogStats)(n),q=(await (0,e.runAllEnrichers)(o,p,a,b,[j],{source:"session"})).results[0];if(!q)return{ok:!1,error:"No result returned from enricher"};if(m){let c=(0,h.hashItemCode)(j.fn);await (0,i.setPerItemCache)("enrichments",a,b,j.name,c,q,m)}return{ok:!0,result:q}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}(0,a.i(13095).ensureServerEntryExports)([j]),(0,b.registerServerReference)(j,"786fc9e5050dafb87e176f72d65ae233de411dd243",null),a.s(["processSessionEnrichment",()=>j])}];
1
+ module.exports=[50871,a=>{"use strict";async function b(a,b,c){let d=[],e=performance.now(),f=globalThis.__CLAUDEYE_CONDITION_REGISTRY__??null,g=!1;if(f)try{await f(b)||(g=!0)}catch{g=!0}if(g)for(let b of a)d.push(c.skipResult(b));else{let e=a.map(async a=>{if(a.condition)try{if(!await a.condition(b))return c.skipResult(a)}catch(b){return c.errorResult(a,`Condition error: ${b instanceof Error?b.message:String(b)}`,0)}let d=performance.now();try{let e=await a.fn(b),f=Math.round(performance.now()-d);return c.successResult(a,e,f)}catch(e){let b=Math.round(performance.now()-d);return c.errorResult(a,e instanceof Error?e.message:String(e),b)}});for(let a of(await Promise.allSettled(e)))d.push("fulfilled"===a.status?a.value:c.unexpectedResult())}let h=Math.round(performance.now()-e);return c.buildSummary(d,h)}a.s(["runAll",()=>b],50871)},31810,a=>{"use strict";var b=a.i(46325),c=a.i(50871);async function d(a,d,e,f,g,h){let i=g??(0,b.getRegisteredEnrichers)(),j={entries:a,stats:d,projectName:e,sessionId:f,source:"session",...h};return(0,c.runAll)(i,j,{skipResult:a=>({name:a.name,data:{},durationMs:0,skipped:!0}),successResult:(a,b,c)=>({name:a.name,data:b,durationMs:c}),errorResult:(a,b,c)=>({name:a.name,data:{},durationMs:c,error:b}),unexpectedResult:()=>({name:"?",data:{},durationMs:0,error:"Unexpected rejection"}),buildSummary:(a,b)=>{let c=0,d=0;for(let b of a)b.skipped?d++:b.error&&c++;return{results:a,totalDurationMs:b,errorCount:c,skippedCount:d}}})}a.s(["runAllEnrichers",()=>d])},86736,a=>{"use strict";var b=a.i(37936),c=a.i(62733),d=a.i(46325),e=a.i(31810),f=a.i(83397),g=a.i(61542);a.i(651);var h=a.i(46721),i=a.i(70427);async function j(a,b,k,l=!1){try{await (0,c.ensureEvalsLoaded)();let j=(0,d.getSessionScopedEnrichers)().find(a=>a.name===k);if(!j)return{ok:!1,error:`Enricher "${k}" not found`};let m=await (0,h.hashSessionFile)(a,b);if(!l&&m){let c=(0,h.hashItemCode)(j.fn),d=await (0,i.getPerItemCache)("enrichments",a,b,j.name,c,m);if(d)return{ok:!0,result:d.value}}let{entries:n,rawLines:o}=await (0,f.getCachedSessionLog)(a,b),p=(0,g.calculateLogStats)(n),q=(await (0,e.runAllEnrichers)(o,p,a,b,[j],{source:"session"})).results[0];if(!q)return{ok:!1,error:"No result returned from enricher"};if(m){let c=(0,h.hashItemCode)(j.fn);await (0,i.setPerItemCache)("enrichments",a,b,j.name,c,q,m)}return{ok:!0,result:q}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}(0,a.i(13095).ensureServerEntryExports)([j]),(0,b.registerServerReference)(j,"7805611bb5778ff97a1aeea95bcfbf184a0ac811e1",null),a.s(["processSessionEnrichment",()=>j])}];
2
2
 
3
3
  //# sourceMappingURL=_87e025a1._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[77728,a=>{"use strict";var b=a.i(37936),c=a.i(5246),d=a.i(76668),e=a.i(9223);async function f(a){let b=a.get("username"),f=a.get("password"),g=a.get("redirectTo")||"/";if(!b||!f)return{error:"Username and password are required"};let i=process.env.CLAUDEYE_AUTH_USERS??"",j=(0,e.parseAuthUsers)(i),k=!1;for(let a of j){let c=h(a.username,b),d=h(a.password,f);c&&d&&(k=!0)}if(!k)return(0,d.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let l=process.env.CLAUDEYE_AUTH_SECRET??"",m=await (0,e.createSessionCookie)(b,l),n=await (0,c.cookies)();return n.set("claudeye_session",m,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,d.logActivity)(b,"login"),{redirectTo:g}}async function g(){let{getRequestUsername:b}=await a.A(47538),e=await b();(0,d.logActivity)(e,"logout");let f=await (0,c.cookies)();return f.delete("claudeye_session"),f.delete("claudeye_auth"),{redirectTo:"/login"}}function h(a,b){if(a.length!==b.length){let c=Math.max(a.length,b.length);for(let d=0;d<c;d++)a.charCodeAt(d%a.length),b.charCodeAt(d%b.length);return!1}let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(0,a.i(13095).ensureServerEntryExports)([f,g]),(0,b.registerServerReference)(f,"408ea81a69adbe48e14de83932e8376609011db9af",null),(0,b.registerServerReference)(g,"00eb53591ad3a4f097215afe550fcf57f8e0294c55",null),a.s(["login",()=>f,"logout",()=>g])},37936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},13095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},9223,a=>{"use strict";function b(a){let b=new Uint8Array(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function c(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=atob(b+"=".repeat((4-b.length%4)%4)),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}async function d(a){let b=new TextEncoder;return crypto.subtle.importKey("raw",b.encode(a),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function e(a,c){let e=JSON.stringify({u:a,e:Date.now()+864e5}),f=new TextEncoder().encode(e),g=await d(c),h=await crypto.subtle.sign("HMAC",g,f);return`${b(f.buffer)}.${b(h)}`}async function f(a,b){let e=a.indexOf(".");if(e<0)return null;try{let f=a.slice(0,e),g=a.slice(e+1),h=c(f),i=c(g),j=await d(b);if(!await crypto.subtle.verify("HMAC",j,i.buffer,h.buffer))return null;let{u:k,e:l}=JSON.parse(new TextDecoder().decode(h));if("number"!=typeof l||Date.now()>l)return null;return"string"==typeof k?k:null}catch{return null}}function g(a){return a.trim()?a.split(",").reduce((a,b)=>{let c=b.indexOf(":");return c>0&&a.push({username:b.slice(0,c),password:b.slice(c+1)}),a},[]):[]}a.s(["createSessionCookie",()=>e,"parseAuthUsers",()=>g,"verifySessionCookie",()=>f])},69191,a=>{"use strict";var b=a.i(24868),c=a.i(14747),d=a.i(90798),e=a.i(34900),f=a.i(76668),g=a.i(82248);async function h(a,c){try{return(await (0,b.stat)(a)).mtime}catch(a){return(0,f.logWarn)(`Failed to stat ${c}:`,a),new Date(0)}}async function i(a){try{if(!(await (0,b.stat)(a)).isDirectory())return null;return await (0,b.readdir)(a,{withFileTypes:!0})}catch{return null}}async function j(){try{let a=(0,d.getClaudeProjectsPath)(),b=await i(a);if(!b)return[];let e=await Promise.all(b.filter(a=>a.isDirectory()).map(async b=>{let d=(0,c.join)(a,b.name),e=await h(d,b.name);return{name:b.name,path:d,isDirectory:!0,lastModified:e,lastModifiedFormatted:(0,g.formatDate)(e)}}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,f.logError)("Error reading project folders:",a),[]}}function k(a){let b=(0,d.getClaudeProjectsPath)();return(0,c.join)(b,a)}function l(a){let b=a.match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i);return b?b[0]:void 0}async function m(a){try{let b=await i(a);if(!b)return[];let d=b.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")&&l(a.name)),e=await Promise.all(d.map(async b=>{let d=(0,c.join)(a,b.name),e=await h(d,b.name);return{name:b.name,path:d,lastModified:e,lastModifiedFormatted:(0,g.formatDate)(e),sessionId:l(b.name)}}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,f.logError)("Error reading session files:",a),[]}}let n=(0,e.runtimeCache)(j,30),o=(0,e.runtimeCache)(a=>m(a),30);a.s(["getCachedProjectFolders",0,n,"getCachedSessionFiles",0,o,"getProjectPath",()=>k])},46325,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_ENRICHER_REGISTRY__");function c(a,d,e,f="session",g){let h={name:a,fn:d,scope:f};e&&(h.condition=e),g&&(h.subagentType=g),b.register(h)}let d=b.getAll,e=b.getSessionScoped,f=b.getSubagentScoped,g=b.hasSubagent,h=b.has,i=b.clear;a.s(["clearEnrichers",0,i,"getRegisteredEnrichers",0,d,"getSessionScopedEnrichers",0,e,"getSubagentScopedEnrichers",0,f,"hasEnrichers",0,h,"hasSubagentEnrichers",0,g,"registerEnricher",()=>c])},70467,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_EVAL_REGISTRY__");function c(a,d,e,f="session",g){let h={name:a,fn:d,scope:f};e&&(h.condition=e),g&&(h.subagentType=g),b.register(h)}let d=b.getAll,e=b.getSessionScoped,f=b.getSubagentScoped,g=b.hasSubagent,h=b.has,i=b.clear;a.s(["clearEvals",0,i,"getRegisteredEvals",0,d,"getSessionScopedEvals",0,e,"getSubagentScopedEvals",0,f,"hasEvals",0,h,"hasSubagentEvals",0,g,"registerEval",()=>c])},79839,a=>{"use strict";var b=a.i(77728),c=a.i(37936),d=a.i(62733),e=a.i(70467);a.i(651);var f=a.i(46721),g=a.i(70427),h=a.i(13095);async function i(a,b,c,h){try{await (0,d.ensureEvalsLoaded)();let i=c?(0,e.getSubagentScopedEvals)(h):(0,e.getSessionScopedEvals)();if(0===i.length)return{ok:!0,hasEvals:!1};let j=i.map(a=>a.name),k=c?`${b}/agent-${c}`:b,l=c?await (0,f.hashSubagentFile)(a,b,c):await (0,f.hashSessionFile)(a,b);if(!l)return{ok:!0,hasEvals:!0,names:j,cachedResults:[],uncachedNames:j};let m=[],n=[];return await Promise.all(i.map(async b=>{let c=(0,f.hashItemCode)(b.fn),d=await (0,g.getPerItemCache)("evals",a,k,b.name,c,l);d?m.push(d.value):n.push(b.name)})),{ok:!0,hasEvals:!0,names:j,cachedResults:m,uncachedNames:n}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}(0,h.ensureServerEntryExports)([i]),(0,c.registerServerReference)(i,"7881efb7b6685f45e0f902c124249d5f794db6a87b",null);var j=a.i(76668);async function k(b,c){let d=await (0,j.getRequestUsername)();(0,j.logActivity)(d,"clear-alert-marker",`project=${b} session=${c}`);let{clearAlertFiredMarker:e}=await a.A(65975);await e(b,c)}async function l(b,c,d,e,f){let g=await (0,j.getRequestUsername)();(0,j.logActivity)(g,"invalidate-cache",`kind=${b} item=${e} project=${c} session=${d}`);let{invalidatePerItemCache:h}=await a.A(71282),i=f?`${d}/agent-${f}`:d;await h(b,c,i,e)}async function m(b,c,d,e){let f=await (0,j.getRequestUsername)();(0,j.logActivity)(f,"invalidate-cache",`kind=${b} project=${c} session=${d}`);let{invalidatePerItemCaches:g}=await a.A(71282),h=e?`${d}/agent-${e}`:d;await g(b,c,h)}(0,h.ensureServerEntryExports)([k]),(0,c.registerServerReference)(k,"60f402ef46c6899d081cccb6561ba328e314a9fb8a",null),(0,h.ensureServerEntryExports)([l,m]),(0,c.registerServerReference)(l,"7c133e815b96f21bc41dec5c6e06b67c1bef54ca50",null),(0,c.registerServerReference)(m,"780eda6234d4f6cdbd2fcfd727b5b758e495b95281",null);var n=a.i(46325);async function o(a,b,c,e){try{await (0,d.ensureEvalsLoaded)();let h=c?(0,n.getSubagentScopedEnrichers)(e):(0,n.getSessionScopedEnrichers)();if(0===h.length)return{ok:!0,hasEnrichers:!1};let i=h.map(a=>a.name),j=c?`${b}/agent-${c}`:b,k=c?await (0,f.hashSubagentFile)(a,b,c):await (0,f.hashSessionFile)(a,b);if(!k)return{ok:!0,hasEnrichers:!0,names:i,cachedResults:[],uncachedNames:i};let l=[],m=[];return await Promise.all(h.map(async b=>{let c=(0,f.hashItemCode)(b.fn),d=await (0,g.getPerItemCache)("enrichments",a,j,b.name,c,k);d?l.push(d.value):m.push(b.name)})),{ok:!0,hasEnrichers:!0,names:i,cachedResults:l,uncachedNames:m}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}(0,h.ensureServerEntryExports)([o]),(0,c.registerServerReference)(o,"78c544b5583cee1625128f4d6eb4c565f0e9b7710a",null);let p=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_ACTION_REGISTRY__");p.getAll;let q=p.getSessionScoped,r=p.getSubagentScoped;async function s(a,b,c,e){try{await (0,d.ensureEvalsLoaded)();let h=c?r(e):q();if(0===h.length)return{ok:!0,hasActions:!1};let i=h.map(a=>a.name),j=c?`${b}/agent-${c}`:b,k=c?await (0,f.hashSubagentFile)(a,b,c):await (0,f.hashSessionFile)(a,b);if(!k)return{ok:!0,hasActions:!0,names:i,cachedResults:[],uncachedNames:i};let l=await Promise.all(h.map(async b=>{if(!b.cache)return{name:b.name,cached:null};let c=(0,f.hashItemCode)(b.fn),d=await (0,g.getPerItemCache)("actions",a,j,b.name,c,k);return{name:b.name,cached:d?d.value:null}})),m=[],n=[];for(let a of l)a.cached?m.push(a.cached):n.push(a.name);return{ok:!0,hasActions:!0,names:i,cachedResults:m,uncachedNames:n}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}p.hasSubagent,p.has,p.clear,(0,h.ensureServerEntryExports)([s]),(0,c.registerServerReference)(s,"78c701a830e75a2f3b7ac6a65baf13771585ae3db7",null);var t=a.i(83590);async function u(){return(0,t.getQueueStatus)()}(0,h.ensureServerEntryExports)([u]),(0,c.registerServerReference)(u,"00557fe824d328d1dc064cdd35dc98a8ab7ba44f9b",null),a.s([],22144),a.i(22144),a.s(["00557fe824d328d1dc064cdd35dc98a8ab7ba44f9b",()=>u,"00eb53591ad3a4f097215afe550fcf57f8e0294c55",()=>b.logout,"60f402ef46c6899d081cccb6561ba328e314a9fb8a",()=>k,"780eda6234d4f6cdbd2fcfd727b5b758e495b95281",()=>m,"7881efb7b6685f45e0f902c124249d5f794db6a87b",()=>i,"78c544b5583cee1625128f4d6eb4c565f0e9b7710a",()=>o,"78c701a830e75a2f3b7ac6a65baf13771585ae3db7",()=>s,"7c133e815b96f21bc41dec5c6e06b67c1bef54ca50",()=>l],79839)},23804,a=>{a.v(a=>Promise.resolve().then(()=>a(5246)))},76958,a=>{a.v(a=>Promise.resolve().then(()=>a(9223)))},47538,a=>{a.v(a=>Promise.resolve().then(()=>a(76668)))},45397,a=>{a.v(a=>Promise.resolve().then(()=>a(70467)))},79288,a=>{a.v(a=>Promise.resolve().then(()=>a(46325)))},65975,a=>{a.v(a=>Promise.resolve().then(()=>a(83590)))},71282,a=>{a.v(b=>Promise.all(["server/chunks/ssr/lib_cache_index_ts_35dfbe77._.js"].map(b=>a.l(b))).then(()=>b(74220)))},978,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_1d335924._.js"].map(b=>a.l(b))).then(()=>b(99938)))},74398,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_87e025a1._.js"].map(b=>a.l(b))).then(()=>b(86736)))}];
1
+ module.exports=[77728,a=>{"use strict";var b=a.i(37936),c=a.i(5246),d=a.i(76668),e=a.i(9223);async function f(a){let b=a.get("username"),f=a.get("password"),g=a.get("redirectTo")||"/";if(!b||!f)return{error:"Username and password are required"};let i=process.env.CLAUDEYE_AUTH_USERS??"",j=(0,e.parseAuthUsers)(i),k=!1;for(let a of j){let c=h(a.username,b),d=h(a.password,f);c&&d&&(k=!0)}if(!k)return(0,d.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let l=process.env.CLAUDEYE_AUTH_SECRET??"",m=await (0,e.createSessionCookie)(b,l),n=await (0,c.cookies)();return n.set("claudeye_session",m,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,d.logActivity)(b,"login"),{redirectTo:g}}async function g(){let{getRequestUsername:b}=await a.A(47538),e=await b();(0,d.logActivity)(e,"logout");let f=await (0,c.cookies)();return f.delete("claudeye_session"),f.delete("claudeye_auth"),{redirectTo:"/login"}}function h(a,b){if(a.length!==b.length){let c=Math.max(a.length,b.length);for(let d=0;d<c;d++)a.charCodeAt(d%a.length),b.charCodeAt(d%b.length);return!1}let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(0,a.i(13095).ensureServerEntryExports)([f,g]),(0,b.registerServerReference)(f,"40bb68ba2962c29eb9ea8abd3a00378698f2d44f11",null),(0,b.registerServerReference)(g,"00a1f1cb1c545539b00ebf8d309d7c59ded691b4a1",null),a.s(["login",()=>f,"logout",()=>g])},37936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},13095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},9223,a=>{"use strict";function b(a){let b=new Uint8Array(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function c(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=atob(b+"=".repeat((4-b.length%4)%4)),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}async function d(a){let b=new TextEncoder;return crypto.subtle.importKey("raw",b.encode(a),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function e(a,c){let e=JSON.stringify({u:a,e:Date.now()+864e5}),f=new TextEncoder().encode(e),g=await d(c),h=await crypto.subtle.sign("HMAC",g,f);return`${b(f.buffer)}.${b(h)}`}async function f(a,b){let e=a.indexOf(".");if(e<0)return null;try{let f=a.slice(0,e),g=a.slice(e+1),h=c(f),i=c(g),j=await d(b);if(!await crypto.subtle.verify("HMAC",j,i.buffer,h.buffer))return null;let{u:k,e:l}=JSON.parse(new TextDecoder().decode(h));if("number"!=typeof l||Date.now()>l)return null;return"string"==typeof k?k:null}catch{return null}}function g(a){return a.trim()?a.split(",").reduce((a,b)=>{let c=b.indexOf(":");return c>0&&a.push({username:b.slice(0,c),password:b.slice(c+1)}),a},[]):[]}a.s(["createSessionCookie",()=>e,"parseAuthUsers",()=>g,"verifySessionCookie",()=>f])},69191,a=>{"use strict";var b=a.i(24868),c=a.i(14747),d=a.i(90798),e=a.i(34900),f=a.i(76668),g=a.i(82248);async function h(a,c){try{return(await (0,b.stat)(a)).mtime}catch(a){return(0,f.logWarn)(`Failed to stat ${c}:`,a),new Date(0)}}async function i(a){try{if(!(await (0,b.stat)(a)).isDirectory())return null;return await (0,b.readdir)(a,{withFileTypes:!0})}catch{return null}}async function j(){try{let a=(0,d.getClaudeProjectsPath)(),b=await i(a);if(!b)return[];let e=await Promise.all(b.filter(a=>a.isDirectory()).map(async b=>{let d=(0,c.join)(a,b.name),e=await h(d,b.name);return{name:b.name,path:d,isDirectory:!0,lastModified:e,lastModifiedFormatted:(0,g.formatDate)(e)}}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,f.logError)("Error reading project folders:",a),[]}}function k(a){let b=(0,d.getClaudeProjectsPath)();return(0,c.join)(b,a)}function l(a){let b=a.match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i);return b?b[0]:void 0}async function m(a){try{let b=await i(a);if(!b)return[];let d=b.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")&&l(a.name)),e=await Promise.all(d.map(async b=>{let d=(0,c.join)(a,b.name),e=await h(d,b.name);return{name:b.name,path:d,lastModified:e,lastModifiedFormatted:(0,g.formatDate)(e),sessionId:l(b.name)}}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,f.logError)("Error reading session files:",a),[]}}let n=(0,e.runtimeCache)(j,30),o=(0,e.runtimeCache)(a=>m(a),30);a.s(["getCachedProjectFolders",0,n,"getCachedSessionFiles",0,o,"getProjectPath",()=>k])},46325,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_ENRICHER_REGISTRY__");function c(a,d,e,f="session",g){let h={name:a,fn:d,scope:f};e&&(h.condition=e),g&&(h.subagentType=g),b.register(h)}let d=b.getAll,e=b.getSessionScoped,f=b.getSubagentScoped,g=b.hasSubagent,h=b.has,i=b.clear;a.s(["clearEnrichers",0,i,"getRegisteredEnrichers",0,d,"getSessionScopedEnrichers",0,e,"getSubagentScopedEnrichers",0,f,"hasEnrichers",0,h,"hasSubagentEnrichers",0,g,"registerEnricher",()=>c])},70467,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_EVAL_REGISTRY__");function c(a,d,e,f="session",g){let h={name:a,fn:d,scope:f};e&&(h.condition=e),g&&(h.subagentType=g),b.register(h)}let d=b.getAll,e=b.getSessionScoped,f=b.getSubagentScoped,g=b.hasSubagent,h=b.has,i=b.clear;a.s(["clearEvals",0,i,"getRegisteredEvals",0,d,"getSessionScopedEvals",0,e,"getSubagentScopedEvals",0,f,"hasEvals",0,h,"hasSubagentEvals",0,g,"registerEval",()=>c])},79839,a=>{"use strict";var b=a.i(77728),c=a.i(37936),d=a.i(62733),e=a.i(70467);a.i(651);var f=a.i(46721),g=a.i(70427),h=a.i(13095);async function i(a,b,c,h){try{await (0,d.ensureEvalsLoaded)();let i=c?(0,e.getSubagentScopedEvals)(h):(0,e.getSessionScopedEvals)();if(0===i.length)return{ok:!0,hasEvals:!1};let j=i.map(a=>a.name),k=c?`${b}/agent-${c}`:b,l=c?await (0,f.hashSubagentFile)(a,b,c):await (0,f.hashSessionFile)(a,b);if(!l)return{ok:!0,hasEvals:!0,names:j,cachedResults:[],uncachedNames:j};let m=[],n=[];return await Promise.all(i.map(async b=>{let c=(0,f.hashItemCode)(b.fn),d=await (0,g.getPerItemCache)("evals",a,k,b.name,c,l);d?m.push(d.value):n.push(b.name)})),{ok:!0,hasEvals:!0,names:j,cachedResults:m,uncachedNames:n}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}(0,h.ensureServerEntryExports)([i]),(0,c.registerServerReference)(i,"789582c2218509ab245ab2d99380fb4b7529085bfc",null);var j=a.i(76668);async function k(b,c){let d=await (0,j.getRequestUsername)();(0,j.logActivity)(d,"clear-alert-marker",`project=${b} session=${c}`);let{clearAlertFiredMarker:e}=await a.A(65975);await e(b,c)}async function l(b,c,d,e,f){let g=await (0,j.getRequestUsername)();(0,j.logActivity)(g,"invalidate-cache",`kind=${b} item=${e} project=${c} session=${d}`);let{invalidatePerItemCache:h}=await a.A(71282),i=f?`${d}/agent-${f}`:d;await h(b,c,i,e)}async function m(b,c,d,e){let f=await (0,j.getRequestUsername)();(0,j.logActivity)(f,"invalidate-cache",`kind=${b} project=${c} session=${d}`);let{invalidatePerItemCaches:g}=await a.A(71282),h=e?`${d}/agent-${e}`:d;await g(b,c,h)}(0,h.ensureServerEntryExports)([k]),(0,c.registerServerReference)(k,"60281361e63ac0ab9013078db69fe9ef64cec03159",null),(0,h.ensureServerEntryExports)([l,m]),(0,c.registerServerReference)(l,"7c92277460985f0048e217b35d83db953a4ea70eaf",null),(0,c.registerServerReference)(m,"786e807fa0cb3a59c7c9bf495100dc9a11ae477bfb",null);var n=a.i(46325);async function o(a,b,c,e){try{await (0,d.ensureEvalsLoaded)();let h=c?(0,n.getSubagentScopedEnrichers)(e):(0,n.getSessionScopedEnrichers)();if(0===h.length)return{ok:!0,hasEnrichers:!1};let i=h.map(a=>a.name),j=c?`${b}/agent-${c}`:b,k=c?await (0,f.hashSubagentFile)(a,b,c):await (0,f.hashSessionFile)(a,b);if(!k)return{ok:!0,hasEnrichers:!0,names:i,cachedResults:[],uncachedNames:i};let l=[],m=[];return await Promise.all(h.map(async b=>{let c=(0,f.hashItemCode)(b.fn),d=await (0,g.getPerItemCache)("enrichments",a,j,b.name,c,k);d?l.push(d.value):m.push(b.name)})),{ok:!0,hasEnrichers:!0,names:i,cachedResults:l,uncachedNames:m}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}(0,h.ensureServerEntryExports)([o]),(0,c.registerServerReference)(o,"78b11fe2be0b61cdf78b7ba5481f50f43b2ea11610",null);let p=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_ACTION_REGISTRY__");p.getAll;let q=p.getSessionScoped,r=p.getSubagentScoped;async function s(a,b,c,e){try{await (0,d.ensureEvalsLoaded)();let h=c?r(e):q();if(0===h.length)return{ok:!0,hasActions:!1};let i=h.map(a=>a.name),j=c?`${b}/agent-${c}`:b,k=c?await (0,f.hashSubagentFile)(a,b,c):await (0,f.hashSessionFile)(a,b);if(!k)return{ok:!0,hasActions:!0,names:i,cachedResults:[],uncachedNames:i};let l=await Promise.all(h.map(async b=>{if(!b.cache)return{name:b.name,cached:null};let c=(0,f.hashItemCode)(b.fn),d=await (0,g.getPerItemCache)("actions",a,j,b.name,c,k);return{name:b.name,cached:d?d.value:null}})),m=[],n=[];for(let a of l)a.cached?m.push(a.cached):n.push(a.name);return{ok:!0,hasActions:!0,names:i,cachedResults:m,uncachedNames:n}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}p.hasSubagent,p.has,p.clear,(0,h.ensureServerEntryExports)([s]),(0,c.registerServerReference)(s,"7805822687b9e36e6a6d1272cdb20abc4233604166",null);var t=a.i(83590);async function u(){return(0,t.getQueueStatus)()}(0,h.ensureServerEntryExports)([u]),(0,c.registerServerReference)(u,"0057f81ed754960cfc07656c16f01a8eea5a852289",null),a.s([],22144),a.i(22144),a.s(["0057f81ed754960cfc07656c16f01a8eea5a852289",()=>u,"00a1f1cb1c545539b00ebf8d309d7c59ded691b4a1",()=>b.logout,"60281361e63ac0ab9013078db69fe9ef64cec03159",()=>k,"7805822687b9e36e6a6d1272cdb20abc4233604166",()=>s,"786e807fa0cb3a59c7c9bf495100dc9a11ae477bfb",()=>m,"789582c2218509ab245ab2d99380fb4b7529085bfc",()=>i,"78b11fe2be0b61cdf78b7ba5481f50f43b2ea11610",()=>o,"7c92277460985f0048e217b35d83db953a4ea70eaf",()=>l],79839)},23804,a=>{a.v(a=>Promise.resolve().then(()=>a(5246)))},76958,a=>{a.v(a=>Promise.resolve().then(()=>a(9223)))},47538,a=>{a.v(a=>Promise.resolve().then(()=>a(76668)))},45397,a=>{a.v(a=>Promise.resolve().then(()=>a(70467)))},79288,a=>{a.v(a=>Promise.resolve().then(()=>a(46325)))},65975,a=>{a.v(a=>Promise.resolve().then(()=>a(83590)))},71282,a=>{a.v(b=>Promise.all(["server/chunks/ssr/lib_cache_index_ts_35dfbe77._.js"].map(b=>a.l(b))).then(()=>b(74220)))},978,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_1d335924._.js"].map(b=>a.l(b))).then(()=>b(99938)))},74398,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_87e025a1._.js"].map(b=>a.l(b))).then(()=>b(86736)))}];
3
3
 
4
4
  //# sourceMappingURL=_cce5033e._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[77728,a=>{"use strict";var b=a.i(37936),c=a.i(5246),d=a.i(76668),e=a.i(9223);async function f(a){let b=a.get("username"),f=a.get("password"),g=a.get("redirectTo")||"/";if(!b||!f)return{error:"Username and password are required"};let i=process.env.CLAUDEYE_AUTH_USERS??"",j=(0,e.parseAuthUsers)(i),k=!1;for(let a of j){let c=h(a.username,b),d=h(a.password,f);c&&d&&(k=!0)}if(!k)return(0,d.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let l=process.env.CLAUDEYE_AUTH_SECRET??"",m=await (0,e.createSessionCookie)(b,l),n=await (0,c.cookies)();return n.set("claudeye_session",m,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,d.logActivity)(b,"login"),{redirectTo:g}}async function g(){let{getRequestUsername:b}=await a.A(47538),e=await b();(0,d.logActivity)(e,"logout");let f=await (0,c.cookies)();return f.delete("claudeye_session"),f.delete("claudeye_auth"),{redirectTo:"/login"}}function h(a,b){if(a.length!==b.length){let c=Math.max(a.length,b.length);for(let d=0;d<c;d++)a.charCodeAt(d%a.length),b.charCodeAt(d%b.length);return!1}let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(0,a.i(13095).ensureServerEntryExports)([f,g]),(0,b.registerServerReference)(f,"408ea81a69adbe48e14de83932e8376609011db9af",null),(0,b.registerServerReference)(g,"00eb53591ad3a4f097215afe550fcf57f8e0294c55",null),a.s(["login",()=>f,"logout",()=>g])},76668,a=>{"use strict";let b={info:0,warn:1,error:2},c="warn";function d(){let a=(process.env.CLAUDEYE_LOG_LEVEL??"").toLowerCase();c="info"===a||"warn"===a||"error"===a?a:"warn"}function e(){return c}function f(a){return b[a]>=b[c]}function g(a){return`[claudeye ${new Date().toISOString()}] ${a}`}function h(a,b){f("info")&&(void 0!==b?console.log(g("INFO"),a,b):console.log(g("INFO"),a))}function i(a,b){f("warn")&&(void 0!==b?console.warn(g("WARN"),a,b):console.warn(g("WARN"),a))}function j(a,b){void 0!==b?console.error(g("ERROR"),a,b):console.error(g("ERROR"),a)}function k(a,b,c){if(!f("info"))return;let d=[`user=${a}`,`action=${b}`];c&&d.push(c),console.log(g("ACTIVITY"),d.join(" "))}async function l(){try{let{cookies:b}=await a.A(23804),c=await b(),d=c.get("claudeye_session")?.value;if(!d)return"anonymous";let e=process.env.CLAUDEYE_AUTH_SECRET??"",{verifySessionCookie:f}=await a.A(76958);return await f(d,e)??"anonymous"}catch{return"anonymous"}}a.s(["getLogLevel",()=>e,"getRequestUsername",()=>l,"initLogger",()=>d,"logActivity",()=>k,"logError",()=>j,"logInfo",()=>h,"logWarn",()=>i])},37936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},13095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},9223,a=>{"use strict";function b(a){let b=new Uint8Array(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function c(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=atob(b+"=".repeat((4-b.length%4)%4)),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}async function d(a){let b=new TextEncoder;return crypto.subtle.importKey("raw",b.encode(a),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function e(a,c){let e=JSON.stringify({u:a,e:Date.now()+864e5}),f=new TextEncoder().encode(e),g=await d(c),h=await crypto.subtle.sign("HMAC",g,f);return`${b(f.buffer)}.${b(h)}`}async function f(a,b){let e=a.indexOf(".");if(e<0)return null;try{let f=a.slice(0,e),g=a.slice(e+1),h=c(f),i=c(g),j=await d(b);if(!await crypto.subtle.verify("HMAC",j,i.buffer,h.buffer))return null;let{u:k,e:l}=JSON.parse(new TextDecoder().decode(h));if("number"!=typeof l||Date.now()>l)return null;return"string"==typeof k?k:null}catch{return null}}function g(a){return a.trim()?a.split(",").reduce((a,b)=>{let c=b.indexOf(":");return c>0&&a.push({username:b.slice(0,c),password:b.slice(c+1)}),a},[]):[]}a.s(["createSessionCookie",()=>e,"parseAuthUsers",()=>g,"verifySessionCookie",()=>f])},42685,a=>{"use strict";var b=a.i(77728);a.s([],2373),a.i(2373),a.s(["00eb53591ad3a4f097215afe550fcf57f8e0294c55",()=>b.logout],42685)},23804,a=>{a.v(a=>Promise.resolve().then(()=>a(5246)))},76958,a=>{a.v(a=>Promise.resolve().then(()=>a(9223)))},47538,a=>{a.v(a=>Promise.resolve().then(()=>a(76668)))}];
1
+ module.exports=[77728,a=>{"use strict";var b=a.i(37936),c=a.i(5246),d=a.i(76668),e=a.i(9223);async function f(a){let b=a.get("username"),f=a.get("password"),g=a.get("redirectTo")||"/";if(!b||!f)return{error:"Username and password are required"};let i=process.env.CLAUDEYE_AUTH_USERS??"",j=(0,e.parseAuthUsers)(i),k=!1;for(let a of j){let c=h(a.username,b),d=h(a.password,f);c&&d&&(k=!0)}if(!k)return(0,d.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let l=process.env.CLAUDEYE_AUTH_SECRET??"",m=await (0,e.createSessionCookie)(b,l),n=await (0,c.cookies)();return n.set("claudeye_session",m,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,d.logActivity)(b,"login"),{redirectTo:g}}async function g(){let{getRequestUsername:b}=await a.A(47538),e=await b();(0,d.logActivity)(e,"logout");let f=await (0,c.cookies)();return f.delete("claudeye_session"),f.delete("claudeye_auth"),{redirectTo:"/login"}}function h(a,b){if(a.length!==b.length){let c=Math.max(a.length,b.length);for(let d=0;d<c;d++)a.charCodeAt(d%a.length),b.charCodeAt(d%b.length);return!1}let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(0,a.i(13095).ensureServerEntryExports)([f,g]),(0,b.registerServerReference)(f,"40bb68ba2962c29eb9ea8abd3a00378698f2d44f11",null),(0,b.registerServerReference)(g,"00a1f1cb1c545539b00ebf8d309d7c59ded691b4a1",null),a.s(["login",()=>f,"logout",()=>g])},76668,a=>{"use strict";let b={info:0,warn:1,error:2},c="warn";function d(){let a=(process.env.CLAUDEYE_LOG_LEVEL??"").toLowerCase();c="info"===a||"warn"===a||"error"===a?a:"warn"}function e(){return c}function f(a){return b[a]>=b[c]}function g(a){return`[claudeye ${new Date().toISOString()}] ${a}`}function h(a,b){f("info")&&(void 0!==b?console.log(g("INFO"),a,b):console.log(g("INFO"),a))}function i(a,b){f("warn")&&(void 0!==b?console.warn(g("WARN"),a,b):console.warn(g("WARN"),a))}function j(a,b){void 0!==b?console.error(g("ERROR"),a,b):console.error(g("ERROR"),a)}function k(a,b,c){if(!f("info"))return;let d=[`user=${a}`,`action=${b}`];c&&d.push(c),console.log(g("ACTIVITY"),d.join(" "))}async function l(){try{let{cookies:b}=await a.A(23804),c=await b(),d=c.get("claudeye_session")?.value;if(!d)return"anonymous";let e=process.env.CLAUDEYE_AUTH_SECRET??"",{verifySessionCookie:f}=await a.A(76958);return await f(d,e)??"anonymous"}catch{return"anonymous"}}a.s(["getLogLevel",()=>e,"getRequestUsername",()=>l,"initLogger",()=>d,"logActivity",()=>k,"logError",()=>j,"logInfo",()=>h,"logWarn",()=>i])},37936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},13095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},9223,a=>{"use strict";function b(a){let b=new Uint8Array(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function c(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=atob(b+"=".repeat((4-b.length%4)%4)),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}async function d(a){let b=new TextEncoder;return crypto.subtle.importKey("raw",b.encode(a),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function e(a,c){let e=JSON.stringify({u:a,e:Date.now()+864e5}),f=new TextEncoder().encode(e),g=await d(c),h=await crypto.subtle.sign("HMAC",g,f);return`${b(f.buffer)}.${b(h)}`}async function f(a,b){let e=a.indexOf(".");if(e<0)return null;try{let f=a.slice(0,e),g=a.slice(e+1),h=c(f),i=c(g),j=await d(b);if(!await crypto.subtle.verify("HMAC",j,i.buffer,h.buffer))return null;let{u:k,e:l}=JSON.parse(new TextDecoder().decode(h));if("number"!=typeof l||Date.now()>l)return null;return"string"==typeof k?k:null}catch{return null}}function g(a){return a.trim()?a.split(",").reduce((a,b)=>{let c=b.indexOf(":");return c>0&&a.push({username:b.slice(0,c),password:b.slice(c+1)}),a},[]):[]}a.s(["createSessionCookie",()=>e,"parseAuthUsers",()=>g,"verifySessionCookie",()=>f])},42685,a=>{"use strict";var b=a.i(77728);a.s([],2373),a.i(2373),a.s(["00a1f1cb1c545539b00ebf8d309d7c59ded691b4a1",()=>b.logout],42685)},23804,a=>{a.v(a=>Promise.resolve().then(()=>a(5246)))},76958,a=>{a.v(a=>Promise.resolve().then(()=>a(9223)))},47538,a=>{a.v(a=>Promise.resolve().then(()=>a(76668)))}];
3
3
 
4
4
  //# sourceMappingURL=_d7141734._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[77728,a=>{"use strict";var b=a.i(37936),c=a.i(5246),d=a.i(76668),e=a.i(9223);async function f(a){let b=a.get("username"),f=a.get("password"),g=a.get("redirectTo")||"/";if(!b||!f)return{error:"Username and password are required"};let i=process.env.CLAUDEYE_AUTH_USERS??"",j=(0,e.parseAuthUsers)(i),k=!1;for(let a of j){let c=h(a.username,b),d=h(a.password,f);c&&d&&(k=!0)}if(!k)return(0,d.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let l=process.env.CLAUDEYE_AUTH_SECRET??"",m=await (0,e.createSessionCookie)(b,l),n=await (0,c.cookies)();return n.set("claudeye_session",m,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,d.logActivity)(b,"login"),{redirectTo:g}}async function g(){let{getRequestUsername:b}=await a.A(47538),e=await b();(0,d.logActivity)(e,"logout");let f=await (0,c.cookies)();return f.delete("claudeye_session"),f.delete("claudeye_auth"),{redirectTo:"/login"}}function h(a,b){if(a.length!==b.length){let c=Math.max(a.length,b.length);for(let d=0;d<c;d++)a.charCodeAt(d%a.length),b.charCodeAt(d%b.length);return!1}let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(0,a.i(13095).ensureServerEntryExports)([f,g]),(0,b.registerServerReference)(f,"408ea81a69adbe48e14de83932e8376609011db9af",null),(0,b.registerServerReference)(g,"00eb53591ad3a4f097215afe550fcf57f8e0294c55",null),a.s(["login",()=>f,"logout",()=>g])},37936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},13095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},9223,a=>{"use strict";function b(a){let b=new Uint8Array(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function c(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=atob(b+"=".repeat((4-b.length%4)%4)),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}async function d(a){let b=new TextEncoder;return crypto.subtle.importKey("raw",b.encode(a),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function e(a,c){let e=JSON.stringify({u:a,e:Date.now()+864e5}),f=new TextEncoder().encode(e),g=await d(c),h=await crypto.subtle.sign("HMAC",g,f);return`${b(f.buffer)}.${b(h)}`}async function f(a,b){let e=a.indexOf(".");if(e<0)return null;try{let f=a.slice(0,e),g=a.slice(e+1),h=c(f),i=c(g),j=await d(b);if(!await crypto.subtle.verify("HMAC",j,i.buffer,h.buffer))return null;let{u:k,e:l}=JSON.parse(new TextDecoder().decode(h));if("number"!=typeof l||Date.now()>l)return null;return"string"==typeof k?k:null}catch{return null}}function g(a){return a.trim()?a.split(",").reduce((a,b)=>{let c=b.indexOf(":");return c>0&&a.push({username:b.slice(0,c),password:b.slice(c+1)}),a},[]):[]}a.s(["createSessionCookie",()=>e,"parseAuthUsers",()=>g,"verifySessionCookie",()=>f])},69191,a=>{"use strict";var b=a.i(24868),c=a.i(14747),d=a.i(90798),e=a.i(34900),f=a.i(76668),g=a.i(82248);async function h(a,c){try{return(await (0,b.stat)(a)).mtime}catch(a){return(0,f.logWarn)(`Failed to stat ${c}:`,a),new Date(0)}}async function i(a){try{if(!(await (0,b.stat)(a)).isDirectory())return null;return await (0,b.readdir)(a,{withFileTypes:!0})}catch{return null}}async function j(){try{let a=(0,d.getClaudeProjectsPath)(),b=await i(a);if(!b)return[];let e=await Promise.all(b.filter(a=>a.isDirectory()).map(async b=>{let d=(0,c.join)(a,b.name),e=await h(d,b.name);return{name:b.name,path:d,isDirectory:!0,lastModified:e,lastModifiedFormatted:(0,g.formatDate)(e)}}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,f.logError)("Error reading project folders:",a),[]}}function k(a){let b=(0,d.getClaudeProjectsPath)();return(0,c.join)(b,a)}function l(a){let b=a.match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i);return b?b[0]:void 0}async function m(a){try{let b=await i(a);if(!b)return[];let d=b.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")&&l(a.name)),e=await Promise.all(d.map(async b=>{let d=(0,c.join)(a,b.name),e=await h(d,b.name);return{name:b.name,path:d,lastModified:e,lastModifiedFormatted:(0,g.formatDate)(e),sessionId:l(b.name)}}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,f.logError)("Error reading session files:",a),[]}}let n=(0,e.runtimeCache)(j,30),o=(0,e.runtimeCache)(a=>m(a),30);a.s(["getCachedProjectFolders",0,n,"getCachedSessionFiles",0,o,"getProjectPath",()=>k])},46325,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_ENRICHER_REGISTRY__");function c(a,d,e,f="session",g){let h={name:a,fn:d,scope:f};e&&(h.condition=e),g&&(h.subagentType=g),b.register(h)}let d=b.getAll,e=b.getSessionScoped,f=b.getSubagentScoped,g=b.hasSubagent,h=b.has,i=b.clear;a.s(["clearEnrichers",0,i,"getRegisteredEnrichers",0,d,"getSessionScopedEnrichers",0,e,"getSubagentScopedEnrichers",0,f,"hasEnrichers",0,h,"hasSubagentEnrichers",0,g,"registerEnricher",()=>c])},70467,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_EVAL_REGISTRY__");function c(a,d,e,f="session",g){let h={name:a,fn:d,scope:f};e&&(h.condition=e),g&&(h.subagentType=g),b.register(h)}let d=b.getAll,e=b.getSessionScoped,f=b.getSubagentScoped,g=b.hasSubagent,h=b.has,i=b.clear;a.s(["clearEvals",0,i,"getRegisteredEvals",0,d,"getSessionScopedEvals",0,e,"getSubagentScopedEvals",0,f,"hasEvals",0,h,"hasSubagentEvals",0,g,"registerEval",()=>c])},16057,a=>{"use strict";var b=a.i(77728),c=a.i(37936),d=a.i(83590);async function e(a){return(0,d.getCompletedHistory)(a)}async function f(a,b){return(0,d.searchCompletedHistory)(a,b)}(0,a.i(13095).ensureServerEntryExports)([e,f]),(0,c.registerServerReference)(e,"401429b5684356bf17841c81f1443079220292ef7c",null),(0,c.registerServerReference)(f,"60bb671503370a3ea73e5ad12bff82c0bd3cca0891",null),a.s([],68694),a.i(68694),a.s(["00eb53591ad3a4f097215afe550fcf57f8e0294c55",()=>b.logout,"401429b5684356bf17841c81f1443079220292ef7c",()=>e,"60bb671503370a3ea73e5ad12bff82c0bd3cca0891",()=>f],16057)},23804,a=>{a.v(a=>Promise.resolve().then(()=>a(5246)))},76958,a=>{a.v(a=>Promise.resolve().then(()=>a(9223)))},47538,a=>{a.v(a=>Promise.resolve().then(()=>a(76668)))},45397,a=>{a.v(a=>Promise.resolve().then(()=>a(70467)))},79288,a=>{a.v(a=>Promise.resolve().then(()=>a(46325)))},978,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_1d335924._.js"].map(b=>a.l(b))).then(()=>b(99938)))},74398,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_87e025a1._.js"].map(b=>a.l(b))).then(()=>b(86736)))}];
1
+ module.exports=[77728,a=>{"use strict";var b=a.i(37936),c=a.i(5246),d=a.i(76668),e=a.i(9223);async function f(a){let b=a.get("username"),f=a.get("password"),g=a.get("redirectTo")||"/";if(!b||!f)return{error:"Username and password are required"};let i=process.env.CLAUDEYE_AUTH_USERS??"",j=(0,e.parseAuthUsers)(i),k=!1;for(let a of j){let c=h(a.username,b),d=h(a.password,f);c&&d&&(k=!0)}if(!k)return(0,d.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let l=process.env.CLAUDEYE_AUTH_SECRET??"",m=await (0,e.createSessionCookie)(b,l),n=await (0,c.cookies)();return n.set("claudeye_session",m,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,d.logActivity)(b,"login"),{redirectTo:g}}async function g(){let{getRequestUsername:b}=await a.A(47538),e=await b();(0,d.logActivity)(e,"logout");let f=await (0,c.cookies)();return f.delete("claudeye_session"),f.delete("claudeye_auth"),{redirectTo:"/login"}}function h(a,b){if(a.length!==b.length){let c=Math.max(a.length,b.length);for(let d=0;d<c;d++)a.charCodeAt(d%a.length),b.charCodeAt(d%b.length);return!1}let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(0,a.i(13095).ensureServerEntryExports)([f,g]),(0,b.registerServerReference)(f,"40bb68ba2962c29eb9ea8abd3a00378698f2d44f11",null),(0,b.registerServerReference)(g,"00a1f1cb1c545539b00ebf8d309d7c59ded691b4a1",null),a.s(["login",()=>f,"logout",()=>g])},37936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},13095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},9223,a=>{"use strict";function b(a){let b=new Uint8Array(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function c(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=atob(b+"=".repeat((4-b.length%4)%4)),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}async function d(a){let b=new TextEncoder;return crypto.subtle.importKey("raw",b.encode(a),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function e(a,c){let e=JSON.stringify({u:a,e:Date.now()+864e5}),f=new TextEncoder().encode(e),g=await d(c),h=await crypto.subtle.sign("HMAC",g,f);return`${b(f.buffer)}.${b(h)}`}async function f(a,b){let e=a.indexOf(".");if(e<0)return null;try{let f=a.slice(0,e),g=a.slice(e+1),h=c(f),i=c(g),j=await d(b);if(!await crypto.subtle.verify("HMAC",j,i.buffer,h.buffer))return null;let{u:k,e:l}=JSON.parse(new TextDecoder().decode(h));if("number"!=typeof l||Date.now()>l)return null;return"string"==typeof k?k:null}catch{return null}}function g(a){return a.trim()?a.split(",").reduce((a,b)=>{let c=b.indexOf(":");return c>0&&a.push({username:b.slice(0,c),password:b.slice(c+1)}),a},[]):[]}a.s(["createSessionCookie",()=>e,"parseAuthUsers",()=>g,"verifySessionCookie",()=>f])},69191,a=>{"use strict";var b=a.i(24868),c=a.i(14747),d=a.i(90798),e=a.i(34900),f=a.i(76668),g=a.i(82248);async function h(a,c){try{return(await (0,b.stat)(a)).mtime}catch(a){return(0,f.logWarn)(`Failed to stat ${c}:`,a),new Date(0)}}async function i(a){try{if(!(await (0,b.stat)(a)).isDirectory())return null;return await (0,b.readdir)(a,{withFileTypes:!0})}catch{return null}}async function j(){try{let a=(0,d.getClaudeProjectsPath)(),b=await i(a);if(!b)return[];let e=await Promise.all(b.filter(a=>a.isDirectory()).map(async b=>{let d=(0,c.join)(a,b.name),e=await h(d,b.name);return{name:b.name,path:d,isDirectory:!0,lastModified:e,lastModifiedFormatted:(0,g.formatDate)(e)}}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,f.logError)("Error reading project folders:",a),[]}}function k(a){let b=(0,d.getClaudeProjectsPath)();return(0,c.join)(b,a)}function l(a){let b=a.match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i);return b?b[0]:void 0}async function m(a){try{let b=await i(a);if(!b)return[];let d=b.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")&&l(a.name)),e=await Promise.all(d.map(async b=>{let d=(0,c.join)(a,b.name),e=await h(d,b.name);return{name:b.name,path:d,lastModified:e,lastModifiedFormatted:(0,g.formatDate)(e),sessionId:l(b.name)}}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,f.logError)("Error reading session files:",a),[]}}let n=(0,e.runtimeCache)(j,30),o=(0,e.runtimeCache)(a=>m(a),30);a.s(["getCachedProjectFolders",0,n,"getCachedSessionFiles",0,o,"getProjectPath",()=>k])},46325,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_ENRICHER_REGISTRY__");function c(a,d,e,f="session",g){let h={name:a,fn:d,scope:f};e&&(h.condition=e),g&&(h.subagentType=g),b.register(h)}let d=b.getAll,e=b.getSessionScoped,f=b.getSubagentScoped,g=b.hasSubagent,h=b.has,i=b.clear;a.s(["clearEnrichers",0,i,"getRegisteredEnrichers",0,d,"getSessionScopedEnrichers",0,e,"getSubagentScopedEnrichers",0,f,"hasEnrichers",0,h,"hasSubagentEnrichers",0,g,"registerEnricher",()=>c])},70467,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_EVAL_REGISTRY__");function c(a,d,e,f="session",g){let h={name:a,fn:d,scope:f};e&&(h.condition=e),g&&(h.subagentType=g),b.register(h)}let d=b.getAll,e=b.getSessionScoped,f=b.getSubagentScoped,g=b.hasSubagent,h=b.has,i=b.clear;a.s(["clearEvals",0,i,"getRegisteredEvals",0,d,"getSessionScopedEvals",0,e,"getSubagentScopedEvals",0,f,"hasEvals",0,h,"hasSubagentEvals",0,g,"registerEval",()=>c])},16057,a=>{"use strict";var b=a.i(77728),c=a.i(37936),d=a.i(83590);async function e(a){return(0,d.getCompletedHistory)(a)}async function f(a,b){return(0,d.searchCompletedHistory)(a,b)}(0,a.i(13095).ensureServerEntryExports)([e,f]),(0,c.registerServerReference)(e,"40e14d485879470cb66d1c23aacbea6d5d04202fe7",null),(0,c.registerServerReference)(f,"604d2dc15e037ac763b8bfb0537ca778d76bab9bcf",null),a.s([],68694),a.i(68694),a.s(["00a1f1cb1c545539b00ebf8d309d7c59ded691b4a1",()=>b.logout,"40e14d485879470cb66d1c23aacbea6d5d04202fe7",()=>e,"604d2dc15e037ac763b8bfb0537ca778d76bab9bcf",()=>f],16057)},23804,a=>{a.v(a=>Promise.resolve().then(()=>a(5246)))},76958,a=>{a.v(a=>Promise.resolve().then(()=>a(9223)))},47538,a=>{a.v(a=>Promise.resolve().then(()=>a(76668)))},45397,a=>{a.v(a=>Promise.resolve().then(()=>a(70467)))},79288,a=>{a.v(a=>Promise.resolve().then(()=>a(46325)))},978,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_1d335924._.js"].map(b=>a.l(b))).then(()=>b(99938)))},74398,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_87e025a1._.js"].map(b=>a.l(b))).then(()=>b(86736)))}];
3
3
 
4
4
  //# sourceMappingURL=_d982b289._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[77728,a=>{"use strict";var b=a.i(37936),c=a.i(5246),d=a.i(76668),e=a.i(9223);async function f(a){let b=a.get("username"),f=a.get("password"),g=a.get("redirectTo")||"/";if(!b||!f)return{error:"Username and password are required"};let i=process.env.CLAUDEYE_AUTH_USERS??"",j=(0,e.parseAuthUsers)(i),k=!1;for(let a of j){let c=h(a.username,b),d=h(a.password,f);c&&d&&(k=!0)}if(!k)return(0,d.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let l=process.env.CLAUDEYE_AUTH_SECRET??"",m=await (0,e.createSessionCookie)(b,l),n=await (0,c.cookies)();return n.set("claudeye_session",m,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,d.logActivity)(b,"login"),{redirectTo:g}}async function g(){let{getRequestUsername:b}=await a.A(47538),e=await b();(0,d.logActivity)(e,"logout");let f=await (0,c.cookies)();return f.delete("claudeye_session"),f.delete("claudeye_auth"),{redirectTo:"/login"}}function h(a,b){if(a.length!==b.length){let c=Math.max(a.length,b.length);for(let d=0;d<c;d++)a.charCodeAt(d%a.length),b.charCodeAt(d%b.length);return!1}let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(0,a.i(13095).ensureServerEntryExports)([f,g]),(0,b.registerServerReference)(f,"408ea81a69adbe48e14de83932e8376609011db9af",null),(0,b.registerServerReference)(g,"00eb53591ad3a4f097215afe550fcf57f8e0294c55",null),a.s(["login",()=>f,"logout",()=>g])},76668,a=>{"use strict";let b={info:0,warn:1,error:2},c="warn";function d(){let a=(process.env.CLAUDEYE_LOG_LEVEL??"").toLowerCase();c="info"===a||"warn"===a||"error"===a?a:"warn"}function e(){return c}function f(a){return b[a]>=b[c]}function g(a){return`[claudeye ${new Date().toISOString()}] ${a}`}function h(a,b){f("info")&&(void 0!==b?console.log(g("INFO"),a,b):console.log(g("INFO"),a))}function i(a,b){f("warn")&&(void 0!==b?console.warn(g("WARN"),a,b):console.warn(g("WARN"),a))}function j(a,b){void 0!==b?console.error(g("ERROR"),a,b):console.error(g("ERROR"),a)}function k(a,b,c){if(!f("info"))return;let d=[`user=${a}`,`action=${b}`];c&&d.push(c),console.log(g("ACTIVITY"),d.join(" "))}async function l(){try{let{cookies:b}=await a.A(23804),c=await b(),d=c.get("claudeye_session")?.value;if(!d)return"anonymous";let e=process.env.CLAUDEYE_AUTH_SECRET??"",{verifySessionCookie:f}=await a.A(76958);return await f(d,e)??"anonymous"}catch{return"anonymous"}}a.s(["getLogLevel",()=>e,"getRequestUsername",()=>l,"initLogger",()=>d,"logActivity",()=>k,"logError",()=>j,"logInfo",()=>h,"logWarn",()=>i])},37936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},13095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},9223,a=>{"use strict";function b(a){let b=new Uint8Array(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function c(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=atob(b+"=".repeat((4-b.length%4)%4)),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}async function d(a){let b=new TextEncoder;return crypto.subtle.importKey("raw",b.encode(a),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function e(a,c){let e=JSON.stringify({u:a,e:Date.now()+864e5}),f=new TextEncoder().encode(e),g=await d(c),h=await crypto.subtle.sign("HMAC",g,f);return`${b(f.buffer)}.${b(h)}`}async function f(a,b){let e=a.indexOf(".");if(e<0)return null;try{let f=a.slice(0,e),g=a.slice(e+1),h=c(f),i=c(g),j=await d(b);if(!await crypto.subtle.verify("HMAC",j,i.buffer,h.buffer))return null;let{u:k,e:l}=JSON.parse(new TextDecoder().decode(h));if("number"!=typeof l||Date.now()>l)return null;return"string"==typeof k?k:null}catch{return null}}function g(a){return a.trim()?a.split(",").reduce((a,b)=>{let c=b.indexOf(":");return c>0&&a.push({username:b.slice(0,c),password:b.slice(c+1)}),a},[]):[]}a.s(["createSessionCookie",()=>e,"parseAuthUsers",()=>g,"verifySessionCookie",()=>f])},74639,a=>{"use strict";var b=a.i(77728);a.s([],23319),a.i(23319),a.s(["00eb53591ad3a4f097215afe550fcf57f8e0294c55",()=>b.logout],74639)},23804,a=>{a.v(a=>Promise.resolve().then(()=>a(5246)))},76958,a=>{a.v(a=>Promise.resolve().then(()=>a(9223)))},47538,a=>{a.v(a=>Promise.resolve().then(()=>a(76668)))}];
1
+ module.exports=[77728,a=>{"use strict";var b=a.i(37936),c=a.i(5246),d=a.i(76668),e=a.i(9223);async function f(a){let b=a.get("username"),f=a.get("password"),g=a.get("redirectTo")||"/";if(!b||!f)return{error:"Username and password are required"};let i=process.env.CLAUDEYE_AUTH_USERS??"",j=(0,e.parseAuthUsers)(i),k=!1;for(let a of j){let c=h(a.username,b),d=h(a.password,f);c&&d&&(k=!0)}if(!k)return(0,d.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let l=process.env.CLAUDEYE_AUTH_SECRET??"",m=await (0,e.createSessionCookie)(b,l),n=await (0,c.cookies)();return n.set("claudeye_session",m,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,d.logActivity)(b,"login"),{redirectTo:g}}async function g(){let{getRequestUsername:b}=await a.A(47538),e=await b();(0,d.logActivity)(e,"logout");let f=await (0,c.cookies)();return f.delete("claudeye_session"),f.delete("claudeye_auth"),{redirectTo:"/login"}}function h(a,b){if(a.length!==b.length){let c=Math.max(a.length,b.length);for(let d=0;d<c;d++)a.charCodeAt(d%a.length),b.charCodeAt(d%b.length);return!1}let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(0,a.i(13095).ensureServerEntryExports)([f,g]),(0,b.registerServerReference)(f,"40bb68ba2962c29eb9ea8abd3a00378698f2d44f11",null),(0,b.registerServerReference)(g,"00a1f1cb1c545539b00ebf8d309d7c59ded691b4a1",null),a.s(["login",()=>f,"logout",()=>g])},76668,a=>{"use strict";let b={info:0,warn:1,error:2},c="warn";function d(){let a=(process.env.CLAUDEYE_LOG_LEVEL??"").toLowerCase();c="info"===a||"warn"===a||"error"===a?a:"warn"}function e(){return c}function f(a){return b[a]>=b[c]}function g(a){return`[claudeye ${new Date().toISOString()}] ${a}`}function h(a,b){f("info")&&(void 0!==b?console.log(g("INFO"),a,b):console.log(g("INFO"),a))}function i(a,b){f("warn")&&(void 0!==b?console.warn(g("WARN"),a,b):console.warn(g("WARN"),a))}function j(a,b){void 0!==b?console.error(g("ERROR"),a,b):console.error(g("ERROR"),a)}function k(a,b,c){if(!f("info"))return;let d=[`user=${a}`,`action=${b}`];c&&d.push(c),console.log(g("ACTIVITY"),d.join(" "))}async function l(){try{let{cookies:b}=await a.A(23804),c=await b(),d=c.get("claudeye_session")?.value;if(!d)return"anonymous";let e=process.env.CLAUDEYE_AUTH_SECRET??"",{verifySessionCookie:f}=await a.A(76958);return await f(d,e)??"anonymous"}catch{return"anonymous"}}a.s(["getLogLevel",()=>e,"getRequestUsername",()=>l,"initLogger",()=>d,"logActivity",()=>k,"logError",()=>j,"logInfo",()=>h,"logWarn",()=>i])},37936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},13095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},9223,a=>{"use strict";function b(a){let b=new Uint8Array(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function c(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=atob(b+"=".repeat((4-b.length%4)%4)),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}async function d(a){let b=new TextEncoder;return crypto.subtle.importKey("raw",b.encode(a),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function e(a,c){let e=JSON.stringify({u:a,e:Date.now()+864e5}),f=new TextEncoder().encode(e),g=await d(c),h=await crypto.subtle.sign("HMAC",g,f);return`${b(f.buffer)}.${b(h)}`}async function f(a,b){let e=a.indexOf(".");if(e<0)return null;try{let f=a.slice(0,e),g=a.slice(e+1),h=c(f),i=c(g),j=await d(b);if(!await crypto.subtle.verify("HMAC",j,i.buffer,h.buffer))return null;let{u:k,e:l}=JSON.parse(new TextDecoder().decode(h));if("number"!=typeof l||Date.now()>l)return null;return"string"==typeof k?k:null}catch{return null}}function g(a){return a.trim()?a.split(",").reduce((a,b)=>{let c=b.indexOf(":");return c>0&&a.push({username:b.slice(0,c),password:b.slice(c+1)}),a},[]):[]}a.s(["createSessionCookie",()=>e,"parseAuthUsers",()=>g,"verifySessionCookie",()=>f])},74639,a=>{"use strict";var b=a.i(77728);a.s([],23319),a.i(23319),a.s(["00a1f1cb1c545539b00ebf8d309d7c59ded691b4a1",()=>b.logout],74639)},23804,a=>{a.v(a=>Promise.resolve().then(()=>a(5246)))},76958,a=>{a.v(a=>Promise.resolve().then(()=>a(9223)))},47538,a=>{a.v(a=>Promise.resolve().then(()=>a(76668)))}];
3
3
 
4
4
  //# sourceMappingURL=_f7ec0663._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[42298,4930,a=>{"use strict";var b=a.i(37936),c=a.i(62733),d=a.i(82762),e=a.i(50871);async function f(a,b,c,f,g,h){let i=g??(0,d.getRegisteredFilters)(),j={entries:a,stats:b,projectName:c,sessionId:f,source:"session"};return h&&(j.evalResults=h),(0,e.runAll)(i,j,{skipResult:a=>({name:a.name,value:!1,durationMs:0,skipped:!0}),successResult:(a,b,c)=>({name:a.name,value:b,durationMs:c}),errorResult:(a,b,c)=>({name:a.name,value:!1,durationMs:c,error:b}),unexpectedResult:()=>({name:"?",value:!1,durationMs:0,error:"Unexpected rejection"}),buildSummary:(a,b)=>{let c=0,d=0;for(let b of a)b.skipped?d++:b.error&&c++;return{results:a,totalDurationMs:b,errorCount:c,skippedCount:d}}})}var g=a.i(83397),h=a.i(61542),i=a.i(69191);a.i(651);var j=a.i(70427),k=a.i(46721),l=a.i(70467),m=a.i(26192),n=a.i(82248),o=a.i(13095);let p="__CLAUDEYE_DASHBOARD_INDEX__";async function q(a,b){try{let q;await (0,c.ensureEvalsLoaded)();let r=(0,d.getFiltersForView)(a??"default"),s=(0,d.getPreBuiltFiltersForView)(a??"default");if(0===r.length&&0===s.length)return{ok:!0,hasFilters:!1};let t=performance.now(),u=a??"default",v=(0,d.getViewOptions)(u),w=v?.cachedOnly??!1,x=w?(0,l.getSessionScopedEvals)():[],y=await (0,k.hashEvalsModule)(),z=r.map(a=>a.name),A={};for(let a of r)A[a.name]=a.label;let B=function(a,b,c,d){let e=globalThis,f=e[p];if(f&&f.viewName===a&&f.evalsHash===b&&f.filterNames.length===c.length&&f.filterNames.every((a,b)=>a===c[b]))return f;let g={};for(let a of c)g[a]={type:"unknown",min:1/0,max:-1/0,uniqueStrings:new Set};let h={viewName:a,evalsHash:b,rows:new Map,contentHashes:new Map,accumulators:g,filterNames:c,filterLabels:d,metaDirty:!0,cachedFilterMeta:null};return e[p]=h,h}(u,y,z,A),C=await (0,i.getCachedProjectFolders)(),D=[];for(let a of(await (0,m.batchAll)(C.map(a=>async()=>{let b=await (0,i.getCachedSessionFiles)(a.path);return{project:a,sessionFiles:b}}),10)))if("fulfilled"===a.status)for(let b of a.value.sessionFiles)b.sessionId&&D.push({project:a.value.project,file:b});let E=new Set,F=new Map;for(let a of D){let b=`${a.project.name}/${a.file.sessionId}`;E.add(b),F.set(b,a)}for(let a of B.rows.keys())E.has(a)||(B.rows.delete(a),B.contentHashes.delete(a),B.metaDirty=!0);let G=[];for(let a of(await (0,m.batchAll)(D.map(({project:a,file:b})=>async()=>{let c,d=b.sessionId,e=`${a.name}/${d}`;try{c=await (0,k.hashSessionFile)(a.name,d)}catch{c=crypto.randomUUID()}return{key:e,contentHash:c,project:a,file:b}}),10))){if("fulfilled"!==a.status)continue;let{key:b,contentHash:c,project:d,file:e}=a.value;B.contentHashes.get(b)===c&&B.rows.has(b)||(G.push({key:b,task:{project:d,file:e}}),B.contentHashes.set(b,c))}if(w&&G.length>0){let a=await (0,m.batchAll)(G.map(({key:a,task:{project:b,file:c}})=>async()=>{let d=c.sessionId,e=B.contentHashes.get(a);return{key:a,cached:await (0,j.isSessionFullyCached)(b.name,d,e)}}),10),b=new Set;for(let c of a)"fulfilled"===c.status&&c.value.cached&&b.add(c.value.key);G=G.filter(({key:a})=>b.has(a))}let H=new Set;if(G.length>0)for(let a=0;a<G.length;a+=10){let b=G.slice(a,a+10);for(let a of(await Promise.allSettled(b.map(async({key:a,task:{project:b,file:c}})=>{let d,e=c.sessionId,i=B.contentHashes.get(a)??"",l=w&&x.length>0?`${u}/eval-ctx/${e}`:`${u}/${e}`,m=await (0,j.getCachedResult)("filters",b.name,l,z,i);if(m)d=m.value;else{let a,{entries:c,rawLines:m}=await (0,g.parseSessionLog)(b.name,e),n=(0,h.calculateLogStats)(c);if(w&&x.length>0){let c=await Promise.all(x.map(a=>(0,j.getPerItemCache)("evals",b.name,e,a.name,(0,k.hashItemCode)(a.fn),i)));if(c.every(a=>null!==a))for(let b of(a={},c)){let c=b.value;a[c.name]={pass:c.pass,score:c.score,error:c.error,message:c.message}}}d=await f(m,n,b.name,e,r,a),(0,j.setCachedResult)("filters",b.name,l,d,z,i)}let o={};for(let a of d.results)a.skipped||a.error||(o[a.name]=a.value);let p={projectName:b.name,sessionId:e,lastModified:c.lastModified.toISOString(),lastModifiedFormatted:c.lastModifiedFormatted||(0,n.formatDate)(c.lastModified),filterValues:o};return{key:a,row:p}}))))if("fulfilled"===a.status){let{key:b,row:c}=a.value;B.rows.set(b,c),B.metaDirty=!0,H.add(b)}}let I=[...function(a){if(!a.metaDirty&&a.cachedFilterMeta)return a.cachedFilterMeta;a.metaDirty&&function(a){for(let b of a.filterNames)a.accumulators[b]={type:"unknown",min:1/0,max:-1/0,uniqueStrings:new Set};for(let b of a.rows.values())!function(a,b){for(let[c,d]of Object.entries(b)){let b=a[c];b&&("boolean"==typeof d?b.type="boolean":"number"==typeof d?(b.type="number",d<b.min&&(b.min=d),d>b.max&&(b.max=d)):"string"==typeof d&&(b.type="string",b.uniqueStrings.add(d)))}}(a.accumulators,b.filterValues)}(a);let b=a.filterNames.map(b=>{let c=a.accumulators[b],d=a.filterLabels[b]??b;return"number"===c.type?{type:"number",name:b,label:d,min:c.min,max:c.max}:"string"===c.type?{type:"string",name:b,label:d,values:Array.from(c.uniqueStrings).sort()}:{type:"boolean",name:b,label:d}});return a.cachedFilterMeta=b,a.metaDirty=!1,b}(B)];for(let a of s)if("lastModified"===a.name){let b="",c="";for(let a of B.rows.values())(!b||a.lastModified<b)&&(b=a.lastModified),(!c||a.lastModified>c)&&(c=a.lastModified);b&&c&&I.push({type:"date",name:a.name,label:a.label,min:new Date(b).toLocaleDateString("en-CA"),max:new Date(c).toLocaleDateString("en-CA")})}let J=Array.from(B.rows.values());if(w){let a=J.filter(a=>{let b=`${a.projectName}/${a.sessionId}`;return!H.has(b)});if(a.length>0){let b=await (0,m.batchAll)(a.map(a=>async()=>{let b=`${a.projectName}/${a.sessionId}`,c=B.contentHashes.get(b);return{session:a,key:b,cached:await (0,j.isSessionFullyCached)(a.projectName,a.sessionId,c)}}),10),c=new Set;for(let a of b)"fulfilled"!==a.status||a.value.cached||(c.add(a.value.key),B.rows.delete(a.value.key),B.contentHashes.delete(a.value.key),B.metaDirty=!0);J=J.filter(a=>{let b=`${a.projectName}/${a.sessionId}`;return!c.has(b)})}}let K=b?.page??1,L=b?.pageSize??25;if(b?.filters&&Object.keys(b.filters).length>0){var e,o;e=J,o=b.filters,q=e.filter(a=>{for(let b of I){let c=o[b.name];if(c)switch(c.type){case"boolean":{let d=a.filterValues[b.name];if(void 0===d||"all"===c.value)continue;if("true"===c.value&&!0!==d||"false"===c.value&&!1!==d)return!1;break}case"number":{let d=a.filterValues[b.name];if(void 0===d)continue;if(d<c.min||d>c.max)return!1;break}case"string":{let d=a.filterValues[b.name];if(void 0===d)continue;if(c.selected.length>0&&!c.selected.includes(d))return!1;break}case"date":{let b=new Date(a.lastModified).toLocaleDateString("en-CA");if(c.from&&b<c.from||c.to&&b>c.to)return!1}}}return!0})}else q=J;q.sort((a,b)=>b.lastModified.localeCompare(a.lastModified));let M=J.length,N=q.length,O=(K-1)*L,P=q.slice(O,O+L),Q=Math.round(performance.now()-t);return{ok:!0,hasFilters:!0,payload:{sessions:P,filterMeta:I,totalDurationMs:Q,totalCount:M,matchingCount:N,page:K,pageSize:L}}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}(0,o.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"606fa0ff3570161e6192562c93508e0de5fc8281b0",null),a.s(["computeDashboard",()=>q],42298);var r=a.i(46325),s=a.i(65003),t=a.i(31810);let u="__CLAUDEYE_AGGREGATE_INDEX__";async function v(a){try{await (0,c.ensureEvalsLoaded)();let b=a??"default",e=(0,d.getAggregatesForView)(b);if(0===e.length)return{ok:!0,hasAggregates:!1};let n=performance.now(),o=await (0,k.hashEvalsModule)(),p=e.map(a=>a.name),q=function(a,b,c){let d=globalThis,e=d[u];if(e&&e.viewName===a&&e.evalsHash===b&&e.aggregateNames.length===c.length&&e.aggregateNames.every((a,b)=>a===c[b]))return e;let f={viewName:a,evalsHash:b,aggregateNames:c,collectedSessions:new Map,contentHashes:new Map};return d[u]=f,f}(b,o,p),v=await (0,i.getCachedProjectFolders)(),w=[];for(let a of(await (0,m.batchAll)(v.map(a=>async()=>{let b=await (0,i.getCachedSessionFiles)(a.path);return{project:a,sessionFiles:b}}),10)))if("fulfilled"===a.status)for(let b of a.value.sessionFiles)b.sessionId&&w.push({project:a.value.project,file:b});let x=new Set;for(let a of w){let b=`${a.project.name}/${a.file.sessionId}`;x.add(b)}for(let a of q.collectedSessions.keys())x.has(a)||(q.collectedSessions.delete(a),q.contentHashes.delete(a));let y=[];for(let a of(await (0,m.batchAll)(w.map(({project:a,file:b})=>async()=>{let c,d=b.sessionId,e=`${a.name}/${d}`;try{c=await (0,k.hashSessionFile)(a.name,d)}catch{c=crypto.randomUUID()}return{key:e,contentHash:c,project:a,file:b}}),10))){if("fulfilled"!==a.status)continue;let{key:b,contentHash:c,project:d,file:e}=a.value;q.contentHashes.get(b)===c&&q.collectedSessions.has(b)||y.push({key:b,task:{project:d,file:e},contentHash:c})}if(y.length>0){let a=(0,l.hasEvals)()?(0,l.getSessionScopedEvals)():[],c=(0,r.hasEnrichers)()?(0,r.getSessionScopedEnrichers)():[],i=(0,d.getFiltersForView)(b);for(let d=0;d<y.length;d+=10){let k=y.slice(d,d+10);for(let d of(await Promise.allSettled(k.map(async({key:d,task:{project:k,file:l},contentHash:m})=>{let n=l.sessionId,o=`${b}/agg/${n}`,q=await (0,j.getCachedResult)("aggregates",k.name,o,p,m);if(q){let a={};for(let b of Object.values(q.value))Object.assign(a,b);return{key:d,contentHash:m,collected:{projectName:k.name,sessionId:n,values:a}}}let{entries:r,rawLines:u}=await (0,g.parseSessionLog)(k.name,n),v=(0,h.calculateLogStats)(r),w={};if(a.length>0)for(let b of(await (0,s.runAllEvals)(u,v,k.name,n,a)).results)b.skipped||(w[b.name]={pass:b.pass,score:b.score,error:b.error,message:b.message});let x={};if(c.length>0)for(let a of(await (0,t.runAllEnrichers)(u,v,k.name,n,c)).results)a.skipped||a.error||(x[a.name]=a.data);let y={};if(i.length>0)for(let a of(await f(u,v,k.name,n,i)).results)a.skipped||a.error||(y[a.name]=a.value);let z={entries:u,stats:v,projectName:k.name,sessionId:n,source:"session",evalResults:w,enrichResults:x,filterValues:y},A={},B={};for(let a of e)try{if(a.condition){let b={entries:u,stats:v,projectName:k.name,sessionId:n,source:"session"};if(!await a.condition(b))continue}let b=await a.collect(z);A[a.name]=b,Object.assign(B,b)}catch{}return(0,j.setCachedResult)("aggregates",k.name,o,A,p,m),{key:d,contentHash:m,collected:{projectName:k.name,sessionId:n,values:B}}}))))if("fulfilled"===d.status){let{key:a,contentHash:b,collected:c}=d.value;q.collectedSessions.set(a,c),q.contentHashes.set(a,b)}}}let z=Array.from(q.collectedSessions.values()),A=[];for(let a of e)try{let b=await a.reduce(z),c=b.length>0?Object.keys(b[0]):[];A.push({name:a.name,label:a.label,rows:b,columns:c})}catch{A.push({name:a.name,label:a.label,rows:[],columns:[]})}let B=Math.round(performance.now()-n);return{ok:!0,hasAggregates:!0,payload:{aggregates:A,totalSessions:z.length,totalDurationMs:B}}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}(0,o.ensureServerEntryExports)([v]),(0,b.registerServerReference)(v,"405faeee3f299d04e3412abfb142f2953ba2bf65e5",null),a.s(["computeAggregates",()=>v],4930)}];
1
+ module.exports=[42298,4930,a=>{"use strict";var b=a.i(37936),c=a.i(62733),d=a.i(82762),e=a.i(50871);async function f(a,b,c,f,g,h){let i=g??(0,d.getRegisteredFilters)(),j={entries:a,stats:b,projectName:c,sessionId:f,source:"session"};return h&&(j.evalResults=h),(0,e.runAll)(i,j,{skipResult:a=>({name:a.name,value:!1,durationMs:0,skipped:!0}),successResult:(a,b,c)=>({name:a.name,value:b,durationMs:c}),errorResult:(a,b,c)=>({name:a.name,value:!1,durationMs:c,error:b}),unexpectedResult:()=>({name:"?",value:!1,durationMs:0,error:"Unexpected rejection"}),buildSummary:(a,b)=>{let c=0,d=0;for(let b of a)b.skipped?d++:b.error&&c++;return{results:a,totalDurationMs:b,errorCount:c,skippedCount:d}}})}var g=a.i(83397),h=a.i(61542),i=a.i(69191);a.i(651);var j=a.i(70427),k=a.i(46721),l=a.i(70467),m=a.i(26192),n=a.i(82248),o=a.i(13095);let p="__CLAUDEYE_DASHBOARD_INDEX__";async function q(a,b){try{let q;await (0,c.ensureEvalsLoaded)();let r=(0,d.getFiltersForView)(a??"default"),s=(0,d.getPreBuiltFiltersForView)(a??"default");if(0===r.length&&0===s.length)return{ok:!0,hasFilters:!1};let t=performance.now(),u=a??"default",v=(0,d.getViewOptions)(u),w=v?.cachedOnly??!1,x=w?(0,l.getSessionScopedEvals)():[],y=await (0,k.hashEvalsModule)(),z=r.map(a=>a.name),A={};for(let a of r)A[a.name]=a.label;let B=function(a,b,c,d){let e=globalThis,f=e[p];if(f&&f.viewName===a&&f.evalsHash===b&&f.filterNames.length===c.length&&f.filterNames.every((a,b)=>a===c[b]))return f;let g={};for(let a of c)g[a]={type:"unknown",min:1/0,max:-1/0,uniqueStrings:new Set};let h={viewName:a,evalsHash:b,rows:new Map,contentHashes:new Map,accumulators:g,filterNames:c,filterLabels:d,metaDirty:!0,cachedFilterMeta:null};return e[p]=h,h}(u,y,z,A),C=await (0,i.getCachedProjectFolders)(),D=[];for(let a of(await (0,m.batchAll)(C.map(a=>async()=>{let b=await (0,i.getCachedSessionFiles)(a.path);return{project:a,sessionFiles:b}}),10)))if("fulfilled"===a.status)for(let b of a.value.sessionFiles)b.sessionId&&D.push({project:a.value.project,file:b});let E=new Set,F=new Map;for(let a of D){let b=`${a.project.name}/${a.file.sessionId}`;E.add(b),F.set(b,a)}for(let a of B.rows.keys())E.has(a)||(B.rows.delete(a),B.contentHashes.delete(a),B.metaDirty=!0);let G=[];for(let a of(await (0,m.batchAll)(D.map(({project:a,file:b})=>async()=>{let c,d=b.sessionId,e=`${a.name}/${d}`;try{c=await (0,k.hashSessionFile)(a.name,d)}catch{c=crypto.randomUUID()}return{key:e,contentHash:c,project:a,file:b}}),10))){if("fulfilled"!==a.status)continue;let{key:b,contentHash:c,project:d,file:e}=a.value;B.contentHashes.get(b)===c&&B.rows.has(b)||(G.push({key:b,task:{project:d,file:e}}),B.contentHashes.set(b,c))}if(w&&G.length>0){let a=await (0,m.batchAll)(G.map(({key:a,task:{project:b,file:c}})=>async()=>{let d=c.sessionId,e=B.contentHashes.get(a);return{key:a,cached:await (0,j.isSessionFullyCached)(b.name,d,e)}}),10),b=new Set;for(let c of a)"fulfilled"===c.status&&c.value.cached&&b.add(c.value.key);G=G.filter(({key:a})=>b.has(a))}let H=new Set;if(G.length>0)for(let a=0;a<G.length;a+=10){let b=G.slice(a,a+10);for(let a of(await Promise.allSettled(b.map(async({key:a,task:{project:b,file:c}})=>{let d,e=c.sessionId,i=B.contentHashes.get(a)??"",l=w&&x.length>0?`${u}/eval-ctx/${e}`:`${u}/${e}`,m=await (0,j.getCachedResult)("filters",b.name,l,z,i);if(m)d=m.value;else{let a,{entries:c,rawLines:m}=await (0,g.parseSessionLog)(b.name,e),n=(0,h.calculateLogStats)(c);if(w&&x.length>0){let c=await Promise.all(x.map(a=>(0,j.getPerItemCache)("evals",b.name,e,a.name,(0,k.hashItemCode)(a.fn),i)));if(c.every(a=>null!==a))for(let b of(a={},c)){let c=b.value;a[c.name]={pass:c.pass,score:c.score,error:c.error,message:c.message}}}d=await f(m,n,b.name,e,r,a),(0,j.setCachedResult)("filters",b.name,l,d,z,i)}let o={};for(let a of d.results)a.skipped||a.error||(o[a.name]=a.value);let p={projectName:b.name,sessionId:e,lastModified:c.lastModified.toISOString(),lastModifiedFormatted:c.lastModifiedFormatted||(0,n.formatDate)(c.lastModified),filterValues:o};return{key:a,row:p}}))))if("fulfilled"===a.status){let{key:b,row:c}=a.value;B.rows.set(b,c),B.metaDirty=!0,H.add(b)}}let I=[...function(a){if(!a.metaDirty&&a.cachedFilterMeta)return a.cachedFilterMeta;a.metaDirty&&function(a){for(let b of a.filterNames)a.accumulators[b]={type:"unknown",min:1/0,max:-1/0,uniqueStrings:new Set};for(let b of a.rows.values())!function(a,b){for(let[c,d]of Object.entries(b)){let b=a[c];b&&("boolean"==typeof d?b.type="boolean":"number"==typeof d?(b.type="number",d<b.min&&(b.min=d),d>b.max&&(b.max=d)):"string"==typeof d&&(b.type="string",b.uniqueStrings.add(d)))}}(a.accumulators,b.filterValues)}(a);let b=a.filterNames.map(b=>{let c=a.accumulators[b],d=a.filterLabels[b]??b;return"number"===c.type?{type:"number",name:b,label:d,min:c.min,max:c.max}:"string"===c.type?{type:"string",name:b,label:d,values:Array.from(c.uniqueStrings).sort()}:{type:"boolean",name:b,label:d}});return a.cachedFilterMeta=b,a.metaDirty=!1,b}(B)];for(let a of s)if("lastModified"===a.name){let b="",c="";for(let a of B.rows.values())(!b||a.lastModified<b)&&(b=a.lastModified),(!c||a.lastModified>c)&&(c=a.lastModified);b&&c&&I.push({type:"date",name:a.name,label:a.label,min:new Date(b).toLocaleDateString("en-CA"),max:new Date(c).toLocaleDateString("en-CA")})}let J=Array.from(B.rows.values());if(w){let a=J.filter(a=>{let b=`${a.projectName}/${a.sessionId}`;return!H.has(b)});if(a.length>0){let b=await (0,m.batchAll)(a.map(a=>async()=>{let b=`${a.projectName}/${a.sessionId}`,c=B.contentHashes.get(b);return{session:a,key:b,cached:await (0,j.isSessionFullyCached)(a.projectName,a.sessionId,c)}}),10),c=new Set;for(let a of b)"fulfilled"!==a.status||a.value.cached||(c.add(a.value.key),B.rows.delete(a.value.key),B.contentHashes.delete(a.value.key),B.metaDirty=!0);J=J.filter(a=>{let b=`${a.projectName}/${a.sessionId}`;return!c.has(b)})}}let K=b?.page??1,L=b?.pageSize??25;if(b?.filters&&Object.keys(b.filters).length>0){var e,o;e=J,o=b.filters,q=e.filter(a=>{for(let b of I){let c=o[b.name];if(c)switch(c.type){case"boolean":{let d=a.filterValues[b.name];if(void 0===d||"all"===c.value)continue;if("true"===c.value&&!0!==d||"false"===c.value&&!1!==d)return!1;break}case"number":{let d=a.filterValues[b.name];if(void 0===d)continue;if(d<c.min||d>c.max)return!1;break}case"string":{let d=a.filterValues[b.name];if(void 0===d)continue;if(c.selected.length>0&&!c.selected.includes(d))return!1;break}case"date":{let b=new Date(a.lastModified).toLocaleDateString("en-CA");if(c.from&&b<c.from||c.to&&b>c.to)return!1}}}return!0})}else q=J;q.sort((a,b)=>b.lastModified.localeCompare(a.lastModified));let M=J.length,N=q.length,O=(K-1)*L,P=q.slice(O,O+L),Q=Math.round(performance.now()-t);return{ok:!0,hasFilters:!0,payload:{sessions:P,filterMeta:I,totalDurationMs:Q,totalCount:M,matchingCount:N,page:K,pageSize:L}}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}(0,o.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"60682ee61abc96ddc3b157efaba63823003f8da164",null),a.s(["computeDashboard",()=>q],42298);var r=a.i(46325),s=a.i(65003),t=a.i(31810);let u="__CLAUDEYE_AGGREGATE_INDEX__";async function v(a){try{await (0,c.ensureEvalsLoaded)();let b=a??"default",e=(0,d.getAggregatesForView)(b);if(0===e.length)return{ok:!0,hasAggregates:!1};let n=performance.now(),o=await (0,k.hashEvalsModule)(),p=e.map(a=>a.name),q=function(a,b,c){let d=globalThis,e=d[u];if(e&&e.viewName===a&&e.evalsHash===b&&e.aggregateNames.length===c.length&&e.aggregateNames.every((a,b)=>a===c[b]))return e;let f={viewName:a,evalsHash:b,aggregateNames:c,collectedSessions:new Map,contentHashes:new Map};return d[u]=f,f}(b,o,p),v=await (0,i.getCachedProjectFolders)(),w=[];for(let a of(await (0,m.batchAll)(v.map(a=>async()=>{let b=await (0,i.getCachedSessionFiles)(a.path);return{project:a,sessionFiles:b}}),10)))if("fulfilled"===a.status)for(let b of a.value.sessionFiles)b.sessionId&&w.push({project:a.value.project,file:b});let x=new Set;for(let a of w){let b=`${a.project.name}/${a.file.sessionId}`;x.add(b)}for(let a of q.collectedSessions.keys())x.has(a)||(q.collectedSessions.delete(a),q.contentHashes.delete(a));let y=[];for(let a of(await (0,m.batchAll)(w.map(({project:a,file:b})=>async()=>{let c,d=b.sessionId,e=`${a.name}/${d}`;try{c=await (0,k.hashSessionFile)(a.name,d)}catch{c=crypto.randomUUID()}return{key:e,contentHash:c,project:a,file:b}}),10))){if("fulfilled"!==a.status)continue;let{key:b,contentHash:c,project:d,file:e}=a.value;q.contentHashes.get(b)===c&&q.collectedSessions.has(b)||y.push({key:b,task:{project:d,file:e},contentHash:c})}if(y.length>0){let a=(0,l.hasEvals)()?(0,l.getSessionScopedEvals)():[],c=(0,r.hasEnrichers)()?(0,r.getSessionScopedEnrichers)():[],i=(0,d.getFiltersForView)(b);for(let d=0;d<y.length;d+=10){let k=y.slice(d,d+10);for(let d of(await Promise.allSettled(k.map(async({key:d,task:{project:k,file:l},contentHash:m})=>{let n=l.sessionId,o=`${b}/agg/${n}`,q=await (0,j.getCachedResult)("aggregates",k.name,o,p,m);if(q){let a={};for(let b of Object.values(q.value))Object.assign(a,b);return{key:d,contentHash:m,collected:{projectName:k.name,sessionId:n,values:a}}}let{entries:r,rawLines:u}=await (0,g.parseSessionLog)(k.name,n),v=(0,h.calculateLogStats)(r),w={};if(a.length>0)for(let b of(await (0,s.runAllEvals)(u,v,k.name,n,a)).results)b.skipped||(w[b.name]={pass:b.pass,score:b.score,error:b.error,message:b.message});let x={};if(c.length>0)for(let a of(await (0,t.runAllEnrichers)(u,v,k.name,n,c)).results)a.skipped||a.error||(x[a.name]=a.data);let y={};if(i.length>0)for(let a of(await f(u,v,k.name,n,i)).results)a.skipped||a.error||(y[a.name]=a.value);let z={entries:u,stats:v,projectName:k.name,sessionId:n,source:"session",evalResults:w,enrichResults:x,filterValues:y},A={},B={};for(let a of e)try{if(a.condition){let b={entries:u,stats:v,projectName:k.name,sessionId:n,source:"session"};if(!await a.condition(b))continue}let b=await a.collect(z);A[a.name]=b,Object.assign(B,b)}catch{}return(0,j.setCachedResult)("aggregates",k.name,o,A,p,m),{key:d,contentHash:m,collected:{projectName:k.name,sessionId:n,values:B}}}))))if("fulfilled"===d.status){let{key:a,contentHash:b,collected:c}=d.value;q.collectedSessions.set(a,c),q.contentHashes.set(a,b)}}}let z=Array.from(q.collectedSessions.values()),A=[];for(let a of e)try{let b=await a.reduce(z),c=b.length>0?Object.keys(b[0]):[];A.push({name:a.name,label:a.label,rows:b,columns:c})}catch{A.push({name:a.name,label:a.label,rows:[],columns:[]})}let B=Math.round(performance.now()-n);return{ok:!0,hasAggregates:!0,payload:{aggregates:A,totalSessions:z.length,totalDurationMs:B}}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}(0,o.ensureServerEntryExports)([v]),(0,b.registerServerReference)(v,"40958183104f2fd94ddbedb446057d5376f11a4ae5",null),a.s(["computeAggregates",()=>v],4930)}];
2
2
 
3
3
  //# sourceMappingURL=app_actions_compute-dashboard_ts_fc151dbb._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[83694,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(50944),e=a.i(5050);let f=(0,e.createServerReference)("408ea81a69adbe48e14de83932e8376609011db9af",e.callServer,void 0,e.findSourceMapURL,"login");var g=a.i(35960),h=a.i(38246);function i(){let a=(0,d.useSearchParams)(),e=(0,d.useRouter)(),i=a.get("from")??"/",[j,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(!1);async function n(a){a.preventDefault(),k(null),m(!0);let b=new FormData(a.currentTarget);b.set("redirectTo",i);let c=await f(b);c?.error?(k(c.error),m(!1)):c?.redirectTo&&e.push(c.redirectTo)}return(0,b.jsx)("div",{className:"min-h-screen flex items-center justify-center bg-background px-4",children:(0,b.jsxs)("div",{className:"w-full max-w-sm rounded-lg border border-border bg-card p-8 shadow-lg",children:[(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2 mb-6",children:[(0,b.jsx)(h.default,{href:"/",children:(0,b.jsx)(g.Logo,{width:36,height:36})}),(0,b.jsx)("h2",{className:"text-xl font-semibold text-foreground",children:"Sign in to Claudeye"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"Enter your credentials to continue"})]}),(0,b.jsxs)("form",{onSubmit:n,className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)("label",{htmlFor:"username",className:"text-sm font-medium text-foreground",children:"Username"}),(0,b.jsx)("input",{id:"username",name:"username",type:"text",required:!0,autoComplete:"username",autoFocus:!0,className:"rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary/50 focus:border-primary",placeholder:"admin"})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)("label",{htmlFor:"password",className:"text-sm font-medium text-foreground",children:"Password"}),(0,b.jsx)("input",{id:"password",name:"password",type:"password",required:!0,autoComplete:"current-password",className:"rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary/50 focus:border-primary"})]}),j&&(0,b.jsx)("p",{className:"text-sm text-red-500 bg-red-500/10 rounded-md px-3 py-2",children:j}),(0,b.jsx)("button",{type:"submit",disabled:l,className:"mt-1 rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground hover:bg-primary/90 focus:outline-none focus:ring-2 focus:ring-primary/50 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:l?"Signing in...":"Sign in"})]})]})})}a.s(["default",()=>i],83694)}];
1
+ module.exports=[83694,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(50944),e=a.i(5050);let f=(0,e.createServerReference)("40bb68ba2962c29eb9ea8abd3a00378698f2d44f11",e.callServer,void 0,e.findSourceMapURL,"login");var g=a.i(35960),h=a.i(38246);function i(){let a=(0,d.useSearchParams)(),e=(0,d.useRouter)(),i=a.get("from")??"/",[j,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(!1);async function n(a){a.preventDefault(),k(null),m(!0);let b=new FormData(a.currentTarget);b.set("redirectTo",i);let c=await f(b);c?.error?(k(c.error),m(!1)):c?.redirectTo&&e.push(c.redirectTo)}return(0,b.jsx)("div",{className:"min-h-screen flex items-center justify-center bg-background px-4",children:(0,b.jsxs)("div",{className:"w-full max-w-sm rounded-lg border border-border bg-card p-8 shadow-lg",children:[(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2 mb-6",children:[(0,b.jsx)(h.default,{href:"/",children:(0,b.jsx)(g.Logo,{width:36,height:36})}),(0,b.jsx)("h2",{className:"text-xl font-semibold text-foreground",children:"Sign in to Claudeye"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"Enter your credentials to continue"})]}),(0,b.jsxs)("form",{onSubmit:n,className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)("label",{htmlFor:"username",className:"text-sm font-medium text-foreground",children:"Username"}),(0,b.jsx)("input",{id:"username",name:"username",type:"text",required:!0,autoComplete:"username",autoFocus:!0,className:"rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary/50 focus:border-primary",placeholder:"admin"})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)("label",{htmlFor:"password",className:"text-sm font-medium text-foreground",children:"Password"}),(0,b.jsx)("input",{id:"password",name:"password",type:"password",required:!0,autoComplete:"current-password",className:"rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary/50 focus:border-primary"})]}),j&&(0,b.jsx)("p",{className:"text-sm text-red-500 bg-red-500/10 rounded-md px-3 py-2",children:j}),(0,b.jsx)("button",{type:"submit",disabled:l,className:"mt-1 rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground hover:bg-primary/90 focus:outline-none focus:ring-2 focus:ring-primary/50 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:l?"Signing in...":"Sign in"})]})]})})}a.s(["default",()=>i],83694)}];
2
2
 
3
3
  //# sourceMappingURL=app_login_page_tsx_ccc0019b._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[57730,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(38246),e=a.i(70106);let f=(0,e.default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),g=(0,e.default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),h=(0,e.default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);var i=a.i(69520),j=a.i(65967),k=a.i(5050);let l=(0,k.createServerReference)("401429b5684356bf17841c81f1443079220292ef7c",k.callServer,void 0,k.findSourceMapURL,"getCompletedHistoryAction"),m=(0,k.createServerReference)("60bb671503370a3ea73e5ad12bff82c0bd3cca0891",k.callServer,void 0,k.findSourceMapURL,"searchCompletedHistoryAction");var n=a.i(6236),o=a.i(90619),p=a.i(95947);function q(a){let b=Math.floor((Date.now()-a)/1e3);if(b<60)return`${b}s ago`;let c=Math.floor(b/60);if(c<60)return`${c}m ago`;let d=Math.floor(c/60);return`${d}h ago`}function r({type:a}){let c="eval"===a?"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400":"action"===a?"bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400":"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400";return(0,b.jsx)("span",{className:`inline-flex items-center rounded px-1.5 py-0.5 text-[0.6rem] font-medium ${c}`,children:a.toUpperCase()})}function s({priority:a}){let c=a<=0;return(0,b.jsx)("span",{className:`text-[0.6rem] font-medium px-1.5 py-0.5 rounded ${c?"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400":"bg-muted text-muted-foreground"}`,children:c?"HIGH":"LOW"})}function t({projectName:a,sessionId:c}){return(0,b.jsx)(d.default,{href:`/project/${encodeURIComponent(a)}/session/${encodeURIComponent(c)}`,className:"text-blue-600 dark:text-blue-400 hover:underline truncate block max-w-[200px]",children:c})}function u(){let a,e,{intervalSec:k}=(0,n.useAutoRefresh)(),u=(0,o.useUrlParams)(),v=(0,c.useRef)(!1),[w,x]=(0,c.useState)(null),[y,z]=(0,c.useState)(null),[A,B]=(0,c.useState)(()=>{let a=u.get("tab");return"pending"===a||"processing"===a||"completed"===a?a:"processing"}),[C,D]=(0,c.useState)(()=>(0,p.paramToPage)(u.get("page"))),[E,F]=(0,c.useState)(null),G=(0,c.useRef)(A),[H,I]=(0,c.useState)(()=>{let a=u.get("type");return"eval"===a||"enrichment"===a||"action"===a?a:""}),[J,K]=(0,c.useState)(()=>u.get("item")??""),[L,M]=(0,c.useState)(()=>u.get("session")??""),N=(0,c.useRef)(null),O=(0,c.useRef)({filterType:H,filterItem:J,filterSession:L});O.current={filterType:H,filterItem:J,filterSession:L},(0,c.useEffect)(()=>{if(!v.current){v.current=!0;return}u.setAll({tab:"processing"===A?void 0:A,type:H||void 0,item:J||void 0,session:L||void 0,page:"completed"===A?(0,p.pageToParam)(C):void 0})},[A,H,J,L,C]);let P=(0,c.useCallback)(async()=>{try{let a=await fetch("/api/queue-status",{cache:"no-store"});if(a.ok){let b=await a.json();x(b),z(null)}else z(`Failed to fetch: ${a.status}`)}catch{z("Network error")}},[]),Q=(0,c.useCallback)(async a=>{try{let b,{filterType:c,filterItem:d,filterSession:e}=O.current;b=""!==c||""!==d||""!==e?await m({type:c||void 0,itemName:d||void 0,sessionId:e||void 0},a):await l(a),F(b)}catch{}},[]);(0,c.useEffect)(()=>{P();let a=setInterval(P,k>0?1e3*k:5e3);return()=>clearInterval(a)},[P,k]),(0,c.useEffect)(()=>{"completed"===A&&"completed"!==G.current&&(D(1),Q(1)),G.current=A},[A,Q]),(0,c.useEffect)(()=>{if("completed"===A)return N.current&&clearTimeout(N.current),N.current=setTimeout(()=>{D(1),Q(1)},300),()=>{N.current&&clearTimeout(N.current)}},[H,J,L]),(0,c.useEffect)(()=>{if("completed"!==A)return;Q(C);let a=setInterval(()=>Q(C),k>0?1e3*k:5e3);return()=>clearInterval(a)},[C,A,Q,k]),(0,c.useEffect)(()=>{"completed"===A&&k>0&&1===C&&E&&0===E.entries.length&&E.totalPages>1&&D(2)},[A,k,C,E]);let R=[{key:"pending",label:"In Queue",count:w?.pending.length??0},{key:"processing",label:"Processing",count:w?.processing.length??0},{key:"completed",label:"Processed"}];return(0,b.jsxs)("div",{className:"min-h-screen bg-background p-6 max-w-4xl mx-auto",children:[(0,b.jsxs)("div",{className:"mb-6",children:[(0,b.jsxs)(d.default,{href:"/",className:"inline-flex items-center gap-1 text-sm text-muted-foreground hover:text-foreground transition-colors",children:[(0,b.jsx)(f,{className:"h-4 w-4"}),"Back"]}),(0,b.jsx)("h1",{className:"text-2xl font-bold text-foreground mt-2",children:"Queue Details"})]}),y&&!w&&(0,b.jsxs)("div",{className:"bg-card border border-border rounded-lg p-4 text-center",children:[(0,b.jsx)("p",{className:"text-sm text-destructive mb-2",children:y}),(0,b.jsx)("button",{onClick:P,className:"text-xs text-primary hover:underline",children:"Retry"})]}),!w&&!y&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading..."}),w&&(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("div",{className:"flex gap-1 border-b border-border",children:R.map(a=>(0,b.jsxs)("button",{onClick:()=>B(a.key),className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${A===a.key?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,children:[a.label,null!=a.count&&(0,b.jsxs)("span",{className:"ml-1.5 text-xs text-muted-foreground",children:["(",a.count,")"]})]},a.key))}),(0,b.jsxs)("div",{className:"bg-card border border-border rounded-lg overflow-hidden",children:["pending"===A&&(0===w.pending.length?(0,b.jsx)("p",{className:"px-4 py-8 text-xs text-muted-foreground text-center",children:"No items in queue."}):(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:"w-full text-xs",children:[(0,b.jsx)("thead",{children:(0,b.jsxs)("tr",{className:"text-left text-muted-foreground border-b border-border bg-muted/30",children:[(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Type"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Item"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Session"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Priority"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium text-right",children:"Queued"})]})}),(0,b.jsx)("tbody",{className:"divide-y divide-border/50",children:w.pending.map(a=>(0,b.jsxs)("tr",{className:"hover:bg-muted/20",children:[(0,b.jsx)("td",{className:"px-3 py-2",children:(0,b.jsx)(r,{type:a.type})}),(0,b.jsx)("td",{className:"px-3 py-2 font-mono text-foreground",children:a.itemName}),(0,b.jsx)("td",{className:"px-3 py-2",children:(0,b.jsx)(t,{projectName:a.projectName,sessionId:a.sessionId})}),(0,b.jsx)("td",{className:"px-3 py-2",children:(0,b.jsx)(s,{priority:a.priority})}),(0,b.jsx)("td",{className:"px-3 py-2 text-right text-muted-foreground",children:q(a.addedAt)})]},a.key))})]})})),"processing"===A&&(0===w.processing.length?(0,b.jsx)("p",{className:"px-4 py-8 text-xs text-muted-foreground text-center",children:"No items currently processing."}):(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:"w-full text-xs",children:[(0,b.jsx)("thead",{children:(0,b.jsxs)("tr",{className:"text-left text-muted-foreground border-b border-border bg-muted/30",children:[(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Type"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Item"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Session"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Priority"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium text-right",children:"Started"})]})}),(0,b.jsx)("tbody",{className:"divide-y divide-border/50",children:w.processing.map(a=>(0,b.jsxs)("tr",{className:"hover:bg-muted/20",children:[(0,b.jsx)("td",{className:"px-3 py-2",children:(0,b.jsx)(r,{type:a.type})}),(0,b.jsx)("td",{className:"px-3 py-2",children:(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)(i.RefreshCw,{className:"w-3 h-3 text-blue-500 animate-spin flex-shrink-0"}),(0,b.jsx)("span",{className:"font-mono text-foreground",children:a.itemName})]})}),(0,b.jsx)("td",{className:"px-3 py-2",children:(0,b.jsx)(t,{projectName:a.projectName,sessionId:a.sessionId})}),(0,b.jsx)("td",{className:"px-3 py-2",children:(0,b.jsx)(s,{priority:a.priority})}),(0,b.jsx)("td",{className:"px-3 py-2 text-right text-muted-foreground",children:q(a.startedAt)})]},a.key))})]})})),"completed"===A&&(a=E?.entries??w.completed,e=E?.totalPages??1,(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 border-b border-border bg-muted/30",children:[(0,b.jsxs)("select",{value:H,onChange:a=>I(a.target.value),className:"h-7 rounded border border-border bg-background px-2 text-xs text-foreground",children:[(0,b.jsx)("option",{value:"",children:"All Types"}),(0,b.jsx)("option",{value:"eval",children:"Eval"}),(0,b.jsx)("option",{value:"enrichment",children:"Enrichment"}),(0,b.jsx)("option",{value:"action",children:"Action"})]}),(0,b.jsx)("input",{type:"text",value:J,onChange:a=>K(a.target.value),placeholder:"Filter by item...",className:"h-7 rounded border border-border bg-background px-2 text-xs text-foreground placeholder:text-muted-foreground w-40"}),(0,b.jsx)("input",{type:"text",value:L,onChange:a=>M(a.target.value),placeholder:"Filter by session...",className:"h-7 rounded border border-border bg-background px-2 text-xs text-foreground placeholder:text-muted-foreground w-40"})]}),0===a.length?(0,b.jsx)("p",{className:"px-4 py-8 text-xs text-muted-foreground text-center",children:"No completed items."}):(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:"w-full text-xs",children:[(0,b.jsx)("thead",{children:(0,b.jsxs)("tr",{className:"text-left text-muted-foreground border-b border-border bg-muted/30",children:[(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Type"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Item"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Session"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Duration"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Status"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium text-right",children:"Completed"})]})}),(0,b.jsx)("tbody",{className:"divide-y divide-border/50",children:a.map((a,c)=>(0,b.jsxs)("tr",{className:"hover:bg-muted/20",children:[(0,b.jsx)("td",{className:"px-3 py-2",children:(0,b.jsx)(r,{type:a.type})}),(0,b.jsx)("td",{className:"px-3 py-2 font-mono text-foreground",children:a.itemName}),(0,b.jsx)("td",{className:"px-3 py-2",children:(0,b.jsx)(t,{projectName:a.projectName,sessionId:a.sessionId})}),(0,b.jsx)("td",{className:"px-3 py-2 text-muted-foreground",children:function(a){if(a<1e3)return`${a}ms`;let b=(a/1e3).toFixed(1);return`${b}s`}(a.durationMs)}),(0,b.jsx)("td",{className:"px-3 py-2",children:a.success?(0,b.jsx)(g,{className:"h-3.5 w-3.5 text-green-600 dark:text-green-400"}):(0,b.jsx)(h,{className:"h-3.5 w-3.5 text-red-600 dark:text-red-400"})}),(0,b.jsx)("td",{className:"px-3 py-2 text-right text-muted-foreground",children:new Date(a.completedAt).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"})})]},`${a.key}-${a.completedAt}-${c}`))})]})}),(0,b.jsx)(j.default,{currentPage:C,totalPages:e,onPageChange:D})]}))]}),w.recentErrors.length>0&&(0,b.jsxs)("section",{className:"bg-card border border-border rounded-lg p-4",children:[(0,b.jsxs)("h2",{className:"text-sm font-semibold text-foreground mb-2",children:["Recent Errors",(0,b.jsxs)("span",{className:"ml-2 text-xs font-normal text-muted-foreground",children:["(",w.recentErrors.length,")"]})]}),(0,b.jsx)("div",{className:"space-y-1",children:w.recentErrors.map((a,c)=>(0,b.jsxs)("div",{className:"text-xs bg-muted/30 rounded px-2 py-1 flex items-start gap-2",children:[(0,b.jsx)("span",{className:"font-mono text-muted-foreground shrink-0",children:a.key}),(0,b.jsx)("span",{className:"text-red-500 break-all",children:a.error}),(0,b.jsx)("span",{className:"text-muted-foreground shrink-0 ml-auto",children:q(a.at)})]},`${a.key}-${a.at}-${c}`))})]})]})]})}a.s(["default",()=>u],57730)}];
1
+ module.exports=[57730,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(38246),e=a.i(70106);let f=(0,e.default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),g=(0,e.default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),h=(0,e.default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);var i=a.i(69520),j=a.i(65967),k=a.i(5050);let l=(0,k.createServerReference)("40e14d485879470cb66d1c23aacbea6d5d04202fe7",k.callServer,void 0,k.findSourceMapURL,"getCompletedHistoryAction"),m=(0,k.createServerReference)("604d2dc15e037ac763b8bfb0537ca778d76bab9bcf",k.callServer,void 0,k.findSourceMapURL,"searchCompletedHistoryAction");var n=a.i(6236),o=a.i(90619),p=a.i(95947);function q(a){let b=Math.floor((Date.now()-a)/1e3);if(b<60)return`${b}s ago`;let c=Math.floor(b/60);if(c<60)return`${c}m ago`;let d=Math.floor(c/60);return`${d}h ago`}function r({type:a}){let c="eval"===a?"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400":"action"===a?"bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400":"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400";return(0,b.jsx)("span",{className:`inline-flex items-center rounded px-1.5 py-0.5 text-[0.6rem] font-medium ${c}`,children:a.toUpperCase()})}function s({priority:a}){let c=a<=0;return(0,b.jsx)("span",{className:`text-[0.6rem] font-medium px-1.5 py-0.5 rounded ${c?"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400":"bg-muted text-muted-foreground"}`,children:c?"HIGH":"LOW"})}function t({projectName:a,sessionId:c}){return(0,b.jsx)(d.default,{href:`/project/${encodeURIComponent(a)}/session/${encodeURIComponent(c)}`,className:"text-blue-600 dark:text-blue-400 hover:underline truncate block max-w-[200px]",children:c})}function u(){let a,e,{intervalSec:k}=(0,n.useAutoRefresh)(),u=(0,o.useUrlParams)(),v=(0,c.useRef)(!1),[w,x]=(0,c.useState)(null),[y,z]=(0,c.useState)(null),[A,B]=(0,c.useState)(()=>{let a=u.get("tab");return"pending"===a||"processing"===a||"completed"===a?a:"processing"}),[C,D]=(0,c.useState)(()=>(0,p.paramToPage)(u.get("page"))),[E,F]=(0,c.useState)(null),G=(0,c.useRef)(A),[H,I]=(0,c.useState)(()=>{let a=u.get("type");return"eval"===a||"enrichment"===a||"action"===a?a:""}),[J,K]=(0,c.useState)(()=>u.get("item")??""),[L,M]=(0,c.useState)(()=>u.get("session")??""),N=(0,c.useRef)(null),O=(0,c.useRef)({filterType:H,filterItem:J,filterSession:L});O.current={filterType:H,filterItem:J,filterSession:L},(0,c.useEffect)(()=>{if(!v.current){v.current=!0;return}u.setAll({tab:"processing"===A?void 0:A,type:H||void 0,item:J||void 0,session:L||void 0,page:"completed"===A?(0,p.pageToParam)(C):void 0})},[A,H,J,L,C]);let P=(0,c.useCallback)(async()=>{try{let a=await fetch("/api/queue-status",{cache:"no-store"});if(a.ok){let b=await a.json();x(b),z(null)}else z(`Failed to fetch: ${a.status}`)}catch{z("Network error")}},[]),Q=(0,c.useCallback)(async a=>{try{let b,{filterType:c,filterItem:d,filterSession:e}=O.current;b=""!==c||""!==d||""!==e?await m({type:c||void 0,itemName:d||void 0,sessionId:e||void 0},a):await l(a),F(b)}catch{}},[]);(0,c.useEffect)(()=>{P();let a=setInterval(P,k>0?1e3*k:5e3);return()=>clearInterval(a)},[P,k]),(0,c.useEffect)(()=>{"completed"===A&&"completed"!==G.current&&(D(1),Q(1)),G.current=A},[A,Q]),(0,c.useEffect)(()=>{if("completed"===A)return N.current&&clearTimeout(N.current),N.current=setTimeout(()=>{D(1),Q(1)},300),()=>{N.current&&clearTimeout(N.current)}},[H,J,L]),(0,c.useEffect)(()=>{if("completed"!==A)return;Q(C);let a=setInterval(()=>Q(C),k>0?1e3*k:5e3);return()=>clearInterval(a)},[C,A,Q,k]),(0,c.useEffect)(()=>{"completed"===A&&k>0&&1===C&&E&&0===E.entries.length&&E.totalPages>1&&D(2)},[A,k,C,E]);let R=[{key:"pending",label:"In Queue",count:w?.pending.length??0},{key:"processing",label:"Processing",count:w?.processing.length??0},{key:"completed",label:"Processed"}];return(0,b.jsxs)("div",{className:"min-h-screen bg-background p-6 max-w-4xl mx-auto",children:[(0,b.jsxs)("div",{className:"mb-6",children:[(0,b.jsxs)(d.default,{href:"/",className:"inline-flex items-center gap-1 text-sm text-muted-foreground hover:text-foreground transition-colors",children:[(0,b.jsx)(f,{className:"h-4 w-4"}),"Back"]}),(0,b.jsx)("h1",{className:"text-2xl font-bold text-foreground mt-2",children:"Queue Details"})]}),y&&!w&&(0,b.jsxs)("div",{className:"bg-card border border-border rounded-lg p-4 text-center",children:[(0,b.jsx)("p",{className:"text-sm text-destructive mb-2",children:y}),(0,b.jsx)("button",{onClick:P,className:"text-xs text-primary hover:underline",children:"Retry"})]}),!w&&!y&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading..."}),w&&(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("div",{className:"flex gap-1 border-b border-border",children:R.map(a=>(0,b.jsxs)("button",{onClick:()=>B(a.key),className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${A===a.key?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,children:[a.label,null!=a.count&&(0,b.jsxs)("span",{className:"ml-1.5 text-xs text-muted-foreground",children:["(",a.count,")"]})]},a.key))}),(0,b.jsxs)("div",{className:"bg-card border border-border rounded-lg overflow-hidden",children:["pending"===A&&(0===w.pending.length?(0,b.jsx)("p",{className:"px-4 py-8 text-xs text-muted-foreground text-center",children:"No items in queue."}):(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:"w-full text-xs",children:[(0,b.jsx)("thead",{children:(0,b.jsxs)("tr",{className:"text-left text-muted-foreground border-b border-border bg-muted/30",children:[(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Type"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Item"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Session"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Priority"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium text-right",children:"Queued"})]})}),(0,b.jsx)("tbody",{className:"divide-y divide-border/50",children:w.pending.map(a=>(0,b.jsxs)("tr",{className:"hover:bg-muted/20",children:[(0,b.jsx)("td",{className:"px-3 py-2",children:(0,b.jsx)(r,{type:a.type})}),(0,b.jsx)("td",{className:"px-3 py-2 font-mono text-foreground",children:a.itemName}),(0,b.jsx)("td",{className:"px-3 py-2",children:(0,b.jsx)(t,{projectName:a.projectName,sessionId:a.sessionId})}),(0,b.jsx)("td",{className:"px-3 py-2",children:(0,b.jsx)(s,{priority:a.priority})}),(0,b.jsx)("td",{className:"px-3 py-2 text-right text-muted-foreground",children:q(a.addedAt)})]},a.key))})]})})),"processing"===A&&(0===w.processing.length?(0,b.jsx)("p",{className:"px-4 py-8 text-xs text-muted-foreground text-center",children:"No items currently processing."}):(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:"w-full text-xs",children:[(0,b.jsx)("thead",{children:(0,b.jsxs)("tr",{className:"text-left text-muted-foreground border-b border-border bg-muted/30",children:[(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Type"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Item"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Session"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Priority"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium text-right",children:"Started"})]})}),(0,b.jsx)("tbody",{className:"divide-y divide-border/50",children:w.processing.map(a=>(0,b.jsxs)("tr",{className:"hover:bg-muted/20",children:[(0,b.jsx)("td",{className:"px-3 py-2",children:(0,b.jsx)(r,{type:a.type})}),(0,b.jsx)("td",{className:"px-3 py-2",children:(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)(i.RefreshCw,{className:"w-3 h-3 text-blue-500 animate-spin flex-shrink-0"}),(0,b.jsx)("span",{className:"font-mono text-foreground",children:a.itemName})]})}),(0,b.jsx)("td",{className:"px-3 py-2",children:(0,b.jsx)(t,{projectName:a.projectName,sessionId:a.sessionId})}),(0,b.jsx)("td",{className:"px-3 py-2",children:(0,b.jsx)(s,{priority:a.priority})}),(0,b.jsx)("td",{className:"px-3 py-2 text-right text-muted-foreground",children:q(a.startedAt)})]},a.key))})]})})),"completed"===A&&(a=E?.entries??w.completed,e=E?.totalPages??1,(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 border-b border-border bg-muted/30",children:[(0,b.jsxs)("select",{value:H,onChange:a=>I(a.target.value),className:"h-7 rounded border border-border bg-background px-2 text-xs text-foreground",children:[(0,b.jsx)("option",{value:"",children:"All Types"}),(0,b.jsx)("option",{value:"eval",children:"Eval"}),(0,b.jsx)("option",{value:"enrichment",children:"Enrichment"}),(0,b.jsx)("option",{value:"action",children:"Action"})]}),(0,b.jsx)("input",{type:"text",value:J,onChange:a=>K(a.target.value),placeholder:"Filter by item...",className:"h-7 rounded border border-border bg-background px-2 text-xs text-foreground placeholder:text-muted-foreground w-40"}),(0,b.jsx)("input",{type:"text",value:L,onChange:a=>M(a.target.value),placeholder:"Filter by session...",className:"h-7 rounded border border-border bg-background px-2 text-xs text-foreground placeholder:text-muted-foreground w-40"})]}),0===a.length?(0,b.jsx)("p",{className:"px-4 py-8 text-xs text-muted-foreground text-center",children:"No completed items."}):(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:"w-full text-xs",children:[(0,b.jsx)("thead",{children:(0,b.jsxs)("tr",{className:"text-left text-muted-foreground border-b border-border bg-muted/30",children:[(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Type"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Item"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Session"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Duration"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium",children:"Status"}),(0,b.jsx)("th",{className:"px-3 py-2 font-medium text-right",children:"Completed"})]})}),(0,b.jsx)("tbody",{className:"divide-y divide-border/50",children:a.map((a,c)=>(0,b.jsxs)("tr",{className:"hover:bg-muted/20",children:[(0,b.jsx)("td",{className:"px-3 py-2",children:(0,b.jsx)(r,{type:a.type})}),(0,b.jsx)("td",{className:"px-3 py-2 font-mono text-foreground",children:a.itemName}),(0,b.jsx)("td",{className:"px-3 py-2",children:(0,b.jsx)(t,{projectName:a.projectName,sessionId:a.sessionId})}),(0,b.jsx)("td",{className:"px-3 py-2 text-muted-foreground",children:function(a){if(a<1e3)return`${a}ms`;let b=(a/1e3).toFixed(1);return`${b}s`}(a.durationMs)}),(0,b.jsx)("td",{className:"px-3 py-2",children:a.success?(0,b.jsx)(g,{className:"h-3.5 w-3.5 text-green-600 dark:text-green-400"}):(0,b.jsx)(h,{className:"h-3.5 w-3.5 text-red-600 dark:text-red-400"})}),(0,b.jsx)("td",{className:"px-3 py-2 text-right text-muted-foreground",children:new Date(a.completedAt).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"})})]},`${a.key}-${a.completedAt}-${c}`))})]})}),(0,b.jsx)(j.default,{currentPage:C,totalPages:e,onPageChange:D})]}))]}),w.recentErrors.length>0&&(0,b.jsxs)("section",{className:"bg-card border border-border rounded-lg p-4",children:[(0,b.jsxs)("h2",{className:"text-sm font-semibold text-foreground mb-2",children:["Recent Errors",(0,b.jsxs)("span",{className:"ml-2 text-xs font-normal text-muted-foreground",children:["(",w.recentErrors.length,")"]})]}),(0,b.jsx)("div",{className:"space-y-1",children:w.recentErrors.map((a,c)=>(0,b.jsxs)("div",{className:"text-xs bg-muted/30 rounded px-2 py-1 flex items-start gap-2",children:[(0,b.jsx)("span",{className:"font-mono text-muted-foreground shrink-0",children:a.key}),(0,b.jsx)("span",{className:"text-red-500 break-all",children:a.error}),(0,b.jsx)("span",{className:"text-muted-foreground shrink-0 ml-auto",children:q(a.at)})]},`${a.key}-${a.at}-${c}`))})]})]})]})}a.s(["default",()=>u],57730)}];
2
2
 
3
3
  //# sourceMappingURL=app_queue_queue-client_tsx_45f040f7._.js.map