@claudeye/linux-arm64 1.0.5-beta.5 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/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 +2 -2
  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 +7 -7
  15. package/assets/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +7 -7
  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 +7 -7
  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 +5 -5
  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 +5 -5
  24. package/assets/standalone/.next/server/app/dashboard/page_client-reference-manifest.js +1 -1
  25. package/assets/standalone/.next/server/app/hooks/page/server-reference-manifest.json +4 -4
  26. package/assets/standalone/.next/server/app/hooks/page_client-reference-manifest.js +1 -1
  27. package/assets/standalone/.next/server/app/login/page/server-reference-manifest.json +3 -3
  28. package/assets/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  29. package/assets/standalone/.next/server/app/login.html +2 -2
  30. package/assets/standalone/.next/server/app/login.rsc +8 -8
  31. package/assets/standalone/.next/server/app/login.segments/_full.segment.rsc +8 -8
  32. package/assets/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  33. package/assets/standalone/.next/server/app/login.segments/_index.segment.rsc +7 -7
  34. package/assets/standalone/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  35. package/assets/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  36. package/assets/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  37. package/assets/standalone/.next/server/app/page/server-reference-manifest.json +2 -2
  38. package/assets/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  39. package/assets/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +2 -2
  40. package/assets/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  41. package/assets/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +1 -1
  42. package/assets/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +9 -9
  43. package/assets/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  44. package/assets/standalone/.next/server/app/queue/page/server-reference-manifest.json +4 -4
  45. package/assets/standalone/.next/server/app/queue/page_client-reference-manifest.js +1 -1
  46. package/assets/standalone/.next/server/chunks/[root-of-the-server]__75048a35._.js +2 -2
  47. package/assets/standalone/.next/server/chunks/[root-of-the-server]__dd558eee._.js +1 -1
  48. package/assets/standalone/.next/server/chunks/[root-of-the-server]__f44213d4._.js +1 -1
  49. package/assets/standalone/.next/server/chunks/_3f3c09bf._.js +2 -2
  50. package/assets/standalone/.next/server/chunks/_7e07bbd9._.js +1 -1
  51. package/assets/standalone/.next/server/chunks/_8f856fad._.js +2 -2
  52. package/assets/standalone/.next/server/chunks/_b8adaa37._.js +2 -2
  53. package/assets/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_7a66d362.js +1 -1
  54. package/assets/standalone/.next/server/chunks/package_json_4b1b4d6f._.js +1 -1
  55. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__637abc80._.js +1 -1
  56. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__6ec938e4._.js +1 -1
  57. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__82c381fd._.js +1 -1
  58. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__99f0c371._.js +1 -1
  59. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__b9492585._.js +1 -1
  60. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__cb5a5725._.js +1 -1
  61. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__d015fef5._.js +1 -1
  62. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__d4e6c42a._.js +1 -1
  63. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__fd646815._.js +1 -1
  64. package/assets/standalone/.next/server/chunks/ssr/_14858238._.js +1 -1
  65. package/assets/standalone/.next/server/chunks/ssr/_1d335924._.js +1 -1
  66. package/assets/standalone/.next/server/chunks/ssr/_76ab933f._.js +1 -1
  67. package/assets/standalone/.next/server/chunks/ssr/_87e025a1._.js +1 -1
  68. package/assets/standalone/.next/server/chunks/ssr/_b14cf8e4._.js +1 -1
  69. package/assets/standalone/.next/server/chunks/ssr/_d7159840._.js +1 -1
  70. package/assets/standalone/.next/server/chunks/ssr/app_actions_compute-dashboard_ts_fc151dbb._.js +1 -1
  71. package/assets/standalone/.next/server/chunks/ssr/app_hooks_hooks-client_tsx_8b8d68a3._.js +1 -1
  72. package/assets/standalone/.next/server/chunks/ssr/app_login_page_tsx_ccc0019b._.js +1 -1
  73. package/assets/standalone/.next/server/chunks/ssr/app_queue_queue-client_tsx_45f040f7._.js +1 -1
  74. package/assets/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js +1 -1
  75. package/assets/standalone/.next/server/pages/404.html +2 -2
  76. package/assets/standalone/.next/server/pages/500.html +2 -2
  77. package/assets/standalone/.next/server/server-reference-manifest.js +1 -1
  78. package/assets/standalone/.next/server/server-reference-manifest.json +18 -18
  79. package/assets/standalone/.next/static/chunks/{464ea13865225b93.js → 1891ebe9a9f30b24.js} +1 -1
  80. package/assets/standalone/.next/static/chunks/{0f03de29a79b358a.js → 32addb9a03bc9eb0.js} +3 -3
  81. package/assets/standalone/.next/static/chunks/{d4b9ae69c61ea106.js → 408822bf7ed2f63c.js} +1 -1
  82. package/assets/standalone/.next/static/chunks/{7027ea5abc3cb8b6.js → 93a639f2894ba87b.js} +1 -1
  83. package/assets/standalone/.next/static/chunks/{43eaeae7a28ee945.js → e316aafdea46c4ea.js} +1 -1
  84. package/assets/standalone/.next/static/chunks/{b89fde0f6a1afd29.js → e6e7a15cdee90ddf.js} +1 -1
  85. package/assets/standalone/.next/static/chunks/{74316d89b6c41d1f.js → f6fddbf6f921870f.js} +1 -1
  86. package/assets/standalone/README.md +88 -78
  87. package/assets/standalone/package.json +1 -1
  88. package/bin/claudeye +0 -0
  89. package/package.json +1 -1
  90. /package/assets/standalone/.next/static/{dXM7TIq4Pg0K-2y8eOVwS → Iy9BSv8VmacfZbJtrubiB}/_buildManifest.js +0 -0
  91. /package/assets/standalone/.next/static/{dXM7TIq4Pg0K-2y8eOVwS → Iy9BSv8VmacfZbJtrubiB}/_clientMiddlewareManifest.json +0 -0
  92. /package/assets/standalone/.next/static/{dXM7TIq4Pg0K-2y8eOVwS → Iy9BSv8VmacfZbJtrubiB}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
1
  module.exports=[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}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"0019a89c346077746f132b6415efb4919f7ba95eca",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(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,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40a83d87359962593c164e53af088c623dbaf026c3",null),(0,b.registerServerReference)(l,"006ea6f59c8fccf757175fe6cfaf6728faeacb9bfc",null),a.s(["login",()=>k,"logout",()=>l],77728)},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])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.5-beta.5",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},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])},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])},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])},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,"00ac291995a8a652e37f2dd5d7a78ad5b491d255cb",null),a.s(["listDashboardViews",()=>p],20396)},45252,a=>{"use strict";var b=a.i(36359),c=a.i(77728),d=a.i(20396),e=a.i(42298),f=a.i(4930);a.s([],19065),a.i(19065),a.s(["0019a89c346077746f132b6415efb4919f7ba95eca",()=>b.getTelemetryConfig,"006ea6f59c8fccf757175fe6cfaf6728faeacb9bfc",()=>c.logout,"00ac291995a8a652e37f2dd5d7a78ad5b491d255cb",()=>d.listDashboardViews,"40e54909af0d6c159b507f7a98223a33d28dd6ee8d",()=>f.computeAggregates,"60c7f271dfe70c5811e2c59d3ef2f3d0a220aa54ad",()=>e.computeDashboard],45252)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},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)))},65726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/lib_evals_cache-invalidation-registry_ts_2ee53a56._.js"].map(b=>a.l(b))).then(()=>b(16991)))},45397,a=>{a.v(a=>Promise.resolve().then(()=>a(70467)))},79288,a=>{a.v(a=>Promise.resolve().then(()=>a(46325)))}];
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}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(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,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40c95bf3bfc400a64f4e7cc04484a6a1547ce14973",null),(0,b.registerServerReference)(l,"00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",null),a.s(["login",()=>k,"logout",()=>l],77728)},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])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.5",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},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])},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])},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])},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,"00e8bf70553bbbd141ad55e8a3a26d8c54e3877b02",null),a.s(["listDashboardViews",()=>p],20396)},45252,a=>{"use strict";var b=a.i(36359),c=a.i(77728),d=a.i(20396),e=a.i(42298),f=a.i(4930);a.s([],19065),a.i(19065),a.s(["00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",()=>c.logout,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",()=>b.getTelemetryConfig,"00e8bf70553bbbd141ad55e8a3a26d8c54e3877b02",()=>d.listDashboardViews,"4054cae29175a82e2fc75dc4895ff686fcd86351ca",()=>f.computeAggregates,"60b6574710866457ecc1afdfa8b72395d73e4e772d",()=>e.computeDashboard],45252)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},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)))},65726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/lib_evals_cache-invalidation-registry_ts_2ee53a56._.js"].map(b=>a.l(b))).then(()=>b(16991)))},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=%5Broot-of-the-server%5D__99f0c371._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[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}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"0019a89c346077746f132b6415efb4919f7ba95eca",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(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,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40a83d87359962593c164e53af088c623dbaf026c3",null),(0,b.registerServerReference)(l,"006ea6f59c8fccf757175fe6cfaf6728faeacb9bfc",null),a.s(["login",()=>k,"logout",()=>l],77728)},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])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.5-beta.5",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},12132,a=>{"use strict";var b=a.i(36359),c=a.i(77728);a.s([],22807),a.i(22807),a.s(["0019a89c346077746f132b6415efb4919f7ba95eca",()=>b.getTelemetryConfig,"006ea6f59c8fccf757175fe6cfaf6728faeacb9bfc",()=>c.logout],12132)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},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)))}];
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}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(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,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40c95bf3bfc400a64f4e7cc04484a6a1547ce14973",null),(0,b.registerServerReference)(l,"00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",null),a.s(["login",()=>k,"logout",()=>l],77728)},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])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.5",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},12132,a=>{"use strict";var b=a.i(36359),c=a.i(77728);a.s([],22807),a.i(22807),a.s(["00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",()=>c.logout,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",()=>b.getTelemetryConfig],12132)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},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=%5Broot-of-the-server%5D__b9492585._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[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}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"0019a89c346077746f132b6415efb4919f7ba95eca",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(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,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40a83d87359962593c164e53af088c623dbaf026c3",null),(0,b.registerServerReference)(l,"006ea6f59c8fccf757175fe6cfaf6728faeacb9bfc",null),a.s(["login",()=>k,"logout",()=>l],77728)},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])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.5-beta.5",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},92941,a=>{"use strict";var b=a.i(36359),c=a.i(77728);a.s([],41983),a.i(41983),a.s(["0019a89c346077746f132b6415efb4919f7ba95eca",()=>b.getTelemetryConfig,"006ea6f59c8fccf757175fe6cfaf6728faeacb9bfc",()=>c.logout],92941)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},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)))}];
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}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(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,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40c95bf3bfc400a64f4e7cc04484a6a1547ce14973",null),(0,b.registerServerReference)(l,"00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",null),a.s(["login",()=>k,"logout",()=>l],77728)},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])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.5",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},92941,a=>{"use strict";var b=a.i(36359),c=a.i(77728);a.s([],41983),a.i(41983),a.s(["00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",()=>c.logout,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",()=>b.getTelemetryConfig],92941)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},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=%5Broot-of-the-server%5D__cb5a5725._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[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}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"0019a89c346077746f132b6415efb4919f7ba95eca",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(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,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40a83d87359962593c164e53af088c623dbaf026c3",null),(0,b.registerServerReference)(l,"006ea6f59c8fccf757175fe6cfaf6728faeacb9bfc",null),a.s(["login",()=>k,"logout",()=>l],77728)},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])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.5-beta.5",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},97574,a=>{"use strict";var b=a.i(36359),c=a.i(77728),d=a.i(37936),e=a.i(2157),f=a.i(50227),g=a.i(60526);let h=(0,f.join)((0,g.homedir)(),".claudeye","cache","hook-activity"),i="current.jsonl";function j(){(0,e.existsSync)(h)||(0,e.mkdirSync)(h,{recursive:!0})}function k(){j();let a=m((0,f.join)(h,i)).reverse(),b=n(),c=[];for(let a of b){let b=m((0,f.join)(h,a));c.push(...b.reverse())}return[...a,...c]}function l(a){let b=a.length,c=0,d=new Map;for(let b of a)"deny"===b.decision&&c++,b.policyName&&d.set(b.policyName,(d.get(b.policyName)??0)+1);let e=null,f=0;for(let[a,b]of d)b>f&&(e=a,f=b);return{totalEvents:b,denyCount:c,topPolicy:e,topPolicyCount:f}}function m(a){let b=function(a){try{return(0,e.readFileSync)(a,"utf-8")}catch{return""}}(a);if(!b.trim())return[];let c=[];for(let a of b.trim().split("\n"))try{c.push(JSON.parse(a))}catch{}return c}function n(){try{return(0,e.readdirSync)(h).filter(a=>a.startsWith("page-")&&a.endsWith(".jsonl")).sort((a,b)=>{let c=a.slice(5,-6).split("-"),d=b.slice(5,-6).split("-"),e=parseInt(c[0],10),f=parseInt(d[0],10);if(e!==f)return f-e;let g=c.length>1?parseInt(c[1],10):0;return(d.length>1?parseInt(d[1],10):0)-g})}catch{return[]}}async function o(a){let b;return b=function(a){if(j(),a<1)return[];if(1===a)return m((0,f.join)(h,i)).reverse();let b=n(),c=a-2;return c>=b.length?[]:m((0,f.join)(h,b[c])).reverse()}(a),j(),{entries:b,totalPages:1+n().length,page:a,stats:l(k())}}async function p(a,b){let c,d,e,f;return e=Math.max(1,Math.ceil((d=(c=k()).filter(b=>(!a.decision||b.decision===a.decision)&&(!a.eventType||b.eventType===a.eventType)&&(!a.policyName||!!b.policyName&&!!b.policyName.toLowerCase().includes(a.policyName.toLowerCase())))).length/25)),f=(b-1)*25,{entries:d.slice(f,f+25),totalPages:e,page:b,stats:l(c)}}(0,a.i(13095).ensureServerEntryExports)([o,p]),(0,d.registerServerReference)(o,"40807816e6f23ebb295bc5ca6467890986fb2f46e0",null),(0,d.registerServerReference)(p,"607d06cd77600d2d28c6f8fb1ef59f5b43ca2ed4b8",null),a.s([],5310),a.i(5310),a.s(["0019a89c346077746f132b6415efb4919f7ba95eca",()=>b.getTelemetryConfig,"006ea6f59c8fccf757175fe6cfaf6728faeacb9bfc",()=>c.logout,"40807816e6f23ebb295bc5ca6467890986fb2f46e0",()=>o,"607d06cd77600d2d28c6f8fb1ef59f5b43ca2ed4b8",()=>p],97574)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},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)))}];
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}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(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,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40c95bf3bfc400a64f4e7cc04484a6a1547ce14973",null),(0,b.registerServerReference)(l,"00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",null),a.s(["login",()=>k,"logout",()=>l],77728)},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])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.5",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},97574,a=>{"use strict";var b=a.i(36359),c=a.i(77728),d=a.i(37936),e=a.i(2157),f=a.i(50227),g=a.i(60526);let h=(0,f.join)((0,g.homedir)(),".claudeye","cache","hook-activity"),i="current.jsonl";function j(){(0,e.existsSync)(h)||(0,e.mkdirSync)(h,{recursive:!0})}function k(){j();let a=m((0,f.join)(h,i)).reverse(),b=n(),c=[];for(let a of b){let b=m((0,f.join)(h,a));c.push(...b.reverse())}return[...a,...c]}function l(a){let b=a.length,c=0,d=new Map;for(let b of a)"deny"===b.decision&&c++,b.policyName&&d.set(b.policyName,(d.get(b.policyName)??0)+1);let e=null,f=0;for(let[a,b]of d)b>f&&(e=a,f=b);return{totalEvents:b,denyCount:c,topPolicy:e,topPolicyCount:f}}function m(a){let b=function(a){try{return(0,e.readFileSync)(a,"utf-8")}catch{return""}}(a);if(!b.trim())return[];let c=[];for(let a of b.trim().split("\n"))try{c.push(JSON.parse(a))}catch{}return c}function n(){try{return(0,e.readdirSync)(h).filter(a=>a.startsWith("page-")&&a.endsWith(".jsonl")).sort((a,b)=>{let c=a.slice(5,-6).split("-"),d=b.slice(5,-6).split("-"),e=parseInt(c[0],10),f=parseInt(d[0],10);if(e!==f)return f-e;let g=c.length>1?parseInt(c[1],10):0;return(d.length>1?parseInt(d[1],10):0)-g})}catch{return[]}}async function o(a){let b;return b=function(a){if(j(),a<1)return[];if(1===a)return m((0,f.join)(h,i)).reverse();let b=n(),c=a-2;return c>=b.length?[]:m((0,f.join)(h,b[c])).reverse()}(a),j(),{entries:b,totalPages:1+n().length,page:a,stats:l(k())}}async function p(a,b){let c,d,e,f;return e=Math.max(1,Math.ceil((d=(c=k()).filter(b=>(!a.decision||b.decision===a.decision)&&(!a.eventType||b.eventType===a.eventType)&&(!a.policyName||!!b.policyName&&!!b.policyName.toLowerCase().includes(a.policyName.toLowerCase())))).length/25)),f=(b-1)*25,{entries:d.slice(f,f+25),totalPages:e,page:b,stats:l(c)}}(0,a.i(13095).ensureServerEntryExports)([o,p]),(0,d.registerServerReference)(o,"4068173404034fe34a1155e8fa2d3d3c7d0808cde0",null),(0,d.registerServerReference)(p,"60b3502393bce2e6e978d13092400cda23aa1dd493",null),a.s([],5310),a.i(5310),a.s(["00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",()=>c.logout,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",()=>b.getTelemetryConfig,"4068173404034fe34a1155e8fa2d3d3c7d0808cde0",()=>o,"60b3502393bce2e6e978d13092400cda23aa1dd493",()=>p],97574)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},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=%5Broot-of-the-server%5D__d015fef5._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[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}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"0019a89c346077746f132b6415efb4919f7ba95eca",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(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,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40a83d87359962593c164e53af088c623dbaf026c3",null),(0,b.registerServerReference)(l,"006ea6f59c8fccf757175fe6cfaf6728faeacb9bfc",null),a.s(["login",()=>k,"logout",()=>l],77728)},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])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.5-beta.5",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},32581,a=>{"use strict";var b=a.i(36359),c=a.i(77728);a.s([],35634),a.i(35634),a.s(["0019a89c346077746f132b6415efb4919f7ba95eca",()=>b.getTelemetryConfig,"006ea6f59c8fccf757175fe6cfaf6728faeacb9bfc",()=>c.logout,"40a83d87359962593c164e53af088c623dbaf026c3",()=>c.login],32581)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},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)))}];
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}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(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,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40c95bf3bfc400a64f4e7cc04484a6a1547ce14973",null),(0,b.registerServerReference)(l,"00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",null),a.s(["login",()=>k,"logout",()=>l],77728)},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])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.5",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},32581,a=>{"use strict";var b=a.i(36359),c=a.i(77728);a.s([],35634),a.i(35634),a.s(["00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",()=>c.logout,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",()=>b.getTelemetryConfig,"40c95bf3bfc400a64f4e7cc04484a6a1547ce14973",()=>c.login],32581)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},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=%5Broot-of-the-server%5D__d4e6c42a._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[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}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"0019a89c346077746f132b6415efb4919f7ba95eca",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(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,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40a83d87359962593c164e53af088c623dbaf026c3",null),(0,b.registerServerReference)(l,"006ea6f59c8fccf757175fe6cfaf6728faeacb9bfc",null),a.s(["login",()=>k,"logout",()=>l],77728)},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])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.5-beta.5",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},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])},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])},80807,a=>{"use strict";function b(a){let b=a.indexOf("/");return -1===b?a:a.slice(0,b)}a.s(["baseSessionId",()=>b])},41853,a=>{"use strict";var b=a.i(36359),c=a.i(77728),d=a.i(37936),e=a.i(62733),f=a.i(70467);a.i(651);var g=a.i(46721),h=a.i(70427),i=a.i(13095);async function j(a,b,c,d){try{await (0,e.ensureEvalsLoaded)();let i=c?(0,f.getSubagentScopedEvals)(d):(0,f.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,g.hashSubagentFile)(a,b,c):await (0,g.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,g.hashItemCode)(b.fn),d=await (0,h.getPerItemCacheWithHook)("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,i.ensureServerEntryExports)([j]),(0,d.registerServerReference)(j,"7886f73a00228b5c45e2b2ba4e06f1ee965ee9a1d6",null);var k=a.i(76668);async function l(b,c){let d=await (0,k.getRequestUsername)();(0,k.logActivity)(d,"clear-alert-marker",`project=${b} session=${c}`);let{clearAlertFiredMarker:e}=await a.A(65975);await e(b,c)}async function m(b,c,d,e,f){let g=await (0,k.getRequestUsername)();(0,k.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 n(b,c,d,e){let f=await (0,k.getRequestUsername)();(0,k.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,i.ensureServerEntryExports)([l]),(0,d.registerServerReference)(l,"6097709572e237ccee47f72a6cd22859e015d11a3e",null),(0,i.ensureServerEntryExports)([m,n]),(0,d.registerServerReference)(m,"7c6b16858ab4d15c17d620012ba11498f5e109fcbd",null),(0,d.registerServerReference)(n,"78f16dd22625d06cdc3acb3661b362ed9d742c2fe7",null);var o=a.i(46325);async function p(a,b,c,d){try{await (0,e.ensureEvalsLoaded)();let f=c?(0,o.getSubagentScopedEnrichers)(d):(0,o.getSessionScopedEnrichers)();if(0===f.length)return{ok:!0,hasEnrichers:!1};let i=f.map(a=>a.name),j=c?`${b}/agent-${c}`:b,k=c?await (0,g.hashSubagentFile)(a,b,c):await (0,g.hashSessionFile)(a,b);if(!k)return{ok:!0,hasEnrichers:!0,names:i,cachedResults:[],uncachedNames:i};let l=[],m=[];return await Promise.all(f.map(async b=>{let c=(0,g.hashItemCode)(b.fn),d=await (0,h.getPerItemCacheWithHook)("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,i.ensureServerEntryExports)([p]),(0,d.registerServerReference)(p,"78976464b10a81294e293ce17fc484bd0e34970238",null);let q=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_ACTION_REGISTRY__");q.getAll;let r=q.getSessionScoped,s=q.getSubagentScoped;async function t(a,b,c,d){try{await (0,e.ensureEvalsLoaded)();let f=c?s(d):r();if(0===f.length)return{ok:!0,hasActions:!1};let i=f.map(a=>a.name),j={};for(let a of f)a.inputs&&a.inputs.length>0&&(j[a.name]=a.inputs);let k=c?`${b}/agent-${c}`:b,l=c?await (0,g.hashSubagentFile)(a,b,c):await (0,g.hashSessionFile)(a,b);if(!l)return{ok:!0,hasActions:!0,names:i,cachedResults:[],uncachedNames:i,inputDefinitions:j};let m=await Promise.all(f.map(async b=>{if(!b.cache)return{name:b.name,cached:null};let c=(0,g.hashItemCode)(b.fn),d=await (0,h.getPerItemCacheWithHook)("actions",a,k,b.name,c,l);return{name:b.name,cached:d?d.value:null}})),n=[],o=[];for(let a of m)a.cached?n.push(a.cached):o.push(a.name);return{ok:!0,hasActions:!0,names:i,cachedResults:n,uncachedNames:o,inputDefinitions:j}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}q.hasSubagent,q.has,q.clear,(0,i.ensureServerEntryExports)([t]),(0,d.registerServerReference)(t,"78fb865e5d6c1478aa56b93969c77c5e5315d6a713",null);var u=a.i(83590);async function v(){return(0,u.getQueueStatus)()}(0,i.ensureServerEntryExports)([v]),(0,d.registerServerReference)(v,"000f4909ad3ee0df777834c2e879d15437287ec78d",null),a.s([],28707),a.i(28707),a.s(["000f4909ad3ee0df777834c2e879d15437287ec78d",()=>v,"0019a89c346077746f132b6415efb4919f7ba95eca",()=>b.getTelemetryConfig,"006ea6f59c8fccf757175fe6cfaf6728faeacb9bfc",()=>c.logout,"6097709572e237ccee47f72a6cd22859e015d11a3e",()=>l,"7886f73a00228b5c45e2b2ba4e06f1ee965ee9a1d6",()=>j,"78976464b10a81294e293ce17fc484bd0e34970238",()=>p,"78f16dd22625d06cdc3acb3661b362ed9d742c2fe7",()=>n,"78fb865e5d6c1478aa56b93969c77c5e5315d6a713",()=>t,"7c6b16858ab4d15c17d620012ba11498f5e109fcbd",()=>m],41853)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},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)))},65726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/lib_evals_cache-invalidation-registry_ts_2ee53a56._.js"].map(b=>a.l(b))).then(()=>b(16991)))},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)))},64297,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_d7159840._.js"].map(b=>a.l(b))).then(()=>b(77333)))},44971,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_14858238._.js"].map(b=>a.l(b))).then(()=>b(14775)))}];
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}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(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,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40c95bf3bfc400a64f4e7cc04484a6a1547ce14973",null),(0,b.registerServerReference)(l,"00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",null),a.s(["login",()=>k,"logout",()=>l],77728)},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])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.5",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},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])},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])},80807,a=>{"use strict";function b(a){let b=a.indexOf("/");return -1===b?a:a.slice(0,b)}a.s(["baseSessionId",()=>b])},41853,a=>{"use strict";var b=a.i(36359),c=a.i(77728),d=a.i(37936),e=a.i(62733),f=a.i(70467);a.i(651);var g=a.i(46721),h=a.i(70427),i=a.i(13095);async function j(a,b,c,d){try{await (0,e.ensureEvalsLoaded)();let i=c?(0,f.getSubagentScopedEvals)(d):(0,f.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,g.hashSubagentFile)(a,b,c):await (0,g.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,g.hashItemCode)(b.fn),d=await (0,h.getPerItemCacheWithHook)("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,i.ensureServerEntryExports)([j]),(0,d.registerServerReference)(j,"782bdc639e6945578ed04b9e817b7d0bed8dd3e23b",null);var k=a.i(76668);async function l(b,c){let d=await (0,k.getRequestUsername)();(0,k.logActivity)(d,"clear-alert-marker",`project=${b} session=${c}`);let{clearAlertFiredMarker:e}=await a.A(65975);await e(b,c)}async function m(b,c,d,e,f){let g=await (0,k.getRequestUsername)();(0,k.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 n(b,c,d,e){let f=await (0,k.getRequestUsername)();(0,k.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,i.ensureServerEntryExports)([l]),(0,d.registerServerReference)(l,"60f0d7022bc71783f9ec050a8bd5f7443b50db25a6",null),(0,i.ensureServerEntryExports)([m,n]),(0,d.registerServerReference)(m,"7cd1272f97b29b72515ef1511f602d2aeb3e5c021c",null),(0,d.registerServerReference)(n,"780ac0e7030c0f85c254d2d0ae32d14a5c389eebda",null);var o=a.i(46325);async function p(a,b,c,d){try{await (0,e.ensureEvalsLoaded)();let f=c?(0,o.getSubagentScopedEnrichers)(d):(0,o.getSessionScopedEnrichers)();if(0===f.length)return{ok:!0,hasEnrichers:!1};let i=f.map(a=>a.name),j=c?`${b}/agent-${c}`:b,k=c?await (0,g.hashSubagentFile)(a,b,c):await (0,g.hashSessionFile)(a,b);if(!k)return{ok:!0,hasEnrichers:!0,names:i,cachedResults:[],uncachedNames:i};let l=[],m=[];return await Promise.all(f.map(async b=>{let c=(0,g.hashItemCode)(b.fn),d=await (0,h.getPerItemCacheWithHook)("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,i.ensureServerEntryExports)([p]),(0,d.registerServerReference)(p,"78b9292f66f5b06e10218de5aa068c9aa13a86aebd",null);let q=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_ACTION_REGISTRY__");q.getAll;let r=q.getSessionScoped,s=q.getSubagentScoped;async function t(a,b,c,d){try{await (0,e.ensureEvalsLoaded)();let f=c?s(d):r();if(0===f.length)return{ok:!0,hasActions:!1};let i=f.map(a=>a.name),j={};for(let a of f)a.inputs&&a.inputs.length>0&&(j[a.name]=a.inputs);let k=c?`${b}/agent-${c}`:b,l=c?await (0,g.hashSubagentFile)(a,b,c):await (0,g.hashSessionFile)(a,b);if(!l)return{ok:!0,hasActions:!0,names:i,cachedResults:[],uncachedNames:i,inputDefinitions:j};let m=await Promise.all(f.map(async b=>{if(!b.cache)return{name:b.name,cached:null};let c=(0,g.hashItemCode)(b.fn),d=await (0,h.getPerItemCacheWithHook)("actions",a,k,b.name,c,l);return{name:b.name,cached:d?d.value:null}})),n=[],o=[];for(let a of m)a.cached?n.push(a.cached):o.push(a.name);return{ok:!0,hasActions:!0,names:i,cachedResults:n,uncachedNames:o,inputDefinitions:j}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}q.hasSubagent,q.has,q.clear,(0,i.ensureServerEntryExports)([t]),(0,d.registerServerReference)(t,"780b71ae9ffbdd519100df734e88bbddaba3f94bd6",null);var u=a.i(83590);async function v(){return(0,u.getQueueStatus)()}(0,i.ensureServerEntryExports)([v]),(0,d.registerServerReference)(v,"004e2fdd73c6fccf74a69dc442250c3822fc81360b",null),a.s([],28707),a.i(28707),a.s(["004e2fdd73c6fccf74a69dc442250c3822fc81360b",()=>v,"00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",()=>c.logout,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",()=>b.getTelemetryConfig,"60f0d7022bc71783f9ec050a8bd5f7443b50db25a6",()=>l,"780ac0e7030c0f85c254d2d0ae32d14a5c389eebda",()=>n,"780b71ae9ffbdd519100df734e88bbddaba3f94bd6",()=>t,"782bdc639e6945578ed04b9e817b7d0bed8dd3e23b",()=>j,"78b9292f66f5b06e10218de5aa068c9aa13a86aebd",()=>p,"7cd1272f97b29b72515ef1511f602d2aeb3e5c021c",()=>m],41853)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},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)))},65726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/lib_evals_cache-invalidation-registry_ts_2ee53a56._.js"].map(b=>a.l(b))).then(()=>b(16991)))},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)))},64297,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_d7159840._.js"].map(b=>a.l(b))).then(()=>b(77333)))},44971,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_14858238._.js"].map(b=>a.l(b))).then(()=>b(14775)))}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__fd646815._.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])},14775,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,m=!1,n,o){try{await (0,c.ensureEvalsLoaded)();let j=(0,d.getSubagentScopedEnrichers)(n).find(a=>a.name===l);if(!j)return{ok:!1,error:`Enricher "${l}" not found for subagent type "${n??"any"}"`};let p=`${b}/agent-${k}`,q=await (0,h.hashSubagentFile)(a,b,k);if(!m&&q){let b=(0,h.hashItemCode)(j.fn),c=await (0,i.getPerItemCacheWithHook)("enrichments",a,p,j.name,b,q);if(c)return{ok:!0,result:c.value}}let{entries:r,rawLines:s}=await (0,f.getCachedSessionLog)(a,b),t=(0,g.calculateLogStats)(r),u=(0,f.extractSubagentMeta)(r,k),v=n??u?.type,w=o??u?.description,x=(await (0,e.runAllEnrichers)(s,t,a,b,[j],{source:`agent-${k}`,subagentType:v,subagentDescription:w,parentSessionId:b})).results[0];if(!x)return{ok:!1,error:"No result returned from enricher"};if(q){let b=(0,h.hashItemCode)(j.fn);await (0,i.setPerItemCache)("enrichments",a,p,j.name,b,x,q)}return{ok:!0,result:x}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}(0,a.i(13095).ensureServerEntryExports)([j]),(0,b.registerServerReference)(j,"7fd0d41be86c7fb191233af939482128209006e59b",null),a.s(["processSubagentEnrichment",()=>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])},14775,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,m=!1,n,o){try{await (0,c.ensureEvalsLoaded)();let j=(0,d.getSubagentScopedEnrichers)(n).find(a=>a.name===l);if(!j)return{ok:!1,error:`Enricher "${l}" not found for subagent type "${n??"any"}"`};let p=`${b}/agent-${k}`,q=await (0,h.hashSubagentFile)(a,b,k);if(!m&&q){let b=(0,h.hashItemCode)(j.fn),c=await (0,i.getPerItemCacheWithHook)("enrichments",a,p,j.name,b,q);if(c)return{ok:!0,result:c.value}}let{entries:r,rawLines:s}=await (0,f.getCachedSessionLog)(a,b),t=(0,g.calculateLogStats)(r),u=(0,f.extractSubagentMeta)(r,k),v=n??u?.type,w=o??u?.description,x=(await (0,e.runAllEnrichers)(s,t,a,b,[j],{source:`agent-${k}`,subagentType:v,subagentDescription:w,parentSessionId:b})).results[0];if(!x)return{ok:!1,error:"No result returned from enricher"};if(q){let b=(0,h.hashItemCode)(j.fn);await (0,i.setPerItemCache)("enrichments",a,p,j.name,b,x,q)}return{ok:!0,result:x}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}(0,a.i(13095).ensureServerEntryExports)([j]),(0,b.registerServerReference)(j,"7fffba5fa7a0deca260cfd71422f56367bc56d5a93",null),a.s(["processSubagentEnrichment",()=>j])}];
2
2
 
3
3
  //# sourceMappingURL=_14858238._.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)},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])},99938,a=>{"use strict";var b=a.i(37936),c=a.i(62733),d=a.i(70467),e=a.i(65003),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.getSessionScopedEvals)().find(a=>a.name===k);if(!j)return{ok:!1,error:`Eval "${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.getPerItemCacheWithHook)("evals",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.runAllEvals)(o,p,a,b,[j],{source:"session"})).results[0];if(!q)return{ok:!1,error:"No result returned from eval"};if(m){let c=(0,h.hashItemCode)(j.fn);await (0,i.setPerItemCache)("evals",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,"78c9789b30aa69ee2f5fb323b7af488c579aa46c2b",null),a.s(["processSessionEval",()=>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)},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])},99938,a=>{"use strict";var b=a.i(37936),c=a.i(62733),d=a.i(70467),e=a.i(65003),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.getSessionScopedEvals)().find(a=>a.name===k);if(!j)return{ok:!1,error:`Eval "${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.getPerItemCacheWithHook)("evals",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.runAllEvals)(o,p,a,b,[j],{source:"session"})).results[0];if(!q)return{ok:!1,error:"No result returned from eval"};if(m){let c=(0,h.hashItemCode)(j.fn);await (0,i.setPerItemCache)("evals",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,"78bc944a50a9a43c120004fde124b6dfa45155d359",null),a.s(["processSessionEval",()=>j])}];
2
2
 
3
3
  //# sourceMappingURL=_1d335924._.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)("60c7f271dfe70c5811e2c59d3ef2f3d0a220aa54ad",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)("40e54909af0d6c159b507f7a98223a33d28dd6ee8d",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)("60b6574710866457ecc1afdfa8b72395d73e4e772d",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)("4054cae29175a82e2fc75dc4895ff686fcd86351ca",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