failproofai 1.0.12-beta.2 → 1.0.12

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 (196) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +3 -3
  3. package/.next/standalone/.next/prerender-manifest.json +4 -4
  4. package/.next/standalone/.next/required-server-files.json +1 -1
  5. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  6. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  7. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.rsc +2 -2
  10. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  11. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
  12. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  14. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  17. package/.next/standalone/.next/server/app/_not-found.rsc +3 -3
  18. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  19. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  20. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  21. package/.next/standalone/.next/server/app/api/audit/invite/route.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/api/audit/run/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/audit/status/route.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/api/auth/login-request/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/auth/login-verify/route.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/auth/status/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/audit/page/server-reference-manifest.json +2 -2
  30. package/.next/standalone/.next/server/app/audit/page.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/.next/server/app/index.html +1 -1
  33. package/.next/standalone/.next/server/app/index.rsc +3 -3
  34. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  35. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  36. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  37. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  38. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +14 -14
  41. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  44. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  47. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  48. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  51. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +8 -8
  54. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  55. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/chunks/_0tovk6q0miud6._.js +1 -1
  57. package/.next/standalone/.next/server/chunks/_0trp3ycqv17cl._.js +1 -1
  58. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_1nxcc4vkpxxu7._.js +1 -1
  59. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__08ch3staq3ejw._.js +1 -1
  60. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0bigvy9xmv2ka._.js +1 -1
  61. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h86bl2qf0k_o._.js +1 -1
  62. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0pia5h3p8re4c._.js +1 -1
  63. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0pwj2h2efe5f-._.js +1 -1
  64. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1-ey9fgesfbc0._.js +1 -1
  65. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__15usvs-ms-0hf._.js +1 -1
  66. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__00l2u6j86cb8y._.js → [root-of-the-server]__167mipqmjprq5._.js} +2 -2
  67. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__16gb3_92zvk5x._.js +1 -1
  68. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1avi2kypusyb_._.js +1 -1
  69. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1r7drlqli-ado._.js +1 -1
  70. package/.next/standalone/.next/server/chunks/ssr/_0bseae9u7g98r._.js +1 -1
  71. package/.next/standalone/.next/server/chunks/ssr/_0eoura3_9gjb-._.js +1 -1
  72. package/.next/standalone/.next/server/chunks/ssr/_0mouhaflye1ro._.js +1 -1
  73. package/.next/standalone/.next/server/chunks/ssr/_0pedwblqdoh58._.js +1 -1
  74. package/.next/standalone/.next/server/chunks/ssr/{_1fw0_nzkae5ao._.js → _1d98fyfrcaqhy._.js} +2 -2
  75. package/.next/standalone/.next/server/chunks/ssr/_1djqs9i27e4kg._.js +1 -1
  76. package/.next/standalone/.next/server/chunks/ssr/_20hn4gn87nsjc._.js +1 -1
  77. package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_policies_page_actions_1sp2-yo5_vm5f.js +2 -2
  78. package/.next/standalone/.next/server/chunks/ssr/app_actions_get-scheduled-audit_ts_0ei9snixb5fd-._.js +1 -1
  79. package/.next/standalone/.next/server/chunks/ssr/app_audit__components_audit-dashboard_tsx_0p9ud47q0xq5w._.js +1 -1
  80. package/.next/standalone/.next/server/chunks/ssr/app_components_project-list_tsx_1ke6anr0vt64h._.js +1 -1
  81. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_1kp6l3x33jqb6._.js +1 -1
  82. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_19dqvpcz0uxur._.js +1 -1
  83. package/.next/standalone/.next/server/chunks/ssr/app_settings_02tf1h47jmhhd._.js +1 -1
  84. package/.next/standalone/.next/server/chunks/ssr/{node_modules_html-to-image_es_index_1fv03uigni8s5.js → node_modules_html-to-image_es_index_0tqc05n832v7a.js} +1 -1
  85. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_0janj0i6dqko7._.js +1 -1
  86. package/.next/standalone/.next/server/chunks/ssr/package_json_[json]_cjs_013tntikdft59._.js +1 -1
  87. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  88. package/.next/standalone/.next/server/pages/404.html +1 -1
  89. package/.next/standalone/.next/server/pages/500.html +1 -1
  90. package/.next/standalone/.next/server/preview-props.json +3 -3
  91. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/server-reference-manifest.json +23 -23
  93. package/.next/standalone/.next/static/chunks/{1c_jf6g5wnslk.js → 0el9n3h9_zp5m.js} +1 -1
  94. package/.next/standalone/.next/static/chunks/0k7g_8x3o6gd-.js +1 -0
  95. package/.next/standalone/.next/static/chunks/{2o6d37j425uci.js → 0umzct31duk5g.js} +1 -1
  96. package/.next/standalone/.next/static/chunks/{42xptz88mtq3x.js → 0wobqgosirs8p.js} +1 -1
  97. package/.next/standalone/.next/static/chunks/12rug3jilwqzs.js +1 -0
  98. package/.next/standalone/.next/static/chunks/{0ay__-d2h1xb5.js → 1kduj74-715jh.js} +1 -1
  99. package/.next/standalone/.next/static/chunks/{40oworn_-x12p.js → 2701amhrbsbot.js} +1 -1
  100. package/.next/standalone/.next/static/chunks/{0tbm3vjm62h-2.js → 27cavoc8paelg.js} +1 -1
  101. package/.next/standalone/.next/static/chunks/{1my3-5p47t7r-.js → 2ve23a7keupjw.js} +1 -1
  102. package/.next/standalone/.next/static/chunks/{21hckpmsc4g70.js → 3bv6xaoitjpnh.js} +2 -2
  103. package/.next/standalone/fp-cloud-cli/CHANGELOG.md +19 -0
  104. package/.next/standalone/fp-cloud-cli/README.md +120 -0
  105. package/.next/standalone/fp-cloud-cli/fp_cli/app.py +15 -1
  106. package/.next/standalone/fp-cloud-cli/fp_cli/client.py +198 -7
  107. package/.next/standalone/fp-cloud-cli/fp_cli/cloud_output.py +523 -0
  108. package/.next/standalone/fp-cloud-cli/fp_cli/commands/_cloud.py +45 -0
  109. package/.next/standalone/fp-cloud-cli/fp_cli/commands/_write.py +3 -1
  110. package/.next/standalone/fp-cloud-cli/fp_cli/commands/account_cmds.py +171 -0
  111. package/.next/standalone/fp-cloud-cli/fp_cli/commands/agent_cmds.py +80 -7
  112. package/.next/standalone/fp-cloud-cli/fp_cli/commands/alerts_cmds.py +23 -0
  113. package/.next/standalone/fp-cloud-cli/fp_cli/commands/audits_cmds.py +2 -0
  114. package/.next/standalone/fp-cloud-cli/fp_cli/commands/contracts_cmds.py +67 -0
  115. package/.next/standalone/fp-cloud-cli/fp_cli/commands/dashboards_cmds.py +159 -0
  116. package/.next/standalone/fp-cloud-cli/fp_cli/commands/evaluators_cmds.py +380 -0
  117. package/.next/standalone/fp-cloud-cli/fp_cli/commands/events_cmds.py +14 -1
  118. package/.next/standalone/fp-cloud-cli/fp_cli/commands/incidents_cmds.py +82 -6
  119. package/.next/standalone/fp-cloud-cli/fp_cli/commands/list_cmds.py +4 -1
  120. package/.next/standalone/fp-cloud-cli/fp_cli/commands/orgs_cmds.py +17 -0
  121. package/.next/standalone/fp-cloud-cli/fp_cli/commands/policies_cmds.py +143 -1
  122. package/.next/standalone/fp-cloud-cli/fp_cli/commands/queries_cmds.py +70 -0
  123. package/.next/standalone/fp-cloud-cli/fp_cli/commands/sentiment_cmds.py +49 -0
  124. package/.next/standalone/fp-cloud-cli/fp_cli/commands/sessions_cmds.py +95 -1
  125. package/.next/standalone/fp-cloud-cli/fp_cli/commands/settings_cmds.py +2 -0
  126. package/.next/standalone/fp-cloud-cli/fp_cli/commands/usage_cmds.py +21 -1
  127. package/.next/standalone/fp-cloud-cli/fp_cli/commands/users_cmds.py +14 -0
  128. package/.next/standalone/fp-cloud-cli/fp_cli/errors.py +3 -0
  129. package/.next/standalone/fp-cloud-cli/fp_cli/evaluator_spec.py +266 -0
  130. package/.next/standalone/fp-cloud-cli/fp_cli/output.py +187 -81
  131. package/.next/standalone/fp-cloud-cli/fp_cli/theme.py +21 -24
  132. package/.next/standalone/fp-cloud-cli/skill/SKILL.md +124 -23
  133. package/.next/standalone/fp-cloud-cli/skill/agents/openai.yaml +2 -1
  134. package/.next/standalone/fp-cloud-cli/skill/references/commands.md +168 -16
  135. package/.next/standalone/fp-cloud-cli/tests/fake_cloud_smoke.py +312 -0
  136. package/.next/standalone/fp-cloud-cli/tests/test_cloud_account.py +125 -0
  137. package/.next/standalone/fp-cloud-cli/tests/test_cloud_agent.py +253 -0
  138. package/.next/standalone/fp-cloud-cli/tests/test_cloud_human_views.py +287 -0
  139. package/.next/standalone/fp-cloud-cli/tests/test_cloud_observability.py +116 -0
  140. package/.next/standalone/fp-cloud-cli/tests/test_cloud_transport.py +141 -0
  141. package/.next/standalone/fp-cloud-cli/tests/test_commands.py +3 -3
  142. package/.next/standalone/fp-cloud-cli/tests/test_dashboards_agent.py +3 -3
  143. package/.next/standalone/fp-cloud-cli/tests/test_evaluator_authoring.py +449 -0
  144. package/.next/standalone/fp-cloud-cli/tests/test_facets.py +1 -1
  145. package/.next/standalone/fp-cloud-cli/tests/test_help_table_coverage.py +15 -0
  146. package/.next/standalone/fp-cloud-cli/tests/test_operator.py +1 -1
  147. package/.next/standalone/fp-cloud-cli/tests/test_orgs.py +1 -1
  148. package/.next/standalone/fp-cloud-cli/tests/test_output.py +37 -37
  149. package/.next/standalone/fp-cloud-cli/tests/test_round4_behaviour.py +144 -0
  150. package/.next/standalone/fp-cloud-cli/tests/test_screen_language.py +80 -0
  151. package/.next/standalone/fp-cloud-cli/tests/test_session_reevaluate.py +33 -0
  152. package/.next/standalone/fp-cloud-cli/tests/test_staging_parity.py +198 -0
  153. package/.next/standalone/fp-cloud-cli/tests/test_whoami.py +1 -1
  154. package/.next/standalone/hermes-plugin/plugin.yaml +1 -1
  155. package/.next/standalone/package.json +9 -9
  156. package/.next/standalone/sdk/typescript/integration/fixtures/ai-4/package-lock.json +68 -176
  157. package/.next/standalone/sdk/typescript/integration/fixtures/ai-4/package.json +2 -2
  158. package/.next/standalone/sdk/typescript/integration/fixtures/ai-5/package-lock.json +4 -4
  159. package/.next/standalone/sdk/typescript/integration/fixtures/ai-5/package.json +1 -1
  160. package/.next/standalone/sdk/typescript/integration/fixtures/ai-6/package-lock.json +7 -7
  161. package/.next/standalone/sdk/typescript/integration/fixtures/ai-6/package.json +1 -1
  162. package/.next/standalone/sdk/typescript/integration/fixtures/ai-7/package-lock.json +7 -7
  163. package/.next/standalone/sdk/typescript/integration/fixtures/ai-7/package.json +1 -1
  164. package/.next/standalone/sdk/typescript/integration/fixtures/langchain-0.3/package-lock.json +98 -115
  165. package/.next/standalone/sdk/typescript/integration/fixtures/langchain-0.3/package.json +3 -3
  166. package/.next/standalone/sdk/typescript/integration/fixtures/langchain-1/package-lock.json +4 -4
  167. package/.next/standalone/sdk/typescript/integration/fixtures/langchain-1/package.json +1 -1
  168. package/.next/standalone/sdk/typescript/integration/fixtures/langchain-dup-core/package-lock.json +4 -4
  169. package/.next/standalone/sdk/typescript/integration/fixtures/langchain-dup-core/package.json +1 -1
  170. package/.next/standalone/sdk/typescript/integration/fixtures/llamaindex-0.11/package-lock.json +149 -171
  171. package/.next/standalone/sdk/typescript/integration/fixtures/llamaindex-0.11/package.json +2 -2
  172. package/.next/standalone/sdk/typescript/integration/fixtures/llamaindex-0.12/package-lock.json +4 -4
  173. package/.next/standalone/sdk/typescript/integration/fixtures/llamaindex-0.12/package.json +1 -1
  174. package/.next/standalone/sdk/typescript/integration/fixtures/mastra-0/package-lock.json +25 -25
  175. package/.next/standalone/sdk/typescript/integration/fixtures/mastra-0/package.json +1 -1
  176. package/.next/standalone/sdk/typescript/integration/fixtures/mastra-1/package-lock.json +7 -7
  177. package/.next/standalone/sdk/typescript/integration/fixtures/mastra-1/package.json +1 -1
  178. package/.next/standalone/sdk/typescript/integration/fixtures/nextjs/package-lock.json +10 -10
  179. package/.next/standalone/sdk/typescript/integration/fixtures/nextjs/package.json +1 -1
  180. package/.next/standalone/sdk/typescript/integration/fixtures/runtimes/package-lock.json +7 -7
  181. package/.next/standalone/sdk/typescript/integration/fixtures/runtimes/package.json +1 -1
  182. package/.next/standalone/server.js +1 -1
  183. package/dist/cli.mjs +85 -37
  184. package/dist/worker.mjs +73 -28
  185. package/hermes-plugin/plugin.yaml +1 -1
  186. package/package.json +9 -9
  187. package/src/hooks/agent-skill.ts +3 -0
  188. package/src/hooks/fp-home.ts +1 -1
  189. package/src/hooks/handler.ts +22 -3
  190. package/src/hooks/semantic/intent.ts +127 -24
  191. package/src/hooks/semantic/jev-review.ts +21 -2
  192. package/.next/standalone/.next/static/chunks/20py8k1gd_i1m.js +0 -1
  193. package/.next/standalone/.next/static/chunks/2hmex93ppj1ke.js +0 -1
  194. /package/.next/standalone/.next/static/{LHCtFxVG0mdvd4lsXAOFC → D7LY1YSrw96ZxKSpxxrFw}/_buildManifest.js +0 -0
  195. /package/.next/standalone/.next/static/{LHCtFxVG0mdvd4lsXAOFC → D7LY1YSrw96ZxKSpxxrFw}/_clientMiddlewareManifest.js +0 -0
  196. /package/.next/standalone/.next/static/{LHCtFxVG0mdvd4lsXAOFC → D7LY1YSrw96ZxKSpxxrFw}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[[24190,a=>{var b=a.i(36359);a.S([b,"00728227e41042729b3182aad2fe4c5d77f021b514,f"],24190)},36359,a=>{var b=a.i(37936),c=a.i(69839);a.i(93328);var d=a.i(31920),e=a.i(12072);async function f(){let a=(0,d.f)();return{enabled:a,distinctId:a?(0,c._)():"",apiKey:process.env.FAILPROOFAI_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,a.i(13095).ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"00728227e41042729b3182aad2fe4c5d77f021b514",null),a.s(["f",0,f])},8674,a=>{var b=a.i(2157),c=a.i(50227),d=a.i(66680);a.s(["f",0,function(a,e,f={}){let g=f.mode??384,h=f.dirMode??448,i=(0,c.dirname)(a);(0,b.existsSync)(i)||(0,b.mkdirSync)(i,{recursive:!0,mode:h});let j=`${a}.${process.pid}.${(0,d.randomBytes)(6).toString("hex")}.tmp`;try{(0,b.writeFileSync)(j,JSON.stringify(e,null,2),{mode:g});try{(63&(0,b.statSync)(j).mode)!=0&&(0,b.chmodSync)(j,g)}catch{}(0,b.renameSync)(j,a);try{(63&(0,b.statSync)(a).mode)!=0&&(0,b.chmodSync)(a,g)}catch{}}catch(a){try{(0,b.rmSync)(j,{force:!0})}catch{}throw a}}])}],74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__12qr51qgrrt6o._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuznb72p7z._.js"].map(b=>a.l(b))).then(()=>b(74493)))}];
1
+ module.exports=[[24190,a=>{var b=a.i(36359);a.S([b,"0085028ebdcdc7b05442823936e8301df482a2a84a,f"],24190)},36359,a=>{var b=a.i(37936),c=a.i(69839);a.i(93328);var d=a.i(31920),e=a.i(12072);async function f(){let a=(0,d.f)();return{enabled:a,distinctId:a?(0,c._)():"",apiKey:process.env.FAILPROOFAI_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,a.i(13095).ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"0085028ebdcdc7b05442823936e8301df482a2a84a",null),a.s(["f",0,f])},8674,a=>{var b=a.i(2157),c=a.i(50227),d=a.i(66680);a.s(["f",0,function(a,e,f={}){let g=f.mode??384,h=f.dirMode??448,i=(0,c.dirname)(a);(0,b.existsSync)(i)||(0,b.mkdirSync)(i,{recursive:!0,mode:h});let j=`${a}.${process.pid}.${(0,d.randomBytes)(6).toString("hex")}.tmp`;try{(0,b.writeFileSync)(j,JSON.stringify(e,null,2),{mode:g});try{(63&(0,b.statSync)(j).mode)!=0&&(0,b.chmodSync)(j,g)}catch{}(0,b.renameSync)(j,a);try{(63&(0,b.statSync)(a).mode)!=0&&(0,b.chmodSync)(a,g)}catch{}}catch(a){try{(0,b.rmSync)(j,{force:!0})}catch{}throw a}}])}],74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__12qr51qgrrt6o._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuznb72p7z._.js"].map(b=>a.l(b))).then(()=>b(74493)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__1-ey9fgesfbc0._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[24868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},12714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},44376,(a,b,c)=>{b.exports=a.x("node:module",()=>require("node:module"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},57764,(a,b,c)=>{b.exports=a.x("node:url",()=>require("node:url"))},46786,(a,b,c)=>{b.exports=a.x("os",()=>require("os"))},14747,(a,b,c)=>{b.exports=a.x("path",()=>require("path"))},92509,(a,b,c)=>{b.exports=a.x("url",()=>require("url"))},36359,a=>{"use strict";var b=a.i(37936),c=a.i(69839);a.i(93328);var d=a.i(31920),e=a.i(12072);async function f(){let a=(0,d.f)();return{enabled:a,distinctId:a?(0,c._)():"",apiKey:process.env.FAILPROOFAI_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,a.i(13095).ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"00728227e41042729b3182aad2fe4c5d77f021b514",null),a.s(["f",0,f])},8674,a=>{"use strict";var b=a.i(2157),c=a.i(50227),d=a.i(66680);a.s(["f",0,function(a,e,f={}){let g=f.mode??384,h=f.dirMode??448,i=(0,c.dirname)(a);(0,b.existsSync)(i)||(0,b.mkdirSync)(i,{recursive:!0,mode:h});let j=`${a}.${process.pid}.${(0,d.randomBytes)(6).toString("hex")}.tmp`;try{(0,b.writeFileSync)(j,JSON.stringify(e,null,2),{mode:g});try{(63&(0,b.statSync)(j).mode)!=0&&(0,b.chmodSync)(j,g)}catch{}(0,b.renameSync)(j,a);try{(63&(0,b.statSync)(a).mode)!=0&&(0,b.chmodSync)(a,g)}catch{}}catch(a){try{(0,b.rmSync)(j,{force:!0})}catch{}throw a}}])}];
1
+ module.exports=[24868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},12714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},44376,(a,b,c)=>{b.exports=a.x("node:module",()=>require("node:module"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},57764,(a,b,c)=>{b.exports=a.x("node:url",()=>require("node:url"))},46786,(a,b,c)=>{b.exports=a.x("os",()=>require("os"))},14747,(a,b,c)=>{b.exports=a.x("path",()=>require("path"))},92509,(a,b,c)=>{b.exports=a.x("url",()=>require("url"))},36359,a=>{"use strict";var b=a.i(37936),c=a.i(69839);a.i(93328);var d=a.i(31920),e=a.i(12072);async function f(){let a=(0,d.f)();return{enabled:a,distinctId:a?(0,c._)():"",apiKey:process.env.FAILPROOFAI_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,a.i(13095).ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"0085028ebdcdc7b05442823936e8301df482a2a84a",null),a.s(["f",0,f])},8674,a=>{"use strict";var b=a.i(2157),c=a.i(50227),d=a.i(66680);a.s(["f",0,function(a,e,f={}){let g=f.mode??384,h=f.dirMode??448,i=(0,c.dirname)(a);(0,b.existsSync)(i)||(0,b.mkdirSync)(i,{recursive:!0,mode:h});let j=`${a}.${process.pid}.${(0,d.randomBytes)(6).toString("hex")}.tmp`;try{(0,b.writeFileSync)(j,JSON.stringify(e,null,2),{mode:g});try{(63&(0,b.statSync)(j).mode)!=0&&(0,b.chmodSync)(j,g)}catch{}(0,b.renameSync)(j,a);try{(63&(0,b.statSync)(a).mode)!=0&&(0,b.chmodSync)(a,g)}catch{}}catch(a){try{(0,b.rmSync)(j,{force:!0})}catch{}throw a}}])}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__15usvs-ms-0hf._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[[19121,a=>{var b=a.i(5050);let c=(0,b.createServerReference)("00728227e41042729b3182aad2fe4c5d77f021b514",b.callServer,void 0,b.findSourceMapURL,"getTelemetryConfig");a.s(["f",0,c])},3171,a=>{var b=a.i(87924),c=a.i(72131),d=a.i(19121),e=a.i(66036);a.s(["default",0,function({error:a,reset:f}){return(0,c.useEffect)(()=>{(0,d.f)().then(b=>{(0,e.$)(b),(0,e.L)("client_error",{error_message:a.message,error_name:a.name,error_digest:a.digest,boundary:"global"})}).catch(()=>{})},[a]),(0,b.jsx)("html",{children:(0,b.jsx)("body",{children:(0,b.jsx)("main",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#031035",color:"#f8fafc",fontFamily:"system-ui, sans-serif"},children:(0,b.jsxs)("div",{style:{textAlign:"center",padding:"2rem",border:"1px solid rgba(239,68,68,0.4)",borderRadius:"0.5rem",maxWidth:"500px"},children:[(0,b.jsx)("h2",{style:{color:"#ef4444",marginBottom:"0.5rem",fontSize:"1.25rem"},children:"Something went wrong"}),(0,b.jsx)("p",{style:{color:"#94a3b8",marginBottom:"1.5rem"},children:a.message||"An unexpected error occurred."}),(0,b.jsx)("button",{onClick:f,style:{padding:"0.5rem 1.25rem",background:"#3b82f6",color:"white",border:"none",borderRadius:"0.375rem",cursor:"pointer",fontSize:"0.875rem"},children:"Try again"})]})})})})}])},66036,a=>{a.s(["L",0,function(a,b){},"$",0,function(a){}])},5050,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0});var d={callServer:function(){return f.callServer},createServerReference:function(){return h.createServerReference},findSourceMapURL:function(){return g.findSourceMapURL}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(20611),g=a.r(1722),h=a.r(38783)},42602,(a,b,c)=>{b.exports=a.r(18622)},9270,(a,b,c)=>{b.exports=a.r(42602).vendored.contexts.AppRouterContext},36313,(a,b,c)=>{b.exports=a.r(42602).vendored.contexts.HooksClientContext},18341,(a,b,c)=>{b.exports=a.r(42602).vendored.contexts.ServerInsertedHtml},35112,(a,b,c)=>{b.exports=a.r(42602).vendored["react-ssr"].ReactDOM},87924,(a,b,c)=>{b.exports=a.r(42602).vendored["react-ssr"].ReactJsxRuntime},38783,(a,b,c)=>{b.exports=a.r(42602).vendored["react-ssr"].ReactServerDOMTurbopackClient},72131,(a,b,c)=>{b.exports=a.r(42602).vendored["react-ssr"].React}],18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(a,b,c)=>{b.exports=a.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))}];
1
+ module.exports=[[33150,a=>{var b=a.i(5050);let c=(0,b.createServerReference)("0085028ebdcdc7b05442823936e8301df482a2a84a",b.callServer,void 0,b.findSourceMapURL,"getTelemetryConfig");a.s(["f",0,c])},3171,a=>{var b=a.i(87924),c=a.i(72131),d=a.i(33150),e=a.i(66036);a.s(["default",0,function({error:a,reset:f}){return(0,c.useEffect)(()=>{(0,d.f)().then(b=>{(0,e.$)(b),(0,e.L)("client_error",{error_message:a.message,error_name:a.name,error_digest:a.digest,boundary:"global"})}).catch(()=>{})},[a]),(0,b.jsx)("html",{children:(0,b.jsx)("body",{children:(0,b.jsx)("main",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#031035",color:"#f8fafc",fontFamily:"system-ui, sans-serif"},children:(0,b.jsxs)("div",{style:{textAlign:"center",padding:"2rem",border:"1px solid rgba(239,68,68,0.4)",borderRadius:"0.5rem",maxWidth:"500px"},children:[(0,b.jsx)("h2",{style:{color:"#ef4444",marginBottom:"0.5rem",fontSize:"1.25rem"},children:"Something went wrong"}),(0,b.jsx)("p",{style:{color:"#94a3b8",marginBottom:"1.5rem"},children:a.message||"An unexpected error occurred."}),(0,b.jsx)("button",{onClick:f,style:{padding:"0.5rem 1.25rem",background:"#3b82f6",color:"white",border:"none",borderRadius:"0.375rem",cursor:"pointer",fontSize:"0.875rem"},children:"Try again"})]})})})})}])},66036,a=>{a.s(["L",0,function(a,b){},"$",0,function(a){}])},5050,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0});var d={callServer:function(){return f.callServer},createServerReference:function(){return h.createServerReference},findSourceMapURL:function(){return g.findSourceMapURL}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(20611),g=a.r(1722),h=a.r(38783)},42602,(a,b,c)=>{b.exports=a.r(18622)},9270,(a,b,c)=>{b.exports=a.r(42602).vendored.contexts.AppRouterContext},36313,(a,b,c)=>{b.exports=a.r(42602).vendored.contexts.HooksClientContext},18341,(a,b,c)=>{b.exports=a.r(42602).vendored.contexts.ServerInsertedHtml},35112,(a,b,c)=>{b.exports=a.r(42602).vendored["react-ssr"].ReactDOM},87924,(a,b,c)=>{b.exports=a.r(42602).vendored["react-ssr"].ReactJsxRuntime},38783,(a,b,c)=>{b.exports=a.r(42602).vendored["react-ssr"].ReactServerDOMTurbopackClient},72131,(a,b,c)=>{b.exports=a.r(42602).vendored["react-ssr"].React}],18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(a,b,c)=>{b.exports=a.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__00l2u6j86cb8y._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__167mipqmjprq5._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[[37985,a=>{var b=a.i(36359);a.S([b,"00728227e41042729b3182aad2fe4c5d77f021b514,f"],37985)},36359,a=>{var b=a.i(37936),c=a.i(69839);a.i(93328);var d=a.i(31920),e=a.i(12072);async function f(){let a=(0,d.f)();return{enabled:a,distinctId:a?(0,c._)():"",apiKey:process.env.FAILPROOFAI_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,a.i(13095).ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"00728227e41042729b3182aad2fe4c5d77f021b514",null),a.s(["f",0,f])},8674,a=>{var b=a.i(2157),c=a.i(50227),d=a.i(66680);a.s(["f",0,function(a,e,f={}){let g=f.mode??384,h=f.dirMode??448,i=(0,c.dirname)(a);(0,b.existsSync)(i)||(0,b.mkdirSync)(i,{recursive:!0,mode:h});let j=`${a}.${process.pid}.${(0,d.randomBytes)(6).toString("hex")}.tmp`;try{(0,b.writeFileSync)(j,JSON.stringify(e,null,2),{mode:g});try{(63&(0,b.statSync)(j).mode)!=0&&(0,b.chmodSync)(j,g)}catch{}(0,b.renameSync)(j,a);try{(63&(0,b.statSync)(a).mode)!=0&&(0,b.chmodSync)(a,g)}catch{}}catch(a){try{(0,b.rmSync)(j,{force:!0})}catch{}throw a}}])}],74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__12qr51qgrrt6o._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuznb72p7z._.js"].map(b=>a.l(b))).then(()=>b(74493)))}];
1
+ module.exports=[[37985,a=>{var b=a.i(36359);a.S([b,"0085028ebdcdc7b05442823936e8301df482a2a84a,f"],37985)},36359,a=>{var b=a.i(37936),c=a.i(69839);a.i(93328);var d=a.i(31920),e=a.i(12072);async function f(){let a=(0,d.f)();return{enabled:a,distinctId:a?(0,c._)():"",apiKey:process.env.FAILPROOFAI_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,a.i(13095).ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"0085028ebdcdc7b05442823936e8301df482a2a84a",null),a.s(["f",0,f])},8674,a=>{var b=a.i(2157),c=a.i(50227),d=a.i(66680);a.s(["f",0,function(a,e,f={}){let g=f.mode??384,h=f.dirMode??448,i=(0,c.dirname)(a);(0,b.existsSync)(i)||(0,b.mkdirSync)(i,{recursive:!0,mode:h});let j=`${a}.${process.pid}.${(0,d.randomBytes)(6).toString("hex")}.tmp`;try{(0,b.writeFileSync)(j,JSON.stringify(e,null,2),{mode:g});try{(63&(0,b.statSync)(j).mode)!=0&&(0,b.chmodSync)(j,g)}catch{}(0,b.renameSync)(j,a);try{(63&(0,b.statSync)(a).mode)!=0&&(0,b.chmodSync)(a,g)}catch{}}catch(a){try{(0,b.rmSync)(j,{force:!0})}catch{}throw a}}])}],74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__12qr51qgrrt6o._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuznb72p7z._.js"].map(b=>a.l(b))).then(()=>b(74493)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__16gb3_92zvk5x._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[[39027,a=>{var b=a.i(36359);a.S([b,"00728227e41042729b3182aad2fe4c5d77f021b514,f"],39027)},36359,a=>{var b=a.i(37936),c=a.i(69839);a.i(93328);var d=a.i(31920),e=a.i(12072);async function f(){let a=(0,d.f)();return{enabled:a,distinctId:a?(0,c._)():"",apiKey:process.env.FAILPROOFAI_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,a.i(13095).ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"00728227e41042729b3182aad2fe4c5d77f021b514",null),a.s(["f",0,f])},8674,a=>{var b=a.i(2157),c=a.i(50227),d=a.i(66680);a.s(["f",0,function(a,e,f={}){let g=f.mode??384,h=f.dirMode??448,i=(0,c.dirname)(a);(0,b.existsSync)(i)||(0,b.mkdirSync)(i,{recursive:!0,mode:h});let j=`${a}.${process.pid}.${(0,d.randomBytes)(6).toString("hex")}.tmp`;try{(0,b.writeFileSync)(j,JSON.stringify(e,null,2),{mode:g});try{(63&(0,b.statSync)(j).mode)!=0&&(0,b.chmodSync)(j,g)}catch{}(0,b.renameSync)(j,a);try{(63&(0,b.statSync)(a).mode)!=0&&(0,b.chmodSync)(a,g)}catch{}}catch(a){try{(0,b.rmSync)(j,{force:!0})}catch{}throw a}}])}],74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__12qr51qgrrt6o._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuznb72p7z._.js"].map(b=>a.l(b))).then(()=>b(74493)))}];
1
+ module.exports=[[39027,a=>{var b=a.i(36359);a.S([b,"0085028ebdcdc7b05442823936e8301df482a2a84a,f"],39027)},36359,a=>{var b=a.i(37936),c=a.i(69839);a.i(93328);var d=a.i(31920),e=a.i(12072);async function f(){let a=(0,d.f)();return{enabled:a,distinctId:a?(0,c._)():"",apiKey:process.env.FAILPROOFAI_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,a.i(13095).ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"0085028ebdcdc7b05442823936e8301df482a2a84a",null),a.s(["f",0,f])},8674,a=>{var b=a.i(2157),c=a.i(50227),d=a.i(66680);a.s(["f",0,function(a,e,f={}){let g=f.mode??384,h=f.dirMode??448,i=(0,c.dirname)(a);(0,b.existsSync)(i)||(0,b.mkdirSync)(i,{recursive:!0,mode:h});let j=`${a}.${process.pid}.${(0,d.randomBytes)(6).toString("hex")}.tmp`;try{(0,b.writeFileSync)(j,JSON.stringify(e,null,2),{mode:g});try{(63&(0,b.statSync)(j).mode)!=0&&(0,b.chmodSync)(j,g)}catch{}(0,b.renameSync)(j,a);try{(63&(0,b.statSync)(a).mode)!=0&&(0,b.chmodSync)(a,g)}catch{}}catch(a){try{(0,b.rmSync)(j,{force:!0})}catch{}throw a}}])}],74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__12qr51qgrrt6o._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuznb72p7z._.js"].map(b=>a.l(b))).then(()=>b(74493)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__1avi2kypusyb_._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[[165,a=>{var b=a.i(36359);a.S([b,"00728227e41042729b3182aad2fe4c5d77f021b514,f"],165)},36359,a=>{var b=a.i(37936),c=a.i(69839);a.i(93328);var d=a.i(31920),e=a.i(12072);async function f(){let a=(0,d.f)();return{enabled:a,distinctId:a?(0,c._)():"",apiKey:process.env.FAILPROOFAI_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,a.i(13095).ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"00728227e41042729b3182aad2fe4c5d77f021b514",null),a.s(["f",0,f])},8674,a=>{var b=a.i(2157),c=a.i(50227),d=a.i(66680);a.s(["f",0,function(a,e,f={}){let g=f.mode??384,h=f.dirMode??448,i=(0,c.dirname)(a);(0,b.existsSync)(i)||(0,b.mkdirSync)(i,{recursive:!0,mode:h});let j=`${a}.${process.pid}.${(0,d.randomBytes)(6).toString("hex")}.tmp`;try{(0,b.writeFileSync)(j,JSON.stringify(e,null,2),{mode:g});try{(63&(0,b.statSync)(j).mode)!=0&&(0,b.chmodSync)(j,g)}catch{}(0,b.renameSync)(j,a);try{(63&(0,b.statSync)(a).mode)!=0&&(0,b.chmodSync)(a,g)}catch{}}catch(a){try{(0,b.rmSync)(j,{force:!0})}catch{}throw a}}])}],74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__12qr51qgrrt6o._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuznb72p7z._.js"].map(b=>a.l(b))).then(()=>b(74493)))}];
1
+ module.exports=[[165,a=>{var b=a.i(36359);a.S([b,"0085028ebdcdc7b05442823936e8301df482a2a84a,f"],165)},36359,a=>{var b=a.i(37936),c=a.i(69839);a.i(93328);var d=a.i(31920),e=a.i(12072);async function f(){let a=(0,d.f)();return{enabled:a,distinctId:a?(0,c._)():"",apiKey:process.env.FAILPROOFAI_POSTHOG_KEY??"phc_Ac1Ww1GqKc0z1SyrRWbmatEeQdlOQIsDEEdP8l8JRgX",host:process.env.FAILPROOFAI_POSTHOG_HOST??"https://us.i.posthog.com",version:e.version}}(0,a.i(13095).ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"0085028ebdcdc7b05442823936e8301df482a2a84a",null),a.s(["f",0,f])},8674,a=>{var b=a.i(2157),c=a.i(50227),d=a.i(66680);a.s(["f",0,function(a,e,f={}){let g=f.mode??384,h=f.dirMode??448,i=(0,c.dirname)(a);(0,b.existsSync)(i)||(0,b.mkdirSync)(i,{recursive:!0,mode:h});let j=`${a}.${process.pid}.${(0,d.randomBytes)(6).toString("hex")}.tmp`;try{(0,b.writeFileSync)(j,JSON.stringify(e,null,2),{mode:g});try{(63&(0,b.statSync)(j).mode)!=0&&(0,b.chmodSync)(j,g)}catch{}(0,b.renameSync)(j,a);try{(63&(0,b.statSync)(a).mode)!=0&&(0,b.chmodSync)(a,g)}catch{}}catch(a){try{(0,b.rmSync)(j,{force:!0})}catch{}throw a}}])}],74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__12qr51qgrrt6o._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuznb72p7z._.js"].map(b=>a.l(b))).then(()=>b(74493)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__1r7drlqli-ado._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[65967,a=>{var b=a.i(87924),c=a.i(7963),d=a.i(11330);a.s(["f",0,function({currentPage:a,totalPages:e,onPageChange:f}){if(e<=1)return null;let g=a=>`px-3 py-2 text-sm rounded-md transition-colors flex items-center gap-1 bg-muted text-muted-foreground ${a?"opacity-50 cursor-not-allowed":"hover:bg-muted/80"}`;return(0,b.jsxs)("div",{className:"flex items-center justify-center gap-2 py-4",children:[(0,b.jsxs)("button",{onClick:()=>f(a-1),disabled:1===a,className:g(1===a),"aria-label":"Previous page",children:[(0,b.jsx)(c.f,{className:"w-4 h-4"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:"Previous"})]}),(0,b.jsx)("div",{className:"flex items-center gap-1",children:(()=>{if(e<=7)return Array.from({length:e},(a,b)=>b+1);let b=[1],c=Math.max(2,a-1),d=Math.min(e-1,a+1);a<=3&&(d=Math.min(5,e-1)),a>=e-2&&(c=Math.max(2,e-4)),c>2&&b.push("ellipsis-start");for(let a=c;a<=d;a++)b.push(a);return d<e-1&&b.push("ellipsis-end"),b.push(e),b})().map(c=>"string"==typeof c?(0,b.jsx)("span",{className:"px-2 text-muted-foreground",children:"..."},c):(0,b.jsx)("button",{onClick:()=>f(c),className:`min-w-[2.5rem] px-3 py-2 text-sm rounded-md transition-colors ${a===c?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:bg-muted/80"}`,"aria-label":`Page ${c}`,"aria-current":a===c?"page":void 0,children:c},c))}),(0,b.jsxs)("button",{onClick:()=>f(a+1),disabled:a===e,className:g(a===e),"aria-label":"Next page",children:[(0,b.jsx)("span",{className:"hidden sm:inline",children:"Next"}),(0,b.jsx)(d.f,{className:"w-4 h-4"})]})]})}])},87256,a=>{let b={claude:{id:"claude",label:"Claude Code",badgeClasses:"bg-orange-500/10 text-orange-400 border-orange-500/20"},codex:{id:"codex",label:"OpenAI Codex",badgeClasses:"bg-purple-500/10 text-purple-400 border-purple-500/20"},copilot:{id:"copilot",label:"GitHub Copilot",badgeClasses:"bg-blue-500/10 text-blue-400 border-blue-500/20"},cursor:{id:"cursor",label:"Cursor Agent",badgeClasses:"bg-emerald-500/10 text-emerald-400 border-emerald-500/20"},opencode:{id:"opencode",label:"OpenCode",badgeClasses:"bg-amber-500/10 text-amber-400 border-amber-500/20"},pi:{id:"pi",label:"Pi",badgeClasses:"bg-pink-500/10 text-pink-400 border-pink-500/20"},hermes:{id:"hermes",label:"Hermes",badgeClasses:"bg-indigo-500/10 text-indigo-400 border-indigo-500/20"},openclaw:{id:"openclaw",label:"OpenClaw",badgeClasses:"bg-teal-500/10 text-teal-400 border-teal-500/20"},factory:{id:"factory",label:"Factory Droid",badgeClasses:"bg-rose-500/10 text-rose-400 border-rose-500/20"},devin:{id:"devin",label:"Devin CLI",badgeClasses:"bg-violet-500/10 text-violet-400 border-violet-500/20"},antigravity:{id:"antigravity",label:"Antigravity CLI",badgeClasses:"bg-cyan-500/10 text-cyan-400 border-cyan-500/20"},goose:{id:"goose",label:"Goose",badgeClasses:"bg-lime-500/10 text-lime-400 border-lime-500/20"}};a.s(["z",0,["claude","codex","copilot","cursor","opencode","pi","hermes","openclaw","factory","devin","antigravity","goose"],"G",0,function(a){return b[a]?.badgeClasses??b.claude.badgeClasses},"A",0,function(a){return b[a]?.label??a},"U",0,function(a){return"string"==typeof a&&Object.prototype.hasOwnProperty.call(b,a)}])},90619,95947,a=>{var b=a.i(50944),c=a.i(72131);function d(a){let b=a.getFullYear(),c=String(a.getMonth()+1).padStart(2,"0"),d=String(a.getDate()).padStart(2,"0");return`${b}-${c}-${d}`}function e(a){var b;if(!a||(b=a,!/^\d{4}-\d{2}-\d{2}$/.test(b)||isNaN(Date.parse(b))))return null;let[c,d,e]=a.split("-").map(Number);return new Date(c,d-1,e,12,0,0)}a.s(["f",0,function(){let a=(0,b.useSearchParams)(),d=(0,b.useRouter)(),e=(0,b.usePathname)(),f=(0,c.useRef)(null),g=(0,c.useCallback)(b=>a.get(b),[a]),h=(0,c.useCallback)(()=>new URLSearchParams(a.toString()),[a]),i=(0,c.useCallback)(b=>{f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{let c=new URLSearchParams(a.toString());for(let[a,d]of Object.entries(b))void 0===d||""===d?c.delete(a):c.set(a,d);let f=c.toString(),g=f?`${e}?${f}`:e;d.replace(g,{scroll:!1})},150)},[a,e,d]);return(0,c.useEffect)(()=>()=>{f.current&&clearTimeout(f.current)},[]),{get:g,getAll:h,setAll:i}}],90619),a.s(["V",0,function(a){let b={};return a.from&&(b.from=d(a.from)),a.to&&(b.to=d(a.to)),b},"l",0,function(a){if(0!==a.length)return a.map(a=>encodeURIComponent(a)).join(",")},"t",0,function(a){return a<=1?void 0:String(a)},"w",0,function(a){return a?a.split(",").map(a=>decodeURIComponent(a.trim())).filter(a=>a.length>0):[]},"m",0,function(a){if(!a)return 1;let b=parseInt(a,10);return Number.isFinite(b)&&b>=1?b:1},"S",0,function(a){return a&&["all","last-hour","today","last-7-days","last-30-days","custom"].includes(a)?a:"all"},"R",0,function(a,b){return{from:e(a),to:e(b)}},"$",0,function(a){return"all"===a?void 0:a}],95947)},7963,a=>{var b=a.i(64831);let c={name:"chevron-left",size:24,node:[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]};c.node;let d=(0,b.f)(c);a.s(["f",0,d],7963)},11330,a=>{var b=a.i(64831);let c={name:"chevron-right",size:24,node:[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]};c.node;let d=(0,b.f)(c);a.s(["f",0,d],11330)}]})();
1
+ (()=>{"use strict";module.exports=[65967,a=>{var b=a.i(87924),c=a.i(7963),d=a.i(41146);a.s(["f",0,function({currentPage:a,totalPages:e,onPageChange:f}){if(e<=1)return null;let g=a=>`px-3 py-2 text-sm rounded-md transition-colors flex items-center gap-1 bg-muted text-muted-foreground ${a?"opacity-50 cursor-not-allowed":"hover:bg-muted/80"}`;return(0,b.jsxs)("div",{className:"flex items-center justify-center gap-2 py-4",children:[(0,b.jsxs)("button",{onClick:()=>f(a-1),disabled:1===a,className:g(1===a),"aria-label":"Previous page",children:[(0,b.jsx)(c.f,{className:"w-4 h-4"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:"Previous"})]}),(0,b.jsx)("div",{className:"flex items-center gap-1",children:(()=>{if(e<=7)return Array.from({length:e},(a,b)=>b+1);let b=[1],c=Math.max(2,a-1),d=Math.min(e-1,a+1);a<=3&&(d=Math.min(5,e-1)),a>=e-2&&(c=Math.max(2,e-4)),c>2&&b.push("ellipsis-start");for(let a=c;a<=d;a++)b.push(a);return d<e-1&&b.push("ellipsis-end"),b.push(e),b})().map(c=>"string"==typeof c?(0,b.jsx)("span",{className:"px-2 text-muted-foreground",children:"..."},c):(0,b.jsx)("button",{onClick:()=>f(c),className:`min-w-[2.5rem] px-3 py-2 text-sm rounded-md transition-colors ${a===c?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:bg-muted/80"}`,"aria-label":`Page ${c}`,"aria-current":a===c?"page":void 0,children:c},c))}),(0,b.jsxs)("button",{onClick:()=>f(a+1),disabled:a===e,className:g(a===e),"aria-label":"Next page",children:[(0,b.jsx)("span",{className:"hidden sm:inline",children:"Next"}),(0,b.jsx)(d.f,{className:"w-4 h-4"})]})]})}])},87256,a=>{let b={claude:{id:"claude",label:"Claude Code",badgeClasses:"bg-orange-500/10 text-orange-400 border-orange-500/20"},codex:{id:"codex",label:"OpenAI Codex",badgeClasses:"bg-purple-500/10 text-purple-400 border-purple-500/20"},copilot:{id:"copilot",label:"GitHub Copilot",badgeClasses:"bg-blue-500/10 text-blue-400 border-blue-500/20"},cursor:{id:"cursor",label:"Cursor Agent",badgeClasses:"bg-emerald-500/10 text-emerald-400 border-emerald-500/20"},opencode:{id:"opencode",label:"OpenCode",badgeClasses:"bg-amber-500/10 text-amber-400 border-amber-500/20"},pi:{id:"pi",label:"Pi",badgeClasses:"bg-pink-500/10 text-pink-400 border-pink-500/20"},hermes:{id:"hermes",label:"Hermes",badgeClasses:"bg-indigo-500/10 text-indigo-400 border-indigo-500/20"},openclaw:{id:"openclaw",label:"OpenClaw",badgeClasses:"bg-teal-500/10 text-teal-400 border-teal-500/20"},factory:{id:"factory",label:"Factory Droid",badgeClasses:"bg-rose-500/10 text-rose-400 border-rose-500/20"},devin:{id:"devin",label:"Devin CLI",badgeClasses:"bg-violet-500/10 text-violet-400 border-violet-500/20"},antigravity:{id:"antigravity",label:"Antigravity CLI",badgeClasses:"bg-cyan-500/10 text-cyan-400 border-cyan-500/20"},goose:{id:"goose",label:"Goose",badgeClasses:"bg-lime-500/10 text-lime-400 border-lime-500/20"}};a.s(["z",0,["claude","codex","copilot","cursor","opencode","pi","hermes","openclaw","factory","devin","antigravity","goose"],"G",0,function(a){return b[a]?.badgeClasses??b.claude.badgeClasses},"A",0,function(a){return b[a]?.label??a},"U",0,function(a){return"string"==typeof a&&Object.prototype.hasOwnProperty.call(b,a)}])},90619,95947,a=>{var b=a.i(50944),c=a.i(72131);function d(a){let b=a.getFullYear(),c=String(a.getMonth()+1).padStart(2,"0"),d=String(a.getDate()).padStart(2,"0");return`${b}-${c}-${d}`}function e(a){var b;if(!a||(b=a,!/^\d{4}-\d{2}-\d{2}$/.test(b)||isNaN(Date.parse(b))))return null;let[c,d,e]=a.split("-").map(Number);return new Date(c,d-1,e,12,0,0)}a.s(["f",0,function(){let a=(0,b.useSearchParams)(),d=(0,b.useRouter)(),e=(0,b.usePathname)(),f=(0,c.useRef)(null),g=(0,c.useCallback)(b=>a.get(b),[a]),h=(0,c.useCallback)(()=>new URLSearchParams(a.toString()),[a]),i=(0,c.useCallback)(b=>{f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{let c=new URLSearchParams(a.toString());for(let[a,d]of Object.entries(b))void 0===d||""===d?c.delete(a):c.set(a,d);let f=c.toString(),g=f?`${e}?${f}`:e;d.replace(g,{scroll:!1})},150)},[a,e,d]);return(0,c.useEffect)(()=>()=>{f.current&&clearTimeout(f.current)},[]),{get:g,getAll:h,setAll:i}}],90619),a.s(["V",0,function(a){let b={};return a.from&&(b.from=d(a.from)),a.to&&(b.to=d(a.to)),b},"l",0,function(a){if(0!==a.length)return a.map(a=>encodeURIComponent(a)).join(",")},"t",0,function(a){return a<=1?void 0:String(a)},"w",0,function(a){return a?a.split(",").map(a=>decodeURIComponent(a.trim())).filter(a=>a.length>0):[]},"m",0,function(a){if(!a)return 1;let b=parseInt(a,10);return Number.isFinite(b)&&b>=1?b:1},"S",0,function(a){return a&&["all","last-hour","today","last-7-days","last-30-days","custom"].includes(a)?a:"all"},"R",0,function(a,b){return{from:e(a),to:e(b)}},"$",0,function(a){return"all"===a?void 0:a}],95947)},7963,a=>{var b=a.i(64831);let c={name:"chevron-left",size:24,node:[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]};c.node;let d=(0,b.f)(c);a.s(["f",0,d],7963)},41146,a=>{var b=a.i(64831);let c={name:"chevron-right",size:24,node:[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]};c.node;let d=(0,b.f)(c);a.s(["f",0,d],41146)}]})();
2
2
 
3
3
  //# sourceMappingURL=_0bseae9u7g98r._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[[35874,a=>{var b=a.i(36359),c=a.i(36119),d=a.i(41289),e=a.i(37936),f=a.i(2157),g=a.i(50227),h=a.i(5246),i=a.i(8674),j=a.i(21572);let k=new Set(["localhost","127.0.0.1","::1","[::1]","0:0:0:0:0:0:0:1"]);function l(a){let b=a.trim().toLowerCase();return!!b&&(!!k.has(b)||/^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(b))}var m=a.i(87481),n=a.i(55113),o=a.i(13095);let p="this request did not come from the dashboard in your browser, so nothing was written.",q="env-key-stand-in";async function r(){var a,b;let c;try{c=await (0,h.headers)()}catch{return p}let d=l((a=void 0,b=process.env.FAILPROOFAI_DASHBOARD_HOST,(a??b??"").trim()||"127.0.0.1")),e=c.get("host");if(d&&(!e||!l(function(a){let b=a.trim();if(b.startsWith("[")){let a=b.indexOf("]");return -1===a?b:b.slice(0,a+1)}let c=b.indexOf(":");return -1===c?b:b.slice(0,c)}(e))))return p;let f=c.get("origin");if(!f)return d?null:p;let g=null;try{g=new URL(f).host.toLowerCase()}catch{g=null}return g&&g===(e??"").toLowerCase()?null:p}function s(a){if(!a)return null;let b=(0,m.A)(a);if(!b.ok)return null;try{let a=new URL(b.value).origin;return"null"===a?null:a}catch{return null}}function t(a){let b=(0,g.dirname)(a);try{let a=511&(0,f.statSync)(b).mode;(18&a)!=0&&(0,f.chmodSync)(b,-19&a)}catch{}}async function u(a){let b=await r();if(b)return{ok:!1,problem:b};let c=a.provider.trim();if(!m.n.includes(c))return{ok:!1,problem:`provider must be one of ${m.n.join(", ")}`};if(c===m.e)return{ok:!1,problem:"FailproofAI Cloud's Jev is turned on by connecting this machine (failproofai config --token <key>), and switched with the mode control — not saved from this form."};let e=(0,m._)(a.mode);if(null===e)return{ok:!1,problem:'mode must be "off", "observe" or "enforce".'};let f=a.baseUrl.trim(),g=f?(0,m.A)(f):null;if(g&&!g.ok)return{ok:!1,problem:g.problem};let h=(0,m.Z)(),j=h?.raw??null,k=null!==j&&j.provider===c;if(g?.ok){let a=(0,m.A)(j?.baseUrl),b=k&&a.ok&&(0,m.T)(a.value).url===(0,m.T)(g.value).url,d=b?null:(0,m.O)(c,g.value);if(d)return{ok:!1,problem:`${d}.`};let e=b?null:(0,m.f)(g.value);if(e)return{ok:!1,problem:`that url is an endpoint, not an api base — its path ends in ${e.suffix}. ${(0,n.G)(g.value)} Use ${(0,m.T)(e.base).url} instead.`}}let l=k?{...j}:{};!k&&j&&(void 0!==j.mode&&(l.mode=j.mode),void 0!==j.timeoutMs&&(l.timeoutMs=j.timeoutMs)),l.provider=c,f?l.baseUrl=function(a,b){if("string"!=typeof b||""===b)return a;let c=(0,m.A)(b);if(!c.ok)return a;let d=(0,m.T)(c.value);if(!d.hadQuery)return a;let e=(0,m.A)(a);return e.ok&&e.value===d.url?c.value:a}(f,j?.baseUrl):delete l.baseUrl;let o=a.accountId.trim();"cloudflare"===c&&o?l.accountId=o:delete l.accountId,l.mode=e;let p=k&&h?.tooOpen!==!0&&s(f)===s("string"==typeof j?.baseUrl?j.baseUrl:""),u="string"==typeof j?.apiKey&&""!==j.apiKey,v=null!==j&&!u&&(0,m.P)(j,q).ok,w=a.token.trim();if(w){let a=(0,m.$)(w);if(a)return{ok:!1,problem:a,needsToken:!0};l.apiKey=w}else if(!p&&!v)return{ok:!1,needsToken:!0,problem:u?k&&h?.tooOpen===!0?`${(0,m.W)()} was open to other users, so the endpoint it names may not be one you chose and its stored token is not reused. check the endpoint above, then enter the token for it.`:k?"that endpoint is not the one the stored token was given for, so it is not sent there. enter the token for it.":"enter the token for this provider.":"enter the token for this provider."};let x=void 0===l.apiKey,y=(0,m.P)(l,x?q:null);if(!y.ok)return{ok:!1,problem:y.problem,...!0===y.missingKey?{needsToken:!0}:{}};let z=(0,m.W)();try{(0,i.f)(z,l,{mode:384,dirMode:448})}catch(a){return{ok:!1,problem:`could not write ${z} (${a.code??"error"}).`}}return t(z),{ok:!0,view:await (0,d.f)()}}async function v(a){let b=await r();if(b)return{ok:!1,problem:b};let c=(0,m._)(a);if(null===c)return{ok:!1,problem:'mode must be "off", "observe" or "enforce".'};if((0,j.M)())return{ok:!1,problem:j.H};let e=(0,m.Z)();if(null===e)return{ok:!1,problem:`there is no readable ${(0,m.W)()} to switch. connect this machine (failproofai config --token <key>) or set up your own endpoint below.`};if(e.tooOpen)return{ok:!1,problem:`${(0,m.W)()} is open to other users, so Jev is already off and the endpoint it names is not trusted. fix its permissions first (chmod 600, and chmod 700 on its directory).`};let f={...e.raw,mode:c},g=f.provider===m.e,h=(0,m.P)(f,g||"string"==typeof f.apiKey?null:q,g?{url:function(a){if("string"!=typeof a)return"";try{return new URL(a).origin}catch{return""}}(f.baseUrl),key:q}:null);if(!h.ok)return{ok:!1,problem:h.problem};let k=(0,m.W)();try{(0,i.f)(k,f,{mode:384,dirMode:448})}catch(a){return{ok:!1,problem:`could not write ${k} (${a.code??"error"}).`}}return t(k),{ok:!0,view:await (0,d.f)()}}async function w(){let a=await r();if(a)return{ok:!1,problem:a};let b=(0,m.W)();if((0,f.existsSync)(b))try{(0,f.unlinkSync)(b)}catch(a){return{ok:!1,problem:`could not remove ${b} (${a.code??"error"}).`}}return{ok:!0,view:await (0,d.f)()}}(0,o.ensureServerEntryExports)([u,v,w]),(0,e.registerServerReference)(u,"404b9dfcd5616f88e2e52e121c1278140caca83890",null),(0,e.registerServerReference)(v,"40f9a5b3e0b570e1cbd1ab9405d966d53d0464c514",null),(0,e.registerServerReference)(w,"007f043b85cfdfd05797121e03e4754fe627fde1f4",null);var x=a.i(81243);async function y(a){if(a&&!await (0,x.s)()){let a=(0,x.M)();return{ok:!1,reason:a&&1e3*a.refresh_expires_at>Date.now()?"unreachable":"signed-out"}}return{ok:!0,auto:(0,j.t)({audit:a?{auto:!0,reportsConsentedAt:Date.now()}:{auto:!1}}).audit.auto}}async function z(a){return(0,j.t)({audit:{intervalDays:a}}),{intervalDays:(0,j.s)().audit.intervalDays}}(0,o.ensureServerEntryExports)([y,z]),(0,e.registerServerReference)(y,"406f2bb4e7466cc2b77bb1a0f2864b75a372a4bb06",null),(0,e.registerServerReference)(z,"403daad8fdd4531a99d626f85cda91aaffc9a848cc",null),a.s(["00728227e41042729b3182aad2fe4c5d77f021b514",()=>b.f,"007f043b85cfdfd05797121e03e4754fe627fde1f4",0,w,"00ced5ea658747cb8527bdf2605ed571071a426d38",()=>c.f,"00e9f4f60629d16bfc9cb8e44dc2684793e3801e30",()=>d.f,"403daad8fdd4531a99d626f85cda91aaffc9a848cc",0,z,"404b9dfcd5616f88e2e52e121c1278140caca83890",0,u,"406f2bb4e7466cc2b77bb1a0f2864b75a372a4bb06",0,y,"40f9a5b3e0b570e1cbd1ab9405d966d53d0464c514",0,v],35874)},8018,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createDedupedByCallsiteServerErrorLoggerDev",{enumerable:!0,get:function(){return i}});let d=function(a){if(a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var b=e(void 0);if(b&&b.has(a))return b.get(a);var c={__proto__:null},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!==f&&Object.prototype.hasOwnProperty.call(a,f)){var g=d?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(c,f,g):c[f]=a[f]}return c.default=a,b&&b.set(a,c),c}(a.r(717));function e(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(e=function(a){return a?c:b})(a)}let f={current:null},g="function"==typeof d.cache?d.cache:a=>a,h=console.warn;function i(a){return function(...b){h(a(...b))}}g(a=>{try{h(f.current)}finally{f.current=null}})},81740,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"cookies",{enumerable:!0,get:function(){return o}});let d=a.r(14896),e=a.r(63681),f=a.r(56704),g=a.r(32319),h=a.r(60384),i=a.r(60312),j=a.r(13091),k=a.r(8018),l=a.r(28091),m=a.r(50640),n=a.r(55907);function o(){let a="cookies",b=f.workAsyncStorage.getStore(),c=g.workUnitAsyncStorage.getStore();if(b){if(c&&!(0,l.isRequestApiAllowedInCurrentPhase)(c))throw Error(`Route ${b.route} used \`cookies()\` inside \`after()\` while rendering. This is not supported. If you need this data inside an \`after()\` callback, use \`cookies()\` outside of the callback. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`);if(b.forceStatic)return q(d.RequestCookiesAdapter.seal(new e.RequestCookies(new Headers({}))));if(b.dynamicShouldError)throw new i.StaticGenBailoutError(`Route ${b.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`cookies()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);if(c)switch(c.type){case"cache":let f=(0,n.createCookiesInUseCacheError)(b.route);throw Error.captureStackTrace(f,o),(0,j.applyOwnerStack)(f),b.invalidDynamicUsageError??=f,f;case"unstable-cache":throw(0,n.createCookiesInUnstableCacheError)(b.route);case"build-time-generator":throw Error(`Route ${b.route} used \`cookies()\` inside \`${c.functionName}\`. This is not supported because \`${c.functionName}\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`);case"prerender":var k=b,r=c;let g=p.get(r);if(g)return g;let s=(0,j.makeSessionDataHangingPromise)(r.renderSignal,k.route,"`cookies()`",r);return p.set(r,s),s;case"prerender-client":case"validation-client":let t="`cookies`";throw new m.InvariantError(`${t} must not be used within a Client Component. Next.js should be preventing ${t} from being included in Client Components statically, but did not in this case.`);case"prerender-legacy":return(0,h.throwToInterruptStaticGeneration)(a,b,c);case"prerender-runtime":{let{stagedRendering:a}=c;if(a)return a.delayUntilStage(j.RENDER_STAGES_BY_DATA_KIND.sessionData,"cookies",c.cookies);return q(c.cookies)}case"private-cache":return q(c.cookies);case"request":let u;if((0,h.trackDynamicDataInDynamicRender)(c),u=(0,d.areCookiesMutableInCurrentPhase)(c)?c.userspaceMutableCookies:c.cookies,!c.asyncApiPromises)return q(u);if(u===c.mutableCookies)return c.asyncApiPromises.mutableCookies;return c.asyncApiPromises.cookies}}(0,g.throwForMissingRequestStore)(a)}let p=new WeakMap;function q(a){let b=p.get(a);if(b)return b;let c=Promise.resolve(a);return p.set(a,c),c}(0,k.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Error(`${c}used ${b}. \`cookies()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`)})},51125,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"draftMode",{enumerable:!0,get:function(){return m}});let d=a.r(32319),e=a.r(56704),f=a.r(60384),g=a.r(8018),h=a.r(60312),i=a.r(96556),j=a.r(50640),k=a.r(55907);a.r(51409);let l=a.r(13091);function m(){let a="draftMode",b=e.workAsyncStorage.getStore(),c=d.workUnitAsyncStorage.getStore();switch((!b||!c)&&(0,d.throwForMissingRequestStore)(a),c.type){case"prerender-runtime":{let{stagedRendering:a}=c;if(a)return a.delayUntilStage(l.RENDER_STAGES_BY_DATA_KIND.sessionData,"draftMode",new q(c.draftMode));return n(c.draftMode,b)}case"request":return n(c.draftMode,b);case"cache":case"private-cache":case"unstable-cache":let f=(0,d.getDraftModeProviderForCacheScope)(b,c);if(f)return n(f,b);case"prerender":case"prerender-legacy":return n(null,b);case"prerender-client":case"validation-client":{let a="`draftMode`";throw new j.InvariantError(`${a} must not be used within a Client Component. Next.js should be preventing ${a} from being included in Client Components statically, but did not in this case.`)}case"build-time-generator":throw Error(`Route ${b.route} used \`${a}()\` inside \`${c.functionName}\`. This is not supported because \`${c.functionName}\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`);default:return c}}function n(a,b){let c=p.get(a??o);return c||Promise.resolve(new q(a))}let o={},p=new WeakMap;class q{constructor(a){this._provider=a}get isEnabled(){return null!==this._provider&&this._provider.isEnabled}enable(){r("draftMode().enable()",this.enable),null!==this._provider&&this._provider.enable()}disable(){r("draftMode().disable()",this.disable),null!==this._provider&&this._provider.disable()}}function r(a,b){let c=e.workAsyncStorage.getStore(),g=d.workUnitAsyncStorage.getStore();if(c){if((null==g?void 0:g.phase)==="after")throw Error(`Route ${c.route} used "${a}" inside \`after()\`. The enabled status of \`draftMode()\` can be read inside \`after()\` but you cannot enable or disable \`draftMode()\`. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`);if(c.dynamicShouldError)throw new h.StaticGenBailoutError(`Route ${c.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);if(g)switch(g.type){case"cache":case"private-cache":{let d=(0,k.createDraftModeMutationInUseCacheError)(c.route,a);throw Error.captureStackTrace(d,b),(0,l.applyOwnerStack)(d),c.invalidDynamicUsageError??=d,d}case"unstable-cache":throw(0,k.createDraftModeMutationInUnstableCacheError)(c.route,a);case"prerender":case"prerender-runtime":{let b=Error(`Route ${c.route} used ${a} without first calling \`await connection()\`. See more info here: https://nextjs.org/docs/messages/next-prerender-sync-headers`);return(0,f.abortAndThrowOnSynchronousRequestDataAccess)(c.route,a,b,g)}case"prerender-client":case"validation-client":let d="`draftMode`";throw new j.InvariantError(`${d} must not be used within a Client Component. Next.js should be preventing ${d} from being included in Client Components statically, but did not in this case.`);case"prerender-legacy":g.revalidate=0;let e=new i.DynamicServerError(`Route ${c.route} couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);throw c.dynamicUsageDescription=a,c.dynamicUsageStack=e.stack,e;case"request":(0,f.trackDynamicDataInDynamicRender)(g);break;case"build-time-generator":throw Error(`Route ${c.route} used \`${a}\` inside \`${g.functionName}\`. This is not supported because \`${g.functionName}\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`)}}}(0,g.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Error(`${c}used ${b}. \`draftMode()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`)})},35754,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"headers",{enumerable:!0,get:function(){return n}});let d=a.r(29927),e=a.r(56704),f=a.r(32319),g=a.r(60384),h=a.r(60312),i=a.r(13091),j=a.r(8018),k=a.r(28091),l=a.r(50640),m=a.r(55907);function n(){let a="headers",b=e.workAsyncStorage.getStore(),c=f.workUnitAsyncStorage.getStore();if(b){if(c&&!(0,k.isRequestApiAllowedInCurrentPhase)(c))throw Error(`Route ${b.route} used \`headers()\` inside \`after()\` while rendering. This is not supported. If you need this data inside an \`after()\` callback, use \`headers()\` outside of the callback. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`);if(b.forceStatic)return p(d.HeadersAdapter.seal(new Headers({})));if(c)switch(c.type){case"cache":{let a=(0,m.createHeadersInUseCacheError)(b.route);throw Error.captureStackTrace(a,n),(0,i.applyOwnerStack)(a),b.invalidDynamicUsageError??=a,a}case"unstable-cache":throw(0,m.createHeadersInUnstableCacheError)(b.route);case"build-time-generator":throw Error(`Route ${b.route} used \`headers()\` inside \`${c.functionName}\`. This is not supported because \`${c.functionName}\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`)}if(b.dynamicShouldError)throw new h.StaticGenBailoutError(`Route ${b.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`headers()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);if(c)switch(c.type){case"prerender":var j=b,q=c;let e=o.get(q);if(e)return e;let f=(0,i.makeSessionDataHangingPromise)(q.renderSignal,j.route,"`headers()`",q);return o.set(q,f),f;case"prerender-client":case"validation-client":let r="`headers`";throw new l.InvariantError(`${r} must not be used within a client component. Next.js should be preventing ${r} from being included in client components statically, but did not in this case.`);case"prerender-legacy":return(0,g.throwToInterruptStaticGeneration)(a,b,c);case"prerender-runtime":{let{stagedRendering:a}=c;if(a)return a.delayUntilStage(i.RENDER_STAGES_BY_DATA_KIND.sessionData,"headers",c.headers);return p(c.headers)}case"private-cache":return p(c.headers);case"request":if((0,g.trackDynamicDataInDynamicRender)(c),c.asyncApiPromises)return c.asyncApiPromises.headers;return p(c.headers)}}(0,f.throwForMissingRequestStore)(a)}let o=new WeakMap;function p(a){let b=o.get(a);if(b)return b;let c=Promise.resolve(a);return o.set(a,c),c}(0,j.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Error(`${c}used ${b}. \`headers()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`)})},28091,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0});var d={isRequestApiAllowedInCurrentPhase:function(){return l},throwForSearchParamsAccessInUseCache:function(){return k},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(60312),g=a.r(20635),h=a.r(24725),i=a.r(55907);function j(a,b){throw new f.StaticGenBailoutError(`Route ${a} with \`dynamic = "error"\` couldn't be rendered statically because it used ${b}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`)}function k(a,b){let c=(0,i.createSearchParamsInUseCacheError)(a.route);throw Error.captureStackTrace(c,b),a.invalidDynamicUsageError??=c,c}function l(a){switch(a.phase){case"action":case"render":return!0;case"after":{let a=g.actionAsyncStorage.getStore();if(a&&(a.isAppRoute||a.isAction))return!0;let b=h.afterTaskAsyncStorage.getStore();if(b)return"action"===b.rootTaskSpawnPhase;return!1}}}},55907,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0});var d={createCacheLifeOutsideUseCacheError:function(){return B},createCacheTagOutsideUseCacheError:function(){return A},createConnectionInPrivateUseCacheError:function(){return q},createConnectionInPublicUseCacheError:function(){return p},createConnectionInUnstableCacheError:function(){return r},createCookiesInUnstableCacheError:function(){return l},createCookiesInUseCacheError:function(){return k},createDraftModeMutationInUnstableCacheError:function(){return v},createDraftModeMutationInUseCacheError:function(){return u},createHeadersInUnstableCacheError:function(){return n},createHeadersInUseCacheError:function(){return m},createNestedCacheShortExpireError:function(){return D},createNestedCacheZeroRevalidateError:function(){return C},createRevalidateDuringRenderError:function(){return w},createRevalidateInBuildTimeGeneratorError:function(){return y},createRevalidateInCachedFunctionError:function(){return x},createRouteHandlerRequestInUnstableCacheError:function(){return t},createRouteHandlerRequestInUseCacheError:function(){return s},createSearchParamsInUseCacheError:function(){return o},createUseCachePrivateInsidePublicUseCacheError:function(){return E},createUseCachePrivateInsideUnstableCacheError:function(){return F},createUseCachePrivateOutsideRequestContextError:function(){return G}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="https://nextjs.org/docs/messages/next-request-in-use-cache",g="https://nextjs.org/docs/app/api-reference/functions/unstable_cache",h="https://nextjs.org/docs/messages/use-cache-private-composition",i="https://nextjs.org/docs/messages/revalidate-in-use-cache",j="https://nextjs.org/docs/messages/nested-use-cache-no-explicit-cachelife";function k(a){return Error(`Route "${a}": \`cookies()\` can't be read inside \`"use cache"\`. Read it outside the cached function and pass what you need as an argument.
1
+ module.exports=[[35874,a=>{var b=a.i(36359),c=a.i(36119),d=a.i(41289),e=a.i(37936),f=a.i(2157),g=a.i(50227),h=a.i(5246),i=a.i(8674),j=a.i(21572);let k=new Set(["localhost","127.0.0.1","::1","[::1]","0:0:0:0:0:0:0:1"]);function l(a){let b=a.trim().toLowerCase();return!!b&&(!!k.has(b)||/^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(b))}var m=a.i(87481),n=a.i(55113),o=a.i(13095);let p="this request did not come from the dashboard in your browser, so nothing was written.",q="env-key-stand-in";async function r(){var a,b;let c;try{c=await (0,h.headers)()}catch{return p}let d=l((a=void 0,b=process.env.FAILPROOFAI_DASHBOARD_HOST,(a??b??"").trim()||"127.0.0.1")),e=c.get("host");if(d&&(!e||!l(function(a){let b=a.trim();if(b.startsWith("[")){let a=b.indexOf("]");return -1===a?b:b.slice(0,a+1)}let c=b.indexOf(":");return -1===c?b:b.slice(0,c)}(e))))return p;let f=c.get("origin");if(!f)return d?null:p;let g=null;try{g=new URL(f).host.toLowerCase()}catch{g=null}return g&&g===(e??"").toLowerCase()?null:p}function s(a){if(!a)return null;let b=(0,m.A)(a);if(!b.ok)return null;try{let a=new URL(b.value).origin;return"null"===a?null:a}catch{return null}}function t(a){let b=(0,g.dirname)(a);try{let a=511&(0,f.statSync)(b).mode;(18&a)!=0&&(0,f.chmodSync)(b,-19&a)}catch{}}async function u(a){let b=await r();if(b)return{ok:!1,problem:b};let c=a.provider.trim();if(!m.n.includes(c))return{ok:!1,problem:`provider must be one of ${m.n.join(", ")}`};if(c===m.e)return{ok:!1,problem:"FailproofAI Cloud's Jev is turned on by connecting this machine (failproofai config --token <key>), and switched with the mode control — not saved from this form."};let e=(0,m._)(a.mode);if(null===e)return{ok:!1,problem:'mode must be "off", "observe" or "enforce".'};let f=a.baseUrl.trim(),g=f?(0,m.A)(f):null;if(g&&!g.ok)return{ok:!1,problem:g.problem};let h=(0,m.Z)(),j=h?.raw??null,k=null!==j&&j.provider===c;if(g?.ok){let a=(0,m.A)(j?.baseUrl),b=k&&a.ok&&(0,m.T)(a.value).url===(0,m.T)(g.value).url,d=b?null:(0,m.O)(c,g.value);if(d)return{ok:!1,problem:`${d}.`};let e=b?null:(0,m.f)(g.value);if(e)return{ok:!1,problem:`that url is an endpoint, not an api base — its path ends in ${e.suffix}. ${(0,n.G)(g.value)} Use ${(0,m.T)(e.base).url} instead.`}}let l=k?{...j}:{};!k&&j&&(void 0!==j.mode&&(l.mode=j.mode),void 0!==j.timeoutMs&&(l.timeoutMs=j.timeoutMs)),l.provider=c,f?l.baseUrl=function(a,b){if("string"!=typeof b||""===b)return a;let c=(0,m.A)(b);if(!c.ok)return a;let d=(0,m.T)(c.value);if(!d.hadQuery)return a;let e=(0,m.A)(a);return e.ok&&e.value===d.url?c.value:a}(f,j?.baseUrl):delete l.baseUrl;let o=a.accountId.trim();"cloudflare"===c&&o?l.accountId=o:delete l.accountId,l.mode=e;let p=k&&h?.tooOpen!==!0&&s(f)===s("string"==typeof j?.baseUrl?j.baseUrl:""),u="string"==typeof j?.apiKey&&""!==j.apiKey,v=null!==j&&!u&&(0,m.P)(j,q).ok,w=a.token.trim();if(w){let a=(0,m.$)(w);if(a)return{ok:!1,problem:a,needsToken:!0};l.apiKey=w}else if(!p&&!v)return{ok:!1,needsToken:!0,problem:u?k&&h?.tooOpen===!0?`${(0,m.W)()} was open to other users, so the endpoint it names may not be one you chose and its stored token is not reused. check the endpoint above, then enter the token for it.`:k?"that endpoint is not the one the stored token was given for, so it is not sent there. enter the token for it.":"enter the token for this provider.":"enter the token for this provider."};let x=void 0===l.apiKey,y=(0,m.P)(l,x?q:null);if(!y.ok)return{ok:!1,problem:y.problem,...!0===y.missingKey?{needsToken:!0}:{}};let z=(0,m.W)();try{(0,i.f)(z,l,{mode:384,dirMode:448})}catch(a){return{ok:!1,problem:`could not write ${z} (${a.code??"error"}).`}}return t(z),{ok:!0,view:await (0,d.f)()}}async function v(a){let b=await r();if(b)return{ok:!1,problem:b};let c=(0,m._)(a);if(null===c)return{ok:!1,problem:'mode must be "off", "observe" or "enforce".'};if((0,j.M)())return{ok:!1,problem:j.H};let e=(0,m.Z)();if(null===e)return{ok:!1,problem:`there is no readable ${(0,m.W)()} to switch. connect this machine (failproofai config --token <key>) or set up your own endpoint below.`};if(e.tooOpen)return{ok:!1,problem:`${(0,m.W)()} is open to other users, so Jev is already off and the endpoint it names is not trusted. fix its permissions first (chmod 600, and chmod 700 on its directory).`};let f={...e.raw,mode:c},g=f.provider===m.e,h=(0,m.P)(f,g||"string"==typeof f.apiKey?null:q,g?{url:function(a){if("string"!=typeof a)return"";try{return new URL(a).origin}catch{return""}}(f.baseUrl),key:q}:null);if(!h.ok)return{ok:!1,problem:h.problem};let k=(0,m.W)();try{(0,i.f)(k,f,{mode:384,dirMode:448})}catch(a){return{ok:!1,problem:`could not write ${k} (${a.code??"error"}).`}}return t(k),{ok:!0,view:await (0,d.f)()}}async function w(){let a=await r();if(a)return{ok:!1,problem:a};let b=(0,m.W)();if((0,f.existsSync)(b))try{(0,f.unlinkSync)(b)}catch(a){return{ok:!1,problem:`could not remove ${b} (${a.code??"error"}).`}}return{ok:!0,view:await (0,d.f)()}}(0,o.ensureServerEntryExports)([u,v,w]),(0,e.registerServerReference)(u,"40367a3711a2809830da9a7bf2292a6bab38bad6fb",null),(0,e.registerServerReference)(v,"40ae43c5364070e504c861c3f03c46b201475b3b02",null),(0,e.registerServerReference)(w,"003c53cd5bbc001efc897ca1e19975148a294a401a",null);var x=a.i(81243);async function y(a){if(a&&!await (0,x.s)()){let a=(0,x.M)();return{ok:!1,reason:a&&1e3*a.refresh_expires_at>Date.now()?"unreachable":"signed-out"}}return{ok:!0,auto:(0,j.t)({audit:a?{auto:!0,reportsConsentedAt:Date.now()}:{auto:!1}}).audit.auto}}async function z(a){return(0,j.t)({audit:{intervalDays:a}}),{intervalDays:(0,j.s)().audit.intervalDays}}(0,o.ensureServerEntryExports)([y,z]),(0,e.registerServerReference)(y,"402be197203adadba7b4918e1995fadf9787341405",null),(0,e.registerServerReference)(z,"40c5ba9abd08f8d813424658db6c2d084e92bc7b66",null),a.s(["003a559f3d271119cc52526aa453f876d1d33ecbb1",()=>d.f,"003c53cd5bbc001efc897ca1e19975148a294a401a",0,w,"0085028ebdcdc7b05442823936e8301df482a2a84a",()=>b.f,"00c79e28570789986ae1d50a53934e133a5014d54d",()=>c.f,"402be197203adadba7b4918e1995fadf9787341405",0,y,"40367a3711a2809830da9a7bf2292a6bab38bad6fb",0,u,"40ae43c5364070e504c861c3f03c46b201475b3b02",0,v,"40c5ba9abd08f8d813424658db6c2d084e92bc7b66",0,z],35874)},8018,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createDedupedByCallsiteServerErrorLoggerDev",{enumerable:!0,get:function(){return i}});let d=function(a){if(a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var b=e(void 0);if(b&&b.has(a))return b.get(a);var c={__proto__:null},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!==f&&Object.prototype.hasOwnProperty.call(a,f)){var g=d?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(c,f,g):c[f]=a[f]}return c.default=a,b&&b.set(a,c),c}(a.r(717));function e(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(e=function(a){return a?c:b})(a)}let f={current:null},g="function"==typeof d.cache?d.cache:a=>a,h=console.warn;function i(a){return function(...b){h(a(...b))}}g(a=>{try{h(f.current)}finally{f.current=null}})},81740,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"cookies",{enumerable:!0,get:function(){return o}});let d=a.r(14896),e=a.r(63681),f=a.r(56704),g=a.r(32319),h=a.r(60384),i=a.r(60312),j=a.r(13091),k=a.r(8018),l=a.r(28091),m=a.r(50640),n=a.r(55907);function o(){let a="cookies",b=f.workAsyncStorage.getStore(),c=g.workUnitAsyncStorage.getStore();if(b){if(c&&!(0,l.isRequestApiAllowedInCurrentPhase)(c))throw Error(`Route ${b.route} used \`cookies()\` inside \`after()\` while rendering. This is not supported. If you need this data inside an \`after()\` callback, use \`cookies()\` outside of the callback. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`);if(b.forceStatic)return q(d.RequestCookiesAdapter.seal(new e.RequestCookies(new Headers({}))));if(b.dynamicShouldError)throw new i.StaticGenBailoutError(`Route ${b.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`cookies()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);if(c)switch(c.type){case"cache":let f=(0,n.createCookiesInUseCacheError)(b.route);throw Error.captureStackTrace(f,o),(0,j.applyOwnerStack)(f),b.invalidDynamicUsageError??=f,f;case"unstable-cache":throw(0,n.createCookiesInUnstableCacheError)(b.route);case"build-time-generator":throw Error(`Route ${b.route} used \`cookies()\` inside \`${c.functionName}\`. This is not supported because \`${c.functionName}\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`);case"prerender":var k=b,r=c;let g=p.get(r);if(g)return g;let s=(0,j.makeSessionDataHangingPromise)(r.renderSignal,k.route,"`cookies()`",r);return p.set(r,s),s;case"prerender-client":case"validation-client":let t="`cookies`";throw new m.InvariantError(`${t} must not be used within a Client Component. Next.js should be preventing ${t} from being included in Client Components statically, but did not in this case.`);case"prerender-legacy":return(0,h.throwToInterruptStaticGeneration)(a,b,c);case"prerender-runtime":{let{stagedRendering:a}=c;if(a)return a.delayUntilStage(j.RENDER_STAGES_BY_DATA_KIND.sessionData,"cookies",c.cookies);return q(c.cookies)}case"private-cache":return q(c.cookies);case"request":let u;if((0,h.trackDynamicDataInDynamicRender)(c),u=(0,d.areCookiesMutableInCurrentPhase)(c)?c.userspaceMutableCookies:c.cookies,!c.asyncApiPromises)return q(u);if(u===c.mutableCookies)return c.asyncApiPromises.mutableCookies;return c.asyncApiPromises.cookies}}(0,g.throwForMissingRequestStore)(a)}let p=new WeakMap;function q(a){let b=p.get(a);if(b)return b;let c=Promise.resolve(a);return p.set(a,c),c}(0,k.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Error(`${c}used ${b}. \`cookies()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`)})},51125,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"draftMode",{enumerable:!0,get:function(){return m}});let d=a.r(32319),e=a.r(56704),f=a.r(60384),g=a.r(8018),h=a.r(60312),i=a.r(96556),j=a.r(50640),k=a.r(55907);a.r(51409);let l=a.r(13091);function m(){let a="draftMode",b=e.workAsyncStorage.getStore(),c=d.workUnitAsyncStorage.getStore();switch((!b||!c)&&(0,d.throwForMissingRequestStore)(a),c.type){case"prerender-runtime":{let{stagedRendering:a}=c;if(a)return a.delayUntilStage(l.RENDER_STAGES_BY_DATA_KIND.sessionData,"draftMode",new q(c.draftMode));return n(c.draftMode,b)}case"request":return n(c.draftMode,b);case"cache":case"private-cache":case"unstable-cache":let f=(0,d.getDraftModeProviderForCacheScope)(b,c);if(f)return n(f,b);case"prerender":case"prerender-legacy":return n(null,b);case"prerender-client":case"validation-client":{let a="`draftMode`";throw new j.InvariantError(`${a} must not be used within a Client Component. Next.js should be preventing ${a} from being included in Client Components statically, but did not in this case.`)}case"build-time-generator":throw Error(`Route ${b.route} used \`${a}()\` inside \`${c.functionName}\`. This is not supported because \`${c.functionName}\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`);default:return c}}function n(a,b){let c=p.get(a??o);return c||Promise.resolve(new q(a))}let o={},p=new WeakMap;class q{constructor(a){this._provider=a}get isEnabled(){return null!==this._provider&&this._provider.isEnabled}enable(){r("draftMode().enable()",this.enable),null!==this._provider&&this._provider.enable()}disable(){r("draftMode().disable()",this.disable),null!==this._provider&&this._provider.disable()}}function r(a,b){let c=e.workAsyncStorage.getStore(),g=d.workUnitAsyncStorage.getStore();if(c){if((null==g?void 0:g.phase)==="after")throw Error(`Route ${c.route} used "${a}" inside \`after()\`. The enabled status of \`draftMode()\` can be read inside \`after()\` but you cannot enable or disable \`draftMode()\`. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`);if(c.dynamicShouldError)throw new h.StaticGenBailoutError(`Route ${c.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);if(g)switch(g.type){case"cache":case"private-cache":{let d=(0,k.createDraftModeMutationInUseCacheError)(c.route,a);throw Error.captureStackTrace(d,b),(0,l.applyOwnerStack)(d),c.invalidDynamicUsageError??=d,d}case"unstable-cache":throw(0,k.createDraftModeMutationInUnstableCacheError)(c.route,a);case"prerender":case"prerender-runtime":{let b=Error(`Route ${c.route} used ${a} without first calling \`await connection()\`. See more info here: https://nextjs.org/docs/messages/next-prerender-sync-headers`);return(0,f.abortAndThrowOnSynchronousRequestDataAccess)(c.route,a,b,g)}case"prerender-client":case"validation-client":let d="`draftMode`";throw new j.InvariantError(`${d} must not be used within a Client Component. Next.js should be preventing ${d} from being included in Client Components statically, but did not in this case.`);case"prerender-legacy":g.revalidate=0;let e=new i.DynamicServerError(`Route ${c.route} couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);throw c.dynamicUsageDescription=a,c.dynamicUsageStack=e.stack,e;case"request":(0,f.trackDynamicDataInDynamicRender)(g);break;case"build-time-generator":throw Error(`Route ${c.route} used \`${a}\` inside \`${g.functionName}\`. This is not supported because \`${g.functionName}\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`)}}}(0,g.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Error(`${c}used ${b}. \`draftMode()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`)})},35754,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"headers",{enumerable:!0,get:function(){return n}});let d=a.r(29927),e=a.r(56704),f=a.r(32319),g=a.r(60384),h=a.r(60312),i=a.r(13091),j=a.r(8018),k=a.r(28091),l=a.r(50640),m=a.r(55907);function n(){let a="headers",b=e.workAsyncStorage.getStore(),c=f.workUnitAsyncStorage.getStore();if(b){if(c&&!(0,k.isRequestApiAllowedInCurrentPhase)(c))throw Error(`Route ${b.route} used \`headers()\` inside \`after()\` while rendering. This is not supported. If you need this data inside an \`after()\` callback, use \`headers()\` outside of the callback. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`);if(b.forceStatic)return p(d.HeadersAdapter.seal(new Headers({})));if(c)switch(c.type){case"cache":{let a=(0,m.createHeadersInUseCacheError)(b.route);throw Error.captureStackTrace(a,n),(0,i.applyOwnerStack)(a),b.invalidDynamicUsageError??=a,a}case"unstable-cache":throw(0,m.createHeadersInUnstableCacheError)(b.route);case"build-time-generator":throw Error(`Route ${b.route} used \`headers()\` inside \`${c.functionName}\`. This is not supported because \`${c.functionName}\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`)}if(b.dynamicShouldError)throw new h.StaticGenBailoutError(`Route ${b.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`headers()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);if(c)switch(c.type){case"prerender":var j=b,q=c;let e=o.get(q);if(e)return e;let f=(0,i.makeSessionDataHangingPromise)(q.renderSignal,j.route,"`headers()`",q);return o.set(q,f),f;case"prerender-client":case"validation-client":let r="`headers`";throw new l.InvariantError(`${r} must not be used within a client component. Next.js should be preventing ${r} from being included in client components statically, but did not in this case.`);case"prerender-legacy":return(0,g.throwToInterruptStaticGeneration)(a,b,c);case"prerender-runtime":{let{stagedRendering:a}=c;if(a)return a.delayUntilStage(i.RENDER_STAGES_BY_DATA_KIND.sessionData,"headers",c.headers);return p(c.headers)}case"private-cache":return p(c.headers);case"request":if((0,g.trackDynamicDataInDynamicRender)(c),c.asyncApiPromises)return c.asyncApiPromises.headers;return p(c.headers)}}(0,f.throwForMissingRequestStore)(a)}let o=new WeakMap;function p(a){let b=o.get(a);if(b)return b;let c=Promise.resolve(a);return o.set(a,c),c}(0,j.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Error(`${c}used ${b}. \`headers()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`)})},28091,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0});var d={isRequestApiAllowedInCurrentPhase:function(){return l},throwForSearchParamsAccessInUseCache:function(){return k},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(60312),g=a.r(20635),h=a.r(24725),i=a.r(55907);function j(a,b){throw new f.StaticGenBailoutError(`Route ${a} with \`dynamic = "error"\` couldn't be rendered statically because it used ${b}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`)}function k(a,b){let c=(0,i.createSearchParamsInUseCacheError)(a.route);throw Error.captureStackTrace(c,b),a.invalidDynamicUsageError??=c,c}function l(a){switch(a.phase){case"action":case"render":return!0;case"after":{let a=g.actionAsyncStorage.getStore();if(a&&(a.isAppRoute||a.isAction))return!0;let b=h.afterTaskAsyncStorage.getStore();if(b)return"action"===b.rootTaskSpawnPhase;return!1}}}},55907,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0});var d={createCacheLifeOutsideUseCacheError:function(){return B},createCacheTagOutsideUseCacheError:function(){return A},createConnectionInPrivateUseCacheError:function(){return q},createConnectionInPublicUseCacheError:function(){return p},createConnectionInUnstableCacheError:function(){return r},createCookiesInUnstableCacheError:function(){return l},createCookiesInUseCacheError:function(){return k},createDraftModeMutationInUnstableCacheError:function(){return v},createDraftModeMutationInUseCacheError:function(){return u},createHeadersInUnstableCacheError:function(){return n},createHeadersInUseCacheError:function(){return m},createNestedCacheShortExpireError:function(){return D},createNestedCacheZeroRevalidateError:function(){return C},createRevalidateDuringRenderError:function(){return w},createRevalidateInBuildTimeGeneratorError:function(){return y},createRevalidateInCachedFunctionError:function(){return x},createRouteHandlerRequestInUnstableCacheError:function(){return t},createRouteHandlerRequestInUseCacheError:function(){return s},createSearchParamsInUseCacheError:function(){return o},createUseCachePrivateInsidePublicUseCacheError:function(){return E},createUseCachePrivateInsideUnstableCacheError:function(){return F},createUseCachePrivateOutsideRequestContextError:function(){return G}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="https://nextjs.org/docs/messages/next-request-in-use-cache",g="https://nextjs.org/docs/app/api-reference/functions/unstable_cache",h="https://nextjs.org/docs/messages/use-cache-private-composition",i="https://nextjs.org/docs/messages/revalidate-in-use-cache",j="https://nextjs.org/docs/messages/nested-use-cache-no-explicit-cachelife";function k(a){return Error(`Route "${a}": \`cookies()\` can't be read inside \`"use cache"\`. Read it outside the cached function and pass what you need as an argument.
2
2
  Learn more: ${f}`)}function l(a){return Error(`Route "${a}": \`cookies()\` can't be read inside \`unstable_cache()\`. Read it outside the cached function and pass what you need as an argument.
3
3
  Learn more: ${g}`)}function m(a){return Error(`Route "${a}": \`headers()\` can't be read inside \`"use cache"\`. Read it outside the cached function and pass what you need as an argument.
4
4
  Learn more: ${f}`)}function n(a){return Error(`Route "${a}": \`headers()\` can't be read inside \`unstable_cache()\`. Read it outside the cached function and pass what you need as an argument.
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[65967,a=>{var b=a.i(87924),c=a.i(7963),d=a.i(11330);a.s(["f",0,function({currentPage:a,totalPages:e,onPageChange:f}){if(e<=1)return null;let g=a=>`px-3 py-2 text-sm rounded-md transition-colors flex items-center gap-1 bg-muted text-muted-foreground ${a?"opacity-50 cursor-not-allowed":"hover:bg-muted/80"}`;return(0,b.jsxs)("div",{className:"flex items-center justify-center gap-2 py-4",children:[(0,b.jsxs)("button",{onClick:()=>f(a-1),disabled:1===a,className:g(1===a),"aria-label":"Previous page",children:[(0,b.jsx)(c.f,{className:"w-4 h-4"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:"Previous"})]}),(0,b.jsx)("div",{className:"flex items-center gap-1",children:(()=>{if(e<=7)return Array.from({length:e},(a,b)=>b+1);let b=[1],c=Math.max(2,a-1),d=Math.min(e-1,a+1);a<=3&&(d=Math.min(5,e-1)),a>=e-2&&(c=Math.max(2,e-4)),c>2&&b.push("ellipsis-start");for(let a=c;a<=d;a++)b.push(a);return d<e-1&&b.push("ellipsis-end"),b.push(e),b})().map(c=>"string"==typeof c?(0,b.jsx)("span",{className:"px-2 text-muted-foreground",children:"..."},c):(0,b.jsx)("button",{onClick:()=>f(c),className:`min-w-[2.5rem] px-3 py-2 text-sm rounded-md transition-colors ${a===c?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:bg-muted/80"}`,"aria-label":`Page ${c}`,"aria-current":a===c?"page":void 0,children:c},c))}),(0,b.jsxs)("button",{onClick:()=>f(a+1),disabled:a===e,className:g(a===e),"aria-label":"Next page",children:[(0,b.jsx)("span",{className:"hidden sm:inline",children:"Next"}),(0,b.jsx)(d.f,{className:"w-4 h-4"})]})]})}])},87256,a=>{let b={claude:{id:"claude",label:"Claude Code",badgeClasses:"bg-orange-500/10 text-orange-400 border-orange-500/20"},codex:{id:"codex",label:"OpenAI Codex",badgeClasses:"bg-purple-500/10 text-purple-400 border-purple-500/20"},copilot:{id:"copilot",label:"GitHub Copilot",badgeClasses:"bg-blue-500/10 text-blue-400 border-blue-500/20"},cursor:{id:"cursor",label:"Cursor Agent",badgeClasses:"bg-emerald-500/10 text-emerald-400 border-emerald-500/20"},opencode:{id:"opencode",label:"OpenCode",badgeClasses:"bg-amber-500/10 text-amber-400 border-amber-500/20"},pi:{id:"pi",label:"Pi",badgeClasses:"bg-pink-500/10 text-pink-400 border-pink-500/20"},hermes:{id:"hermes",label:"Hermes",badgeClasses:"bg-indigo-500/10 text-indigo-400 border-indigo-500/20"},openclaw:{id:"openclaw",label:"OpenClaw",badgeClasses:"bg-teal-500/10 text-teal-400 border-teal-500/20"},factory:{id:"factory",label:"Factory Droid",badgeClasses:"bg-rose-500/10 text-rose-400 border-rose-500/20"},devin:{id:"devin",label:"Devin CLI",badgeClasses:"bg-violet-500/10 text-violet-400 border-violet-500/20"},antigravity:{id:"antigravity",label:"Antigravity CLI",badgeClasses:"bg-cyan-500/10 text-cyan-400 border-cyan-500/20"},goose:{id:"goose",label:"Goose",badgeClasses:"bg-lime-500/10 text-lime-400 border-lime-500/20"}};a.s(["z",0,["claude","codex","copilot","cursor","opencode","pi","hermes","openclaw","factory","devin","antigravity","goose"],"G",0,function(a){return b[a]?.badgeClasses??b.claude.badgeClasses},"A",0,function(a){return b[a]?.label??a},"U",0,function(a){return"string"==typeof a&&Object.prototype.hasOwnProperty.call(b,a)}])},90619,95947,a=>{var b=a.i(50944),c=a.i(72131);function d(a){let b=a.getFullYear(),c=String(a.getMonth()+1).padStart(2,"0"),d=String(a.getDate()).padStart(2,"0");return`${b}-${c}-${d}`}function e(a){var b;if(!a||(b=a,!/^\d{4}-\d{2}-\d{2}$/.test(b)||isNaN(Date.parse(b))))return null;let[c,d,e]=a.split("-").map(Number);return new Date(c,d-1,e,12,0,0)}a.s(["f",0,function(){let a=(0,b.useSearchParams)(),d=(0,b.useRouter)(),e=(0,b.usePathname)(),f=(0,c.useRef)(null),g=(0,c.useCallback)(b=>a.get(b),[a]),h=(0,c.useCallback)(()=>new URLSearchParams(a.toString()),[a]),i=(0,c.useCallback)(b=>{f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{let c=new URLSearchParams(a.toString());for(let[a,d]of Object.entries(b))void 0===d||""===d?c.delete(a):c.set(a,d);let f=c.toString(),g=f?`${e}?${f}`:e;d.replace(g,{scroll:!1})},150)},[a,e,d]);return(0,c.useEffect)(()=>()=>{f.current&&clearTimeout(f.current)},[]),{get:g,getAll:h,setAll:i}}],90619),a.s(["V",0,function(a){let b={};return a.from&&(b.from=d(a.from)),a.to&&(b.to=d(a.to)),b},"l",0,function(a){if(0!==a.length)return a.map(a=>encodeURIComponent(a)).join(",")},"t",0,function(a){return a<=1?void 0:String(a)},"w",0,function(a){return a?a.split(",").map(a=>decodeURIComponent(a.trim())).filter(a=>a.length>0):[]},"m",0,function(a){if(!a)return 1;let b=parseInt(a,10);return Number.isFinite(b)&&b>=1?b:1},"S",0,function(a){return a&&["all","last-hour","today","last-7-days","last-30-days","custom"].includes(a)?a:"all"},"R",0,function(a,b){return{from:e(a),to:e(b)}},"$",0,function(a){return"all"===a?void 0:a}],95947)},7963,a=>{var b=a.i(64831);let c={name:"chevron-left",size:24,node:[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]};c.node;let d=(0,b.f)(c);a.s(["f",0,d],7963)},11330,a=>{var b=a.i(64831);let c={name:"chevron-right",size:24,node:[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]};c.node;let d=(0,b.f)(c);a.s(["f",0,d],11330)}]})();
1
+ (()=>{"use strict";module.exports=[65967,a=>{var b=a.i(87924),c=a.i(7963),d=a.i(41146);a.s(["f",0,function({currentPage:a,totalPages:e,onPageChange:f}){if(e<=1)return null;let g=a=>`px-3 py-2 text-sm rounded-md transition-colors flex items-center gap-1 bg-muted text-muted-foreground ${a?"opacity-50 cursor-not-allowed":"hover:bg-muted/80"}`;return(0,b.jsxs)("div",{className:"flex items-center justify-center gap-2 py-4",children:[(0,b.jsxs)("button",{onClick:()=>f(a-1),disabled:1===a,className:g(1===a),"aria-label":"Previous page",children:[(0,b.jsx)(c.f,{className:"w-4 h-4"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:"Previous"})]}),(0,b.jsx)("div",{className:"flex items-center gap-1",children:(()=>{if(e<=7)return Array.from({length:e},(a,b)=>b+1);let b=[1],c=Math.max(2,a-1),d=Math.min(e-1,a+1);a<=3&&(d=Math.min(5,e-1)),a>=e-2&&(c=Math.max(2,e-4)),c>2&&b.push("ellipsis-start");for(let a=c;a<=d;a++)b.push(a);return d<e-1&&b.push("ellipsis-end"),b.push(e),b})().map(c=>"string"==typeof c?(0,b.jsx)("span",{className:"px-2 text-muted-foreground",children:"..."},c):(0,b.jsx)("button",{onClick:()=>f(c),className:`min-w-[2.5rem] px-3 py-2 text-sm rounded-md transition-colors ${a===c?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:bg-muted/80"}`,"aria-label":`Page ${c}`,"aria-current":a===c?"page":void 0,children:c},c))}),(0,b.jsxs)("button",{onClick:()=>f(a+1),disabled:a===e,className:g(a===e),"aria-label":"Next page",children:[(0,b.jsx)("span",{className:"hidden sm:inline",children:"Next"}),(0,b.jsx)(d.f,{className:"w-4 h-4"})]})]})}])},87256,a=>{let b={claude:{id:"claude",label:"Claude Code",badgeClasses:"bg-orange-500/10 text-orange-400 border-orange-500/20"},codex:{id:"codex",label:"OpenAI Codex",badgeClasses:"bg-purple-500/10 text-purple-400 border-purple-500/20"},copilot:{id:"copilot",label:"GitHub Copilot",badgeClasses:"bg-blue-500/10 text-blue-400 border-blue-500/20"},cursor:{id:"cursor",label:"Cursor Agent",badgeClasses:"bg-emerald-500/10 text-emerald-400 border-emerald-500/20"},opencode:{id:"opencode",label:"OpenCode",badgeClasses:"bg-amber-500/10 text-amber-400 border-amber-500/20"},pi:{id:"pi",label:"Pi",badgeClasses:"bg-pink-500/10 text-pink-400 border-pink-500/20"},hermes:{id:"hermes",label:"Hermes",badgeClasses:"bg-indigo-500/10 text-indigo-400 border-indigo-500/20"},openclaw:{id:"openclaw",label:"OpenClaw",badgeClasses:"bg-teal-500/10 text-teal-400 border-teal-500/20"},factory:{id:"factory",label:"Factory Droid",badgeClasses:"bg-rose-500/10 text-rose-400 border-rose-500/20"},devin:{id:"devin",label:"Devin CLI",badgeClasses:"bg-violet-500/10 text-violet-400 border-violet-500/20"},antigravity:{id:"antigravity",label:"Antigravity CLI",badgeClasses:"bg-cyan-500/10 text-cyan-400 border-cyan-500/20"},goose:{id:"goose",label:"Goose",badgeClasses:"bg-lime-500/10 text-lime-400 border-lime-500/20"}};a.s(["z",0,["claude","codex","copilot","cursor","opencode","pi","hermes","openclaw","factory","devin","antigravity","goose"],"G",0,function(a){return b[a]?.badgeClasses??b.claude.badgeClasses},"A",0,function(a){return b[a]?.label??a},"U",0,function(a){return"string"==typeof a&&Object.prototype.hasOwnProperty.call(b,a)}])},90619,95947,a=>{var b=a.i(50944),c=a.i(72131);function d(a){let b=a.getFullYear(),c=String(a.getMonth()+1).padStart(2,"0"),d=String(a.getDate()).padStart(2,"0");return`${b}-${c}-${d}`}function e(a){var b;if(!a||(b=a,!/^\d{4}-\d{2}-\d{2}$/.test(b)||isNaN(Date.parse(b))))return null;let[c,d,e]=a.split("-").map(Number);return new Date(c,d-1,e,12,0,0)}a.s(["f",0,function(){let a=(0,b.useSearchParams)(),d=(0,b.useRouter)(),e=(0,b.usePathname)(),f=(0,c.useRef)(null),g=(0,c.useCallback)(b=>a.get(b),[a]),h=(0,c.useCallback)(()=>new URLSearchParams(a.toString()),[a]),i=(0,c.useCallback)(b=>{f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{let c=new URLSearchParams(a.toString());for(let[a,d]of Object.entries(b))void 0===d||""===d?c.delete(a):c.set(a,d);let f=c.toString(),g=f?`${e}?${f}`:e;d.replace(g,{scroll:!1})},150)},[a,e,d]);return(0,c.useEffect)(()=>()=>{f.current&&clearTimeout(f.current)},[]),{get:g,getAll:h,setAll:i}}],90619),a.s(["V",0,function(a){let b={};return a.from&&(b.from=d(a.from)),a.to&&(b.to=d(a.to)),b},"l",0,function(a){if(0!==a.length)return a.map(a=>encodeURIComponent(a)).join(",")},"t",0,function(a){return a<=1?void 0:String(a)},"w",0,function(a){return a?a.split(",").map(a=>decodeURIComponent(a.trim())).filter(a=>a.length>0):[]},"m",0,function(a){if(!a)return 1;let b=parseInt(a,10);return Number.isFinite(b)&&b>=1?b:1},"S",0,function(a){return a&&["all","last-hour","today","last-7-days","last-30-days","custom"].includes(a)?a:"all"},"R",0,function(a,b){return{from:e(a),to:e(b)}},"$",0,function(a){return"all"===a?void 0:a}],95947)},7963,a=>{var b=a.i(64831);let c={name:"chevron-left",size:24,node:[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]};c.node;let d=(0,b.f)(c);a.s(["f",0,d],7963)},41146,a=>{var b=a.i(64831);let c={name:"chevron-right",size:24,node:[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]};c.node;let d=(0,b.f)(c);a.s(["f",0,d],41146)}]})();
2
2
 
3
3
  //# sourceMappingURL=_0mouhaflye1ro._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[21776,a=>{"use strict";var b=a.i(36359),c=a.i(7292);a.S([b,"00728227e41042729b3182aad2fe4c5d77f021b514,f",0,c,"6052b34d2e59825e93c0f9f6841554b4a903623a89,m"],21776)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__12qr51qgrrt6o._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuznb72p7z._.js"].map(b=>a.l(b))).then(()=>b(74493)))}];
1
+ module.exports=[21776,a=>{"use strict";var b=a.i(36359),c=a.i(7292);a.S([b,"0085028ebdcdc7b05442823936e8301df482a2a84a,f",0,c,"60ee72ce0b206ad2278e6b42ce4bf3e99600218213,m"],21776)},2726,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__12qr51qgrrt6o._.js","server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuznb72p7z._.js"].map(b=>a.l(b))).then(()=>b(74493)))}];
2
2
 
3
3
  //# sourceMappingURL=_0pedwblqdoh58._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[19121,a=>{var b=a.i(5050);let c=(0,b.createServerReference)("00728227e41042729b3182aad2fe4c5d77f021b514",b.callServer,void 0,b.findSourceMapURL,"getTelemetryConfig");a.s(["f",0,c])},18952,a=>{var b=a.i(87924),c=a.i(72131);let d=[],e=0,f=new Set;function g(){for(let a of f)a()}function h(a){return f.add(a),()=>f.delete(a)}function i(){return d}function j({message:a}){let[d,e]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{requestAnimationFrame(()=>e(!0));let a=setTimeout(()=>e(!1),2e3);return()=>clearTimeout(a)},[]),(0,b.jsx)("div",{className:`bg-card border border-border text-foreground text-sm px-4 py-2 rounded-lg shadow-lg transition-opacity duration-300 ${d?"opacity-100":"opacity-0"}`,children:a})}a.s(["Toaster",0,function(){let a=(0,c.useSyncExternalStore)(h,i,i);return(0,b.jsx)("div",{className:"fixed bottom-4 right-4 z-50 flex flex-col gap-2",children:a.map(a=>(0,b.jsx)(j,{message:a.message},a.id))})},"toast",0,function(a){let b=e++;d=[...d,{id:b,message:a}],g(),setTimeout(()=>{d=d.filter(a=>a.id!==b),g()},2500)}])},10765,a=>{var b=a.i(87924),c=a.i(72131),d=a.i(50944),e=a.i(19121),f=a.i(66036);let g=(0,c.createContext)(void 0);a.s(["PostHogProvider",0,function({children:a}){let h=(0,d.usePathname)(),i=(0,c.useRef)(null),j=(0,c.useRef)(!1);(0,c.useEffect)(()=>{let a=!1;return(0,e.f)().then(b=>{a||((0,f.$)(b),j.current=!0,(0,f.L)("$pageview"),i.current=window.location.pathname)}),()=>{a=!0}},[]),(0,c.useEffect)(()=>{j.current&&i.current!==h&&(i.current=h,(0,f.L)("$pageview"))},[h]);let k=c.default.useCallback((a,b)=>{(0,f.L)(a,b)},[]);return(0,b.jsx)(g.Provider,{value:{capture:k},children:a})},"usePostHog",0,function(){let a=(0,c.useContext)(g);if(void 0===a)throw Error("usePostHog must be used within a PostHogProvider");return a}])},66036,a=>{a.s(["L",0,function(a,b){},"$",0,function(a){}])},5050,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0});var d={callServer:function(){return f.callServer},createServerReference:function(){return h.createServerReference},findSourceMapURL:function(){return g.findSourceMapURL}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(20611),g=a.r(1722),h=a.r(38783)}]})();
1
+ (()=>{"use strict";module.exports=[33150,a=>{var b=a.i(5050);let c=(0,b.createServerReference)("0085028ebdcdc7b05442823936e8301df482a2a84a",b.callServer,void 0,b.findSourceMapURL,"getTelemetryConfig");a.s(["f",0,c])},18952,a=>{var b=a.i(87924),c=a.i(72131);let d=[],e=0,f=new Set;function g(){for(let a of f)a()}function h(a){return f.add(a),()=>f.delete(a)}function i(){return d}function j({message:a}){let[d,e]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{requestAnimationFrame(()=>e(!0));let a=setTimeout(()=>e(!1),2e3);return()=>clearTimeout(a)},[]),(0,b.jsx)("div",{className:`bg-card border border-border text-foreground text-sm px-4 py-2 rounded-lg shadow-lg transition-opacity duration-300 ${d?"opacity-100":"opacity-0"}`,children:a})}a.s(["Toaster",0,function(){let a=(0,c.useSyncExternalStore)(h,i,i);return(0,b.jsx)("div",{className:"fixed bottom-4 right-4 z-50 flex flex-col gap-2",children:a.map(a=>(0,b.jsx)(j,{message:a.message},a.id))})},"toast",0,function(a){let b=e++;d=[...d,{id:b,message:a}],g(),setTimeout(()=>{d=d.filter(a=>a.id!==b),g()},2500)}])},10765,a=>{var b=a.i(87924),c=a.i(72131),d=a.i(50944),e=a.i(33150),f=a.i(66036);let g=(0,c.createContext)(void 0);a.s(["PostHogProvider",0,function({children:a}){let h=(0,d.usePathname)(),i=(0,c.useRef)(null),j=(0,c.useRef)(!1);(0,c.useEffect)(()=>{let a=!1;return(0,e.f)().then(b=>{a||((0,f.$)(b),j.current=!0,(0,f.L)("$pageview"),i.current=window.location.pathname)}),()=>{a=!0}},[]),(0,c.useEffect)(()=>{j.current&&i.current!==h&&(i.current=h,(0,f.L)("$pageview"))},[h]);let k=c.default.useCallback((a,b)=>{(0,f.L)(a,b)},[]);return(0,b.jsx)(g.Provider,{value:{capture:k},children:a})},"usePostHog",0,function(){let a=(0,c.useContext)(g);if(void 0===a)throw Error("usePostHog must be used within a PostHogProvider");return a}])},66036,a=>{a.s(["L",0,function(a,b){},"$",0,function(a){}])},5050,(a,b,c)=>{Object.defineProperty(c,"__esModule",{value:!0});var d={callServer:function(){return f.callServer},createServerReference:function(){return h.createServerReference},findSourceMapURL:function(){return g.findSourceMapURL}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(20611),g=a.r(1722),h=a.r(38783)}]})();
2
2
 
3
- //# sourceMappingURL=_1fw0_nzkae5ao._.js.map
3
+ //# sourceMappingURL=_1d98fyfrcaqhy._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[45550,a=>{var b=a.i(72131),c=a.i(66036);let d=/\b[\w-]+-extension:\/\//i;function e(a){return"app"===function({stack:a,filename:b,appOrigin:c}){let e=[b,a].filter(Boolean).join("\n");return e.trim()?d.test(e)?"extension":c&&e.includes(c)?"app":"unknown":"unknown"}(a)}a.s(["GlobalErrorListeners",0,function(){return(0,b.useEffect)(()=>{let a=a=>{e({stack:a.error?.stack,filename:a.filename,appOrigin:window.location.origin})&&(0,c.L)("unhandled_exception",{error_message:a.message,error_name:a.error?.name,error_filename:a.filename,error_lineno:a.lineno,error_colno:a.colno})},b=a=>{let b=a.reason;e({stack:b instanceof Error?b.stack:void 0,appOrigin:window.location.origin})&&(0,c.L)("unhandled_rejection",{error_message:b instanceof Error?b.message:String(b),error_name:b instanceof Error?b.name:void 0})};return window.addEventListener("error",a),window.addEventListener("unhandledrejection",b),()=>{window.removeEventListener("error",a),window.removeEventListener("unhandledrejection",b)}},[]),null}],45550)},10815,a=>{var b=a.i(87924),c=a.i(38246),d=a.i(50944),e=a.i(41476),f=a.i(72131),g=a.i(64831);let h={name:"git-branch",size:24,node:[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]]};h.node;let i=(0,g.f)(h);var j=a.i(89027);let k={name:"star",size:24,node:[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]};k.node;let l=(0,g.f)(k),m={name:"book-open",size:24,node:[["path",{d:"M12 5v16",key:"1f6ucr"}],["path",{d:"M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z",key:"1fyvmf"}]]};m.node;let n=(0,g.f)(m),o={name:"message-circle",size:24,node:[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}]]};o.node;let p=(0,g.f)(o),q={name:"messages-square",size:24,node:[["path",{d:"M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z",key:"1n2ejm"}],["path",{d:"M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1",key:"1qfcsi"}]]};q.node;let r=(0,g.f)(q),s={name:"message-square-warning",size:24,node:[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M12 15h.01",key:"q59x07"}],["path",{d:"M12 7v4",key:"xawao1"}]]};s.node;let t=(0,g.f)(s);var u=a.i(40695);let v="failproofai@exosphere.host",w=[{label:"Star us on GitHub",icon:l,href:"https://github.com/failproofai/failproofai",color:"#f5c842",bg:"rgba(245,200,66,0.08)"},{label:"Documentation",icon:n,href:"https://docs.befailproof.ai/introduction",color:"#60a5fa",bg:"rgba(96,165,250,0.08)"},{label:"Join our Discord",icon:p,href:"https://discord.befailproof.ai/",color:"#5865f2",bg:"rgba(88,101,242,0.08)"},{label:"Join r/failproofai",icon:r,href:"https://www.reddit.com/r/failproofai/",color:"#ff4500",bg:"rgba(255,69,0,0.08)"},{label:"Feedback & Issues",icon:t,href:"https://github.com/FailproofAI/failproofai/issues/new/choose",color:"#34d399",bg:"rgba(52,211,153,0.08)"}],x=()=>{let[a,c]=(0,f.useState)(!1),d=(0,f.useCallback)(()=>c(!1),[]),e=(0,f.useCallback)(a=>{"Escape"===a.key&&c(!1)},[]);return(0,b.jsxs)("div",{className:"relative",onKeyDown:e,children:[a&&(0,b.jsx)("div",{className:"fixed inset-0 z-40",onClick:d,"aria-hidden":"true"}),(0,b.jsxs)(u.f,{type:"button",variant:"ghost",size:"sm",onClick:()=>c(a=>!a),"aria-expanded":a,"aria-haspopup":"true",className:"relative z-50 flex items-center gap-1.5 text-muted-foreground hover:text-foreground",children:[(0,b.jsx)(i,{className:"h-4 w-4"}),(0,b.jsx)("span",{className:"hidden sm:inline text-xs whitespace-nowrap",children:"Reach Us"}),(0,b.jsx)(j.f,{className:`h-3 w-3 transition-transform ${a?"rotate-180":""}`})]}),a&&(0,b.jsxs)("div",{className:"absolute right-0 mt-2 w-60 rounded-lg border border-border bg-card shadow-xl z-50",role:"menu",style:{boxShadow:"0 8px 32px rgba(0,0,0,0.45), 0 0 0 1px rgba(255,255,255,0.04)"},children:[(0,b.jsxs)("div",{className:"px-3 py-2.5 border-b border-border",style:{background:"linear-gradient(135deg, rgba(236,72,153,0.12) 0%, rgba(139,92,246,0.08) 100%)"},children:[(0,b.jsx)("p",{className:"text-xs font-semibold",style:{color:"#e879f9",letterSpacing:"0.06em"},children:"Reach Developers"}),(0,b.jsx)("p",{className:"text-[0.65rem] text-muted-foreground mt-0.5",children:"We'd love to hear from you"})]}),(0,b.jsx)("div",{className:"py-1",children:w.map(({label:a,icon:c,href:e,color:f,bg:g})=>(0,b.jsxs)("a",{href:e,target:"_blank",rel:"noopener noreferrer",role:"menuitem",className:"flex items-center gap-2.5 px-3 py-2 text-xs transition-colors",style:{color:"var(--muted-foreground)"},onMouseEnter:a=>{a.currentTarget.style.background=g,a.currentTarget.style.color=f},onMouseLeave:a=>{a.currentTarget.style.background="",a.currentTarget.style.color=""},onClick:d,children:[(0,b.jsx)(c,{className:"h-3.5 w-3.5 flex-shrink-0",style:{color:f}}),a]},a))}),(0,b.jsx)("div",{className:"px-3 py-2 border-t border-border",style:{background:"rgba(0,0,0,0.2)"},children:(0,b.jsxs)("p",{className:"text-[0.65rem] text-muted-foreground",children:["or email"," ",(0,b.jsx)("a",{href:`mailto:${v}`,className:"transition-colors",style:{color:"#e879f9"},onMouseEnter:a=>a.currentTarget.style.opacity="0.75",onMouseLeave:a=>a.currentTarget.style.opacity="1",children:v})]})})]})]})},y={name:"refresh-cw",size:24,node:[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]};y.node;let z=(0,g.f)(y);var A=a.i(97895),B=a.i(6236);let C=[{label:"Off",value:0},{label:"5s",value:5},{label:"10s",value:10},{label:"30s",value:30}];function D({className:a}){let c=(0,d.useRouter)(),[e,g]=(0,f.useTransition)(),{intervalSec:h,setIntervalSec:i}=(0,B.useAutoRefresh)(),j=(0,f.useCallback)(()=>{g(()=>c.refresh())},[c]);(0,f.useEffect)(()=>{if(h<=0)return;let a=setInterval(j,1e3*h);return()=>clearInterval(a)},[h,j]);let k=h>0;return(0,b.jsxs)("div",{className:(0,A.f)("inline-flex items-center rounded-lg border border-border bg-muted/50 p-0.5 gap-0.5",a),children:[(0,b.jsx)("button",{onClick:j,title:"Refresh",className:(0,A.f)("inline-flex items-center justify-center rounded-md p-1.5 transition-colors",k?"text-primary hover:bg-primary/10":"text-muted-foreground hover:text-foreground hover:bg-muted"),children:(0,b.jsx)(z,{className:(0,A.f)("w-3.5 h-3.5",e&&"animate-spin")})}),(0,b.jsx)("div",{className:"w-px h-4 bg-border"}),(0,b.jsx)("div",{className:"inline-flex items-center gap-0.5",role:"group","aria-label":"Auto-refresh interval",children:C.map(a=>(0,b.jsx)("button",{onClick:()=>i(a.value),"aria-pressed":h===a.value,className:(0,A.f)("px-2 py-1 text-[11px] font-medium rounded-md transition-colors",h===a.value?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground hover:bg-muted"),children:a.label},a.value))})]})}var E=a.i(10765);let F=[{href:"/projects",label:"projects"},{href:"/policies",label:"policies"},{href:"/audit",label:"audit"}];a.s(["Navbar",0,({disabledPages:a=[]})=>{let f=(0,d.usePathname)(),{capture:g}=(0,E.usePostHog)(),h=f.startsWith("/policies")?"policies":f.startsWith("/audit")?"audit":f.startsWith("/settings")?"settings":f.startsWith("/projects")||f.startsWith("/project/")?"projects":"";return(0,b.jsxs)("header",{className:"app-header",children:[(0,b.jsx)("a",{href:"https://github.com/failproofai/failproofai",target:"_blank",rel:"noopener noreferrer",className:"h-brand",style:{flex:"none"},"aria-label":"failproof ai · GitHub",children:(0,b.jsx)("img",{src:"/logo.svg",alt:"failproof_ai",style:{height:18,display:"block",flexShrink:0}})}),(0,b.jsx)("nav",{className:"tabs",style:{border:"none",padding:0,gap:0},children:F.filter(({href:b})=>{let c=b.slice(1);return!a.includes(c)}).map(({href:a,label:d})=>{let e="/projects"===a?"/projects"===f||f.startsWith("/project/"):f.startsWith(a);return(0,b.jsx)(c.default,{href:a,className:`tab${e?" is-active":""}`,"aria-current":e?"page":void 0,onClick:()=>{"/audit"===a&&g("audit_nav_clicked",{from_path:f,is_active_tab:e})},children:d},a)})}),(0,b.jsx)("div",{style:{flex:1}}),(0,b.jsxs)("div",{className:"h-meta",children:[(0,b.jsxs)("span",{className:"h-version",children:["v","1.0.12-beta.2"]}),h&&(0,b.jsx)("span",{className:"h-brand-sep","aria-hidden":"true",children:"·"}),h&&(0,b.jsx)("span",{className:"h-brand-section",children:h})]}),(0,b.jsxs)("div",{className:"h-actions",children:[(0,b.jsx)(D,{}),(0,b.jsx)("span",{style:{width:1,height:18,background:"var(--line)",margin:"0 6px"}}),!a.includes("settings")&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(c.default,{href:"/settings",className:`h-icon-btn${f.startsWith("/settings")?" is-active":""}`,"aria-label":"settings","aria-current":f.startsWith("/settings")?"page":void 0,title:"settings",children:(0,b.jsx)(e.f,{className:"w-3.5 h-3.5",strokeWidth:1.75,"aria-hidden":"true"})}),(0,b.jsx)("span",{style:{width:1,height:18,background:"var(--line)",margin:"0 6px"}})]}),(0,b.jsx)(x,{})]})]})}],10815)}]})();
1
+ (()=>{"use strict";module.exports=[45550,a=>{var b=a.i(72131),c=a.i(66036);let d=/\b[\w-]+-extension:\/\//i;function e(a){return"app"===function({stack:a,filename:b,appOrigin:c}){let e=[b,a].filter(Boolean).join("\n");return e.trim()?d.test(e)?"extension":c&&e.includes(c)?"app":"unknown":"unknown"}(a)}a.s(["GlobalErrorListeners",0,function(){return(0,b.useEffect)(()=>{let a=a=>{e({stack:a.error?.stack,filename:a.filename,appOrigin:window.location.origin})&&(0,c.L)("unhandled_exception",{error_message:a.message,error_name:a.error?.name,error_filename:a.filename,error_lineno:a.lineno,error_colno:a.colno})},b=a=>{let b=a.reason;e({stack:b instanceof Error?b.stack:void 0,appOrigin:window.location.origin})&&(0,c.L)("unhandled_rejection",{error_message:b instanceof Error?b.message:String(b),error_name:b instanceof Error?b.name:void 0})};return window.addEventListener("error",a),window.addEventListener("unhandledrejection",b),()=>{window.removeEventListener("error",a),window.removeEventListener("unhandledrejection",b)}},[]),null}],45550)},10815,a=>{var b=a.i(87924),c=a.i(38246),d=a.i(50944),e=a.i(41476),f=a.i(72131),g=a.i(64831);let h={name:"git-branch",size:24,node:[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]]};h.node;let i=(0,g.f)(h);var j=a.i(89027);let k={name:"star",size:24,node:[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]};k.node;let l=(0,g.f)(k),m={name:"book-open",size:24,node:[["path",{d:"M12 5v16",key:"1f6ucr"}],["path",{d:"M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z",key:"1fyvmf"}]]};m.node;let n=(0,g.f)(m),o={name:"message-circle",size:24,node:[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}]]};o.node;let p=(0,g.f)(o),q={name:"messages-square",size:24,node:[["path",{d:"M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z",key:"1n2ejm"}],["path",{d:"M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1",key:"1qfcsi"}]]};q.node;let r=(0,g.f)(q),s={name:"message-square-warning",size:24,node:[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M12 15h.01",key:"q59x07"}],["path",{d:"M12 7v4",key:"xawao1"}]]};s.node;let t=(0,g.f)(s);var u=a.i(40695);let v="failproofai@exosphere.host",w=[{label:"Star us on GitHub",icon:l,href:"https://github.com/failproofai/failproofai",color:"#f5c842",bg:"rgba(245,200,66,0.08)"},{label:"Documentation",icon:n,href:"https://docs.befailproof.ai/introduction",color:"#60a5fa",bg:"rgba(96,165,250,0.08)"},{label:"Join our Discord",icon:p,href:"https://discord.befailproof.ai/",color:"#5865f2",bg:"rgba(88,101,242,0.08)"},{label:"Join r/failproofai",icon:r,href:"https://www.reddit.com/r/failproofai/",color:"#ff4500",bg:"rgba(255,69,0,0.08)"},{label:"Feedback & Issues",icon:t,href:"https://github.com/FailproofAI/failproofai/issues/new/choose",color:"#34d399",bg:"rgba(52,211,153,0.08)"}],x=()=>{let[a,c]=(0,f.useState)(!1),d=(0,f.useCallback)(()=>c(!1),[]),e=(0,f.useCallback)(a=>{"Escape"===a.key&&c(!1)},[]);return(0,b.jsxs)("div",{className:"relative",onKeyDown:e,children:[a&&(0,b.jsx)("div",{className:"fixed inset-0 z-40",onClick:d,"aria-hidden":"true"}),(0,b.jsxs)(u.f,{type:"button",variant:"ghost",size:"sm",onClick:()=>c(a=>!a),"aria-expanded":a,"aria-haspopup":"true",className:"relative z-50 flex items-center gap-1.5 text-muted-foreground hover:text-foreground",children:[(0,b.jsx)(i,{className:"h-4 w-4"}),(0,b.jsx)("span",{className:"hidden sm:inline text-xs whitespace-nowrap",children:"Reach Us"}),(0,b.jsx)(j.f,{className:`h-3 w-3 transition-transform ${a?"rotate-180":""}`})]}),a&&(0,b.jsxs)("div",{className:"absolute right-0 mt-2 w-60 rounded-lg border border-border bg-card shadow-xl z-50",role:"menu",style:{boxShadow:"0 8px 32px rgba(0,0,0,0.45), 0 0 0 1px rgba(255,255,255,0.04)"},children:[(0,b.jsxs)("div",{className:"px-3 py-2.5 border-b border-border",style:{background:"linear-gradient(135deg, rgba(236,72,153,0.12) 0%, rgba(139,92,246,0.08) 100%)"},children:[(0,b.jsx)("p",{className:"text-xs font-semibold",style:{color:"#e879f9",letterSpacing:"0.06em"},children:"Reach Developers"}),(0,b.jsx)("p",{className:"text-[0.65rem] text-muted-foreground mt-0.5",children:"We'd love to hear from you"})]}),(0,b.jsx)("div",{className:"py-1",children:w.map(({label:a,icon:c,href:e,color:f,bg:g})=>(0,b.jsxs)("a",{href:e,target:"_blank",rel:"noopener noreferrer",role:"menuitem",className:"flex items-center gap-2.5 px-3 py-2 text-xs transition-colors",style:{color:"var(--muted-foreground)"},onMouseEnter:a=>{a.currentTarget.style.background=g,a.currentTarget.style.color=f},onMouseLeave:a=>{a.currentTarget.style.background="",a.currentTarget.style.color=""},onClick:d,children:[(0,b.jsx)(c,{className:"h-3.5 w-3.5 flex-shrink-0",style:{color:f}}),a]},a))}),(0,b.jsx)("div",{className:"px-3 py-2 border-t border-border",style:{background:"rgba(0,0,0,0.2)"},children:(0,b.jsxs)("p",{className:"text-[0.65rem] text-muted-foreground",children:["or email"," ",(0,b.jsx)("a",{href:`mailto:${v}`,className:"transition-colors",style:{color:"#e879f9"},onMouseEnter:a=>a.currentTarget.style.opacity="0.75",onMouseLeave:a=>a.currentTarget.style.opacity="1",children:v})]})})]})]})},y={name:"refresh-cw",size:24,node:[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]};y.node;let z=(0,g.f)(y);var A=a.i(97895),B=a.i(6236);let C=[{label:"Off",value:0},{label:"5s",value:5},{label:"10s",value:10},{label:"30s",value:30}];function D({className:a}){let c=(0,d.useRouter)(),[e,g]=(0,f.useTransition)(),{intervalSec:h,setIntervalSec:i}=(0,B.useAutoRefresh)(),j=(0,f.useCallback)(()=>{g(()=>c.refresh())},[c]);(0,f.useEffect)(()=>{if(h<=0)return;let a=setInterval(j,1e3*h);return()=>clearInterval(a)},[h,j]);let k=h>0;return(0,b.jsxs)("div",{className:(0,A.f)("inline-flex items-center rounded-lg border border-border bg-muted/50 p-0.5 gap-0.5",a),children:[(0,b.jsx)("button",{onClick:j,title:"Refresh",className:(0,A.f)("inline-flex items-center justify-center rounded-md p-1.5 transition-colors",k?"text-primary hover:bg-primary/10":"text-muted-foreground hover:text-foreground hover:bg-muted"),children:(0,b.jsx)(z,{className:(0,A.f)("w-3.5 h-3.5",e&&"animate-spin")})}),(0,b.jsx)("div",{className:"w-px h-4 bg-border"}),(0,b.jsx)("div",{className:"inline-flex items-center gap-0.5",role:"group","aria-label":"Auto-refresh interval",children:C.map(a=>(0,b.jsx)("button",{onClick:()=>i(a.value),"aria-pressed":h===a.value,className:(0,A.f)("px-2 py-1 text-[11px] font-medium rounded-md transition-colors",h===a.value?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground hover:bg-muted"),children:a.label},a.value))})]})}var E=a.i(10765);let F=[{href:"/projects",label:"projects"},{href:"/policies",label:"policies"},{href:"/audit",label:"audit"}];a.s(["Navbar",0,({disabledPages:a=[]})=>{let f=(0,d.usePathname)(),{capture:g}=(0,E.usePostHog)(),h=f.startsWith("/policies")?"policies":f.startsWith("/audit")?"audit":f.startsWith("/settings")?"settings":f.startsWith("/projects")||f.startsWith("/project/")?"projects":"";return(0,b.jsxs)("header",{className:"app-header",children:[(0,b.jsx)("a",{href:"https://github.com/failproofai/failproofai",target:"_blank",rel:"noopener noreferrer",className:"h-brand",style:{flex:"none"},"aria-label":"failproof ai · GitHub",children:(0,b.jsx)("img",{src:"/logo.svg",alt:"failproof_ai",style:{height:18,display:"block",flexShrink:0}})}),(0,b.jsx)("nav",{className:"tabs",style:{border:"none",padding:0,gap:0},children:F.filter(({href:b})=>{let c=b.slice(1);return!a.includes(c)}).map(({href:a,label:d})=>{let e="/projects"===a?"/projects"===f||f.startsWith("/project/"):f.startsWith(a);return(0,b.jsx)(c.default,{href:a,className:`tab${e?" is-active":""}`,"aria-current":e?"page":void 0,onClick:()=>{"/audit"===a&&g("audit_nav_clicked",{from_path:f,is_active_tab:e})},children:d},a)})}),(0,b.jsx)("div",{style:{flex:1}}),(0,b.jsxs)("div",{className:"h-meta",children:[(0,b.jsxs)("span",{className:"h-version",children:["v","1.0.12"]}),h&&(0,b.jsx)("span",{className:"h-brand-sep","aria-hidden":"true",children:"·"}),h&&(0,b.jsx)("span",{className:"h-brand-section",children:h})]}),(0,b.jsxs)("div",{className:"h-actions",children:[(0,b.jsx)(D,{}),(0,b.jsx)("span",{style:{width:1,height:18,background:"var(--line)",margin:"0 6px"}}),!a.includes("settings")&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(c.default,{href:"/settings",className:`h-icon-btn${f.startsWith("/settings")?" is-active":""}`,"aria-label":"settings","aria-current":f.startsWith("/settings")?"page":void 0,title:"settings",children:(0,b.jsx)(e.f,{className:"w-3.5 h-3.5",strokeWidth:1.75,"aria-hidden":"true"})}),(0,b.jsx)("span",{style:{width:1,height:18,background:"var(--line)",margin:"0 6px"}})]}),(0,b.jsx)(x,{})]})]})}],10815)}]})();
2
2
 
3
3
  //# sourceMappingURL=_1djqs9i27e4kg._.js.map
@@ -1,3 +1,3 @@
1
- (()=>{"use strict";module.exports=[65967,a=>{var b=a.i(87924),c=a.i(7963),d=a.i(11330);a.s(["f",0,function({currentPage:a,totalPages:e,onPageChange:f}){if(e<=1)return null;let g=a=>`px-3 py-2 text-sm rounded-md transition-colors flex items-center gap-1 bg-muted text-muted-foreground ${a?"opacity-50 cursor-not-allowed":"hover:bg-muted/80"}`;return(0,b.jsxs)("div",{className:"flex items-center justify-center gap-2 py-4",children:[(0,b.jsxs)("button",{onClick:()=>f(a-1),disabled:1===a,className:g(1===a),"aria-label":"Previous page",children:[(0,b.jsx)(c.f,{className:"w-4 h-4"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:"Previous"})]}),(0,b.jsx)("div",{className:"flex items-center gap-1",children:(()=>{if(e<=7)return Array.from({length:e},(a,b)=>b+1);let b=[1],c=Math.max(2,a-1),d=Math.min(e-1,a+1);a<=3&&(d=Math.min(5,e-1)),a>=e-2&&(c=Math.max(2,e-4)),c>2&&b.push("ellipsis-start");for(let a=c;a<=d;a++)b.push(a);return d<e-1&&b.push("ellipsis-end"),b.push(e),b})().map(c=>"string"==typeof c?(0,b.jsx)("span",{className:"px-2 text-muted-foreground",children:"..."},c):(0,b.jsx)("button",{onClick:()=>f(c),className:`min-w-[2.5rem] px-3 py-2 text-sm rounded-md transition-colors ${a===c?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:bg-muted/80"}`,"aria-label":`Page ${c}`,"aria-current":a===c?"page":void 0,children:c},c))}),(0,b.jsxs)("button",{onClick:()=>f(a+1),disabled:a===e,className:g(a===e),"aria-label":"Next page",children:[(0,b.jsx)("span",{className:"hidden sm:inline",children:"Next"}),(0,b.jsx)(d.f,{className:"w-4 h-4"})]})]})}])},87256,a=>{let b={claude:{id:"claude",label:"Claude Code",badgeClasses:"bg-orange-500/10 text-orange-400 border-orange-500/20"},codex:{id:"codex",label:"OpenAI Codex",badgeClasses:"bg-purple-500/10 text-purple-400 border-purple-500/20"},copilot:{id:"copilot",label:"GitHub Copilot",badgeClasses:"bg-blue-500/10 text-blue-400 border-blue-500/20"},cursor:{id:"cursor",label:"Cursor Agent",badgeClasses:"bg-emerald-500/10 text-emerald-400 border-emerald-500/20"},opencode:{id:"opencode",label:"OpenCode",badgeClasses:"bg-amber-500/10 text-amber-400 border-amber-500/20"},pi:{id:"pi",label:"Pi",badgeClasses:"bg-pink-500/10 text-pink-400 border-pink-500/20"},hermes:{id:"hermes",label:"Hermes",badgeClasses:"bg-indigo-500/10 text-indigo-400 border-indigo-500/20"},openclaw:{id:"openclaw",label:"OpenClaw",badgeClasses:"bg-teal-500/10 text-teal-400 border-teal-500/20"},factory:{id:"factory",label:"Factory Droid",badgeClasses:"bg-rose-500/10 text-rose-400 border-rose-500/20"},devin:{id:"devin",label:"Devin CLI",badgeClasses:"bg-violet-500/10 text-violet-400 border-violet-500/20"},antigravity:{id:"antigravity",label:"Antigravity CLI",badgeClasses:"bg-cyan-500/10 text-cyan-400 border-cyan-500/20"},goose:{id:"goose",label:"Goose",badgeClasses:"bg-lime-500/10 text-lime-400 border-lime-500/20"}};a.s(["z",0,["claude","codex","copilot","cursor","opencode","pi","hermes","openclaw","factory","devin","antigravity","goose"],"G",0,function(a){return b[a]?.badgeClasses??b.claude.badgeClasses},"A",0,function(a){return b[a]?.label??a},"U",0,function(a){return"string"==typeof a&&Object.prototype.hasOwnProperty.call(b,a)}])},90619,95947,a=>{var b=a.i(50944),c=a.i(72131);function d(a){let b=a.getFullYear(),c=String(a.getMonth()+1).padStart(2,"0"),d=String(a.getDate()).padStart(2,"0");return`${b}-${c}-${d}`}function e(a){var b;if(!a||(b=a,!/^\d{4}-\d{2}-\d{2}$/.test(b)||isNaN(Date.parse(b))))return null;let[c,d,e]=a.split("-").map(Number);return new Date(c,d-1,e,12,0,0)}a.s(["f",0,function(){let a=(0,b.useSearchParams)(),d=(0,b.useRouter)(),e=(0,b.usePathname)(),f=(0,c.useRef)(null),g=(0,c.useCallback)(b=>a.get(b),[a]),h=(0,c.useCallback)(()=>new URLSearchParams(a.toString()),[a]),i=(0,c.useCallback)(b=>{f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{let c=new URLSearchParams(a.toString());for(let[a,d]of Object.entries(b))void 0===d||""===d?c.delete(a):c.set(a,d);let f=c.toString(),g=f?`${e}?${f}`:e;d.replace(g,{scroll:!1})},150)},[a,e,d]);return(0,c.useEffect)(()=>()=>{f.current&&clearTimeout(f.current)},[]),{get:g,getAll:h,setAll:i}}],90619),a.s(["V",0,function(a){let b={};return a.from&&(b.from=d(a.from)),a.to&&(b.to=d(a.to)),b},"l",0,function(a){if(0!==a.length)return a.map(a=>encodeURIComponent(a)).join(",")},"t",0,function(a){return a<=1?void 0:String(a)},"w",0,function(a){return a?a.split(",").map(a=>decodeURIComponent(a.trim())).filter(a=>a.length>0):[]},"m",0,function(a){if(!a)return 1;let b=parseInt(a,10);return Number.isFinite(b)&&b>=1?b:1},"S",0,function(a){return a&&["all","last-hour","today","last-7-days","last-30-days","custom"].includes(a)?a:"all"},"R",0,function(a,b){return{from:e(a),to:e(b)}},"$",0,function(a){return"all"===a?void 0:a}],95947)},7963,a=>{var b=a.i(64831);let c={name:"chevron-left",size:24,node:[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]};c.node;let d=(0,b.f)(c);a.s(["f",0,d],7963)},11330,a=>{var b=a.i(64831);let c={name:"chevron-right",size:24,node:[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]};c.node;let d=(0,b.f)(c);a.s(["f",0,d],11330)}]})();
1
+ (()=>{"use strict";module.exports=[65967,a=>{var b=a.i(87924),c=a.i(7963),d=a.i(41146);a.s(["f",0,function({currentPage:a,totalPages:e,onPageChange:f}){if(e<=1)return null;let g=a=>`px-3 py-2 text-sm rounded-md transition-colors flex items-center gap-1 bg-muted text-muted-foreground ${a?"opacity-50 cursor-not-allowed":"hover:bg-muted/80"}`;return(0,b.jsxs)("div",{className:"flex items-center justify-center gap-2 py-4",children:[(0,b.jsxs)("button",{onClick:()=>f(a-1),disabled:1===a,className:g(1===a),"aria-label":"Previous page",children:[(0,b.jsx)(c.f,{className:"w-4 h-4"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:"Previous"})]}),(0,b.jsx)("div",{className:"flex items-center gap-1",children:(()=>{if(e<=7)return Array.from({length:e},(a,b)=>b+1);let b=[1],c=Math.max(2,a-1),d=Math.min(e-1,a+1);a<=3&&(d=Math.min(5,e-1)),a>=e-2&&(c=Math.max(2,e-4)),c>2&&b.push("ellipsis-start");for(let a=c;a<=d;a++)b.push(a);return d<e-1&&b.push("ellipsis-end"),b.push(e),b})().map(c=>"string"==typeof c?(0,b.jsx)("span",{className:"px-2 text-muted-foreground",children:"..."},c):(0,b.jsx)("button",{onClick:()=>f(c),className:`min-w-[2.5rem] px-3 py-2 text-sm rounded-md transition-colors ${a===c?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:bg-muted/80"}`,"aria-label":`Page ${c}`,"aria-current":a===c?"page":void 0,children:c},c))}),(0,b.jsxs)("button",{onClick:()=>f(a+1),disabled:a===e,className:g(a===e),"aria-label":"Next page",children:[(0,b.jsx)("span",{className:"hidden sm:inline",children:"Next"}),(0,b.jsx)(d.f,{className:"w-4 h-4"})]})]})}])},87256,a=>{let b={claude:{id:"claude",label:"Claude Code",badgeClasses:"bg-orange-500/10 text-orange-400 border-orange-500/20"},codex:{id:"codex",label:"OpenAI Codex",badgeClasses:"bg-purple-500/10 text-purple-400 border-purple-500/20"},copilot:{id:"copilot",label:"GitHub Copilot",badgeClasses:"bg-blue-500/10 text-blue-400 border-blue-500/20"},cursor:{id:"cursor",label:"Cursor Agent",badgeClasses:"bg-emerald-500/10 text-emerald-400 border-emerald-500/20"},opencode:{id:"opencode",label:"OpenCode",badgeClasses:"bg-amber-500/10 text-amber-400 border-amber-500/20"},pi:{id:"pi",label:"Pi",badgeClasses:"bg-pink-500/10 text-pink-400 border-pink-500/20"},hermes:{id:"hermes",label:"Hermes",badgeClasses:"bg-indigo-500/10 text-indigo-400 border-indigo-500/20"},openclaw:{id:"openclaw",label:"OpenClaw",badgeClasses:"bg-teal-500/10 text-teal-400 border-teal-500/20"},factory:{id:"factory",label:"Factory Droid",badgeClasses:"bg-rose-500/10 text-rose-400 border-rose-500/20"},devin:{id:"devin",label:"Devin CLI",badgeClasses:"bg-violet-500/10 text-violet-400 border-violet-500/20"},antigravity:{id:"antigravity",label:"Antigravity CLI",badgeClasses:"bg-cyan-500/10 text-cyan-400 border-cyan-500/20"},goose:{id:"goose",label:"Goose",badgeClasses:"bg-lime-500/10 text-lime-400 border-lime-500/20"}};a.s(["z",0,["claude","codex","copilot","cursor","opencode","pi","hermes","openclaw","factory","devin","antigravity","goose"],"G",0,function(a){return b[a]?.badgeClasses??b.claude.badgeClasses},"A",0,function(a){return b[a]?.label??a},"U",0,function(a){return"string"==typeof a&&Object.prototype.hasOwnProperty.call(b,a)}])},90619,95947,a=>{var b=a.i(50944),c=a.i(72131);function d(a){let b=a.getFullYear(),c=String(a.getMonth()+1).padStart(2,"0"),d=String(a.getDate()).padStart(2,"0");return`${b}-${c}-${d}`}function e(a){var b;if(!a||(b=a,!/^\d{4}-\d{2}-\d{2}$/.test(b)||isNaN(Date.parse(b))))return null;let[c,d,e]=a.split("-").map(Number);return new Date(c,d-1,e,12,0,0)}a.s(["f",0,function(){let a=(0,b.useSearchParams)(),d=(0,b.useRouter)(),e=(0,b.usePathname)(),f=(0,c.useRef)(null),g=(0,c.useCallback)(b=>a.get(b),[a]),h=(0,c.useCallback)(()=>new URLSearchParams(a.toString()),[a]),i=(0,c.useCallback)(b=>{f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{let c=new URLSearchParams(a.toString());for(let[a,d]of Object.entries(b))void 0===d||""===d?c.delete(a):c.set(a,d);let f=c.toString(),g=f?`${e}?${f}`:e;d.replace(g,{scroll:!1})},150)},[a,e,d]);return(0,c.useEffect)(()=>()=>{f.current&&clearTimeout(f.current)},[]),{get:g,getAll:h,setAll:i}}],90619),a.s(["V",0,function(a){let b={};return a.from&&(b.from=d(a.from)),a.to&&(b.to=d(a.to)),b},"l",0,function(a){if(0!==a.length)return a.map(a=>encodeURIComponent(a)).join(",")},"t",0,function(a){return a<=1?void 0:String(a)},"w",0,function(a){return a?a.split(",").map(a=>decodeURIComponent(a.trim())).filter(a=>a.length>0):[]},"m",0,function(a){if(!a)return 1;let b=parseInt(a,10);return Number.isFinite(b)&&b>=1?b:1},"S",0,function(a){return a&&["all","last-hour","today","last-7-days","last-30-days","custom"].includes(a)?a:"all"},"R",0,function(a,b){return{from:e(a),to:e(b)}},"$",0,function(a){return"all"===a?void 0:a}],95947)},7963,a=>{var b=a.i(64831);let c={name:"chevron-left",size:24,node:[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]};c.node;let d=(0,b.f)(c);a.s(["f",0,d],7963)},41146,a=>{var b=a.i(64831);let c={name:"chevron-right",size:24,node:[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]};c.node;let d=(0,b.f)(c);a.s(["f",0,d],41146)}]})();
2
2
 
3
3
  //# sourceMappingURL=_20hn4gn87nsjc._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[73338,a=>{"use strict";var b=a.i(36359),c=a.i(7292),d=a.i(37936),e=a.i(2157);a.i(66680);var f=a.i(50227),g=a.i(8674);a.i(1144);var h=a.i(75818),i=a.i(13095);async function j(){return function(a=Date.now()){let b,c,d=(c=process.env.FAILPROOFAI_STATE_DIR)?(0,f.resolve)(c,"sessions"):(0,h.$)();if(!(0,e.existsSync)(d))return[];let g=[];try{b=(0,e.readdirSync)(d)}catch{return[]}for(let c of b)if(c.endsWith(".json"))try{let b=function(a){if(!a||"object"!=typeof a||1!==a.schemaVersion||"string"!=typeof a.sessionId||0===a.sessionId.length||!Number.isFinite(a.pausedAt)||!Number.isFinite(a.expiresAt))return null;let b=a.pausedAt,c=Number.isFinite(a.firstPausedAt)?a.firstPausedAt:b;return{schemaVersion:1,sessionId:a.sessionId,pausedAt:b,firstPausedAt:c,expiresAt:Math.min(a.expiresAt,c+288e5),setBy:"string"==typeof a.setBy?a.setBy:"unknown",..."string"==typeof a.cwd?{cwd:a.cwd}:{}}}(JSON.parse((0,e.readFileSync)((0,f.join)(d,c),"utf8")));if(!b||b.expiresAt<=a)continue;let{schemaVersion:h,...i}=b;g.push(i)}catch{}return g.sort((a,b)=>b.pausedAt-a.pausedAt)}()}(0,i.ensureServerEntryExports)([j]),(0,d.registerServerReference)(j,"003e1fdbbe4fdd5c55596a40a7178b9dbeb7625645",null);var k=a.i(17280);a.i(75534);var l=a.i(10695),m=a.i(98378),n=a.i(69839),o=a.i(28120),p=a.i(74533),q=a.i(60526),r=a.i(91997),s=a.i(41863),t=a.i(80504),u=a.i(92956),v=a.i(15638),w=a.i(32352);class x extends Error{exitCode;constructor(a,b=1){super(a),this.name="CliError",this.exitCode=b}}a.i(89790);var y=a.i(9909);a.i(86017);var z=a.i(8284),A=a.i(21572),B=a.i(1459);function C(a,b){let c,d,i=r.z.filter(a=>b.includes(a));if(0===i.length)return null;let j=(0,A.s)().agents;if("installed"===a){if(!j||0===(c=i.filter(a=>!j.selected.includes(a))).length)return null;let a=a=>[...r.z.filter(b=>a.includes(b)),...a.filter(a=>!r.z.includes(a))],b=(0,s.w)(),e=c.filter(a=>b.includes(a)&&!j.seen.includes(a));d={selected:a([...j.selected,...c]),seen:e.length>0?a([...j.seen,...e]):j.seen}}else if(j){if(0===(c=i.filter(a=>j.selected.includes(a))).length)return null;let a=new Set(c);d={selected:j.selected.filter(b=>!a.has(b)),seen:j.seen}}else{c=i;let a=(0,s.w)(),b=process.cwd();d={selected:r.z.filter(c=>!i.includes(c)&&(a.includes(c)||function(a,b){let c=(0,s.B)(a);try{if(c.hooksInstalledInSettings("user",b))return!0;if("hermes"===a)return(0,s.d)().some(a=>(0,e.existsSync)(a.home)&&(a.pluginInstalled&&a.pluginEnabled||a.legacyShellHookPresent));let d=(0,s.r)(c,"user",b);if(d.length<2)return!1;return d.some(a=>c.hooksInstalledInSettings.call({...c,getSettingsPaths:()=>[a]},"user",b))}catch{return!1}}(c,b))),seen:a}}let k=(0,B.m)((0,B.w)(process.stdout)),m=c.map(a=>(0,s.B)(a).displayName),n=1===m.length?m[0]:`${m.slice(0,-1).join(", ")} and ${m[m.length-1]}`,o=1===m.length,p=k.cmd("failproofai config");"installed"===a&&function(a,b,c=Date.now()){if(0!==a.length&&b)try{!function(a){var b;let c=(b=void 0,(0,f.join)((0,h.J)(b),"state","backfill-request.json")),d=null;if((0,e.existsSync)(c))try{d=function(a,b){let c;if("object"!=typeof a||null===a||Array.isArray(a))return null;if(Array.isArray(a.agents))c=[...new Set(a.agents.filter(a=>"string"==typeof a&&""!==a.trim()))];else if(void 0!==a.agents&&null!==a.agents)return null;let d="number"==typeof a.requestedAtMs?a.requestedAtMs:void 0,e=void 0===a.kind||null===a.kind?"user":a.kind;return"user"===e?"number"!=typeof a.sinceMs?null:{kind:"user",sinceMs:a.sinceMs,requestedAtMs:d??b,...c?{agents:c}:{}}:"added"===e?void 0===d||!c||b-d>6e5?null:{kind:"added",requestedAtMs:d,agents:c}:null}(JSON.parse((0,e.readFileSync)(c,"utf8")),a.requestedAtMs)}catch{d=null}let i=function(a,b){let c,d;if(!a)return b;if("added"===a.kind&&"added"===b.kind)return{kind:"added",requestedAtMs:b.requestedAtMs,agents:[...new Set([...a.agents,...b.agents])]};let e=[a,b].flatMap(a=>"user"===a.kind?[a.sinceMs]:[]),f=(c=a.agents,d=b.agents,void 0===c||void 0===d?void 0:[...new Set([...c,...d])]);return{kind:"user",sinceMs:Math.min(...e),requestedAtMs:b.requestedAtMs,...f?{agents:f}:{}}}(d,a);(0,g.f)(c,i)}({kind:"added",agents:[...a],requestedAtMs:c})}catch(a){return(0,l.g)(`could not write the backfill request for re-added agents: ${a instanceof Error?a.message:String(a)}`),!1}}(c,function(){try{let a;return null!==((a=(0,A.d)().ingest)?{url:a.url,key:a.key}:null)&&!0===(0,A.s)().collector.sessions}catch{return!1}}());try{(0,A.t)({agents:d})}catch(c){let b=c instanceof Error?c.message:String(c);return k.caution("installed"===a?`Couldn't record ${n} as traced (${b}), so ${p} may remove ${o?"its":"their"} hooks again.`:`Couldn't record ${n} as no longer traced (${b}), so ${p} may add ${o?"its":"their"} hooks back.`)}return k.ok("installed"===a?`${n} ${o?"is":"are"} traced again, so ${p} keeps ${o?"its":"their"} hooks.`:`${n} ${o?"is":"are"} no longer traced, so ${p} won't add ${o?"its":"their"} hooks back.`)}let D=new Set(u.H.map(a=>a.name));function E(a,b){return s.p.getSettingsPath(a,b)}function F(a){let b=[],c=[],d=[],e=[];try{e=(0,y.V)().packs}catch{}let f=(a,b)=>e.filter(b=>null===a||b.id===a).filter(a=>a.policies.some(a=>a.name===b)).map(a=>({packId:a.id,packVersion:a.version,name:b,disabledKey:`pack:${a.id}@${a.version}:${b}`}));for(let e of a){let a=f(null,e);if(1===a.length){c.push(a[0]);continue}if(a.length>1)throw new x(`"${e}" is declared by ${a.length} installed packs.
1
+ module.exports=[73338,a=>{"use strict";var b=a.i(36359),c=a.i(7292),d=a.i(37936),e=a.i(2157);a.i(66680);var f=a.i(50227),g=a.i(8674);a.i(1144);var h=a.i(75818),i=a.i(13095);async function j(){return function(a=Date.now()){let b,c,d=(c=process.env.FAILPROOFAI_STATE_DIR)?(0,f.resolve)(c,"sessions"):(0,h.$)();if(!(0,e.existsSync)(d))return[];let g=[];try{b=(0,e.readdirSync)(d)}catch{return[]}for(let c of b)if(c.endsWith(".json"))try{let b=function(a){if(!a||"object"!=typeof a||1!==a.schemaVersion||"string"!=typeof a.sessionId||0===a.sessionId.length||!Number.isFinite(a.pausedAt)||!Number.isFinite(a.expiresAt))return null;let b=a.pausedAt,c=Number.isFinite(a.firstPausedAt)?a.firstPausedAt:b;return{schemaVersion:1,sessionId:a.sessionId,pausedAt:b,firstPausedAt:c,expiresAt:Math.min(a.expiresAt,c+288e5),setBy:"string"==typeof a.setBy?a.setBy:"unknown",..."string"==typeof a.cwd?{cwd:a.cwd}:{}}}(JSON.parse((0,e.readFileSync)((0,f.join)(d,c),"utf8")));if(!b||b.expiresAt<=a)continue;let{schemaVersion:h,...i}=b;g.push(i)}catch{}return g.sort((a,b)=>b.pausedAt-a.pausedAt)}()}(0,i.ensureServerEntryExports)([j]),(0,d.registerServerReference)(j,"00fc87b479815613ad45f02863e93f0d8a6ced2069",null);var k=a.i(17280);a.i(75534);var l=a.i(10695),m=a.i(98378),n=a.i(69839),o=a.i(28120),p=a.i(74533),q=a.i(60526),r=a.i(91997),s=a.i(41863),t=a.i(80504),u=a.i(92956),v=a.i(15638),w=a.i(32352);class x extends Error{exitCode;constructor(a,b=1){super(a),this.name="CliError",this.exitCode=b}}a.i(89790);var y=a.i(9909);a.i(86017);var z=a.i(8284),A=a.i(21572),B=a.i(1459);function C(a,b){let c,d,i=r.z.filter(a=>b.includes(a));if(0===i.length)return null;let j=(0,A.s)().agents;if("installed"===a){if(!j||0===(c=i.filter(a=>!j.selected.includes(a))).length)return null;let a=a=>[...r.z.filter(b=>a.includes(b)),...a.filter(a=>!r.z.includes(a))],b=(0,s.w)(),e=c.filter(a=>b.includes(a)&&!j.seen.includes(a));d={selected:a([...j.selected,...c]),seen:e.length>0?a([...j.seen,...e]):j.seen}}else if(j){if(0===(c=i.filter(a=>j.selected.includes(a))).length)return null;let a=new Set(c);d={selected:j.selected.filter(b=>!a.has(b)),seen:j.seen}}else{c=i;let a=(0,s.w)(),b=process.cwd();d={selected:r.z.filter(c=>!i.includes(c)&&(a.includes(c)||function(a,b){let c=(0,s.B)(a);try{if(c.hooksInstalledInSettings("user",b))return!0;if("hermes"===a)return(0,s.d)().some(a=>(0,e.existsSync)(a.home)&&(a.pluginInstalled&&a.pluginEnabled||a.legacyShellHookPresent));let d=(0,s.r)(c,"user",b);if(d.length<2)return!1;return d.some(a=>c.hooksInstalledInSettings.call({...c,getSettingsPaths:()=>[a]},"user",b))}catch{return!1}}(c,b))),seen:a}}let k=(0,B.m)((0,B.w)(process.stdout)),m=c.map(a=>(0,s.B)(a).displayName),n=1===m.length?m[0]:`${m.slice(0,-1).join(", ")} and ${m[m.length-1]}`,o=1===m.length,p=k.cmd("failproofai config");"installed"===a&&function(a,b,c=Date.now()){if(0!==a.length&&b)try{!function(a){var b;let c=(b=void 0,(0,f.join)((0,h.J)(b),"state","backfill-request.json")),d=null;if((0,e.existsSync)(c))try{d=function(a,b){let c;if("object"!=typeof a||null===a||Array.isArray(a))return null;if(Array.isArray(a.agents))c=[...new Set(a.agents.filter(a=>"string"==typeof a&&""!==a.trim()))];else if(void 0!==a.agents&&null!==a.agents)return null;let d="number"==typeof a.requestedAtMs?a.requestedAtMs:void 0,e=void 0===a.kind||null===a.kind?"user":a.kind;return"user"===e?"number"!=typeof a.sinceMs?null:{kind:"user",sinceMs:a.sinceMs,requestedAtMs:d??b,...c?{agents:c}:{}}:"added"===e?void 0===d||!c||b-d>6e5?null:{kind:"added",requestedAtMs:d,agents:c}:null}(JSON.parse((0,e.readFileSync)(c,"utf8")),a.requestedAtMs)}catch{d=null}let i=function(a,b){let c,d;if(!a)return b;if("added"===a.kind&&"added"===b.kind)return{kind:"added",requestedAtMs:b.requestedAtMs,agents:[...new Set([...a.agents,...b.agents])]};let e=[a,b].flatMap(a=>"user"===a.kind?[a.sinceMs]:[]),f=(c=a.agents,d=b.agents,void 0===c||void 0===d?void 0:[...new Set([...c,...d])]);return{kind:"user",sinceMs:Math.min(...e),requestedAtMs:b.requestedAtMs,...f?{agents:f}:{}}}(d,a);(0,g.f)(c,i)}({kind:"added",agents:[...a],requestedAtMs:c})}catch(a){return(0,l.g)(`could not write the backfill request for re-added agents: ${a instanceof Error?a.message:String(a)}`),!1}}(c,function(){try{let a;return null!==((a=(0,A.d)().ingest)?{url:a.url,key:a.key}:null)&&!0===(0,A.s)().collector.sessions}catch{return!1}}());try{(0,A.t)({agents:d})}catch(c){let b=c instanceof Error?c.message:String(c);return k.caution("installed"===a?`Couldn't record ${n} as traced (${b}), so ${p} may remove ${o?"its":"their"} hooks again.`:`Couldn't record ${n} as no longer traced (${b}), so ${p} may add ${o?"its":"their"} hooks back.`)}return k.ok("installed"===a?`${n} ${o?"is":"are"} traced again, so ${p} keeps ${o?"its":"their"} hooks.`:`${n} ${o?"is":"are"} no longer traced, so ${p} won't add ${o?"its":"their"} hooks back.`)}let D=new Set(u.H.map(a=>a.name));function E(a,b){return s.p.getSettingsPath(a,b)}function F(a){let b=[],c=[],d=[],e=[];try{e=(0,y.V)().packs}catch{}let f=(a,b)=>e.filter(b=>null===a||b.id===a).filter(a=>a.policies.some(a=>a.name===b)).map(a=>({packId:a.id,packVersion:a.version,name:b,disabledKey:`pack:${a.id}@${a.version}:${b}`}));for(let e of a){let a=f(null,e);if(1===a.length){c.push(a[0]);continue}if(a.length>1)throw new x(`"${e}" is declared by ${a.length} installed packs.
2
2
  Name the one you mean:
3
3
  `+a.map(a=>` \`${a.packId}:${a.name}\``).join("\n"));if(D.has(e)){b.push(e);continue}let g=e.lastIndexOf(":"),h=g>0?{packId:e.slice(0,g),name:e.slice(g+1)}:null,i=h?f(h.packId,h.name):f(null,e);if(1===i.length){c.push(i[0]);continue}if(i.length>1)throw new x(`"${e}" is declared by ${i.length} installed packs.
4
4
  Name the one you mean:
@@ -12,6 +12,6 @@ Make sure the file calls \`customPolicies.add(...)\` at least once.`).join("\n
12
12
  `),process.exit(1)}console.log(`
13
13
  Validated ${a.length} custom hook(s) from ${d}: ${a.map(a=>a.name).join(", ")}`)}}(0,o.f)(S,b,c);let T=new Set(u.H.filter(a=>a.alwaysOn).map(a=>a.name)),U=void 0===a?[]:K.filter(a=>!T.has(a));if(U.length>0)if((0,y.Q)()){for(let a of U)for(let b of(0,y.V)().packs)if(b.policies.some(b=>b.name===a)){(0,k.g)(b.id,a,!0);break}}else try{await (0,k.I)(k.w,{only:U})}catch(a){console.log((0,B.m)((0,B.w)(process.stdout)).caution(`Couldn't fetch the policy pack (${a instanceof Error?a.message:String(a)}). Once you are online:`,"failproofai policies add FailproofAI/policies"))}if(void 0!==a&&K.length>0){let a=K.length;console.log((0,B.m)((0,B.w)(process.stdout)).ok(`Enabled ${a} ${1===a?"policy":"policies"}: ${K.join(", ")}`))}if(i)console.log((0,B.m)((0,B.w)(process.stdout)).ok("Custom hooks path cleared."));else if(S.customPoliciesPaths?.length||S.customPoliciesPath){let a=S.customPoliciesPaths??[S.customPoliciesPath];for(let b of(0,B.m)((0,B.w)(process.stdout)).kv([["custom",a.join(", ")]]))console.log(b)}let V=[],W=null;for(let a of M){let d=(0,s.B)(a);if("codex"===a&&"user"===b){let b=(0,t.i)((0,s.D)(P));if(b.ok){let f=d.getSettingsPath("user",c);(0,e.existsSync)(f)&&d.removeHooksFromFile(f),V.push({cli:a,path:b.path});continue}W=b}let f=(0,s.r)(d,b,c);try{for(let c of f){d.prepareInstall?.(c);let e=d.readSettings(c);d.writeHookEntries(e,P,b),d.writeSettings(c,e),V.push({cli:a,path:c})}}catch(d){let c=d instanceof Error&&/EACCES|EPERM/.test(d.message)?"permission_denied":d instanceof Error&&/ENOENT|ENOTDIR/.test(d.message)?"path_not_found":"write_error";try{await (0,m.f)((0,n._)(),"hook_write_failed",{cli:a,scope:b,error_type:c})}catch{}throw d}}try{let a=new Set(K),c=K.filter(a=>!R.has(a)),e=[...R].filter(b=>!a.has(b)),f=(0,n._)();if(await (0,m.f)(f,"hooks_installed",{scope:b,cli:M,cli_count:M.length,policies:K,policy_count:K.length,policies_added:c,policies_removed:e,...g?{source:g}:{},platform:(0,q.platform)(),arch:(0,q.arch)(),os_release:(0,q.release)(),hostname_hash:(0,n.F)((0,q.hostname)()),has_custom_hooks_path:!!(S.customPoliciesPaths?.length||S.customPoliciesPath),has_policy_params:!!(S.policyParams&&Object.keys(S.policyParams).length>0),param_policy_names:S.policyParams?Object.keys(S.policyParams):[],command_format:"project"===b?"npx":"absolute"}),d){let a=new Set(u.H.filter(a=>a.beta).map(a=>a.name)),c=K.filter(b=>a.has(b));c.length>0&&await (0,m.f)(f,"beta_policies_installed",{scope:b,cli:M,beta_count:c.length,beta_policy_names:c,...g?{source:g}:{}})}}catch{}let X=(0,B.m)((0,B.w)(process.stdout));for(let{cli:a,path:c}of V){let d=(0,s.B)(a);for(let e of(console.log(X.ok("hermes"===a?`${d.displayName} plugin installed (8 hooks, ${b} scope).`:`${d.displayName} hooks installed (${d.eventTypes.length} events, ${b} scope).`)),X.kv([["settings",c]])))console.log(e)}for(let a of X.kv("project"===b?[["command","npx -y failproofai"]]:[["binary",P]]))console.log(a);if("project"===b&&console.log(`${B.J}This file can be committed to git: it has no machine-specific paths.`),W&&!W.ok&&(("conflict"===W.reason||"unreadable"===W.reason||"write-failed"===W.reason)&&console.log(X.caution(`Couldn't add the Codex hooks to ${W.path}: ${W.detail??W.reason}.`)),"untrusted"===(0,t.c)().kind))for(let a of X.notice("caution",t.s))console.log(a);let Y=(I=r.F,L=new Set,I.filter(a=>{let b=E(a,c);return!L.has(b)&&(L.add(b),!0)})).filter(a=>a!==b).filter(a=>H(a,c));if(Y.length>0){let a=Y.map(a=>`${a} (${function(a){switch(a){case"user":return"~/.claude/settings.json";case"project":return"{cwd}/.claude/settings.json";case"local":return"{cwd}/.claude/settings.local.json"}}(a)})`).join(", ");console.log(X.caution(`Hooks are also installed at ${a}, so each policy may run twice.`,`failproofai policies --uninstall --scope ${Y[0]}`));try{await (0,m.f)((0,n._)(),"multi_scope_warning_shown",{new_scope:b,existing_scopes:Y,cli:M})}catch{}}if(A){let a=C("installed",V.map(a=>a.cli));a&&console.log(a)}}async function K(a,b="user",c,d){let f=a=>{d?.silent||console.log(a)},g="all"===b?"user":b,h=d?.cli&&d.cli.length>0?[...new Set(d.cli)]:["claude"];if(d?.removeCustomHooks){let a=(0,o.Z)(g,c);delete a.customPoliciesPath,delete a.customPoliciesPaths,(0,o.f)(a,g,c),f("Custom hooks path cleared.")}if(a&&a.length>0&&(1!==a.length||"all"!==a[0])){let b=F(a);G(b.packs,!1,g,c);var i=a=b.builtins;let d=new Set(u.H.filter(a=>a.alwaysOn).map(a=>a.name)),e=i.filter(a=>d.has(a));if(e.length>0)throw new x(`Cannot disable: ${e.join(", ")}
14
14
  It stops an agent from switching failproofai off, so it is always on.`);if(b.packs.length>0&&0===a.length)return}if(a&&a.length>0&&(1!==a.length||"all"!==a[0])){let e=(0,o.Z)(g,c),i=new Set(a),j=e.enabledPolicies.filter(a=>!i.has(a)),k=a.filter(a=>!e.enabledPolicies.includes(a));k.length>0&&f(`Warning: policy(ies) not currently enabled: ${k.join(", ")}`);let{policyParams:l,...p}=e,r=l?Object.fromEntries(Object.entries(l).filter(([a])=>!i.has(a))):null,s={...p,enabledPolicies:j,...r&&Object.keys(r).length>0?{policyParams:r}:{}};(0,o.f)(s,g,c);try{let c=(0,n._)(),f=a.filter(a=>e.enabledPolicies.includes(a));await (0,m.f)(c,"hooks_removed",{scope:b,cli:h,removal_mode:d?.betaOnly?"beta_policies":"policies",beta_only:d?.betaOnly??!1,policies_removed:f,removed_count:f.length,...d?.source?{source:d.source}:{},platform:(0,q.platform)(),arch:(0,q.arch)(),os_release:(0,q.release)(),hostname_hash:(0,n.F)((0,q.hostname)())})}catch{}f(`Disabled ${a.length-k.length} policy(ies).`),f(`Remaining: ${j.length>0?j.join(", "):"(none)"}`);return}let j=(0,o.Z)(g,c),k=()=>{if(!d?.syncAgentSelection||"user"!==b&&"all"!==b)return;let a=C("removed",h.filter(a=>"all"===b||(0,s.B)(a).scopes.includes("user")));a&&f(a)},l=0,p=!1;for(let a of h){let d=(0,s.B)(a);for(let g of"all"===b?[...d.scopes]:d.scopes.includes(b)?[b]:[]){let i=0;if("codex"===a&&"user"===g){let a=(0,t.g)();if("removed"===a.status){if(i=a.hooks,"all"!==b)for(let b of(f((0,B.m)((0,B.w)(process.stdout)).ok(`Removed ${a.hooks} failproofai ${1===a.hooks?"hook":"hooks"} from Codex's system config.`)),(0,B.m)((0,B.w)(process.stdout)).kv([["settings",a.path]])))f(b)}else if("failed"===a.status)for(let b of(0,B.m)((0,B.w)(process.stdout)).notice("caution",`failproofai's Codex hooks are still in ${a.path}: ${a.reason}.
15
- Run \`sudo -v\`, then this command again.`))f(b)}let j=(0,s.r)(d,g,c),k="hermes"===a?j:j.filter(a=>(0,e.existsSync)(a));if(0===k.length){if(l+=i,i>0)continue;"all"!==b&&1===h.length&&(f((0,B.m)((0,B.w)(process.stdout)).ok("No settings file found, so there is nothing to remove.")),p=!0);continue}let m=i;for(let a of k){let c=d.removeHooksFromFile(a);if(m+=c,c>0&&"all"!==b)for(let b of(f((0,B.m)((0,B.w)(process.stdout)).ok(`Removed ${c} failproofai ${1===c?"hook":"hooks"} from ${d.displayName} settings.`)),(0,B.m)((0,B.w)(process.stdout)).kv([["settings",a]])))f(b)}if(0===m&&"all"!==b&&1===h.length){f((0,B.m)((0,B.w)(process.stdout)).ok("No hooks found in settings, so there is nothing to remove.")),p=!0;continue}l+=m}}if(p&&0===l)return void k();if("all"===b)for(let a of(f((0,B.m)((0,B.w)(process.stdout)).ok(`Removed ${l} failproofai ${1===l?"hook":"hooks"} from every scope.`)),h)){let b=(0,s.B)(a);for(let a of b.scopes)for(let d of(0,s.r)(b,a,c))f(`${B.J}${b.displayName}, ${a}: ${d}`)}try{let a=(0,n._)();await (0,m.f)(a,"hooks_removed",{scope:b,cli:h,removal_mode:"hooks",policies_removed:j.enabledPolicies,removed_count:l,...d?.source?{source:d.source}:{},platform:(0,q.platform)(),arch:(0,q.arch)(),os_release:(0,q.release)(),hostname_hash:(0,n.F)((0,q.hostname)())})}catch{}if("all"===b)for(let a of r.F){let b=(0,o.Z)(a,c);if(b.enabledPolicies.length>0||b.customPoliciesPaths?.length||b.customPoliciesPath||b.policyParams){let{customPoliciesPath:d,customPoliciesPaths:e,policyParams:f,...g}=b;(0,o.f)({...g,enabledPolicies:[]},a,c)}}else if(!r.F.some(a=>H(a,c))){let{customPoliciesPath:a,customPoliciesPaths:b,policyParams:d,...e}=(0,o.Z)(g,c);(0,o.f)({...e,enabledPolicies:[]},g,c)}k()}var L=a.i(24282),M=a.i(12714);async function N(a,b){let c=process.env.FAILPROOFAI_LAUNCH_CWD||process.cwd(),d=(0,f.resolve)((0,o.Y)(c),".failproofai","policies"),e=(0,h.E)(),g=[];for(let{scope:c,dir:h}of[{scope:"project",dir:d},...e===d?[]:[{scope:"user",dir:e}]]){let d=[];try{d=(0,v.discoverPolicyFiles)(h)}catch{continue}for(let e of d){if(b.has(e))continue;let d=[];try{d=(await O(e)).map(b=>{let d=(0,v.conventionPolicyId)(c,(0,f.basename)(e),b.name);return{...b,id:d,enabled:!a.has(d)}})}catch{}g.push({scope:c,file:(0,f.basename)(e),path:e,policies:d})}}return g}async function O(a){if(!(0,e.existsSync)(a))return[];let b=await (0,M.readFile)(a,"utf-8"),c=[],d=b.split(/customPolicies\.add\s*\(/);for(let a=1;a<d.length;a++){let b=d[a],e=b.match(/name:\s*["'`]([^"'`]+)["'`]/);if(!e)continue;let f=b.match(/description:\s*["'`]([^"'`]+)["'`]/),g=b.match(/events:\s*\[([^\]]+)\]/),h=g?g[1].replace(/["'`\s]/g,"").split(",").filter(Boolean).join(", "):void 0;c.push({name:e[1],description:f?.[1],eventScope:h,id:"",enabled:!0})}return c}async function P(){let a=process.env.FAILPROOFAI_LAUNCH_CWD||process.cwd(),b=(0,o.q)(a),c=new Set(b.disabledCustomPolicies??[]),d=r.F.filter(a=>H(a)),e=E(d[0]??"user"),g=(0,s.u)().map(a=>({id:a.id,label:(0,L.A)(a.id),installed:a.hooksInstalledInSettings("user"),settingsPath:a.getSettingsPath("user"),detected:a.detectInstalled()})),h=[],i=[];try{let a=(0,y.V)();h=a.packs,i=a.errors}catch{}let j=[];for(let a of h){let d=a.enabled??a.policies.map(a=>a.name);for(let e of a.policies)j.push({name:e.name,description:e.description,category:e.category,defaultEnabled:e.defaultEnabled,beta:!1,enabled:d.includes(e.name)&&!c.has(`pack:${a.id}@${a.version}:${e.name}`),eventScope:function(a){let b=a.events?.join(", ")??"",c=a.toolNames?` \xb7 ${a.toolNames.join(", ")}`:"";return`${b}${c}`}(e.match),packId:a.id,packVersion:a.version,...e.params?{params:Object.fromEntries(Object.entries(e.params).map(([a,b])=>[a,{type:b.type,description:b.description,default:b.default}])),currentParams:function(a,b,c){if(!a)return;let d=a[`pack/${b}/${c}`];return d||(b.toLowerCase()===k.w.toLowerCase()?a[c]:void 0)}(b.policyParams,a.id,e.name)??{}}:{}})}let l=(0,o.W)(b),m=(0,o.Y)(a),n=l.map(a=>(0,f.resolve)(m,a)),p=(await Promise.all(n.map(async a=>{try{return(await O(a)).map(b=>{let d=(0,v.customPolicyId)(a,b.name);return{...b,id:d,enabled:!c.has(d)}})}catch{return[]}}))).flat(),q=await N(c,new Set(n)),t=h.map(a=>{let b=a.enabled??a.policies.map(a=>a.name);return{id:a.id,version:a.version,source:a.source,effect:a.effect,policies:a.policies.map(d=>({name:d.name,description:d.description,category:d.category,enabled:b.includes(d.name)&&!c.has(`pack:${a.id}@${a.version}:${d.name}`)}))}});for(let a of i)t.push({id:a.id??"(unnamed pack)",version:"",source:"",effect:"enforce",policies:[],error:a.reason});return{enabledPolicies:b.enabledPolicies,installedScopes:d,settingsPath:e,clis:g,policies:j,customPoliciesPaths:l.length?l:void 0,customPoliciesPath:1===l.length?l[0]:void 0,customPolicies:p.length?p:void 0,conventionPolicies:q,packs:t}}async function Q(a,b){let c=(0,o.E)(),d=new Set(c.enabledPolicies);b?d.add(a):d.delete(a),(0,o.H)({...c,enabledPolicies:[...d]});try{let c=(0,n._)();await (0,m.f)(c,"policy_toggled",{policy_name:a,enabled:b,action:b?"enable":"disable",source:"web"})}catch{}}async function R(a,b){if(!a.startsWith("custom:")&&!a.startsWith("convention:"))throw Error("Invalid custom policy ID");let c=process.env.FAILPROOFAI_LAUNCH_CWD||process.cwd();if(b){for(let b of r.F){let d=(0,o.Z)(b,c);if(!d.disabledCustomPolicies?.includes(a))continue;let e=d.disabledCustomPolicies.filter(b=>b!==a),f={...d,disabledCustomPolicies:e};e.length||delete f.disabledCustomPolicies,(0,o.f)(f,b,c)}return}let d=(0,o.E)(),e=new Set(d.disabledCustomPolicies??[]);e.add(a);let f={...d,disabledCustomPolicies:[...e]};e.size||delete f.disabledCustomPolicies,(0,o.H)(f)}async function S(a,b){let c=a.trim();if(!c)return{ok:!1,error:"Enter a pack source, for example acme/ops"};try{let a=await (0,k.z)(c,b??{});return{ok:!0,id:a.id,version:a.version,enabled:a.enabled,available:a.available}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function T(){try{let a=await (0,k.I)(k.w);return{ok:!0,id:a.id,version:a.version,enabled:a.enabled,available:a.available}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function U(a){let b;try{b=(0,k.R)(a)}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}return b?{ok:!0,id:b}:{ok:!1,error:`No installed pack with id ${a}`}}async function V(a,b,c){let d=(0,k.g)(a,b,c);if(!d.ok)return{ok:!1,error:d.reason};if(c){let c=(0,y.V)().packs.find(b=>b.id===a);if(c){let a=`pack:${c.id}@${c.version}:${b}`,d=(0,o.E)(),e=(d.disabledCustomPolicies??[]).filter(b=>b!==a);if(e.length!==(d.disabledCustomPolicies??[]).length){let{disabledCustomPolicies:a,...b}=d;(0,o.H)(e.length>0?{...b,disabledCustomPolicies:e}:b)}}}return{ok:!0,id:a}}async function W(a){let b=a.trim();if(!b)return{ok:!1,error:"Enter a pack source, for example acme/ops"};try{let a=await (0,k.k)(b);return{ok:!0,id:a.id,version:a.version,source:a.source,effect:a.effect,policies:a.policies.map(a=>({name:a.name,description:a.description,category:a.category,defaultEnabled:a.defaultEnabled})),...a.semantic.length>0?{semantic:a.semantic.map(a=>a.name)}:{},...a.minCliVersion?{minCliVersion:a.minCliVersion}:{}}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function X(a="user",b){let c=(0,o.E)(),d=c.enabledPolicies.length>0?c.enabledPolicies:u.H.filter(a=>a.defaultEnabled&&!a.beta).map(a=>a.name),e=b&&b.length>0?b:(0,s.w)(),f=e.length>0?e:["claude"];await I(d,a,void 0,!1,"web",void 0,!1,f,{syncAgentSelection:!0})}async function Y(a="user",b){let c=b&&b.length>0?b:(0,s.w)(),d=c.length>0?c:["claude"];await K(void 0,a,void 0,{source:"web",cli:d,syncAgentSelection:!0})}async function Z(a,b){let c=(0,o.E)(),d={...c.policyParams??{},[a]:b};(0,o.H)({...c,policyParams:d});try{let c=(0,n._)();await (0,m.f)(c,"policy_params_updated",{policy_name:a,param_keys:Object.keys(b),source:"web"})}catch{}}(0,i.ensureServerEntryExports)([P]),(0,d.registerServerReference)(P,"005f40530ee0913f0dc33a3479bf2f5c22afa8083c",null),(0,i.ensureServerEntryExports)([Q,R]),(0,d.registerServerReference)(Q,"600ced23ccb8a9e484d4d97224d64d275997574c5c",null),(0,d.registerServerReference)(R,"607994c5578e5a2f52941151d4bc620a59f91e4a5a",null),(0,i.ensureServerEntryExports)([S,T,U,V,W]),(0,d.registerServerReference)(S,"606e89f49f88d85ca3f83cff66f1cfd3499e54245e",null),(0,d.registerServerReference)(T,"0091894737391542754ac22e9e988149d8d86587ec",null),(0,d.registerServerReference)(U,"404917efc720f30711179f4926d6090eb451b4271e",null),(0,d.registerServerReference)(V,"703e3ddfd8b0240a37bbe43dd47ab20c4f27b84557",null),(0,d.registerServerReference)(W,"4004c2b9d974ae0fc2f8c6f6e0b9b50b2811e0039f",null),(0,i.ensureServerEntryExports)([X,Y]),(0,d.registerServerReference)(X,"603aaaefb9bed030bbf185af952ce6252653c8cdd5",null),(0,d.registerServerReference)(Y,"60ef411770c2e2856eba3fd19177f0f4baf51d1ebf",null),(0,i.ensureServerEntryExports)([Z]),(0,d.registerServerReference)(Z,"60d7b57a1fcc6e6010c5255fca93c526c3b8281a19",null),a.s(["003e1fdbbe4fdd5c55596a40a7178b9dbeb7625645",0,j,"005f40530ee0913f0dc33a3479bf2f5c22afa8083c",0,P,"00728227e41042729b3182aad2fe4c5d77f021b514",()=>b.f,"0091894737391542754ac22e9e988149d8d86587ec",0,T,"4004c2b9d974ae0fc2f8c6f6e0b9b50b2811e0039f",0,W,"404917efc720f30711179f4926d6090eb451b4271e",0,U,"40597059608d8cfd1326f2f52b5dbf2675d9ae353e",()=>c.x,"603aaaefb9bed030bbf185af952ce6252653c8cdd5",0,X,"6052b34d2e59825e93c0f9f6841554b4a903623a89",()=>c.m,"606e89f49f88d85ca3f83cff66f1cfd3499e54245e",0,S,"607994c5578e5a2f52941151d4bc620a59f91e4a5a",0,R,"60d7b57a1fcc6e6010c5255fca93c526c3b8281a19",0,Z,"60ef411770c2e2856eba3fd19177f0f4baf51d1ebf",0,Y,"703e3ddfd8b0240a37bbe43dd47ab20c4f27b84557",0,V],73338)}];
15
+ Run \`sudo -v\`, then this command again.`))f(b)}let j=(0,s.r)(d,g,c),k="hermes"===a?j:j.filter(a=>(0,e.existsSync)(a));if(0===k.length){if(l+=i,i>0)continue;"all"!==b&&1===h.length&&(f((0,B.m)((0,B.w)(process.stdout)).ok("No settings file found, so there is nothing to remove.")),p=!0);continue}let m=i;for(let a of k){let c=d.removeHooksFromFile(a);if(m+=c,c>0&&"all"!==b)for(let b of(f((0,B.m)((0,B.w)(process.stdout)).ok(`Removed ${c} failproofai ${1===c?"hook":"hooks"} from ${d.displayName} settings.`)),(0,B.m)((0,B.w)(process.stdout)).kv([["settings",a]])))f(b)}if(0===m&&"all"!==b&&1===h.length){f((0,B.m)((0,B.w)(process.stdout)).ok("No hooks found in settings, so there is nothing to remove.")),p=!0;continue}l+=m}}if(p&&0===l)return void k();if("all"===b)for(let a of(f((0,B.m)((0,B.w)(process.stdout)).ok(`Removed ${l} failproofai ${1===l?"hook":"hooks"} from every scope.`)),h)){let b=(0,s.B)(a);for(let a of b.scopes)for(let d of(0,s.r)(b,a,c))f(`${B.J}${b.displayName}, ${a}: ${d}`)}try{let a=(0,n._)();await (0,m.f)(a,"hooks_removed",{scope:b,cli:h,removal_mode:"hooks",policies_removed:j.enabledPolicies,removed_count:l,...d?.source?{source:d.source}:{},platform:(0,q.platform)(),arch:(0,q.arch)(),os_release:(0,q.release)(),hostname_hash:(0,n.F)((0,q.hostname)())})}catch{}if("all"===b)for(let a of r.F){let b=(0,o.Z)(a,c);if(b.enabledPolicies.length>0||b.customPoliciesPaths?.length||b.customPoliciesPath||b.policyParams){let{customPoliciesPath:d,customPoliciesPaths:e,policyParams:f,...g}=b;(0,o.f)({...g,enabledPolicies:[]},a,c)}}else if(!r.F.some(a=>H(a,c))){let{customPoliciesPath:a,customPoliciesPaths:b,policyParams:d,...e}=(0,o.Z)(g,c);(0,o.f)({...e,enabledPolicies:[]},g,c)}k()}var L=a.i(24282),M=a.i(12714);async function N(a,b){let c=process.env.FAILPROOFAI_LAUNCH_CWD||process.cwd(),d=(0,f.resolve)((0,o.Y)(c),".failproofai","policies"),e=(0,h.E)(),g=[];for(let{scope:c,dir:h}of[{scope:"project",dir:d},...e===d?[]:[{scope:"user",dir:e}]]){let d=[];try{d=(0,v.discoverPolicyFiles)(h)}catch{continue}for(let e of d){if(b.has(e))continue;let d=[];try{d=(await O(e)).map(b=>{let d=(0,v.conventionPolicyId)(c,(0,f.basename)(e),b.name);return{...b,id:d,enabled:!a.has(d)}})}catch{}g.push({scope:c,file:(0,f.basename)(e),path:e,policies:d})}}return g}async function O(a){if(!(0,e.existsSync)(a))return[];let b=await (0,M.readFile)(a,"utf-8"),c=[],d=b.split(/customPolicies\.add\s*\(/);for(let a=1;a<d.length;a++){let b=d[a],e=b.match(/name:\s*["'`]([^"'`]+)["'`]/);if(!e)continue;let f=b.match(/description:\s*["'`]([^"'`]+)["'`]/),g=b.match(/events:\s*\[([^\]]+)\]/),h=g?g[1].replace(/["'`\s]/g,"").split(",").filter(Boolean).join(", "):void 0;c.push({name:e[1],description:f?.[1],eventScope:h,id:"",enabled:!0})}return c}async function P(){let a=process.env.FAILPROOFAI_LAUNCH_CWD||process.cwd(),b=(0,o.q)(a),c=new Set(b.disabledCustomPolicies??[]),d=r.F.filter(a=>H(a)),e=E(d[0]??"user"),g=(0,s.u)().map(a=>({id:a.id,label:(0,L.A)(a.id),installed:a.hooksInstalledInSettings("user"),settingsPath:a.getSettingsPath("user"),detected:a.detectInstalled()})),h=[],i=[];try{let a=(0,y.V)();h=a.packs,i=a.errors}catch{}let j=[];for(let a of h){let d=a.enabled??a.policies.map(a=>a.name);for(let e of a.policies)j.push({name:e.name,description:e.description,category:e.category,defaultEnabled:e.defaultEnabled,beta:!1,enabled:d.includes(e.name)&&!c.has(`pack:${a.id}@${a.version}:${e.name}`),eventScope:function(a){let b=a.events?.join(", ")??"",c=a.toolNames?` \xb7 ${a.toolNames.join(", ")}`:"";return`${b}${c}`}(e.match),packId:a.id,packVersion:a.version,...e.params?{params:Object.fromEntries(Object.entries(e.params).map(([a,b])=>[a,{type:b.type,description:b.description,default:b.default}])),currentParams:function(a,b,c){if(!a)return;let d=a[`pack/${b}/${c}`];return d||(b.toLowerCase()===k.w.toLowerCase()?a[c]:void 0)}(b.policyParams,a.id,e.name)??{}}:{}})}let l=(0,o.W)(b),m=(0,o.Y)(a),n=l.map(a=>(0,f.resolve)(m,a)),p=(await Promise.all(n.map(async a=>{try{return(await O(a)).map(b=>{let d=(0,v.customPolicyId)(a,b.name);return{...b,id:d,enabled:!c.has(d)}})}catch{return[]}}))).flat(),q=await N(c,new Set(n)),t=h.map(a=>{let b=a.enabled??a.policies.map(a=>a.name);return{id:a.id,version:a.version,source:a.source,effect:a.effect,policies:a.policies.map(d=>({name:d.name,description:d.description,category:d.category,enabled:b.includes(d.name)&&!c.has(`pack:${a.id}@${a.version}:${d.name}`)}))}});for(let a of i)t.push({id:a.id??"(unnamed pack)",version:"",source:"",effect:"enforce",policies:[],error:a.reason});return{enabledPolicies:b.enabledPolicies,installedScopes:d,settingsPath:e,clis:g,policies:j,customPoliciesPaths:l.length?l:void 0,customPoliciesPath:1===l.length?l[0]:void 0,customPolicies:p.length?p:void 0,conventionPolicies:q,packs:t}}async function Q(a,b){let c=(0,o.E)(),d=new Set(c.enabledPolicies);b?d.add(a):d.delete(a),(0,o.H)({...c,enabledPolicies:[...d]});try{let c=(0,n._)();await (0,m.f)(c,"policy_toggled",{policy_name:a,enabled:b,action:b?"enable":"disable",source:"web"})}catch{}}async function R(a,b){if(!a.startsWith("custom:")&&!a.startsWith("convention:"))throw Error("Invalid custom policy ID");let c=process.env.FAILPROOFAI_LAUNCH_CWD||process.cwd();if(b){for(let b of r.F){let d=(0,o.Z)(b,c);if(!d.disabledCustomPolicies?.includes(a))continue;let e=d.disabledCustomPolicies.filter(b=>b!==a),f={...d,disabledCustomPolicies:e};e.length||delete f.disabledCustomPolicies,(0,o.f)(f,b,c)}return}let d=(0,o.E)(),e=new Set(d.disabledCustomPolicies??[]);e.add(a);let f={...d,disabledCustomPolicies:[...e]};e.size||delete f.disabledCustomPolicies,(0,o.H)(f)}async function S(a,b){let c=a.trim();if(!c)return{ok:!1,error:"Enter a pack source, for example acme/ops"};try{let a=await (0,k.z)(c,b??{});return{ok:!0,id:a.id,version:a.version,enabled:a.enabled,available:a.available}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function T(){try{let a=await (0,k.I)(k.w);return{ok:!0,id:a.id,version:a.version,enabled:a.enabled,available:a.available}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function U(a){let b;try{b=(0,k.R)(a)}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}return b?{ok:!0,id:b}:{ok:!1,error:`No installed pack with id ${a}`}}async function V(a,b,c){let d=(0,k.g)(a,b,c);if(!d.ok)return{ok:!1,error:d.reason};if(c){let c=(0,y.V)().packs.find(b=>b.id===a);if(c){let a=`pack:${c.id}@${c.version}:${b}`,d=(0,o.E)(),e=(d.disabledCustomPolicies??[]).filter(b=>b!==a);if(e.length!==(d.disabledCustomPolicies??[]).length){let{disabledCustomPolicies:a,...b}=d;(0,o.H)(e.length>0?{...b,disabledCustomPolicies:e}:b)}}}return{ok:!0,id:a}}async function W(a){let b=a.trim();if(!b)return{ok:!1,error:"Enter a pack source, for example acme/ops"};try{let a=await (0,k.k)(b);return{ok:!0,id:a.id,version:a.version,source:a.source,effect:a.effect,policies:a.policies.map(a=>({name:a.name,description:a.description,category:a.category,defaultEnabled:a.defaultEnabled})),...a.semantic.length>0?{semantic:a.semantic.map(a=>a.name)}:{},...a.minCliVersion?{minCliVersion:a.minCliVersion}:{}}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function X(a="user",b){let c=(0,o.E)(),d=c.enabledPolicies.length>0?c.enabledPolicies:u.H.filter(a=>a.defaultEnabled&&!a.beta).map(a=>a.name),e=b&&b.length>0?b:(0,s.w)(),f=e.length>0?e:["claude"];await I(d,a,void 0,!1,"web",void 0,!1,f,{syncAgentSelection:!0})}async function Y(a="user",b){let c=b&&b.length>0?b:(0,s.w)(),d=c.length>0?c:["claude"];await K(void 0,a,void 0,{source:"web",cli:d,syncAgentSelection:!0})}async function Z(a,b){let c=(0,o.E)(),d={...c.policyParams??{},[a]:b};(0,o.H)({...c,policyParams:d});try{let c=(0,n._)();await (0,m.f)(c,"policy_params_updated",{policy_name:a,param_keys:Object.keys(b),source:"web"})}catch{}}(0,i.ensureServerEntryExports)([P]),(0,d.registerServerReference)(P,"00c31833e34ccfe367d76278bf16e044588ba8371d",null),(0,i.ensureServerEntryExports)([Q,R]),(0,d.registerServerReference)(Q,"60362e796468ab25332f0eda7924a3701e4f16e3a3",null),(0,d.registerServerReference)(R,"603b75ff3dbe4e43832dd3ddbef359119e4a8b06c5",null),(0,i.ensureServerEntryExports)([S,T,U,V,W]),(0,d.registerServerReference)(S,"604e2cd15d56852adee4fc29ee31f2cd0b7c4d4b57",null),(0,d.registerServerReference)(T,"0037690a8564928273cada82d77295b4f50152838f",null),(0,d.registerServerReference)(U,"40be009d7facad11902ceab2c59ec692574248e9f8",null),(0,d.registerServerReference)(V,"706e167df729ed5d3b7a202dc1778758b4ef691596",null),(0,d.registerServerReference)(W,"40f2551cddefdb953206c4e2a7294508b0d7876997",null),(0,i.ensureServerEntryExports)([X,Y]),(0,d.registerServerReference)(X,"607d8a4ef997a09194cf366a1b64e762b7ae7058c8",null),(0,d.registerServerReference)(Y,"60f7e5f0fe8a961f50fadc68aaabf08529a4152b6a",null),(0,i.ensureServerEntryExports)([Z]),(0,d.registerServerReference)(Z,"601ba8a1e741d54ee7d7b728a3b9ddf16775cbc363",null),a.s(["0037690a8564928273cada82d77295b4f50152838f",0,T,"0085028ebdcdc7b05442823936e8301df482a2a84a",()=>b.f,"00c31833e34ccfe367d76278bf16e044588ba8371d",0,P,"00fc87b479815613ad45f02863e93f0d8a6ced2069",0,j,"40be009d7facad11902ceab2c59ec692574248e9f8",0,U,"40e2a4ec3741f9b54515cf8cdbaf2b096a2af377e4",()=>c.x,"40f2551cddefdb953206c4e2a7294508b0d7876997",0,W,"601ba8a1e741d54ee7d7b728a3b9ddf16775cbc363",0,Z,"603b75ff3dbe4e43832dd3ddbef359119e4a8b06c5",0,R,"604e2cd15d56852adee4fc29ee31f2cd0b7c4d4b57",0,S,"607d8a4ef997a09194cf366a1b64e762b7ae7058c8",0,X,"60ee72ce0b206ad2278e6b42ce4bf3e99600218213",()=>c.m,"60f7e5f0fe8a961f50fadc68aaabf08529a4152b6a",0,Y,"706e167df729ed5d3b7a202dc1778758b4ef691596",0,V],73338)}];
16
16
 
17
17
  //# sourceMappingURL=_next-internal_server_app_policies_page_actions_1sp2-yo5_vm5f.js.map