failproofai 0.0.11-beta.7 → 0.0.11-beta.9

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 (233) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +1 -0
  3. package/.next/standalone/.next/build-manifest.json +6 -6
  4. package/.next/standalone/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/.next/required-server-files.json +1 -1
  6. package/.next/standalone/.next/routes-manifest.json +6 -0
  7. package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +3 -3
  8. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  9. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  10. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
  13. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  14. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  15. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  16. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  17. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  18. package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +3 -3
  19. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  20. package/.next/standalone/.next/server/app/_not-found/page.js +2 -2
  21. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  24. package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
  25. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
  26. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  27. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  28. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  29. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  30. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  31. package/.next/standalone/.next/server/app/api/audit/invite/route/app-paths-manifest.json +3 -0
  32. package/.next/standalone/.next/server/app/api/audit/invite/route/build-manifest.json +9 -0
  33. package/.next/standalone/.next/server/app/api/audit/invite/route/server-reference-manifest.json +4 -0
  34. package/.next/standalone/.next/server/app/api/audit/invite/route.js +7 -0
  35. package/.next/standalone/.next/server/app/api/audit/invite/route.js.map +5 -0
  36. package/.next/standalone/.next/server/app/api/audit/invite/route.js.nft.json +1 -0
  37. package/.next/standalone/.next/server/app/api/audit/invite/route_client-reference-manifest.js +3 -0
  38. package/.next/standalone/.next/server/app/api/audit/run/route.js +1 -1
  39. package/.next/standalone/.next/server/app/api/audit/run/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/api/auth/login-request/route.js +1 -1
  41. package/.next/standalone/.next/server/app/api/auth/login-request/route.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/api/auth/login-verify/route.js +2 -2
  43. package/.next/standalone/.next/server/app/api/auth/login-verify/route.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/api/auth/logout/route.js +2 -2
  45. package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/api/auth/reminder/route.js +2 -2
  47. package/.next/standalone/.next/server/app/api/auth/reminder/route.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/api/auth/status/route.js +2 -2
  49. package/.next/standalone/.next/server/app/api/auth/status/route.js.nft.json +1 -1
  50. package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js.nft.json +1 -1
  51. package/.next/standalone/.next/server/app/audit/page/build-manifest.json +3 -3
  52. package/.next/standalone/.next/server/app/audit/page/server-reference-manifest.json +2 -2
  53. package/.next/standalone/.next/server/app/audit/page.js +2 -2
  54. package/.next/standalone/.next/server/app/audit/page.js.nft.json +1 -1
  55. package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/app/index.html +1 -1
  57. package/.next/standalone/.next/server/app/index.rsc +15 -15
  58. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  59. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
  60. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  61. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
  62. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  63. package/.next/standalone/.next/server/app/page/build-manifest.json +3 -3
  64. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  65. package/.next/standalone/.next/server/app/page.js +2 -2
  66. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  67. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/app/policies/page/build-manifest.json +3 -3
  69. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
  70. package/.next/standalone/.next/server/app/policies/page.js +2 -2
  71. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  72. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  73. package/.next/standalone/.next/server/app/project/[name]/page/build-manifest.json +3 -3
  74. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  75. package/.next/standalone/.next/server/app/project/[name]/page.js +3 -3
  76. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  77. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/build-manifest.json +3 -3
  79. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  80. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  81. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js +3 -3
  82. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  83. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/projects/page/build-manifest.json +3 -3
  85. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  86. package/.next/standalone/.next/server/app/projects/page.js +3 -3
  87. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  88. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  89. package/.next/standalone/.next/server/app-paths-manifest.json +1 -0
  90. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1_mqemn._.js +1 -1
  91. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1r1h8v9._.js +3 -0
  92. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1rhmvod._.js +1 -1
  93. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1uatkiv._.js +3 -0
  94. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1y6gxxb._.js +3 -0
  95. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_audit_invite_route_actions_0-2n5sy.js +3 -0
  96. package/.next/standalone/.next/server/chunks/node_modules_0-tu4ot._.js +3 -0
  97. package/.next/standalone/.next/server/chunks/node_modules_0ttxbz7._.js +3 -0
  98. package/.next/standalone/.next/server/chunks/node_modules_1bnh1y0._.js +3 -0
  99. package/.next/standalone/.next/server/chunks/node_modules_1epycqa._.js +3 -0
  100. package/.next/standalone/.next/server/chunks/node_modules_1wpdcgo._.js +3 -0
  101. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_17k9e3w.js +8 -8
  102. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_01r25oi._.js +1 -1
  103. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_09z9-p7._.js +1 -1
  104. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_1nxcc4v._.js +1 -1
  105. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0808sha._.js +4 -0
  106. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1cd25c7._.js → [root-of-the-server]__0e4-6d8._.js} +3 -3
  107. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__08gyb62._.js → [root-of-the-server]__0e446gb._.js} +2 -2
  108. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ehe24g._.js +4 -0
  109. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1-scthx._.js → [root-of-the-server]__0f62vu9._.js} +2 -2
  110. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g253ve._.js +4 -0
  111. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0l13qf2._.js → [root-of-the-server]__0k65l27._.js} +2 -2
  112. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0vxf0_g._.js +4 -0
  113. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__08v7sn2._.js → [root-of-the-server]__0wprfyc._.js} +2 -2
  114. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12mcauo._.js +4 -0
  115. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0989_dx._.js → [root-of-the-server]__1e-x7j4._.js} +2 -2
  116. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1mt35_w._.js +1 -1
  117. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1pcxxwg._.js +2 -2
  118. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1uvfwgr._.js +4 -0
  119. package/.next/standalone/.next/server/chunks/ssr/_05whahf._.js +1 -1
  120. package/.next/standalone/.next/server/chunks/ssr/_0il3fl1._.js +3 -0
  121. package/.next/standalone/.next/server/chunks/ssr/_11_p9y8._.js +1 -1
  122. package/.next/standalone/.next/server/chunks/ssr/_1kje4fm._.js +1 -1
  123. package/.next/standalone/.next/server/chunks/ssr/app_audit__components_audit-dashboard_tsx_0p9ud47._.js +21 -21
  124. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_1kp6l3x._.js +1 -1
  125. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_19dqvpc._.js +2 -2
  126. package/.next/standalone/.next/server/chunks/ssr/node_modules_html-to-image_es_index_0y4a-0q.js +3 -0
  127. package/.next/standalone/.next/server/chunks/ssr/node_modules_html-to-image_es_index_1ao30b1.js +3 -0
  128. package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuzn._.js +1 -1
  129. package/.next/standalone/.next/server/functions-config-manifest.json +0 -3
  130. package/.next/standalone/.next/server/middleware-build-manifest.js +6 -6
  131. package/.next/standalone/.next/server/pages/404.html +1 -1
  132. package/.next/standalone/.next/server/pages/500.html +1 -1
  133. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  134. package/.next/standalone/.next/server/server-reference-manifest.json +10 -10
  135. package/.next/standalone/.next/static/chunks/{0hmxjseydp6as.js → 07_d165p5h5ys.js} +1 -1
  136. package/.next/standalone/.next/static/chunks/0f7d7hnbh4djs.js +1 -0
  137. package/.next/standalone/.next/static/chunks/0h7auy7hzjyhw.js +1 -0
  138. package/.next/standalone/.next/static/chunks/168k-8z6k7e8z.css +1 -0
  139. package/.next/standalone/.next/static/chunks/{3n28elq6kwpy3.js → 1kvadxkgnapyj.js} +1 -1
  140. package/.next/standalone/.next/static/chunks/{0fpw1jzeg66_x.js → 277oc363p56n6.js} +2 -2
  141. package/.next/standalone/.next/static/chunks/28mkxkl_d91-l.js +1 -0
  142. package/.next/standalone/.next/static/chunks/28x7jvo3kxd3u.js +41 -0
  143. package/.next/standalone/.next/static/chunks/29nrs5xs9c4hx.css +2 -0
  144. package/.next/standalone/.next/static/chunks/{41vwoxpkauj1w.js → 29tg7deqmq32l.js} +1 -1
  145. package/.next/standalone/.next/static/chunks/{3w8d8k_dca5rp.js → 2h0dkzyy0vocp.js} +1 -1
  146. package/.next/standalone/.next/static/chunks/{1eq7f419t6ln3.js → 2z42u62k-8-_q.js} +1 -1
  147. package/.next/standalone/.next/static/chunks/{0avgb78edu0i-.js → 3nj6g3xu9uy78.js} +1 -1
  148. package/.next/standalone/.next/static/chunks/{0xkxbaa-oo180.js → 3ty6dhcuogout.js} +1 -1
  149. package/.next/standalone/.next/static/chunks/3zkg2s2vzxc3d.js +1 -0
  150. package/.next/standalone/.next/static/chunks/{turbopack-00qy7zfa7m--m.js → turbopack-3lrm4f20fz89b.js} +1 -1
  151. package/.next/standalone/app/api/audit/_state.ts +40 -33
  152. package/.next/standalone/app/api/audit/invite/route.ts +183 -0
  153. package/.next/standalone/app/api/audit/run/route.ts +30 -16
  154. package/.next/standalone/app/api/audit/status/route.ts +1 -0
  155. package/.next/standalone/app/audit/_components/audit-dashboard.tsx +33 -65
  156. package/.next/standalone/app/audit/_components/audit-poster.tsx +322 -0
  157. package/.next/standalone/app/audit/_components/audit-progress-strip.tsx +1 -1
  158. package/.next/standalone/app/audit/_components/auth-dialog.tsx +21 -49
  159. package/.next/standalone/app/audit/_components/come-back-better-section.tsx +316 -0
  160. package/.next/standalone/app/audit/_components/empty-state.tsx +8 -2
  161. package/.next/standalone/app/audit/_components/how-to-improve-section.tsx +187 -0
  162. package/.next/standalone/app/audit/_components/invite-dialog.tsx +227 -0
  163. package/.next/standalone/app/audit/_components/quirks-section.tsx +75 -0
  164. package/.next/standalone/app/audit/_components/rerun-button.tsx +43 -14
  165. package/.next/standalone/app/audit/_components/run-progress.tsx +2 -2
  166. package/.next/standalone/app/audit/_components/share-templates.ts +23 -22
  167. package/.next/standalone/app/audit/_components/sigil.tsx +9 -66
  168. package/.next/standalone/app/audit/_components/strengths-section.tsx +20 -32
  169. package/.next/standalone/app/audit/audit-styles.css +781 -1784
  170. package/.next/standalone/app/components/sessions-list.tsx +77 -80
  171. package/.next/standalone/app/globals.css +214 -32
  172. package/.next/standalone/app/layout.tsx +1 -10
  173. package/.next/standalone/app/policies/hooks-client.tsx +12 -4
  174. package/.next/standalone/app/project/[name]/page.tsx +23 -79
  175. package/.next/standalone/app/projects/page.tsx +14 -23
  176. package/.next/standalone/assets/audit/poster-styles.css +1 -1
  177. package/.next/standalone/assets/audit/styles.css +11 -11
  178. package/.next/standalone/components/navbar.tsx +2 -37
  179. package/.next/standalone/lib/auth/api-server-client.ts +25 -0
  180. package/.next/standalone/node_modules/@next/env/package.json +2 -2
  181. package/.next/standalone/node_modules/next/dist/build/swc/index.js +1 -1
  182. package/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +1 -1
  183. package/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
  184. package/.next/standalone/node_modules/next/dist/server/config.js +1 -1
  185. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
  186. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  187. package/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  188. package/.next/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
  189. package/.next/standalone/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +1 -1
  190. package/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  191. package/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  192. package/.next/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
  193. package/.next/standalone/node_modules/next/package.json +15 -15
  194. package/.next/standalone/package.json +18 -15
  195. package/.next/standalone/server.js +1 -1
  196. package/dist/cli.mjs +2 -2
  197. package/lib/auth/api-server-client.ts +25 -0
  198. package/package.json +18 -15
  199. package/src/audit/dashboard-cache.ts +13 -6
  200. package/src/audit/social-proof.ts +34 -0
  201. package/.next/standalone/.next/server/chunks/[root-of-the-server]__07tgnzi._.js +0 -3
  202. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0oeun7z._.js +0 -3
  203. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12pit4m._.js +0 -3
  204. package/.next/standalone/.next/server/chunks/[root-of-the-server]__13ra2jq._.js +0 -3
  205. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1b9z5-i._.js +0 -3
  206. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ixjiy8._.js +0 -3
  207. package/.next/standalone/.next/server/chunks/_1-1804f._.js +0 -3
  208. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__00jkjmt._.js +0 -4
  209. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__013du6r._.js +0 -4
  210. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e85wxv._.js +0 -4
  211. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0gfxvb1._.js +0 -3
  212. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1hlrq6y._.js +0 -4
  213. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1ihxdo5._.js +0 -4
  214. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1vvfde2._.js +0 -4
  215. package/.next/standalone/.next/server/chunks/ssr/node_modules_html2canvas_dist_html2canvas_esm_0q4m0_h.js +0 -3
  216. package/.next/standalone/.next/server/chunks/ssr/node_modules_html2canvas_dist_html2canvas_esm_1n-0xws.js +0 -3
  217. package/.next/standalone/.next/static/chunks/09ueq8s1as8xs.css +0 -2
  218. package/.next/standalone/.next/static/chunks/0qassxjx1ef04.js +0 -1
  219. package/.next/standalone/.next/static/chunks/2452blhu4bcdr.js +0 -41
  220. package/.next/standalone/.next/static/chunks/2so39wg7mjbi7.js +0 -1
  221. package/.next/standalone/.next/static/chunks/3gti1qdk5epqn.js +0 -1
  222. package/.next/standalone/.next/static/chunks/3osmt-t2hsrng.js +0 -1
  223. package/.next/standalone/.next/static/chunks/3wycox197ouus.css +0 -1
  224. package/.next/standalone/app/audit/_components/findings-section.tsx +0 -135
  225. package/.next/standalone/app/audit/_components/identity-section.tsx +0 -126
  226. package/.next/standalone/app/audit/_components/policies-section.tsx +0 -194
  227. package/.next/standalone/app/audit/_components/return-section.tsx +0 -416
  228. package/.next/standalone/app/audit/_components/score-section.tsx +0 -179
  229. package/.next/standalone/app/audit/_components/share-dock.tsx +0 -265
  230. package/.next/standalone/app/audit/_components/show-off-cta.tsx +0 -135
  231. /package/.next/standalone/.next/static/{90NFQus9VOnEzD6sP0EyP → NYPiJP6Rv_exQdSFVS8HP}/_buildManifest.js +0 -0
  232. /package/.next/standalone/.next/static/{90NFQus9VOnEzD6sP0EyP → NYPiJP6Rv_exQdSFVS8HP}/_clientMiddlewareManifest.js +0 -0
  233. /package/.next/standalone/.next/static/{90NFQus9VOnEzD6sP0EyP → NYPiJP6Rv_exQdSFVS8HP}/_ssgManifest.js +0 -0
@@ -1,3 +0,0 @@
1
- module.exports=[74533,(e,t,i)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},50227,(e,t,i)=>{t.exports=e.x("node:path",()=>require("node:path"))},60526,(e,t,i)=>{t.exports=e.x("node:os",()=>require("node:os"))},2157,(e,t,i)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},66680,(e,t,i)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},18622,(e,t,i)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,i)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,i)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,i)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,i)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,i)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},94930,e=>{"use strict";var t=e.i(2157),i=e.i(50227),n=e.i(66680);e.s(["writeJsonAtomically",0,function(e,s,r={}){let a=r.mode??384,o=r.dirMode??448,l=(0,i.dirname)(e);(0,t.existsSync)(l)||(0,t.mkdirSync)(l,{recursive:!0,mode:o});let c=`${e}.${process.pid}.${(0,n.randomBytes)(6).toString("hex")}.tmp`;try{(0,t.writeFileSync)(c,JSON.stringify(s,null,2),{mode:a});try{(63&(0,t.statSync)(c).mode)!=0&&(0,t.chmodSync)(c,a)}catch{}(0,t.renameSync)(c,e);try{(63&(0,t.statSync)(e).mode)!=0&&(0,t.chmodSync)(e,a)}catch{}}catch(e){try{(0,t.rmSync)(c,{force:!0})}catch{}throw e}}])},24214,(e,t,i)=>{t.exports={name:"failproofai",version:"0.0.11-beta.7",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.102.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.5.2","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",clsx:"^2.1.1",eslint:"^10.2.0","eslint-config-next":"^16.2.2",jsdom:"^29.1.1","lucide-react":"^1.0.1",next:"^16.2.2",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18",typescript:"^6.0.2",vitest:"^4.0.18"},dependencies:{html2canvas:"^1.4.1","posthog-node":"^5.28.11"},overrides:{postcss:"8.5.14","eslint-plugin-react-hooks":"7.0.1"}}},28067,e=>{"use strict";e.s(["POSTHOG_API_KEY",0,"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX","POSTHOG_PRODUCT",0,"failproofai-oss"])},10659,e=>{"use strict";let t;var i=e.i(2157),n=e.i(50227),s=e.i(60526),r=e.i(66680);e.i(74533);let a=n.default.join(s.default.homedir(),".failproofai"),o=n.default.join(a,"instance-id");function l(e){return r.default.createHmac("sha256","failproofai-telemetry-v1").update(e).digest("hex")}e.s(["getInstanceId",0,function(){if(t)return t;let e=function(){try{for(let e of(s.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let t=i.default.readFileSync(e,"utf-8").trim();if(t)return t}catch{}}catch{}}();if(e)return t=l(e);let n=[s.default.hostname(),s.default.homedir(),s.default.platform(),s.default.arch(),s.default.cpus()[0]?.model??""].join(":");return t=n?l(n):function(){try{let e=i.default.readFileSync(o,"utf-8").trim();if(e)return e}catch{}let e=r.default.randomUUID();try{i.default.mkdirSync(a,{recursive:!0}),i.default.writeFileSync(o,e,"utf-8")}catch{}return e}()}])},47756,48480,e=>{"use strict";var t=e.i(2157),i=e.i(50227),n=e.i(60526),s=e.i(94930);function r(){return(0,i.join)((0,n.homedir)(),".failproofai","audit-dashboard.json")}e.s(["readDashboardCache",0,function(){let e=r();if(!(0,t.existsSync)(e))return null;try{let i=(0,t.readFileSync)(e,"utf-8"),n=JSON.parse(i);if(!n||"object"!=typeof n||"string"!=typeof n.cachedAt||!n.params||"object"!=typeof n.params||!n.result||"object"!=typeof n.result||2!==n.schemaVersion||function(e,t=30){let i=new Date(e).getTime();return!!Number.isNaN(i)||Date.now()-i>6e4*t}(n.cachedAt,10080))return null;return n}catch{return null}},"writeDashboardCache",0,function(e,t){try{let i={schemaVersion:2,cachedAt:new Date().toISOString(),params:e,result:t};(0,s.writeJsonAtomically)(r(),i)}catch{}}],47756);let a={running:!1};function o(){!a.running||void 0!==a.startedAt&&Date.now()-a.startedAt>3e5&&(a.running=!1,a.startedAt=void 0)}e.s(["getRunState",0,function(){return o(),{...a}},"releaseRun",0,function(){a.running=!1,a.startedAt=void 0},"tryAcquireRun",0,function(){return o(),!a.running&&(a.running=!0,a.startedAt=Date.now(),!0)}],48480)},36203,e=>{"use strict";var t=e.i(12714),i=e.i(60526),n=e.i(50227),s=e.i(81580),r=e.i(83534),a=e.i(71809),o=e.i(28557),l=e.i(40911);let c=(0,n.join)((0,i.homedir)(),".codex","sessions"),u=/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i;async function d(e){try{return await (0,t.readdir)(e,{withFileTypes:!0})}catch{return null}}async function f(e){let i=null;try{i=await (0,t.open)(e,"r");let n=Buffer.alloc(262144),{bytesRead:s}=await i.read(n,0,262144,0);if(0===s)return null;let r=n.subarray(0,s),a=r.indexOf(10),o=-1===a?s:a;return r.subarray(0,o).toString("utf-8")}catch{return null}finally{i&&await i.close().catch(()=>{})}}async function m(e){let t=await d(e);return t?t.filter(e=>e.isFile()&&e.name.endsWith(".jsonl")).map(t=>(0,n.join)(e,t.name)):[]}async function p(){let e=await d(c);if(!e)return[];let i=[];for(let t of e){if(!t.isDirectory())continue;let e=await d((0,n.join)(c,t.name));if(e)for(let s of e){if(!s.isDirectory())continue;let e=await d((0,n.join)(c,t.name,s.name));if(e)for(let r of e){if(!r.isDirectory())continue;let e=(0,n.join)(c,t.name,s.name,r.name);i.push(...await m(e))}}}return 0===i.length?[]:(await (0,a.batchAll)(i.map(e=>async()=>{let i,n,s=(n=(e.split("/").pop()??"").match(u))?n[0]:null;if(!s)return null;let r=await f(e);if(!r)return null;let{cwd:a}=function(e){try{let t=JSON.parse(e);if("session_meta"!==t.type)return{};let i=t.payload?.cwd;if("string"!=typeof i||0===i.length)return{};return{cwd:i}}catch{return{}}}(r);if(!a)return null;try{let n=await (0,t.open)(e,"r");try{i=(await n.stat()).mtime}finally{await n.close().catch(()=>{})}}catch{i=new Date(0)}return{filePath:e,fileName:e.split("/").pop()??"",cwd:a,sessionId:s,fileMtime:i}}),16)).filter(e=>"fulfilled"===e.status).map(e=>e.value).filter(e=>null!==e)}let y=(0,r.runtimeCache)(p,30);async function h(){let e;try{e=await y()}catch(e){return(0,l.logWarn)("Failed to scan Codex sessions:",e),[]}let t=new Map;for(let i of e){let e=t.get(i.cwd);(!e||i.fileMtime.getTime()>e.latest.getTime())&&t.set(i.cwd,{latest:i.fileMtime,cwd:i.cwd})}let i=[];for(let{cwd:e,latest:n}of t.values())i.push({name:(0,s.encodeFolderName)(e),path:e,isDirectory:!0,lastModified:n,lastModifiedFormatted:(0,o.formatDate)(n),cli:["codex"]});return i.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),i}function g(e){let t=e.map(e=>({name:e.fileName.replace(/\.jsonl$/,""),path:e.filePath,lastModified:e.fileMtime,lastModifiedFormatted:(0,o.formatDate)(e.fileMtime),sessionId:e.sessionId,cli:"codex"}));return t.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),t}async function w(e){let t;try{t=await y()}catch(e){return(0,l.logWarn)("Failed to scan Codex sessions:",e),[]}return g(t.filter(t=>t.cwd===e))}async function S(e){let t;try{t=await y()}catch(e){return(0,l.logWarn)("Failed to scan Codex sessions:",e),{cwd:null,sessions:[]}}let i=t.filter(t=>(0,s.encodeFolderName)(t.cwd)===e);return{cwd:i[0]?.cwd??null,sessions:g(i)}}let x=(0,r.runtimeCache)(h,30),C=(0,r.runtimeCache)(e=>w(e),30,{maxSize:50}),M=(0,r.runtimeCache)(e=>S(e),30,{maxSize:50});e.s(["getCachedCodexProjects",0,x,"getCachedCodexSessionsByEncodedName",0,M,"getCachedCodexSessionsForCwd",0,C,"getCodexProjects",0,h,"getCodexSessionsByEncodedName",0,S,"getCodexSessionsForCwd",0,w])},55851,e=>{"use strict";var t=e.i(12714),i=e.i(60526),n=e.i(50227),s=e.i(81580),r=e.i(83534),a=e.i(71809),o=e.i(28557),l=e.i(40911);async function c(e){try{return await (0,t.readdir)(e,{withFileTypes:!0})}catch{return null}}async function u(e){try{return(await (0,t.stat)(e)).mtime}catch{return null}}async function d(){let e=(0,n.join)(process.env.COPILOT_HOME||(0,n.join)((0,i.homedir)(),".copilot"),"session-state"),s=await c(e);if(!s)return[];let r=s.filter(e=>e.isDirectory()).map(t=>({sessionId:t.name,workspacePath:(0,n.join)(e,t.name,"workspace.yaml"),eventsPath:(0,n.join)(e,t.name,"events.jsonl")}));return(await (0,a.batchAll)(r.map(e=>async()=>{let i;try{i=await (0,t.readFile)(e.workspacePath,"utf-8")}catch{return null}let n=function(e){let t=e.match(/^cwd\s*:\s*(.+?)\s*$/m);if(t)return t[1].replace(/^['"]|['"]$/g,"")}(i);if(!n)return null;let s=await u(e.eventsPath),r=await u(e.workspacePath),a=null!==s,o=s&&r?new Date(Math.max(s.getTime(),r.getTime())):s??r??new Date(0);return{workspacePath:e.workspacePath,eventsPath:e.eventsPath,sessionId:e.sessionId,cwd:n,fileMtime:o,hasTranscript:a}}),16)).filter(e=>"fulfilled"===e.status).map(e=>e.value).filter(e=>null!==e)}let f=(0,r.runtimeCache)(d,30);async function m(){let e;try{e=await f()}catch(e){return(0,l.logWarn)("Failed to scan Copilot sessions:",e),[]}let t=new Map;for(let i of e){if(!i.hasTranscript)continue;let e=t.get(i.cwd);(!e||i.fileMtime.getTime()>e.latest.getTime())&&t.set(i.cwd,{latest:i.fileMtime,cwd:i.cwd})}let i=[];for(let{cwd:e,latest:n}of t.values())i.push({name:(0,s.encodeFolderName)(e),path:e,isDirectory:!0,lastModified:n,lastModifiedFormatted:(0,o.formatDate)(n),cli:["copilot"]});return i.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),i}function p(e){let t=e.filter(e=>e.hasTranscript).map(e=>({name:e.sessionId,path:e.eventsPath,lastModified:e.fileMtime,lastModifiedFormatted:(0,o.formatDate)(e.fileMtime),sessionId:e.sessionId,cli:"copilot"}));return t.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),t}async function y(e){let t;try{t=await f()}catch(e){return(0,l.logWarn)("Failed to scan Copilot sessions:",e),[]}return p(t.filter(t=>t.cwd===e))}async function h(e){let t;try{t=await f()}catch(e){return(0,l.logWarn)("Failed to scan Copilot sessions:",e),{cwd:null,sessions:[]}}let i=t.filter(t=>t.hasTranscript&&(0,s.encodeFolderName)(t.cwd)===e);return{cwd:i[0]?.cwd??null,sessions:p(i)}}let g=(0,r.runtimeCache)(m,30),w=(0,r.runtimeCache)(e=>y(e),30,{maxSize:50}),S=(0,r.runtimeCache)(e=>h(e),30,{maxSize:50});e.s(["getCachedCopilotProjects",0,g,"getCachedCopilotSessionsByEncodedName",0,S,"getCachedCopilotSessionsForCwd",0,w,"getCopilotProjects",0,m,"getCopilotSessionsByEncodedName",0,h,"getCopilotSessionsForCwd",0,y])},19791,e=>{"use strict";var t=e.i(12714),i=e.i(60526),n=e.i(50227),s=e.i(81580),r=e.i(83534),a=e.i(71809),o=e.i(28557),l=e.i(40911);let c=/^[\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 u(e){try{return await (0,t.readdir)(e,{withFileTypes:!0})}catch{return null}}async function d(e){try{return(await (0,t.stat)(e)).mtime}catch{return null}}async function f(e){let i;try{i=await (0,t.readFile)(e,"utf-8")}catch{return null}let n=i.indexOf("\n")>=0?i.slice(0,i.indexOf("\n")):i;if(!n)return null;try{let e=JSON.parse(n);if("session"!==e.type||"string"!=typeof e.cwd||0===e.cwd.length)return null;return e.cwd}catch{return null}}async function m(){let e=process.env.PI_SESSIONS_DIR||(0,n.join)((0,i.homedir)(),".pi","agent","sessions"),t=await u(e);if(!t)return[];let s=[];for(let i of t){if(!i.isDirectory())continue;let t=(0,n.join)(e,i.name),r=await u(t);if(r)for(let e of r){if(!e.isFile())continue;let i=c.exec(e.name);i&&s.push({sessionId:i[1],filePath:(0,n.join)(t,e.name)})}}return 0===s.length?[]:(await (0,a.batchAll)(s.map(e=>async()=>{let t=await f(e.filePath);if(!t)return null;let i=await d(e.filePath);return i?{filePath:e.filePath,sessionId:e.sessionId,cwd:t,fileMtime:i}:null}),16)).filter(e=>"fulfilled"===e.status).map(e=>e.value).filter(e=>null!==e)}let p=(0,r.runtimeCache)(m,30);async function y(){let e;try{e=await p()}catch(e){return(0,l.logWarn)("Failed to scan Pi sessions:",e),[]}let t=new Map;for(let i of e){let e=t.get(i.cwd);(!e||i.fileMtime.getTime()>e.latest.getTime())&&t.set(i.cwd,{latest:i.fileMtime,cwd:i.cwd})}let i=[];for(let{cwd:e,latest:n}of t.values())i.push({name:(0,s.encodeFolderName)(e),path:e,isDirectory:!0,lastModified:n,lastModifiedFormatted:(0,o.formatDate)(n),cli:["pi"]});return i.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),i}function h(e){let t=e.map(e=>({name:e.sessionId,path:e.filePath,lastModified:e.fileMtime,lastModifiedFormatted:(0,o.formatDate)(e.fileMtime),sessionId:e.sessionId,cli:"pi"}));return t.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),t}async function g(e){let t;try{t=await p()}catch(e){return(0,l.logWarn)("Failed to scan Pi sessions:",e),[]}return h(t.filter(t=>t.cwd===e))}async function w(e){let t;try{t=await p()}catch(e){return(0,l.logWarn)("Failed to scan Pi sessions:",e),{cwd:null,sessions:[]}}let i=t.filter(t=>(0,s.encodeFolderName)(t.cwd)===e),n=Array.from(new Set(i.map(e=>e.cwd)));return 1!==n.length?{cwd:null,sessions:[]}:{cwd:n[0],sessions:h(i)}}let S=(0,r.runtimeCache)(y,30),x=(0,r.runtimeCache)(e=>g(e),30,{maxSize:50}),C=(0,r.runtimeCache)(e=>w(e),30,{maxSize:50});e.s(["getCachedPiProjects",0,S,"getCachedPiSessionsByEncodedName",0,C,"getCachedPiSessionsForCwd",0,x,"getPiProjects",0,y,"getPiSessionsByEncodedName",0,w,"getPiSessionsForCwd",0,g])},35435,e=>{"use strict";var t=e.i(74533),i=e.i(81580),n=e.i(83534),s=e.i(28557),r=e.i(40911);function a(e){try{let i=(0,t.execFileSync)("opencode",["db","--format","json",e],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]});if(!i.trim())return[];let n=JSON.parse(i);if(!Array.isArray(n))return null;return n}catch{return null}}function o(){return a("SELECT id, project_id, slug, directory, title, time_created, time_updated FROM session ORDER BY time_updated DESC LIMIT 1000")}function l(){return a("SELECT id, worktree, vcs, name, time_created, time_updated FROM project")}async function c(){let e=o(),t=l();if(null===e&&null===t)return[];let n=new Map;for(let e of t??[])n.set(e.id,e);let r=new Map;for(let t of e??[]){if(!t.project_id)continue;let e=r.get(t.project_id);e||(e={rows:[],latest:0},r.set(t.project_id,e)),e.rows.push(t),t.time_updated>e.latest&&(e.latest=t.time_updated)}let a=new Set,c=[];for(let[e,t]of r){a.add(e);let r=n.get(e),o=r?.worktree??t.rows[0]?.directory??null,l=o?(0,i.encodeFolderName)(o):e,u=o??"",d=new Date(Math.max(t.latest,r?.time_updated??0));c.push({name:l,path:u,isDirectory:!0,lastModified:d,lastModifiedFormatted:(0,s.formatDate)(d),cli:["opencode"]})}for(let e of t??[]){if(a.has(e.id))continue;let t=e.worktree??"",n=t?(0,i.encodeFolderName)(t):e.id,r=new Date(e.time_updated);c.push({name:n,path:t,isDirectory:!0,lastModified:r,lastModifiedFormatted:(0,s.formatDate)(r),cli:["opencode"]})}return c.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),c}async function u(e){let t=o();return t?t.filter(t=>t.directory===e).map(e=>{let t=new Date(e.time_updated);return{name:e.title??e.slug??e.id,path:`opencode://${e.id}`,lastModified:t,lastModifiedFormatted:(0,s.formatDate)(t),sessionId:e.id,cli:"opencode"}}):[]}async function d(e){let t,n;try{t=l(),n=o()}catch(e){return(0,r.logWarn)("Failed to read OpenCode DB:",e),{cwd:null,sessions:[]}}if(!t||!n)return{cwd:null,sessions:[]};let a=t.find(t=>t.worktree&&(0,i.encodeFolderName)(t.worktree)===e);if(!a||!a.worktree)return{cwd:null,sessions:[]};let c=n.filter(e=>e.project_id===a.id);return{cwd:a.worktree,sessions:c.map(e=>{let t=new Date(e.time_updated);return{name:e.title??e.slug??e.id,path:`opencode://${e.id}`,lastModified:t,lastModifiedFormatted:(0,s.formatDate)(t),sessionId:e.id,cli:"opencode"}})}}let f=(0,n.runtimeCache)(c,30),m=(0,n.runtimeCache)(e=>u(e),30,{maxSize:50}),p=(0,n.runtimeCache)(e=>d(e),30,{maxSize:50});e.s(["getCachedOpenCodeProjects",0,f,"getCachedOpenCodeSessionsByEncodedName",0,p,"getCachedOpenCodeSessionsForCwd",0,m,"getOpenCodeProjects",0,c,"getOpenCodeSessionsByEncodedName",0,d,"getOpenCodeSessionsForCwd",0,u])},57232,e=>{"use strict";var t=e.i(2157),i=e.i(12714),n=e.i(50227),s=e.i(60526),r=e.i(83534),a=e.i(54214),o=e.i(67405);let l=(0,n.join)((0,s.homedir)(),".failproofai","cache","codex-session-paths.json");function c(){try{if(!(0,t.existsSync)(l))return{};return JSON.parse((0,t.readFileSync)(l,"utf-8"))}catch{return{}}}function u(e,i){try{(0,t.mkdirSync)((0,n.dirname)(l),{recursive:!0});let s=c();s[e]=i,(0,t.writeFileSync)(l,JSON.stringify(s),"utf-8")}catch{}}function d(e,i){try{for(let s of(0,t.readdirSync)(e,{withFileTypes:!0}))if(s.isFile()&&s.name.includes(i)&&s.name.endsWith(".jsonl"))return(0,n.join)(e,s.name)}catch{}return null}function f(e){let i=c()[e];if(i&&(0,t.existsSync)(i))return i;let r=(0,n.join)((0,s.homedir)(),".codex","sessions"),a=new Date,o=new Date(a.getTime()-864e5);for(let t of[a,o].map(e=>{let t=String(e.getUTCFullYear()),i=String(e.getUTCMonth()+1).padStart(2,"0"),s=String(e.getUTCDate()).padStart(2,"0");return(0,n.join)(r,t,i,s)})){let i=d(t,e);if(i)return u(e,i),i}try{for(let i of(0,t.readdirSync)(r,{withFileTypes:!0}))if(i.isDirectory()){for(let s of(0,t.readdirSync)((0,n.join)(r,i.name),{withFileTypes:!0}))if(s.isDirectory())for(let a of(0,t.readdirSync)((0,n.join)(r,i.name,s.name),{withFileTypes:!0})){if(!a.isDirectory())continue;let t=d((0,n.join)(r,i.name,s.name,a.name),e);if(t)return u(e,t),t}}}catch{}return null}function m(e,t){return Array.isArray(e)?e.filter(e=>e?.type===t&&"string"==typeof e.text).map(e=>e.text).join("\n"):""}async function p(e,t="session"){let i,n=e.split("\n").filter(e=>""!==e.trim()),s=[],r=[],l=new Map,c=new Map,u=!1;for(let e=0;e<n.length;e++){let d;e>0&&e%200==0&&await new Promise(e=>setImmediate(e));let f=n[e];try{d=JSON.parse(f)}catch{continue}let p={...d,_source:t};r.push(p);let y=d.timestamp;if(!y)continue;let h=new Date(y);if(Number.isNaN(h.getTime()))continue;let g=d.type,w=d.payload??{};if("session_meta"===g){let e=w.cwd;"string"!=typeof e||i||(i=e),s.push({type:"system",...(0,a.baseEntry)(p,y,h,t),raw:p});continue}if("response_item"===g){let e=w.type;if("message"===e){let e=w.role,i=w.content;if("user"===e||"developer"===e){let n=m(i,"input_text");if(!n)continue;let r="developer"===e?`[developer] ${n}`:n;s.push({type:"user",...(0,a.baseEntry)(p,y,h,t),message:{role:"user",content:r}});continue}if("assistant"===e){let e=m(i,"output_text");if(!e)continue;let n=[{type:"text",text:e}];s.push({type:"assistant",...(0,a.baseEntry)(p,y,h,t),message:{role:"assistant",content:n}});continue}s.push({type:"system",...(0,a.baseEntry)(p,y,h,t),raw:p});continue}if("function_call"===e){let e=w.call_id,i=w.name??"function_call",n={type:"tool_use",id:e??`${y}-${i}`,name:i,input:function(e){if(!e)return{};try{return JSON.parse(e)}catch{return{}}}(w.arguments)},r={type:"assistant",...(0,a.baseEntry)(p,y,h,t),message:{role:"assistant",content:[n]}};s.push(r),e&&(l.set(e,n),c.set(e,h.getTime()));continue}if("function_call_output"===e){let e=w.call_id,i=e?l.get(e):void 0;if(i){let t=c.get(e)??h.getTime(),n=Math.max(0,h.getTime()-t);i.result={timestamp:y,timestampFormatted:(0,a.formatTimestamp)(h),content:"string"==typeof w.output?w.output:JSON.stringify(w.output),durationMs:n,durationFormatted:(0,o.formatDuration)(n)};continue}s.push({type:"system",...(0,a.baseEntry)(p,y,h,t),raw:p});continue}s.push({type:"system",...(0,a.baseEntry)(p,y,h,t),raw:p});continue}if("event_msg"===g){let e=w.type;if("task_started"===e){let e=u?"Session Resumed":"Session Started";u=!0,s.push({type:"queue-operation",...(0,a.baseEntry)(p,y,h,t),label:e});continue}if("exec_command_end"===e){let e=w.call_id,i=e?l.get(e):void 0;if(i){let t=w.duration,n=t?(t.secs??0)*1e3+Math.round((t.nanos??0)/1e6):Math.max(0,h.getTime()-(c.get(e)??h.getTime())),s=w.aggregated_output;i.result={timestamp:y,timestampFormatted:(0,a.formatTimestamp)(h),content:"string"==typeof s?s:JSON.stringify(s),durationMs:n,durationFormatted:(0,o.formatDuration)(n)};continue}s.push({type:"system",...(0,a.baseEntry)(p,y,h,t),raw:p});continue}if("user_message"===e||"agent_message"===e)continue;s.push({type:"system",...(0,a.baseEntry)(p,y,h,t),raw:p});continue}s.push({type:"system",...(0,a.baseEntry)(p,y,h,t),raw:p})}return s.length>500&&await new Promise(e=>setImmediate(e)),s.sort((e,t)=>e.timestampMs-t.timestampMs),{entries:s,rawLines:r,cwd:i}}async function y(e){let t=f(e);if(!t)return null;let n=await (0,i.readFile)(t,"utf-8"),{entries:s,rawLines:r,cwd:a}=await p(n,"session");return{entries:s,rawLines:r,cwd:a,filePath:t}}(0,r.runtimeCache)(e=>y(e),60,{maxSize:50}),e.s(["findCodexTranscript",0,f,"getCodexSessionLog",0,y])},99440,e=>{"use strict";var t=e.i(74533),i=e.i(83534),n=e.i(54214),s=e.i(67405);function r(e){try{let i=(0,t.execFileSync)("opencode",["db","--format","json",e],{encoding:"utf8",timeout:5e3,stdio:["ignore","pipe","pipe"]});if(!i.trim())return[];let n=JSON.parse(i);if(!Array.isArray(n))return null;return n}catch{return null}}function a(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function o(e){if("string"!=typeof e||0===e.length)return null;try{let t=JSON.parse(e);return a(t)?t:null}catch{return null}}async function l(e){if(!e||!/^[A-Za-z0-9_-]+$/.test(e))return null;let t=r(`SELECT id, project_id, slug, directory, title, time_created, time_updated FROM session WHERE id = '${e}'`);if(!t||0===t.length)return null;let i=t[0],l=r(`SELECT id, session_id, time_created, time_updated, data FROM message WHERE session_id = '${e}' ORDER BY time_created ASC`),c=r(`SELECT id, message_id, session_id, time_created, time_updated, data FROM part WHERE session_id = '${e}' ORDER BY time_created ASC`);if(!l)return{entries:[],rawLines:[],cwd:i.directory??void 0,filePath:`opencode://${e}`};let u=new Map;for(let e of c??[]){let t=u.get(e.message_id);t||(t=[],u.set(e.message_id,t)),t.push(e)}let d=[],f=[];for(let e of l){let t=u.get(e.id)??[];d.push(function(e,t,i){let r=o(e.data)??{},l="string"==typeof r.role?r.role:"system",c=new Date(e.time_created),u=c.toISOString(),d={uuid:e.id,parentUuid:null},f=(0,n.baseEntry)(d,u,c,i),m=[],p="";for(let e of t){let t=o(e.data);if(!t)continue;let i="string"==typeof t.type?t.type:"unknown";if("text"===i){let e="string"==typeof t.text?t.text:"string"==typeof t.content?t.content:"";e&&(m.push({type:"text",text:e}),p+=(p?"\n":"")+e);continue}if("tool"===i){let i="string"==typeof t.tool?t.tool:"string"==typeof t.name?t.name:"tool",r=a(t.state)?t.state:null,o=r&&a(r.input)?r.input:a(t.input)?t.input:a(t.args)?t.args:{},l={type:"tool_use",id:e.id,name:i,input:o},c=r&&"string"==typeof r.status?r.status:"";if(r&&("completed"===c||"error"===c)){let t=("error"===c&&"string"==typeof r.error?r.error:null)??r.output,i="string"==typeof t?t:null!=t?JSON.stringify(t):"",o=a(r.time)?r.time:{},u="number"==typeof o.start?o.start:e.time_created,d="number"==typeof o.end?o.end:e.time_updated,f=Math.max(0,d-u),m=new Date(d);l.result={timestamp:m.toISOString(),timestampFormatted:(0,n.formatTimestamp)(m),content:i,durationMs:f,durationFormatted:(0,s.formatDuration)(f)}}m.push(l);continue}m.push({type:"text",text:`[opencode ${i}]`})}if("user"===l)return{...f,type:"user",message:{role:"user",content:p}};if("assistant"===l){let e=a(r.model)?r.model:null,t=e&&"string"==typeof e.modelID?e.modelID:void 0;return{...f,type:"assistant",message:{role:"assistant",content:m,model:t}}}return{...f,type:"system",raw:{id:e.id,role:l,parts:m}}}(e,t,"session"));let i=o(e.data);f.push({id:e.id,session_id:e.session_id,time_created:e.time_created,data:i??e.data})}return{entries:d,rawLines:f,cwd:i.directory??void 0,filePath:`opencode://${e}`}}async function c(e){if(!e||!/^[A-Za-z0-9_-]+$/.test(e))return null;let t=r(`SELECT id, project_id, slug, directory, title, time_created, time_updated FROM session WHERE id = '${e}'`);if(!t||0===t.length)return null;let i=r(`SELECT id, session_id, time_created, time_updated, data FROM message WHERE session_id = '${e}' ORDER BY time_created ASC`),n=r(`SELECT id, message_id, session_id, time_created, time_updated, data FROM part WHERE session_id = '${e}' ORDER BY time_created ASC`);return null===i||null===n?null:{session:t[0],messages:i.map(e=>({...e,data:o(e.data)??e.data})),parts:n.map(e=>({...e,data:o(e.data)??e.data}))}}(0,i.runtimeCache)(e=>l(e),30,{maxSize:50}),e.s(["getOpenCodeSessionExport",0,c,"getOpenCodeSessionLog",0,l])},85116,e=>{"use strict";var t=e.i(2157),i=e.i(12714),n=e.i(50227),s=e.i(60526),r=e.i(83534),a=e.i(54214);let o=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,l=/^[\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;function c(e){let i;if(!o.test(e))return null;let r=(0,n.resolve)(process.env.PI_SESSIONS_DIR||(0,n.join)((0,s.homedir)(),".pi","agent","sessions"));try{i=(0,t.readdirSync)(r)}catch{return null}for(let s of i){let i,a=(0,n.resolve)(r,s);if(a.startsWith(`${r}${n.sep}`)){try{i=(0,t.readdirSync)(a)}catch{continue}for(let s of i){let i=l.exec(s);if(!i||i[1].toLowerCase()!==e.toLowerCase())continue;let r=(0,n.resolve)(a,s);if(r.startsWith(`${a}${n.sep}`)&&(0,t.existsSync)(r))return r}}}return null}async function u(e,t="session"){let i,n=e.split("\n").filter(e=>""!==e.trim()),s=[],r=[],o=!1;for(let e=0;e<n.length;e++){let l;e>0&&e%200==0&&await new Promise(e=>setImmediate(e));let c=n[e];try{l=JSON.parse(c)}catch{continue}let u={...l,_source:t};r.push(u);let d=l.timestamp;if(!d)continue;let f=new Date(d);if(Number.isNaN(f.getTime()))continue;let m=f.toISOString(),p=l.type;if("session"===p){"string"!=typeof l.cwd||i||(i=l.cwd);let e=o?"Session Resumed":"Session Started";o=!0,s.push({type:"queue-operation",...(0,a.baseEntry)(u,m,f,t),label:e});continue}if("message"===p&&l.message&&"object"==typeof l.message){let e=l.message.role,i=l.message.content;if("user"===e){let e=function(e){if(!Array.isArray(e))return"";let t=[];for(let i of e)i?.type==="text"&&"string"==typeof i.text&&t.push(i.text);return t.join("\n\n")}(i);if(!e)continue;s.push({type:"user",...(0,a.baseEntry)(u,m,f,t),message:{role:"user",content:e}});continue}if("assistant"===e){let e=function(e){if(!Array.isArray(e))return[];let t=[];for(let i of e)i?.type==="text"&&"string"==typeof i.text&&i.text.length>0&&t.push({type:"text",text:i.text}),i?.type==="thinking"&&"string"==typeof i.thinking&&i.thinking.length>0&&t.push({type:"text",text:`[thinking] ${i.thinking}`});return t}(i);if(0===e.length){s.push({type:"system",...(0,a.baseEntry)(u,m,f,t),raw:u});continue}s.push({type:"assistant",...(0,a.baseEntry)(u,m,f,t),message:{role:"assistant",content:e}});continue}s.push({type:"system",...(0,a.baseEntry)(u,m,f,t),raw:u});continue}s.push({type:"system",...(0,a.baseEntry)(u,m,f,t),raw:u})}return s.length>500&&await new Promise(e=>setImmediate(e)),s.sort((e,t)=>e.timestampMs-t.timestampMs),{entries:s,rawLines:r,cwd:i}}async function d(e){let t,n,s=c(e);if(!s)return null;try{t=await (0,i.readFile)(s,"utf-8")}catch{return null}try{n=await u(t,"session")}catch{return null}return{entries:n.entries,rawLines:n.rawLines,cwd:n.cwd,filePath:s}}(0,r.runtimeCache)(e=>d(e),60,{maxSize:50}),a.formatTimestamp,e.s(["findPiTranscript",0,c,"getPiSessionLog",0,d])},46413,e=>{"use strict";var t=e.i(12714),i=e.i(60526),n=e.i(50227),s=e.i(81580),r=e.i(83534),a=e.i(71809),o=e.i(28557),l=e.i(40911);let c=["agent-sessions","conversations","sessions"],u=["meta.json","session.json","workspace.json","workspace.yaml"],d=["events.jsonl","transcript.jsonl","messages.jsonl"];async function f(e){try{return await (0,t.readdir)(e,{withFileTypes:!0})}catch{return null}}async function m(e){try{return(await (0,t.stat)(e)).mtime}catch{return null}}async function p(e,i){for(let s of i){let i,r=(0,n.join)(e,s);if(await m(r)===null)continue;try{i=await (0,t.readFile)(r,"utf-8")}catch{continue}let a=function(e){try{let t=JSON.parse(e);if("string"==typeof t.cwd&&t.cwd.length>0)return t.cwd}catch{}let t=e.match(/^\s*cwd\s*:\s*(.+?)\s*$/m);if(t){let e=t[1].replace(/^['"]|['"]$/g,"");if(e.length>0)return e}}(i);if(a)return{path:r,cwd:a}}return null}async function y(e,t){for(let i of t){let t=(0,n.join)(e,i);if(await m(t)!==null)return t}return null}async function h(){let e=process.env.CURSOR_HOME||(0,n.join)((0,i.homedir)(),".cursor"),t=[],r=[],o=(0,n.join)(e,"projects"),l=await f(o);if(l)for(let e of l){if(!e.isDirectory())continue;let i=(0,s.decodeFolderName)(e.name),r=i.startsWith("/")||/^[A-Za-z]:\//.test(i)?i:`/${i}`,a=(0,n.join)(o,e.name,"agent-transcripts"),l=await f(a);if(l)for(let e of l)e.isDirectory()&&t.push({sessionId:e.name,dir:(0,n.join)(a,e.name),cwd:r})}for(let t of c){let i=(0,n.join)(e,t),s=await f(i);if(s)for(let e of s)e.isDirectory()&&r.push({sessionId:e.name,dir:(0,n.join)(i,e.name)})}return 0===t.length&&0===r.length?[]:(await (0,a.batchAll)([...t.map(e=>async()=>{let t=(0,n.join)(e.dir,`${e.sessionId}.jsonl`),i=await m(t);return i?{metaPath:e.dir,transcriptPath:t,sessionId:e.sessionId,cwd:e.cwd,fileMtime:i,hasTranscript:!0}:null}),...r.map(e=>async()=>{let t=await p(e.dir,u);if(!t)return null;let i=await y(e.dir,d),n=i?await m(i):null,s=await m(t.path),r=n&&s?new Date(Math.max(n.getTime(),s.getTime())):n??s??new Date(0);return{metaPath:t.path,transcriptPath:i,sessionId:e.sessionId,cwd:t.cwd,fileMtime:r,hasTranscript:null!==i}})],16)).filter(e=>"fulfilled"===e.status).map(e=>e.value).filter(e=>null!==e)}let g=(0,r.runtimeCache)(h,30);async function w(){let e;try{e=await g()}catch(e){return(0,l.logWarn)("Failed to scan Cursor sessions:",e),[]}let t=new Map;for(let i of e){if(!i.hasTranscript)continue;let e=t.get(i.cwd);(!e||i.fileMtime.getTime()>e.latest.getTime())&&t.set(i.cwd,{latest:i.fileMtime,cwd:i.cwd})}let i=[];for(let{cwd:e,latest:n}of t.values())i.push({name:(0,s.encodeFolderName)(e),path:e,isDirectory:!0,lastModified:n,lastModifiedFormatted:(0,o.formatDate)(n),cli:["cursor"]});return i.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),i}function S(e){let t=e.filter(e=>e.hasTranscript&&e.transcriptPath).map(e=>({name:e.sessionId,path:e.transcriptPath,lastModified:e.fileMtime,lastModifiedFormatted:(0,o.formatDate)(e.fileMtime),sessionId:e.sessionId,cli:"cursor"}));return t.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),t}async function x(e){let t;try{t=await g()}catch(e){return(0,l.logWarn)("Failed to scan Cursor sessions:",e),[]}return S(t.filter(t=>t.cwd===e))}async function C(e){let t;try{t=await g()}catch(e){return(0,l.logWarn)("Failed to scan Cursor sessions:",e),{cwd:null,sessions:[]}}let i=t.filter(t=>t.hasTranscript&&(0,s.encodeFolderName)(t.cwd)===e);return{cwd:i[0]?.cwd??null,sessions:S(i)}}let M=(0,r.runtimeCache)(w,30),b=(0,r.runtimeCache)(e=>x(e),30,{maxSize:50}),j=(0,r.runtimeCache)(e=>C(e),30,{maxSize:50});e.s(["getCachedCursorProjects",0,M,"getCachedCursorSessionsByEncodedName",0,j,"getCachedCursorSessionsForCwd",0,b,"getCursorProjects",0,w,"getCursorSessionsByEncodedName",0,C,"getCursorSessionsForCwd",0,x])},88153,e=>{"use strict";var t=e.i(2157),i=e.i(12714),n=e.i(50227),s=e.i(60526),r=e.i(83534),a=e.i(54214);let o=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,l=/^session-(.+)-([0-9a-f]{8})\.jsonl$/i;function c(e){let i;if(!o.test(e))return null;let r=(0,n.resolve)(process.env.GEMINI_SESSIONS_DIR||(0,n.join)((0,s.homedir)(),".gemini","tmp")),a=e.slice(0,8).toLowerCase();try{i=(0,t.readdirSync)(r)}catch{return null}for(let s of i){let i,o=(0,n.resolve)(r,s);if(!o.startsWith(`${r}${n.sep}`))continue;let c=(0,n.resolve)(o,"chats");try{i=(0,t.readdirSync)(c)}catch{continue}for(let s of i){let i=l.exec(s);if(!i||i[2].toLowerCase()!==a)continue;let r=(0,n.resolve)(c,s);if(!r.startsWith(`${c}${n.sep}`)||!(0,t.existsSync)(r))continue;let o=function(e){let i;try{i=(0,t.openSync)(e,"r")}catch{return null}try{let e=Buffer.alloc(4096),n=(0,t.readSync)(i,e,0,e.length,0);if(0===n)return null;let s=e.subarray(0,n).toString("utf-8"),r=s.indexOf("\n");return r>=0?s.slice(0,r):s}catch{return null}finally{try{(0,t.closeSync)(i)}catch{}}}(r);if(o)try{let t=JSON.parse(o);if("string"==typeof t.sessionId&&t.sessionId.toLowerCase()===e.toLowerCase())return r}catch{continue}}}return null}async function u(e,t="session",i){let n=e.split("\n").filter(e=>""!==e.trim()),s=[],r=[],o=!1;for(let e=0;e<n.length;e++){let i;e>0&&e%200==0&&await new Promise(e=>setImmediate(e));let l=n[e];try{i=JSON.parse(l)}catch{continue}let c={...i,_source:t};if(r.push(c),"string"==typeof i.sessionId&&"string"==typeof i.startTime){let e=new Date(i.startTime);if(!Number.isNaN(e.getTime())){let i=o?"Session Resumed":"Session Started";o=!0,s.push({type:"queue-operation",...(0,a.baseEntry)(c,e.toISOString(),e,t),label:i})}continue}if(i.$set)continue;let u=i.timestamp;if(!u)continue;let d=new Date(u);if(Number.isNaN(d.getTime()))continue;let f=d.toISOString(),m=i.type;if("user"===m){let e=function(e){if(!Array.isArray(e))return"";let t=[];for(let i of e)"string"==typeof i?.text&&t.push(i.text);return t.join("\n\n")}(i.content);if(!e)continue;s.push({type:"user",...(0,a.baseEntry)(c,f,d,t),message:{role:"user",content:e}});continue}if("assistant"===m||"model"===m){let e=function(e){if(!Array.isArray(e))return[];let t=[];for(let i of e)"string"==typeof i?.text&&i.text.length>0&&t.push({type:"text",text:i.text});return t}(i.content);if(0===e.length){s.push({type:"system",...(0,a.baseEntry)(c,f,d,t),raw:c});continue}s.push({type:"assistant",...(0,a.baseEntry)(c,f,d,t),message:{role:"assistant",content:e}});continue}s.push({type:"system",...(0,a.baseEntry)(c,f,d,t),raw:c})}return s.length>500&&await new Promise(e=>setImmediate(e)),s.sort((e,t)=>e.timestampMs-t.timestampMs),{entries:s,rawLines:r,cwd:i}}async function d(e){let s,r,a=c(e);if(!a)return null;try{s=await (0,i.readFile)(a,"utf-8")}catch{return null}let o=function(e){let i=(0,n.resolve)(e,".."),s=(0,n.resolve)(i,".."),r=(0,n.join)(s,".project_root");try{let e=(0,t.readFileSync)(r,"utf-8").trim();return e.length>0?e:void 0}catch{return}}(a);try{r=await u(s,"session",o)}catch{return null}return{entries:r.entries,rawLines:r.rawLines,cwd:r.cwd,filePath:a}}(0,r.runtimeCache)(e=>d(e),60,{maxSize:50}),e.s(["findGeminiTranscript",0,c,"getGeminiSessionLog",0,d])},90172,e=>{"use strict";var t=e.i(12714),i=e.i(60526),n=e.i(50227),s=e.i(83534),r=e.i(71809),a=e.i(28557),o=e.i(81580),l=e.i(40911);let c=/^session-(\d{4}-\d{2}-\d{2}T\d{2}-\d{2})-([0-9a-f]{8})\.jsonl$/i,u=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function d(e){try{return await (0,t.readdir)(e,{withFileTypes:!0})}catch{return null}}async function f(e){try{return(await (0,t.stat)(e)).mtime}catch{return null}}async function m(e){let i=null;try{i=await (0,t.open)(e,"r");let n=Buffer.alloc(4096),{bytesRead:s}=await i.read(n,0,4096,0);if(0===s)return null;let r=n.subarray(0,s),a=r.indexOf(10),o=-1===a?s:a;return r.subarray(0,o).toString("utf-8")}catch{return null}finally{i&&await i.close().catch(()=>{})}}async function p(e){try{let i=(await (0,t.readFile)((0,n.join)(e,".project_root"),"utf-8")).trim();return i.length>0?i:null}catch{return null}}async function y(){let e=process.env.GEMINI_SESSIONS_DIR||(0,n.join)((0,i.homedir)(),".gemini","tmp"),t=await d(e);if(!t)return[];let s=[];return await (0,r.batchAll)(t.filter(e=>e.isDirectory()).map(t=>async()=>{let i=(0,n.join)(e,t.name),r=await p(i);if(!r)return;let a=(0,n.join)(i,"chats"),o=await d(a);if(o)for(let e of o){if(!e.isFile()||!c.test(e.name))continue;let t=(0,n.join)(a,e.name),i=await f(t);if(!i)continue;let o=function(e){if(e)try{let t=JSON.parse(e);if("string"!=typeof t.sessionId)return;return u.test(t.sessionId)?t.sessionId:void 0}catch{return}}(await m(t));s.push({filePath:t,sessionFilename:e.name,cwd:r,fileMtime:i,sessionId:o})}}),16),s}async function h(){let e=await y(),t=new Map;for(let i of e){let e=t.get(i.cwd);(!e||i.fileMtime.getTime()>e.mtime.getTime())&&t.set(i.cwd,{mtime:i.fileMtime})}let i=[...t.entries()].map(([e,{mtime:t}])=>({name:(0,o.encodeFolderName)(e),path:e,isDirectory:!0,lastModified:t,lastModifiedFormatted:(0,a.formatDate)(t),cli:["gemini"]}));return i.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),i}async function g(e){let t=(await y()).filter(t=>t.cwd===e).map(e=>({name:e.sessionFilename,path:e.filePath,lastModified:e.fileMtime,lastModifiedFormatted:(0,a.formatDate)(e.fileMtime),sessionId:e.sessionId,cli:"gemini"}));return t.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),t}async function w(e){let t;try{t=await y()}catch(e){return(0,l.logWarn)("Failed to scan Gemini sessions:",e),{cwd:null,sessions:[]}}let i=t.filter(t=>(0,o.encodeFolderName)(t.cwd)===e),n=Array.from(new Set(i.map(e=>e.cwd)));if(1!==n.length)return{cwd:null,sessions:[]};let s=i.map(e=>({name:e.sessionFilename,path:e.filePath,lastModified:e.fileMtime,lastModifiedFormatted:(0,a.formatDate)(e.fileMtime),sessionId:e.sessionId,cli:"gemini"}));return s.sort((e,t)=>t.lastModified.getTime()-e.lastModified.getTime()),{cwd:n[0],sessions:s}}let S=(0,s.runtimeCache)(h,30),x=(0,s.runtimeCache)(e=>w(e),30,{maxSize:50});e.s(["getCachedGeminiProjects",0,S,"getCachedGeminiSessionsByEncodedName",0,x,"getGeminiProjects",0,h,"getGeminiSessionsByEncodedName",0,w,"getGeminiSessionsForCwd",0,g])},78166,e=>{"use strict";var t=e.i(2157),i=e.i(12714),n=e.i(50227),s=e.i(60526),r=e.i(83534),a=e.i(54214),o=e.i(67405);function l(e,t){let i=function(e){if(!e)return null;let t=(0,n.resolve)((0,n.join)(process.env.COPILOT_HOME||(0,n.join)((0,s.homedir)(),".copilot"),"session-state")),i=(0,n.resolve)(t,e);return i!==t&&i.startsWith(`${t}${n.sep}`)?i:null}(e);return i?(0,n.join)(i,t):null}function c(e){let i=l(e,"events.jsonl");return i&&(0,t.existsSync)(i)?i:null}async function u(e,t="session"){let i,n=e.split("\n").filter(e=>""!==e.trim()),s=[],r=[],l=new Map,c=new Map,d=!1;for(let e=0;e<n.length;e++){let u;e>0&&e%200==0&&await new Promise(e=>setImmediate(e));let f=n[e];try{u=JSON.parse(f)}catch{continue}let m={...u,_source:t};r.push(m);let p=u.timestamp;if(!p)continue;let y=new Date(p);if(Number.isNaN(y.getTime()))continue;let h=y.toISOString(),g=u.type,w=u.data??{};if("session.start"===g){let e=w.context,n=e?.cwd;"string"!=typeof n||i||(i=n);let r=d?"Session Resumed":"Session Started";d=!0,s.push({type:"queue-operation",...(0,a.baseEntry)(m,h,y,t),label:r});continue}if("user.message"===g){let e=w.content??"";if(!e)continue;s.push({type:"user",...(0,a.baseEntry)(m,h,y,t),message:{role:"user",content:e}});continue}if("system.message"===g){s.push({type:"system",...(0,a.baseEntry)(m,h,y,t),raw:m});continue}if("assistant.message"===g){let e=w.content??"";if(!e){s.push({type:"system",...(0,a.baseEntry)(m,h,y,t),raw:m});continue}let i=[{type:"text",text:e}];s.push({type:"assistant",...(0,a.baseEntry)(m,h,y,t),message:{role:"assistant",content:i}});continue}if("tool.execution_start"===g){let e=w.toolCallId,i=w.toolName??"tool",n=w.arguments??{},r={type:"tool_use",id:e??`${y.getTime()}-${i}`,name:i,input:n},o={type:"assistant",...(0,a.baseEntry)(m,h,y,t),message:{role:"assistant",content:[r]}};s.push(o),e&&(l.set(e,r),c.set(e,y.getTime()));continue}if("tool.execution_complete"===g){let e=w.toolCallId,i=e?l.get(e):void 0;if(i){let t=c.get(e)??y.getTime(),n=w.result??{},s=w.toolTelemetry??{},r=s.metrics?.commandTimeMs??s.metrics?.durationMs??null,l="number"==typeof r&&r>=0?r:Math.max(0,y.getTime()-t),u=n.detailedContent??n.content??"";i.result={timestamp:h,timestampFormatted:(0,a.formatTimestamp)(y),content:"string"==typeof u?u:JSON.stringify(u),durationMs:l,durationFormatted:(0,o.formatDuration)(l)};continue}s.push({type:"system",...(0,a.baseEntry)(m,h,y,t),raw:m});continue}s.push({type:"system",...(0,a.baseEntry)(m,h,y,t),raw:m})}return s.length>500&&await new Promise(e=>setImmediate(e)),s.sort((e,t)=>e.timestampMs-t.timestampMs),{entries:s,rawLines:r,cwd:i}}async function d(e){let n,s=c(e);if(!s)return null;try{n=await (0,i.readFile)(s,"utf-8")}catch{return null}let{entries:r,rawLines:a,cwd:o}=await u(n,"session");return{entries:r,rawLines:a,cwd:o??function(e){let i,n=(i=l(e,"workspace.yaml"))&&(0,t.existsSync)(i)?i:null;if(n)try{let e=(0,t.readFileSync)(n,"utf-8"),i=RegExp("^cwd\\s*:\\s*(.+?)\\s*$","m"),s=e.match(i);if(!s)return;return s[1].replace(/^['"]|['"]$/g,"")}catch{return}}(e),filePath:s}}(0,r.runtimeCache)(e=>d(e),60,{maxSize:50}),e.s(["findCopilotTranscript",0,c,"getCopilotSessionLog",0,d])},72094,e=>{"use strict";var t=e.i(2157),i=e.i(12714),n=e.i(50227),s=e.i(60526),r=e.i(83534),a=e.i(54214),o=e.i(67405);let l=["agent-sessions","conversations","sessions"],c=["events.jsonl","transcript.jsonl","messages.jsonl"],u="agent-transcripts";function d(e){let i=function(e){if(!e)return null;let i=(0,n.resolve)(process.env.CURSOR_HOME||(0,n.join)((0,s.homedir)(),".cursor")),r=(0,n.resolve)(i,"projects"),a=[];try{a=(0,t.readdirSync)(r,{withFileTypes:!0})}catch{}for(let i of a){if(!i.isDirectory())continue;let s=(0,n.resolve)(r,i.name,u,e),a=(0,n.resolve)(r,i.name,u);if(s!==a&&s.startsWith(`${a}${n.sep}`)&&(0,t.existsSync)(s))return s}for(let s of l){let r=(0,n.resolve)(i,s),a=(0,n.resolve)(r,e);if(a!==r&&a.startsWith(`${r}${n.sep}`)&&(0,t.existsSync)(a))return a}return null}(e);if(!i)return null;let r=(0,n.join)(i,`${(0,n.basename)(i)}.jsonl`);if((0,t.existsSync)(r))return r;for(let e of c){let s=(0,n.join)(i,e);if((0,t.existsSync)(s))return s}return null}async function f(e,t="session"){let i,n=e.split("\n").filter(e=>""!==e.trim()),s=[],r=[],l=new Map,c=new Map,u=!1,d=Date.now();for(let e=0;e<n.length;e++){let f;e>0&&e%200==0&&await new Promise(e=>setImmediate(e));let m=n[e];try{f=JSON.parse(m)}catch{continue}let p={...f,_source:t};if(r.push(p),!f.type&&f.role&&f.message?.content){let i=new Date(d+e),n=i.toISOString(),r=f.message.content.filter(e=>e?.type==="text"&&"string"==typeof e.text).map(e=>e.text).join("");if("user"===f.role){let e=/<user_query>\s*([\s\S]*?)\s*<\/user_query>/.exec(r),o=e?e[1]:r;o&&s.push({type:"user",...(0,a.baseEntry)(p,n,i,t),message:{role:"user",content:o}});continue}if("assistant"===f.role){let e=r?[{type:"text",text:r}]:[];0===e.length?s.push({type:"system",...(0,a.baseEntry)(p,n,i,t),raw:p}):s.push({type:"assistant",...(0,a.baseEntry)(p,n,i,t),message:{role:"assistant",content:e}});continue}s.push({type:"system",...(0,a.baseEntry)(p,n,i,t),raw:p});continue}let y=f.timestamp;if(!y)continue;let h=new Date(y);if(Number.isNaN(h.getTime()))continue;let g=h.toISOString(),w=f.type,S=f.data??{};if("session.start"===w||"sessionStart"===w||"session_start"===w){let e=S.context??S,n=e.cwd;"string"!=typeof n||i||(i=n),!i&&Array.isArray(e.workspace_roots)&&"string"==typeof e.workspace_roots[0]&&(i=e.workspace_roots[0]);let r=u?"Session Resumed":"Session Started";u=!0,s.push({type:"queue-operation",...(0,a.baseEntry)(p,g,h,t),label:r});continue}if("user.message"===w||"userMessage"===w){let e="string"==typeof S.content?S.content:"string"==typeof S.text?S.text:"";if(!e)continue;s.push({type:"user",...(0,a.baseEntry)(p,g,h,t),message:{role:"user",content:e}});continue}if("system.message"===w||"systemMessage"===w){s.push({type:"system",...(0,a.baseEntry)(p,g,h,t),raw:p});continue}if("assistant.message"===w||"assistantMessage"===w){let e="string"==typeof S.content?S.content:"string"==typeof S.text?S.text:"";if(!e){s.push({type:"system",...(0,a.baseEntry)(p,g,h,t),raw:p});continue}let i=[{type:"text",text:e}];s.push({type:"assistant",...(0,a.baseEntry)(p,g,h,t),message:{role:"assistant",content:i}});continue}if("tool.execution_start"===w||"tool.executionStart"===w||"preToolUse"===w){let e=S.toolCallId??S.tool_use_id,i=S.toolName??S.tool_name??"tool",n=S.arguments??S.tool_input??{},r={type:"tool_use",id:e??`${h.getTime()}-${i}`,name:i,input:n},o={type:"assistant",...(0,a.baseEntry)(p,g,h,t),message:{role:"assistant",content:[r]}};s.push(o),e&&(l.set(e,r),c.set(e,h.getTime()));continue}if("tool.execution_complete"===w||"tool.executionComplete"===w||"postToolUse"===w){let e=S.toolCallId??S.tool_use_id,i=e?l.get(e):void 0;if(i){let t=c.get(e)??h.getTime(),n=S.result??{},s=S.duration,r="number"==typeof s&&s>=0?s:Math.max(0,h.getTime()-t),l=n.detailedContent??n.content??S.tool_output??"";i.result={timestamp:g,timestampFormatted:(0,a.formatTimestamp)(h),content:"string"==typeof l?l:JSON.stringify(l),durationMs:r,durationFormatted:(0,o.formatDuration)(r)};continue}s.push({type:"system",...(0,a.baseEntry)(p,g,h,t),raw:p});continue}s.push({type:"system",...(0,a.baseEntry)(p,g,h,t),raw:p})}return s.length>500&&await new Promise(e=>setImmediate(e)),s.sort((e,t)=>e.timestampMs-t.timestampMs),{entries:s,rawLines:r,cwd:i}}async function m(e){let t,n=d(e);if(!n)return null;try{t=await (0,i.readFile)(n,"utf-8")}catch{return null}let{entries:s,rawLines:r,cwd:a}=await f(t,"session");return{entries:s,rawLines:r,cwd:a,filePath:n}}(0,r.runtimeCache)(e=>m(e),60,{maxSize:50}),e.s(["findCursorTranscript",0,d,"getCursorSessionLog",0,m])},37352,e=>{e.v(e=>Promise.resolve().then(()=>e(36203)))},5807,e=>{e.v(e=>Promise.resolve().then(()=>e(55851)))},97452,e=>{e.v(e=>Promise.resolve().then(()=>e(46413)))},82978,e=>{e.v(e=>Promise.resolve().then(()=>e(35435)))},45093,e=>{e.v(e=>Promise.resolve().then(()=>e(19791)))},61489,e=>{e.v(e=>Promise.resolve().then(()=>e(90172)))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__13ra2jq._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},10659,e=>{"use strict";let t;var r=e.i(2157),a=e.i(50227),n=e.i(60526),s=e.i(66680);e.i(74533);let i=a.default.join(n.default.homedir(),".failproofai"),o=a.default.join(i,"instance-id");function l(e){return s.default.createHmac("sha256","failproofai-telemetry-v1").update(e).digest("hex")}e.s(["getInstanceId",0,function(){if(t)return t;let e=function(){try{for(let e of(n.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let t=r.default.readFileSync(e,"utf-8").trim();if(t)return t}catch{}}catch{}}();if(e)return t=l(e);let a=[n.default.hostname(),n.default.homedir(),n.default.platform(),n.default.arch(),n.default.cpus()[0]?.model??""].join(":");return t=a?l(a):function(){try{let e=r.default.readFileSync(o,"utf-8").trim();if(e)return e}catch{}let e=s.default.randomUUID();try{r.default.mkdirSync(i,{recursive:!0}),r.default.writeFileSync(o,e,"utf-8")}catch{}return e}()}])},24214,(e,t,r)=>{t.exports={name:"failproofai",version:"0.0.11-beta.7",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.102.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.5.2","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",clsx:"^2.1.1",eslint:"^10.2.0","eslint-config-next":"^16.2.2",jsdom:"^29.1.1","lucide-react":"^1.0.1",next:"^16.2.2",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18",typescript:"^6.0.2",vitest:"^4.0.18"},dependencies:{html2canvas:"^1.4.1","posthog-node":"^5.28.11"},overrides:{postcss:"8.5.14","eslint-plugin-react-hooks":"7.0.1"}}},28067,e=>{"use strict";e.s(["POSTHOG_API_KEY",0,"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX","POSTHOG_PRODUCT",0,"failproofai-oss"])},6375,72561,e=>{"use strict";var t=e.i(10659),r=e.i(24214),a=e.i(28067);let n=a.POSTHOG_API_KEY;async function s(e,t){for(let r=1;r<=5;r++){try{let{signal:r,...a}=t,n=await fetch(e,{...a,signal:AbortSignal.timeout(5e3)});if(n.ok)return n}catch{}if(r<5){let e=Math.min(1e3*2**(r-1),8e3);await new Promise(t=>setTimeout(t,e))}}return new Response("{}",{status:200})}function i(){return"1"!==process.env.FAILPROOFAI_TELEMETRY_DISABLED}async function o(){try{if(!i()||globalThis.__FAILPROOFAI_POSTHOG__)return;let t=await e.A(78081),r=process.env.FAILPROOFAI_POSTHOG_KEY??n,a=process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com";globalThis.__FAILPROOFAI_POSTHOG__=new t.PostHog(r,{host:a,flushAt:1,flushInterval:0,requestTimeout:5e3,fetchRetryCount:0,fetch:s});let o=()=>{globalThis.__FAILPROOFAI_POSTHOG__?.shutdown().catch(()=>{})};process.on("beforeExit",o),process.on("SIGTERM",o),process.on("SIGINT",o)}catch(e){console.warn("[failproofai:telemetry] init failed:",e instanceof Error?e.message:e)}}function l(e,n){if(!i())return;let s=globalThis.__FAILPROOFAI_POSTHOG__;s&&s.capture({distinctId:(0,t.getInstanceId)(),event:e,properties:{...n,$lib:"failproofai",failproofai_version:r.version,product:a.POSTHOG_PRODUCT}})}function u(){return(process.env.FAILPROOF_API_URL??process.env.FAILPROOFAI_API_URL??"https://api.befailproof.ai").replace(/\/+$/,"")}e.s(["initTelemetry",0,o,"trackEvent",0,l],72561);class c extends Error{status;code;retryAfterSecs;constructor(e,t,r,a){super(r),this.status=e,this.code=t,this.retryAfterSecs=a,this.name="AuthApiError"}}async function d(e){let t={};try{t=await e.json()}catch{}let r=t.code??`http_${e.status}`,a=t.message??t.detail??e.statusText??"request failed",n=t.retry_after_secs;if(void 0===n){let t=e.headers.get("retry-after");if(t){let e=Number(t);Number.isFinite(e)&&(n=e)}}return void 0!==n&&(n=Math.max(0,Math.min(86400,n))),new c(e.status,r,a,n)}async function p(e,t){try{return await fetch(e,{...t,signal:function(e){let t=AbortSignal.timeout(1e4);if(!e)return t;let r=AbortSignal.any;if(r)return r([t,e]);let a=new AbortController;if(t.aborted)a.abort(t.reason);else t.addEventListener("abort",()=>a.abort(t.reason),{once:!0});if(e.aborted)a.abort(e.reason);else e.addEventListener("abort",()=>a.abort(e.reason),{once:!0});return a.signal}(t.signal??void 0)})}catch(a){let r=function(e){if(null===e||"object"!=typeof e)return!1;let t=e.name;return"AbortError"===t||"TimeoutError"===t}(a);if(l("api_server_unreachable",{kind:r?"timeout":"network",path:function(e){try{return new URL(e).pathname}catch{return e}}(e),method:"string"==typeof t.method?t.method:"GET"}),r)throw new c(0,"timeout",`request to ${e} timed out after 10000ms`);throw a}}async function f(e,t,r){let a={"content-type":"application/json"};r?.accessToken&&(a.authorization=`Bearer ${r.accessToken}`);let n=await p(`${u()}${e}`,{method:"POST",headers:a,body:JSON.stringify(t)});if(204!==n.status){if(!n.ok)throw await d(n);return await n.json()}}async function h(e,t){let r=await p(`${u()}${e}`,{method:"GET",headers:{authorization:`Bearer ${t}`}});if(!r.ok)throw await d(r);return await r.json()}async function m(e){return f("/v0/auth/login/request",{email:e})}async function v(e,t){return f("/v0/auth/login/verify",{email:e,code:t})}async function g(e){return f("/v0/auth/token/refresh",{refresh_token:e})}async function _(e,t){await f("/v0/auth/logout",{refresh_token:t},{accessToken:e})}async function y(e){return h("/v0/auth/me",e)}async function b(e,t){return(await f("/v0/reminders",t,{accessToken:e})).reminder}async function x(e){let t=await p(`${u()}/v0/reminders`,{method:"DELETE",headers:{authorization:`Bearer ${e}`}});if(204!==t.status&&!t.ok)throw await d(t)}e.s(["AuthApiError",0,c,"cancelReminder",0,x,"fetchMe",0,y,"logoutSession",0,_,"refreshAccessToken",0,g,"requestLoginCode",0,m,"scheduleReminder",0,b,"verifyLoginCode",0,v],6375)},51481,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),c=e.i(95169),d=e.i(47587),p=e.i(66012),f=e.i(70101),h=e.i(26937),m=e.i(10372),v=e.i(93695);e.i(20232);var g=e.i(220),_=e.i(89171),y=e.i(6375),b=e.i(72561);async function x(e){await (0,b.initTelemetry)();let t={};try{t=await e.json()}catch{return(0,b.trackEvent)("audit_otp_requested",{status:"validation_error",reason:"invalid_json"}),_.NextResponse.json({code:"validation_error",message:"Invalid JSON body"},{status:400})}if("string"!=typeof t.email||!t.email.trim())return(0,b.trackEvent)("audit_otp_requested",{status:"validation_error",reason:"missing_email"}),_.NextResponse.json({code:"validation_error",message:"email is required"},{status:400});let r=t.email.trim().toLowerCase();try{let e=await (0,y.requestLoginCode)(t.email);return(0,b.trackEvent)("audit_otp_requested",{status:"success",email:r,source:"dashboard",expires_in:e.expires_in,resend_available_in:e.resend_available_in}),_.NextResponse.json({status:e.status,expires_in:e.expires_in,resend_available_in:e.resend_available_in},{status:200})}catch(t){if(t instanceof y.AuthApiError){(0,b.trackEvent)("audit_otp_requested",{status:"failed",email:r,source:"dashboard",error_code:t.code,http_status:t.status,retry_after_secs:t.retryAfterSecs??null});let e=t.status>=200&&t.status<600?t.status:504;return _.NextResponse.json({code:t.code,message:t.message,...void 0!==t.retryAfterSecs?{retry_after_secs:t.retryAfterSecs}:{}},{status:e})}let e=t instanceof Error?t.message:String(t);return(0,b.trackEvent)("audit_otp_requested",{status:"failed",email:r,source:"dashboard",error_code:"upstream_unreachable",error_message:e.slice(0,200)}),_.NextResponse.json({code:"upstream_unreachable",message:`api-server unreachable: ${e}`},{status:502})}}e.s(["POST",0,x,"dynamic",0,"force-dynamic"],61403);var E=e.i(61403);let R=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/auth/login-request/route",pathname:"/api/auth/login-request",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/auth/login-request/route.ts",nextConfigOutput:"standalone",userland:E,...{}}),{workAsyncStorage:w,workUnitAsyncStorage:A,serverHooks:O}=R;async function S(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),R.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/auth/login-request/route";_=_.replace(/\/index$/,"")||"/";let y=await R.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:b,deploymentId:x,params:E,nextConfig:w,parsedUrl:A,isDraftMode:O,prerenderManifest:S,routerServerContext:T,isOnDemandRevalidate:I,revalidateOnlyGenerated:P,resolvedPathname:k,clientReferenceManifest:j,serverActionsManifest:C}=y,q=(0,o.normalizeAppPath)(_),F=!!(S.dynamicRoutes[q]||S.routes[k]),N=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,A,!1):t.end("This page could not be found"),null);if(F&&!O){let e=!!S.routes[k],t=S.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(w.adapterPath)return await N();throw new v.NoFallbackError}}let L=null;!F||R.isDev||O||(L="/index"===(L=k)?"/":L);let H=!0===R.isDev||!F,D=F&&!H;C&&j&&(0,i.setManifestsSingleton)({page:_,clientReferenceManifest:j,serverActionsManifest:C});let M=e.method||"GET",U=(0,s.getTracer)(),$=U.getActiveScopeSpan(),G=!!(null==T?void 0:T.isWrappedByNextServer),K=!!(0,n.getRequestMeta)(e,"minimalMode"),B=(0,n.getRequestMeta)(e,"incrementalCache")||await R.getIncrementalCache(e,w,S,K);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let Y={params:E,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:H,incrementalCache:B,cacheLifeProfiles:w.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>R.onRequestError(e,t,a,n,T)},sharedContext:{buildId:b,deploymentId:x}},z=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),X=u.NextRequestAdapter.fromNodeNextRequest(z,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>R.handle(X,Y).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${M} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${M} ${_}`)}),o=async n=>{var s,o;let l=async({previousCacheEntry:r})=>{try{if(!K&&I&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=Y.renderOpts.fetchMetrics;let o=Y.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=Y.renderOpts.collectedTags;if(!F)return await (0,p.sendResponse)(z,W,s,Y.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==Y.renderOpts.collectedRevalidate&&!(Y.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&Y.renderOpts.collectedRevalidate,a=void 0===Y.renderOpts.collectedExpire||Y.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:Y.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:I})},!1,T),t}},u=await R.handleResponse({req:e,nextConfig:w,cacheKey:L,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:P,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:K});if(!F)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",I?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),O&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&F||c.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(z,W,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};G&&$?await o($):(n=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(c.BaseServerSpan.handleRequest,{spanName:`${M} ${_}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},o),void 0,!G))}catch(t){if(t instanceof v.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:I})},!1,T),F)throw t;return await (0,p.sendResponse)(z,W,new Response(null,{status:500})),null}}e.s(["handler",0,S,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:A})},"routeModule",0,R,"serverHooks",0,O,"workAsyncStorage",0,w,"workUnitAsyncStorage",0,A],51481)},78081,e=>{e.v(t=>Promise.all(["server/chunks/[externals]__14odj07._.js","server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_01r25oi._.js"].map(t=>e.l(t))).then(()=>t(39702)))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1b9z5-i._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},20177,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),d=e.i(16795),l=e.i(87718),u=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),x=e.i(26937),v=e.i(10372),m=e.i(93695);e.i(20232);var g=e.i(220),R=e.i(89171),f=e.i(6375),_=e.i(17707),y=e.i(72561),w=e.i(10659);async function E(e){let t={};try{t=await e.json()}catch{return R.NextResponse.json({code:"validation_error",message:"Invalid JSON body"},{status:400})}if("string"!=typeof t.email||!t.email.trim())return R.NextResponse.json({code:"validation_error",message:"email is required"},{status:400});if("string"!=typeof t.code||!t.code.trim())return R.NextResponse.json({code:"validation_error",message:"code is required"},{status:400});await (0,y.initTelemetry)();try{let e=await (0,f.verifyLoginCode)(t.email,t.code);return(0,_.writeAuth)((0,_.authFromTokenResponse)(e)),(0,y.trackEvent)("audit_user_identity_linked",{source:"audit_set_reminder_auth_dialog",user_id:e.user.id,email:e.user.email,local_random_id:(0,w.getInstanceId)(),$set:{email:e.user.email,user_id:e.user.id}}),(0,y.trackEvent)("audit_otp_verified",{status:"success",source:"dashboard",user_id:e.user.id,email:e.user.email}),R.NextResponse.json({authenticated:!0,user:{id:e.user.id,email:e.user.email}},{status:200})}catch(t){if(t instanceof f.AuthApiError){(0,y.trackEvent)("audit_otp_verified",{status:"failed",source:"dashboard",error_code:t.code,http_status:t.status});let e=t.status>=200&&t.status<600?t.status:504;return R.NextResponse.json({code:t.code,message:t.message},{status:e})}let e=t instanceof Error?t.message:String(t);return(0,y.trackEvent)("audit_otp_verified",{status:"failed",source:"dashboard",error_code:"upstream_unreachable",error_message:e.slice(0,200)}),R.NextResponse.json({code:"upstream_unreachable",message:`api-server unreachable: ${e}`},{status:502})}}e.s(["POST",0,E,"dynamic",0,"force-dynamic"],16241);var C=e.i(16241);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/auth/login-verify/route",pathname:"/api/auth/login-verify",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/auth/login-verify/route.ts",nextConfigOutput:"standalone",userland:C,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:N,serverHooks:q}=b;async function k(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),b.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/auth/login-verify/route";R=R.replace(/\/index$/,"")||"/";let f=await b.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!f)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:_,deploymentId:y,params:w,nextConfig:E,parsedUrl:C,isDraftMode:A,prerenderManifest:N,routerServerContext:q,isOnDemandRevalidate:k,revalidateOnlyGenerated:j,resolvedPathname:T,clientReferenceManifest:P,serverActionsManifest:S}=f,O=(0,o.normalizeAppPath)(R),I=!!(N.dynamicRoutes[O]||N.routes[T]),H=async()=>((null==q?void 0:q.render404)?await q.render404(e,t,C,!1):t.end("This page could not be found"),null);if(I&&!A){let e=!!N.routes[T],t=N.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await H();throw new m.NoFallbackError}}let U=null;!I||b.isDev||A||(U="/index"===(U=T)?"/":U);let M=!0===b.isDev||!I,D=I&&!M;S&&P&&(0,i.setManifestsSingleton)({page:R,clientReferenceManifest:P,serverActionsManifest:S});let $=e.method||"GET",F=(0,n.getTracer)(),K=F.getActiveScopeSpan(),B=!!(null==q?void 0:q.isWrappedByNextServer),L=!!(0,s.getRequestMeta)(e,"minimalMode"),G=(0,s.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,E,N,L);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let V={params:w,previewProps:N.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:M,incrementalCache:G,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>b.onRequestError(e,t,a,s,q)},sharedContext:{buildId:_,deploymentId:y}},W=new d.NodeNextRequest(e),X=new d.NodeNextResponse(t),z=l.NextRequestAdapter.fromNodeNextRequest(W,(0,l.signalFromNodeResponse)(t));try{let s,i=async e=>b.handle(z,V).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${$} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${$} ${R}`)}),o=async s=>{var n,o;let d=async({previousCacheEntry:r})=>{try{if(!L&&k&&j&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=V.renderOpts.fetchMetrics;let o=V.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=V.renderOpts.collectedTags;if(!I)return await (0,c.sendResponse)(W,X,n,V.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[v.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,a=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:k})},!1,q),t}},l=await b.handleResponse({req:e,nextConfig:E,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:j,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:L});if(!I)return null;if((null==l||null==(n=l.value)?void 0:n.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(o=l.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",k?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(l.value.headers);return L&&I||u.delete(v.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,x.getCacheControlHeader)(l.cacheControl)),await (0,c.sendResponse)(W,X,new Response(l.value.body,{headers:u,status:l.value.status||200})),null};B&&K?await o(K):(s=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${$} ${R}`,kind:n.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},o),void 0,!B))}catch(t){if(t instanceof m.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:k})},!1,q),I)throw t;return await (0,c.sendResponse)(W,X,new Response(null,{status:500})),null}}e.s(["handler",0,k,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:N})},"routeModule",0,b,"serverHooks",0,q,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,N],20177)},78081,e=>{e.v(t=>Promise.all(["server/chunks/[externals]__14odj07._.js","server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_01r25oi._.js"].map(t=>e.l(t))).then(()=>t(39702)))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1ixjiy8._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[94930,e=>{"use strict";var t=e.i(2157),r=e.i(50227),n=e.i(66680);e.s(["writeJsonAtomically",0,function(e,i,s={}){let a=s.mode??384,o=s.dirMode??448,c=(0,r.dirname)(e);(0,t.existsSync)(c)||(0,t.mkdirSync)(c,{recursive:!0,mode:o});let u=`${e}.${process.pid}.${(0,n.randomBytes)(6).toString("hex")}.tmp`;try{(0,t.writeFileSync)(u,JSON.stringify(i,null,2),{mode:a});try{(63&(0,t.statSync)(u).mode)!=0&&(0,t.chmodSync)(u,a)}catch{}(0,t.renameSync)(u,e);try{(63&(0,t.statSync)(e).mode)!=0&&(0,t.chmodSync)(e,a)}catch{}}catch(e){try{(0,t.rmSync)(u,{force:!0})}catch{}throw e}}])},10659,e=>{"use strict";let t;var r=e.i(2157),n=e.i(50227),i=e.i(60526),s=e.i(66680);e.i(74533);let a=n.default.join(i.default.homedir(),".failproofai"),o=n.default.join(a,"instance-id");function c(e){return s.default.createHmac("sha256","failproofai-telemetry-v1").update(e).digest("hex")}e.s(["getInstanceId",0,function(){if(t)return t;let e=function(){try{for(let e of(i.default.platform(),["/etc/machine-id","/var/lib/dbus/machine-id"]))try{let t=r.default.readFileSync(e,"utf-8").trim();if(t)return t}catch{}}catch{}}();if(e)return t=c(e);let n=[i.default.hostname(),i.default.homedir(),i.default.platform(),i.default.arch(),i.default.cpus()[0]?.model??""].join(":");return t=n?c(n):function(){try{let e=r.default.readFileSync(o,"utf-8").trim();if(e)return e}catch{}let e=s.default.randomUUID();try{r.default.mkdirSync(a,{recursive:!0}),r.default.writeFileSync(o,e,"utf-8")}catch{}return e}()}])},24214,(e,t,r)=>{t.exports={name:"failproofai",version:"0.0.11-beta.7",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.102.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.5.2","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",clsx:"^2.1.1",eslint:"^10.2.0","eslint-config-next":"^16.2.2",jsdom:"^29.1.1","lucide-react":"^1.0.1",next:"^16.2.2",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18",typescript:"^6.0.2",vitest:"^4.0.18"},dependencies:{html2canvas:"^1.4.1","posthog-node":"^5.28.11"},overrides:{postcss:"8.5.14","eslint-plugin-react-hooks":"7.0.1"}}},28067,e=>{"use strict";e.s(["POSTHOG_API_KEY",0,"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX","POSTHOG_PRODUCT",0,"failproofai-oss"])},6375,72561,e=>{"use strict";var t=e.i(10659),r=e.i(24214),n=e.i(28067);let i=n.POSTHOG_API_KEY;async function s(e,t){for(let r=1;r<=5;r++){try{let{signal:r,...n}=t,i=await fetch(e,{...n,signal:AbortSignal.timeout(5e3)});if(i.ok)return i}catch{}if(r<5){let e=Math.min(1e3*2**(r-1),8e3);await new Promise(t=>setTimeout(t,e))}}return new Response("{}",{status:200})}function a(){return"1"!==process.env.FAILPROOFAI_TELEMETRY_DISABLED}async function o(){try{if(!a()||globalThis.__FAILPROOFAI_POSTHOG__)return;let t=await e.A(78081),r=process.env.FAILPROOFAI_POSTHOG_KEY??i,n=process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com";globalThis.__FAILPROOFAI_POSTHOG__=new t.PostHog(r,{host:n,flushAt:1,flushInterval:0,requestTimeout:5e3,fetchRetryCount:0,fetch:s});let o=()=>{globalThis.__FAILPROOFAI_POSTHOG__?.shutdown().catch(()=>{})};process.on("beforeExit",o),process.on("SIGTERM",o),process.on("SIGINT",o)}catch(e){console.warn("[failproofai:telemetry] init failed:",e instanceof Error?e.message:e)}}function c(e,i){if(!a())return;let s=globalThis.__FAILPROOFAI_POSTHOG__;s&&s.capture({distinctId:(0,t.getInstanceId)(),event:e,properties:{...i,$lib:"failproofai",failproofai_version:r.version,product:n.POSTHOG_PRODUCT}})}function u(){return(process.env.FAILPROOF_API_URL??process.env.FAILPROOFAI_API_URL??"https://api.befailproof.ai").replace(/\/+$/,"")}e.s(["initTelemetry",0,o,"trackEvent",0,c],72561);class l extends Error{status;code;retryAfterSecs;constructor(e,t,r,n){super(r),this.status=e,this.code=t,this.retryAfterSecs=n,this.name="AuthApiError"}}async function f(e){let t={};try{t=await e.json()}catch{}let r=t.code??`http_${e.status}`,n=t.message??t.detail??e.statusText??"request failed",i=t.retry_after_secs;if(void 0===i){let t=e.headers.get("retry-after");if(t){let e=Number(t);Number.isFinite(e)&&(i=e)}}return void 0!==i&&(i=Math.max(0,Math.min(86400,i))),new l(e.status,r,n,i)}async function d(e,t){try{return await fetch(e,{...t,signal:function(e){let t=AbortSignal.timeout(1e4);if(!e)return t;let r=AbortSignal.any;if(r)return r([t,e]);let n=new AbortController;if(t.aborted)n.abort(t.reason);else t.addEventListener("abort",()=>n.abort(t.reason),{once:!0});if(e.aborted)n.abort(e.reason);else e.addEventListener("abort",()=>n.abort(e.reason),{once:!0});return n.signal}(t.signal??void 0)})}catch(n){let r=function(e){if(null===e||"object"!=typeof e)return!1;let t=e.name;return"AbortError"===t||"TimeoutError"===t}(n);if(c("api_server_unreachable",{kind:r?"timeout":"network",path:function(e){try{return new URL(e).pathname}catch{return e}}(e),method:"string"==typeof t.method?t.method:"GET"}),r)throw new l(0,"timeout",`request to ${e} timed out after 10000ms`);throw n}}async function p(e,t,r){let n={"content-type":"application/json"};r?.accessToken&&(n.authorization=`Bearer ${r.accessToken}`);let i=await d(`${u()}${e}`,{method:"POST",headers:n,body:JSON.stringify(t)});if(204!==i.status){if(!i.ok)throw await f(i);return await i.json()}}async function h(e,t){let r=await d(`${u()}${e}`,{method:"GET",headers:{authorization:`Bearer ${t}`}});if(!r.ok)throw await f(r);return await r.json()}async function m(e){return p("/v0/auth/login/request",{email:e})}async function y(e,t){return p("/v0/auth/login/verify",{email:e,code:t})}async function _(e){return p("/v0/auth/token/refresh",{refresh_token:e})}async function b(e,t){await p("/v0/auth/logout",{refresh_token:t},{accessToken:e})}async function g(e){return h("/v0/auth/me",e)}async function A(e,t){return(await p("/v0/reminders",t,{accessToken:e})).reminder}async function v(e){let t=await d(`${u()}/v0/reminders`,{method:"DELETE",headers:{authorization:`Bearer ${e}`}});if(204!==t.status&&!t.ok)throw await f(t)}e.s(["AuthApiError",0,l,"cancelReminder",0,v,"fetchMe",0,g,"logoutSession",0,b,"refreshAccessToken",0,_,"requestLoginCode",0,m,"scheduleReminder",0,A,"verifyLoginCode",0,y],6375)},17707,e=>{"use strict";var t=e.i(2157),r=e.i(60526),n=e.i(50227),i=e.i(94930),s=e.i(6375);function a(){let e=process.env.FAILPROOFAI_AUTH_DIR;return e||(0,n.join)((0,r.homedir)(),".failproofai")}function o(){return(0,n.join)(a(),"auth.json")}function c(){return(0,n.join)(a(),"next-audit.json")}function u(){let e=o();if(!(0,t.existsSync)(e))return null;try{let r=(0,t.readFileSync)(e,"utf-8"),n=JSON.parse(r);if("string"!=typeof n.access_token||"string"!=typeof n.refresh_token||"number"!=typeof n.access_expires_at||"object"!=typeof n.user||!n.user||"string"!=typeof n.user.id||"string"!=typeof n.user.email)return null;return{access_token:n.access_token,refresh_token:n.refresh_token,access_expires_at:n.access_expires_at,refresh_expires_at:"number"==typeof n.refresh_expires_at?n.refresh_expires_at:n.access_expires_at,user:{id:n.user.id,email:n.user.email}}}catch{return null}}function l(e){(0,i.writeJsonAtomically)(o(),e)}function f(){let e=o();(0,t.existsSync)(e)&&(0,t.rmSync)(e,{force:!0})}function d(e,t){let r=Math.floor(Date.now()/1e3),n=e.user??t;if(!n)throw Error("authFromTokenResponse: missing user identity");return{access_token:e.access_token,refresh_token:e.refresh_token,access_expires_at:r+e.access_expires_in,refresh_expires_at:r+e.refresh_expires_in,user:n}}let p=new Map;async function h(e){let t=p.get(e.refresh_token);if(t)return t;let r=(async()=>{let t=d(await (0,s.refreshAccessToken)(e.refresh_token),e.user);return l(t),t})();p.set(e.refresh_token,r);try{return await r}finally{p.delete(e.refresh_token)}}async function m(){let e=u();if(!e)return null;let t=Math.floor(Date.now()/1e3);if(e.access_expires_at-t>60)return e;try{return await h(e)}catch(e){return e instanceof s.AuthApiError&&401===e.status&&f(),null}}async function y(){let e=await m();if(!e)return null;try{return{me:await (0,s.fetchMe)(e.access_token),auth:e}}catch(e){if(e instanceof s.AuthApiError&&401===e.status){let e=u();if(!e)return null;try{let t=await h(e);return{me:await (0,s.fetchMe)(t.access_token),auth:t}}catch(e){e instanceof s.AuthApiError&&401===e.status&&f()}}return null}}e.s(["authFromTokenResponse",0,d,"deleteAuth",0,f,"deleteReminder",0,function(){let e=c();(0,t.existsSync)(e)&&(0,t.rmSync)(e,{force:!0})},"readAuth",0,u,"readReminder",0,function(){let e=c();if(!(0,t.existsSync)(e))return null;try{let r=(0,t.readFileSync)(e,"utf-8"),n=JSON.parse(r);if("number"!=typeof n.next_audit_at||"string"!=typeof n.user_email||"number"!=typeof n.set_at)return null;return{next_audit_at:n.next_audit_at,user_email:n.user_email,set_at:n.set_at}}catch{return null}},"whoAmI",0,y,"writeAuth",0,l,"writeReminder",0,function(e){(0,i.writeJsonAtomically)(c(),e)}])}];
2
-
3
- //# sourceMappingURL=_1-1804f._.js.map
@@ -1,4 +0,0 @@
1
- module.exports=[74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},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.7",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.102.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.5.2","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",clsx:"^2.1.1",eslint:"^10.2.0","eslint-config-next":"^16.2.2",jsdom:"^29.1.1","lucide-react":"^1.0.1",next:"^16.2.2",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18",typescript:"^6.0.2",vitest:"^4.0.18"},dependencies:{html2canvas:"^1.4.1","posthog-node":"^5.28.11"},overrides:{postcss:"8.5.14","eslint-plugin-react-hooks":"7.0.1"}}},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,"002c675a1cbbb363e96ab8202e322cdfb60b53e4d4",null),a.s(["getTelemetryConfig",0,m],36359)},24190,a=>{"use strict";var b=a.i(36359);a.s([],40488),a.i(40488),a.s(["002c675a1cbbb363e96ab8202e322cdfb60b53e4d4",()=>b.getTelemetryConfig],24190)},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
-
4
- //# sourceMappingURL=%5Broot-of-the-server%5D__00jkjmt._.js.map
@@ -1,4 +0,0 @@
1
- module.exports=[74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},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.7",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.102.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.5.2","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",clsx:"^2.1.1",eslint:"^10.2.0","eslint-config-next":"^16.2.2",jsdom:"^29.1.1","lucide-react":"^1.0.1",next:"^16.2.2",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18",typescript:"^6.0.2",vitest:"^4.0.18"},dependencies:{html2canvas:"^1.4.1","posthog-node":"^5.28.11"},overrides:{postcss:"8.5.14","eslint-plugin-react-hooks":"7.0.1"}}},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,"002c675a1cbbb363e96ab8202e322cdfb60b53e4d4",null),a.s(["getTelemetryConfig",0,m],36359)},165,a=>{"use strict";var b=a.i(36359);a.s([],84833),a.i(84833),a.s(["002c675a1cbbb363e96ab8202e322cdfb60b53e4d4",()=>b.getTelemetryConfig],165)},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
-
4
- //# sourceMappingURL=%5Broot-of-the-server%5D__013du6r._.js.map
@@ -1,4 +0,0 @@
1
- module.exports=[74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},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.7",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.102.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.5.2","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",clsx:"^2.1.1",eslint:"^10.2.0","eslint-config-next":"^16.2.2",jsdom:"^29.1.1","lucide-react":"^1.0.1",next:"^16.2.2",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18",typescript:"^6.0.2",vitest:"^4.0.18"},dependencies:{html2canvas:"^1.4.1","posthog-node":"^5.28.11"},overrides:{postcss:"8.5.14","eslint-plugin-react-hooks":"7.0.1"}}},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,"002c675a1cbbb363e96ab8202e322cdfb60b53e4d4",null),a.s(["getTelemetryConfig",0,m],36359)},7292,a=>{"use strict";var b=a.i(37936),c=a.i(2157),d=a.i(50227),e=a.i(60526);let f=(0,d.join)((0,e.homedir)(),".failproofai","cache","hook-activity"),g="current.jsonl";function h(){(0,c.existsSync)(f)||(0,c.mkdirSync)(f,{recursive:!0})}function i(){let a=function(){try{return JSON.parse((0,c.readFileSync)((0,d.join)(f,"stats.json"),"utf-8"))}catch{return{totalEvents:0,denyCount:0,policyMap:{}}}}(),b=null,e=0;for(let[c,d]of Object.entries(a.policyMap))d>e&&(b=c,e=d);return{totalEvents:a.totalEvents,denyCount:a.denyCount,topPolicy:b,topPolicyCount:e}}function j(a){let b=function(a){try{return(0,c.readFileSync)(a,"utf-8")}catch{return""}}(a);if(!b.trim())return[];let d=[];for(let a of b.trim().split("\n"))try{d.push(JSON.parse(a))}catch{}return d}function k(){try{return(0,c.readdirSync)(f).filter(a=>a.startsWith("page-")&&a.endsWith(".jsonl")).sort((a,b)=>{let c=a.slice(5,-6).split("-"),d=b.slice(5,-6).split("-"),e=parseInt(c[0],10),f=parseInt(d[0],10);if(e!==f)return f-e;let g=c.length>1?parseInt(c[1],10):0;return(d.length>1?parseInt(d[1],10):0)-g})}catch{return[]}}async function l(a){let b;return b=function(a){if(h(),a<1)return[];if(1===a)return j((0,d.join)(f,g)).reverse();let b=k(),c=a-2;return c>=b.length?[]:j((0,d.join)(f,b[c])).reverse()}(a),h(),{entries:b,totalPages:1+k().length,page:a,stats:i()}}async function m(a,b){let c,e,l;return e=Math.max(1,Math.ceil((c=(function(){h();let a=j((0,d.join)(f,g)).reverse(),b=k(),c=[];for(let a of b){let b=j((0,d.join)(f,a));c.push(...b.reverse())}return[...a,...c]})().filter(b=>(!a.decision||b.decision===a.decision)&&(!a.eventType||b.eventType===a.eventType)&&(!a.policyName||!!b.policyName&&!!b.policyName.toLowerCase().includes(a.policyName.toLowerCase()))&&(!a.sessionId||!!b.sessionId&&!!b.sessionId.toLowerCase().includes(a.sessionId.toLowerCase()))&&(!a.integration||b.integration===a.integration))).length/25)),l=(b-1)*25,{entries:c.slice(l,l+25),totalPages:e,page:b,stats:i()}}(0,a.i(13095).ensureServerEntryExports)([l,m]),(0,b.registerServerReference)(l,"40e0772b7815004a34fffc0132e57a29e78aeb9a3c",null),(0,b.registerServerReference)(m,"6024d5aa6bb20c694b219964ecbe82f88be9598a19",null),a.s(["getHookActivityAction",0,l,"searchHookActivityAction",0,m],7292)},21776,a=>{"use strict";var b=a.i(36359),c=a.i(7292);a.s([],84740),a.i(84740),a.s(["002c675a1cbbb363e96ab8202e322cdfb60b53e4d4",()=>b.getTelemetryConfig,"6024d5aa6bb20c694b219964ecbe82f88be9598a19",()=>c.searchHookActivityAction],21776)},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
-
4
- //# sourceMappingURL=%5Broot-of-the-server%5D__0e85wxv._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[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"))},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)},25813,a=>{"use strict";a.s(["PostHogProvider",()=>c,"usePostHog",()=>d]);var b=a.i(11857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call PostHogProvider() from the server but PostHogProvider 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]/contexts/PostHogContext.tsx <module evaluation>","PostHogProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call usePostHog() from the server but usePostHog 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]/contexts/PostHogContext.tsx <module evaluation>","usePostHog")},92036,a=>{"use strict";a.s(["PostHogProvider",()=>c,"usePostHog",()=>d]);var b=a.i(11857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call PostHogProvider() from the server but PostHogProvider 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]/contexts/PostHogContext.tsx","PostHogProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call usePostHog() from the server but usePostHog 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]/contexts/PostHogContext.tsx","usePostHog")},90229,a=>{"use strict";a.i(25813);var b=a.i(92036);a.n(b)},8737,a=>{"use strict";a.s(["GlobalErrorListeners",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call GlobalErrorListeners() from the server but GlobalErrorListeners 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/global-error-listeners.tsx <module evaluation>","GlobalErrorListeners")},16336,a=>{"use strict";a.s(["GlobalErrorListeners",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call GlobalErrorListeners() from the server but GlobalErrorListeners 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/global-error-listeners.tsx","GlobalErrorListeners")},49710,a=>{"use strict";a.i(8737);var b=a.i(16336);a.n(b)},95093,a=>{"use strict";a.s(["AutoRefreshProvider",()=>c,"useAutoRefresh",()=>d]);var b=a.i(11857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call AutoRefreshProvider() from the server but AutoRefreshProvider 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]/contexts/AutoRefreshContext.tsx <module evaluation>","AutoRefreshProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useAutoRefresh() from the server but useAutoRefresh 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]/contexts/AutoRefreshContext.tsx <module evaluation>","useAutoRefresh")},54950,a=>{"use strict";a.s(["AutoRefreshProvider",()=>c,"useAutoRefresh",()=>d]);var b=a.i(11857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call AutoRefreshProvider() from the server but AutoRefreshProvider 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]/contexts/AutoRefreshContext.tsx","AutoRefreshProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useAutoRefresh() from the server but useAutoRefresh 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]/contexts/AutoRefreshContext.tsx","useAutoRefresh")},21874,a=>{"use strict";a.i(95093);var b=a.i(54950);a.n(b)},33994,a=>{"use strict";a.s(["Navbar",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call Navbar() from the server but Navbar 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]/components/navbar.tsx <module evaluation>","Navbar")},42976,a=>{"use strict";a.s(["Navbar",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call Navbar() from the server but Navbar 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]/components/navbar.tsx","Navbar")},30270,a=>{"use strict";a.i(33994);var b=a.i(42976);a.n(b)},9997,a=>{"use strict";a.s(["Toaster",()=>c,"toast",()=>d]);var b=a.i(11857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call Toaster() from the server but Toaster 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/toast.tsx <module evaluation>","Toaster"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call toast() from the server but toast 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/toast.tsx <module evaluation>","toast")},33711,a=>{"use strict";a.s(["Toaster",()=>c,"toast",()=>d]);var b=a.i(11857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call Toaster() from the server but Toaster 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/toast.tsx","Toaster"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call toast() from the server but toast 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/toast.tsx","toast")},18439,a=>{"use strict";a.i(9997);var b=a.i(33711);a.n(b)},33290,a=>{"use strict";var b=a.i(7997),c=a.i(90229),d=a.i(49710),e=a.i(21874),f=a.i(30270),g=a.i(18439),h=a.i(15501);a.s(["default",0,function({children:a}){let i=(process.env.FAILPROOFAI_DISABLE_PAGES??"").split(",").map(a=>a.trim()).filter(Boolean),j=(0,h.readDashboardCache)(),k=j?.result?.results?j.result.results.filter(a=>"audit-detector"===a.source||"builtin"===a.source&&!a.enabledInConfig).reduce((a,b)=>a+b.hits,0):void 0;return(0,b.jsx)("html",{lang:"en",className:"dark",children:(0,b.jsx)("body",{className:"antialiased",children:(0,b.jsxs)(c.PostHogProvider,{children:[(0,b.jsx)(d.GlobalErrorListeners,{}),(0,b.jsxs)(e.AutoRefreshProvider,{children:[(0,b.jsx)(f.Navbar,{disabledPages:i,auditSlippingCount:k}),a]}),(0,b.jsx)(g.Toaster,{})]})})})},"metadata",0,{title:"Failproof AI - Hooks & Project Monitor",description:"Open-source hooks, policies, and project visualization for Claude Code & Agents SDK",icons:{icon:"/icon.svg"}}])},70864,a=>{a.n(a.i(33290))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0gfxvb1._.js.map
@@ -1,4 +0,0 @@
1
- module.exports=[74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},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.7",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.102.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.5.2","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",clsx:"^2.1.1",eslint:"^10.2.0","eslint-config-next":"^16.2.2",jsdom:"^29.1.1","lucide-react":"^1.0.1",next:"^16.2.2",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18",typescript:"^6.0.2",vitest:"^4.0.18"},dependencies:{html2canvas:"^1.4.1","posthog-node":"^5.28.11"},overrides:{postcss:"8.5.14","eslint-plugin-react-hooks":"7.0.1"}}},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,"002c675a1cbbb363e96ab8202e322cdfb60b53e4d4",null),a.s(["getTelemetryConfig",0,m],36359)},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,"0095fcc625642c53c6d269202f0de6f6f79807dbf3",null),a.s([],62946),a.i(62946),a.s(["002c675a1cbbb363e96ab8202e322cdfb60b53e4d4",()=>b.getTelemetryConfig,"0095fcc625642c53c6d269202f0de6f6f79807dbf3",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
-
4
- //# sourceMappingURL=%5Broot-of-the-server%5D__1hlrq6y._.js.map
@@ -1,4 +0,0 @@
1
- module.exports=[74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},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.7",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.102.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.5.2","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",clsx:"^2.1.1",eslint:"^10.2.0","eslint-config-next":"^16.2.2",jsdom:"^29.1.1","lucide-react":"^1.0.1",next:"^16.2.2",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18",typescript:"^6.0.2",vitest:"^4.0.18"},dependencies:{html2canvas:"^1.4.1","posthog-node":"^5.28.11"},overrides:{postcss:"8.5.14","eslint-plugin-react-hooks":"7.0.1"}}},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,"002c675a1cbbb363e96ab8202e322cdfb60b53e4d4",null),a.s(["getTelemetryConfig",0,m],36359)},37985,a=>{"use strict";var b=a.i(36359);a.s([],80194),a.i(80194),a.s(["002c675a1cbbb363e96ab8202e322cdfb60b53e4d4",()=>b.getTelemetryConfig],37985)},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
-
4
- //# sourceMappingURL=%5Broot-of-the-server%5D__1ihxdo5._.js.map
@@ -1,4 +0,0 @@
1
- module.exports=[74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},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.7",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.102.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-virtual":"^3.13.18","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^25.5.2","@types/react":"^19.2.13","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1",clsx:"^2.1.1",eslint:"^10.2.0","eslint-config-next":"^16.2.2",jsdom:"^29.1.1","lucide-react":"^1.0.1",next:"^16.2.2",react:"^19.2.4","react-dom":"^19.2.4","tailwind-merge":"^3.4.0",tailwindcss:"^4.1.18",typescript:"^6.0.2",vitest:"^4.0.18"},dependencies:{html2canvas:"^1.4.1","posthog-node":"^5.28.11"},overrides:{postcss:"8.5.14","eslint-plugin-react-hooks":"7.0.1"}}},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,"002c675a1cbbb363e96ab8202e322cdfb60b53e4d4",null),a.s(["getTelemetryConfig",0,m],36359)},26035,a=>{"use strict";var b=a.i(36359);a.s([],19459),a.i(19459),a.s(["002c675a1cbbb363e96ab8202e322cdfb60b53e4d4",()=>b.getTelemetryConfig],26035)},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
-
4
- //# sourceMappingURL=%5Broot-of-the-server%5D__1vvfde2._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[93042,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_html2canvas_dist_html2canvas_esm_1n-0xws.js"].map(b=>a.l(b))).then(()=>b(33926)))}];
2
-
3
- //# sourceMappingURL=node_modules_html2canvas_dist_html2canvas_esm_0q4m0_h.js.map