failproofai 0.0.11-beta.9 → 0.0.11

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 (152) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +3 -3
  3. package/.next/standalone/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/required-server-files.json +1 -1
  5. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  6. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  7. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
  10. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  11. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  12. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  13. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  14. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  16. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  19. package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
  20. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
  21. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  22. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  23. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  24. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  25. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  26. package/.next/standalone/.next/server/app/api/audit/invite/route.js +1 -1
  27. package/.next/standalone/.next/server/app/api/audit/invite/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/audit/run/route.js +1 -1
  29. package/.next/standalone/.next/server/app/api/audit/run/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/auth/login-request/route.js +1 -1
  31. package/.next/standalone/.next/server/app/api/auth/login-request/route.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/api/auth/login-verify/route.js +1 -1
  33. package/.next/standalone/.next/server/app/api/auth/login-verify/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/auth/logout/route.js +1 -1
  35. package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/auth/reminder/route.js +1 -1
  37. package/.next/standalone/.next/server/app/api/auth/reminder/route.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/api/auth/status/route.js +1 -1
  39. package/.next/standalone/.next/server/app/api/auth/status/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/audit/page/server-reference-manifest.json +2 -2
  42. package/.next/standalone/.next/server/app/audit/page.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/index.html +1 -1
  45. package/.next/standalone/.next/server/app/index.rsc +15 -15
  46. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  47. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
  48. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  49. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
  50. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  51. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  52. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
  55. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  56. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  58. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  61. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  62. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  63. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  65. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  66. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/chunks/[externals]__1_g_b3t._.js +3 -0
  68. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0dwpg-h._.js +3 -0
  69. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0lnenda._.js +3 -0
  70. package/.next/standalone/.next/server/chunks/[root-of-the-server]__13i_sva._.js +3 -0
  71. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1_mqemn._.js +1 -1
  72. package/.next/standalone/.next/server/chunks/node_modules_0-tu4ot._.js +1 -1
  73. package/.next/standalone/.next/server/chunks/node_modules_1bnh1y0._.js +1 -1
  74. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_17k9e3w.js +3 -3
  75. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_01r25oi._.js +1 -1
  76. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_09z9-p7._.js +1 -1
  77. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_1nxcc4v._.js +1 -1
  78. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0e446gb._.js → [root-of-the-server]__00uwqi6._.js} +2 -2
  79. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0808sha._.js +2 -2
  80. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e4-6d8._.js +2 -2
  81. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ehe24g._.js +2 -2
  82. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g253ve._.js +2 -2
  83. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0k65l27._.js +1 -1
  84. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0wprfyc._.js → [root-of-the-server]__0kjb_s4._.js} +2 -2
  85. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0vxf0_g._.js +2 -2
  86. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12mcauo._.js +2 -2
  87. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1mt35_w._.js +1 -1
  88. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1pcxxwg._.js +2 -2
  89. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1uvfwgr._.js +2 -2
  90. package/.next/standalone/.next/server/chunks/ssr/_11_p9y8._.js +1 -1
  91. package/.next/standalone/.next/server/chunks/ssr/app_audit__components_audit-dashboard_tsx_0p9ud47._.js +49 -21
  92. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_1kp6l3x._.js +1 -1
  93. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_19dqvpc._.js +1 -1
  94. package/.next/standalone/.next/server/chunks/ssr/{node_modules_html-to-image_es_index_0y4a-0q.js → node_modules_html-to-image_es_index_0ihmbv4.js} +1 -1
  95. package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuzn._.js +1 -1
  96. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  97. package/.next/standalone/.next/server/pages/404.html +1 -1
  98. package/.next/standalone/.next/server/pages/500.html +1 -1
  99. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/server-reference-manifest.json +10 -10
  101. package/.next/standalone/.next/static/chunks/{3ty6dhcuogout.js → 02fywjt0by40a.js} +1 -1
  102. package/.next/standalone/.next/static/chunks/0xdx2ehtbdoeg.js +1 -0
  103. package/.next/standalone/.next/static/chunks/{07_d165p5h5ys.js → 1-a5rvq67k7ed.js} +1 -1
  104. package/.next/standalone/.next/static/chunks/{3nj6g3xu9uy78.js → 15csyj1_rf0-w.js} +1 -1
  105. package/.next/standalone/.next/static/chunks/1o0xa47736gi9.css +2 -0
  106. package/.next/standalone/.next/static/chunks/24cv31x607n7k.js +1 -0
  107. package/.next/standalone/.next/static/chunks/2n_s8v1ae38_a.js +69 -0
  108. package/.next/standalone/.next/static/chunks/{277oc363p56n6.js → 2y-jmvrjxz60x.js} +2 -2
  109. package/.next/standalone/.next/static/chunks/{1kvadxkgnapyj.js → 3eik_d9qrvoft.js} +1 -1
  110. package/.next/standalone/.next/static/chunks/{168k-8z6k7e8z.css → 3i27c3hcriawq.css} +1 -1
  111. package/.next/standalone/.next/static/chunks/{2z42u62k-8-_q.js → 3v61675vr6jav.js} +1 -1
  112. package/.next/standalone/app/api/audit/invite/route.ts +10 -1
  113. package/.next/standalone/app/api/audit/run/route.ts +35 -0
  114. package/.next/standalone/app/api/auth/login-request/route.ts +2 -2
  115. package/.next/standalone/app/api/auth/login-verify/route.ts +10 -2
  116. package/.next/standalone/app/audit/_components/audit-dashboard.tsx +9 -1
  117. package/.next/standalone/app/audit/_components/audit-poster.tsx +11 -7
  118. package/.next/standalone/app/audit/_components/auth-dialog.tsx +6 -4
  119. package/.next/standalone/app/audit/_components/come-back-better-section.tsx +23 -3
  120. package/.next/standalone/app/audit/_components/invite-dialog.tsx +6 -3
  121. package/.next/standalone/app/audit/_components/share-templates.ts +58 -28
  122. package/.next/standalone/app/audit/audit-styles.css +17 -22
  123. package/.next/standalone/app/globals.css +27 -2
  124. package/.next/standalone/app/policies/hooks-client.tsx +33 -24
  125. package/.next/standalone/components/reach-developers.tsx +10 -25
  126. package/.next/standalone/lib/auth/api-server-client.ts +5 -2
  127. package/.next/standalone/lib/client-telemetry.ts +4 -0
  128. package/.next/standalone/package.json +6 -4
  129. package/.next/standalone/server.js +1 -1
  130. package/README.md +2 -2
  131. package/bin/failproofai.mjs +24 -5
  132. package/dist/cli.mjs +2328 -381
  133. package/lib/auth/api-server-client.ts +5 -2
  134. package/lib/client-telemetry.ts +4 -0
  135. package/package.json +6 -4
  136. package/scripts/launch.ts +30 -4
  137. package/scripts/postinstall.mjs +10 -1
  138. package/scripts/skew-log-filter.ts +46 -0
  139. package/scripts/validate-mdx.ts +139 -0
  140. package/src/audit/cli.ts +330 -0
  141. package/src/audit/open-browser.ts +69 -0
  142. package/src/auth/cli.ts +16 -13
  143. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1r1h8v9._.js +0 -3
  144. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1uatkiv._.js +0 -3
  145. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1y6gxxb._.js +0 -3
  146. package/.next/standalone/.next/static/chunks/28mkxkl_d91-l.js +0 -1
  147. package/.next/standalone/.next/static/chunks/28x7jvo3kxd3u.js +0 -41
  148. package/.next/standalone/.next/static/chunks/29nrs5xs9c4hx.css +0 -2
  149. package/.next/standalone/.next/static/chunks/29tg7deqmq32l.js +0 -1
  150. /package/.next/standalone/.next/static/{NYPiJP6Rv_exQdSFVS8HP → P_MIRSeoE296wkbE-Icin}/_buildManifest.js +0 -0
  151. /package/.next/standalone/.next/static/{NYPiJP6Rv_exQdSFVS8HP → P_MIRSeoE296wkbE-Icin}/_clientMiddlewareManifest.js +0 -0
  152. /package/.next/standalone/.next/static/{NYPiJP6Rv_exQdSFVS8HP → P_MIRSeoE296wkbE-Icin}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- module.exports=[74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},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)},12072,(a,b,c)=>{b.exports={name:"failproofai",version:"0.0.11-beta.9",description:"The easiest way to manage policies that keep your AI agents reliable, on-task, and running autonomously — for Claude Code & the Agents SDK",bin:{failproofai:"./dist/cli.mjs"},files:["bin/","src/","scripts/","lib/","pi-extension/",".next/standalone/","dist/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{predev:"bun run build:cli && bun link",dev:"FAILPROOFAI_TELEMETRY_DISABLED=1 bun scripts/dev.ts --port 8020","build:cli":"bun build --target=node --format=esm --outfile=dist/cli.mjs bin/failproofai.mjs --external posthog-node && node -e \"const fs=require('fs');const c=fs.readFileSync('dist/cli.mjs','utf8');fs.writeFileSync('dist/cli.mjs',c.replace('#!/usr/bin/env bun','#!/usr/bin/env node').replace('// @bun\\n',''))\"",build:"bun build --target=node --format=cjs --outfile=dist/index.js src/index.ts && bun run build:cli && bun --bun next build && node -e \"const {cpSync}=require('fs');cpSync('.next/static','.next/standalone/.next/static',{recursive:true});\" && node scripts/prune-standalone.mjs",prestart:"bun run build:cli && bun link",start:"FAILPROOFAI_TELEMETRY_DISABLED=1 bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",postinstall:"node scripts/postinstall.mjs",preuninstall:"node scripts/preuninstall.mjs",prepare:"bun run build","test:e2e":"vitest run --config vitest.config.e2e.mts","test:e2e:watch":"vitest --config vitest.config.e2e.mts",translate:"bun scripts/translate-docs/cli.ts","translate:readme":"bun scripts/translate-docs/cli.ts --readme-only","translate:docs":"bun scripts/translate-docs/cli.ts --docs-only","translate:dry-run":"bun scripts/translate-docs/cli.ts --dry-run","translate:validate":"bun scripts/translate-docs/cli.ts --validate"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","agent-reliability","agent-monitoring","autonomous-agent","failure-prevention","developer-tools","devtools","cli","local-first","hooks","policies"],author:"ExosphereHost Inc. <failproofai@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://github.com/FailproofAI/failproofai",repository:{type:"git",url:"https://github.com/FailproofAI/failproofai.git"},bugs:{url:"https://github.com/FailproofAI/failproofai/issues"},publishConfig:{access:"public"},devDependencies:{"@anthropic-ai/sdk":"^0.104.2","@tailwindcss/postcss":"^4.3.1","@tanstack/react-virtual":"^3.14.3","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"25.9.3","@types/react":"19.2.17","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",clsx:"^2.1.1",eslint:"^10.5.0","eslint-config-next":"^16.2.9",jsdom:"^29.1.1","lucide-react":"^1.18.0",next:"^16.2.9",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.3.1",typescript:"6.0.3",vitest:"^4.1.9"},dependencies:{"html-to-image":"^1.11.13",html2canvas:"^1.4.1","posthog-node":"^5.37.1"},overrides:{postcss:"8.5.14","eslint-plugin-react-hooks":"7.0.1",vite:"8.0.16",undici:"7.28.0"}}},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,69839,79779,a=>{"use strict";let b;var c=a.i(37936),d=a.i(2157),e=a.i(50227),f=a.i(60526),g=a.i(66680);a.i(74533);let h=e.default.join(f.default.homedir(),".failproofai"),i=e.default.join(h,"instance-id");function j(a){return g.default.createHmac("sha256","failproofai-telemetry-v1").update(a).digest("hex")}function k(){if(b)return b;let a=function(){try{for(let a of(f.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=d.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=j(a);let c=[f.default.hostname(),f.default.homedir(),f.default.platform(),f.default.arch(),f.default.cpus()[0]?.model??""].join(":");return b=c?j(c):function(){try{let a=d.default.readFileSync(i,"utf-8").trim();if(a)return a}catch{}let a=g.default.randomUUID();try{d.default.mkdirSync(h,{recursive:!0}),d.default.writeFileSync(i,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",0,k,"hashToId",0,j],69839),a.s(["POSTHOG_API_KEY",0,"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX","POSTHOG_PRODUCT",0,"failproofai-oss"],79779);var l=a.i(12072);async function m(){let a="1"!==process.env.FAILPROOFAI_TELEMETRY_DISABLED;return{enabled:a,distinctId:a?k():"",apiKey:process.env.FAILPROOFAI_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com",version:l.version}}(0,a.i(13095).ensureServerEntryExports)([m]),(0,c.registerServerReference)(m,"00d8fd1a3d5bb14477d5b3233510e7af49956557cd",null),a.s(["getTelemetryConfig",0,m],36359)},39027,a=>{"use strict";var b=a.i(36359);a.s([],35268),a.i(35268),a.s(["00d8fd1a3d5bb14477d5b3233510e7af49956557cd",()=>b.getTelemetryConfig],39027)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__1_g_b3t._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuzn._.js"].map(b=>a.l(b))).then(()=>b(74493)))}];
1
+ module.exports=[74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},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)},12072,(a,b,c)=>{b.exports={name:"failproofai",version:"0.0.11",description:"The easiest way to manage policies that keep your AI agents reliable, on-task, and running autonomously — for Claude Code & the Agents SDK",bin:{failproofai:"./dist/cli.mjs"},files:["bin/","src/","scripts/","lib/","pi-extension/",".next/standalone/","dist/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{predev:"bun run build:cli && bun link",dev:"FAILPROOFAI_TELEMETRY_DISABLED=1 bun scripts/dev.ts --port 8020","build:cli":"bun build --target=node --format=esm --outfile=dist/cli.mjs bin/failproofai.mjs --external posthog-node && node -e \"const fs=require('fs');const c=fs.readFileSync('dist/cli.mjs','utf8');fs.writeFileSync('dist/cli.mjs',c.replace('#!/usr/bin/env bun','#!/usr/bin/env node').replace('// @bun\\n',''))\"",build:"bun build --target=node --format=cjs --outfile=dist/index.js src/index.ts && bun run build:cli && bun --bun next build && node -e \"const {cpSync}=require('fs');cpSync('.next/static','.next/standalone/.next/static',{recursive:true});\" && node scripts/prune-standalone.mjs",prestart:"bun run build:cli && bun link",start:"FAILPROOFAI_TELEMETRY_DISABLED=1 bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",postinstall:"node scripts/postinstall.mjs",preuninstall:"node scripts/preuninstall.mjs",prepare:"bun run build","test:e2e":"vitest run --config vitest.config.e2e.mts","test:e2e:watch":"vitest --config vitest.config.e2e.mts",translate:"bun scripts/translate-docs/cli.ts","translate:readme":"bun scripts/translate-docs/cli.ts --readme-only","translate:docs":"bun scripts/translate-docs/cli.ts --docs-only","translate:dry-run":"bun scripts/translate-docs/cli.ts --dry-run","translate:validate":"bun scripts/translate-docs/cli.ts --validate","validate:mdx":"bun scripts/validate-mdx.ts"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","agent-reliability","agent-monitoring","autonomous-agent","failure-prevention","developer-tools","devtools","cli","local-first","hooks","policies"],author:"ExosphereHost Inc. <failproofai@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://github.com/FailproofAI/failproofai",repository:{type:"git",url:"https://github.com/FailproofAI/failproofai.git"},bugs:{url:"https://github.com/FailproofAI/failproofai/issues"},publishConfig:{access:"public"},devDependencies:{"@anthropic-ai/sdk":"^0.105.0","@mdx-js/mdx":"^3.1.1","@tailwindcss/postcss":"^4.3.1","@tanstack/react-virtual":"^3.14.3","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"26.0.0","@types/react":"19.2.17","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",clsx:"^2.1.1",eslint:"^10.5.0","eslint-config-next":"^16.2.9",jsdom:"^29.1.1","lucide-react":"^1.18.0",next:"^16.2.9",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.3.1",typescript:"6.0.3",vitest:"^4.1.9"},dependencies:{"html-to-image":"^1.11.13",html2canvas:"^1.4.1","posthog-node":"^5.37.1"},overrides:{postcss:"8.5.14","eslint-plugin-react-hooks":"7.0.1",vite:"8.0.16",undici:"7.28.0"}}},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,69839,79779,a=>{"use strict";let b;var c=a.i(37936),d=a.i(2157),e=a.i(50227),f=a.i(60526),g=a.i(66680);a.i(74533);let h=e.default.join(f.default.homedir(),".failproofai"),i=e.default.join(h,"instance-id");function j(a){return g.default.createHmac("sha256","failproofai-telemetry-v1").update(a).digest("hex")}function k(){if(b)return b;let a=function(){try{for(let a of(f.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=d.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=j(a);let c=[f.default.hostname(),f.default.homedir(),f.default.platform(),f.default.arch(),f.default.cpus()[0]?.model??""].join(":");return b=c?j(c):function(){try{let a=d.default.readFileSync(i,"utf-8").trim();if(a)return a}catch{}let a=g.default.randomUUID();try{d.default.mkdirSync(h,{recursive:!0}),d.default.writeFileSync(i,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",0,k,"hashToId",0,j],69839),a.s(["POSTHOG_API_KEY",0,"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX","POSTHOG_PRODUCT",0,"failproofai-oss"],79779);var l=a.i(12072);async function m(){let a="1"!==process.env.FAILPROOFAI_TELEMETRY_DISABLED;return{enabled:a,distinctId:a?k():"",apiKey:process.env.FAILPROOFAI_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com",version:l.version}}(0,a.i(13095).ensureServerEntryExports)([m]),(0,c.registerServerReference)(m,"009232c781bf0af8bf91fd755c64ff900e5683e16b",null),a.s(["getTelemetryConfig",0,m],36359)},39027,a=>{"use strict";var b=a.i(36359);a.s([],35268),a.i(35268),a.s(["009232c781bf0af8bf91fd755c64ff900e5683e16b",()=>b.getTelemetryConfig],39027)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__1_g_b3t._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuzn._.js"].map(b=>a.l(b))).then(()=>b(74493)))}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__1pcxxwg._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},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)},12072,(a,b,c)=>{b.exports={name:"failproofai",version:"0.0.11-beta.9",description:"The easiest way to manage policies that keep your AI agents reliable, on-task, and running autonomously — for Claude Code & the Agents SDK",bin:{failproofai:"./dist/cli.mjs"},files:["bin/","src/","scripts/","lib/","pi-extension/",".next/standalone/","dist/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{predev:"bun run build:cli && bun link",dev:"FAILPROOFAI_TELEMETRY_DISABLED=1 bun scripts/dev.ts --port 8020","build:cli":"bun build --target=node --format=esm --outfile=dist/cli.mjs bin/failproofai.mjs --external posthog-node && node -e \"const fs=require('fs');const c=fs.readFileSync('dist/cli.mjs','utf8');fs.writeFileSync('dist/cli.mjs',c.replace('#!/usr/bin/env bun','#!/usr/bin/env node').replace('// @bun\\n',''))\"",build:"bun build --target=node --format=cjs --outfile=dist/index.js src/index.ts && bun run build:cli && bun --bun next build && node -e \"const {cpSync}=require('fs');cpSync('.next/static','.next/standalone/.next/static',{recursive:true});\" && node scripts/prune-standalone.mjs",prestart:"bun run build:cli && bun link",start:"FAILPROOFAI_TELEMETRY_DISABLED=1 bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",postinstall:"node scripts/postinstall.mjs",preuninstall:"node scripts/preuninstall.mjs",prepare:"bun run build","test:e2e":"vitest run --config vitest.config.e2e.mts","test:e2e:watch":"vitest --config vitest.config.e2e.mts",translate:"bun scripts/translate-docs/cli.ts","translate:readme":"bun scripts/translate-docs/cli.ts --readme-only","translate:docs":"bun scripts/translate-docs/cli.ts --docs-only","translate:dry-run":"bun scripts/translate-docs/cli.ts --dry-run","translate:validate":"bun scripts/translate-docs/cli.ts --validate"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","agent-reliability","agent-monitoring","autonomous-agent","failure-prevention","developer-tools","devtools","cli","local-first","hooks","policies"],author:"ExosphereHost Inc. <failproofai@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://github.com/FailproofAI/failproofai",repository:{type:"git",url:"https://github.com/FailproofAI/failproofai.git"},bugs:{url:"https://github.com/FailproofAI/failproofai/issues"},publishConfig:{access:"public"},devDependencies:{"@anthropic-ai/sdk":"^0.104.2","@tailwindcss/postcss":"^4.3.1","@tanstack/react-virtual":"^3.14.3","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"25.9.3","@types/react":"19.2.17","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",clsx:"^2.1.1",eslint:"^10.5.0","eslint-config-next":"^16.2.9",jsdom:"^29.1.1","lucide-react":"^1.18.0",next:"^16.2.9",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.3.1",typescript:"6.0.3",vitest:"^4.1.9"},dependencies:{"html-to-image":"^1.11.13",html2canvas:"^1.4.1","posthog-node":"^5.37.1"},overrides:{postcss:"8.5.14","eslint-plugin-react-hooks":"7.0.1",vite:"8.0.16",undici:"7.28.0"}}},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,69839,79779,a=>{"use strict";let b;var c=a.i(37936),d=a.i(2157),e=a.i(50227),f=a.i(60526),g=a.i(66680);a.i(74533);let h=e.default.join(f.default.homedir(),".failproofai"),i=e.default.join(h,"instance-id");function j(a){return g.default.createHmac("sha256","failproofai-telemetry-v1").update(a).digest("hex")}function k(){if(b)return b;let a=function(){try{for(let a of(f.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=d.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=j(a);let c=[f.default.hostname(),f.default.homedir(),f.default.platform(),f.default.arch(),f.default.cpus()[0]?.model??""].join(":");return b=c?j(c):function(){try{let a=d.default.readFileSync(i,"utf-8").trim();if(a)return a}catch{}let a=g.default.randomUUID();try{d.default.mkdirSync(h,{recursive:!0}),d.default.writeFileSync(i,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",0,k,"hashToId",0,j],69839),a.s(["POSTHOG_API_KEY",0,"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX","POSTHOG_PRODUCT",0,"failproofai-oss"],79779);var l=a.i(12072);async function m(){let a="1"!==process.env.FAILPROOFAI_TELEMETRY_DISABLED;return{enabled:a,distinctId:a?k():"",apiKey:process.env.FAILPROOFAI_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com",version:l.version}}(0,a.i(13095).ensureServerEntryExports)([m]),(0,c.registerServerReference)(m,"00d8fd1a3d5bb14477d5b3233510e7af49956557cd",null),a.s(["getTelemetryConfig",0,m],36359)},15501,a=>{"use strict";var b=a.i(2157),c=a.i(50227),d=a.i(60526);function e(){return(0,c.join)((0,d.homedir)(),".failproofai","audit-dashboard.json")}a.i(66680),a.s(["readDashboardCache",0,function(){let a=e();if(!(0,b.existsSync)(a))return null;try{let c=(0,b.readFileSync)(a,"utf-8"),d=JSON.parse(c);if(!d||"object"!=typeof d||"string"!=typeof d.cachedAt||!d.params||"object"!=typeof d.params||!d.result||"object"!=typeof d.result||2!==d.schemaVersion||function(a,b=30){let c=new Date(a).getTime();return!!Number.isNaN(c)||Date.now()-c>6e4*b}(d.cachedAt,10080))return null;return d}catch{return null}},"readDashboardCacheMeta",0,function(){let a=e();if(!(0,b.existsSync)(a))return null;try{let c=(0,b.readFileSync)(a,"utf-8"),d=JSON.parse(c);if(!d||2!==d.schemaVersion||"string"!=typeof d.cachedAt||Number.isNaN(new Date(d.cachedAt).getTime()))return null;return{cachedAt:d.cachedAt}}catch{return null}}],15501)},99558,a=>{"use strict";var b=a.i(36359),c=a.i(37936),d=a.i(15501);async function e(){let a=(0,d.readDashboardCache)();if(!a){let a=(0,d.readDashboardCacheMeta)();return{status:"empty",expired:null!==a,expiredAt:a?.cachedAt??null}}return{status:"cached",cachedAt:a.cachedAt,params:a.params,result:a.result}}(0,a.i(13095).ensureServerEntryExports)([e]),(0,c.registerServerReference)(e,"007d541d6560828c126879917e401325628966cdd6",null),a.s([],62946),a.i(62946),a.s(["007d541d6560828c126879917e401325628966cdd6",0,e,"00d8fd1a3d5bb14477d5b3233510e7af49956557cd",()=>b.getTelemetryConfig],99558)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__1_g_b3t._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuzn._.js"].map(b=>a.l(b))).then(()=>b(74493)))}];
1
+ module.exports=[74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},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)},12072,(a,b,c)=>{b.exports={name:"failproofai",version:"0.0.11",description:"The easiest way to manage policies that keep your AI agents reliable, on-task, and running autonomously — for Claude Code & the Agents SDK",bin:{failproofai:"./dist/cli.mjs"},files:["bin/","src/","scripts/","lib/","pi-extension/",".next/standalone/","dist/","README.md"],engines:{node:">=20.9.0",bun:">=1.3.0"},scripts:{predev:"bun run build:cli && bun link",dev:"FAILPROOFAI_TELEMETRY_DISABLED=1 bun scripts/dev.ts --port 8020","build:cli":"bun build --target=node --format=esm --outfile=dist/cli.mjs bin/failproofai.mjs --external posthog-node && node -e \"const fs=require('fs');const c=fs.readFileSync('dist/cli.mjs','utf8');fs.writeFileSync('dist/cli.mjs',c.replace('#!/usr/bin/env bun','#!/usr/bin/env node').replace('// @bun\\n',''))\"",build:"bun build --target=node --format=cjs --outfile=dist/index.js src/index.ts && bun run build:cli && bun --bun next build && node -e \"const {cpSync}=require('fs');cpSync('.next/static','.next/standalone/.next/static',{recursive:true});\" && node scripts/prune-standalone.mjs",prestart:"bun run build:cli && bun link",start:"FAILPROOFAI_TELEMETRY_DISABLED=1 bun scripts/start.ts",test:"vitest","test:run":"vitest run",lint:"eslint . --config eslint.config.mjs",postinstall:"node scripts/postinstall.mjs",preuninstall:"node scripts/preuninstall.mjs",prepare:"bun run build","test:e2e":"vitest run --config vitest.config.e2e.mts","test:e2e:watch":"vitest --config vitest.config.e2e.mts",translate:"bun scripts/translate-docs/cli.ts","translate:readme":"bun scripts/translate-docs/cli.ts --readme-only","translate:docs":"bun scripts/translate-docs/cli.ts --docs-only","translate:dry-run":"bun scripts/translate-docs/cli.ts --dry-run","translate:validate":"bun scripts/translate-docs/cli.ts --validate","validate:mdx":"bun scripts/validate-mdx.ts"},keywords:["claude","claude-code","claude-agents-sdk","anthropic","ai-agent","agent-reliability","agent-monitoring","autonomous-agent","failure-prevention","developer-tools","devtools","cli","local-first","hooks","policies"],author:"ExosphereHost Inc. <failproofai@exosphere.host>",license:"SEE LICENSE IN LICENSE",homepage:"https://github.com/FailproofAI/failproofai",repository:{type:"git",url:"https://github.com/FailproofAI/failproofai.git"},bugs:{url:"https://github.com/FailproofAI/failproofai/issues"},publishConfig:{access:"public"},devDependencies:{"@anthropic-ai/sdk":"^0.105.0","@mdx-js/mdx":"^3.1.1","@tailwindcss/postcss":"^4.3.1","@tanstack/react-virtual":"^3.14.3","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"26.0.0","@types/react":"19.2.17","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",clsx:"^2.1.1",eslint:"^10.5.0","eslint-config-next":"^16.2.9",jsdom:"^29.1.1","lucide-react":"^1.18.0",next:"^16.2.9",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.3.1",typescript:"6.0.3",vitest:"^4.1.9"},dependencies:{"html-to-image":"^1.11.13",html2canvas:"^1.4.1","posthog-node":"^5.37.1"},overrides:{postcss:"8.5.14","eslint-plugin-react-hooks":"7.0.1",vite:"8.0.16",undici:"7.28.0"}}},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,69839,79779,a=>{"use strict";let b;var c=a.i(37936),d=a.i(2157),e=a.i(50227),f=a.i(60526),g=a.i(66680);a.i(74533);let h=e.default.join(f.default.homedir(),".failproofai"),i=e.default.join(h,"instance-id");function j(a){return g.default.createHmac("sha256","failproofai-telemetry-v1").update(a).digest("hex")}function k(){if(b)return b;let a=function(){try{for(let a of(f.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let b=d.default.readFileSync(a,"utf-8").trim();if(b)return b}catch{}}catch{}}();if(a)return b=j(a);let c=[f.default.hostname(),f.default.homedir(),f.default.platform(),f.default.arch(),f.default.cpus()[0]?.model??""].join(":");return b=c?j(c):function(){try{let a=d.default.readFileSync(i,"utf-8").trim();if(a)return a}catch{}let a=g.default.randomUUID();try{d.default.mkdirSync(h,{recursive:!0}),d.default.writeFileSync(i,a,"utf-8")}catch{}return a}()}a.s(["getInstanceId",0,k,"hashToId",0,j],69839),a.s(["POSTHOG_API_KEY",0,"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX","POSTHOG_PRODUCT",0,"failproofai-oss"],79779);var l=a.i(12072);async function m(){let a="1"!==process.env.FAILPROOFAI_TELEMETRY_DISABLED;return{enabled:a,distinctId:a?k():"",apiKey:process.env.FAILPROOFAI_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com",version:l.version}}(0,a.i(13095).ensureServerEntryExports)([m]),(0,c.registerServerReference)(m,"009232c781bf0af8bf91fd755c64ff900e5683e16b",null),a.s(["getTelemetryConfig",0,m],36359)},15501,a=>{"use strict";var b=a.i(2157),c=a.i(50227),d=a.i(60526);function e(){return(0,c.join)((0,d.homedir)(),".failproofai","audit-dashboard.json")}a.i(66680),a.s(["readDashboardCache",0,function(){let a=e();if(!(0,b.existsSync)(a))return null;try{let c=(0,b.readFileSync)(a,"utf-8"),d=JSON.parse(c);if(!d||"object"!=typeof d||"string"!=typeof d.cachedAt||!d.params||"object"!=typeof d.params||!d.result||"object"!=typeof d.result||2!==d.schemaVersion||function(a,b=30){let c=new Date(a).getTime();return!!Number.isNaN(c)||Date.now()-c>6e4*b}(d.cachedAt,10080))return null;return d}catch{return null}},"readDashboardCacheMeta",0,function(){let a=e();if(!(0,b.existsSync)(a))return null;try{let c=(0,b.readFileSync)(a,"utf-8"),d=JSON.parse(c);if(!d||2!==d.schemaVersion||"string"!=typeof d.cachedAt||Number.isNaN(new Date(d.cachedAt).getTime()))return null;return{cachedAt:d.cachedAt}}catch{return null}}],15501)},99558,a=>{"use strict";var b=a.i(36359),c=a.i(37936),d=a.i(15501);async function e(){let a=(0,d.readDashboardCache)();if(!a){let a=(0,d.readDashboardCacheMeta)();return{status:"empty",expired:null!==a,expiredAt:a?.cachedAt??null}}return{status:"cached",cachedAt:a.cachedAt,params:a.params,result:a.result}}(0,a.i(13095).ensureServerEntryExports)([e]),(0,c.registerServerReference)(e,"00a03241766e25ac352e091de97d2af4fa75b29699",null),a.s([],62946),a.i(62946),a.s(["009232c781bf0af8bf91fd755c64ff900e5683e16b",()=>b.getTelemetryConfig,"00a03241766e25ac352e091de97d2af4fa75b29699",0,e],99558)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__1_g_b3t._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuzn._.js"].map(b=>a.l(b))).then(()=>b(74493)))}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__1uvfwgr._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[8174,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/node_modules/lucide-react/dist/esm/Icon.mjs <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/node_modules/lucide-react/dist/esm/Icon.mjs <module evaluation>","default")},90697,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/node_modules/lucide-react/dist/esm/Icon.mjs from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/node_modules/lucide-react/dist/esm/Icon.mjs","default")},53808,a=>{"use strict";a.i(8174);var b=a.i(90697);a.n(b)},14066,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/app/components/lazy-log-viewer.tsx <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/components/lazy-log-viewer.tsx <module evaluation>","default")},19597,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/app/components/lazy-log-viewer.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/components/lazy-log-viewer.tsx","default")},71130,a=>{"use strict";a.i(14066);var b=a.i(19597);a.n(b)},85540,a=>{"use strict";a.s(["CopyButton",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call CopyButton() from the server but CopyButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/components/copy-button.tsx <module evaluation>","CopyButton")},35770,a=>{"use strict";a.s(["CopyButton",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call CopyButton() from the server but CopyButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/components/copy-button.tsx","CopyButton")},893,a=>{"use strict";a.i(85540);var b=a.i(35770);a.n(b)},41190,a=>{"use strict";var b=a.i(7997),c=a.i(95936),d=a.i(717);let e=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var f=a.i(53808);let g=(a,b)=>{let c=(0,d.forwardRef)(({className:c,...g},h)=>(0,d.createElement)(f.default,{ref:h,iconNode:b,className:((...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim())(`lucide-${e(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,c),...g}));return c.displayName=e(a),c},h=g("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),i=g("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);a.i(70396);var j=a.i(73727),k=a.i(24868),l=a.i(14747),m=a.i(90798),n=a.i(69191);async function o(a,b,c,d){let e=`agent-${d}.jsonl`;for(let d of[(0,l.join)(a,b,e),(0,l.join)(a,b,c,e),(0,l.join)(a,b,c,"subagents",e)])if(!(0,l.relative)(a,d).startsWith(".."))try{return await (0,k.access)(d),d}catch(a){if("ENOENT"===a.code)continue;break}return null}var p=a.i(34900),q=a.i(26192),r=a.i(33432);function s(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 t(a){let b=(0,r.formatDate)(a),c=a.getMilliseconds().toString().padStart(3,"0");return`${b}.${c}`}function u(a,b,c,d){return{_source:d,uuid:a.uuid||"",parentUuid:a.parentUuid??null,timestamp:b,timestampMs:c.getTime(),timestampFormatted:t(c)}}async function v(a,b){let c=a.split("\n").filter(a=>""!==a.trim()),d=new Map,e=[],f=[],g=new Set,h=!1;for(let a=0;a<c.length;a++){let i;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let j=c[a];try{i=JSON.parse(j)}catch{continue}let k={...i,_source:b};f.push(k);let l=i.type,m=i.timestamp;if(!m)continue;let n=new Date(m),o=n.getTime();if("user"===l){let a=i.message;if(Array.isArray(a?.content)){let b=a.content;if(b.some(a=>"tool_result"===a.type)){let a=i.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:m,timestampMs:o,content:e,images:f,agentId:c})}continue}}let c="string"==typeof a?.content?a.content:"";e.push({type:"user",...u(i,m,n,b),message:{role:"user",content:c}});continue}if("assistant"===l){let a=i.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",...u(i,m,n,b),message:{role:"assistant",content:c,model:a?.model}});continue}if("file-history-snapshot"===l||"progress"===l||"system"===l){e.push({type:l,...u(i,m,n,b),raw:{...i}});continue}if("queue-operation"===l){let a=h?"Session Resumed":"Session Started";h=!0,e.push({type:"queue-operation",...u(i,m,n,b),label:a});continue}}let i=0;for(let a of e)if("assistant"===a.type)for(let b of(++i%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=Math.max(0,c.timestampMs-a.timestampMs);b.result={timestamp:c.timestamp,timestampFormatted:t(e),content:c.content,images:c.images,durationMs:f,durationFormatted:s(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)}}async function w(a,b){let c=(0,n.resolveProjectPath)(a),d=(0,m.getClaudeProjectsPath)(),e=(0,l.join)(c,`${b}.jsonl`),f=await (0,k.readFile)(e,"utf-8"),{entries:g,rawLines:h,subagentIds:i}=await v(f,"session");if(0===i.length)return{entries:g,rawLines:h,subagentIds:[]};let j=await (0,q.batchAll)(i.map(c=>async()=>{let e=`agent-${c}`,f=await o(d,a,b,c);if(!f)return null;let g=await (0,k.readFile)(f,"utf-8"),{entries:h,rawLines:i}=await v(g,e);return{entries:h,rawLines:i}}),4),p=[...g],r=[...h];for(let a of j)"fulfilled"===a.status&&a.value&&(p.push(...a.value.entries),r.push(...a.value.rawLines));return p.length>500&&await new Promise(a=>setImmediate(a)),p.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:p,rawLines:r,subagentIds:i}}let x=(0,p.runtimeCache)((a,b)=>w(a,b),60,{maxSize:50});var y=a.i(2157),z=a.i(12714),A=a.i(50227),B=a.i(60526);let C=(0,A.join)((0,B.homedir)(),".failproofai","cache","codex-session-paths.json");function D(){try{if(!(0,y.existsSync)(C))return{};return JSON.parse((0,y.readFileSync)(C,"utf-8"))}catch{return{}}}function E(a,b){try{(0,y.mkdirSync)((0,A.dirname)(C),{recursive:!0});let c=D();c[a]=b,(0,y.writeFileSync)(C,JSON.stringify(c),"utf-8")}catch{}}function F(a,b){try{for(let c of(0,y.readdirSync)(a,{withFileTypes:!0}))if(c.isFile()&&c.name.includes(b)&&c.name.endsWith(".jsonl"))return(0,A.join)(a,c.name)}catch{}return null}function G(a,b){return Array.isArray(a)?a.filter(a=>a?.type===b&&"string"==typeof a.text).map(a=>a.text).join("\n"):""}async function H(a,b="session"){let c,d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=new Map,h=new Map,i=!1;for(let a=0;a<d.length;a++){let j;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let k=d[a];try{j=JSON.parse(k)}catch{continue}let l={...j,_source:b};f.push(l);let m=j.timestamp;if(!m)continue;let n=new Date(m);if(Number.isNaN(n.getTime()))continue;let o=j.type,p=j.payload??{};if("session_meta"===o){let a=p.cwd;"string"!=typeof a||c||(c=a),e.push({type:"system",...u(l,m,n,b),raw:l});continue}if("response_item"===o){let a=p.type;if("message"===a){let a=p.role,c=p.content;if("user"===a||"developer"===a){let d=G(c,"input_text");if(!d)continue;let f="developer"===a?`[developer] ${d}`:d;e.push({type:"user",...u(l,m,n,b),message:{role:"user",content:f}});continue}if("assistant"===a){let a=G(c,"output_text");if(!a)continue;let d=[{type:"text",text:a}];e.push({type:"assistant",...u(l,m,n,b),message:{role:"assistant",content:d}});continue}e.push({type:"system",...u(l,m,n,b),raw:l});continue}if("function_call"===a){let a=p.call_id,c=p.name??"function_call",d={type:"tool_use",id:a??`${m}-${c}`,name:c,input:function(a){if(!a)return{};try{return JSON.parse(a)}catch{return{}}}(p.arguments)},f={type:"assistant",...u(l,m,n,b),message:{role:"assistant",content:[d]}};e.push(f),a&&(g.set(a,d),h.set(a,n.getTime()));continue}if("function_call_output"===a){let a=p.call_id,c=a?g.get(a):void 0;if(c){let b=h.get(a)??n.getTime(),d=Math.max(0,n.getTime()-b);c.result={timestamp:m,timestampFormatted:t(n),content:"string"==typeof p.output?p.output:JSON.stringify(p.output),durationMs:d,durationFormatted:s(d)};continue}e.push({type:"system",...u(l,m,n,b),raw:l});continue}e.push({type:"system",...u(l,m,n,b),raw:l});continue}if("event_msg"===o){let a=p.type;if("task_started"===a){let a=i?"Session Resumed":"Session Started";i=!0,e.push({type:"queue-operation",...u(l,m,n,b),label:a});continue}if("exec_command_end"===a){let a=p.call_id,c=a?g.get(a):void 0;if(c){let b=p.duration,d=b?(b.secs??0)*1e3+Math.round((b.nanos??0)/1e6):Math.max(0,n.getTime()-(h.get(a)??n.getTime())),e=p.aggregated_output;c.result={timestamp:m,timestampFormatted:t(n),content:"string"==typeof e?e:JSON.stringify(e),durationMs:d,durationFormatted:s(d)};continue}e.push({type:"system",...u(l,m,n,b),raw:l});continue}if("user_message"===a||"agent_message"===a)continue;e.push({type:"system",...u(l,m,n,b),raw:l});continue}e.push({type:"system",...u(l,m,n,b),raw:l})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function I(a){let b=function(a){let b=D()[a];if(b&&(0,y.existsSync)(b))return b;let c=(0,A.join)((0,B.homedir)(),".codex","sessions"),d=new Date,e=new Date(d.getTime()-864e5);for(let b of[d,e].map(a=>{let b=String(a.getUTCFullYear()),d=String(a.getUTCMonth()+1).padStart(2,"0"),e=String(a.getUTCDate()).padStart(2,"0");return(0,A.join)(c,b,d,e)})){let c=F(b,a);if(c)return E(a,c),c}try{for(let b of(0,y.readdirSync)(c,{withFileTypes:!0}))if(b.isDirectory()){for(let d of(0,y.readdirSync)((0,A.join)(c,b.name),{withFileTypes:!0}))if(d.isDirectory())for(let e of(0,y.readdirSync)((0,A.join)(c,b.name,d.name),{withFileTypes:!0})){if(!e.isDirectory())continue;let f=F((0,A.join)(c,b.name,d.name,e.name),a);if(f)return E(a,f),f}}}catch{}return null}(a);if(!b)return null;let c=await (0,z.readFile)(b,"utf-8"),{entries:d,rawLines:e,cwd:f}=await H(c,"session");return{entries:d,rawLines:e,cwd:f,filePath:b}}let J=(0,p.runtimeCache)(a=>I(a),60,{maxSize:50});function K(a,b){let c=function(a){if(!a)return null;let b=(0,A.resolve)((0,A.join)(process.env.COPILOT_HOME||(0,A.join)((0,B.homedir)(),".copilot"),"session-state")),c=(0,A.resolve)(b,a);return c!==b&&c.startsWith(`${b}${A.sep}`)?c:null}(a);return c?(0,A.join)(c,b):null}async function L(a,b="session"){let c,d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=new Map,h=new Map,i=!1;for(let a=0;a<d.length;a++){let j;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let k=d[a];try{j=JSON.parse(k)}catch{continue}let l={...j,_source:b};f.push(l);let m=j.timestamp;if(!m)continue;let n=new Date(m);if(Number.isNaN(n.getTime()))continue;let o=n.toISOString(),p=j.type,q=j.data??{};if("session.start"===p){let a=q.context,d=a?.cwd;"string"!=typeof d||c||(c=d);let f=i?"Session Resumed":"Session Started";i=!0,e.push({type:"queue-operation",...u(l,o,n,b),label:f});continue}if("user.message"===p){let a=q.content??"";if(!a)continue;e.push({type:"user",...u(l,o,n,b),message:{role:"user",content:a}});continue}if("system.message"===p){e.push({type:"system",...u(l,o,n,b),raw:l});continue}if("assistant.message"===p){let a=q.content??"";if(!a){e.push({type:"system",...u(l,o,n,b),raw:l});continue}let c=[{type:"text",text:a}];e.push({type:"assistant",...u(l,o,n,b),message:{role:"assistant",content:c}});continue}if("tool.execution_start"===p){let a=q.toolCallId,c=q.toolName??"tool",d=q.arguments??{},f={type:"tool_use",id:a??`${n.getTime()}-${c}`,name:c,input:d},i={type:"assistant",...u(l,o,n,b),message:{role:"assistant",content:[f]}};e.push(i),a&&(g.set(a,f),h.set(a,n.getTime()));continue}if("tool.execution_complete"===p){let a=q.toolCallId,c=a?g.get(a):void 0;if(c){let b=h.get(a)??n.getTime(),d=q.result??{},e=q.toolTelemetry??{},f=e.metrics?.commandTimeMs??e.metrics?.durationMs??null,g="number"==typeof f&&f>=0?f:Math.max(0,n.getTime()-b),i=d.detailedContent??d.content??"";c.result={timestamp:o,timestampFormatted:t(n),content:"string"==typeof i?i:JSON.stringify(i),durationMs:g,durationFormatted:s(g)};continue}e.push({type:"system",...u(l,o,n,b),raw:l});continue}e.push({type:"system",...u(l,o,n,b),raw:l})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function M(a){let b,c,d=(c=K(a,"events.jsonl"))&&(0,y.existsSync)(c)?c:null;if(!d)return null;try{b=await (0,z.readFile)(d,"utf-8")}catch{return null}let{entries:e,rawLines:f,cwd:g}=await L(b,"session");return{entries:e,rawLines:f,cwd:g??function(a){let b,c=(b=K(a,"workspace.yaml"))&&(0,y.existsSync)(b)?b:null;if(c)try{let a=(0,y.readFileSync)(c,"utf-8"),b=RegExp("^cwd\\s*:\\s*(.+?)\\s*$","m"),d=a.match(b);if(!d)return;return d[1].replace(/^['"]|['"]$/g,"")}catch{return}}(a),filePath:d}}let N=(0,p.runtimeCache)(a=>M(a),60,{maxSize:50}),O=["agent-sessions","conversations","sessions"],P=["events.jsonl","transcript.jsonl","messages.jsonl"],Q="agent-transcripts";async function R(a,b="session"){let c,d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=new Map,h=new Map,i=!1,j=Date.now();for(let a=0;a<d.length;a++){let k;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let l=d[a];try{k=JSON.parse(l)}catch{continue}let m={...k,_source:b};if(f.push(m),!k.type&&k.role&&k.message?.content){let c=new Date(j+a),d=c.toISOString(),f=k.message.content.filter(a=>a?.type==="text"&&"string"==typeof a.text).map(a=>a.text).join("");if("user"===k.role){let a=/<user_query>\s*([\s\S]*?)\s*<\/user_query>/.exec(f),g=a?a[1]:f;g&&e.push({type:"user",...u(m,d,c,b),message:{role:"user",content:g}});continue}if("assistant"===k.role){let a=f?[{type:"text",text:f}]:[];0===a.length?e.push({type:"system",...u(m,d,c,b),raw:m}):e.push({type:"assistant",...u(m,d,c,b),message:{role:"assistant",content:a}});continue}e.push({type:"system",...u(m,d,c,b),raw:m});continue}let n=k.timestamp;if(!n)continue;let o=new Date(n);if(Number.isNaN(o.getTime()))continue;let p=o.toISOString(),q=k.type,r=k.data??{};if("session.start"===q||"sessionStart"===q||"session_start"===q){let a=r.context??r,d=a.cwd;"string"!=typeof d||c||(c=d),!c&&Array.isArray(a.workspace_roots)&&"string"==typeof a.workspace_roots[0]&&(c=a.workspace_roots[0]);let f=i?"Session Resumed":"Session Started";i=!0,e.push({type:"queue-operation",...u(m,p,o,b),label:f});continue}if("user.message"===q||"userMessage"===q){let a="string"==typeof r.content?r.content:"string"==typeof r.text?r.text:"";if(!a)continue;e.push({type:"user",...u(m,p,o,b),message:{role:"user",content:a}});continue}if("system.message"===q||"systemMessage"===q){e.push({type:"system",...u(m,p,o,b),raw:m});continue}if("assistant.message"===q||"assistantMessage"===q){let a="string"==typeof r.content?r.content:"string"==typeof r.text?r.text:"";if(!a){e.push({type:"system",...u(m,p,o,b),raw:m});continue}let c=[{type:"text",text:a}];e.push({type:"assistant",...u(m,p,o,b),message:{role:"assistant",content:c}});continue}if("tool.execution_start"===q||"tool.executionStart"===q||"preToolUse"===q){let a=r.toolCallId??r.tool_use_id,c=r.toolName??r.tool_name??"tool",d=r.arguments??r.tool_input??{},f={type:"tool_use",id:a??`${o.getTime()}-${c}`,name:c,input:d},i={type:"assistant",...u(m,p,o,b),message:{role:"assistant",content:[f]}};e.push(i),a&&(g.set(a,f),h.set(a,o.getTime()));continue}if("tool.execution_complete"===q||"tool.executionComplete"===q||"postToolUse"===q){let a=r.toolCallId??r.tool_use_id,c=a?g.get(a):void 0;if(c){let b=h.get(a)??o.getTime(),d=r.result??{},e=r.duration,f="number"==typeof e&&e>=0?e:Math.max(0,o.getTime()-b),g=d.detailedContent??d.content??r.tool_output??"";c.result={timestamp:p,timestampFormatted:t(o),content:"string"==typeof g?g:JSON.stringify(g),durationMs:f,durationFormatted:s(f)};continue}e.push({type:"system",...u(m,p,o,b),raw:m});continue}e.push({type:"system",...u(m,p,o,b),raw:m})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function S(a){let b,c=function(a){let b=function(a){if(!a)return null;let b=(0,A.resolve)(process.env.CURSOR_HOME||(0,A.join)((0,B.homedir)(),".cursor")),c=(0,A.resolve)(b,"projects"),d=[];try{d=(0,y.readdirSync)(c,{withFileTypes:!0})}catch{}for(let b of d){if(!b.isDirectory())continue;let d=(0,A.resolve)(c,b.name,Q,a),e=(0,A.resolve)(c,b.name,Q);if(d!==e&&d.startsWith(`${e}${A.sep}`)&&(0,y.existsSync)(d))return d}for(let c of O){let d=(0,A.resolve)(b,c),e=(0,A.resolve)(d,a);if(e!==d&&e.startsWith(`${d}${A.sep}`)&&(0,y.existsSync)(e))return e}return null}(a);if(!b)return null;let c=(0,A.join)(b,`${(0,A.basename)(b)}.jsonl`);if((0,y.existsSync)(c))return c;for(let a of P){let c=(0,A.join)(b,a);if((0,y.existsSync)(c))return c}return null}(a);if(!c)return null;try{b=await (0,z.readFile)(c,"utf-8")}catch{return null}let{entries:d,rawLines:e,cwd:f}=await R(b,"session");return{entries:d,rawLines:e,cwd:f,filePath:c}}let T=(0,p.runtimeCache)(a=>S(a),60,{maxSize:50});var U=a.i(74533);function V(a){try{let b=(0,U.execFileSync)("opencode",["db","--format","json",a],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]});if(!b.trim())return[];let c=JSON.parse(b);if(!Array.isArray(c))return null;return c}catch{return null}}function W(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function X(a){if("string"!=typeof a||0===a.length)return null;try{let b=JSON.parse(a);return W(b)?b:null}catch{return null}}async function Y(a){if(!a||!/^[A-Za-z0-9_-]+$/.test(a))return null;let b=V(`SELECT id, project_id, slug, directory, title, time_created, time_updated FROM session WHERE id = '${a}'`);if(!b||0===b.length)return null;let c=b[0],d=V(`SELECT id, session_id, time_created, time_updated, data FROM message WHERE session_id = '${a}' ORDER BY time_created ASC`),e=V(`SELECT id, message_id, session_id, time_created, time_updated, data FROM part WHERE session_id = '${a}' ORDER BY time_created ASC`);if(!d)return{entries:[],rawLines:[],cwd:c.directory??void 0,filePath:`opencode://${a}`};let f=new Map;for(let a of e??[]){let b=f.get(a.message_id);b||(b=[],f.set(a.message_id,b)),b.push(a)}let g=[],h=[];for(let a of d){let b=f.get(a.id)??[];g.push(function(a,b,c){let d=X(a.data)??{},e="string"==typeof d.role?d.role:"system",f=new Date(a.time_created),g=f.toISOString(),h=u({uuid:a.id,parentUuid:null},g,f,c),i=[],j="";for(let a of b){let b=X(a.data);if(!b)continue;let c="string"==typeof b.type?b.type:"unknown";if("text"===c){let a="string"==typeof b.text?b.text:"string"==typeof b.content?b.content:"";a&&(i.push({type:"text",text:a}),j+=(j?"\n":"")+a);continue}if("tool"===c){let c="string"==typeof b.tool?b.tool:"string"==typeof b.name?b.name:"tool",d=W(b.state)?b.state:null,e=d&&W(d.input)?d.input:W(b.input)?b.input:W(b.args)?b.args:{},f={type:"tool_use",id:a.id,name:c,input:e},g=d&&"string"==typeof d.status?d.status:"";if(d&&("completed"===g||"error"===g)){let b=("error"===g&&"string"==typeof d.error?d.error:null)??d.output,c="string"==typeof b?b:null!=b?JSON.stringify(b):"",e=W(d.time)?d.time:{},h="number"==typeof e.start?e.start:a.time_created,i="number"==typeof e.end?e.end:a.time_updated,j=Math.max(0,i-h),k=new Date(i);f.result={timestamp:k.toISOString(),timestampFormatted:t(k),content:c,durationMs:j,durationFormatted:s(j)}}i.push(f);continue}i.push({type:"text",text:`[opencode ${c}]`})}if("user"===e)return{...h,type:"user",message:{role:"user",content:j}};if("assistant"===e){let a=W(d.model)?d.model:null,b=a&&"string"==typeof a.modelID?a.modelID:void 0;return{...h,type:"assistant",message:{role:"assistant",content:i,model:b}}}return{...h,type:"system",raw:{id:a.id,role:e,parts:i}}}(a,b,"session"));let c=X(a.data);h.push({id:a.id,session_id:a.session_id,time_created:a.time_created,data:c??a.data})}return{entries:g,rawLines:h,cwd:c.directory??void 0,filePath:`opencode://${a}`}}let Z=(0,p.runtimeCache)(a=>Y(a),30,{maxSize:50}),$=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,_=/^[\d-]+T[\d-]+Z_([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\.jsonl$/i;async function aa(a,b="session"){let c,d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=!1;for(let a=0;a<d.length;a++){let h;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let i=d[a];try{h=JSON.parse(i)}catch{continue}let j={...h,_source:b};f.push(j);let k=h.timestamp;if(!k)continue;let l=new Date(k);if(Number.isNaN(l.getTime()))continue;let m=l.toISOString(),n=h.type;if("session"===n){"string"!=typeof h.cwd||c||(c=h.cwd);let a=g?"Session Resumed":"Session Started";g=!0,e.push({type:"queue-operation",...u(j,m,l,b),label:a});continue}if("message"===n&&h.message&&"object"==typeof h.message){let a=h.message.role,c=h.message.content;if("user"===a){let a=function(a){if(!Array.isArray(a))return"";let b=[];for(let c of a)c?.type==="text"&&"string"==typeof c.text&&b.push(c.text);return b.join("\n\n")}(c);if(!a)continue;e.push({type:"user",...u(j,m,l,b),message:{role:"user",content:a}});continue}if("assistant"===a){let a=function(a){if(!Array.isArray(a))return[];let b=[];for(let c of a)c?.type==="text"&&"string"==typeof c.text&&c.text.length>0&&b.push({type:"text",text:c.text}),c?.type==="thinking"&&"string"==typeof c.thinking&&c.thinking.length>0&&b.push({type:"text",text:`[thinking] ${c.thinking}`});return b}(c);if(0===a.length){e.push({type:"system",...u(j,m,l,b),raw:j});continue}e.push({type:"assistant",...u(j,m,l,b),message:{role:"assistant",content:a}});continue}e.push({type:"system",...u(j,m,l,b),raw:j});continue}e.push({type:"system",...u(j,m,l,b),raw:j})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function ab(a){let b,c,d=function(a){let b;if(!$.test(a))return null;let c=(0,A.resolve)(process.env.PI_SESSIONS_DIR||(0,A.join)((0,B.homedir)(),".pi","agent","sessions"));try{b=(0,y.readdirSync)(c)}catch{return null}for(let d of b){let b,e=(0,A.resolve)(c,d);if(e.startsWith(`${c}${A.sep}`)){try{b=(0,y.readdirSync)(e)}catch{continue}for(let c of b){let b=_.exec(c);if(!b||b[1].toLowerCase()!==a.toLowerCase())continue;let d=(0,A.resolve)(e,c);if(d.startsWith(`${e}${A.sep}`)&&(0,y.existsSync)(d))return d}}}return null}(a);if(!d)return null;try{b=await (0,z.readFile)(d,"utf-8")}catch{return null}try{c=await aa(b,"session")}catch{return null}return{entries:c.entries,rawLines:c.rawLines,cwd:c.cwd,filePath:d}}let ac=(0,p.runtimeCache)(a=>ab(a),60,{maxSize:50}),ad=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,ae=/^session-(.+)-([0-9a-f]{8})\.jsonl$/i;async function af(a,b="session",c){let d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=!1;for(let a=0;a<d.length;a++){let c;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let h=d[a];try{c=JSON.parse(h)}catch{continue}let i={...c,_source:b};if(f.push(i),"string"==typeof c.sessionId&&"string"==typeof c.startTime){let a=new Date(c.startTime);if(!Number.isNaN(a.getTime())){let c=g?"Session Resumed":"Session Started";g=!0,e.push({type:"queue-operation",...u(i,a.toISOString(),a,b),label:c})}continue}if(c.$set)continue;let j=c.timestamp;if(!j)continue;let k=new Date(j);if(Number.isNaN(k.getTime()))continue;let l=k.toISOString(),m=c.type;if("user"===m){let a=function(a){if(!Array.isArray(a))return"";let b=[];for(let c of a)"string"==typeof c?.text&&b.push(c.text);return b.join("\n\n")}(c.content);if(!a)continue;e.push({type:"user",...u(i,l,k,b),message:{role:"user",content:a}});continue}if("assistant"===m||"model"===m){let a=function(a){if(!Array.isArray(a))return[];let b=[];for(let c of a)"string"==typeof c?.text&&c.text.length>0&&b.push({type:"text",text:c.text});return b}(c.content);if(0===a.length){e.push({type:"system",...u(i,l,k,b),raw:i});continue}e.push({type:"assistant",...u(i,l,k,b),message:{role:"assistant",content:a}});continue}e.push({type:"system",...u(i,l,k,b),raw:i})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function ag(a){let b,c,d=function(a){let b;if(!ad.test(a))return null;let c=(0,A.resolve)(process.env.GEMINI_SESSIONS_DIR||(0,A.join)((0,B.homedir)(),".gemini","tmp")),d=a.slice(0,8).toLowerCase();try{b=(0,y.readdirSync)(c)}catch{return null}for(let e of b){let b,f=(0,A.resolve)(c,e);if(!f.startsWith(`${c}${A.sep}`))continue;let g=(0,A.resolve)(f,"chats");try{b=(0,y.readdirSync)(g)}catch{continue}for(let c of b){let b=ae.exec(c);if(!b||b[2].toLowerCase()!==d)continue;let e=(0,A.resolve)(g,c);if(!e.startsWith(`${g}${A.sep}`)||!(0,y.existsSync)(e))continue;let f=function(a){let b;try{b=(0,y.openSync)(a,"r")}catch{return null}try{let a=Buffer.alloc(4096),c=(0,y.readSync)(b,a,0,a.length,0);if(0===c)return null;let d=a.subarray(0,c).toString("utf-8"),e=d.indexOf("\n");return e>=0?d.slice(0,e):d}catch{return null}finally{try{(0,y.closeSync)(b)}catch{}}}(e);if(f)try{let b=JSON.parse(f);if("string"==typeof b.sessionId&&b.sessionId.toLowerCase()===a.toLowerCase())return e}catch{continue}}}return null}(a);if(!d)return null;try{b=await (0,z.readFile)(d,"utf-8")}catch{return null}let e=function(a){let b=(0,A.resolve)(a,".."),c=(0,A.resolve)(b,".."),d=(0,A.join)(c,".project_root");try{let a=(0,y.readFileSync)(d,"utf-8").trim();return a.length>0?a:void 0}catch{return}}(d);try{c=await af(b,"session",e)}catch{return null}return{entries:c.entries,rawLines:c.rawLines,cwd:c.cwd,filePath:d}}let ah=(0,p.runtimeCache)(a=>ag(a),60,{maxSize:50});var ai=a.i(71130),aj=a.i(893),ak=a.i(71216);function al({cli:a}){let c=(0,ak.getCliLabel)(a),d=(0,ak.getCliBadgeClasses)(a);return(0,b.jsx)("span",{className:`inline-flex items-center rounded px-1.5 py-0.5 text-[0.6rem] font-mono font-medium uppercase tracking-wider border ${d}`,title:`Agent CLI: ${c}`,children:c})}async function am({params:a}){let d,e,{name:f,sessionId:g}=await a;try{(0,n.resolveProjectPath)(f)}catch{(0,j.notFound)()}let k=(0,m.decodeFolderName)(f),l=-1===(e=g.indexOf("/"))?g:g.slice(0,e);n.UUID_RE.test(l)||/^ses_[A-Za-z0-9]+$/.test(l)||(0,j.notFound)();let o=null,p=null,q=null,r="claude";try{let a=await x(f,l);o=a.entries,p=a.rawLines}catch(a){if("ENOENT"===a.code){let a=await J(l);if(a)o=a.entries,p=a.rawLines,d=a.cwd,r="codex";else{let a=await N(l);if(a)o=a.entries,p=a.rawLines,d=a.cwd,r="copilot";else{let a=await T(l);if(a)o=a.entries,p=a.rawLines,d=a.cwd,r="cursor";else{let a=await Z(l);if(a)o=a.entries,p=a.rawLines,d=a.cwd,r="opencode";else{let a=await ac(l);if(a)o=a.entries,p=a.rawLines,d=a.cwd,r="pi";else{let a=await ah(l);a?(o=a.entries,p=a.rawLines,d=a.cwd,r="gemini"):q="Session log file not found."}}}}}}else q="Failed to read session log."}let s="claude"!==r,t="codex"===r?`OpenAI Codex${d?` \xb7 ${d}`:""}`:"copilot"===r?`GitHub Copilot${d?` \xb7 ${d}`:""}`:"cursor"===r?`Cursor Agent${d?` \xb7 ${d}`:""}`:"opencode"===r?`OpenCode${d?` \xb7 ${d}`:""}`:"pi"===r?`Pi${d?` \xb7 ${d}`:""}`:"gemini"===r?`Gemini CLI${d?` \xb7 ${d}`:""}`:k;return(0,b.jsx)("main",{className:"min-h-screen bg-background",children:(0,b.jsxs)("div",{className:"container mx-auto p-8",children:[(0,b.jsxs)(c.default,{href:s?"/policies?tab=activity":`/project/${encodeURIComponent(f)}`,className:"inline-flex items-center gap-2 text-muted-foreground hover:text-foreground mb-6 transition-colors",children:[(0,b.jsx)(h,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:s?"Back to Activity":"Back to Sessions"})]}),(0,b.jsxs)("div",{className:"mb-8",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3 mb-2",children:[(0,b.jsx)("h1",{className:"text-4xl font-bold text-foreground",children:"Session Log"}),(0,b.jsx)(al,{cli:r})]}),(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("p",{className:"text-muted-foreground",children:[(0,b.jsxs)("span",{className:"font-medium",children:[s?"CLI":"Project",":"]})," ",t]}),(0,b.jsxs)("p",{className:"text-muted-foreground break-words break-all inline-flex items-center gap-1",children:[(0,b.jsx)("span",{className:"font-medium",children:"Session:"})," ",l,(0,b.jsx)(aj.CopyButton,{text:l})]}),o&&p&&(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("p",{className:"text-muted-foreground",children:[(0,b.jsx)("span",{className:"font-medium",children:p.length})," log lines"]}),(0,b.jsxs)("a",{href:`/api/download/${encodeURIComponent(f)}/${encodeURIComponent(l)}?cli=${r}`,download:!0,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-sm rounded-md bg-muted text-muted-foreground hover:bg-muted/80 hover:text-foreground transition-colors",children:[(0,b.jsx)(i,{className:"w-4 h-4"}),"Download Logs"]})]})]})]}),q&&(0,b.jsx)("div",{className:"bg-card text-card-foreground rounded-lg border border-destructive/50 p-6 shadow-sm",children:(0,b.jsx)("p",{className:"text-destructive text-center py-8",children:q})}),!q&&o&&(0,b.jsx)(ai.default,{entries:o,projectName:s?d??("codex"===r?"OpenAI Codex":"copilot"===r?"GitHub Copilot":"cursor"===r?"Cursor Agent":"opencode"===r?"OpenCode":"pi"===r?"Pi":"Gemini CLI"):k,sessionId:l})]})})}a.s(["default",0,am,"dynamic",0,"force-dynamic"],41190)},87330,a=>{a.n(a.i(41190))}];
1
+ module.exports=[8174,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/node_modules/lucide-react/dist/esm/Icon.mjs <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/node_modules/lucide-react/dist/esm/Icon.mjs <module evaluation>","default")},90697,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/node_modules/lucide-react/dist/esm/Icon.mjs from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/node_modules/lucide-react/dist/esm/Icon.mjs","default")},53808,a=>{"use strict";a.i(8174);var b=a.i(90697);a.n(b)},14066,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/app/components/lazy-log-viewer.tsx <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/components/lazy-log-viewer.tsx <module evaluation>","default")},19597,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/app/components/lazy-log-viewer.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/components/lazy-log-viewer.tsx","default")},71130,a=>{"use strict";a.i(14066);var b=a.i(19597);a.n(b)},85540,a=>{"use strict";a.s(["CopyButton",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call CopyButton() from the server but CopyButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/components/copy-button.tsx <module evaluation>","CopyButton")},35770,a=>{"use strict";a.s(["CopyButton",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call CopyButton() from the server but CopyButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/components/copy-button.tsx","CopyButton")},893,a=>{"use strict";a.i(85540);var b=a.i(35770);a.n(b)},41190,a=>{"use strict";var b=a.i(7997),c=a.i(95936),d=a.i(717);let e=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var f=a.i(53808);let g=(a,b)=>{let c=(0,d.forwardRef)(({className:c,...g},h)=>(0,d.createElement)(f.default,{ref:h,iconNode:b,className:((...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim())(`lucide-${e(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,c),...g}));return c.displayName=e(a),c},h=g("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),i=g("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);a.i(70396);var j=a.i(73727),k=a.i(24868),l=a.i(14747),m=a.i(90798),n=a.i(69191);async function o(a,b,c,d){let e=`agent-${d}.jsonl`;for(let d of[(0,l.join)(a,b,e),(0,l.join)(a,b,c,e),(0,l.join)(a,b,c,"subagents",e)])if(!(0,l.relative)(a,d).startsWith(".."))try{return await (0,k.access)(d),d}catch(a){if("ENOENT"===a.code)continue;break}return null}var p=a.i(34900),q=a.i(26192),r=a.i(33432);function s(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 t(a){let b=(0,r.formatDate)(a),c=a.getMilliseconds().toString().padStart(3,"0");return`${b}.${c}`}function u(a,b,c,d){return{_source:d,uuid:a.uuid||"",parentUuid:a.parentUuid??null,timestamp:b,timestampMs:c.getTime(),timestampFormatted:t(c)}}async function v(a,b){let c=a.split("\n").filter(a=>""!==a.trim()),d=new Map,e=[],f=[],g=new Set,h=!1;for(let a=0;a<c.length;a++){let i;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let j=c[a];try{i=JSON.parse(j)}catch{continue}let k={...i,_source:b};f.push(k);let l=i.type,m=i.timestamp;if(!m)continue;let n=new Date(m),o=n.getTime();if("user"===l){let a=i.message;if(Array.isArray(a?.content)){let b=a.content;if(b.some(a=>"tool_result"===a.type)){let a=i.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:m,timestampMs:o,content:e,images:f,agentId:c})}continue}}let c="string"==typeof a?.content?a.content:"";e.push({type:"user",...u(i,m,n,b),message:{role:"user",content:c}});continue}if("assistant"===l){let a=i.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",...u(i,m,n,b),message:{role:"assistant",content:c,model:a?.model}});continue}if("file-history-snapshot"===l||"progress"===l||"system"===l){e.push({type:l,...u(i,m,n,b),raw:{...i}});continue}if("queue-operation"===l){let a=h?"Session Resumed":"Session Started";h=!0,e.push({type:"queue-operation",...u(i,m,n,b),label:a});continue}}let i=0;for(let a of e)if("assistant"===a.type)for(let b of(++i%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=Math.max(0,c.timestampMs-a.timestampMs);b.result={timestamp:c.timestamp,timestampFormatted:t(e),content:c.content,images:c.images,durationMs:f,durationFormatted:s(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)}}async function w(a,b){let c=(0,n.resolveProjectPath)(a),d=(0,m.getClaudeProjectsPath)(),e=(0,l.join)(c,`${b}.jsonl`),f=await (0,k.readFile)(e,"utf-8"),{entries:g,rawLines:h,subagentIds:i}=await v(f,"session");if(0===i.length)return{entries:g,rawLines:h,subagentIds:[]};let j=await (0,q.batchAll)(i.map(c=>async()=>{let e=`agent-${c}`,f=await o(d,a,b,c);if(!f)return null;let g=await (0,k.readFile)(f,"utf-8"),{entries:h,rawLines:i}=await v(g,e);return{entries:h,rawLines:i}}),4),p=[...g],r=[...h];for(let a of j)"fulfilled"===a.status&&a.value&&(p.push(...a.value.entries),r.push(...a.value.rawLines));return p.length>500&&await new Promise(a=>setImmediate(a)),p.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:p,rawLines:r,subagentIds:i}}let x=(0,p.runtimeCache)((a,b)=>w(a,b),60,{maxSize:50});var y=a.i(2157),z=a.i(12714),A=a.i(50227),B=a.i(60526);let C=(0,A.join)((0,B.homedir)(),".failproofai","cache","codex-session-paths.json");function D(){try{if(!(0,y.existsSync)(C))return{};return JSON.parse((0,y.readFileSync)(C,"utf-8"))}catch{return{}}}function E(a,b){try{(0,y.mkdirSync)((0,A.dirname)(C),{recursive:!0});let c=D();c[a]=b,(0,y.writeFileSync)(C,JSON.stringify(c),"utf-8")}catch{}}function F(a,b){try{for(let c of(0,y.readdirSync)(a,{withFileTypes:!0}))if(c.isFile()&&c.name.includes(b)&&c.name.endsWith(".jsonl"))return(0,A.join)(a,c.name)}catch{}return null}function G(a,b){return Array.isArray(a)?a.filter(a=>a?.type===b&&"string"==typeof a.text).map(a=>a.text).join("\n"):""}async function H(a,b="session"){let c,d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=new Map,h=new Map,i=!1;for(let a=0;a<d.length;a++){let j;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let k=d[a];try{j=JSON.parse(k)}catch{continue}let l={...j,_source:b};f.push(l);let m=j.timestamp;if(!m)continue;let n=new Date(m);if(Number.isNaN(n.getTime()))continue;let o=j.type,p=j.payload??{};if("session_meta"===o){let a=p.cwd;"string"!=typeof a||c||(c=a),e.push({type:"system",...u(l,m,n,b),raw:l});continue}if("response_item"===o){let a=p.type;if("message"===a){let a=p.role,c=p.content;if("user"===a||"developer"===a){let d=G(c,"input_text");if(!d)continue;let f="developer"===a?`[developer] ${d}`:d;e.push({type:"user",...u(l,m,n,b),message:{role:"user",content:f}});continue}if("assistant"===a){let a=G(c,"output_text");if(!a)continue;let d=[{type:"text",text:a}];e.push({type:"assistant",...u(l,m,n,b),message:{role:"assistant",content:d}});continue}e.push({type:"system",...u(l,m,n,b),raw:l});continue}if("function_call"===a){let a=p.call_id,c=p.name??"function_call",d={type:"tool_use",id:a??`${m}-${c}`,name:c,input:function(a){if(!a)return{};try{return JSON.parse(a)}catch{return{}}}(p.arguments)},f={type:"assistant",...u(l,m,n,b),message:{role:"assistant",content:[d]}};e.push(f),a&&(g.set(a,d),h.set(a,n.getTime()));continue}if("function_call_output"===a){let a=p.call_id,c=a?g.get(a):void 0;if(c){let b=h.get(a)??n.getTime(),d=Math.max(0,n.getTime()-b);c.result={timestamp:m,timestampFormatted:t(n),content:"string"==typeof p.output?p.output:JSON.stringify(p.output),durationMs:d,durationFormatted:s(d)};continue}e.push({type:"system",...u(l,m,n,b),raw:l});continue}e.push({type:"system",...u(l,m,n,b),raw:l});continue}if("event_msg"===o){let a=p.type;if("task_started"===a){let a=i?"Session Resumed":"Session Started";i=!0,e.push({type:"queue-operation",...u(l,m,n,b),label:a});continue}if("exec_command_end"===a){let a=p.call_id,c=a?g.get(a):void 0;if(c){let b=p.duration,d=b?(b.secs??0)*1e3+Math.round((b.nanos??0)/1e6):Math.max(0,n.getTime()-(h.get(a)??n.getTime())),e=p.aggregated_output;c.result={timestamp:m,timestampFormatted:t(n),content:"string"==typeof e?e:JSON.stringify(e),durationMs:d,durationFormatted:s(d)};continue}e.push({type:"system",...u(l,m,n,b),raw:l});continue}if("user_message"===a||"agent_message"===a)continue;e.push({type:"system",...u(l,m,n,b),raw:l});continue}e.push({type:"system",...u(l,m,n,b),raw:l})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function I(a){let b=function(a){let b=D()[a];if(b&&(0,y.existsSync)(b))return b;let c=(0,A.join)((0,B.homedir)(),".codex","sessions"),d=new Date,e=new Date(d.getTime()-864e5);for(let b of[d,e].map(a=>{let b=String(a.getUTCFullYear()),d=String(a.getUTCMonth()+1).padStart(2,"0"),e=String(a.getUTCDate()).padStart(2,"0");return(0,A.join)(c,b,d,e)})){let c=F(b,a);if(c)return E(a,c),c}try{for(let b of(0,y.readdirSync)(c,{withFileTypes:!0}))if(b.isDirectory()){for(let d of(0,y.readdirSync)((0,A.join)(c,b.name),{withFileTypes:!0}))if(d.isDirectory())for(let e of(0,y.readdirSync)((0,A.join)(c,b.name,d.name),{withFileTypes:!0})){if(!e.isDirectory())continue;let f=F((0,A.join)(c,b.name,d.name,e.name),a);if(f)return E(a,f),f}}}catch{}return null}(a);if(!b)return null;let c=await (0,z.readFile)(b,"utf-8"),{entries:d,rawLines:e,cwd:f}=await H(c,"session");return{entries:d,rawLines:e,cwd:f,filePath:b}}let J=(0,p.runtimeCache)(a=>I(a),60,{maxSize:50});function K(a,b){let c=function(a){if(!a)return null;let b=(0,A.resolve)((0,A.join)(process.env.COPILOT_HOME||(0,A.join)((0,B.homedir)(),".copilot"),"session-state")),c=(0,A.resolve)(b,a);return c!==b&&c.startsWith(`${b}${A.sep}`)?c:null}(a);return c?(0,A.join)(c,b):null}async function L(a,b="session"){let c,d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=new Map,h=new Map,i=!1;for(let a=0;a<d.length;a++){let j;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let k=d[a];try{j=JSON.parse(k)}catch{continue}let l={...j,_source:b};f.push(l);let m=j.timestamp;if(!m)continue;let n=new Date(m);if(Number.isNaN(n.getTime()))continue;let o=n.toISOString(),p=j.type,q=j.data??{};if("session.start"===p){let a=q.context,d=a?.cwd;"string"!=typeof d||c||(c=d);let f=i?"Session Resumed":"Session Started";i=!0,e.push({type:"queue-operation",...u(l,o,n,b),label:f});continue}if("user.message"===p){let a=q.content??"";if(!a)continue;e.push({type:"user",...u(l,o,n,b),message:{role:"user",content:a}});continue}if("system.message"===p){e.push({type:"system",...u(l,o,n,b),raw:l});continue}if("assistant.message"===p){let a=q.content??"";if(!a){e.push({type:"system",...u(l,o,n,b),raw:l});continue}let c=[{type:"text",text:a}];e.push({type:"assistant",...u(l,o,n,b),message:{role:"assistant",content:c}});continue}if("tool.execution_start"===p){let a=q.toolCallId,c=q.toolName??"tool",d=q.arguments??{},f={type:"tool_use",id:a??`${n.getTime()}-${c}`,name:c,input:d},i={type:"assistant",...u(l,o,n,b),message:{role:"assistant",content:[f]}};e.push(i),a&&(g.set(a,f),h.set(a,n.getTime()));continue}if("tool.execution_complete"===p){let a=q.toolCallId,c=a?g.get(a):void 0;if(c){let b=h.get(a)??n.getTime(),d=q.result??{},e=q.toolTelemetry??{},f=e.metrics?.commandTimeMs??e.metrics?.durationMs??null,g="number"==typeof f&&f>=0?f:Math.max(0,n.getTime()-b),i=d.detailedContent??d.content??"";c.result={timestamp:o,timestampFormatted:t(n),content:"string"==typeof i?i:JSON.stringify(i),durationMs:g,durationFormatted:s(g)};continue}e.push({type:"system",...u(l,o,n,b),raw:l});continue}e.push({type:"system",...u(l,o,n,b),raw:l})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function M(a){let b,c,d=(c=K(a,"events.jsonl"))&&(0,y.existsSync)(c)?c:null;if(!d)return null;try{b=await (0,z.readFile)(d,"utf-8")}catch{return null}let{entries:e,rawLines:f,cwd:g}=await L(b,"session");return{entries:e,rawLines:f,cwd:g??function(a){let b,c=(b=K(a,"workspace.yaml"))&&(0,y.existsSync)(b)?b:null;if(c)try{let a=(0,y.readFileSync)(c,"utf-8"),b=RegExp("^cwd\\s*:\\s*(.+?)\\s*$","m"),d=a.match(b);if(!d)return;return d[1].replace(/^['"]|['"]$/g,"")}catch{return}}(a),filePath:d}}let N=(0,p.runtimeCache)(a=>M(a),60,{maxSize:50}),O=["agent-sessions","conversations","sessions"],P=["events.jsonl","transcript.jsonl","messages.jsonl"],Q="agent-transcripts";async function R(a,b="session"){let c,d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=new Map,h=new Map,i=!1,j=Date.now();for(let a=0;a<d.length;a++){let k;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let l=d[a];try{k=JSON.parse(l)}catch{continue}let m={...k,_source:b};if(f.push(m),!k.type&&k.role&&k.message?.content){let c=new Date(j+a),d=c.toISOString(),f=k.message.content.filter(a=>a?.type==="text"&&"string"==typeof a.text).map(a=>a.text).join("");if("user"===k.role){let a=/<user_query>\s*([\s\S]*?)\s*<\/user_query>/.exec(f),g=a?a[1]:f;g&&e.push({type:"user",...u(m,d,c,b),message:{role:"user",content:g}});continue}if("assistant"===k.role){let a=f?[{type:"text",text:f}]:[];0===a.length?e.push({type:"system",...u(m,d,c,b),raw:m}):e.push({type:"assistant",...u(m,d,c,b),message:{role:"assistant",content:a}});continue}e.push({type:"system",...u(m,d,c,b),raw:m});continue}let n=k.timestamp;if(!n)continue;let o=new Date(n);if(Number.isNaN(o.getTime()))continue;let p=o.toISOString(),q=k.type,r=k.data??{};if("session.start"===q||"sessionStart"===q||"session_start"===q){let a=r.context??r,d=a.cwd;"string"!=typeof d||c||(c=d),!c&&Array.isArray(a.workspace_roots)&&"string"==typeof a.workspace_roots[0]&&(c=a.workspace_roots[0]);let f=i?"Session Resumed":"Session Started";i=!0,e.push({type:"queue-operation",...u(m,p,o,b),label:f});continue}if("user.message"===q||"userMessage"===q){let a="string"==typeof r.content?r.content:"string"==typeof r.text?r.text:"";if(!a)continue;e.push({type:"user",...u(m,p,o,b),message:{role:"user",content:a}});continue}if("system.message"===q||"systemMessage"===q){e.push({type:"system",...u(m,p,o,b),raw:m});continue}if("assistant.message"===q||"assistantMessage"===q){let a="string"==typeof r.content?r.content:"string"==typeof r.text?r.text:"";if(!a){e.push({type:"system",...u(m,p,o,b),raw:m});continue}let c=[{type:"text",text:a}];e.push({type:"assistant",...u(m,p,o,b),message:{role:"assistant",content:c}});continue}if("tool.execution_start"===q||"tool.executionStart"===q||"preToolUse"===q){let a=r.toolCallId??r.tool_use_id,c=r.toolName??r.tool_name??"tool",d=r.arguments??r.tool_input??{},f={type:"tool_use",id:a??`${o.getTime()}-${c}`,name:c,input:d},i={type:"assistant",...u(m,p,o,b),message:{role:"assistant",content:[f]}};e.push(i),a&&(g.set(a,f),h.set(a,o.getTime()));continue}if("tool.execution_complete"===q||"tool.executionComplete"===q||"postToolUse"===q){let a=r.toolCallId??r.tool_use_id,c=a?g.get(a):void 0;if(c){let b=h.get(a)??o.getTime(),d=r.result??{},e=r.duration,f="number"==typeof e&&e>=0?e:Math.max(0,o.getTime()-b),g=d.detailedContent??d.content??r.tool_output??"";c.result={timestamp:p,timestampFormatted:t(o),content:"string"==typeof g?g:JSON.stringify(g),durationMs:f,durationFormatted:s(f)};continue}e.push({type:"system",...u(m,p,o,b),raw:m});continue}e.push({type:"system",...u(m,p,o,b),raw:m})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function S(a){let b,c=function(a){let b=function(a){if(!a)return null;let b=(0,A.resolve)(process.env.CURSOR_HOME||(0,A.join)((0,B.homedir)(),".cursor")),c=(0,A.resolve)(b,"projects"),d=[];try{d=(0,y.readdirSync)(c,{withFileTypes:!0})}catch{}for(let b of d){if(!b.isDirectory())continue;let d=(0,A.resolve)(c,b.name,Q,a),e=(0,A.resolve)(c,b.name,Q);if(d!==e&&d.startsWith(`${e}${A.sep}`)&&(0,y.existsSync)(d))return d}for(let c of O){let d=(0,A.resolve)(b,c),e=(0,A.resolve)(d,a);if(e!==d&&e.startsWith(`${d}${A.sep}`)&&(0,y.existsSync)(e))return e}return null}(a);if(!b)return null;let c=(0,A.join)(b,`${(0,A.basename)(b)}.jsonl`);if((0,y.existsSync)(c))return c;for(let a of P){let c=(0,A.join)(b,a);if((0,y.existsSync)(c))return c}return null}(a);if(!c)return null;try{b=await (0,z.readFile)(c,"utf-8")}catch{return null}let{entries:d,rawLines:e,cwd:f}=await R(b,"session");return{entries:d,rawLines:e,cwd:f,filePath:c}}let T=(0,p.runtimeCache)(a=>S(a),60,{maxSize:50});var U=a.i(74533);function V(a){try{let b=(0,U.execFileSync)("opencode",["db","--format","json",a],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]});if(!b.trim())return[];let c=JSON.parse(b);if(!Array.isArray(c))return null;return c}catch{return null}}function W(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function X(a){if("string"!=typeof a||0===a.length)return null;try{let b=JSON.parse(a);return W(b)?b:null}catch{return null}}async function Y(a){if(!a||!/^[A-Za-z0-9_-]+$/.test(a))return null;let b=V(`SELECT id, project_id, slug, directory, title, time_created, time_updated FROM session WHERE id = '${a}'`);if(!b||0===b.length)return null;let c=b[0],d=V(`SELECT id, session_id, time_created, time_updated, data FROM message WHERE session_id = '${a}' ORDER BY time_created ASC`),e=V(`SELECT id, message_id, session_id, time_created, time_updated, data FROM part WHERE session_id = '${a}' ORDER BY time_created ASC`);if(!d)return{entries:[],rawLines:[],cwd:c.directory??void 0,filePath:`opencode://${a}`};let f=new Map;for(let a of e??[]){let b=f.get(a.message_id);b||(b=[],f.set(a.message_id,b)),b.push(a)}let g=[],h=[];for(let a of d){let b=f.get(a.id)??[];g.push(function(a,b,c){let d=X(a.data)??{},e="string"==typeof d.role?d.role:"system",f=new Date(a.time_created),g=f.toISOString(),h=u({uuid:a.id,parentUuid:null},g,f,c),i=[],j="";for(let a of b){let b=X(a.data);if(!b)continue;let c="string"==typeof b.type?b.type:"unknown";if("text"===c){let a="string"==typeof b.text?b.text:"string"==typeof b.content?b.content:"";a&&(i.push({type:"text",text:a}),j+=(j?"\n":"")+a);continue}if("tool"===c){let c="string"==typeof b.tool?b.tool:"string"==typeof b.name?b.name:"tool",d=W(b.state)?b.state:null,e=d&&W(d.input)?d.input:W(b.input)?b.input:W(b.args)?b.args:{},f={type:"tool_use",id:a.id,name:c,input:e},g=d&&"string"==typeof d.status?d.status:"";if(d&&("completed"===g||"error"===g)){let b=("error"===g&&"string"==typeof d.error?d.error:null)??d.output,c="string"==typeof b?b:null!=b?JSON.stringify(b):"",e=W(d.time)?d.time:{},h="number"==typeof e.start?e.start:a.time_created,i="number"==typeof e.end?e.end:a.time_updated,j=Math.max(0,i-h),k=new Date(i);f.result={timestamp:k.toISOString(),timestampFormatted:t(k),content:c,durationMs:j,durationFormatted:s(j)}}i.push(f);continue}i.push({type:"text",text:`[opencode ${c}]`})}if("user"===e)return{...h,type:"user",message:{role:"user",content:j}};if("assistant"===e){let a=W(d.model)?d.model:null,b=a&&"string"==typeof a.modelID?a.modelID:void 0;return{...h,type:"assistant",message:{role:"assistant",content:i,model:b}}}return{...h,type:"system",raw:{id:a.id,role:e,parts:i}}}(a,b,"session"));let c=X(a.data);h.push({id:a.id,session_id:a.session_id,time_created:a.time_created,data:c??a.data})}return{entries:g,rawLines:h,cwd:c.directory??void 0,filePath:`opencode://${a}`}}let Z=(0,p.runtimeCache)(a=>Y(a),30,{maxSize:50}),$=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,_=/^[\d-]+T[\d-]+Z_([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\.jsonl$/i;async function aa(a,b="session"){let c,d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=!1;for(let a=0;a<d.length;a++){let h;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let i=d[a];try{h=JSON.parse(i)}catch{continue}let j={...h,_source:b};f.push(j);let k=h.timestamp;if(!k)continue;let l=new Date(k);if(Number.isNaN(l.getTime()))continue;let m=l.toISOString(),n=h.type;if("session"===n){"string"!=typeof h.cwd||c||(c=h.cwd);let a=g?"Session Resumed":"Session Started";g=!0,e.push({type:"queue-operation",...u(j,m,l,b),label:a});continue}if("message"===n&&h.message&&"object"==typeof h.message){let a=h.message.role,c=h.message.content;if("user"===a){let a=function(a){if(!Array.isArray(a))return"";let b=[];for(let c of a)c?.type==="text"&&"string"==typeof c.text&&b.push(c.text);return b.join("\n\n")}(c);if(!a)continue;e.push({type:"user",...u(j,m,l,b),message:{role:"user",content:a}});continue}if("assistant"===a){let a=function(a){if(!Array.isArray(a))return[];let b=[];for(let c of a)c?.type==="text"&&"string"==typeof c.text&&c.text.length>0&&b.push({type:"text",text:c.text}),c?.type==="thinking"&&"string"==typeof c.thinking&&c.thinking.length>0&&b.push({type:"text",text:`[thinking] ${c.thinking}`});return b}(c);if(0===a.length){e.push({type:"system",...u(j,m,l,b),raw:j});continue}e.push({type:"assistant",...u(j,m,l,b),message:{role:"assistant",content:a}});continue}e.push({type:"system",...u(j,m,l,b),raw:j});continue}e.push({type:"system",...u(j,m,l,b),raw:j})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function ab(a){let b,c,d=function(a){let b;if(!$.test(a))return null;let c=(0,A.resolve)(process.env.PI_SESSIONS_DIR||(0,A.join)((0,B.homedir)(),".pi","agent","sessions"));try{b=(0,y.readdirSync)(c)}catch{return null}for(let d of b){let b,e=(0,A.resolve)(c,d);if(e.startsWith(`${c}${A.sep}`)){try{b=(0,y.readdirSync)(e)}catch{continue}for(let c of b){let b=_.exec(c);if(!b||b[1].toLowerCase()!==a.toLowerCase())continue;let d=(0,A.resolve)(e,c);if(d.startsWith(`${e}${A.sep}`)&&(0,y.existsSync)(d))return d}}}return null}(a);if(!d)return null;try{b=await (0,z.readFile)(d,"utf-8")}catch{return null}try{c=await aa(b,"session")}catch{return null}return{entries:c.entries,rawLines:c.rawLines,cwd:c.cwd,filePath:d}}let ac=(0,p.runtimeCache)(a=>ab(a),60,{maxSize:50}),ad=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,ae=/^session-(.+)-([0-9a-f]{8})\.jsonl$/i;async function af(a,b="session",c){let d=a.split("\n").filter(a=>""!==a.trim()),e=[],f=[],g=!1;for(let a=0;a<d.length;a++){let c;a>0&&a%200==0&&await new Promise(a=>setImmediate(a));let h=d[a];try{c=JSON.parse(h)}catch{continue}let i={...c,_source:b};if(f.push(i),"string"==typeof c.sessionId&&"string"==typeof c.startTime){let a=new Date(c.startTime);if(!Number.isNaN(a.getTime())){let c=g?"Session Resumed":"Session Started";g=!0,e.push({type:"queue-operation",...u(i,a.toISOString(),a,b),label:c})}continue}if(c.$set)continue;let j=c.timestamp;if(!j)continue;let k=new Date(j);if(Number.isNaN(k.getTime()))continue;let l=k.toISOString(),m=c.type;if("user"===m){let a=function(a){if(!Array.isArray(a))return"";let b=[];for(let c of a)"string"==typeof c?.text&&b.push(c.text);return b.join("\n\n")}(c.content);if(!a)continue;e.push({type:"user",...u(i,l,k,b),message:{role:"user",content:a}});continue}if("assistant"===m||"model"===m){let a=function(a){if(!Array.isArray(a))return[];let b=[];for(let c of a)"string"==typeof c?.text&&c.text.length>0&&b.push({type:"text",text:c.text});return b}(c.content);if(0===a.length){e.push({type:"system",...u(i,l,k,b),raw:i});continue}e.push({type:"assistant",...u(i,l,k,b),message:{role:"assistant",content:a}});continue}e.push({type:"system",...u(i,l,k,b),raw:i})}return e.length>500&&await new Promise(a=>setImmediate(a)),e.sort((a,b)=>a.timestampMs-b.timestampMs),{entries:e,rawLines:f,cwd:c}}async function ag(a){let b,c,d=function(a){let b;if(!ad.test(a))return null;let c=(0,A.resolve)(process.env.GEMINI_SESSIONS_DIR||(0,A.join)((0,B.homedir)(),".gemini","tmp")),d=a.slice(0,8).toLowerCase();try{b=(0,y.readdirSync)(c)}catch{return null}for(let e of b){let b,f=(0,A.resolve)(c,e);if(!f.startsWith(`${c}${A.sep}`))continue;let g=(0,A.resolve)(f,"chats");try{b=(0,y.readdirSync)(g)}catch{continue}for(let c of b){let b=ae.exec(c);if(!b||b[2].toLowerCase()!==d)continue;let e=(0,A.resolve)(g,c);if(!e.startsWith(`${g}${A.sep}`)||!(0,y.existsSync)(e))continue;let f=function(a){let b;try{b=(0,y.openSync)(a,"r")}catch{return null}try{let a=Buffer.alloc(4096),c=(0,y.readSync)(b,a,0,a.length,0);if(0===c)return null;let d=a.subarray(0,c).toString("utf-8"),e=d.indexOf("\n");return e>=0?d.slice(0,e):d}catch{return null}finally{try{(0,y.closeSync)(b)}catch{}}}(e);if(f)try{let b=JSON.parse(f);if("string"==typeof b.sessionId&&b.sessionId.toLowerCase()===a.toLowerCase())return e}catch{continue}}}return null}(a);if(!d)return null;try{b=await (0,z.readFile)(d,"utf-8")}catch{return null}let e=function(a){let b=(0,A.resolve)(a,".."),c=(0,A.resolve)(b,".."),d=(0,A.join)(c,".project_root");try{let a=(0,y.readFileSync)(d,"utf-8").trim();return a.length>0?a:void 0}catch{return}}(d);try{c=await af(b,"session",e)}catch{return null}return{entries:c.entries,rawLines:c.rawLines,cwd:c.cwd,filePath:d}}let ah=(0,p.runtimeCache)(a=>ag(a),60,{maxSize:50});var ai=a.i(71130),aj=a.i(893),ak=a.i(24282);function al({cli:a}){let c=(0,ak.getCliLabel)(a),d=(0,ak.getCliBadgeClasses)(a);return(0,b.jsx)("span",{className:`inline-flex items-center rounded px-1.5 py-0.5 text-[0.6rem] font-mono font-medium uppercase tracking-wider border ${d}`,title:`Agent CLI: ${c}`,children:c})}async function am({params:a}){let d,e,{name:f,sessionId:g}=await a;try{(0,n.resolveProjectPath)(f)}catch{(0,j.notFound)()}let k=(0,m.decodeFolderName)(f),l=-1===(e=g.indexOf("/"))?g:g.slice(0,e);n.UUID_RE.test(l)||/^ses_[A-Za-z0-9]+$/.test(l)||(0,j.notFound)();let o=null,p=null,q=null,r="claude";try{let a=await x(f,l);o=a.entries,p=a.rawLines}catch(a){if("ENOENT"===a.code){let a=await J(l);if(a)o=a.entries,p=a.rawLines,d=a.cwd,r="codex";else{let a=await N(l);if(a)o=a.entries,p=a.rawLines,d=a.cwd,r="copilot";else{let a=await T(l);if(a)o=a.entries,p=a.rawLines,d=a.cwd,r="cursor";else{let a=await Z(l);if(a)o=a.entries,p=a.rawLines,d=a.cwd,r="opencode";else{let a=await ac(l);if(a)o=a.entries,p=a.rawLines,d=a.cwd,r="pi";else{let a=await ah(l);a?(o=a.entries,p=a.rawLines,d=a.cwd,r="gemini"):q="Session log file not found."}}}}}}else q="Failed to read session log."}let s="claude"!==r,t="codex"===r?`OpenAI Codex${d?` \xb7 ${d}`:""}`:"copilot"===r?`GitHub Copilot${d?` \xb7 ${d}`:""}`:"cursor"===r?`Cursor Agent${d?` \xb7 ${d}`:""}`:"opencode"===r?`OpenCode${d?` \xb7 ${d}`:""}`:"pi"===r?`Pi${d?` \xb7 ${d}`:""}`:"gemini"===r?`Gemini CLI${d?` \xb7 ${d}`:""}`:k;return(0,b.jsx)("main",{className:"min-h-screen bg-background",children:(0,b.jsxs)("div",{className:"container mx-auto p-8",children:[(0,b.jsxs)(c.default,{href:s?"/policies?tab=activity":`/project/${encodeURIComponent(f)}`,className:"inline-flex items-center gap-2 text-muted-foreground hover:text-foreground mb-6 transition-colors",children:[(0,b.jsx)(h,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:s?"Back to Activity":"Back to Sessions"})]}),(0,b.jsxs)("div",{className:"mb-8",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3 mb-2",children:[(0,b.jsx)("h1",{className:"text-4xl font-bold text-foreground",children:"Session Log"}),(0,b.jsx)(al,{cli:r})]}),(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("p",{className:"text-muted-foreground",children:[(0,b.jsxs)("span",{className:"font-medium",children:[s?"CLI":"Project",":"]})," ",t]}),(0,b.jsxs)("p",{className:"text-muted-foreground break-words break-all inline-flex items-center gap-1",children:[(0,b.jsx)("span",{className:"font-medium",children:"Session:"})," ",l,(0,b.jsx)(aj.CopyButton,{text:l})]}),o&&p&&(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("p",{className:"text-muted-foreground",children:[(0,b.jsx)("span",{className:"font-medium",children:p.length})," log lines"]}),(0,b.jsxs)("a",{href:`/api/download/${encodeURIComponent(f)}/${encodeURIComponent(l)}?cli=${r}`,download:!0,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-sm rounded-md bg-muted text-muted-foreground hover:bg-muted/80 hover:text-foreground transition-colors",children:[(0,b.jsx)(i,{className:"w-4 h-4"}),"Download Logs"]})]})]})]}),q&&(0,b.jsx)("div",{className:"bg-card text-card-foreground rounded-lg border border-destructive/50 p-6 shadow-sm",children:(0,b.jsx)("p",{className:"text-destructive text-center py-8",children:q})}),!q&&o&&(0,b.jsx)(ai.default,{entries:o,projectName:s?d??("codex"===r?"OpenAI Codex":"copilot"===r?"GitHub Copilot":"cursor"===r?"Cursor Agent":"opencode"===r?"OpenCode":"pi"===r?"Pi":"Gemini CLI"):k,sessionId:l})]})})}a.s(["default",0,am,"dynamic",0,"force-dynamic"],41190)},87330,a=>{a.n(a.i(41190))}];
2
2
 
3
3
  //# sourceMappingURL=_11_p9y8._.js.map