@claudeye/linux-arm64 1.0.5 → 1.0.6-beta.0

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 (97) hide show
  1. package/assets/dist/types.d.ts +1 -0
  2. package/assets/standalone/.next/BUILD_ID +1 -1
  3. package/assets/standalone/.next/build-manifest.json +2 -2
  4. package/assets/standalone/.next/prerender-manifest.json +3 -3
  5. package/assets/standalone/.next/server/app/_global-error.html +2 -2
  6. package/assets/standalone/.next/server/app/_global-error.rsc +1 -1
  7. package/assets/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/assets/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/assets/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  10. package/assets/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  11. package/assets/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/assets/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +2 -2
  13. package/assets/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/assets/standalone/.next/server/app/_not-found.html +2 -2
  15. package/assets/standalone/.next/server/app/_not-found.rsc +7 -7
  16. package/assets/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +7 -7
  17. package/assets/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  18. package/assets/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +7 -7
  19. package/assets/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  20. package/assets/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  21. package/assets/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  22. package/assets/standalone/.next/server/app/dashboard/[viewName]/page/server-reference-manifest.json +5 -5
  23. package/assets/standalone/.next/server/app/dashboard/[viewName]/page_client-reference-manifest.js +1 -1
  24. package/assets/standalone/.next/server/app/dashboard/page/server-reference-manifest.json +5 -5
  25. package/assets/standalone/.next/server/app/dashboard/page_client-reference-manifest.js +1 -1
  26. package/assets/standalone/.next/server/app/hooks/page/server-reference-manifest.json +4 -4
  27. package/assets/standalone/.next/server/app/hooks/page_client-reference-manifest.js +1 -1
  28. package/assets/standalone/.next/server/app/login/page/server-reference-manifest.json +3 -3
  29. package/assets/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  30. package/assets/standalone/.next/server/app/login.html +2 -2
  31. package/assets/standalone/.next/server/app/login.rsc +8 -8
  32. package/assets/standalone/.next/server/app/login.segments/_full.segment.rsc +8 -8
  33. package/assets/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  34. package/assets/standalone/.next/server/app/login.segments/_index.segment.rsc +7 -7
  35. package/assets/standalone/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  36. package/assets/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  37. package/assets/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  38. package/assets/standalone/.next/server/app/page/server-reference-manifest.json +2 -2
  39. package/assets/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  40. package/assets/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +2 -2
  41. package/assets/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  42. package/assets/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +1 -1
  43. package/assets/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +9 -9
  44. package/assets/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  45. package/assets/standalone/.next/server/app/queue/page/server-reference-manifest.json +4 -4
  46. package/assets/standalone/.next/server/app/queue/page_client-reference-manifest.js +1 -1
  47. package/assets/standalone/.next/server/chunks/[root-of-the-server]__75048a35._.js +2 -2
  48. package/assets/standalone/.next/server/chunks/[root-of-the-server]__dd558eee._.js +1 -1
  49. package/assets/standalone/.next/server/chunks/[root-of-the-server]__f44213d4._.js +1 -1
  50. package/assets/standalone/.next/server/chunks/_3f3c09bf._.js +2 -2
  51. package/assets/standalone/.next/server/chunks/_6a9d92e6._.js +1 -1
  52. package/assets/standalone/.next/server/chunks/_7cb7a702._.js +1 -1
  53. package/assets/standalone/.next/server/chunks/_7e07bbd9._.js +1 -1
  54. package/assets/standalone/.next/server/chunks/_8f856fad._.js +2 -2
  55. package/assets/standalone/.next/server/chunks/_b8adaa37._.js +1 -1
  56. package/assets/standalone/.next/server/chunks/lib_6cff0ca5._.js +2 -2
  57. package/assets/standalone/.next/server/chunks/lib_74f62736._.js +2 -2
  58. package/assets/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_7a66d362.js +1 -1
  59. package/assets/standalone/.next/server/chunks/package_json_4b1b4d6f._.js +1 -1
  60. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__637abc80._.js +1 -1
  61. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__6ec938e4._.js +1 -1
  62. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__75df9303._.js +1 -1
  63. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__82c381fd._.js +1 -1
  64. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__99f0c371._.js +1 -1
  65. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__b9492585._.js +1 -1
  66. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__cb5a5725._.js +1 -1
  67. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__d015fef5._.js +1 -1
  68. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__d4e6c42a._.js +1 -1
  69. package/assets/standalone/.next/server/chunks/ssr/[root-of-the-server]__fd646815._.js +1 -1
  70. package/assets/standalone/.next/server/chunks/ssr/_14858238._.js +1 -1
  71. package/assets/standalone/.next/server/chunks/ssr/_1d335924._.js +1 -1
  72. package/assets/standalone/.next/server/chunks/ssr/_76ab933f._.js +1 -1
  73. package/assets/standalone/.next/server/chunks/ssr/_87e025a1._.js +1 -1
  74. package/assets/standalone/.next/server/chunks/ssr/_b14cf8e4._.js +1 -1
  75. package/assets/standalone/.next/server/chunks/ssr/_d7159840._.js +1 -1
  76. package/assets/standalone/.next/server/chunks/ssr/app_actions_compute-dashboard_ts_fc151dbb._.js +1 -1
  77. package/assets/standalone/.next/server/chunks/ssr/app_hooks_hooks-client_tsx_8b8d68a3._.js +1 -1
  78. package/assets/standalone/.next/server/chunks/ssr/app_login_page_tsx_ccc0019b._.js +1 -1
  79. package/assets/standalone/.next/server/chunks/ssr/app_queue_queue-client_tsx_45f040f7._.js +1 -1
  80. package/assets/standalone/.next/server/pages/404.html +2 -2
  81. package/assets/standalone/.next/server/pages/500.html +2 -2
  82. package/assets/standalone/.next/server/server-reference-manifest.js +1 -1
  83. package/assets/standalone/.next/server/server-reference-manifest.json +18 -18
  84. package/assets/standalone/.next/static/chunks/{e6e7a15cdee90ddf.js → 031494e77da6f4a2.js} +2 -2
  85. package/assets/standalone/.next/static/chunks/{1891ebe9a9f30b24.js → 7975c380f829a2b2.js} +1 -1
  86. package/assets/standalone/.next/static/chunks/{93a639f2894ba87b.js → 9cfed2ee36dcb1ab.js} +1 -1
  87. package/assets/standalone/.next/static/chunks/{e316aafdea46c4ea.js → a4735a0304ebaca0.js} +1 -1
  88. package/assets/standalone/.next/static/chunks/{408822bf7ed2f63c.js → a5d65bf781dfb2f0.js} +1 -1
  89. package/assets/standalone/.next/static/chunks/{f6fddbf6f921870f.js → a8595cb50f9cb3ac.js} +1 -1
  90. package/assets/standalone/.next/static/chunks/{32addb9a03bc9eb0.js → f41dc462580bd41c.js} +1 -1
  91. package/assets/standalone/README.md +6 -1
  92. package/assets/standalone/package.json +1 -1
  93. package/bin/claudeye +0 -0
  94. package/package.json +1 -1
  95. /package/assets/standalone/.next/static/{Iy9BSv8VmacfZbJtrubiB → yHwkX5eNzdj4Qd7oC82Jw}/_buildManifest.js +0 -0
  96. /package/assets/standalone/.next/static/{Iy9BSv8VmacfZbJtrubiB → yHwkX5eNzdj4Qd7oC82Jw}/_clientMiddlewareManifest.json +0 -0
  97. /package/assets/standalone/.next/static/{Iy9BSv8VmacfZbJtrubiB → yHwkX5eNzdj4Qd7oC82Jw}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
1
  module.exports=[76668,a=>{"use strict";let b={info:0,warn:1,error:2},c="warn";function d(){let a=(process.env.CLAUDEYE_LOG_LEVEL??"").toLowerCase();c="info"===a||"warn"===a||"error"===a?a:"warn"}function e(){return c}function f(a){return b[a]>=b[c]}function g(a){return`[claudeye ${new Date().toISOString()}] ${a}`}function h(a,b){f("info")&&(void 0!==b?console.log(g("INFO"),a,b):console.log(g("INFO"),a))}function i(a,b){f("warn")&&(void 0!==b?console.warn(g("WARN"),a,b):console.warn(g("WARN"),a))}function j(a,b){void 0!==b?console.error(g("ERROR"),a,b):console.error(g("ERROR"),a)}function k(a,b,c){if(!f("info"))return;let d=[`user=${a}`,`action=${b}`];c&&d.push(c),console.log(g("ACTIVITY"),d.join(" "))}async function l(){try{let{cookies:b}=await a.A(23804),c=await b(),d=c.get("claudeye_session")?.value;if(!d)return"anonymous";let e=process.env.CLAUDEYE_AUTH_SECRET??"",{verifySessionCookie:f}=await a.A(76958);return await f(d,e)??"anonymous"}catch{return"anonymous"}}a.s(["getLogLevel",()=>e,"getRequestUsername",()=>l,"initLogger",()=>d,"logActivity",()=>k,"logError",()=>j,"logInfo",()=>h,"logWarn",()=>i])},37936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},13095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(a,b){if(a.length!==b.length){let c=Math.max(a.length,b.length);for(let d=0;d<c;d++)a.charCodeAt(d%a.length),b.charCodeAt(d%b.length);return!1}let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(0,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40c95bf3bfc400a64f4e7cc04484a6a1547ce14973",null),(0,b.registerServerReference)(l,"00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",null),a.s(["login",()=>k,"logout",()=>l],77728)},9223,a=>{"use strict";function b(a){let b=new Uint8Array(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function c(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=atob(b+"=".repeat((4-b.length%4)%4)),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}async function d(a){let b=new TextEncoder;return crypto.subtle.importKey("raw",b.encode(a),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function e(a,c){let e=JSON.stringify({u:a,e:Date.now()+864e5}),f=new TextEncoder().encode(e),g=await d(c),h=await crypto.subtle.sign("HMAC",g,f);return`${b(f.buffer)}.${b(h)}`}async function f(a,b){let e=a.indexOf(".");if(e<0)return null;try{let f=a.slice(0,e),g=a.slice(e+1),h=c(f),i=c(g),j=await d(b);if(!await crypto.subtle.verify("HMAC",j,i.buffer,h.buffer))return null;let{u:k,e:l}=JSON.parse(new TextDecoder().decode(h));if("number"!=typeof l||Date.now()>l)return null;return"string"==typeof k?k:null}catch{return null}}function g(a){return a.trim()?a.split(",").reduce((a,b)=>{let c=b.indexOf(":");return c>0&&a.push({username:b.slice(0,c),password:b.slice(c+1)}),a},[]):[]}a.s(["createSessionCookie",()=>e,"parseAuthUsers",()=>g,"verifySessionCookie",()=>f])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.5",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},46325,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_ENRICHER_REGISTRY__");function c(a,d,e,f="session",g){let h={name:a,fn:d,scope:f};e&&(h.condition=e),g&&(h.subagentType=g),b.register(h)}let d=b.getAll,e=b.getSessionScoped,f=b.getSubagentScoped,g=b.hasSubagent,h=b.has,i=b.clear;a.s(["clearEnrichers",0,i,"getRegisteredEnrichers",0,d,"getSessionScopedEnrichers",0,e,"getSubagentScopedEnrichers",0,f,"hasEnrichers",0,h,"hasSubagentEnrichers",0,g,"registerEnricher",()=>c])},70467,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_EVAL_REGISTRY__");function c(a,d,e,f="session",g){let h={name:a,fn:d,scope:f};e&&(h.condition=e),g&&(h.subagentType=g),b.register(h)}let d=b.getAll,e=b.getSessionScoped,f=b.getSubagentScoped,g=b.hasSubagent,h=b.has,i=b.clear;a.s(["clearEvals",0,i,"getRegisteredEvals",0,d,"getSessionScopedEvals",0,e,"getSubagentScopedEvals",0,f,"hasEvals",0,h,"hasSubagentEvals",0,g,"registerEval",()=>c])},69191,a=>{"use strict";var b=a.i(24868),c=a.i(14747),d=a.i(90798),e=a.i(34900),f=a.i(76668),g=a.i(82248);async function h(a,c){try{return(await (0,b.stat)(a)).mtime}catch(a){return(0,f.logWarn)(`Failed to stat ${c}:`,a),new Date(0)}}async function i(a){try{if(!(await (0,b.stat)(a)).isDirectory())return null;return await (0,b.readdir)(a,{withFileTypes:!0})}catch{return null}}async function j(){try{let a=(0,d.getClaudeProjectsPath)(),b=await i(a);if(!b)return[];let e=await Promise.all(b.filter(a=>a.isDirectory()).map(async b=>{let d=(0,c.join)(a,b.name),e=await h(d,b.name);return{name:b.name,path:d,isDirectory:!0,lastModified:e,lastModifiedFormatted:(0,g.formatDate)(e)}}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,f.logError)("Error reading project folders:",a),[]}}function k(a){let b=(0,d.getClaudeProjectsPath)();return(0,c.join)(b,a)}function l(a){let b=a.match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i);return b?b[0]:void 0}async function m(a){try{let b=await i(a);if(!b)return[];let d=b.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")&&l(a.name)),e=await Promise.all(d.map(async b=>{let d=(0,c.join)(a,b.name),e=await h(d,b.name);return{name:b.name,path:d,lastModified:e,lastModifiedFormatted:(0,g.formatDate)(e),sessionId:l(b.name)}}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,f.logError)("Error reading session files:",a),[]}}let n=(0,e.runtimeCache)(j,30),o=(0,e.runtimeCache)(a=>m(a),30);a.s(["getCachedProjectFolders",0,n,"getCachedSessionFiles",0,o,"getProjectPath",()=>k])},80807,a=>{"use strict";function b(a){let b=a.indexOf("/");return -1===b?a:a.slice(0,b)}a.s(["baseSessionId",()=>b])},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,"40ce064dbcb395446ea40cd37211413e8959f8cbc4",null),(0,d.registerServerReference)(g,"60f3ef2845e540a9c525796c83ca96966adf5795c6",null),a.s([],65047),a.i(65047),a.s(["00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",()=>c.logout,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",()=>b.getTelemetryConfig,"40ce064dbcb395446ea40cd37211413e8959f8cbc4",()=>f,"60f3ef2845e540a9c525796c83ca96966adf5795c6",()=>g],73119)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},23804,a=>{a.v(a=>Promise.resolve().then(()=>a(5246)))},76958,a=>{a.v(a=>Promise.resolve().then(()=>a(9223)))},47538,a=>{a.v(a=>Promise.resolve().then(()=>a(76668)))},65726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/lib_evals_cache-invalidation-registry_ts_2ee53a56._.js"].map(b=>a.l(b))).then(()=>b(16991)))},45397,a=>{a.v(a=>Promise.resolve().then(()=>a(70467)))},79288,a=>{a.v(a=>Promise.resolve().then(()=>a(46325)))},978,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_1d335924._.js"].map(b=>a.l(b))).then(()=>b(99938)))},74398,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_87e025a1._.js"].map(b=>a.l(b))).then(()=>b(86736)))},64297,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_d7159840._.js"].map(b=>a.l(b))).then(()=>b(77333)))},44971,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_14858238._.js"].map(b=>a.l(b))).then(()=>b(14775)))}];
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"00ea388367f31da83fbf502d5f7d5735bd0342bcf7",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(a,b){if(a.length!==b.length){let c=Math.max(a.length,b.length);for(let d=0;d<c;d++)a.charCodeAt(d%a.length),b.charCodeAt(d%b.length);return!1}let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(0,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40386beab48853f66e230490146dba0ee269bf4c5e",null),(0,b.registerServerReference)(l,"008e47cae8966b5f60d55c9d42d92ed8de3bf66ff6",null),a.s(["login",()=>k,"logout",()=>l],77728)},9223,a=>{"use strict";function b(a){let b=new Uint8Array(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function c(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=atob(b+"=".repeat((4-b.length%4)%4)),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}async function d(a){let b=new TextEncoder;return crypto.subtle.importKey("raw",b.encode(a),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function e(a,c){let e=JSON.stringify({u:a,e:Date.now()+864e5}),f=new TextEncoder().encode(e),g=await d(c),h=await crypto.subtle.sign("HMAC",g,f);return`${b(f.buffer)}.${b(h)}`}async function f(a,b){let e=a.indexOf(".");if(e<0)return null;try{let f=a.slice(0,e),g=a.slice(e+1),h=c(f),i=c(g),j=await d(b);if(!await crypto.subtle.verify("HMAC",j,i.buffer,h.buffer))return null;let{u:k,e:l}=JSON.parse(new TextDecoder().decode(h));if("number"!=typeof l||Date.now()>l)return null;return"string"==typeof k?k:null}catch{return null}}function g(a){return a.trim()?a.split(",").reduce((a,b)=>{let c=b.indexOf(":");return c>0&&a.push({username:b.slice(0,c),password:b.slice(c+1)}),a},[]):[]}a.s(["createSessionCookie",()=>e,"parseAuthUsers",()=>g,"verifySessionCookie",()=>f])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.6-beta.0",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},46325,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_ENRICHER_REGISTRY__");function c(a,d,e,f="session",g){let h={name:a,fn:d,scope:f};e&&(h.condition=e),g&&(h.subagentType=g),b.register(h)}let d=b.getAll,e=b.getSessionScoped,f=b.getSubagentScoped,g=b.hasSubagent,h=b.has,i=b.clear;a.s(["clearEnrichers",0,i,"getRegisteredEnrichers",0,d,"getSessionScopedEnrichers",0,e,"getSubagentScopedEnrichers",0,f,"hasEnrichers",0,h,"hasSubagentEnrichers",0,g,"registerEnricher",()=>c])},70467,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_EVAL_REGISTRY__");function c(a,d,e,f="session",g){let h={name:a,fn:d,scope:f};e&&(h.condition=e),g&&(h.subagentType=g),b.register(h)}let d=b.getAll,e=b.getSessionScoped,f=b.getSubagentScoped,g=b.hasSubagent,h=b.has,i=b.clear;a.s(["clearEvals",0,i,"getRegisteredEvals",0,d,"getSessionScopedEvals",0,e,"getSubagentScopedEvals",0,f,"hasEvals",0,h,"hasSubagentEvals",0,g,"registerEval",()=>c])},69191,a=>{"use strict";var b=a.i(24868),c=a.i(14747),d=a.i(90798),e=a.i(34900),f=a.i(76668),g=a.i(82248);async function h(a,c){try{return(await (0,b.stat)(a)).mtime}catch(a){return(0,f.logWarn)(`Failed to stat ${c}:`,a),new Date(0)}}async function i(a){try{if(!(await (0,b.stat)(a)).isDirectory())return null;return await (0,b.readdir)(a,{withFileTypes:!0})}catch{return null}}async function j(){try{let a=(0,d.getClaudeProjectsPath)(),b=await i(a);if(!b)return[];let e=await Promise.all(b.filter(a=>a.isDirectory()).map(async b=>{let d=(0,c.join)(a,b.name),e=await h(d,b.name);return{name:b.name,path:d,isDirectory:!0,lastModified:e,lastModifiedFormatted:(0,g.formatDate)(e)}}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,f.logError)("Error reading project folders:",a),[]}}function k(a){let b=(0,d.getClaudeProjectsPath)();return(0,c.join)(b,a)}function l(a){let b=a.match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i);return b?b[0]:void 0}async function m(a){try{let b=await i(a);if(!b)return[];let d=b.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")&&l(a.name)),e=await Promise.all(d.map(async b=>{let d=(0,c.join)(a,b.name),e=await h(d,b.name);return{name:b.name,path:d,lastModified:e,lastModifiedFormatted:(0,g.formatDate)(e),sessionId:l(b.name)}}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,f.logError)("Error reading session files:",a),[]}}let n=(0,e.runtimeCache)(j,30),o=(0,e.runtimeCache)(a=>m(a),30);a.s(["getCachedProjectFolders",0,n,"getCachedSessionFiles",0,o,"getProjectPath",()=>k])},80807,a=>{"use strict";function b(a){let b=a.indexOf("/");return -1===b?a:a.slice(0,b)}a.s(["baseSessionId",()=>b])},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,"40e99e994c9c95aa79066a1d6757d501e063437d44",null),(0,d.registerServerReference)(g,"6078659c53034096f479f06f53b48c882308730e14",null),a.s([],65047),a.i(65047),a.s(["008e47cae8966b5f60d55c9d42d92ed8de3bf66ff6",()=>c.logout,"00ea388367f31da83fbf502d5f7d5735bd0342bcf7",()=>b.getTelemetryConfig,"40e99e994c9c95aa79066a1d6757d501e063437d44",()=>f,"6078659c53034096f479f06f53b48c882308730e14",()=>g],73119)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},23804,a=>{a.v(a=>Promise.resolve().then(()=>a(5246)))},76958,a=>{a.v(a=>Promise.resolve().then(()=>a(9223)))},47538,a=>{a.v(a=>Promise.resolve().then(()=>a(76668)))},65726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/lib_evals_cache-invalidation-registry_ts_2ee53a56._.js"].map(b=>a.l(b))).then(()=>b(16991)))},45397,a=>{a.v(a=>Promise.resolve().then(()=>a(70467)))},79288,a=>{a.v(a=>Promise.resolve().then(()=>a(46325)))},978,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_1d335924._.js"].map(b=>a.l(b))).then(()=>b(99938)))},74398,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_87e025a1._.js"].map(b=>a.l(b))).then(()=>b(86736)))},64297,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_d7159840._.js"].map(b=>a.l(b))).then(()=>b(77333)))},44971,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_14858238._.js"].map(b=>a.l(b))).then(()=>b(14775)))}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__637abc80._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[76668,a=>{"use strict";let b={info:0,warn:1,error:2},c="warn";function d(){let a=(process.env.CLAUDEYE_LOG_LEVEL??"").toLowerCase();c="info"===a||"warn"===a||"error"===a?a:"warn"}function e(){return c}function f(a){return b[a]>=b[c]}function g(a){return`[claudeye ${new Date().toISOString()}] ${a}`}function h(a,b){f("info")&&(void 0!==b?console.log(g("INFO"),a,b):console.log(g("INFO"),a))}function i(a,b){f("warn")&&(void 0!==b?console.warn(g("WARN"),a,b):console.warn(g("WARN"),a))}function j(a,b){void 0!==b?console.error(g("ERROR"),a,b):console.error(g("ERROR"),a)}function k(a,b,c){if(!f("info"))return;let d=[`user=${a}`,`action=${b}`];c&&d.push(c),console.log(g("ACTIVITY"),d.join(" "))}async function l(){try{let{cookies:b}=await a.A(23804),c=await b(),d=c.get("claudeye_session")?.value;if(!d)return"anonymous";let e=process.env.CLAUDEYE_AUTH_SECRET??"",{verifySessionCookie:f}=await a.A(76958);return await f(d,e)??"anonymous"}catch{return"anonymous"}}a.s(["getLogLevel",()=>e,"getRequestUsername",()=>l,"initLogger",()=>d,"logActivity",()=>k,"logError",()=>j,"logInfo",()=>h,"logWarn",()=>i])},37936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},13095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(a,b){if(a.length!==b.length){let c=Math.max(a.length,b.length);for(let d=0;d<c;d++)a.charCodeAt(d%a.length),b.charCodeAt(d%b.length);return!1}let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(0,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40c95bf3bfc400a64f4e7cc04484a6a1547ce14973",null),(0,b.registerServerReference)(l,"00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",null),a.s(["login",()=>k,"logout",()=>l],77728)},9223,a=>{"use strict";function b(a){let b=new Uint8Array(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function c(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=atob(b+"=".repeat((4-b.length%4)%4)),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}async function d(a){let b=new TextEncoder;return crypto.subtle.importKey("raw",b.encode(a),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function e(a,c){let e=JSON.stringify({u:a,e:Date.now()+864e5}),f=new TextEncoder().encode(e),g=await d(c),h=await crypto.subtle.sign("HMAC",g,f);return`${b(f.buffer)}.${b(h)}`}async function f(a,b){let e=a.indexOf(".");if(e<0)return null;try{let f=a.slice(0,e),g=a.slice(e+1),h=c(f),i=c(g),j=await d(b);if(!await crypto.subtle.verify("HMAC",j,i.buffer,h.buffer))return null;let{u:k,e:l}=JSON.parse(new TextDecoder().decode(h));if("number"!=typeof l||Date.now()>l)return null;return"string"==typeof k?k:null}catch{return null}}function g(a){return a.trim()?a.split(",").reduce((a,b)=>{let c=b.indexOf(":");return c>0&&a.push({username:b.slice(0,c),password:b.slice(c+1)}),a},[]):[]}a.s(["createSessionCookie",()=>e,"parseAuthUsers",()=>g,"verifySessionCookie",()=>f])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.5",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},77461,a=>{"use strict";var b=a.i(36359),c=a.i(77728);a.s([],56177),a.i(56177),a.s(["00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",()=>c.logout,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",()=>b.getTelemetryConfig],77461)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},23804,a=>{a.v(a=>Promise.resolve().then(()=>a(5246)))},76958,a=>{a.v(a=>Promise.resolve().then(()=>a(9223)))},47538,a=>{a.v(a=>Promise.resolve().then(()=>a(76668)))}];
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"00ea388367f31da83fbf502d5f7d5735bd0342bcf7",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(a,b){if(a.length!==b.length){let c=Math.max(a.length,b.length);for(let d=0;d<c;d++)a.charCodeAt(d%a.length),b.charCodeAt(d%b.length);return!1}let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(0,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40386beab48853f66e230490146dba0ee269bf4c5e",null),(0,b.registerServerReference)(l,"008e47cae8966b5f60d55c9d42d92ed8de3bf66ff6",null),a.s(["login",()=>k,"logout",()=>l],77728)},9223,a=>{"use strict";function b(a){let b=new Uint8Array(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function c(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=atob(b+"=".repeat((4-b.length%4)%4)),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}async function d(a){let b=new TextEncoder;return crypto.subtle.importKey("raw",b.encode(a),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function e(a,c){let e=JSON.stringify({u:a,e:Date.now()+864e5}),f=new TextEncoder().encode(e),g=await d(c),h=await crypto.subtle.sign("HMAC",g,f);return`${b(f.buffer)}.${b(h)}`}async function f(a,b){let e=a.indexOf(".");if(e<0)return null;try{let f=a.slice(0,e),g=a.slice(e+1),h=c(f),i=c(g),j=await d(b);if(!await crypto.subtle.verify("HMAC",j,i.buffer,h.buffer))return null;let{u:k,e:l}=JSON.parse(new TextDecoder().decode(h));if("number"!=typeof l||Date.now()>l)return null;return"string"==typeof k?k:null}catch{return null}}function g(a){return a.trim()?a.split(",").reduce((a,b)=>{let c=b.indexOf(":");return c>0&&a.push({username:b.slice(0,c),password:b.slice(c+1)}),a},[]):[]}a.s(["createSessionCookie",()=>e,"parseAuthUsers",()=>g,"verifySessionCookie",()=>f])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.6-beta.0",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},77461,a=>{"use strict";var b=a.i(36359),c=a.i(77728);a.s([],56177),a.i(56177),a.s(["008e47cae8966b5f60d55c9d42d92ed8de3bf66ff6",()=>c.logout,"00ea388367f31da83fbf502d5f7d5735bd0342bcf7",()=>b.getTelemetryConfig],77461)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},23804,a=>{a.v(a=>Promise.resolve().then(()=>a(5246)))},76958,a=>{a.v(a=>Promise.resolve().then(()=>a(9223)))},47538,a=>{a.v(a=>Promise.resolve().then(()=>a(76668)))}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__6ec938e4._.js.map
@@ -2,6 +2,6 @@ module.exports=[92509,(a,b,c)=>{b.exports=a.x("url",()=>require("url"))},24868,(
2
2
  export const createApp = _cjs.createApp;
3
3
  export const getQueueCondition = _cjs.getQueueCondition;
4
4
  export const clearQueueCondition = _cjs.clearQueueCondition;
5
- export default _cjs;`;return await (0,b.writeFile)(e,f,"utf-8"),{shimPath:e,shimUrl:(0,d.pathToFileURL)(e).href}}async function n(a,d,e){let f=[a],g=new Set,h=[],n=null;if(e&&d){let a=await m(e,d);h.push(a.shimPath),n=a.shimUrl}for(;f.length>0;){let a=f.shift();if(g.has(a))continue;g.add(a);let d=await (0,b.readFile)(a,"utf-8");n&&(d=d.replace(/from\s+(['"])claudeye\1/g,`from '${n}'`)),e&&(d=d.replace(/require\s*\(\s*(['"])claudeye\1\s*\)/g,`require('${e.replace(/\\/g,"\\\\")}')`));let m=(0,c.dirname)(a),o=new Map;for(let a of[i,j]){let b,e=new RegExp(a.source,a.flags);for(;null!==(b=e.exec(d));){let a=b[2];if(o.has(a))continue;let d=await l(m,a);if(!d)continue;g.has(d)||f.includes(d)||f.push(d);let e=(0,c.relative)(m,d+k).split("\\").join("/");e.startsWith(".")||(e="./"+e),o.set(a,e)}}for(let a of[...o.keys()].sort((a,b)=>b.length-a.length)){let b=o.get(a),c=a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");d=(d=d.replace(RegExp(`'${c}'`,"g"),`'${b}'`)).replace(RegExp(`"${c}"`,"g"),`"${b}"`)}let p=a+k;await (0,b.writeFile)(p,d,"utf-8"),h.push(p)}return h}async function o(){if(f)return;let a=process.env.CLAUDEYE_EVALS_MODULE;if(!a){f=!0;return}let c=globalThis;c[e]=!0;let g=[];try{let b=await h(),c=b?(0,d.pathToFileURL)(b).href:null;g=await n(a,c,b);let e=(0,d.pathToFileURL)(a+k).href;await import(e)}finally{for(let a of(c[e]=!1,g))try{await (0,b.unlink)(a)}catch{}}f=!0}a.s(["ensureEvalsLoaded",()=>o])},90798,a=>{"use strict";var b=a.i(46786),c=a.i(14747);function d(a){return/^[A-Za-z]--/.test(a)?a[0]+":/"+a.slice(3).replace(/-/g,"/"):a.replace(/-/g,"/")}function e(){let a=process.env.CLAUDE_PROJECTS_PATH;return a||(0,c.join)((0,b.homedir)(),".claude","projects")}a.s(["decodeFolderName",()=>d,"getClaudeProjectsPath",()=>e])},34900,82248,a=>{"use strict";function b(a,b,c){let d=new Map,e=new Map,f=c?.maxSize;return async(...c)=>{let g=JSON.stringify(c),h=d.get(g);if(h&&Date.now()<h.expiry)return f&&(d.delete(g),d.set(g,h)),h.data;let i=e.get(g);if(i)return i;let j=a(...c).then(a=>{if(e.delete(g),f&&d.size>=f){let a=d.keys().next().value;d.delete(a)}return d.set(g,{data:a,expiry:Date.now()+1e3*b}),a},a=>{throw e.delete(g),a});return e.set(g,j),j}}function c(a){return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",hour12:!0}).format(a)}a.s(["runtimeCache",()=>b],34900),a.s(["formatDate",()=>c],82248)},83397,92246,a=>{"use strict";var b=a.i(24868),c=a.i(14747),d=a.i(90798);async function e(a,d,e,f){let g=`agent-${f}.jsonl`;for(let f of[(0,c.join)(a,d,g),(0,c.join)(a,d,e,g),(0,c.join)(a,d,e,"subagents",g)])if(!(0,c.relative)(a,f).startsWith(".."))try{return await (0,b.access)(f),f}catch(a){if("ENOENT"!==a.code)continue}return null}var f=a.i(34900),g=a.i(82248);function h(a){if(a<1e3)return`${a}ms`;let b=a/1e3;if(b<60)return`${b.toFixed(1)}s`;let c=Math.floor(b/60);if(c>=60){let a=Math.floor(c/60);return`${a}h ${c%60}m`}let d=(b%60).toFixed(0);return`${c}m ${d}s`}function i(a){let b=(0,g.formatDate)(a),c=a.getMilliseconds().toString().padStart(3,"0");return`${b}.${c}`}function j(a,b,c,d){return{_source:d,uuid:a.uuid||"",parentUuid:a.parentUuid??null,timestamp:b,timestampMs:c.getTime(),timestampFormatted:i(c)}}async function k(a,b){let c=a.split("\n").filter(a=>""!==a.trim()),d=new Map,e=[],f=[],g=new Set,k=!1;for(let a=0;a<c.length;a++){let h;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let i=c[a];try{h=JSON.parse(i)}catch{continue}let l={...h,_source:b};f.push(l);let m=h.type,n=h.timestamp;if(!n)continue;let o=new Date(n),p=o.getTime();if("user"===m){let a=h.message;if(Array.isArray(a?.content)){let b=a.content;if(b.some(a=>"tool_result"===a.type)){let a=h.toolUseResult,c="string"==typeof a?.agentId?a.agentId:void 0;for(let a of(c&&/^[a-f0-9]+$/.test(c)&&g.add(c),b)){if("tool_result"!==a.type)continue;let b=a.tool_use_id;if(!b)continue;let{text:e,images:f}=function(a){let b=a.content;if("string"==typeof b)return{text:b};if(Array.isArray(b)){let a=b.filter(a=>"text"===a.type).map(a=>a.text),c=b.filter(a=>"image"===a.type).map(a=>{let b=a.source;return{base64:b.data,mediaType:b.media_type}}).filter(a=>a.base64&&a.mediaType);return{text:a.length>0?a.join("\n"):void 0,images:c.length>0?c:void 0}}return{}}(a);d.set(b,{timestamp:n,timestampMs:p,content:e,images:f,agentId:c})}continue}}let c="string"==typeof a?.content?a.content:"";e.push({type:"user",...j(h,n,o,b),message:{role:"user",content:c}});continue}if("assistant"===m){let a=h.message,c=[];if(Array.isArray(a?.content)&&(c=a.content.filter(a=>["text","tool_use","thinking"].includes(a.type)).map(a=>{if("text"===a.type)return{type:"text",text:a.text};if("tool_use"===a.type){let b=a.input;return{type:"tool_use",id:a.id,name:a.name,input:a.input??{},..."Task"===a.name&&b?{subagentType:b.subagent_type,subagentDescription:b.description}:{}}}return{type:"thinking",thinking:a.thinking,signature:a.signature}})),0===c.length)continue;e.push({type:"assistant",...j(h,n,o,b),message:{role:"assistant",content:c,model:a?.model}});continue}if("file-history-snapshot"===m||"progress"===m||"system"===m){e.push({type:m,...j(h,n,o,b),raw:{...h}});continue}if("queue-operation"===m){let a=k?"Session Resumed":"Session Started";k=!0,e.push({type:"queue-operation",...j(h,n,o,b),label:a});continue}}let l=0;for(let a of e)if("assistant"===a.type)for(let b of(++l%200==0&&await new Promise(a=>setImmediate(a)),a.message.content)){if("tool_use"!==b.type)continue;let c=d.get(b.id);if(!c)continue;let e=new Date(c.timestamp),f=c.timestampMs-a.timestampMs;b.result={timestamp:c.timestamp,timestampFormatted:i(e),content:c.content,images:c.images,durationMs:f,durationFormatted:h(f)},c.agentId&&(b.subagentId=c.agentId)}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,subagentIds:Array.from(g)}}function l(a,b){for(let c of a)if("assistant"===c.type){for(let a of c.message.content)if("tool_use"===a.type&&"Task"===a.name&&a.subagentId===b)return{type:a.subagentType,description:a.subagentDescription}}}async function m(a,f){let g=(0,d.getClaudeProjectsPath)(),h=(0,c.join)(g,a,`${f}.jsonl`),i=await (0,b.readFile)(h,"utf-8"),{entries:j,rawLines:l,subagentIds:m}=await k(i,"session");if(0===m.length)return{entries:j,rawLines:l,subagentIds:[]};let n=await Promise.allSettled(m.map(async c=>{let d=`agent-${c}`,h=await e(g,a,f,c);if(!h)return null;let i=await (0,b.readFile)(h,"utf-8"),{entries:j,rawLines:l}=await k(i,d);return{entries:j,rawLines:l}})),o=[...j],p=[...l];for(let a of n)"fulfilled"===a.status&&a.value&&(o.push(...a.value.entries),p.push(...a.value.rawLines));return o.length>500&&await new Promise(a=>setImmediate(a)),o.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:o,rawLines:p,subagentIds:m}}a.s(["formatDuration",()=>h],92246);let n=(0,f.runtimeCache)((a,b)=>m(a,b),60,{maxSize:50});a.s(["extractSubagentMeta",()=>l,"getCachedSessionLog",0,n,"parseSessionLog",()=>m],83397)},651,46721,26192,39784,70427,a=>{"use strict";var b=a.i(54799),c=a.i(24868),d=a.i(14747),e=a.i(90798);let f=null;function g(){if(f)return f;let a=(0,d.resolve)((0,e.getClaudeProjectsPath)());return f=(0,b.createHash)("sha256").update(a).digest("hex").slice(0,8)}let h=new Map;async function i(a,f){let g=(0,e.getClaudeProjectsPath)(),i=(0,d.join)(g,a,`${f}.jsonl`),j=Date.now(),k=h.get(i);if(k&&k.expiresAt>j)return k.hash;let l=await (0,c.stat)(i),m=`${l.mtimeMs}:${l.size}`,n=(0,b.createHash)("sha256").update(m).digest("hex");return h.set(i,{hash:n,expiresAt:j+5e3}),n}async function j(a,f,g){let h=(0,e.getClaudeProjectsPath)(),i=`agent-${g}.jsonl`,j=[(0,d.join)(h,a,i),(0,d.join)(h,a,f,i),(0,d.join)(h,a,f,"subagents",i)];for(let a of(await Promise.allSettled(j.map(a=>(0,c.stat)(a)))))if("fulfilled"===a.status){let c=a.value,d=`${c.mtimeMs}:${c.size}`;return(0,b.createHash)("sha256").update(d).digest("hex")}return""}let k=new WeakMap;function l(a){let c=k.get(a);return c||(c=(0,b.createHash)("sha256").update(a.toString()).digest("hex"),k.set(a,c)),c}let m=null;async function n(){if(null!==m)return m;let a=process.env.CLAUDEYE_EVALS_MODULE;if(!a)return m="","";try{let d=await (0,c.readFile)(a,"utf-8");return m=(0,b.createHash)("sha256").update(d).digest("hex")}catch{return m="",""}}a.s(["hashEvalsModule",()=>n,"hashItemCode",()=>l,"hashProjectsPath",()=>g,"hashSessionFile",()=>i,"hashSubagentFile",()=>j],46721);var o=a.i(46786);async function p(a,b){let c=Array(a.length),d=0;async function e(){for(;d<a.length;){let b=d++;try{c[b]={status:"fulfilled",value:await a[b]()}}catch(a){c[b]={status:"rejected",reason:a}}}}let f=Array.from({length:Math.min(b,a.length)},()=>e());return await Promise.all(f),c}a.s(["batchAll",()=>p],26192);var q=a.i(76668);let r=(0,d.join)((0,o.homedir)(),".claudeye","cache");class s{basePath;constructor(a){this.basePath=a||r}keyToPath(a){return(0,d.join)(this.basePath,`${a}.json`)}async get(a){try{let b=this.keyToPath(a),d=await (0,c.readFile)(b,"utf-8");return JSON.parse(d)}catch{return null}}async set(a,b,e){try{let f=this.keyToPath(a);await (0,c.mkdir)((0,d.dirname)(f),{recursive:!0}),await (0,c.writeFile)(f,JSON.stringify({value:b,meta:e}),"utf-8")}catch(b){(0,q.logWarn)(`[cache] Write failed for ${a}:`,b instanceof Error?b.message:b)}}async invalidate(a){try{await (0,c.unlink)(this.keyToPath(a))}catch{}}async invalidateByPrefix(a){try{let b=a.split("/"),e=b.pop()||"",f=(0,d.join)(this.basePath,...b),g=(await (0,c.readdir)(f)).filter(a=>a.endsWith(".json")&&a.startsWith(e));await p(g.map(a=>()=>(0,c.unlink)((0,d.join)(f,a)).catch(()=>{})),50)}catch{}}async close(){}async clearAll(){try{await (0,c.rm)(this.basePath,{recursive:!0,force:!0})}catch{}}}a.s(["LocalCacheBackend",()=>s],39784);let t="__CLAUDEYE_CACHE_BACKEND__";function u(){let a=globalThis;if(a[t])return a[t];let b=new s(process.env.CLAUDEYE_CACHE_PATH||void 0);return a[t]=b,b}function v(a,b,c){let d=g();return`${d}/${a}/${b}/${c}`}async function w(a,b,c,d,e){let f=u();try{let g=await f.get(v(a,b,c));if(!g)return null;let h=e??await i(b,c);if(g.meta.contentHash!==h)return null;let j=await n();if(g.meta.evalsModuleHash!==j)return null;let k=[...g.meta.registeredNames].sort(),l=[...d].sort();if(k.length!==l.length||k.some((a,b)=>a!==l[b]))return null;return{...g,cached:!0}}catch{return null}}async function x(a,b,c,d,e,f){let g=u();try{let[h,j]=await Promise.all([f?Promise.resolve(f):i(b,c),n()]);await g.set(v(a,b,c),d,{cachedAt:new Date().toISOString(),contentHash:h,evalsModuleHash:j,registeredNames:e})}catch(d){(0,q.logWarn)(`[cache] setCachedResult failed for ${a}/${b}/${c}:`,d instanceof Error?d.message:d)}}function y(a,b,c,d){let e=g();return`${e}/${a}/${b}/${c}/item/${d}`}async function z(a,b,c,d,e,f){let g=u();try{let h=await g.get(y(a,b,c,d));if(!h)return null;let j=h.meta,k=f??await i(b,c);if(j.contentHash!==k||j.itemCodeHash!==e)return null;return{value:h.value,meta:j,cached:!0}}catch{return null}}async function A(a,b,c,d,e,f,g){let h=u();try{let j=g??await i(b,c);await h.set(y(a,b,c,d),f,{cachedAt:new Date().toISOString(),contentHash:j,itemCodeHash:e})}catch(e){(0,q.logWarn)(`[cache] setPerItemCache failed for ${a}/${b}/${c}/${d}:`,e instanceof Error?e.message:e)}}async function B(b,c,d,e,f,g){let h=await z(b,c,d,e,f,g);if(!h)return null;if("evals"!==b&&"enrichments"!==b)return h;let{getCacheInvalidationHook:i}=await a.A(65726),j=i();if(!j)return h;let k={itemName:e,itemKind:b,cachedAt:h.meta.cachedAt,contentHash:h.meta.contentHash,itemCodeHash:h.meta.itemCodeHash,projectName:c,sessionId:d,cachedValue:h.value};try{if(await j(k))return await D(b,c,d,e),null}catch{}return h}async function C(a,b,c,d){let e=u();try{let f=await e.get(y(a,b,c,d));if(!f)return null;return f.meta}catch{return null}}async function D(a,b,c,d){let e=u();try{await e.invalidate(y(a,b,c,d))}catch{}}async function E(a,b,c){let d=u();try{let e=g();await d.invalidateByPrefix(`${e}/${a}/${b}/${c}/item/`)}catch{}}async function F(a,b,c,d){let e=u();try{let f=y("conditions",a,b,"__queueCondition__"),g=await e.get(f);if(!g)return null;let h=g.meta;if(h.contentHash!==d||h.conditionCodeHash!==c)return null;return{result:g.value.result,cached:!0}}catch{return null}}async function G(a,b,c,d,e){let f=u();try{let g=y("conditions",a,b,"__queueCondition__");await f.set(g,{result:d},{cachedAt:new Date().toISOString(),contentHash:e,conditionCodeHash:c})}catch(c){(0,q.logWarn)(`[cache] setConditionCache failed for ${a}/${b}:`,c instanceof Error?c.message:c)}}async function H(b,c,d){let[{getSessionScopedEvals:e},{getSessionScopedEnrichers:f}]=await Promise.all([a.A(45397),a.A(79288)]),g=e(),h=f();if(0===g.length&&0===h.length)return!0;let j=d??await i(b,c);return!!j&&(await Promise.all([...g.map(a=>B("evals",b,c,a.name,l(a.fn),j)),...h.map(a=>B("enrichments",b,c,a.name,l(a.fn),j))])).every(a=>null!==a)}async function I(){let a=globalThis,b=a[t];b&&(await b.close(),delete a[t])}a.s(["closeCacheBackend",()=>I,"getCachedResult",()=>w,"getConditionCache",()=>F,"getPerItemCache",()=>z,"getPerItemCacheMeta",()=>C,"getPerItemCacheWithHook",()=>B,"initCacheBackend",()=>u,"invalidatePerItemCache",()=>D,"invalidatePerItemCaches",()=>E,"isSessionFullyCached",()=>H,"setCachedResult",()=>x,"setConditionCache",()=>G,"setPerItemCache",()=>A],70427),a.s([],651)}];
5
+ export default _cjs;`;return await (0,b.writeFile)(e,f,"utf-8"),{shimPath:e,shimUrl:(0,d.pathToFileURL)(e).href}}async function n(a,d,e){let f=[a],g=new Set,h=[],n=null;if(e&&d){let a=await m(e,d);h.push(a.shimPath),n=a.shimUrl}for(;f.length>0;){let a=f.shift();if(g.has(a))continue;g.add(a);let d=await (0,b.readFile)(a,"utf-8");n&&(d=d.replace(/from\s+(['"])claudeye\1/g,`from '${n}'`)),e&&(d=d.replace(/require\s*\(\s*(['"])claudeye\1\s*\)/g,`require('${e.replace(/\\/g,"\\\\")}')`));let m=(0,c.dirname)(a),o=new Map;for(let a of[i,j]){let b,e=new RegExp(a.source,a.flags);for(;null!==(b=e.exec(d));){let a=b[2];if(o.has(a))continue;let d=await l(m,a);if(!d)continue;g.has(d)||f.includes(d)||f.push(d);let e=(0,c.relative)(m,d+k).split("\\").join("/");e.startsWith(".")||(e="./"+e),o.set(a,e)}}for(let a of[...o.keys()].sort((a,b)=>b.length-a.length)){let b=o.get(a),c=a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");d=(d=d.replace(RegExp(`'${c}'`,"g"),`'${b}'`)).replace(RegExp(`"${c}"`,"g"),`"${b}"`)}let p=a+k;await (0,b.writeFile)(p,d,"utf-8"),h.push(p)}return h}async function o(){if(f)return;let a=process.env.CLAUDEYE_EVALS_MODULE;if(!a){f=!0;return}let c=globalThis;c[e]=!0;let g=[];try{let b=await h(),c=b?(0,d.pathToFileURL)(b).href:null;g=await n(a,c,b);let e=(0,d.pathToFileURL)(a+k).href;await import(e)}finally{for(let a of(c[e]=!1,g))try{await (0,b.unlink)(a)}catch{}}f=!0}a.s(["ensureEvalsLoaded",()=>o])},90798,a=>{"use strict";var b=a.i(46786),c=a.i(14747);function d(a){return/^[A-Za-z]--/.test(a)?a[0]+":/"+a.slice(3).replace(/-/g,"/"):a.replace(/-/g,"/")}function e(){let a=process.env.CLAUDE_PROJECTS_PATH;return a||(0,c.join)((0,b.homedir)(),".claude","projects")}a.s(["decodeFolderName",()=>d,"getClaudeProjectsPath",()=>e])},34900,82248,a=>{"use strict";function b(a,b,c){let d=new Map,e=new Map,f=c?.maxSize;return async(...c)=>{let g=JSON.stringify(c),h=d.get(g);if(h&&Date.now()<h.expiry)return f&&(d.delete(g),d.set(g,h)),h.data;let i=e.get(g);if(i)return i;let j=a(...c).then(a=>{if(e.delete(g),f&&d.size>=f){let a=d.keys().next().value;d.delete(a)}return d.set(g,{data:a,expiry:Date.now()+1e3*b}),a},a=>{throw e.delete(g),a});return e.set(g,j),j}}function c(a){return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",hour12:!0}).format(a)}a.s(["runtimeCache",()=>b],34900),a.s(["formatDate",()=>c],82248)},83397,92246,a=>{"use strict";var b=a.i(24868),c=a.i(14747),d=a.i(90798);async function e(a,d,e,f){let g=`agent-${f}.jsonl`;for(let f of[(0,c.join)(a,d,g),(0,c.join)(a,d,e,g),(0,c.join)(a,d,e,"subagents",g)])if(!(0,c.relative)(a,f).startsWith(".."))try{return await (0,b.access)(f),f}catch(a){if("ENOENT"!==a.code)continue}return null}var f=a.i(34900),g=a.i(82248);function h(a){if(a<1e3)return`${a}ms`;let b=a/1e3;if(b<60)return`${b.toFixed(1)}s`;let c=Math.floor(b/60);if(c>=60){let a=Math.floor(c/60);return`${a}h ${c%60}m`}let d=(b%60).toFixed(0);return`${c}m ${d}s`}function i(a){let b=(0,g.formatDate)(a),c=a.getMilliseconds().toString().padStart(3,"0");return`${b}.${c}`}function j(a,b,c,d){return{_source:d,uuid:a.uuid||"",parentUuid:a.parentUuid??null,timestamp:b,timestampMs:c.getTime(),timestampFormatted:i(c)}}async function k(a,b){let c=a.split("\n").filter(a=>""!==a.trim()),d=new Map,e=[],f=[],g=new Set,k=!1;for(let a=0;a<c.length;a++){let h;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let i=c[a];try{h=JSON.parse(i)}catch{continue}let l={...h,_source:b};f.push(l);let m=h.type,n=h.timestamp;if(!n)continue;let o=new Date(n),p=o.getTime();if("user"===m){let a=h.message;if(Array.isArray(a?.content)){let b=a.content;if(b.some(a=>"tool_result"===a.type)){let a=h.toolUseResult,c="string"==typeof a?.agentId?a.agentId:void 0;for(let a of(c&&/^[a-f0-9]+$/.test(c)&&g.add(c),b)){if("tool_result"!==a.type)continue;let b=a.tool_use_id;if(!b)continue;let{text:e,images:f}=function(a){let b=a.content;if("string"==typeof b)return{text:b};if(Array.isArray(b)){let a=b.filter(a=>"text"===a.type).map(a=>a.text),c=b.filter(a=>"image"===a.type).map(a=>{let b=a.source;return{base64:b.data,mediaType:b.media_type}}).filter(a=>a.base64&&a.mediaType);return{text:a.length>0?a.join("\n"):void 0,images:c.length>0?c:void 0}}return{}}(a);d.set(b,{timestamp:n,timestampMs:p,content:e,images:f,agentId:c})}continue}}let c="string"==typeof a?.content?a.content:"";e.push({type:"user",...j(h,n,o,b),message:{role:"user",content:c}});continue}if("assistant"===m){let a=h.message,c=[];if(Array.isArray(a?.content)&&(c=a.content.filter(a=>["text","tool_use","thinking"].includes(a.type)).map(a=>{if("text"===a.type)return{type:"text",text:a.text};if("tool_use"===a.type){let b=a.input;return{type:"tool_use",id:a.id,name:a.name,input:a.input??{},..."Task"===a.name&&b?{subagentType:b.subagent_type,subagentDescription:b.description}:{}}}return{type:"thinking",thinking:a.thinking,signature:a.signature}})),0===c.length)continue;e.push({type:"assistant",...j(h,n,o,b),message:{role:"assistant",content:c,model:a?.model}});continue}if("file-history-snapshot"===m||"progress"===m||"system"===m){e.push({type:m,...j(h,n,o,b),raw:{...h}});continue}if("queue-operation"===m){let a=k?"Session Resumed":"Session Started";k=!0,e.push({type:"queue-operation",...j(h,n,o,b),label:a});continue}}let l=0;for(let a of e)if("assistant"===a.type)for(let b of(++l%200==0&&await new Promise(a=>setImmediate(a)),a.message.content)){if("tool_use"!==b.type)continue;let c=d.get(b.id);if(!c)continue;let e=new Date(c.timestamp),f=c.timestampMs-a.timestampMs;b.result={timestamp:c.timestamp,timestampFormatted:i(e),content:c.content,images:c.images,durationMs:f,durationFormatted:h(f)},c.agentId&&(b.subagentId=c.agentId)}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,subagentIds:Array.from(g)}}function l(a,b){for(let c of a)if("assistant"===c.type){for(let a of c.message.content)if("tool_use"===a.type&&"Task"===a.name&&a.subagentId===b)return{type:a.subagentType,description:a.subagentDescription}}}async function m(a,f){let g=(0,d.getClaudeProjectsPath)(),h=(0,c.join)(g,a,`${f}.jsonl`),i=await (0,b.readFile)(h,"utf-8"),{entries:j,rawLines:l,subagentIds:m}=await k(i,"session");if(0===m.length)return{entries:j,rawLines:l,subagentIds:[]};let n=await Promise.allSettled(m.map(async c=>{let d=`agent-${c}`,h=await e(g,a,f,c);if(!h)return null;let i=await (0,b.readFile)(h,"utf-8"),{entries:j,rawLines:l}=await k(i,d);return{entries:j,rawLines:l}})),o=[...j],p=[...l];for(let a of n)"fulfilled"===a.status&&a.value&&(o.push(...a.value.entries),p.push(...a.value.rawLines));return o.length>500&&await new Promise(a=>setImmediate(a)),o.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:o,rawLines:p,subagentIds:m}}a.s(["formatDuration",()=>h],92246);let n=(0,f.runtimeCache)((a,b)=>m(a,b),60,{maxSize:50});a.s(["extractSubagentMeta",()=>l,"getCachedSessionLog",0,n,"parseSessionLog",()=>m],83397)},651,46721,26192,39784,70427,a=>{"use strict";var b=a.i(54799),c=a.i(24868),d=a.i(14747),e=a.i(90798);let f=null;function g(){if(f)return f;let a=(0,d.resolve)((0,e.getClaudeProjectsPath)());return f=(0,b.createHash)("sha256").update(a).digest("hex").slice(0,8)}let h=new Map;async function i(a,f){let g=(0,e.getClaudeProjectsPath)(),i=(0,d.join)(g,a,`${f}.jsonl`),j=Date.now(),k=h.get(i);if(k&&k.expiresAt>j)return k.hash;let l=await (0,c.stat)(i),m=`${l.mtimeMs}:${l.size}`,n=(0,b.createHash)("sha256").update(m).digest("hex");return h.set(i,{hash:n,expiresAt:j+5e3}),n}async function j(a,f,g){let h=(0,e.getClaudeProjectsPath)(),i=`agent-${g}.jsonl`,j=[(0,d.join)(h,a,i),(0,d.join)(h,a,f,i),(0,d.join)(h,a,f,"subagents",i)];for(let a of(await Promise.allSettled(j.map(a=>(0,c.stat)(a)))))if("fulfilled"===a.status){let c=a.value,d=`${c.mtimeMs}:${c.size}`;return(0,b.createHash)("sha256").update(d).digest("hex")}return""}let k=new WeakMap;function l(a){let c=k.get(a);return c||(c=(0,b.createHash)("sha256").update(a.toString()).digest("hex"),k.set(a,c)),c}let m=null;async function n(){if(null!==m)return m;let a=process.env.CLAUDEYE_EVALS_MODULE;if(!a)return m="","";try{let d=await (0,c.readFile)(a,"utf-8");return m=(0,b.createHash)("sha256").update(d).digest("hex")}catch{return m="",""}}a.s(["hashEvalsModule",()=>n,"hashItemCode",()=>l,"hashProjectsPath",()=>g,"hashSessionFile",()=>i,"hashSubagentFile",()=>j],46721);var o=a.i(46786);async function p(a,b){let c=Array(a.length),d=0;async function e(){for(;d<a.length;){let b=d++;try{c[b]={status:"fulfilled",value:await a[b]()}}catch(a){c[b]={status:"rejected",reason:a}}}}let f=Array.from({length:Math.min(b,a.length)},()=>e());return await Promise.all(f),c}a.s(["batchAll",()=>p],26192);var q=a.i(76668);let r=(0,d.join)((0,o.homedir)(),".claudeye","cache");class s{basePath;constructor(a){this.basePath=a||r}keyToPath(a){return(0,d.join)(this.basePath,`${a}.json`)}async get(a){try{let b=this.keyToPath(a),d=await (0,c.readFile)(b,"utf-8");return JSON.parse(d)}catch{return null}}async set(a,b,e){try{let f=this.keyToPath(a);await (0,c.mkdir)((0,d.dirname)(f),{recursive:!0}),await (0,c.writeFile)(f,JSON.stringify({value:b,meta:e}),"utf-8")}catch(b){(0,q.logWarn)(`[cache] Write failed for ${a}:`,b instanceof Error?b.message:b)}}async invalidate(a){try{await (0,c.unlink)(this.keyToPath(a))}catch{}}async invalidateByPrefix(a){try{let b=a.split("/"),e=b.pop()||"",f=(0,d.join)(this.basePath,...b),g=(await (0,c.readdir)(f)).filter(a=>a.endsWith(".json")&&a.startsWith(e));await p(g.map(a=>()=>(0,c.unlink)((0,d.join)(f,a)).catch(()=>{})),50)}catch{}}async close(){}async clearAll(){try{await (0,c.rm)(this.basePath,{recursive:!0,force:!0})}catch{}}}a.s(["LocalCacheBackend",()=>s],39784);let t="__CLAUDEYE_CACHE_BACKEND__";function u(){let a=globalThis;if(a[t])return a[t];let b=new s(process.env.CLAUDEYE_CACHE_PATH||void 0);return a[t]=b,b}function v(a,b,c){let d=g();return`${d}/${a}/${b}/${c}`}async function w(a,b,c,d,e){let f=u();try{let g=await f.get(v(a,b,c));if(!g)return null;let h=e??await i(b,c);if(g.meta.contentHash!==h)return null;let j=await n();if(g.meta.evalsModuleHash!==j)return null;let k=[...g.meta.registeredNames].sort(),l=[...d].sort();if(k.length!==l.length||k.some((a,b)=>a!==l[b]))return null;return{...g,cached:!0}}catch{return null}}async function x(a,b,c,d,e,f){let g=u();try{let[h,j]=await Promise.all([f?Promise.resolve(f):i(b,c),n()]);await g.set(v(a,b,c),d,{cachedAt:new Date().toISOString(),contentHash:h,evalsModuleHash:j,registeredNames:e})}catch(d){(0,q.logWarn)(`[cache] setCachedResult failed for ${a}/${b}/${c}:`,d instanceof Error?d.message:d)}}function y(a,b,c,d){let e=g();return`${e}/${a}/${b}/${c}/item/${d}`}async function z(a,b,c,d,e,f){let g=u();try{let e=await g.get(y(a,b,c,d));if(!e)return null;let h=e.meta,j=f??await i(b,c);if(h.contentHash!==j)return null;return{value:e.value,meta:h,cached:!0}}catch{return null}}async function A(a,b,c,d,e,f,g){let h=u();try{let j=g??await i(b,c);await h.set(y(a,b,c,d),f,{cachedAt:new Date().toISOString(),contentHash:j,itemCodeHash:e})}catch(e){(0,q.logWarn)(`[cache] setPerItemCache failed for ${a}/${b}/${c}/${d}:`,e instanceof Error?e.message:e)}}async function B(b,c,d,e,f,g){let h=await z(b,c,d,e,f,g);if(!h)return null;if("evals"!==b&&"enrichments"!==b)return h;let{getCacheInvalidationHook:i}=await a.A(65726),j=i();if(!j)return h;let k={itemName:e,itemKind:b,cachedAt:h.meta.cachedAt,contentHash:h.meta.contentHash,itemCodeHash:h.meta.itemCodeHash,currentItemCodeHash:f,projectName:c,sessionId:d,cachedValue:h.value};try{if(await j(k))return await D(b,c,d,e),null}catch{}return h}async function C(a,b,c,d){let e=u();try{let f=await e.get(y(a,b,c,d));if(!f)return null;return f.meta}catch{return null}}async function D(a,b,c,d){let e=u();try{await e.invalidate(y(a,b,c,d))}catch{}}async function E(a,b,c){let d=u();try{let e=g();await d.invalidateByPrefix(`${e}/${a}/${b}/${c}/item/`)}catch{}}async function F(a,b,c,d){let e=u();try{let f=y("conditions",a,b,"__queueCondition__"),g=await e.get(f);if(!g)return null;let h=g.meta;if(h.contentHash!==d||h.conditionCodeHash!==c)return null;return{result:g.value.result,cached:!0}}catch{return null}}async function G(a,b,c,d,e){let f=u();try{let g=y("conditions",a,b,"__queueCondition__");await f.set(g,{result:d},{cachedAt:new Date().toISOString(),contentHash:e,conditionCodeHash:c})}catch(c){(0,q.logWarn)(`[cache] setConditionCache failed for ${a}/${b}:`,c instanceof Error?c.message:c)}}async function H(b,c,d){let[{getSessionScopedEvals:e},{getSessionScopedEnrichers:f}]=await Promise.all([a.A(45397),a.A(79288)]),g=e(),h=f();if(0===g.length&&0===h.length)return!0;let j=d??await i(b,c);return!!j&&(await Promise.all([...g.map(a=>B("evals",b,c,a.name,l(a.fn),j)),...h.map(a=>B("enrichments",b,c,a.name,l(a.fn),j))])).every(a=>null!==a)}async function I(){let a=globalThis,b=a[t];b&&(await b.close(),delete a[t])}a.s(["closeCacheBackend",()=>I,"getCachedResult",()=>w,"getConditionCache",()=>F,"getPerItemCache",()=>z,"getPerItemCacheMeta",()=>C,"getPerItemCacheWithHook",()=>B,"initCacheBackend",()=>u,"invalidatePerItemCache",()=>D,"invalidatePerItemCaches",()=>E,"isSessionFullyCached",()=>H,"setCachedResult",()=>x,"setConditionCache",()=>G,"setPerItemCache",()=>A],70427),a.s([],651)}];
6
6
 
7
7
  //# sourceMappingURL=%5Broot-of-the-server%5D__75df9303._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[76668,a=>{"use strict";let b={info:0,warn:1,error:2},c="warn";function d(){let a=(process.env.CLAUDEYE_LOG_LEVEL??"").toLowerCase();c="info"===a||"warn"===a||"error"===a?a:"warn"}function e(){return c}function f(a){return b[a]>=b[c]}function g(a){return`[claudeye ${new Date().toISOString()}] ${a}`}function h(a,b){f("info")&&(void 0!==b?console.log(g("INFO"),a,b):console.log(g("INFO"),a))}function i(a,b){f("warn")&&(void 0!==b?console.warn(g("WARN"),a,b):console.warn(g("WARN"),a))}function j(a,b){void 0!==b?console.error(g("ERROR"),a,b):console.error(g("ERROR"),a)}function k(a,b,c){if(!f("info"))return;let d=[`user=${a}`,`action=${b}`];c&&d.push(c),console.log(g("ACTIVITY"),d.join(" "))}async function l(){try{let{cookies:b}=await a.A(23804),c=await b(),d=c.get("claudeye_session")?.value;if(!d)return"anonymous";let e=process.env.CLAUDEYE_AUTH_SECRET??"",{verifySessionCookie:f}=await a.A(76958);return await f(d,e)??"anonymous"}catch{return"anonymous"}}a.s(["getLogLevel",()=>e,"getRequestUsername",()=>l,"initLogger",()=>d,"logActivity",()=>k,"logError",()=>j,"logInfo",()=>h,"logWarn",()=>i])},37936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},13095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(a,b){if(a.length!==b.length){let c=Math.max(a.length,b.length);for(let d=0;d<c;d++)a.charCodeAt(d%a.length),b.charCodeAt(d%b.length);return!1}let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(0,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40c95bf3bfc400a64f4e7cc04484a6a1547ce14973",null),(0,b.registerServerReference)(l,"00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",null),a.s(["login",()=>k,"logout",()=>l],77728)},9223,a=>{"use strict";function b(a){let b=new Uint8Array(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function c(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=atob(b+"=".repeat((4-b.length%4)%4)),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}async function d(a){let b=new TextEncoder;return crypto.subtle.importKey("raw",b.encode(a),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function e(a,c){let e=JSON.stringify({u:a,e:Date.now()+864e5}),f=new TextEncoder().encode(e),g=await d(c),h=await crypto.subtle.sign("HMAC",g,f);return`${b(f.buffer)}.${b(h)}`}async function f(a,b){let e=a.indexOf(".");if(e<0)return null;try{let f=a.slice(0,e),g=a.slice(e+1),h=c(f),i=c(g),j=await d(b);if(!await crypto.subtle.verify("HMAC",j,i.buffer,h.buffer))return null;let{u:k,e:l}=JSON.parse(new TextDecoder().decode(h));if("number"!=typeof l||Date.now()>l)return null;return"string"==typeof k?k:null}catch{return null}}function g(a){return a.trim()?a.split(",").reduce((a,b)=>{let c=b.indexOf(":");return c>0&&a.push({username:b.slice(0,c),password:b.slice(c+1)}),a},[]):[]}a.s(["createSessionCookie",()=>e,"parseAuthUsers",()=>g,"verifySessionCookie",()=>f])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.5",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},46325,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_ENRICHER_REGISTRY__");function c(a,d,e,f="session",g){let h={name:a,fn:d,scope:f};e&&(h.condition=e),g&&(h.subagentType=g),b.register(h)}let d=b.getAll,e=b.getSessionScoped,f=b.getSubagentScoped,g=b.hasSubagent,h=b.has,i=b.clear;a.s(["clearEnrichers",0,i,"getRegisteredEnrichers",0,d,"getSessionScopedEnrichers",0,e,"getSubagentScopedEnrichers",0,f,"hasEnrichers",0,h,"hasSubagentEnrichers",0,g,"registerEnricher",()=>c])},70467,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_EVAL_REGISTRY__");function c(a,d,e,f="session",g){let h={name:a,fn:d,scope:f};e&&(h.condition=e),g&&(h.subagentType=g),b.register(h)}let d=b.getAll,e=b.getSessionScoped,f=b.getSubagentScoped,g=b.hasSubagent,h=b.has,i=b.clear;a.s(["clearEvals",0,i,"getRegisteredEvals",0,d,"getSessionScopedEvals",0,e,"getSubagentScopedEvals",0,f,"hasEvals",0,h,"hasSubagentEvals",0,g,"registerEval",()=>c])},69191,a=>{"use strict";var b=a.i(24868),c=a.i(14747),d=a.i(90798),e=a.i(34900),f=a.i(76668),g=a.i(82248);async function h(a,c){try{return(await (0,b.stat)(a)).mtime}catch(a){return(0,f.logWarn)(`Failed to stat ${c}:`,a),new Date(0)}}async function i(a){try{if(!(await (0,b.stat)(a)).isDirectory())return null;return await (0,b.readdir)(a,{withFileTypes:!0})}catch{return null}}async function j(){try{let a=(0,d.getClaudeProjectsPath)(),b=await i(a);if(!b)return[];let e=await Promise.all(b.filter(a=>a.isDirectory()).map(async b=>{let d=(0,c.join)(a,b.name),e=await h(d,b.name);return{name:b.name,path:d,isDirectory:!0,lastModified:e,lastModifiedFormatted:(0,g.formatDate)(e)}}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,f.logError)("Error reading project folders:",a),[]}}function k(a){let b=(0,d.getClaudeProjectsPath)();return(0,c.join)(b,a)}function l(a){let b=a.match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i);return b?b[0]:void 0}async function m(a){try{let b=await i(a);if(!b)return[];let d=b.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")&&l(a.name)),e=await Promise.all(d.map(async b=>{let d=(0,c.join)(a,b.name),e=await h(d,b.name);return{name:b.name,path:d,lastModified:e,lastModifiedFormatted:(0,g.formatDate)(e),sessionId:l(b.name)}}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,f.logError)("Error reading session files:",a),[]}}let n=(0,e.runtimeCache)(j,30),o=(0,e.runtimeCache)(a=>m(a),30);a.s(["getCachedProjectFolders",0,n,"getCachedSessionFiles",0,o,"getProjectPath",()=>k])},65003,a=>{"use strict";var b=a.i(70467),c=a.i(50871);async function d(a,d,e,f,g,h){let i=g??(0,b.getRegisteredEvals)(),j={entries:a,stats:d,projectName:e,sessionId:f,source:"session",...h};return(0,c.runAll)(i,j,{skipResult:a=>({name:a.name,pass:!1,score:0,durationMs:0,skipped:!0}),successResult:(a,b,c)=>{var d;return{name:a.name,pass:b.pass,score:null==(d=b.score)?1:Math.max(0,Math.min(1,d)),message:b.message,metadata:b.metadata,durationMs:c}},errorResult:(a,b,c)=>({name:a.name,pass:!1,score:0,durationMs:c,error:b}),unexpectedResult:()=>({name:"?",pass:!1,score:0,durationMs:0,error:"Unexpected rejection"}),buildSummary:(a,b)=>{let c=0,d=0,e=0,f=0;for(let b of a)b.skipped?f++:b.error?e++:b.pass?c++:d++;return{results:a,totalDurationMs:b,passCount:c,failCount:d,errorCount:e,skippedCount:f}}})}a.s(["runAllEvals",()=>d])},50871,a=>{"use strict";async function b(a,b,c){let d=[],e=performance.now(),f=globalThis.__CLAUDEYE_CONDITION_REGISTRY__??null,g=!1;if(f)try{await f(b)||(g=!0)}catch{g=!0}if(g)for(let b of a)d.push(c.skipResult(b));else{let e=a.map(async a=>{if(a.condition)try{if(!await a.condition(b))return c.skipResult(a)}catch(b){return c.errorResult(a,`Condition error: ${b instanceof Error?b.message:String(b)}`,0)}let d=performance.now();try{let e=await a.fn(b),f=Math.round(performance.now()-d);return c.successResult(a,e,f)}catch(e){let b=Math.round(performance.now()-d);return c.errorResult(a,e instanceof Error?e.message:String(e),b)}});for(let a of(await Promise.allSettled(e)))d.push("fulfilled"===a.status?a.value:c.unexpectedResult())}let h=Math.round(performance.now()-e);return c.buildSummary(d,h)}a.s(["runAll",()=>b],50871)},31810,a=>{"use strict";var b=a.i(46325),c=a.i(50871);async function d(a,d,e,f,g,h){let i=g??(0,b.getRegisteredEnrichers)(),j={entries:a,stats:d,projectName:e,sessionId:f,source:"session",...h};return(0,c.runAll)(i,j,{skipResult:a=>({name:a.name,data:{},durationMs:0,skipped:!0}),successResult:(a,b,c)=>({name:a.name,data:b,durationMs:c}),errorResult:(a,b,c)=>({name:a.name,data:{},durationMs:c,error:b}),unexpectedResult:()=>({name:"?",data:{},durationMs:0,error:"Unexpected rejection"}),buildSummary:(a,b)=>{let c=0,d=0;for(let b of a)b.skipped?d++:b.error&&c++;return{results:a,totalDurationMs:b,errorCount:c,skippedCount:d}}})}a.s(["runAllEnrichers",()=>d])},20396,82762,a=>{"use strict";var b=a.i(37936),c=a.i(62733);let d="__CLAUDEYE_DASHBOARD_FILTER_REGISTRY__",e="__CLAUDEYE_DASHBOARD_VIEW_REGISTRY__",f="__CLAUDEYE_DASHBOARD_AGGREGATE_REGISTRY__",g="__CLAUDEYE_DASHBOARD_PREBUILT_FILTER_REGISTRY__";function h(){let a=globalThis;return a[d]||(a[d]=[]),a[d]}function i(){let a=globalThis;return a[e]||(a[e]=[]),a[e]}function j(){return h()}function k(a){return h().filter(b=>b.view===a)}function l(a){return i().find(b=>b.name===a)}function m(){return i()}function n(a){let b;return(!(b=globalThis)[f]&&(b[f]=[]),b[f]).filter(b=>b.view===a)}function o(a){let b;return(!(b=globalThis)[g]&&(b[g]=[]),b[g]).filter(b=>b.view===a)}async function p(){try{await (0,c.ensureEvalsLoaded)();let a=m().map(a=>({name:a.name,label:a.label,filterCount:k(a.name).length,aggregateCount:n(a.name).length})),b=k("default").length>0,d=n("default").length>0;return{ok:!0,views:a,hasDefaultFilters:b,hasDefaultAggregates:d}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}a.s(["getAggregatesForView",()=>n,"getFiltersForView",()=>k,"getPreBuiltFiltersForView",()=>o,"getRegisteredFilters",()=>j,"getRegisteredViews",()=>m,"getViewOptions",()=>l],82762),(0,a.i(13095).ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"00e8bf70553bbbd141ad55e8a3a26d8c54e3877b02",null),a.s(["listDashboardViews",()=>p],20396)},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(["00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",()=>c.logout,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",()=>b.getTelemetryConfig,"00e8bf70553bbbd141ad55e8a3a26d8c54e3877b02",()=>d.listDashboardViews,"4054cae29175a82e2fc75dc4895ff686fcd86351ca",()=>f.computeAggregates,"60b6574710866457ecc1afdfa8b72395d73e4e772d",()=>e.computeDashboard],45646)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},23804,a=>{a.v(a=>Promise.resolve().then(()=>a(5246)))},76958,a=>{a.v(a=>Promise.resolve().then(()=>a(9223)))},47538,a=>{a.v(a=>Promise.resolve().then(()=>a(76668)))},65726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/lib_evals_cache-invalidation-registry_ts_2ee53a56._.js"].map(b=>a.l(b))).then(()=>b(16991)))},45397,a=>{a.v(a=>Promise.resolve().then(()=>a(70467)))},79288,a=>{a.v(a=>Promise.resolve().then(()=>a(46325)))}];
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"00ea388367f31da83fbf502d5f7d5735bd0342bcf7",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(a,b){if(a.length!==b.length){let c=Math.max(a.length,b.length);for(let d=0;d<c;d++)a.charCodeAt(d%a.length),b.charCodeAt(d%b.length);return!1}let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(0,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40386beab48853f66e230490146dba0ee269bf4c5e",null),(0,b.registerServerReference)(l,"008e47cae8966b5f60d55c9d42d92ed8de3bf66ff6",null),a.s(["login",()=>k,"logout",()=>l],77728)},9223,a=>{"use strict";function b(a){let b=new Uint8Array(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function c(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=atob(b+"=".repeat((4-b.length%4)%4)),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}async function d(a){let b=new TextEncoder;return crypto.subtle.importKey("raw",b.encode(a),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function e(a,c){let e=JSON.stringify({u:a,e:Date.now()+864e5}),f=new TextEncoder().encode(e),g=await d(c),h=await crypto.subtle.sign("HMAC",g,f);return`${b(f.buffer)}.${b(h)}`}async function f(a,b){let e=a.indexOf(".");if(e<0)return null;try{let f=a.slice(0,e),g=a.slice(e+1),h=c(f),i=c(g),j=await d(b);if(!await crypto.subtle.verify("HMAC",j,i.buffer,h.buffer))return null;let{u:k,e:l}=JSON.parse(new TextDecoder().decode(h));if("number"!=typeof l||Date.now()>l)return null;return"string"==typeof k?k:null}catch{return null}}function g(a){return a.trim()?a.split(",").reduce((a,b)=>{let c=b.indexOf(":");return c>0&&a.push({username:b.slice(0,c),password:b.slice(c+1)}),a},[]):[]}a.s(["createSessionCookie",()=>e,"parseAuthUsers",()=>g,"verifySessionCookie",()=>f])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.6-beta.0",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},46325,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_ENRICHER_REGISTRY__");function c(a,d,e,f="session",g){let h={name:a,fn:d,scope:f};e&&(h.condition=e),g&&(h.subagentType=g),b.register(h)}let d=b.getAll,e=b.getSessionScoped,f=b.getSubagentScoped,g=b.hasSubagent,h=b.has,i=b.clear;a.s(["clearEnrichers",0,i,"getRegisteredEnrichers",0,d,"getSessionScopedEnrichers",0,e,"getSubagentScopedEnrichers",0,f,"hasEnrichers",0,h,"hasSubagentEnrichers",0,g,"registerEnricher",()=>c])},70467,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_EVAL_REGISTRY__");function c(a,d,e,f="session",g){let h={name:a,fn:d,scope:f};e&&(h.condition=e),g&&(h.subagentType=g),b.register(h)}let d=b.getAll,e=b.getSessionScoped,f=b.getSubagentScoped,g=b.hasSubagent,h=b.has,i=b.clear;a.s(["clearEvals",0,i,"getRegisteredEvals",0,d,"getSessionScopedEvals",0,e,"getSubagentScopedEvals",0,f,"hasEvals",0,h,"hasSubagentEvals",0,g,"registerEval",()=>c])},69191,a=>{"use strict";var b=a.i(24868),c=a.i(14747),d=a.i(90798),e=a.i(34900),f=a.i(76668),g=a.i(82248);async function h(a,c){try{return(await (0,b.stat)(a)).mtime}catch(a){return(0,f.logWarn)(`Failed to stat ${c}:`,a),new Date(0)}}async function i(a){try{if(!(await (0,b.stat)(a)).isDirectory())return null;return await (0,b.readdir)(a,{withFileTypes:!0})}catch{return null}}async function j(){try{let a=(0,d.getClaudeProjectsPath)(),b=await i(a);if(!b)return[];let e=await Promise.all(b.filter(a=>a.isDirectory()).map(async b=>{let d=(0,c.join)(a,b.name),e=await h(d,b.name);return{name:b.name,path:d,isDirectory:!0,lastModified:e,lastModifiedFormatted:(0,g.formatDate)(e)}}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,f.logError)("Error reading project folders:",a),[]}}function k(a){let b=(0,d.getClaudeProjectsPath)();return(0,c.join)(b,a)}function l(a){let b=a.match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i);return b?b[0]:void 0}async function m(a){try{let b=await i(a);if(!b)return[];let d=b.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")&&l(a.name)),e=await Promise.all(d.map(async b=>{let d=(0,c.join)(a,b.name),e=await h(d,b.name);return{name:b.name,path:d,lastModified:e,lastModifiedFormatted:(0,g.formatDate)(e),sessionId:l(b.name)}}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,f.logError)("Error reading session files:",a),[]}}let n=(0,e.runtimeCache)(j,30),o=(0,e.runtimeCache)(a=>m(a),30);a.s(["getCachedProjectFolders",0,n,"getCachedSessionFiles",0,o,"getProjectPath",()=>k])},65003,a=>{"use strict";var b=a.i(70467),c=a.i(50871);async function d(a,d,e,f,g,h){let i=g??(0,b.getRegisteredEvals)(),j={entries:a,stats:d,projectName:e,sessionId:f,source:"session",...h};return(0,c.runAll)(i,j,{skipResult:a=>({name:a.name,pass:!1,score:0,durationMs:0,skipped:!0}),successResult:(a,b,c)=>{var d;return{name:a.name,pass:b.pass,score:null==(d=b.score)?1:Math.max(0,Math.min(1,d)),message:b.message,metadata:b.metadata,durationMs:c}},errorResult:(a,b,c)=>({name:a.name,pass:!1,score:0,durationMs:c,error:b}),unexpectedResult:()=>({name:"?",pass:!1,score:0,durationMs:0,error:"Unexpected rejection"}),buildSummary:(a,b)=>{let c=0,d=0,e=0,f=0;for(let b of a)b.skipped?f++:b.error?e++:b.pass?c++:d++;return{results:a,totalDurationMs:b,passCount:c,failCount:d,errorCount:e,skippedCount:f}}})}a.s(["runAllEvals",()=>d])},50871,a=>{"use strict";async function b(a,b,c){let d=[],e=performance.now(),f=globalThis.__CLAUDEYE_CONDITION_REGISTRY__??null,g=!1;if(f)try{await f(b)||(g=!0)}catch{g=!0}if(g)for(let b of a)d.push(c.skipResult(b));else{let e=a.map(async a=>{if(a.condition)try{if(!await a.condition(b))return c.skipResult(a)}catch(b){return c.errorResult(a,`Condition error: ${b instanceof Error?b.message:String(b)}`,0)}let d=performance.now();try{let e=await a.fn(b),f=Math.round(performance.now()-d);return c.successResult(a,e,f)}catch(e){let b=Math.round(performance.now()-d);return c.errorResult(a,e instanceof Error?e.message:String(e),b)}});for(let a of(await Promise.allSettled(e)))d.push("fulfilled"===a.status?a.value:c.unexpectedResult())}let h=Math.round(performance.now()-e);return c.buildSummary(d,h)}a.s(["runAll",()=>b],50871)},31810,a=>{"use strict";var b=a.i(46325),c=a.i(50871);async function d(a,d,e,f,g,h){let i=g??(0,b.getRegisteredEnrichers)(),j={entries:a,stats:d,projectName:e,sessionId:f,source:"session",...h};return(0,c.runAll)(i,j,{skipResult:a=>({name:a.name,data:{},durationMs:0,skipped:!0}),successResult:(a,b,c)=>({name:a.name,data:b,durationMs:c}),errorResult:(a,b,c)=>({name:a.name,data:{},durationMs:c,error:b}),unexpectedResult:()=>({name:"?",data:{},durationMs:0,error:"Unexpected rejection"}),buildSummary:(a,b)=>{let c=0,d=0;for(let b of a)b.skipped?d++:b.error&&c++;return{results:a,totalDurationMs:b,errorCount:c,skippedCount:d}}})}a.s(["runAllEnrichers",()=>d])},20396,82762,a=>{"use strict";var b=a.i(37936),c=a.i(62733);let d="__CLAUDEYE_DASHBOARD_FILTER_REGISTRY__",e="__CLAUDEYE_DASHBOARD_VIEW_REGISTRY__",f="__CLAUDEYE_DASHBOARD_AGGREGATE_REGISTRY__",g="__CLAUDEYE_DASHBOARD_PREBUILT_FILTER_REGISTRY__";function h(){let a=globalThis;return a[d]||(a[d]=[]),a[d]}function i(){let a=globalThis;return a[e]||(a[e]=[]),a[e]}function j(){return h()}function k(a){return h().filter(b=>b.view===a)}function l(a){return i().find(b=>b.name===a)}function m(){return i()}function n(a){let b;return(!(b=globalThis)[f]&&(b[f]=[]),b[f]).filter(b=>b.view===a)}function o(a){let b;return(!(b=globalThis)[g]&&(b[g]=[]),b[g]).filter(b=>b.view===a)}async function p(){try{await (0,c.ensureEvalsLoaded)();let a=m().map(a=>({name:a.name,label:a.label,filterCount:k(a.name).length,aggregateCount:n(a.name).length})),b=k("default").length>0,d=n("default").length>0;return{ok:!0,views:a,hasDefaultFilters:b,hasDefaultAggregates:d}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}a.s(["getAggregatesForView",()=>n,"getFiltersForView",()=>k,"getPreBuiltFiltersForView",()=>o,"getRegisteredFilters",()=>j,"getRegisteredViews",()=>m,"getViewOptions",()=>l],82762),(0,a.i(13095).ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"003f214fea7175669046ecd3077bffd940ccbacb3f",null),a.s(["listDashboardViews",()=>p],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(["003f214fea7175669046ecd3077bffd940ccbacb3f",()=>d.listDashboardViews,"008e47cae8966b5f60d55c9d42d92ed8de3bf66ff6",()=>c.logout,"00ea388367f31da83fbf502d5f7d5735bd0342bcf7",()=>b.getTelemetryConfig,"40a883899247ccf814d532597aec681937f04a5b48",()=>f.computeAggregates,"60652a0bdc3b2a1a24229bb9e1c3ffca85ef7184ba",()=>e.computeDashboard],45646)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},23804,a=>{a.v(a=>Promise.resolve().then(()=>a(5246)))},76958,a=>{a.v(a=>Promise.resolve().then(()=>a(9223)))},47538,a=>{a.v(a=>Promise.resolve().then(()=>a(76668)))},65726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/lib_evals_cache-invalidation-registry_ts_2ee53a56._.js"].map(b=>a.l(b))).then(()=>b(16991)))},45397,a=>{a.v(a=>Promise.resolve().then(()=>a(70467)))},79288,a=>{a.v(a=>Promise.resolve().then(()=>a(46325)))}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__82c381fd._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[76668,a=>{"use strict";let b={info:0,warn:1,error:2},c="warn";function d(){let a=(process.env.CLAUDEYE_LOG_LEVEL??"").toLowerCase();c="info"===a||"warn"===a||"error"===a?a:"warn"}function e(){return c}function f(a){return b[a]>=b[c]}function g(a){return`[claudeye ${new Date().toISOString()}] ${a}`}function h(a,b){f("info")&&(void 0!==b?console.log(g("INFO"),a,b):console.log(g("INFO"),a))}function i(a,b){f("warn")&&(void 0!==b?console.warn(g("WARN"),a,b):console.warn(g("WARN"),a))}function j(a,b){void 0!==b?console.error(g("ERROR"),a,b):console.error(g("ERROR"),a)}function k(a,b,c){if(!f("info"))return;let d=[`user=${a}`,`action=${b}`];c&&d.push(c),console.log(g("ACTIVITY"),d.join(" "))}async function l(){try{let{cookies:b}=await a.A(23804),c=await b(),d=c.get("claudeye_session")?.value;if(!d)return"anonymous";let e=process.env.CLAUDEYE_AUTH_SECRET??"",{verifySessionCookie:f}=await a.A(76958);return await f(d,e)??"anonymous"}catch{return"anonymous"}}a.s(["getLogLevel",()=>e,"getRequestUsername",()=>l,"initLogger",()=>d,"logActivity",()=>k,"logError",()=>j,"logInfo",()=>h,"logWarn",()=>i])},37936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},13095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(a,b){if(a.length!==b.length){let c=Math.max(a.length,b.length);for(let d=0;d<c;d++)a.charCodeAt(d%a.length),b.charCodeAt(d%b.length);return!1}let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(0,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40c95bf3bfc400a64f4e7cc04484a6a1547ce14973",null),(0,b.registerServerReference)(l,"00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",null),a.s(["login",()=>k,"logout",()=>l],77728)},9223,a=>{"use strict";function b(a){let b=new Uint8Array(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function c(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=atob(b+"=".repeat((4-b.length%4)%4)),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}async function d(a){let b=new TextEncoder;return crypto.subtle.importKey("raw",b.encode(a),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function e(a,c){let e=JSON.stringify({u:a,e:Date.now()+864e5}),f=new TextEncoder().encode(e),g=await d(c),h=await crypto.subtle.sign("HMAC",g,f);return`${b(f.buffer)}.${b(h)}`}async function f(a,b){let e=a.indexOf(".");if(e<0)return null;try{let f=a.slice(0,e),g=a.slice(e+1),h=c(f),i=c(g),j=await d(b);if(!await crypto.subtle.verify("HMAC",j,i.buffer,h.buffer))return null;let{u:k,e:l}=JSON.parse(new TextDecoder().decode(h));if("number"!=typeof l||Date.now()>l)return null;return"string"==typeof k?k:null}catch{return null}}function g(a){return a.trim()?a.split(",").reduce((a,b)=>{let c=b.indexOf(":");return c>0&&a.push({username:b.slice(0,c),password:b.slice(c+1)}),a},[]):[]}a.s(["createSessionCookie",()=>e,"parseAuthUsers",()=>g,"verifySessionCookie",()=>f])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.5",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},46325,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_ENRICHER_REGISTRY__");function c(a,d,e,f="session",g){let h={name:a,fn:d,scope:f};e&&(h.condition=e),g&&(h.subagentType=g),b.register(h)}let d=b.getAll,e=b.getSessionScoped,f=b.getSubagentScoped,g=b.hasSubagent,h=b.has,i=b.clear;a.s(["clearEnrichers",0,i,"getRegisteredEnrichers",0,d,"getSessionScopedEnrichers",0,e,"getSubagentScopedEnrichers",0,f,"hasEnrichers",0,h,"hasSubagentEnrichers",0,g,"registerEnricher",()=>c])},70467,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_EVAL_REGISTRY__");function c(a,d,e,f="session",g){let h={name:a,fn:d,scope:f};e&&(h.condition=e),g&&(h.subagentType=g),b.register(h)}let d=b.getAll,e=b.getSessionScoped,f=b.getSubagentScoped,g=b.hasSubagent,h=b.has,i=b.clear;a.s(["clearEvals",0,i,"getRegisteredEvals",0,d,"getSessionScopedEvals",0,e,"getSubagentScopedEvals",0,f,"hasEvals",0,h,"hasSubagentEvals",0,g,"registerEval",()=>c])},69191,a=>{"use strict";var b=a.i(24868),c=a.i(14747),d=a.i(90798),e=a.i(34900),f=a.i(76668),g=a.i(82248);async function h(a,c){try{return(await (0,b.stat)(a)).mtime}catch(a){return(0,f.logWarn)(`Failed to stat ${c}:`,a),new Date(0)}}async function i(a){try{if(!(await (0,b.stat)(a)).isDirectory())return null;return await (0,b.readdir)(a,{withFileTypes:!0})}catch{return null}}async function j(){try{let a=(0,d.getClaudeProjectsPath)(),b=await i(a);if(!b)return[];let e=await Promise.all(b.filter(a=>a.isDirectory()).map(async b=>{let d=(0,c.join)(a,b.name),e=await h(d,b.name);return{name:b.name,path:d,isDirectory:!0,lastModified:e,lastModifiedFormatted:(0,g.formatDate)(e)}}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,f.logError)("Error reading project folders:",a),[]}}function k(a){let b=(0,d.getClaudeProjectsPath)();return(0,c.join)(b,a)}function l(a){let b=a.match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i);return b?b[0]:void 0}async function m(a){try{let b=await i(a);if(!b)return[];let d=b.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")&&l(a.name)),e=await Promise.all(d.map(async b=>{let d=(0,c.join)(a,b.name),e=await h(d,b.name);return{name:b.name,path:d,lastModified:e,lastModifiedFormatted:(0,g.formatDate)(e),sessionId:l(b.name)}}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,f.logError)("Error reading session files:",a),[]}}let n=(0,e.runtimeCache)(j,30),o=(0,e.runtimeCache)(a=>m(a),30);a.s(["getCachedProjectFolders",0,n,"getCachedSessionFiles",0,o,"getProjectPath",()=>k])},65003,a=>{"use strict";var b=a.i(70467),c=a.i(50871);async function d(a,d,e,f,g,h){let i=g??(0,b.getRegisteredEvals)(),j={entries:a,stats:d,projectName:e,sessionId:f,source:"session",...h};return(0,c.runAll)(i,j,{skipResult:a=>({name:a.name,pass:!1,score:0,durationMs:0,skipped:!0}),successResult:(a,b,c)=>{var d;return{name:a.name,pass:b.pass,score:null==(d=b.score)?1:Math.max(0,Math.min(1,d)),message:b.message,metadata:b.metadata,durationMs:c}},errorResult:(a,b,c)=>({name:a.name,pass:!1,score:0,durationMs:c,error:b}),unexpectedResult:()=>({name:"?",pass:!1,score:0,durationMs:0,error:"Unexpected rejection"}),buildSummary:(a,b)=>{let c=0,d=0,e=0,f=0;for(let b of a)b.skipped?f++:b.error?e++:b.pass?c++:d++;return{results:a,totalDurationMs:b,passCount:c,failCount:d,errorCount:e,skippedCount:f}}})}a.s(["runAllEvals",()=>d])},50871,a=>{"use strict";async function b(a,b,c){let d=[],e=performance.now(),f=globalThis.__CLAUDEYE_CONDITION_REGISTRY__??null,g=!1;if(f)try{await f(b)||(g=!0)}catch{g=!0}if(g)for(let b of a)d.push(c.skipResult(b));else{let e=a.map(async a=>{if(a.condition)try{if(!await a.condition(b))return c.skipResult(a)}catch(b){return c.errorResult(a,`Condition error: ${b instanceof Error?b.message:String(b)}`,0)}let d=performance.now();try{let e=await a.fn(b),f=Math.round(performance.now()-d);return c.successResult(a,e,f)}catch(e){let b=Math.round(performance.now()-d);return c.errorResult(a,e instanceof Error?e.message:String(e),b)}});for(let a of(await Promise.allSettled(e)))d.push("fulfilled"===a.status?a.value:c.unexpectedResult())}let h=Math.round(performance.now()-e);return c.buildSummary(d,h)}a.s(["runAll",()=>b],50871)},31810,a=>{"use strict";var b=a.i(46325),c=a.i(50871);async function d(a,d,e,f,g,h){let i=g??(0,b.getRegisteredEnrichers)(),j={entries:a,stats:d,projectName:e,sessionId:f,source:"session",...h};return(0,c.runAll)(i,j,{skipResult:a=>({name:a.name,data:{},durationMs:0,skipped:!0}),successResult:(a,b,c)=>({name:a.name,data:b,durationMs:c}),errorResult:(a,b,c)=>({name:a.name,data:{},durationMs:c,error:b}),unexpectedResult:()=>({name:"?",data:{},durationMs:0,error:"Unexpected rejection"}),buildSummary:(a,b)=>{let c=0,d=0;for(let b of a)b.skipped?d++:b.error&&c++;return{results:a,totalDurationMs:b,errorCount:c,skippedCount:d}}})}a.s(["runAllEnrichers",()=>d])},20396,82762,a=>{"use strict";var b=a.i(37936),c=a.i(62733);let d="__CLAUDEYE_DASHBOARD_FILTER_REGISTRY__",e="__CLAUDEYE_DASHBOARD_VIEW_REGISTRY__",f="__CLAUDEYE_DASHBOARD_AGGREGATE_REGISTRY__",g="__CLAUDEYE_DASHBOARD_PREBUILT_FILTER_REGISTRY__";function h(){let a=globalThis;return a[d]||(a[d]=[]),a[d]}function i(){let a=globalThis;return a[e]||(a[e]=[]),a[e]}function j(){return h()}function k(a){return h().filter(b=>b.view===a)}function l(a){return i().find(b=>b.name===a)}function m(){return i()}function n(a){let b;return(!(b=globalThis)[f]&&(b[f]=[]),b[f]).filter(b=>b.view===a)}function o(a){let b;return(!(b=globalThis)[g]&&(b[g]=[]),b[g]).filter(b=>b.view===a)}async function p(){try{await (0,c.ensureEvalsLoaded)();let a=m().map(a=>({name:a.name,label:a.label,filterCount:k(a.name).length,aggregateCount:n(a.name).length})),b=k("default").length>0,d=n("default").length>0;return{ok:!0,views:a,hasDefaultFilters:b,hasDefaultAggregates:d}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}a.s(["getAggregatesForView",()=>n,"getFiltersForView",()=>k,"getPreBuiltFiltersForView",()=>o,"getRegisteredFilters",()=>j,"getRegisteredViews",()=>m,"getViewOptions",()=>l],82762),(0,a.i(13095).ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"00e8bf70553bbbd141ad55e8a3a26d8c54e3877b02",null),a.s(["listDashboardViews",()=>p],20396)},45252,a=>{"use strict";var b=a.i(36359),c=a.i(77728),d=a.i(20396),e=a.i(42298),f=a.i(4930);a.s([],19065),a.i(19065),a.s(["00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",()=>c.logout,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",()=>b.getTelemetryConfig,"00e8bf70553bbbd141ad55e8a3a26d8c54e3877b02",()=>d.listDashboardViews,"4054cae29175a82e2fc75dc4895ff686fcd86351ca",()=>f.computeAggregates,"60b6574710866457ecc1afdfa8b72395d73e4e772d",()=>e.computeDashboard],45252)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},23804,a=>{a.v(a=>Promise.resolve().then(()=>a(5246)))},76958,a=>{a.v(a=>Promise.resolve().then(()=>a(9223)))},47538,a=>{a.v(a=>Promise.resolve().then(()=>a(76668)))},65726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/lib_evals_cache-invalidation-registry_ts_2ee53a56._.js"].map(b=>a.l(b))).then(()=>b(16991)))},45397,a=>{a.v(a=>Promise.resolve().then(()=>a(70467)))},79288,a=>{a.v(a=>Promise.resolve().then(()=>a(46325)))}];
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"00ea388367f31da83fbf502d5f7d5735bd0342bcf7",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(a,b){if(a.length!==b.length){let c=Math.max(a.length,b.length);for(let d=0;d<c;d++)a.charCodeAt(d%a.length),b.charCodeAt(d%b.length);return!1}let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(0,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40386beab48853f66e230490146dba0ee269bf4c5e",null),(0,b.registerServerReference)(l,"008e47cae8966b5f60d55c9d42d92ed8de3bf66ff6",null),a.s(["login",()=>k,"logout",()=>l],77728)},9223,a=>{"use strict";function b(a){let b=new Uint8Array(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function c(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=atob(b+"=".repeat((4-b.length%4)%4)),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}async function d(a){let b=new TextEncoder;return crypto.subtle.importKey("raw",b.encode(a),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function e(a,c){let e=JSON.stringify({u:a,e:Date.now()+864e5}),f=new TextEncoder().encode(e),g=await d(c),h=await crypto.subtle.sign("HMAC",g,f);return`${b(f.buffer)}.${b(h)}`}async function f(a,b){let e=a.indexOf(".");if(e<0)return null;try{let f=a.slice(0,e),g=a.slice(e+1),h=c(f),i=c(g),j=await d(b);if(!await crypto.subtle.verify("HMAC",j,i.buffer,h.buffer))return null;let{u:k,e:l}=JSON.parse(new TextDecoder().decode(h));if("number"!=typeof l||Date.now()>l)return null;return"string"==typeof k?k:null}catch{return null}}function g(a){return a.trim()?a.split(",").reduce((a,b)=>{let c=b.indexOf(":");return c>0&&a.push({username:b.slice(0,c),password:b.slice(c+1)}),a},[]):[]}a.s(["createSessionCookie",()=>e,"parseAuthUsers",()=>g,"verifySessionCookie",()=>f])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.6-beta.0",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},46325,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_ENRICHER_REGISTRY__");function c(a,d,e,f="session",g){let h={name:a,fn:d,scope:f};e&&(h.condition=e),g&&(h.subagentType=g),b.register(h)}let d=b.getAll,e=b.getSessionScoped,f=b.getSubagentScoped,g=b.hasSubagent,h=b.has,i=b.clear;a.s(["clearEnrichers",0,i,"getRegisteredEnrichers",0,d,"getSessionScopedEnrichers",0,e,"getSubagentScopedEnrichers",0,f,"hasEnrichers",0,h,"hasSubagentEnrichers",0,g,"registerEnricher",()=>c])},70467,a=>{"use strict";let b=(0,a.i(61972).createScopedRegistry)("__CLAUDEYE_EVAL_REGISTRY__");function c(a,d,e,f="session",g){let h={name:a,fn:d,scope:f};e&&(h.condition=e),g&&(h.subagentType=g),b.register(h)}let d=b.getAll,e=b.getSessionScoped,f=b.getSubagentScoped,g=b.hasSubagent,h=b.has,i=b.clear;a.s(["clearEvals",0,i,"getRegisteredEvals",0,d,"getSessionScopedEvals",0,e,"getSubagentScopedEvals",0,f,"hasEvals",0,h,"hasSubagentEvals",0,g,"registerEval",()=>c])},69191,a=>{"use strict";var b=a.i(24868),c=a.i(14747),d=a.i(90798),e=a.i(34900),f=a.i(76668),g=a.i(82248);async function h(a,c){try{return(await (0,b.stat)(a)).mtime}catch(a){return(0,f.logWarn)(`Failed to stat ${c}:`,a),new Date(0)}}async function i(a){try{if(!(await (0,b.stat)(a)).isDirectory())return null;return await (0,b.readdir)(a,{withFileTypes:!0})}catch{return null}}async function j(){try{let a=(0,d.getClaudeProjectsPath)(),b=await i(a);if(!b)return[];let e=await Promise.all(b.filter(a=>a.isDirectory()).map(async b=>{let d=(0,c.join)(a,b.name),e=await h(d,b.name);return{name:b.name,path:d,isDirectory:!0,lastModified:e,lastModifiedFormatted:(0,g.formatDate)(e)}}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,f.logError)("Error reading project folders:",a),[]}}function k(a){let b=(0,d.getClaudeProjectsPath)();return(0,c.join)(b,a)}function l(a){let b=a.match(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i);return b?b[0]:void 0}async function m(a){try{let b=await i(a);if(!b)return[];let d=b.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")&&l(a.name)),e=await Promise.all(d.map(async b=>{let d=(0,c.join)(a,b.name),e=await h(d,b.name);return{name:b.name,path:d,lastModified:e,lastModifiedFormatted:(0,g.formatDate)(e),sessionId:l(b.name)}}));return e.sort((a,b)=>b.lastModified.getTime()-a.lastModified.getTime()),e}catch(a){return(0,f.logError)("Error reading session files:",a),[]}}let n=(0,e.runtimeCache)(j,30),o=(0,e.runtimeCache)(a=>m(a),30);a.s(["getCachedProjectFolders",0,n,"getCachedSessionFiles",0,o,"getProjectPath",()=>k])},65003,a=>{"use strict";var b=a.i(70467),c=a.i(50871);async function d(a,d,e,f,g,h){let i=g??(0,b.getRegisteredEvals)(),j={entries:a,stats:d,projectName:e,sessionId:f,source:"session",...h};return(0,c.runAll)(i,j,{skipResult:a=>({name:a.name,pass:!1,score:0,durationMs:0,skipped:!0}),successResult:(a,b,c)=>{var d;return{name:a.name,pass:b.pass,score:null==(d=b.score)?1:Math.max(0,Math.min(1,d)),message:b.message,metadata:b.metadata,durationMs:c}},errorResult:(a,b,c)=>({name:a.name,pass:!1,score:0,durationMs:c,error:b}),unexpectedResult:()=>({name:"?",pass:!1,score:0,durationMs:0,error:"Unexpected rejection"}),buildSummary:(a,b)=>{let c=0,d=0,e=0,f=0;for(let b of a)b.skipped?f++:b.error?e++:b.pass?c++:d++;return{results:a,totalDurationMs:b,passCount:c,failCount:d,errorCount:e,skippedCount:f}}})}a.s(["runAllEvals",()=>d])},50871,a=>{"use strict";async function b(a,b,c){let d=[],e=performance.now(),f=globalThis.__CLAUDEYE_CONDITION_REGISTRY__??null,g=!1;if(f)try{await f(b)||(g=!0)}catch{g=!0}if(g)for(let b of a)d.push(c.skipResult(b));else{let e=a.map(async a=>{if(a.condition)try{if(!await a.condition(b))return c.skipResult(a)}catch(b){return c.errorResult(a,`Condition error: ${b instanceof Error?b.message:String(b)}`,0)}let d=performance.now();try{let e=await a.fn(b),f=Math.round(performance.now()-d);return c.successResult(a,e,f)}catch(e){let b=Math.round(performance.now()-d);return c.errorResult(a,e instanceof Error?e.message:String(e),b)}});for(let a of(await Promise.allSettled(e)))d.push("fulfilled"===a.status?a.value:c.unexpectedResult())}let h=Math.round(performance.now()-e);return c.buildSummary(d,h)}a.s(["runAll",()=>b],50871)},31810,a=>{"use strict";var b=a.i(46325),c=a.i(50871);async function d(a,d,e,f,g,h){let i=g??(0,b.getRegisteredEnrichers)(),j={entries:a,stats:d,projectName:e,sessionId:f,source:"session",...h};return(0,c.runAll)(i,j,{skipResult:a=>({name:a.name,data:{},durationMs:0,skipped:!0}),successResult:(a,b,c)=>({name:a.name,data:b,durationMs:c}),errorResult:(a,b,c)=>({name:a.name,data:{},durationMs:c,error:b}),unexpectedResult:()=>({name:"?",data:{},durationMs:0,error:"Unexpected rejection"}),buildSummary:(a,b)=>{let c=0,d=0;for(let b of a)b.skipped?d++:b.error&&c++;return{results:a,totalDurationMs:b,errorCount:c,skippedCount:d}}})}a.s(["runAllEnrichers",()=>d])},20396,82762,a=>{"use strict";var b=a.i(37936),c=a.i(62733);let d="__CLAUDEYE_DASHBOARD_FILTER_REGISTRY__",e="__CLAUDEYE_DASHBOARD_VIEW_REGISTRY__",f="__CLAUDEYE_DASHBOARD_AGGREGATE_REGISTRY__",g="__CLAUDEYE_DASHBOARD_PREBUILT_FILTER_REGISTRY__";function h(){let a=globalThis;return a[d]||(a[d]=[]),a[d]}function i(){let a=globalThis;return a[e]||(a[e]=[]),a[e]}function j(){return h()}function k(a){return h().filter(b=>b.view===a)}function l(a){return i().find(b=>b.name===a)}function m(){return i()}function n(a){let b;return(!(b=globalThis)[f]&&(b[f]=[]),b[f]).filter(b=>b.view===a)}function o(a){let b;return(!(b=globalThis)[g]&&(b[g]=[]),b[g]).filter(b=>b.view===a)}async function p(){try{await (0,c.ensureEvalsLoaded)();let a=m().map(a=>({name:a.name,label:a.label,filterCount:k(a.name).length,aggregateCount:n(a.name).length})),b=k("default").length>0,d=n("default").length>0;return{ok:!0,views:a,hasDefaultFilters:b,hasDefaultAggregates:d}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}a.s(["getAggregatesForView",()=>n,"getFiltersForView",()=>k,"getPreBuiltFiltersForView",()=>o,"getRegisteredFilters",()=>j,"getRegisteredViews",()=>m,"getViewOptions",()=>l],82762),(0,a.i(13095).ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"003f214fea7175669046ecd3077bffd940ccbacb3f",null),a.s(["listDashboardViews",()=>p],20396)},45252,a=>{"use strict";var b=a.i(36359),c=a.i(77728),d=a.i(20396),e=a.i(42298),f=a.i(4930);a.s([],19065),a.i(19065),a.s(["003f214fea7175669046ecd3077bffd940ccbacb3f",()=>d.listDashboardViews,"008e47cae8966b5f60d55c9d42d92ed8de3bf66ff6",()=>c.logout,"00ea388367f31da83fbf502d5f7d5735bd0342bcf7",()=>b.getTelemetryConfig,"40a883899247ccf814d532597aec681937f04a5b48",()=>f.computeAggregates,"60652a0bdc3b2a1a24229bb9e1c3ffca85ef7184ba",()=>e.computeDashboard],45252)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},23804,a=>{a.v(a=>Promise.resolve().then(()=>a(5246)))},76958,a=>{a.v(a=>Promise.resolve().then(()=>a(9223)))},47538,a=>{a.v(a=>Promise.resolve().then(()=>a(76668)))},65726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/lib_evals_cache-invalidation-registry_ts_2ee53a56._.js"].map(b=>a.l(b))).then(()=>b(16991)))},45397,a=>{a.v(a=>Promise.resolve().then(()=>a(70467)))},79288,a=>{a.v(a=>Promise.resolve().then(()=>a(46325)))}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__99f0c371._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[76668,a=>{"use strict";let b={info:0,warn:1,error:2},c="warn";function d(){let a=(process.env.CLAUDEYE_LOG_LEVEL??"").toLowerCase();c="info"===a||"warn"===a||"error"===a?a:"warn"}function e(){return c}function f(a){return b[a]>=b[c]}function g(a){return`[claudeye ${new Date().toISOString()}] ${a}`}function h(a,b){f("info")&&(void 0!==b?console.log(g("INFO"),a,b):console.log(g("INFO"),a))}function i(a,b){f("warn")&&(void 0!==b?console.warn(g("WARN"),a,b):console.warn(g("WARN"),a))}function j(a,b){void 0!==b?console.error(g("ERROR"),a,b):console.error(g("ERROR"),a)}function k(a,b,c){if(!f("info"))return;let d=[`user=${a}`,`action=${b}`];c&&d.push(c),console.log(g("ACTIVITY"),d.join(" "))}async function l(){try{let{cookies:b}=await a.A(23804),c=await b(),d=c.get("claudeye_session")?.value;if(!d)return"anonymous";let e=process.env.CLAUDEYE_AUTH_SECRET??"",{verifySessionCookie:f}=await a.A(76958);return await f(d,e)??"anonymous"}catch{return"anonymous"}}a.s(["getLogLevel",()=>e,"getRequestUsername",()=>l,"initLogger",()=>d,"logActivity",()=>k,"logError",()=>j,"logInfo",()=>h,"logWarn",()=>i])},37936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},13095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(a,b){if(a.length!==b.length){let c=Math.max(a.length,b.length);for(let d=0;d<c;d++)a.charCodeAt(d%a.length),b.charCodeAt(d%b.length);return!1}let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(0,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40c95bf3bfc400a64f4e7cc04484a6a1547ce14973",null),(0,b.registerServerReference)(l,"00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",null),a.s(["login",()=>k,"logout",()=>l],77728)},9223,a=>{"use strict";function b(a){let b=new Uint8Array(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function c(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=atob(b+"=".repeat((4-b.length%4)%4)),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}async function d(a){let b=new TextEncoder;return crypto.subtle.importKey("raw",b.encode(a),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function e(a,c){let e=JSON.stringify({u:a,e:Date.now()+864e5}),f=new TextEncoder().encode(e),g=await d(c),h=await crypto.subtle.sign("HMAC",g,f);return`${b(f.buffer)}.${b(h)}`}async function f(a,b){let e=a.indexOf(".");if(e<0)return null;try{let f=a.slice(0,e),g=a.slice(e+1),h=c(f),i=c(g),j=await d(b);if(!await crypto.subtle.verify("HMAC",j,i.buffer,h.buffer))return null;let{u:k,e:l}=JSON.parse(new TextDecoder().decode(h));if("number"!=typeof l||Date.now()>l)return null;return"string"==typeof k?k:null}catch{return null}}function g(a){return a.trim()?a.split(",").reduce((a,b)=>{let c=b.indexOf(":");return c>0&&a.push({username:b.slice(0,c),password:b.slice(c+1)}),a},[]):[]}a.s(["createSessionCookie",()=>e,"parseAuthUsers",()=>g,"verifySessionCookie",()=>f])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.5",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},12132,a=>{"use strict";var b=a.i(36359),c=a.i(77728);a.s([],22807),a.i(22807),a.s(["00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",()=>c.logout,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",()=>b.getTelemetryConfig],12132)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},23804,a=>{a.v(a=>Promise.resolve().then(()=>a(5246)))},76958,a=>{a.v(a=>Promise.resolve().then(()=>a(9223)))},47538,a=>{a.v(a=>Promise.resolve().then(()=>a(76668)))}];
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"00ea388367f31da83fbf502d5f7d5735bd0342bcf7",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(a,b){if(a.length!==b.length){let c=Math.max(a.length,b.length);for(let d=0;d<c;d++)a.charCodeAt(d%a.length),b.charCodeAt(d%b.length);return!1}let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(0,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40386beab48853f66e230490146dba0ee269bf4c5e",null),(0,b.registerServerReference)(l,"008e47cae8966b5f60d55c9d42d92ed8de3bf66ff6",null),a.s(["login",()=>k,"logout",()=>l],77728)},9223,a=>{"use strict";function b(a){let b=new Uint8Array(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function c(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=atob(b+"=".repeat((4-b.length%4)%4)),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}async function d(a){let b=new TextEncoder;return crypto.subtle.importKey("raw",b.encode(a),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function e(a,c){let e=JSON.stringify({u:a,e:Date.now()+864e5}),f=new TextEncoder().encode(e),g=await d(c),h=await crypto.subtle.sign("HMAC",g,f);return`${b(f.buffer)}.${b(h)}`}async function f(a,b){let e=a.indexOf(".");if(e<0)return null;try{let f=a.slice(0,e),g=a.slice(e+1),h=c(f),i=c(g),j=await d(b);if(!await crypto.subtle.verify("HMAC",j,i.buffer,h.buffer))return null;let{u:k,e:l}=JSON.parse(new TextDecoder().decode(h));if("number"!=typeof l||Date.now()>l)return null;return"string"==typeof k?k:null}catch{return null}}function g(a){return a.trim()?a.split(",").reduce((a,b)=>{let c=b.indexOf(":");return c>0&&a.push({username:b.slice(0,c),password:b.slice(c+1)}),a},[]):[]}a.s(["createSessionCookie",()=>e,"parseAuthUsers",()=>g,"verifySessionCookie",()=>f])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.6-beta.0",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},12132,a=>{"use strict";var b=a.i(36359),c=a.i(77728);a.s([],22807),a.i(22807),a.s(["008e47cae8966b5f60d55c9d42d92ed8de3bf66ff6",()=>c.logout,"00ea388367f31da83fbf502d5f7d5735bd0342bcf7",()=>b.getTelemetryConfig],12132)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},23804,a=>{a.v(a=>Promise.resolve().then(()=>a(5246)))},76958,a=>{a.v(a=>Promise.resolve().then(()=>a(9223)))},47538,a=>{a.v(a=>Promise.resolve().then(()=>a(76668)))}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__b9492585._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[76668,a=>{"use strict";let b={info:0,warn:1,error:2},c="warn";function d(){let a=(process.env.CLAUDEYE_LOG_LEVEL??"").toLowerCase();c="info"===a||"warn"===a||"error"===a?a:"warn"}function e(){return c}function f(a){return b[a]>=b[c]}function g(a){return`[claudeye ${new Date().toISOString()}] ${a}`}function h(a,b){f("info")&&(void 0!==b?console.log(g("INFO"),a,b):console.log(g("INFO"),a))}function i(a,b){f("warn")&&(void 0!==b?console.warn(g("WARN"),a,b):console.warn(g("WARN"),a))}function j(a,b){void 0!==b?console.error(g("ERROR"),a,b):console.error(g("ERROR"),a)}function k(a,b,c){if(!f("info"))return;let d=[`user=${a}`,`action=${b}`];c&&d.push(c),console.log(g("ACTIVITY"),d.join(" "))}async function l(){try{let{cookies:b}=await a.A(23804),c=await b(),d=c.get("claudeye_session")?.value;if(!d)return"anonymous";let e=process.env.CLAUDEYE_AUTH_SECRET??"",{verifySessionCookie:f}=await a.A(76958);return await f(d,e)??"anonymous"}catch{return"anonymous"}}a.s(["getLogLevel",()=>e,"getRequestUsername",()=>l,"initLogger",()=>d,"logActivity",()=>k,"logError",()=>j,"logInfo",()=>h,"logWarn",()=>i])},37936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},13095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(a,b){if(a.length!==b.length){let c=Math.max(a.length,b.length);for(let d=0;d<c;d++)a.charCodeAt(d%a.length),b.charCodeAt(d%b.length);return!1}let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(0,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40c95bf3bfc400a64f4e7cc04484a6a1547ce14973",null),(0,b.registerServerReference)(l,"00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",null),a.s(["login",()=>k,"logout",()=>l],77728)},9223,a=>{"use strict";function b(a){let b=new Uint8Array(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function c(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=atob(b+"=".repeat((4-b.length%4)%4)),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}async function d(a){let b=new TextEncoder;return crypto.subtle.importKey("raw",b.encode(a),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function e(a,c){let e=JSON.stringify({u:a,e:Date.now()+864e5}),f=new TextEncoder().encode(e),g=await d(c),h=await crypto.subtle.sign("HMAC",g,f);return`${b(f.buffer)}.${b(h)}`}async function f(a,b){let e=a.indexOf(".");if(e<0)return null;try{let f=a.slice(0,e),g=a.slice(e+1),h=c(f),i=c(g),j=await d(b);if(!await crypto.subtle.verify("HMAC",j,i.buffer,h.buffer))return null;let{u:k,e:l}=JSON.parse(new TextDecoder().decode(h));if("number"!=typeof l||Date.now()>l)return null;return"string"==typeof k?k:null}catch{return null}}function g(a){return a.trim()?a.split(",").reduce((a,b)=>{let c=b.indexOf(":");return c>0&&a.push({username:b.slice(0,c),password:b.slice(c+1)}),a},[]):[]}a.s(["createSessionCookie",()=>e,"parseAuthUsers",()=>g,"verifySessionCookie",()=>f])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.5",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},92941,a=>{"use strict";var b=a.i(36359),c=a.i(77728);a.s([],41983),a.i(41983),a.s(["00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",()=>c.logout,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",()=>b.getTelemetryConfig],92941)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},23804,a=>{a.v(a=>Promise.resolve().then(()=>a(5246)))},76958,a=>{a.v(a=>Promise.resolve().then(()=>a(9223)))},47538,a=>{a.v(a=>Promise.resolve().then(()=>a(76668)))}];
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"00ea388367f31da83fbf502d5f7d5735bd0342bcf7",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(a,b){if(a.length!==b.length){let c=Math.max(a.length,b.length);for(let d=0;d<c;d++)a.charCodeAt(d%a.length),b.charCodeAt(d%b.length);return!1}let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(0,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40386beab48853f66e230490146dba0ee269bf4c5e",null),(0,b.registerServerReference)(l,"008e47cae8966b5f60d55c9d42d92ed8de3bf66ff6",null),a.s(["login",()=>k,"logout",()=>l],77728)},9223,a=>{"use strict";function b(a){let b=new Uint8Array(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function c(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=atob(b+"=".repeat((4-b.length%4)%4)),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}async function d(a){let b=new TextEncoder;return crypto.subtle.importKey("raw",b.encode(a),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function e(a,c){let e=JSON.stringify({u:a,e:Date.now()+864e5}),f=new TextEncoder().encode(e),g=await d(c),h=await crypto.subtle.sign("HMAC",g,f);return`${b(f.buffer)}.${b(h)}`}async function f(a,b){let e=a.indexOf(".");if(e<0)return null;try{let f=a.slice(0,e),g=a.slice(e+1),h=c(f),i=c(g),j=await d(b);if(!await crypto.subtle.verify("HMAC",j,i.buffer,h.buffer))return null;let{u:k,e:l}=JSON.parse(new TextDecoder().decode(h));if("number"!=typeof l||Date.now()>l)return null;return"string"==typeof k?k:null}catch{return null}}function g(a){return a.trim()?a.split(",").reduce((a,b)=>{let c=b.indexOf(":");return c>0&&a.push({username:b.slice(0,c),password:b.slice(c+1)}),a},[]):[]}a.s(["createSessionCookie",()=>e,"parseAuthUsers",()=>g,"verifySessionCookie",()=>f])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.6-beta.0",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},92941,a=>{"use strict";var b=a.i(36359),c=a.i(77728);a.s([],41983),a.i(41983),a.s(["008e47cae8966b5f60d55c9d42d92ed8de3bf66ff6",()=>c.logout,"00ea388367f31da83fbf502d5f7d5735bd0342bcf7",()=>b.getTelemetryConfig],92941)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},23804,a=>{a.v(a=>Promise.resolve().then(()=>a(5246)))},76958,a=>{a.v(a=>Promise.resolve().then(()=>a(9223)))},47538,a=>{a.v(a=>Promise.resolve().then(()=>a(76668)))}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__cb5a5725._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[76668,a=>{"use strict";let b={info:0,warn:1,error:2},c="warn";function d(){let a=(process.env.CLAUDEYE_LOG_LEVEL??"").toLowerCase();c="info"===a||"warn"===a||"error"===a?a:"warn"}function e(){return c}function f(a){return b[a]>=b[c]}function g(a){return`[claudeye ${new Date().toISOString()}] ${a}`}function h(a,b){f("info")&&(void 0!==b?console.log(g("INFO"),a,b):console.log(g("INFO"),a))}function i(a,b){f("warn")&&(void 0!==b?console.warn(g("WARN"),a,b):console.warn(g("WARN"),a))}function j(a,b){void 0!==b?console.error(g("ERROR"),a,b):console.error(g("ERROR"),a)}function k(a,b,c){if(!f("info"))return;let d=[`user=${a}`,`action=${b}`];c&&d.push(c),console.log(g("ACTIVITY"),d.join(" "))}async function l(){try{let{cookies:b}=await a.A(23804),c=await b(),d=c.get("claudeye_session")?.value;if(!d)return"anonymous";let e=process.env.CLAUDEYE_AUTH_SECRET??"",{verifySessionCookie:f}=await a.A(76958);return await f(d,e)??"anonymous"}catch{return"anonymous"}}a.s(["getLogLevel",()=>e,"getRequestUsername",()=>l,"initLogger",()=>d,"logActivity",()=>k,"logError",()=>j,"logInfo",()=>h,"logWarn",()=>i])},37936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(11857)},13095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(a,b){if(a.length!==b.length){let c=Math.max(a.length,b.length);for(let d=0;d<c;d++)a.charCodeAt(d%a.length),b.charCodeAt(d%b.length);return!1}let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(0,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40c95bf3bfc400a64f4e7cc04484a6a1547ce14973",null),(0,b.registerServerReference)(l,"00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",null),a.s(["login",()=>k,"logout",()=>l],77728)},9223,a=>{"use strict";function b(a){let b=new Uint8Array(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function c(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=atob(b+"=".repeat((4-b.length%4)%4)),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}async function d(a){let b=new TextEncoder;return crypto.subtle.importKey("raw",b.encode(a),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function e(a,c){let e=JSON.stringify({u:a,e:Date.now()+864e5}),f=new TextEncoder().encode(e),g=await d(c),h=await crypto.subtle.sign("HMAC",g,f);return`${b(f.buffer)}.${b(h)}`}async function f(a,b){let e=a.indexOf(".");if(e<0)return null;try{let f=a.slice(0,e),g=a.slice(e+1),h=c(f),i=c(g),j=await d(b);if(!await crypto.subtle.verify("HMAC",j,i.buffer,h.buffer))return null;let{u:k,e:l}=JSON.parse(new TextDecoder().decode(h));if("number"!=typeof l||Date.now()>l)return null;return"string"==typeof k?k:null}catch{return null}}function g(a){return a.trim()?a.split(",").reduce((a,b)=>{let c=b.indexOf(":");return c>0&&a.push({username:b.slice(0,c),password:b.slice(c+1)}),a},[]):[]}a.s(["createSessionCookie",()=>e,"parseAuthUsers",()=>g,"verifySessionCookie",()=>f])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.5",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},97574,a=>{"use strict";var b=a.i(36359),c=a.i(77728),d=a.i(37936),e=a.i(2157),f=a.i(50227),g=a.i(60526);let h=(0,f.join)((0,g.homedir)(),".claudeye","cache","hook-activity"),i="current.jsonl";function j(){(0,e.existsSync)(h)||(0,e.mkdirSync)(h,{recursive:!0})}function k(){j();let a=m((0,f.join)(h,i)).reverse(),b=n(),c=[];for(let a of b){let b=m((0,f.join)(h,a));c.push(...b.reverse())}return[...a,...c]}function l(a){let b=a.length,c=0,d=new Map;for(let b of a)"deny"===b.decision&&c++,b.policyName&&d.set(b.policyName,(d.get(b.policyName)??0)+1);let e=null,f=0;for(let[a,b]of d)b>f&&(e=a,f=b);return{totalEvents:b,denyCount:c,topPolicy:e,topPolicyCount:f}}function m(a){let b=function(a){try{return(0,e.readFileSync)(a,"utf-8")}catch{return""}}(a);if(!b.trim())return[];let c=[];for(let a of b.trim().split("\n"))try{c.push(JSON.parse(a))}catch{}return c}function n(){try{return(0,e.readdirSync)(h).filter(a=>a.startsWith("page-")&&a.endsWith(".jsonl")).sort((a,b)=>{let c=a.slice(5,-6).split("-"),d=b.slice(5,-6).split("-"),e=parseInt(c[0],10),f=parseInt(d[0],10);if(e!==f)return f-e;let g=c.length>1?parseInt(c[1],10):0;return(d.length>1?parseInt(d[1],10):0)-g})}catch{return[]}}async function o(a){let b;return b=function(a){if(j(),a<1)return[];if(1===a)return m((0,f.join)(h,i)).reverse();let b=n(),c=a-2;return c>=b.length?[]:m((0,f.join)(h,b[c])).reverse()}(a),j(),{entries:b,totalPages:1+n().length,page:a,stats:l(k())}}async function p(a,b){let c,d,e,f;return e=Math.max(1,Math.ceil((d=(c=k()).filter(b=>(!a.decision||b.decision===a.decision)&&(!a.eventType||b.eventType===a.eventType)&&(!a.policyName||!!b.policyName&&!!b.policyName.toLowerCase().includes(a.policyName.toLowerCase())))).length/25)),f=(b-1)*25,{entries:d.slice(f,f+25),totalPages:e,page:b,stats:l(c)}}(0,a.i(13095).ensureServerEntryExports)([o,p]),(0,d.registerServerReference)(o,"4068173404034fe34a1155e8fa2d3d3c7d0808cde0",null),(0,d.registerServerReference)(p,"60b3502393bce2e6e978d13092400cda23aa1dd493",null),a.s([],5310),a.i(5310),a.s(["00ad96b1f9f8be6d8e677f446f3bae6e9f133ba185",()=>c.logout,"00d5f5b5ffc5b316388be66cf88317d6dea8981f3d",()=>b.getTelemetryConfig,"4068173404034fe34a1155e8fa2d3d3c7d0808cde0",()=>o,"60b3502393bce2e6e978d13092400cda23aa1dd493",()=>p],97574)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},23804,a=>{a.v(a=>Promise.resolve().then(()=>a(5246)))},76958,a=>{a.v(a=>Promise.resolve().then(()=>a(9223)))},47538,a=>{a.v(a=>Promise.resolve().then(()=>a(76668)))}];
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},36359,77728,a=>{"use strict";var b=a.i(37936),c=a.i(69839),d=a.i(48781),e=a.i(4730),f=a.i(13095);async function g(){let a=(0,d.isTelemetryEnabled)();return{enabled:a,distinctId:a?(0,c.getInstanceId)():"",apiKey:process.env.CLAUDEYE_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.CLAUDEYE_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"00ea388367f31da83fbf502d5f7d5735bd0342bcf7",null),a.s(["getTelemetryConfig",()=>g],36359);var h=a.i(5246),i=a.i(76668),j=a.i(9223);async function k(a){let b=a.get("username"),c=a.get("password"),d=a.get("redirectTo")||"/";if(!b||!c)return{error:"Username and password are required"};let e=process.env.CLAUDEYE_AUTH_USERS??"",f=(0,j.parseAuthUsers)(e),g=!1;for(let a of f){let d=m(a.username,b),e=m(a.password,c);d&&e&&(g=!0)}if(!g)return(0,i.logActivity)(b,"login-failed"),{error:"Invalid username or password"};let k=process.env.CLAUDEYE_AUTH_SECRET??"",l=await (0,j.createSessionCookie)(b,k),n=await (0,h.cookies)();return n.set("claudeye_session",l,{httpOnly:!0,sameSite:"lax",path:"/",maxAge:86400}),n.set("claudeye_auth","1",{sameSite:"lax",path:"/",maxAge:86400}),(0,i.logActivity)(b,"login"),{redirectTo:d}}async function l(){let{getRequestUsername:b}=await a.A(47538),c=await b();(0,i.logActivity)(c,"logout");let d=await (0,h.cookies)();return d.delete("claudeye_session"),d.delete("claudeye_auth"),{redirectTo:"/login"}}function m(a,b){if(a.length!==b.length){let c=Math.max(a.length,b.length);for(let d=0;d<c;d++)a.charCodeAt(d%a.length),b.charCodeAt(d%b.length);return!1}let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(0,f.ensureServerEntryExports)([k,l]),(0,b.registerServerReference)(k,"40386beab48853f66e230490146dba0ee269bf4c5e",null),(0,b.registerServerReference)(l,"008e47cae8966b5f60d55c9d42d92ed8de3bf66ff6",null),a.s(["login",()=>k,"logout",()=>l],77728)},9223,a=>{"use strict";function b(a){let b=new Uint8Array(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function c(a){let b=a.replace(/-/g,"+").replace(/_/g,"/"),c=atob(b+"=".repeat((4-b.length%4)%4)),d=new Uint8Array(c.length);for(let a=0;a<c.length;a++)d[a]=c.charCodeAt(a);return d}async function d(a){let b=new TextEncoder;return crypto.subtle.importKey("raw",b.encode(a),{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function e(a,c){let e=JSON.stringify({u:a,e:Date.now()+864e5}),f=new TextEncoder().encode(e),g=await d(c),h=await crypto.subtle.sign("HMAC",g,f);return`${b(f.buffer)}.${b(h)}`}async function f(a,b){let e=a.indexOf(".");if(e<0)return null;try{let f=a.slice(0,e),g=a.slice(e+1),h=c(f),i=c(g),j=await d(b);if(!await crypto.subtle.verify("HMAC",j,i.buffer,h.buffer))return null;let{u:k,e:l}=JSON.parse(new TextDecoder().decode(h));if("number"!=typeof l||Date.now()>l)return null;return"string"==typeof k?k:null}catch{return null}}function g(a){return a.trim()?a.split(",").reduce((a,b)=>{let c=b.indexOf(":");return c>0&&a.push({username:b.slice(0,c),password:b.slice(c+1)}),a},[]):[]}a.s(["createSessionCookie",()=>e,"parseAuthUsers",()=>g,"verifySessionCookie",()=>f])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},4730,a=>{a.v({name:"claudeye",version:"1.0.6-beta.0",description:"Watchtower for Claude Code & Agents SDK — replay sessions, run custom evals, debug agent traces locally",bin:{claudeye:"./bin/claudeye.mjs"},main:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"}},files:["bin/","dist/",".next/standalone/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{dev:"bun scripts/dev.ts --port 8020",build:"bun --bun next build","build:evals":"tsc -p tsconfig.evals.json && bun scripts/minify-dist.mjs","build:binary":"bun build --compile src/binary-entry.ts --outfile claudeye-local",start:"bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",prepublishOnly:"bun run build:evals && bun run build && bun scripts/prepare-package.mjs","set-versions":"bun scripts/set-versions.mjs","test:binary":"bash scripts/test-local.sh","test:binary:quick":"bash scripts/test-local.sh --skip-build","test:npx":"bash scripts/test-npx.sh"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","llm-observability","agent-observability","log-viewer","session-replay","eval-framework","developer-tools","devtools","cli","dashboard","local-first","monitoring","debugging","tracing"],author:"ExosphereHost Inc. <claudeye@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://claudeye.exosphere.host",repository:{type:"git",url:"https://github.com/exospherehost/claudeye.git"},bugs:{url:"https://github.com/exospherehost/claudeye/issues"},publishConfig:{access:"restricted"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.2.0","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",autoprefixer:"^10.4.24","class-variance-authority":"^0.7.1",clsx:"^2.1.1",eslint:"^10.0.3","eslint-config-next":"^16.1.6","happy-dom":"^20.7.0","lucide-react":"^0.577.0",next:"^16.1.6",postcss:"^8.5.6",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18","tw-animate-css":"^1.4.0",typescript:"^5.9.3",vite:"^8.0.0",vitest:"^4.0.18"},dependencies:{"posthog-node":"^5.28.0"}})},48781,69839,a=>{"use strict";let b;var c=a.i(2157),d=a.i(50227),e=a.i(60526),f=a.i(66680);a.i(74533);let g=d.default.join(e.default.homedir(),".claudeye"),h=d.default.join(g,"instance-id");function i(a){return f.default.createHmac("sha256","claudeye-telemetry-v1").update(a).digest("hex")}function j(){if(b)return b;let a=function(){try{for(let a of(e.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=c.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=i(a);let d=[e.default.hostname(),e.default.homedir(),e.default.platform(),e.default.arch(),e.default.cpus()[0]?.model??""].join(":");return b=d?i(d):function(){try{let a=c.default.readFileSync(h,"utf-8").trim();if(a)return a}catch{}let a=f.default.randomUUID();try{c.default.mkdirSync(g,{recursive:!0}),c.default.writeFileSync(h,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",()=>j],69839);var k=a.i(4730);function l(){return"1"!==process.env.CLAUDEYE_TELEMETRY_DISABLED}function m(a,b){if(!l())return;let c=globalThis.__CLAUDEYE_POSTHOG__;c&&c.capture({distinctId:j(),event:a,properties:{...b,$lib:"claudeye",claudeye_version:k.version}})}a.s(["isTelemetryEnabled",()=>l,"trackEvent",()=>m],48781)},97574,a=>{"use strict";var b=a.i(36359),c=a.i(77728),d=a.i(37936),e=a.i(2157),f=a.i(50227),g=a.i(60526);let h=(0,f.join)((0,g.homedir)(),".claudeye","cache","hook-activity"),i="current.jsonl";function j(){(0,e.existsSync)(h)||(0,e.mkdirSync)(h,{recursive:!0})}function k(){j();let a=m((0,f.join)(h,i)).reverse(),b=n(),c=[];for(let a of b){let b=m((0,f.join)(h,a));c.push(...b.reverse())}return[...a,...c]}function l(a){let b=a.length,c=0,d=new Map;for(let b of a)"deny"===b.decision&&c++,b.policyName&&d.set(b.policyName,(d.get(b.policyName)??0)+1);let e=null,f=0;for(let[a,b]of d)b>f&&(e=a,f=b);return{totalEvents:b,denyCount:c,topPolicy:e,topPolicyCount:f}}function m(a){let b=function(a){try{return(0,e.readFileSync)(a,"utf-8")}catch{return""}}(a);if(!b.trim())return[];let c=[];for(let a of b.trim().split("\n"))try{c.push(JSON.parse(a))}catch{}return c}function n(){try{return(0,e.readdirSync)(h).filter(a=>a.startsWith("page-")&&a.endsWith(".jsonl")).sort((a,b)=>{let c=a.slice(5,-6).split("-"),d=b.slice(5,-6).split("-"),e=parseInt(c[0],10),f=parseInt(d[0],10);if(e!==f)return f-e;let g=c.length>1?parseInt(c[1],10):0;return(d.length>1?parseInt(d[1],10):0)-g})}catch{return[]}}async function o(a){let b;return b=function(a){if(j(),a<1)return[];if(1===a)return m((0,f.join)(h,i)).reverse();let b=n(),c=a-2;return c>=b.length?[]:m((0,f.join)(h,b[c])).reverse()}(a),j(),{entries:b,totalPages:1+n().length,page:a,stats:l(k())}}async function p(a,b){let c,d,e,f;return e=Math.max(1,Math.ceil((d=(c=k()).filter(b=>(!a.decision||b.decision===a.decision)&&(!a.eventType||b.eventType===a.eventType)&&(!a.policyName||!!b.policyName&&!!b.policyName.toLowerCase().includes(a.policyName.toLowerCase())))).length/25)),f=(b-1)*25,{entries:d.slice(f,f+25),totalPages:e,page:b,stats:l(c)}}(0,a.i(13095).ensureServerEntryExports)([o,p]),(0,d.registerServerReference)(o,"40e87c81d95c5d252392da647533ff7d92fc1a5282",null),(0,d.registerServerReference)(p,"608e8bf08e8be168029e53262e1534ce1d7f188bbc",null),a.s([],5310),a.i(5310),a.s(["008e47cae8966b5f60d55c9d42d92ed8de3bf66ff6",()=>c.logout,"00ea388367f31da83fbf502d5f7d5735bd0342bcf7",()=>b.getTelemetryConfig,"40e87c81d95c5d252392da647533ff7d92fc1a5282",()=>o,"608e8bf08e8be168029e53262e1534ce1d7f188bbc",()=>p],97574)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__10373a08._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_8222e100._.js"].map(b=>a.l(b))).then(()=>b(74493)))},23804,a=>{a.v(a=>Promise.resolve().then(()=>a(5246)))},76958,a=>{a.v(a=>Promise.resolve().then(()=>a(9223)))},47538,a=>{a.v(a=>Promise.resolve().then(()=>a(76668)))}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__d015fef5._.js.map