@claudeye/linux-arm64 1.0.6-beta.3 → 1.0.6-beta.4

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 (93) hide show
  1. package/assets/standalone/.next/BUILD_ID +1 -1
  2. package/assets/standalone/.next/build-manifest.json +3 -3
  3. package/assets/standalone/.next/prerender-manifest.json +3 -3
  4. package/assets/standalone/.next/server/app/_global-error.html +1 -1
  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 +15 -15
  15. package/assets/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
  16. package/assets/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  17. package/assets/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  18. package/assets/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  19. package/assets/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  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 +18 -18
  31. package/assets/standalone/.next/server/app/login.segments/_full.segment.rsc +18 -18
  32. package/assets/standalone/.next/server/app/login.segments/_head.segment.rsc +4 -4
  33. package/assets/standalone/.next/server/app/login.segments/_index.segment.rsc +10 -10
  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 +4 -4
  36. package/assets/standalone/.next/server/app/login.segments/login.segment.rsc +3 -3
  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]__0_03u6.._.js +2 -2
  47. package/assets/standalone/.next/server/chunks/[root-of-the-server]__0f_5ws6._.js +1 -1
  48. package/assets/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +1 -1
  49. package/assets/standalone/.next/server/chunks/_0aylu-q._.js +1 -1
  50. package/assets/standalone/.next/server/chunks/_0lq2_wn._.js +1 -1
  51. package/assets/standalone/.next/server/chunks/_0oqawqx._.js +1 -1
  52. package/assets/standalone/.next/server/chunks/_0vt409y._.js +1 -1
  53. package/assets/standalone/.next/server/chunks/node_modules_next_124cnn1._.js +1 -1
  54. package/assets/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0l15kkr.js +1 -1
  55. package/assets/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_05pz9._._.js +1 -1
  56. package/assets/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
  57. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__00r7mh3._.js +1 -1
  58. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__02x4-91._.js +1 -1
  59. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__06tqxbp._.js +1 -1
  60. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__0dsucx_._.js +1 -1
  61. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e9ohz2._.js +1 -1
  62. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__0fiobs_._.js +1 -1
  63. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__0fltiz1._.js +1 -1
  64. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ni-as.._.js +1 -1
  65. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__10_wjge._.js +1 -1
  66. package/assets/standalone/.next/server/chunks/ssr/_03l0_j6._.js +1 -1
  67. package/assets/standalone/.next/server/chunks/ssr/_050qnuh._.js +1 -1
  68. package/assets/standalone/.next/server/chunks/ssr/_0_~1-jh._.js +1 -1
  69. package/assets/standalone/.next/server/chunks/ssr/_0kfjwwu._.js +1 -1
  70. package/assets/standalone/.next/server/chunks/ssr/_0ndt7tj._.js +1 -1
  71. package/assets/standalone/.next/server/chunks/ssr/_0uig1kl._.js +1 -1
  72. package/assets/standalone/.next/server/chunks/ssr/app_actions_compute-dashboard_ts_13cb_9d._.js +1 -1
  73. package/assets/standalone/.next/server/chunks/ssr/app_hooks_hooks-client_tsx_0n~.yoz._.js +1 -1
  74. package/assets/standalone/.next/server/chunks/ssr/app_login_page_tsx_0z71ad3._.js +1 -1
  75. package/assets/standalone/.next/server/chunks/ssr/app_queue_queue-client_tsx_0c0olxv._.js +1 -1
  76. package/assets/standalone/.next/server/middleware-build-manifest.js +3 -3
  77. package/assets/standalone/.next/server/pages/404.html +2 -2
  78. package/assets/standalone/.next/server/pages/500.html +1 -1
  79. package/assets/standalone/.next/server/server-reference-manifest.js +1 -1
  80. package/assets/standalone/.next/server/server-reference-manifest.json +18 -18
  81. package/assets/standalone/.next/static/chunks/{0w4fkpbblw1m1.js → 08-m031knjk.2.js} +1 -1
  82. package/assets/standalone/.next/static/chunks/{02~go45pkw5bo.js → 0oemft0-s7nqv.js} +1 -1
  83. package/assets/standalone/.next/static/chunks/{109q--.n6spry.js → 0p1vxt.2i3k6h.js} +1 -1
  84. package/assets/standalone/.next/static/chunks/{05r2p.4v0jimg.js → 0s_luev559g4b.js} +1 -1
  85. package/assets/standalone/.next/static/chunks/{0zv.iq7kr3fdm.js → 0tyqntivqkiwt.js} +1 -1
  86. package/assets/standalone/.next/static/chunks/{0h2j4fh8jhvjm.js → 11nb_~r_eojyk.js} +1 -1
  87. package/assets/standalone/.next/static/chunks/{0kicmwe~c~kye.js → 15n7f_2h_nvad.js} +1 -1
  88. package/assets/standalone/package.json +1 -1
  89. package/bin/claudeye +0 -0
  90. package/package.json +1 -1
  91. /package/assets/standalone/.next/static/{G1y0JaxqBjyBl5RAfaV_d → B9luWx1Z31ygILxMA8k6o}/_buildManifest.js +0 -0
  92. /package/assets/standalone/.next/static/{G1y0JaxqBjyBl5RAfaV_d → B9luWx1Z31ygILxMA8k6o}/_clientMiddlewareManifest.js +0 -0
  93. /package/assets/standalone/.next/static/{G1y0JaxqBjyBl5RAfaV_d → B9luWx1Z31ygILxMA8k6o}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
1
  module.exports=[50640,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},76668,a=>{"use strict";let b={info:0,warn:1,error:2};function c(a){return b[a]>=b.warn}function d(a){return`[claudeye ${new Date().toISOString()}] ${a}`}async function e(){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(["getRequestUsername",0,e,"logActivity",0,function(a,b,e){if(!c("info"))return;let f=[`user=${a}`,`action=${b}`];e&&f.push(e),console.log(d("ACTIVITY"),f.join(" "))},"logError",0,function(a,b){void 0!==b?console.error(d("ERROR"),a,b):console.error(d("ERROR"),a)},"logWarn",0,function(a,b){c("warn")&&(void 0!==b?console.warn(d("WARN"),a,b):console.warn(d("WARN"),a))}])},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}})},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"))},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")}a.s(["getInstanceId",0,function(){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}()}],69839),a.s(["isTelemetryEnabled",0,function(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}],48781)},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}}a.s(["createSessionCookie",0,e,"parseAuthUsers",0,function(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},[]):[]},"verifySessionCookie",0,f])},12072,(a,b,c)=>{b.exports={name:"claudeye",version:"1.0.6-beta.3",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":"^1.0.1",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:"^6.0.2",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}}},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(12072),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,"000ceea366f533fab7a70153fe8f5b7ecd5dc0fc70",null),a.s(["getTelemetryConfig",0,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,"4089f27a5aa241df6c5ebf4937769a7671e0a0539a",null),(0,b.registerServerReference)(l,"00aa012b356878733a4434bfaf41ab00ba51cd2e0a",null),a.s(["login",0,k,"logout",0,l],77728)},70467,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_EVAL_REGISTRY__"),c=b.getAll,d=b.getSessionScoped,e=b.getSubagentScoped,f=b.hasSubagent,g=b.has,h=b.clear;a.s(["clearEvals",0,h,"getRegisteredEvals",0,c,"getSessionScopedEvals",0,d,"getSubagentScopedEvals",0,e,"hasEvals",0,g,"hasSubagentEvals",0,f,"registerEval",0,function(a,c,d,e="session",f){let g={name:a,fn:c,scope:e};d&&(g.condition=d),f&&(g.subagentType=f),b.register(g)}])},46325,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_ENRICHER_REGISTRY__"),c=b.getAll,d=b.getSessionScoped,e=b.getSubagentScoped,f=b.hasSubagent,g=b.has,h=b.clear;a.s(["clearEnrichers",0,h,"getRegisteredEnrichers",0,c,"getSessionScopedEnrichers",0,d,"getSubagentScopedEnrichers",0,e,"hasEnrichers",0,g,"hasSubagentEnrichers",0,f,"registerEnricher",0,function(a,c,d,e="session",f){let g={name:a,fn:c,scope:e};d&&(g.condition=d),f&&(g.subagentType=f),b.register(g)}])},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=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 l(a){try{let b=await i(a);if(!b)return[];let d=b.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")&&k(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:k(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 m=(0,e.runtimeCache)(j,30),n=(0,e.runtimeCache)(a=>l(a),30);a.s(["getCachedProjectFolders",0,m,"getCachedSessionFiles",0,n,"getProjectPath",0,function(a){let b=(0,d.getClaudeProjectsPath)();return(0,c.join)(b,a)}])},73119,a=>{"use strict";var b=a.i(36359),c=a.i(77728),d=a.i(37936),e=a.i(83590);async function f(a){return(0,e.getCompletedHistory)(a)}async function g(a,b){return(0,e.searchCompletedHistory)(a,b)}(0,a.i(13095).ensureServerEntryExports)([f,g]),(0,d.registerServerReference)(f,"40c66fca7ba0ee1a500d1b8b8c56ded5628e0b7bd7",null),(0,d.registerServerReference)(g,"6026ef4e4e1a0268c663df4567ebd5e3218cf77c56",null),a.s([],65047),a.i(65047),a.s(["000ceea366f533fab7a70153fe8f5b7ecd5dc0fc70",()=>b.getTelemetryConfig,"00aa012b356878733a4434bfaf41ab00ba51cd2e0a",()=>c.logout,"40c66fca7ba0ee1a500d1b8b8c56ded5628e0b7bd7",0,f,"6026ef4e4e1a0268c663df4567ebd5e3218cf77c56",0,g],73119)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__02vhdx5._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.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_082akoi._.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)))},978,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_050qnuh._.js"].map(b=>a.l(b))).then(()=>b(99938)))},74398,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_0ndt7tj._.js"].map(b=>a.l(b))).then(()=>b(86736)))},64297,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_0_~1-jh._.js"].map(b=>a.l(b))).then(()=>b(77333)))},44971,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_03l0_j6._.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}})},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"))},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")}a.s(["getInstanceId",0,function(){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}()}],69839),a.s(["isTelemetryEnabled",0,function(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}],48781)},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}}a.s(["createSessionCookie",0,e,"parseAuthUsers",0,function(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},[]):[]},"verifySessionCookie",0,f])},12072,(a,b,c)=>{b.exports={name:"claudeye",version:"1.0.6-beta.4",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":"^1.0.1",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:"^6.0.2",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}}},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(12072),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,"00cc4c9d360c53ffac85b77e327e86aa3faefbb566",null),a.s(["getTelemetryConfig",0,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,"4092695cf29cff2e61f6794f308bf1331507e68463",null),(0,b.registerServerReference)(l,"00bbd0dbb80d45a1d568950fbce28a537c9bd5341d",null),a.s(["login",0,k,"logout",0,l],77728)},70467,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_EVAL_REGISTRY__"),c=b.getAll,d=b.getSessionScoped,e=b.getSubagentScoped,f=b.hasSubagent,g=b.has,h=b.clear;a.s(["clearEvals",0,h,"getRegisteredEvals",0,c,"getSessionScopedEvals",0,d,"getSubagentScopedEvals",0,e,"hasEvals",0,g,"hasSubagentEvals",0,f,"registerEval",0,function(a,c,d,e="session",f){let g={name:a,fn:c,scope:e};d&&(g.condition=d),f&&(g.subagentType=f),b.register(g)}])},46325,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_ENRICHER_REGISTRY__"),c=b.getAll,d=b.getSessionScoped,e=b.getSubagentScoped,f=b.hasSubagent,g=b.has,h=b.clear;a.s(["clearEnrichers",0,h,"getRegisteredEnrichers",0,c,"getSessionScopedEnrichers",0,d,"getSubagentScopedEnrichers",0,e,"hasEnrichers",0,g,"hasSubagentEnrichers",0,f,"registerEnricher",0,function(a,c,d,e="session",f){let g={name:a,fn:c,scope:e};d&&(g.condition=d),f&&(g.subagentType=f),b.register(g)}])},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=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 l(a){try{let b=await i(a);if(!b)return[];let d=b.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")&&k(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:k(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 m=(0,e.runtimeCache)(j,30),n=(0,e.runtimeCache)(a=>l(a),30);a.s(["getCachedProjectFolders",0,m,"getCachedSessionFiles",0,n,"getProjectPath",0,function(a){let b=(0,d.getClaudeProjectsPath)();return(0,c.join)(b,a)}])},73119,a=>{"use strict";var b=a.i(36359),c=a.i(77728),d=a.i(37936),e=a.i(83590);async function f(a){return(0,e.getCompletedHistory)(a)}async function g(a,b){return(0,e.searchCompletedHistory)(a,b)}(0,a.i(13095).ensureServerEntryExports)([f,g]),(0,d.registerServerReference)(f,"4065f8732e9f272012c28e8c9a15ccb3998a3c9804",null),(0,d.registerServerReference)(g,"60ec55b74018ebec91b801c4822c9e7922a7a163a0",null),a.s([],65047),a.i(65047),a.s(["00bbd0dbb80d45a1d568950fbce28a537c9bd5341d",()=>c.logout,"00cc4c9d360c53ffac85b77e327e86aa3faefbb566",()=>b.getTelemetryConfig,"4065f8732e9f272012c28e8c9a15ccb3998a3c9804",0,f,"60ec55b74018ebec91b801c4822c9e7922a7a163a0",0,g],73119)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__02vhdx5._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.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_082akoi._.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)))},978,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_050qnuh._.js"].map(b=>a.l(b))).then(()=>b(99938)))},74398,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_0ndt7tj._.js"].map(b=>a.l(b))).then(()=>b(86736)))},64297,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_0_~1-jh._.js"].map(b=>a.l(b))).then(()=>b(77333)))},44971,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_03l0_j6._.js"].map(b=>a.l(b))).then(()=>b(14775)))}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__02x4-91._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[50640,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},76668,a=>{"use strict";let b={info:0,warn:1,error:2};function c(a){return b[a]>=b.warn}function d(a){return`[claudeye ${new Date().toISOString()}] ${a}`}async function e(){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(["getRequestUsername",0,e,"logActivity",0,function(a,b,e){if(!c("info"))return;let f=[`user=${a}`,`action=${b}`];e&&f.push(e),console.log(d("ACTIVITY"),f.join(" "))},"logError",0,function(a,b){void 0!==b?console.error(d("ERROR"),a,b):console.error(d("ERROR"),a)},"logWarn",0,function(a,b){c("warn")&&(void 0!==b?console.warn(d("WARN"),a,b):console.warn(d("WARN"),a))}])},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}})},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"))},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")}a.s(["getInstanceId",0,function(){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}()}],69839),a.s(["isTelemetryEnabled",0,function(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}],48781)},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}}a.s(["createSessionCookie",0,e,"parseAuthUsers",0,function(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},[]):[]},"verifySessionCookie",0,f])},12072,(a,b,c)=>{b.exports={name:"claudeye",version:"1.0.6-beta.3",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":"^1.0.1",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:"^6.0.2",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}}},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(12072),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,"000ceea366f533fab7a70153fe8f5b7ecd5dc0fc70",null),a.s(["getTelemetryConfig",0,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,"4089f27a5aa241df6c5ebf4937769a7671e0a0539a",null),(0,b.registerServerReference)(l,"00aa012b356878733a4434bfaf41ab00ba51cd2e0a",null),a.s(["login",0,k,"logout",0,l],77728)},70467,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_EVAL_REGISTRY__"),c=b.getAll,d=b.getSessionScoped,e=b.getSubagentScoped,f=b.hasSubagent,g=b.has,h=b.clear;a.s(["clearEvals",0,h,"getRegisteredEvals",0,c,"getSessionScopedEvals",0,d,"getSubagentScopedEvals",0,e,"hasEvals",0,g,"hasSubagentEvals",0,f,"registerEval",0,function(a,c,d,e="session",f){let g={name:a,fn:c,scope:e};d&&(g.condition=d),f&&(g.subagentType=f),b.register(g)}])},46325,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_ENRICHER_REGISTRY__"),c=b.getAll,d=b.getSessionScoped,e=b.getSubagentScoped,f=b.hasSubagent,g=b.has,h=b.clear;a.s(["clearEnrichers",0,h,"getRegisteredEnrichers",0,c,"getSessionScopedEnrichers",0,d,"getSubagentScopedEnrichers",0,e,"hasEnrichers",0,g,"hasSubagentEnrichers",0,f,"registerEnricher",0,function(a,c,d,e="session",f){let g={name:a,fn:c,scope:e};d&&(g.condition=d),f&&(g.subagentType=f),b.register(g)}])},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=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 l(a){try{let b=await i(a);if(!b)return[];let d=b.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")&&k(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:k(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 m=(0,e.runtimeCache)(j,30),n=(0,e.runtimeCache)(a=>l(a),30);a.s(["getCachedProjectFolders",0,m,"getCachedSessionFiles",0,n,"getProjectPath",0,function(a){let b=(0,d.getClaudeProjectsPath)();return(0,c.join)(b,a)}])},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",0,d])},50871,61542,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",0,b],50871);var c=a.i(92246);a.s(["calculateLogStats",0,function(a){let b=0,d=0,e=0,f=0,g=0,h=new Set;for(let c of a)if("user"===c.type&&b++,"queue-operation"===c.type&&g++,"assistant"===c.type){for(let a of(d++,c.message.content))"tool_use"===a.type&&("Task"===a.name&&(a.subagentType||a.subagentId)?f++:e++);c.message.model&&h.add(c.message.model)}let i="";if(a.length>=2){let b=a[a.length-1].timestampMs-a[0].timestampMs;i=(0,c.formatDuration)(b)}return{turnCount:g,userCount:b,assistantCount:d,toolCallCount:e,subagentCount:f,duration:i,models:Array.from(h)}}],61542)},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",0,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(a){return h().filter(b=>b.view===a)}function k(){return i()}function l(a){let b;return(!(b=globalThis)[f]&&(b[f]=[]),b[f]).filter(b=>b.view===a)}async function m(){try{await (0,c.ensureEvalsLoaded)();let a=k().map(a=>({name:a.name,label:a.label,filterCount:j(a.name).length,aggregateCount:l(a.name).length})),b=j("default").length>0,d=l("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",0,l,"getFiltersForView",0,j,"getPreBuiltFiltersForView",0,function(a){let b;return(!(b=globalThis)[g]&&(b[g]=[]),b[g]).filter(b=>b.view===a)},"getRegisteredFilters",0,function(){return h()},"getRegisteredViews",0,k,"getViewOptions",0,function(a){return i().find(b=>b.name===a)}],82762),(0,a.i(13095).ensureServerEntryExports)([m]),(0,b.registerServerReference)(m,"007b5caa066322a742f91695701738402c0ef66acb",null),a.s(["listDashboardViews",0,m],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(["000ceea366f533fab7a70153fe8f5b7ecd5dc0fc70",()=>b.getTelemetryConfig,"007b5caa066322a742f91695701738402c0ef66acb",()=>d.listDashboardViews,"00aa012b356878733a4434bfaf41ab00ba51cd2e0a",()=>c.logout,"409e689ac65579f16b4769034b04b5e5b765ef94b2",()=>f.computeAggregates,"604b9646808a1ed075ddde9947f10d8166dba23da6",()=>e.computeDashboard],45252)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__02vhdx5._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.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_082akoi._.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}})},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"))},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")}a.s(["getInstanceId",0,function(){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}()}],69839),a.s(["isTelemetryEnabled",0,function(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}],48781)},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}}a.s(["createSessionCookie",0,e,"parseAuthUsers",0,function(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},[]):[]},"verifySessionCookie",0,f])},12072,(a,b,c)=>{b.exports={name:"claudeye",version:"1.0.6-beta.4",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":"^1.0.1",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:"^6.0.2",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}}},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(12072),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,"00cc4c9d360c53ffac85b77e327e86aa3faefbb566",null),a.s(["getTelemetryConfig",0,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,"4092695cf29cff2e61f6794f308bf1331507e68463",null),(0,b.registerServerReference)(l,"00bbd0dbb80d45a1d568950fbce28a537c9bd5341d",null),a.s(["login",0,k,"logout",0,l],77728)},70467,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_EVAL_REGISTRY__"),c=b.getAll,d=b.getSessionScoped,e=b.getSubagentScoped,f=b.hasSubagent,g=b.has,h=b.clear;a.s(["clearEvals",0,h,"getRegisteredEvals",0,c,"getSessionScopedEvals",0,d,"getSubagentScopedEvals",0,e,"hasEvals",0,g,"hasSubagentEvals",0,f,"registerEval",0,function(a,c,d,e="session",f){let g={name:a,fn:c,scope:e};d&&(g.condition=d),f&&(g.subagentType=f),b.register(g)}])},46325,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_ENRICHER_REGISTRY__"),c=b.getAll,d=b.getSessionScoped,e=b.getSubagentScoped,f=b.hasSubagent,g=b.has,h=b.clear;a.s(["clearEnrichers",0,h,"getRegisteredEnrichers",0,c,"getSessionScopedEnrichers",0,d,"getSubagentScopedEnrichers",0,e,"hasEnrichers",0,g,"hasSubagentEnrichers",0,f,"registerEnricher",0,function(a,c,d,e="session",f){let g={name:a,fn:c,scope:e};d&&(g.condition=d),f&&(g.subagentType=f),b.register(g)}])},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=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 l(a){try{let b=await i(a);if(!b)return[];let d=b.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")&&k(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:k(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 m=(0,e.runtimeCache)(j,30),n=(0,e.runtimeCache)(a=>l(a),30);a.s(["getCachedProjectFolders",0,m,"getCachedSessionFiles",0,n,"getProjectPath",0,function(a){let b=(0,d.getClaudeProjectsPath)();return(0,c.join)(b,a)}])},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",0,d])},50871,61542,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",0,b],50871);var c=a.i(92246);a.s(["calculateLogStats",0,function(a){let b=0,d=0,e=0,f=0,g=0,h=new Set;for(let c of a)if("user"===c.type&&b++,"queue-operation"===c.type&&g++,"assistant"===c.type){for(let a of(d++,c.message.content))"tool_use"===a.type&&("Task"===a.name&&(a.subagentType||a.subagentId)?f++:e++);c.message.model&&h.add(c.message.model)}let i="";if(a.length>=2){let b=a[a.length-1].timestampMs-a[0].timestampMs;i=(0,c.formatDuration)(b)}return{turnCount:g,userCount:b,assistantCount:d,toolCallCount:e,subagentCount:f,duration:i,models:Array.from(h)}}],61542)},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",0,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(a){return h().filter(b=>b.view===a)}function k(){return i()}function l(a){let b;return(!(b=globalThis)[f]&&(b[f]=[]),b[f]).filter(b=>b.view===a)}async function m(){try{await (0,c.ensureEvalsLoaded)();let a=k().map(a=>({name:a.name,label:a.label,filterCount:j(a.name).length,aggregateCount:l(a.name).length})),b=j("default").length>0,d=l("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",0,l,"getFiltersForView",0,j,"getPreBuiltFiltersForView",0,function(a){let b;return(!(b=globalThis)[g]&&(b[g]=[]),b[g]).filter(b=>b.view===a)},"getRegisteredFilters",0,function(){return h()},"getRegisteredViews",0,k,"getViewOptions",0,function(a){return i().find(b=>b.name===a)}],82762),(0,a.i(13095).ensureServerEntryExports)([m]),(0,b.registerServerReference)(m,"00cdb138313ad36c1f82817a489ab722eead023bf7",null),a.s(["listDashboardViews",0,m],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(["00bbd0dbb80d45a1d568950fbce28a537c9bd5341d",()=>c.logout,"00cc4c9d360c53ffac85b77e327e86aa3faefbb566",()=>b.getTelemetryConfig,"00cdb138313ad36c1f82817a489ab722eead023bf7",()=>d.listDashboardViews,"40ff2663ba3c833203a2219d3ec0e6aa07b07c7303",()=>f.computeAggregates,"600018229182742daa9e4f8d63072f23a8417ef9ce",()=>e.computeDashboard],45252)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__02vhdx5._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.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_082akoi._.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__06tqxbp._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[50640,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},76668,a=>{"use strict";let b={info:0,warn:1,error:2};function c(a){return b[a]>=b.warn}function d(a){return`[claudeye ${new Date().toISOString()}] ${a}`}async function e(){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(["getRequestUsername",0,e,"logActivity",0,function(a,b,e){if(!c("info"))return;let f=[`user=${a}`,`action=${b}`];e&&f.push(e),console.log(d("ACTIVITY"),f.join(" "))},"logError",0,function(a,b){void 0!==b?console.error(d("ERROR"),a,b):console.error(d("ERROR"),a)},"logWarn",0,function(a,b){c("warn")&&(void 0!==b?console.warn(d("WARN"),a,b):console.warn(d("WARN"),a))}])},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}})},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"))},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")}a.s(["getInstanceId",0,function(){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}()}],69839),a.s(["isTelemetryEnabled",0,function(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}],48781)},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}}a.s(["createSessionCookie",0,e,"parseAuthUsers",0,function(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},[]):[]},"verifySessionCookie",0,f])},12072,(a,b,c)=>{b.exports={name:"claudeye",version:"1.0.6-beta.3",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":"^1.0.1",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:"^6.0.2",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}}},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(12072),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,"000ceea366f533fab7a70153fe8f5b7ecd5dc0fc70",null),a.s(["getTelemetryConfig",0,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,"4089f27a5aa241df6c5ebf4937769a7671e0a0539a",null),(0,b.registerServerReference)(l,"00aa012b356878733a4434bfaf41ab00ba51cd2e0a",null),a.s(["login",0,k,"logout",0,l],77728)},70467,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_EVAL_REGISTRY__"),c=b.getAll,d=b.getSessionScoped,e=b.getSubagentScoped,f=b.hasSubagent,g=b.has,h=b.clear;a.s(["clearEvals",0,h,"getRegisteredEvals",0,c,"getSessionScopedEvals",0,d,"getSubagentScopedEvals",0,e,"hasEvals",0,g,"hasSubagentEvals",0,f,"registerEval",0,function(a,c,d,e="session",f){let g={name:a,fn:c,scope:e};d&&(g.condition=d),f&&(g.subagentType=f),b.register(g)}])},46325,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_ENRICHER_REGISTRY__"),c=b.getAll,d=b.getSessionScoped,e=b.getSubagentScoped,f=b.hasSubagent,g=b.has,h=b.clear;a.s(["clearEnrichers",0,h,"getRegisteredEnrichers",0,c,"getSessionScopedEnrichers",0,d,"getSubagentScopedEnrichers",0,e,"hasEnrichers",0,g,"hasSubagentEnrichers",0,f,"registerEnricher",0,function(a,c,d,e="session",f){let g={name:a,fn:c,scope:e};d&&(g.condition=d),f&&(g.subagentType=f),b.register(g)}])},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=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 l(a){try{let b=await i(a);if(!b)return[];let d=b.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")&&k(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:k(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 m=(0,e.runtimeCache)(j,30),n=(0,e.runtimeCache)(a=>l(a),30);a.s(["getCachedProjectFolders",0,m,"getCachedSessionFiles",0,n,"getProjectPath",0,function(a){let b=(0,d.getClaudeProjectsPath)();return(0,c.join)(b,a)}])},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",0,d])},50871,61542,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",0,b],50871);var c=a.i(92246);a.s(["calculateLogStats",0,function(a){let b=0,d=0,e=0,f=0,g=0,h=new Set;for(let c of a)if("user"===c.type&&b++,"queue-operation"===c.type&&g++,"assistant"===c.type){for(let a of(d++,c.message.content))"tool_use"===a.type&&("Task"===a.name&&(a.subagentType||a.subagentId)?f++:e++);c.message.model&&h.add(c.message.model)}let i="";if(a.length>=2){let b=a[a.length-1].timestampMs-a[0].timestampMs;i=(0,c.formatDuration)(b)}return{turnCount:g,userCount:b,assistantCount:d,toolCallCount:e,subagentCount:f,duration:i,models:Array.from(h)}}],61542)},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",0,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(a){return h().filter(b=>b.view===a)}function k(){return i()}function l(a){let b;return(!(b=globalThis)[f]&&(b[f]=[]),b[f]).filter(b=>b.view===a)}async function m(){try{await (0,c.ensureEvalsLoaded)();let a=k().map(a=>({name:a.name,label:a.label,filterCount:j(a.name).length,aggregateCount:l(a.name).length})),b=j("default").length>0,d=l("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",0,l,"getFiltersForView",0,j,"getPreBuiltFiltersForView",0,function(a){let b;return(!(b=globalThis)[g]&&(b[g]=[]),b[g]).filter(b=>b.view===a)},"getRegisteredFilters",0,function(){return h()},"getRegisteredViews",0,k,"getViewOptions",0,function(a){return i().find(b=>b.name===a)}],82762),(0,a.i(13095).ensureServerEntryExports)([m]),(0,b.registerServerReference)(m,"007b5caa066322a742f91695701738402c0ef66acb",null),a.s(["listDashboardViews",0,m],20396)},45646,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([],19438),a.i(19438),a.s(["000ceea366f533fab7a70153fe8f5b7ecd5dc0fc70",()=>b.getTelemetryConfig,"007b5caa066322a742f91695701738402c0ef66acb",()=>d.listDashboardViews,"00aa012b356878733a4434bfaf41ab00ba51cd2e0a",()=>c.logout,"409e689ac65579f16b4769034b04b5e5b765ef94b2",()=>f.computeAggregates,"604b9646808a1ed075ddde9947f10d8166dba23da6",()=>e.computeDashboard],45646)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__02vhdx5._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.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_082akoi._.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}})},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"))},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")}a.s(["getInstanceId",0,function(){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}()}],69839),a.s(["isTelemetryEnabled",0,function(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}],48781)},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}}a.s(["createSessionCookie",0,e,"parseAuthUsers",0,function(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},[]):[]},"verifySessionCookie",0,f])},12072,(a,b,c)=>{b.exports={name:"claudeye",version:"1.0.6-beta.4",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":"^1.0.1",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:"^6.0.2",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}}},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(12072),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,"00cc4c9d360c53ffac85b77e327e86aa3faefbb566",null),a.s(["getTelemetryConfig",0,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,"4092695cf29cff2e61f6794f308bf1331507e68463",null),(0,b.registerServerReference)(l,"00bbd0dbb80d45a1d568950fbce28a537c9bd5341d",null),a.s(["login",0,k,"logout",0,l],77728)},70467,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_EVAL_REGISTRY__"),c=b.getAll,d=b.getSessionScoped,e=b.getSubagentScoped,f=b.hasSubagent,g=b.has,h=b.clear;a.s(["clearEvals",0,h,"getRegisteredEvals",0,c,"getSessionScopedEvals",0,d,"getSubagentScopedEvals",0,e,"hasEvals",0,g,"hasSubagentEvals",0,f,"registerEval",0,function(a,c,d,e="session",f){let g={name:a,fn:c,scope:e};d&&(g.condition=d),f&&(g.subagentType=f),b.register(g)}])},46325,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_ENRICHER_REGISTRY__"),c=b.getAll,d=b.getSessionScoped,e=b.getSubagentScoped,f=b.hasSubagent,g=b.has,h=b.clear;a.s(["clearEnrichers",0,h,"getRegisteredEnrichers",0,c,"getSessionScopedEnrichers",0,d,"getSubagentScopedEnrichers",0,e,"hasEnrichers",0,g,"hasSubagentEnrichers",0,f,"registerEnricher",0,function(a,c,d,e="session",f){let g={name:a,fn:c,scope:e};d&&(g.condition=d),f&&(g.subagentType=f),b.register(g)}])},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=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 l(a){try{let b=await i(a);if(!b)return[];let d=b.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")&&k(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:k(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 m=(0,e.runtimeCache)(j,30),n=(0,e.runtimeCache)(a=>l(a),30);a.s(["getCachedProjectFolders",0,m,"getCachedSessionFiles",0,n,"getProjectPath",0,function(a){let b=(0,d.getClaudeProjectsPath)();return(0,c.join)(b,a)}])},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",0,d])},50871,61542,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",0,b],50871);var c=a.i(92246);a.s(["calculateLogStats",0,function(a){let b=0,d=0,e=0,f=0,g=0,h=new Set;for(let c of a)if("user"===c.type&&b++,"queue-operation"===c.type&&g++,"assistant"===c.type){for(let a of(d++,c.message.content))"tool_use"===a.type&&("Task"===a.name&&(a.subagentType||a.subagentId)?f++:e++);c.message.model&&h.add(c.message.model)}let i="";if(a.length>=2){let b=a[a.length-1].timestampMs-a[0].timestampMs;i=(0,c.formatDuration)(b)}return{turnCount:g,userCount:b,assistantCount:d,toolCallCount:e,subagentCount:f,duration:i,models:Array.from(h)}}],61542)},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",0,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(a){return h().filter(b=>b.view===a)}function k(){return i()}function l(a){let b;return(!(b=globalThis)[f]&&(b[f]=[]),b[f]).filter(b=>b.view===a)}async function m(){try{await (0,c.ensureEvalsLoaded)();let a=k().map(a=>({name:a.name,label:a.label,filterCount:j(a.name).length,aggregateCount:l(a.name).length})),b=j("default").length>0,d=l("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",0,l,"getFiltersForView",0,j,"getPreBuiltFiltersForView",0,function(a){let b;return(!(b=globalThis)[g]&&(b[g]=[]),b[g]).filter(b=>b.view===a)},"getRegisteredFilters",0,function(){return h()},"getRegisteredViews",0,k,"getViewOptions",0,function(a){return i().find(b=>b.name===a)}],82762),(0,a.i(13095).ensureServerEntryExports)([m]),(0,b.registerServerReference)(m,"00cdb138313ad36c1f82817a489ab722eead023bf7",null),a.s(["listDashboardViews",0,m],20396)},45646,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([],19438),a.i(19438),a.s(["00bbd0dbb80d45a1d568950fbce28a537c9bd5341d",()=>c.logout,"00cc4c9d360c53ffac85b77e327e86aa3faefbb566",()=>b.getTelemetryConfig,"00cdb138313ad36c1f82817a489ab722eead023bf7",()=>d.listDashboardViews,"40ff2663ba3c833203a2219d3ec0e6aa07b07c7303",()=>f.computeAggregates,"600018229182742daa9e4f8d63072f23a8417ef9ce",()=>e.computeDashboard],45646)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__02vhdx5._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.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_082akoi._.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__0dsucx_._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[50640,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},76668,a=>{"use strict";let b={info:0,warn:1,error:2};function c(a){return b[a]>=b.warn}function d(a){return`[claudeye ${new Date().toISOString()}] ${a}`}async function e(){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(["getRequestUsername",0,e,"logActivity",0,function(a,b,e){if(!c("info"))return;let f=[`user=${a}`,`action=${b}`];e&&f.push(e),console.log(d("ACTIVITY"),f.join(" "))},"logError",0,function(a,b){void 0!==b?console.error(d("ERROR"),a,b):console.error(d("ERROR"),a)},"logWarn",0,function(a,b){c("warn")&&(void 0!==b?console.warn(d("WARN"),a,b):console.warn(d("WARN"),a))}])},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}})},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"))},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")}a.s(["getInstanceId",0,function(){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}()}],69839),a.s(["isTelemetryEnabled",0,function(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}],48781)},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}}a.s(["createSessionCookie",0,e,"parseAuthUsers",0,function(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},[]):[]},"verifySessionCookie",0,f])},12072,(a,b,c)=>{b.exports={name:"claudeye",version:"1.0.6-beta.3",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":"^1.0.1",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:"^6.0.2",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}}},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(12072),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,"000ceea366f533fab7a70153fe8f5b7ecd5dc0fc70",null),a.s(["getTelemetryConfig",0,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,"4089f27a5aa241df6c5ebf4937769a7671e0a0539a",null),(0,b.registerServerReference)(l,"00aa012b356878733a4434bfaf41ab00ba51cd2e0a",null),a.s(["login",0,k,"logout",0,l],77728)},77461,a=>{"use strict";var b=a.i(36359),c=a.i(77728);a.s([],56177),a.i(56177),a.s(["000ceea366f533fab7a70153fe8f5b7ecd5dc0fc70",()=>b.getTelemetryConfig,"00aa012b356878733a4434bfaf41ab00ba51cd2e0a",()=>c.logout],77461)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__02vhdx5._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.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}})},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"))},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")}a.s(["getInstanceId",0,function(){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}()}],69839),a.s(["isTelemetryEnabled",0,function(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}],48781)},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}}a.s(["createSessionCookie",0,e,"parseAuthUsers",0,function(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},[]):[]},"verifySessionCookie",0,f])},12072,(a,b,c)=>{b.exports={name:"claudeye",version:"1.0.6-beta.4",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":"^1.0.1",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:"^6.0.2",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}}},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(12072),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,"00cc4c9d360c53ffac85b77e327e86aa3faefbb566",null),a.s(["getTelemetryConfig",0,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,"4092695cf29cff2e61f6794f308bf1331507e68463",null),(0,b.registerServerReference)(l,"00bbd0dbb80d45a1d568950fbce28a537c9bd5341d",null),a.s(["login",0,k,"logout",0,l],77728)},77461,a=>{"use strict";var b=a.i(36359),c=a.i(77728);a.s([],56177),a.i(56177),a.s(["00bbd0dbb80d45a1d568950fbce28a537c9bd5341d",()=>c.logout,"00cc4c9d360c53ffac85b77e327e86aa3faefbb566",()=>b.getTelemetryConfig],77461)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__02vhdx5._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.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__0e9ohz2._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[50640,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},76668,a=>{"use strict";let b={info:0,warn:1,error:2};function c(a){return b[a]>=b.warn}function d(a){return`[claudeye ${new Date().toISOString()}] ${a}`}async function e(){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(["getRequestUsername",0,e,"logActivity",0,function(a,b,e){if(!c("info"))return;let f=[`user=${a}`,`action=${b}`];e&&f.push(e),console.log(d("ACTIVITY"),f.join(" "))},"logError",0,function(a,b){void 0!==b?console.error(d("ERROR"),a,b):console.error(d("ERROR"),a)},"logWarn",0,function(a,b){c("warn")&&(void 0!==b?console.warn(d("WARN"),a,b):console.warn(d("WARN"),a))}])},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}})},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"))},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")}a.s(["getInstanceId",0,function(){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}()}],69839),a.s(["isTelemetryEnabled",0,function(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}],48781)},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}}a.s(["createSessionCookie",0,e,"parseAuthUsers",0,function(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},[]):[]},"verifySessionCookie",0,f])},12072,(a,b,c)=>{b.exports={name:"claudeye",version:"1.0.6-beta.3",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":"^1.0.1",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:"^6.0.2",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}}},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(12072),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,"000ceea366f533fab7a70153fe8f5b7ecd5dc0fc70",null),a.s(["getTelemetryConfig",0,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,"4089f27a5aa241df6c5ebf4937769a7671e0a0539a",null),(0,b.registerServerReference)(l,"00aa012b356878733a4434bfaf41ab00ba51cd2e0a",null),a.s(["login",0,k,"logout",0,l],77728)},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,"40c280239f4aedff3b71e0fa4064f073bda11c65d1",null),(0,d.registerServerReference)(p,"609f73283b61b8ad7380c81cc7abd829706371258e",null),a.s([],5310),a.i(5310),a.s(["000ceea366f533fab7a70153fe8f5b7ecd5dc0fc70",()=>b.getTelemetryConfig,"00aa012b356878733a4434bfaf41ab00ba51cd2e0a",()=>c.logout,"40c280239f4aedff3b71e0fa4064f073bda11c65d1",0,o,"609f73283b61b8ad7380c81cc7abd829706371258e",0,p],97574)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__02vhdx5._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.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}})},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"))},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")}a.s(["getInstanceId",0,function(){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}()}],69839),a.s(["isTelemetryEnabled",0,function(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}],48781)},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}}a.s(["createSessionCookie",0,e,"parseAuthUsers",0,function(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},[]):[]},"verifySessionCookie",0,f])},12072,(a,b,c)=>{b.exports={name:"claudeye",version:"1.0.6-beta.4",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":"^1.0.1",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:"^6.0.2",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}}},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(12072),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,"00cc4c9d360c53ffac85b77e327e86aa3faefbb566",null),a.s(["getTelemetryConfig",0,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,"4092695cf29cff2e61f6794f308bf1331507e68463",null),(0,b.registerServerReference)(l,"00bbd0dbb80d45a1d568950fbce28a537c9bd5341d",null),a.s(["login",0,k,"logout",0,l],77728)},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,"401a6f4615fa996c395e4fe5b0d1597381f5f475be",null),(0,d.registerServerReference)(p,"606deba308dd9e9577914672f11fd58f19dc188018",null),a.s([],5310),a.i(5310),a.s(["00bbd0dbb80d45a1d568950fbce28a537c9bd5341d",()=>c.logout,"00cc4c9d360c53ffac85b77e327e86aa3faefbb566",()=>b.getTelemetryConfig,"401a6f4615fa996c395e4fe5b0d1597381f5f475be",0,o,"606deba308dd9e9577914672f11fd58f19dc188018",0,p],97574)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__02vhdx5._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.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__0fiobs_._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[50640,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},76668,a=>{"use strict";let b={info:0,warn:1,error:2};function c(a){return b[a]>=b.warn}function d(a){return`[claudeye ${new Date().toISOString()}] ${a}`}async function e(){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(["getRequestUsername",0,e,"logActivity",0,function(a,b,e){if(!c("info"))return;let f=[`user=${a}`,`action=${b}`];e&&f.push(e),console.log(d("ACTIVITY"),f.join(" "))},"logError",0,function(a,b){void 0!==b?console.error(d("ERROR"),a,b):console.error(d("ERROR"),a)},"logWarn",0,function(a,b){c("warn")&&(void 0!==b?console.warn(d("WARN"),a,b):console.warn(d("WARN"),a))}])},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}})},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"))},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")}a.s(["getInstanceId",0,function(){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}()}],69839),a.s(["isTelemetryEnabled",0,function(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}],48781)},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}}a.s(["createSessionCookie",0,e,"parseAuthUsers",0,function(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},[]):[]},"verifySessionCookie",0,f])},12072,(a,b,c)=>{b.exports={name:"claudeye",version:"1.0.6-beta.3",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":"^1.0.1",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:"^6.0.2",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}}},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(12072),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,"000ceea366f533fab7a70153fe8f5b7ecd5dc0fc70",null),a.s(["getTelemetryConfig",0,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,"4089f27a5aa241df6c5ebf4937769a7671e0a0539a",null),(0,b.registerServerReference)(l,"00aa012b356878733a4434bfaf41ab00ba51cd2e0a",null),a.s(["login",0,k,"logout",0,l],77728)},92941,a=>{"use strict";var b=a.i(36359),c=a.i(77728);a.s([],41983),a.i(41983),a.s(["000ceea366f533fab7a70153fe8f5b7ecd5dc0fc70",()=>b.getTelemetryConfig,"00aa012b356878733a4434bfaf41ab00ba51cd2e0a",()=>c.logout],92941)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__02vhdx5._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.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}})},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"))},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")}a.s(["getInstanceId",0,function(){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}()}],69839),a.s(["isTelemetryEnabled",0,function(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}],48781)},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}}a.s(["createSessionCookie",0,e,"parseAuthUsers",0,function(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},[]):[]},"verifySessionCookie",0,f])},12072,(a,b,c)=>{b.exports={name:"claudeye",version:"1.0.6-beta.4",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":"^1.0.1",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:"^6.0.2",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}}},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(12072),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,"00cc4c9d360c53ffac85b77e327e86aa3faefbb566",null),a.s(["getTelemetryConfig",0,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,"4092695cf29cff2e61f6794f308bf1331507e68463",null),(0,b.registerServerReference)(l,"00bbd0dbb80d45a1d568950fbce28a537c9bd5341d",null),a.s(["login",0,k,"logout",0,l],77728)},92941,a=>{"use strict";var b=a.i(36359),c=a.i(77728);a.s([],41983),a.i(41983),a.s(["00bbd0dbb80d45a1d568950fbce28a537c9bd5341d",()=>c.logout,"00cc4c9d360c53ffac85b77e327e86aa3faefbb566",()=>b.getTelemetryConfig],92941)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__02vhdx5._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.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__0fltiz1._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[50640,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},76668,a=>{"use strict";let b={info:0,warn:1,error:2};function c(a){return b[a]>=b.warn}function d(a){return`[claudeye ${new Date().toISOString()}] ${a}`}async function e(){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(["getRequestUsername",0,e,"logActivity",0,function(a,b,e){if(!c("info"))return;let f=[`user=${a}`,`action=${b}`];e&&f.push(e),console.log(d("ACTIVITY"),f.join(" "))},"logError",0,function(a,b){void 0!==b?console.error(d("ERROR"),a,b):console.error(d("ERROR"),a)},"logWarn",0,function(a,b){c("warn")&&(void 0!==b?console.warn(d("WARN"),a,b):console.warn(d("WARN"),a))}])},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}})},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"))},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")}a.s(["getInstanceId",0,function(){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}()}],69839),a.s(["isTelemetryEnabled",0,function(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}],48781)},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}}a.s(["createSessionCookie",0,e,"parseAuthUsers",0,function(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},[]):[]},"verifySessionCookie",0,f])},12072,(a,b,c)=>{b.exports={name:"claudeye",version:"1.0.6-beta.3",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":"^1.0.1",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:"^6.0.2",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}}},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(12072),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,"000ceea366f533fab7a70153fe8f5b7ecd5dc0fc70",null),a.s(["getTelemetryConfig",0,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,"4089f27a5aa241df6c5ebf4937769a7671e0a0539a",null),(0,b.registerServerReference)(l,"00aa012b356878733a4434bfaf41ab00ba51cd2e0a",null),a.s(["login",0,k,"logout",0,l],77728)},32581,a=>{"use strict";var b=a.i(36359),c=a.i(77728);a.s([],35634),a.i(35634),a.s(["000ceea366f533fab7a70153fe8f5b7ecd5dc0fc70",()=>b.getTelemetryConfig,"00aa012b356878733a4434bfaf41ab00ba51cd2e0a",()=>c.logout,"4089f27a5aa241df6c5ebf4937769a7671e0a0539a",()=>c.login],32581)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__02vhdx5._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.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}})},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"))},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")}a.s(["getInstanceId",0,function(){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}()}],69839),a.s(["isTelemetryEnabled",0,function(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}],48781)},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}}a.s(["createSessionCookie",0,e,"parseAuthUsers",0,function(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},[]):[]},"verifySessionCookie",0,f])},12072,(a,b,c)=>{b.exports={name:"claudeye",version:"1.0.6-beta.4",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":"^1.0.1",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:"^6.0.2",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}}},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(12072),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,"00cc4c9d360c53ffac85b77e327e86aa3faefbb566",null),a.s(["getTelemetryConfig",0,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,"4092695cf29cff2e61f6794f308bf1331507e68463",null),(0,b.registerServerReference)(l,"00bbd0dbb80d45a1d568950fbce28a537c9bd5341d",null),a.s(["login",0,k,"logout",0,l],77728)},32581,a=>{"use strict";var b=a.i(36359),c=a.i(77728);a.s([],35634),a.i(35634),a.s(["00bbd0dbb80d45a1d568950fbce28a537c9bd5341d",()=>c.logout,"00cc4c9d360c53ffac85b77e327e86aa3faefbb566",()=>b.getTelemetryConfig,"4092695cf29cff2e61f6794f308bf1331507e68463",()=>c.login],32581)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__02vhdx5._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.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__0ni-as.._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[50640,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},76668,a=>{"use strict";let b={info:0,warn:1,error:2};function c(a){return b[a]>=b.warn}function d(a){return`[claudeye ${new Date().toISOString()}] ${a}`}async function e(){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(["getRequestUsername",0,e,"logActivity",0,function(a,b,e){if(!c("info"))return;let f=[`user=${a}`,`action=${b}`];e&&f.push(e),console.log(d("ACTIVITY"),f.join(" "))},"logError",0,function(a,b){void 0!==b?console.error(d("ERROR"),a,b):console.error(d("ERROR"),a)},"logWarn",0,function(a,b){c("warn")&&(void 0!==b?console.warn(d("WARN"),a,b):console.warn(d("WARN"),a))}])},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}})},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"))},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")}a.s(["getInstanceId",0,function(){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}()}],69839),a.s(["isTelemetryEnabled",0,function(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}],48781)},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}}a.s(["createSessionCookie",0,e,"parseAuthUsers",0,function(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},[]):[]},"verifySessionCookie",0,f])},12072,(a,b,c)=>{b.exports={name:"claudeye",version:"1.0.6-beta.3",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":"^1.0.1",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:"^6.0.2",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}}},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(12072),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,"000ceea366f533fab7a70153fe8f5b7ecd5dc0fc70",null),a.s(["getTelemetryConfig",0,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,"4089f27a5aa241df6c5ebf4937769a7671e0a0539a",null),(0,b.registerServerReference)(l,"00aa012b356878733a4434bfaf41ab00ba51cd2e0a",null),a.s(["login",0,k,"logout",0,l],77728)},12132,a=>{"use strict";var b=a.i(36359),c=a.i(77728);a.s([],22807),a.i(22807),a.s(["000ceea366f533fab7a70153fe8f5b7ecd5dc0fc70",()=>b.getTelemetryConfig,"00aa012b356878733a4434bfaf41ab00ba51cd2e0a",()=>c.logout],12132)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__02vhdx5._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.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}})},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"))},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")}a.s(["getInstanceId",0,function(){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}()}],69839),a.s(["isTelemetryEnabled",0,function(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}],48781)},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}}a.s(["createSessionCookie",0,e,"parseAuthUsers",0,function(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},[]):[]},"verifySessionCookie",0,f])},12072,(a,b,c)=>{b.exports={name:"claudeye",version:"1.0.6-beta.4",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":"^1.0.1",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:"^6.0.2",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}}},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(12072),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,"00cc4c9d360c53ffac85b77e327e86aa3faefbb566",null),a.s(["getTelemetryConfig",0,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,"4092695cf29cff2e61f6794f308bf1331507e68463",null),(0,b.registerServerReference)(l,"00bbd0dbb80d45a1d568950fbce28a537c9bd5341d",null),a.s(["login",0,k,"logout",0,l],77728)},12132,a=>{"use strict";var b=a.i(36359),c=a.i(77728);a.s([],22807),a.i(22807),a.s(["00bbd0dbb80d45a1d568950fbce28a537c9bd5341d",()=>c.logout,"00cc4c9d360c53ffac85b77e327e86aa3faefbb566",()=>b.getTelemetryConfig],12132)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__02vhdx5._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.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__10_wjge._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[50871,61542,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",0,b],50871);var c=a.i(92246);a.s(["calculateLogStats",0,function(a){let b=0,d=0,e=0,f=0,g=0,h=new Set;for(let c of a)if("user"===c.type&&b++,"queue-operation"===c.type&&g++,"assistant"===c.type){for(let a of(d++,c.message.content))"tool_use"===a.type&&("Task"===a.name&&(a.subagentType||a.subagentId)?f++:e++);c.message.model&&h.add(c.message.model)}let i="";if(a.length>=2){let b=a[a.length-1].timestampMs-a[0].timestampMs;i=(0,c.formatDuration)(b)}return{turnCount:g,userCount:b,assistantCount:d,toolCallCount:e,subagentCount:f,duration:i,models:Array.from(h)}}],61542)},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",0,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,"7f7b8a281fb6d58e58cbbb2b409d1c1e4068bafe56",null),a.s(["processSubagentEnrichment",0,j])}];
1
+ module.exports=[50871,61542,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",0,b],50871);var c=a.i(92246);a.s(["calculateLogStats",0,function(a){let b=0,d=0,e=0,f=0,g=0,h=new Set;for(let c of a)if("user"===c.type&&b++,"queue-operation"===c.type&&g++,"assistant"===c.type){for(let a of(d++,c.message.content))"tool_use"===a.type&&("Task"===a.name&&(a.subagentType||a.subagentId)?f++:e++);c.message.model&&h.add(c.message.model)}let i="";if(a.length>=2){let b=a[a.length-1].timestampMs-a[0].timestampMs;i=(0,c.formatDuration)(b)}return{turnCount:g,userCount:b,assistantCount:d,toolCallCount:e,subagentCount:f,duration:i,models:Array.from(h)}}],61542)},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",0,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,"7f67ab8c312ca4fc147f3e4d9ddd0f1963b0a774b6",null),a.s(["processSubagentEnrichment",0,j])}];
2
2
 
3
3
  //# sourceMappingURL=_03l0_j6._.js.map