failproofai 1.0.11-beta.0 → 1.0.11-beta.2

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 (975) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +109 -9
  3. package/.next/standalone/.next/prerender-manifest.json +6 -6
  4. package/.next/standalone/.next/required-server-files.json +17 -2
  5. package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +8 -6
  6. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +2 -3
  7. package/.next/standalone/.next/server/app/_global-error/page.js +13 -8
  8. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  9. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.rsc +17 -13
  12. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +19 -15
  13. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +17 -13
  14. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -1
  15. package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +8 -6
  16. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +2 -3
  17. package/.next/standalone/.next/server/app/_not-found/page.js +17 -12
  18. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  19. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  21. package/.next/standalone/.next/server/app/_not-found.rsc +32 -21
  22. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +32 -21
  23. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +37 -27
  24. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +4 -2
  25. package/.next/standalone/.next/server/app/api/audit/invite/route.js +11 -7
  26. package/.next/standalone/.next/server/app/api/audit/invite/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/audit/run/route.js +38 -11
  28. package/.next/standalone/.next/server/app/api/audit/run/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/audit/status/route.js +6 -4
  30. package/.next/standalone/.next/server/app/api/audit/status/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/auth/login-request/route.js +10 -6
  32. package/.next/standalone/.next/server/app/api/auth/login-request/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/auth/login-verify/route.js +11 -7
  34. package/.next/standalone/.next/server/app/api/auth/login-verify/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/auth/logout/route.js +11 -6
  36. package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/auth/status/route.js +11 -6
  38. package/.next/standalone/.next/server/app/api/auth/status/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js +6 -4
  40. package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/audit/page/build-manifest.json +8 -6
  42. package/.next/standalone/.next/server/app/audit/page/server-reference-manifest.json +4 -6
  43. package/.next/standalone/.next/server/app/audit/page.js +26 -19
  44. package/.next/standalone/.next/server/app/audit/page.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/index.html +1 -1
  47. package/.next/standalone/.next/server/app/index.rsc +30 -20
  48. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +34 -25
  49. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +30 -20
  50. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +3 -2
  51. package/.next/standalone/.next/server/app/page/build-manifest.json +8 -6
  52. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +2 -3
  53. package/.next/standalone/.next/server/app/page.js +20 -14
  54. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  55. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/app/policies/page/build-manifest.json +8 -6
  57. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +28 -42
  58. package/.next/standalone/.next/server/app/policies/page.js +30 -21
  59. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  60. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  61. package/.next/standalone/.next/server/app/project/[name]/page/build-manifest.json +8 -6
  62. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +2 -3
  63. package/.next/standalone/.next/server/app/project/[name]/page.js +44 -20
  64. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  65. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/build-manifest.json +8 -6
  67. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  68. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +4 -6
  69. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js +39 -23
  70. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  71. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/projects/page/build-manifest.json +8 -6
  73. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +2 -3
  74. package/.next/standalone/.next/server/app/projects/page.js +24 -16
  75. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  76. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/settings/page/build-manifest.json +8 -6
  78. package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +16 -24
  79. package/.next/standalone/.next/server/app/settings/page.js +30 -22
  80. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  81. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/chunks/1oeh_server_app_api_download_[project]_[session]_route_actions_1is7vs762er-g.js +3 -0
  83. package/.next/standalone/.next/server/chunks/[externals]__08d8xc5bifn8z._.js +3 -0
  84. package/.next/standalone/.next/server/chunks/{[externals]__0h0p9dm._.js → [externals]__0h0p9dmv_e7r7._.js} +1 -1
  85. package/.next/standalone/.next/server/chunks/{[externals]__0hjaw70._.js → [externals]__0hjaw70fchx66._.js} +1 -1
  86. package/.next/standalone/.next/server/chunks/{[externals]__1oenfmn._.js → [externals]__0qkp92tjfvw8r._.js} +1 -1
  87. package/.next/standalone/.next/server/chunks/[externals]__105ihae9i2b_d._.js +3 -0
  88. package/.next/standalone/.next/server/chunks/{[externals]__0sds_16._.js → [externals]__1_407huhlmj1m._.js} +1 -1
  89. package/.next/standalone/.next/server/chunks/[externals]__1k8s9m68ew993._.js +3 -0
  90. package/.next/standalone/.next/server/chunks/{[externals]__0d7i9ea._.js → [externals]__1rlxpymm37wel._.js} +1 -1
  91. package/.next/standalone/.next/server/chunks/{[externals]__1s462yl._.js → [externals]__1s462ylxpc7-5._.js} +1 -1
  92. package/.next/standalone/.next/server/chunks/[externals]_node_net_1yam_zj43-40b._.js +3 -0
  93. package/.next/standalone/.next/server/chunks/{[externals]_node_os_0by37l-._.js → [externals]_node_os_0by37l-11q5ls._.js} +1 -1
  94. package/.next/standalone/.next/server/chunks/[root-of-the-server]__07l68zv0hqdiu._.js +3 -0
  95. package/.next/standalone/.next/server/chunks/[root-of-the-server]__08dchfudh2_4f._.js +3 -0
  96. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_0xu5zkw15bs._.js +3 -0
  97. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0car70pylmvor._.js +3 -0
  98. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0jz5xqu-p_lfc._.js +3 -0
  99. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0spt0kv8azrpl._.js +3 -0
  100. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0swiyzbmvja2d._.js +327 -0
  101. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0u3i025_setk_._.js +3 -0
  102. package/.next/standalone/.next/server/chunks/[root-of-the-server]__10a2f6s636yc7._.js +3 -0
  103. package/.next/standalone/.next/server/chunks/[root-of-the-server]__168oo8wb5n23f._.js +3 -0
  104. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ey11fel2q2qw._.js +3 -0
  105. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1izwqj_ij_9x_._.js +3 -0
  106. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1qt5u58xrcuk6._.js +3 -0
  107. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1r7kbfkiw2xmu._.js +322 -0
  108. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ztigqa01tigq._.js +3 -0
  109. package/.next/standalone/.next/server/chunks/[turbopack]_runtime.js +146 -16
  110. package/.next/standalone/.next/server/chunks/_09dz7xva4ce_2._.js +27 -0
  111. package/.next/standalone/.next/server/chunks/_0hf5q4xzyg40j._.js +3 -0
  112. package/.next/standalone/.next/server/chunks/_0p53ge1jmkucy._.js +3 -0
  113. package/.next/standalone/.next/server/chunks/_0tovk6q0miud6._.js +3 -0
  114. package/.next/standalone/.next/server/chunks/_0trp3ycqv17cl._.js +3 -0
  115. package/.next/standalone/.next/server/chunks/_1-2owkp-1_987._.js +3 -0
  116. package/.next/standalone/.next/server/chunks/_13ltj8a9z92o8._.js +3 -0
  117. package/.next/standalone/.next/server/chunks/_15k37au70vjvg._.js +3 -0
  118. package/.next/standalone/.next/server/chunks/_18rfu4__wjhwb._.js +3 -0
  119. package/.next/standalone/.next/server/chunks/_19011-u44143j._.js +3 -0
  120. package/.next/standalone/.next/server/chunks/_1ek68lnh2daur._.js +33 -0
  121. package/.next/standalone/.next/server/chunks/_1fz8m31sndkcu._.js +3 -0
  122. package/.next/standalone/.next/server/chunks/_1ixl-kxq_ctsa._.js +3 -0
  123. package/.next/standalone/.next/server/chunks/_1ogwigfb0163w._.js +3 -0
  124. package/.next/standalone/.next/server/chunks/_1vslkoe35wok6._.js +3 -0
  125. package/.next/standalone/.next/server/chunks/{_next-internal_server_app_api_audit_invite_route_actions_0-2n5sy.js → _next-internal_server_app_api_audit_invite_route_actions_0-2n5sycrn1ab.js} +1 -1
  126. package/.next/standalone/.next/server/chunks/{_next-internal_server_app_api_audit_run_route_actions_1qgp9io.js → _next-internal_server_app_api_audit_run_route_actions_1qgp9iombfpdn.js} +1 -1
  127. package/.next/standalone/.next/server/chunks/{_next-internal_server_app_api_audit_status_route_actions_1f7pjof.js → _next-internal_server_app_api_audit_status_route_actions_1f7pjofwh4n7b.js} +1 -1
  128. package/.next/standalone/.next/server/chunks/{_next-internal_server_app_api_auth_login-request_route_actions_1c49co0.js → _next-internal_server_app_api_auth_login-request_route_actions_1c49co0x3-dl8.js} +1 -1
  129. package/.next/standalone/.next/server/chunks/{_next-internal_server_app_api_auth_login-verify_route_actions_1r3slzk.js → _next-internal_server_app_api_auth_login-verify_route_actions_1r3slzk0v320p.js} +1 -1
  130. package/.next/standalone/.next/server/chunks/{_next-internal_server_app_api_auth_logout_route_actions_0regwyr.js → _next-internal_server_app_api_auth_logout_route_actions_0regwyrnie28t.js} +1 -1
  131. package/.next/standalone/.next/server/chunks/{_next-internal_server_app_api_auth_status_route_actions_1aho9zu.js → _next-internal_server_app_api_auth_status_route_actions_1aho9zu4gx9_5.js} +1 -1
  132. package/.next/standalone/.next/server/chunks/lib_11qmqmccehybz._.js +3 -0
  133. package/.next/standalone/.next/server/chunks/lib_1sezqnatvr8j-._.js +3 -0
  134. package/.next/standalone/.next/server/chunks/lib_antigravity-projects_ts_0hdx6fkrln72c._.js +3 -0
  135. package/.next/standalone/.next/server/chunks/lib_antigravity-sessions_ts_0jayregp7h3h5._.js +3 -0
  136. package/.next/standalone/.next/server/chunks/lib_auth_api-server-client_ts_1r1w6kn8-org8._.js +3 -0
  137. package/.next/standalone/.next/server/chunks/lib_auth_auth-store_ts_03o40zz0emkkg._.js +3 -0
  138. package/.next/standalone/.next/server/chunks/lib_codex-projects_ts_0di6zenec7h7n._.js +3 -0
  139. package/.next/standalone/.next/server/chunks/lib_codex-sessions_ts_17znrhpys8lz9._.js +3 -0
  140. package/.next/standalone/.next/server/chunks/lib_copilot-projects_ts_00-tojoja20ke._.js +3 -0
  141. package/.next/standalone/.next/server/chunks/lib_copilot-sessions_ts_200_qjwcll3_i._.js +3 -0
  142. package/.next/standalone/.next/server/chunks/lib_cursor-projects_ts_1carno5mv3ix_._.js +3 -0
  143. package/.next/standalone/.next/server/chunks/lib_cursor-sessions_ts_1lq8fkhczl3_y._.js +3 -0
  144. package/.next/standalone/.next/server/chunks/lib_devin-sessions_ts_0kirblxnhsnmd._.js +3 -0
  145. package/.next/standalone/.next/server/chunks/lib_factory-projects_ts_1eo_bk-vm4wdz._.js +3 -0
  146. package/.next/standalone/.next/server/chunks/lib_factory-sessions_ts_0lwe8buimuthh._.js +3 -0
  147. package/.next/standalone/.next/server/chunks/lib_goose-sessions_ts_15jnf4alr5isl._.js +3 -0
  148. package/.next/standalone/.next/server/chunks/lib_hermes-profiles_ts_0jki1620x7wxh._.js +3 -0
  149. package/.next/standalone/.next/server/chunks/lib_hermes-projects_ts_0h9ny-woruqft._.js +3 -0
  150. package/.next/standalone/.next/server/chunks/lib_hermes-sessions_ts_1bo14h38efuti._.js +3 -0
  151. package/.next/standalone/.next/server/chunks/lib_log-entries_ts_0e1mnh5npsol1._.js +3 -0
  152. package/.next/standalone/.next/server/chunks/{lib_logger_ts_07e65t5._.js → lib_logger_ts_07e65t5sy13vi._.js} +1 -1
  153. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0faqz9x._.js → lib_openclaw-db_ts_0nax8ld9h9ii8._.js} +5 -5
  154. package/.next/standalone/.next/server/chunks/lib_openclaw-projects_ts_0gc-p24z7gzy8._.js +3 -0
  155. package/.next/standalone/.next/server/chunks/lib_openclaw-sessions_ts_06lc8rgfj4huq._.js +3 -0
  156. package/.next/standalone/.next/server/chunks/lib_opencode-projects_ts_1r-bu98cz4660._.js +3 -0
  157. package/.next/standalone/.next/server/chunks/lib_opencode-sessions_ts_0fdxj6q_np7ll._.js +3 -0
  158. package/.next/standalone/.next/server/chunks/lib_pi-projects_ts_1_cy5lfxd21kv._.js +3 -0
  159. package/.next/standalone/.next/server/chunks/lib_pi-sessions_ts_09ha0x-gi38y1._.js +3 -0
  160. package/.next/standalone/.next/server/chunks/lib_projects_ts_01v279z8xccq4._.js +3 -0
  161. package/.next/standalone/.next/server/chunks/lib_telemetry-id_ts_1k8gj9ot530oy._.js +3 -0
  162. package/.next/standalone/.next/server/chunks/lib_telemetry_ts_0dctyyw_s81oo._.js +3 -0
  163. package/.next/standalone/.next/server/chunks/lib_telemetry_ts_1cx7iwiprqsm6._.js +3 -0
  164. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_01r25oigsgz07._.js +4 -0
  165. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_077n_4ip5__fu._.js +3 -0
  166. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_09z9-p77cu37y._.js +4 -0
  167. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mqvvxcn6v0op._.js +3 -0
  168. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0pb7ds5g0vzgn._.js +3 -0
  169. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_1gasm5xkeqmm3._.js +3 -0
  170. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_1q1heqmkhh8l4._.js +3 -0
  171. package/.next/standalone/.next/server/chunks/{package_json_[json]_cjs_1nxcc4v._.js → package_json_[json]_cjs_1nxcc4vkpxxu7._.js} +2 -2
  172. package/.next/standalone/.next/server/chunks/src_hooks_1aveq0uhs2t1b._.js +5 -0
  173. package/.next/standalone/.next/server/chunks/src_hooks_1eem5a7cyqlb2._.js +3 -0
  174. package/.next/standalone/.next/server/chunks/src_hooks_custom-hooks-loader_ts_0lnb3n3h94wnn._.js +12 -0
  175. package/.next/standalone/.next/server/chunks/src_hooks_daemon-client_ts_0il_yu1zc0291._.js +3 -0
  176. package/.next/standalone/.next/server/chunks/src_hooks_fp-config_ts_0ow57t1myy6o_._.js +3 -0
  177. package/.next/standalone/.next/server/chunks/src_hooks_fp-home_ts_09kv0bn_4twyh._.js +3 -0
  178. package/.next/standalone/.next/server/chunks/ssr/{[externals]__0ilfh9m._.js → [externals]__0ilfh9mfnzsth._.js} +1 -1
  179. package/.next/standalone/.next/server/chunks/ssr/{[externals]__0ohnuzs._.js → [externals]__0ohnuzsaozaca._.js} +1 -1
  180. package/.next/standalone/.next/server/chunks/ssr/{[externals]__0vmspq5._.js → [externals]__12qr51qgrrt6o._.js} +2 -2
  181. package/.next/standalone/.next/server/chunks/ssr/[externals]_fs_promises_03norioyty3bq._.js +3 -0
  182. package/.next/standalone/.next/server/chunks/ssr/[externals]_node_net_1yam_zj43-40b._.js +3 -0
  183. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__075uro8t92s0_._.js +14 -0
  184. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0888k4s6spfmh._.js +3 -0
  185. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__08ch3staq3ejw._.js +3 -0
  186. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__08t6vt57mg_42._.js +3 -0
  187. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0_bflu046ep5j._.js +3 -0
  188. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0bigvy9xmv2ka._.js +3 -0
  189. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0fdwgktjfhedo._.js +3 -0
  190. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h1jw32uvrhh0._.js +3 -0
  191. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h86bl2qf0k_o._.js +3 -0
  192. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0hvw4ifjuhdn7._.js +3 -0
  193. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0pia5h3p8re4c._.js +3 -0
  194. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0s4deza787asx._.js +3 -0
  195. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0vcyntk4snf0f._.js +3 -0
  196. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1-9s1nsw-5q8o._.js +3 -0
  197. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1-ey9fgesfbc0._.js +3 -0
  198. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11ujqychsg_3_._.js +3 -0
  199. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__123o89o2a1ht0._.js +3 -0
  200. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__13whohpm024qr._.js +3 -0
  201. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__15bi9em2xe0x2._.js +3 -0
  202. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__15usvs-ms-0hf._.js +3 -0
  203. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__16gb3_92zvk5x._.js +3 -0
  204. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__18qe-hu0gwqm4._.js +3 -0
  205. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1_p_9xe520fex._.js +3 -0
  206. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1_xbg2kx30wp-._.js +3 -0
  207. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1avi2kypusyb_._.js +3 -0
  208. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1czstykkitjd8._.js +3 -0
  209. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1fmhm8_s9i4re._.js +3 -0
  210. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1g76awtnmimd1._.js +3 -0
  211. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1l1qgu5mfapkh._.js +3 -0
  212. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1ob2uzmms1adf._.js +3 -0
  213. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1pczevlpk5lxh._.js +3 -0
  214. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1r7drlqli-ado._.js +3 -0
  215. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1vxwetblyf8vp._.js +3 -0
  216. package/.next/standalone/.next/server/chunks/ssr/[turbopack]_runtime.js +146 -16
  217. package/.next/standalone/.next/server/chunks/ssr/_0-f9uotv7v2n9._.js +3 -0
  218. package/.next/standalone/.next/server/chunks/ssr/_00e4_rvim31u_._.js +3 -0
  219. package/.next/standalone/.next/server/chunks/ssr/_00qm74p9x8cwt._.js +3 -0
  220. package/.next/standalone/.next/server/chunks/ssr/_0bseae9u7g98r._.js +3 -0
  221. package/.next/standalone/.next/server/chunks/ssr/_0eoura3_9gjb-._.js +25 -0
  222. package/.next/standalone/.next/server/chunks/ssr/_0kqw2_f1ywmpo._.js +3 -0
  223. package/.next/standalone/.next/server/chunks/ssr/_0mouhaflye1ro._.js +3 -0
  224. package/.next/standalone/.next/server/chunks/ssr/_0pedwblqdoh58._.js +3 -0
  225. package/.next/standalone/.next/server/chunks/ssr/_0tfqha481f033._.js +4 -0
  226. package/.next/standalone/.next/server/chunks/ssr/_1_ozgifqv1ssi._.js +3 -0
  227. package/.next/standalone/.next/server/chunks/ssr/_1a516zcgtqius._.js +3 -0
  228. package/.next/standalone/.next/server/chunks/ssr/_1ddpc5gj57uuf._.js +3 -0
  229. package/.next/standalone/.next/server/chunks/ssr/_1djqs9i27e4kg._.js +3 -0
  230. package/.next/standalone/.next/server/chunks/ssr/_1ew6ra24vt-ij._.js +3 -0
  231. package/.next/standalone/.next/server/chunks/ssr/_1gb0ifpkowwub._.js +234 -0
  232. package/.next/standalone/.next/server/chunks/ssr/_1or8gixmrpv5i._.js +3 -0
  233. package/.next/standalone/.next/server/chunks/ssr/_1s8zk-upxzp00._.js +3 -0
  234. package/.next/standalone/.next/server/chunks/ssr/_1u9tpla2o6utw._.js +3 -0
  235. package/.next/standalone/.next/server/chunks/ssr/_1v4_ul3sj2lq_._.js +3 -0
  236. package/.next/standalone/.next/server/chunks/ssr/_1y3xzro8ca8t6._.js +3 -0
  237. package/.next/standalone/.next/server/chunks/ssr/_20hn4gn87nsjc._.js +3 -0
  238. package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_policies_page_actions_1sp2-yo5_vm5f.js +17 -0
  239. package/.next/standalone/.next/server/chunks/ssr/app_087bt9wus25zs._.js +3 -0
  240. package/.next/standalone/.next/server/chunks/ssr/app_0trz6ik19xz5_._.js +3 -0
  241. package/.next/standalone/.next/server/chunks/ssr/app_1fvisnppn1unv._.js +3 -0
  242. package/.next/standalone/.next/server/chunks/ssr/app_209u41o446my6._.js +3 -0
  243. package/.next/standalone/.next/server/chunks/ssr/app_actions_get-scheduled-audit_ts_0ei9snixb5fd-._.js +3 -0
  244. package/.next/standalone/.next/server/chunks/ssr/app_audit_0hku_y73ischw._.js +3 -0
  245. package/.next/standalone/.next/server/chunks/ssr/{app_audit__components_audit-dashboard_tsx_0p9ud47._.js → app_audit__components_audit-dashboard_tsx_0p9ud47q0xq5w._.js} +3 -3
  246. package/.next/standalone/.next/server/chunks/ssr/{app_audit_loading_tsx_1j1kc6j._.js → app_audit_loading_tsx_1j1kc6j4v4-rl._.js} +1 -1
  247. package/.next/standalone/.next/server/chunks/ssr/app_components_project-list_tsx_1ke6anr0vt64h._.js +3 -0
  248. package/.next/standalone/.next/server/chunks/ssr/app_components_sessions-list_tsx_0gysftd_pn1m8._.js +3 -0
  249. package/.next/standalone/.next/server/chunks/ssr/app_error_tsx_15zfp7nrwf_b6._.js +3 -0
  250. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0w002m_ccu8zg._.js +3 -0
  251. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_1kp6l3x33jqb6._.js +3 -0
  252. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_19dqvpcz0uxur._.js +8 -0
  253. package/.next/standalone/.next/server/chunks/ssr/app_project_[name]_error_tsx_08qg6ncy93-17._.js +3 -0
  254. package/.next/standalone/.next/server/chunks/ssr/{app_project_[name]_loading_tsx_05-l4uf._.js → app_project_[name]_loading_tsx_05-l4uf5vgzpv._.js} +1 -1
  255. package/.next/standalone/.next/server/chunks/ssr/app_project_[name]_session_[sessionId]_error_tsx_0rf4j1nefwesi._.js +3 -0
  256. package/.next/standalone/.next/server/chunks/ssr/{app_project_[name]_session_[sessionId]_loading_tsx_0l4aixs._.js → app_project_[name]_session_[sessionId]_loading_tsx_0l4aixs89x_2g._.js} +1 -1
  257. package/.next/standalone/.next/server/chunks/ssr/{app_projects_loading_tsx_20-3u8b._.js → app_projects_loading_tsx_20-3u8bb2wqz2._.js} +1 -1
  258. package/.next/standalone/.next/server/chunks/ssr/app_settings_02tf1h47jmhhd._.js +3 -0
  259. package/.next/standalone/.next/server/chunks/ssr/lib_16jvhmthj_k3a._.js +3 -0
  260. package/.next/standalone/.next/server/chunks/ssr/lib_antigravity-projects_ts_0_6zf11xjo990._.js +3 -0
  261. package/.next/standalone/.next/server/chunks/ssr/lib_antigravity-sessions_ts_1xf7so6xrlevb._.js +3 -0
  262. package/.next/standalone/.next/server/chunks/ssr/lib_codex-projects_ts_0pqlw37q6qrb-._.js +3 -0
  263. package/.next/standalone/.next/server/chunks/ssr/lib_copilot-projects_ts_19wl7tpiv2zyg._.js +3 -0
  264. package/.next/standalone/.next/server/chunks/ssr/lib_cursor-projects_ts_18-iwyks4twze._.js +3 -0
  265. package/.next/standalone/.next/server/chunks/ssr/lib_devin-projects_ts_0a64qdyjacs0k._.js +3 -0
  266. package/.next/standalone/.next/server/chunks/ssr/lib_devin-sessions_ts_02u5rpzqjmxdw._.js +3 -0
  267. package/.next/standalone/.next/server/chunks/ssr/lib_factory-projects_ts_1uyaahq_zte1q._.js +3 -0
  268. package/.next/standalone/.next/server/chunks/ssr/lib_factory-sessions_ts_1tx9qelwapqun._.js +3 -0
  269. package/.next/standalone/.next/server/chunks/ssr/lib_format-duration_ts_09vnd_qdginp7._.js +3 -0
  270. package/.next/standalone/.next/server/chunks/ssr/lib_goose-projects_ts_0zkscrisyu15q._.js +3 -0
  271. package/.next/standalone/.next/server/chunks/ssr/lib_goose-sessions_ts_0-aebo0qkd1z9._.js +3 -0
  272. package/.next/standalone/.next/server/chunks/ssr/lib_hermes-profiles_ts_01q9fd6hz34il._.js +3 -0
  273. package/.next/standalone/.next/server/chunks/ssr/lib_hermes-projects_ts_05b8-itvkrig2._.js +3 -0
  274. package/.next/standalone/.next/server/chunks/ssr/lib_hermes-sessions_ts_076dzms3cnx9r._.js +3 -0
  275. package/.next/standalone/.next/server/chunks/ssr/lib_log-entries_ts_0vp7lm0yx4iba._.js +3 -0
  276. package/.next/standalone/.next/server/chunks/ssr/lib_openclaw-projects_ts_0qxq3bp7gsa2t._.js +3 -0
  277. package/.next/standalone/.next/server/chunks/ssr/lib_openclaw-sessions_ts_1f78qf2fle0uv._.js +22 -0
  278. package/.next/standalone/.next/server/chunks/ssr/lib_opencode-db_ts_18dv-h5ry0uo9._.js +3 -0
  279. package/.next/standalone/.next/server/chunks/ssr/lib_opencode-projects_ts_15bjxkmp2wls4._.js +3 -0
  280. package/.next/standalone/.next/server/chunks/ssr/lib_pi-projects_ts_1wikofbccx6w1._.js +3 -0
  281. package/.next/standalone/.next/server/chunks/ssr/lib_projects_ts_0f-jqrg5ftipx._.js +3 -0
  282. package/.next/standalone/.next/server/chunks/ssr/{lib_utils_ts_0az0sfq._.js → lib_utils_ts_0az0sfq5wo-3f._.js} +2 -2
  283. package/.next/standalone/.next/server/chunks/ssr/node_modules_05vgn62--7c5e._.js +3 -0
  284. package/.next/standalone/.next/server/chunks/ssr/node_modules_09s4n108bqreq._.js +3 -0
  285. package/.next/standalone/.next/server/chunks/ssr/node_modules_0dad4au22rq0p._.js +3 -0
  286. package/.next/standalone/.next/server/chunks/ssr/node_modules_0gxlxpuufujz9._.js +33 -0
  287. package/.next/standalone/.next/server/chunks/ssr/node_modules_html-to-image_es_index_15q9vt1a-slcq.js +3 -0
  288. package/.next/standalone/.next/server/chunks/ssr/{node_modules_html-to-image_es_index_1ao30b1.js → node_modules_html-to-image_es_index_1ao30b1e-jmzy.js} +2 -2
  289. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_0zuikgt2xho-v._.js +271 -0
  290. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_0janj0i6dqko7._.js +6 -0
  291. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_158jo-9mwvgad._.js +291 -0
  292. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_19r82zsxo2jj1._.js +291 -0
  293. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_1dupwucoqt5qm._.js +3 -0
  294. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_1et9oq9q9-y3v._.js +3 -0
  295. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j32_ibz4._.js +3 -0
  296. package/.next/standalone/.next/server/chunks/ssr/{node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js → node_modules_next_dist_client_components_builtin_forbidden_0symwr9mbf-fh.js} +1 -1
  297. package/.next/standalone/.next/server/chunks/ssr/{node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js → node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0xky89qu.js} +1 -1
  298. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_compiled_@edge-runtime_cookies_index_1kiz_an963mbg.js +3 -0
  299. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0-uvagv_giw2o.js +3 -0
  300. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_03c7gi5rntgf9.js +3 -0
  301. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_09p-8omsyjg4b.js +3 -0
  302. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0dwo94s84hht0.js +3 -0
  303. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0v-kfiu0qiy63.js +3 -0
  304. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0xrgzyzq__1k6.js +3 -0
  305. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1806lsc28_bd0.js +3 -0
  306. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1j6dd-erq474h.js +3 -0
  307. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1sa65r-crehoe.js +3 -0
  308. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_shared_lib_03w27x2kh17_8._.js +23 -0
  309. package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0dagmbznysrc2._.js +3 -0
  310. package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuznb72p7z._.js +4 -0
  311. package/.next/standalone/.next/server/chunks/ssr/package_json_[json]_cjs_013tntikdft59._.js +3 -0
  312. package/.next/standalone/.next/server/chunks/ssr/src_audit_dashboard-cache_ts_1-v0y_pr_b4vx._.js +3 -0
  313. package/.next/standalone/.next/server/chunks/ssr/src_hooks_0-q0ummbuhlg5._.js +3 -0
  314. package/.next/standalone/.next/server/chunks/ssr/src_hooks_06kzv9ddabn3_._.js +12 -0
  315. package/.next/standalone/.next/server/chunks/ssr/src_hooks_0g194syq7r7ql._.js +3 -0
  316. package/.next/standalone/.next/server/chunks/ssr/src_hooks_1cv9_c4l1tzrm._.js +12 -0
  317. package/.next/standalone/.next/server/chunks/ssr/src_hooks_1kx9e0dx_1-8o._.js +3 -0
  318. package/.next/standalone/.next/server/chunks/ssr/src_hooks_daemon-client_ts_0k41_i7jg6ndv._.js +3 -0
  319. package/.next/standalone/.next/server/chunks/ssr/src_hooks_daemon-service_ts_0ibufora3s_bw._.js +3 -0
  320. package/.next/standalone/.next/server/chunks/ssr/src_hooks_effective-reviewers_ts_1h4wtvo55j16x._.js +5 -0
  321. package/.next/standalone/.next/server/chunks/ssr/src_hooks_fp-config_ts_04t589gp4p60j._.js +4 -0
  322. package/.next/standalone/.next/server/chunks/ssr/src_hooks_fp-home_ts_0je3xkv_2e7f7._.js +3 -0
  323. package/.next/standalone/.next/server/chunks/ssr/src_hooks_hook-activity-store_ts_178ewqzp9cvrg._.js +3 -0
  324. package/.next/standalone/.next/server/chunks/ssr/src_hooks_pack-cli_ts_0t7me658zqmh_._.js +3 -0
  325. package/.next/standalone/.next/server/chunks/ssr/src_hooks_semantic_pack-policies_ts_0gh_bu_3oswax._.js +3 -0
  326. package/.next/standalone/.next/server/instrumentation.js +1 -1
  327. package/.next/standalone/.next/server/middleware-build-manifest.js +109 -9
  328. package/.next/standalone/.next/server/middleware.js +2 -2
  329. package/.next/standalone/.next/server/pages/404.html +1 -1
  330. package/.next/standalone/.next/server/pages/500.html +1 -1
  331. package/.next/standalone/.next/server/preview-props.json +5 -0
  332. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  333. package/.next/standalone/.next/server/server-reference-manifest.json +54 -85
  334. package/.next/standalone/.next/static/chunks/08fodmjweitv-.js +6 -0
  335. package/.next/standalone/.next/static/chunks/0dr6b-sp478i9.js +1 -0
  336. package/.next/standalone/.next/static/chunks/0m-tv1y6ghhtk.js +1 -0
  337. package/.next/standalone/.next/static/chunks/0qeojb9uu_8_e.js +1 -0
  338. package/.next/standalone/.next/static/chunks/0zw6_ase89dfk.js +1 -0
  339. package/.next/standalone/.next/static/chunks/1024g0jaymm46.js +1 -0
  340. package/.next/standalone/.next/static/chunks/165ezyyx0j1ft.js +22 -0
  341. package/.next/standalone/.next/static/chunks/{1mylcr99gccyz.js → 1v1mi4-0ziecn.js} +2 -2
  342. package/.next/standalone/.next/static/chunks/{3_e_wg5_oay87.css → 26c4gmdpsthv6.css} +1 -1
  343. package/.next/standalone/.next/static/chunks/276ifklxc2-x4.js +1 -0
  344. package/.next/standalone/.next/static/chunks/281u-2vtn53n5.js +1 -0
  345. package/.next/standalone/.next/static/chunks/2_sj5ssr_m_wm.js +1 -0
  346. package/.next/standalone/.next/static/chunks/2cn0x2d6tyiuq.js +31 -0
  347. package/.next/standalone/.next/static/chunks/{34jpdb2xjm-x7.js → 2j5zpvs3pd7mw.js} +1 -1
  348. package/.next/standalone/.next/static/chunks/2l7j1dpmejuqn.js +1 -0
  349. package/.next/standalone/.next/static/chunks/2ojf3r8g4tn7s.js +1 -0
  350. package/.next/standalone/.next/static/chunks/2zyrjasvbmwpq.js +1 -0
  351. package/.next/standalone/.next/static/chunks/31fan-ze541d1.js +1 -0
  352. package/.next/standalone/.next/static/chunks/32s3y34p0t2pe.js +1 -0
  353. package/.next/standalone/.next/static/chunks/36re0fegaocq-.js +1 -0
  354. package/.next/standalone/.next/static/chunks/3fhk60ouw_ae6.js +1 -0
  355. package/.next/standalone/.next/static/chunks/3oin924a_3ohe.js +1 -0
  356. package/.next/standalone/.next/static/chunks/{3zkg2s2vzxc3d.js → 3vpfbqzaue6_i.js} +1 -1
  357. package/.next/standalone/.next/static/chunks/3xhybr6ywsmdf.js +1 -0
  358. package/.next/standalone/.next/static/chunks/turbopack-3-ry682tkyiqk.js +1 -0
  359. package/.next/standalone/fp-cloud-cli/uv.lock +6 -6
  360. package/.next/standalone/hermes-plugin/plugin.yaml +1 -1
  361. package/.next/standalone/node_modules/@next/env/package.json +1 -1
  362. package/.next/standalone/node_modules/next/dist/build/define-env.js +12 -18
  363. package/.next/standalone/node_modules/next/dist/build/next-config-ts/transpile-config.js +1 -5
  364. package/.next/standalone/node_modules/next/dist/build/nft.js +119 -0
  365. package/.next/standalone/node_modules/next/dist/build/segment-config/app/app-segment-config.js +19 -5
  366. package/.next/standalone/node_modules/next/dist/build/segment-config/app/app-segments.js +120 -29
  367. package/.next/standalone/node_modules/next/dist/build/segment-config/app/collect-root-param-keys.js +1 -5
  368. package/.next/standalone/node_modules/next/dist/build/static-paths/app/extract-pathname-route-param-segments-from-loader-tree.js +8 -2
  369. package/.next/standalone/node_modules/next/dist/build/static-paths/app.js +230 -133
  370. package/.next/standalone/node_modules/next/dist/build/static-paths/pages.js +8 -40
  371. package/.next/standalone/node_modules/next/dist/build/static-paths/param-matching.js +200 -0
  372. package/.next/standalone/node_modules/next/dist/build/swc/index.js +92 -162
  373. package/.next/standalone/node_modules/next/dist/build/utils.js +180 -90
  374. package/.next/standalone/node_modules/next/dist/cli/next-test.js +4 -0
  375. package/.next/standalone/node_modules/next/dist/client/app-call-server.js +16 -18
  376. package/.next/standalone/node_modules/next/dist/client/components/app-router-instance.js +43 -187
  377. package/.next/standalone/node_modules/next/dist/client/components/{segment-cache/navigation.js → app-router-state.js} +88 -334
  378. package/.next/standalone/node_modules/next/dist/client/components/app-router-utils.js +1 -5
  379. package/.next/standalone/node_modules/next/dist/client/components/app-router.js +83 -74
  380. package/.next/standalone/node_modules/next/dist/client/components/dev-root-http-access-fallback-boundary.js +1 -5
  381. package/.next/standalone/node_modules/next/dist/client/components/forbidden.js +2 -10
  382. package/.next/standalone/node_modules/next/dist/client/components/handle-isr-error.js +19 -4
  383. package/.next/standalone/node_modules/next/dist/client/components/instant-samples.js +4 -11
  384. package/.next/standalone/node_modules/next/dist/client/components/links.js +6 -7
  385. package/.next/standalone/node_modules/next/dist/client/components/navigation-dynamic-rendering.js +3 -3
  386. package/.next/standalone/node_modules/next/dist/client/components/navigation-untracked.js +1 -2
  387. package/.next/standalone/node_modules/next/dist/client/components/navigation.js +2 -6
  388. package/.next/standalone/node_modules/next/dist/client/components/navigation.react-server.js +1 -5
  389. package/.next/standalone/node_modules/next/dist/client/components/navigator.js +73 -0
  390. package/.next/standalone/node_modules/next/dist/client/components/not-found.js +1 -5
  391. package/.next/standalone/node_modules/next/dist/client/components/prefetch.js +83 -0
  392. package/.next/standalone/node_modules/next/dist/client/components/readonly-url-search-params.js +0 -5
  393. package/.next/standalone/node_modules/next/dist/client/components/redirect.js +3 -15
  394. package/.next/standalone/node_modules/next/dist/client/components/{router-reducer/ppr-navigations.js → render-tree.js} +365 -400
  395. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/compute-changed-path.js +13 -5
  396. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js +67 -54
  397. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js +1 -7
  398. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/create-segment-key.js +42 -0
  399. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/fetch-server-response.js +71 -50
  400. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js +4 -4
  401. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/hmr-refresh-reducer.js +2 -2
  402. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js +5 -5
  403. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js +11 -8
  404. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js +12 -9
  405. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js +30 -29
  406. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js +5 -5
  407. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/router-reducer.js +2 -10
  408. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/bfcache.js +11 -21
  409. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/cache.js +1168 -1181
  410. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/decode-server-response.js +419 -0
  411. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/navigation-testing-lock.js +1 -1
  412. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/optimistic-routes.js +77 -82
  413. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/scheduler.js +464 -425
  414. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/types.js +12 -3
  415. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/vary-path.js +140 -126
  416. package/.next/standalone/node_modules/next/dist/client/components/sequential-router-queue.js +163 -0
  417. package/.next/standalone/node_modules/next/dist/client/components/unauthorized.js +2 -10
  418. package/.next/standalone/node_modules/next/dist/client/components/unstable-rethrow.js +1 -2
  419. package/.next/standalone/node_modules/next/dist/client/components/use-action-queue.js +2 -10
  420. package/.next/standalone/node_modules/next/dist/client/dev/debug-channel.js +6 -323
  421. package/.next/standalone/node_modules/next/dist/client/flight-data-helpers.js +41 -94
  422. package/.next/standalone/node_modules/next/dist/client/route-params.js +34 -12
  423. package/.next/standalone/node_modules/next/dist/client/sequential-call-server.js +45 -0
  424. package/.next/standalone/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/index.js +1 -1
  425. package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +203 -59
  426. package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +203 -59
  427. package/.next/standalone/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +5 -3
  428. package/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +13 -13
  429. package/.next/standalone/node_modules/next/dist/compiled/react-is/package.json +1 -1
  430. package/.next/standalone/node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js +1 -1
  431. package/.next/standalone/node_modules/next/dist/experimental/testmode/fetch.js +2 -10
  432. package/.next/standalone/node_modules/next/dist/export/helpers/create-incremental-cache.js +21 -16
  433. package/.next/standalone/node_modules/next/dist/export/utils.js +37 -0
  434. package/.next/standalone/node_modules/next/dist/lib/batcher.js +2 -2
  435. package/.next/standalone/node_modules/next/dist/lib/dist-dir.js +88 -0
  436. package/.next/standalone/node_modules/next/dist/lib/download-swc.js +2 -10
  437. package/.next/standalone/node_modules/next/dist/lib/fallback.js +3 -15
  438. package/.next/standalone/node_modules/next/dist/lib/find-pages-dir.js +2 -10
  439. package/.next/standalone/node_modules/next/dist/lib/helpers/get-cache-directory.js +1 -5
  440. package/.next/standalone/node_modules/next/dist/lib/helpers/get-npx-command.js +1 -1
  441. package/.next/standalone/node_modules/next/dist/lib/helpers/get-registry.js +1 -5
  442. package/.next/standalone/node_modules/next/dist/lib/helpers/git.js +52 -7
  443. package/.next/standalone/node_modules/next/dist/lib/inline-static-env.js +1 -5
  444. package/.next/standalone/node_modules/next/dist/lib/is-error.js +3 -15
  445. package/.next/standalone/node_modules/next/dist/lib/is-serializable-props.js +6 -35
  446. package/.next/standalone/node_modules/next/dist/lib/metadata/index.js +18 -0
  447. package/.next/standalone/node_modules/next/dist/lib/metadata/metadata-elements.js +1498 -0
  448. package/.next/standalone/node_modules/next/dist/lib/metadata/metadata-parallel.js +175 -0
  449. package/.next/standalone/node_modules/next/dist/lib/metadata/metadata-resolution-primitives.js +467 -0
  450. package/.next/standalone/node_modules/next/dist/lib/metadata/metadata.js +30 -1516
  451. package/.next/standalone/node_modules/next/dist/lib/metadata/resolve-metadata-parallel.js +632 -0
  452. package/.next/standalone/node_modules/next/dist/lib/metadata/resolve-metadata.js +15 -414
  453. package/.next/standalone/node_modules/next/dist/lib/mkcert.js +4 -20
  454. package/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +4 -8
  455. package/.next/standalone/node_modules/next/dist/lib/picocolors.js +10 -0
  456. package/.next/standalone/node_modules/next/dist/lib/pretty-bytes.js +1 -5
  457. package/.next/standalone/node_modules/next/dist/lib/recursive-delete.js +50 -11
  458. package/.next/standalone/node_modules/next/dist/lib/resolve-build-paths.js +1 -5
  459. package/.next/standalone/node_modules/next/dist/lib/resolve-from.js +2 -10
  460. package/.next/standalone/node_modules/next/dist/lib/static-env.js +1 -5
  461. package/.next/standalone/node_modules/next/dist/lib/typescript/getTypeScriptConfiguration.js +3 -15
  462. package/.next/standalone/node_modules/next/dist/lib/typescript/missingDependencyError.js +1 -5
  463. package/.next/standalone/node_modules/next/dist/lib/typescript/runTypeCheck.js +1 -9
  464. package/.next/standalone/node_modules/next/dist/lib/typescript/runTypeCheckCli.js +0 -1
  465. package/.next/standalone/node_modules/next/dist/lib/typescript/runTypeScriptCli.js +4 -16
  466. package/.next/standalone/node_modules/next/dist/lib/verify-partytown-setup.js +1 -5
  467. package/.next/standalone/node_modules/next/dist/lib/warn-missing-react-dependencies.js +33 -0
  468. package/.next/standalone/node_modules/next/dist/lib/worker.js +1 -5
  469. package/.next/standalone/node_modules/next/dist/server/accept-header.js +3 -15
  470. package/.next/standalone/node_modules/next/dist/server/after/after-context.js +5 -25
  471. package/.next/standalone/node_modules/next/dist/server/after/after.js +1 -5
  472. package/.next/standalone/node_modules/next/dist/server/after/awaiter.js +1 -5
  473. package/.next/standalone/node_modules/next/dist/server/after/run-with-after.js +2 -2
  474. package/.next/standalone/node_modules/next/dist/server/api-utils/index.js +1 -10
  475. package/.next/standalone/node_modules/next/dist/server/api-utils/node/api-resolver.js +10 -50
  476. package/.next/standalone/node_modules/next/dist/server/api-utils/node/parse-body.js +3 -15
  477. package/.next/standalone/node_modules/next/dist/server/app-render/action-async-storage-instance.js +1 -1
  478. package/.next/standalone/node_modules/next/dist/server/app-render/action-handler.js +104 -141
  479. package/.next/standalone/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js +1 -1
  480. package/.next/standalone/node_modules/next/dist/server/app-render/app-render-prerender-utils.js +6 -30
  481. package/.next/standalone/node_modules/next/dist/server/app-render/app-render-render-utils.js +1 -5
  482. package/.next/standalone/node_modules/next/dist/server/app-render/app-render-scheduling.js +3 -15
  483. package/.next/standalone/node_modules/next/dist/server/app-render/app-render.js +1346 -1211
  484. package/.next/standalone/node_modules/next/dist/server/app-render/async-local-storage.js +11 -6
  485. package/.next/standalone/node_modules/next/dist/server/app-render/blocking-route-messages.js +119 -70
  486. package/.next/standalone/node_modules/next/dist/server/app-render/cache-signal.js +61 -35
  487. package/.next/standalone/node_modules/next/dist/server/app-render/collect-segment-data.js +326 -260
  488. package/.next/standalone/node_modules/next/dist/server/app-render/console-async-storage-instance.js +1 -1
  489. package/.next/standalone/node_modules/next/dist/server/app-render/create-component-tree.js +136 -160
  490. package/.next/standalone/node_modules/next/dist/server/app-render/create-error-handler.js +12 -6
  491. package/.next/standalone/node_modules/next/dist/server/app-render/create-transport-tree-from-loader-tree.js +190 -0
  492. package/.next/standalone/node_modules/next/dist/server/app-render/debug-channel-server.web.js +1 -5
  493. package/.next/standalone/node_modules/next/dist/server/app-render/dev-validation-error-delivery.js +1 -10
  494. package/.next/standalone/node_modules/next/dist/server/app-render/dev-validation-scheduler.js +4 -5
  495. package/.next/standalone/node_modules/next/dist/server/app-render/dev-validation-worker-snapshot.js +3 -1
  496. package/.next/standalone/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js +1 -1
  497. package/.next/standalone/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js +26 -3
  498. package/.next/standalone/node_modules/next/dist/server/app-render/dynamic-rendering-client.js +124 -0
  499. package/.next/standalone/node_modules/next/dist/server/app-render/dynamic-rendering.js +260 -329
  500. package/.next/standalone/node_modules/next/dist/server/app-render/encryption-utils.js +1 -5
  501. package/.next/standalone/node_modules/next/dist/server/app-render/encryption.js +4 -17
  502. package/.next/standalone/node_modules/next/dist/server/app-render/entry-base.js +1 -6
  503. package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/boundary-impl.js +3 -12
  504. package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js +2 -2
  505. package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/instant-config.js +4 -12
  506. package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js +13 -62
  507. package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/instant-validation.js +145 -206
  508. package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/stream-utils.js +2 -10
  509. package/.next/standalone/node_modules/next/dist/server/app-render/manifests-singleton.js +110 -38
  510. package/.next/standalone/node_modules/next/dist/server/app-render/module-loading/track-dynamic-import.js +2 -10
  511. package/.next/standalone/node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js +1 -1
  512. package/.next/standalone/node_modules/next/dist/server/app-render/parse-and-validate-flight-router-state.js +3 -15
  513. package/.next/standalone/node_modules/next/dist/server/app-render/postponed-state.js +87 -51
  514. package/.next/standalone/node_modules/next/dist/server/app-render/prospective-render-utils.js +2 -6
  515. package/.next/standalone/node_modules/next/dist/server/app-render/render-in-browser.js +27 -0
  516. package/.next/standalone/node_modules/next/dist/server/app-render/required-scripts.js +1 -5
  517. package/.next/standalone/node_modules/next/dist/server/app-render/rsc/taint.js +1 -5
  518. package/.next/standalone/node_modules/next/dist/server/app-render/segment-config/ensure-static.js +206 -0
  519. package/.next/standalone/node_modules/next/dist/server/app-render/staged-rendering.js +46 -54
  520. package/.next/standalone/node_modules/next/dist/server/app-render/stream-ops.node.js +18 -12
  521. package/.next/standalone/node_modules/next/dist/server/app-render/stream-ops.web.js +4 -20
  522. package/.next/standalone/node_modules/next/dist/server/app-render/sync-io-messages.js +2 -10
  523. package/.next/standalone/node_modules/next/dist/server/app-render/types.js +2 -1
  524. package/.next/standalone/node_modules/next/dist/server/app-render/use-flight-response.js +4 -17
  525. package/.next/standalone/node_modules/next/dist/server/app-render/vary-params.js +12 -11
  526. package/.next/standalone/node_modules/next/dist/server/app-render/walk-tree-with-flight-router-state.js +95 -97
  527. package/.next/standalone/node_modules/next/dist/server/app-render/work-async-storage-instance.js +1 -1
  528. package/.next/standalone/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js +1 -1
  529. package/.next/standalone/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js +36 -26
  530. package/.next/standalone/node_modules/next/dist/server/async-storage/draft-mode-provider.js +1 -5
  531. package/.next/standalone/node_modules/next/dist/server/async-storage/request-store.js +6 -5
  532. package/.next/standalone/node_modules/next/dist/server/async-storage/work-store.js +24 -26
  533. package/.next/standalone/node_modules/next/dist/server/base-http/node.js +1 -5
  534. package/.next/standalone/node_modules/next/dist/server/base-http/web.js +4 -12
  535. package/.next/standalone/node_modules/next/dist/server/base-server.js +346 -155
  536. package/.next/standalone/node_modules/next/dist/server/client-component-renderer-logger.js +129 -28
  537. package/.next/standalone/node_modules/next/dist/server/config-schema.js +61 -9
  538. package/.next/standalone/node_modules/next/dist/server/config-shared.js +26 -4
  539. package/.next/standalone/node_modules/next/dist/server/config.js +154 -332
  540. package/.next/standalone/node_modules/next/dist/server/dev/debug-channel.js +1 -5
  541. package/.next/standalone/node_modules/next/dist/server/dev/dev-validation-worker-pool.js +1 -0
  542. package/.next/standalone/node_modules/next/dist/server/dev/get-source-map-from-file.js +5 -25
  543. package/.next/standalone/node_modules/next/dist/server/dev/hot-middleware.js +27 -1
  544. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +338 -200
  545. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-types.js +3 -0
  546. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +26 -20
  547. package/.next/standalone/node_modules/next/dist/server/dev/messages.js +2 -10
  548. package/.next/standalone/node_modules/next/dist/server/dev/middleware-turbopack.js +4 -20
  549. package/.next/standalone/node_modules/next/dist/server/dev/middleware-webpack.js +2 -10
  550. package/.next/standalone/node_modules/next/dist/server/dev/node-stack-frames.js +2 -19
  551. package/.next/standalone/node_modules/next/dist/server/dev/on-demand-entry-handler.js +12 -12
  552. package/.next/standalone/node_modules/next/dist/server/dev/runtime-error-state.js +220 -0
  553. package/.next/standalone/node_modules/next/dist/server/dev/serialized-errors.js +1 -5
  554. package/.next/standalone/node_modules/next/dist/server/dev/static-paths-worker.js +16 -15
  555. package/.next/standalone/node_modules/next/dist/server/dev/turbopack-utils.js +20 -36
  556. package/.next/standalone/node_modules/next/dist/server/dev/use-cache-probe-pool.js +1 -0
  557. package/.next/standalone/node_modules/next/dist/server/dev/use-cache-probe-worker.js +4 -3
  558. package/.next/standalone/node_modules/next/dist/server/dynamic-rendering-utils.js +298 -55
  559. package/.next/standalone/node_modules/next/dist/server/image-optimizer/detect-content-type.js +229 -0
  560. package/.next/standalone/node_modules/next/dist/server/image-optimizer/extract-etag.js +53 -0
  561. package/.next/standalone/node_modules/next/dist/server/image-optimizer/get-image-size.js +25 -0
  562. package/.next/standalone/node_modules/next/dist/server/image-optimizer/get-max-age.js +41 -0
  563. package/.next/standalone/node_modules/next/dist/server/image-optimizer/get-previously-cached-image-or-null.js +22 -0
  564. package/.next/standalone/node_modules/next/dist/server/image-optimizer/image-error.js +23 -0
  565. package/.next/standalone/node_modules/next/dist/server/image-optimizer/image-type.js +86 -0
  566. package/.next/standalone/node_modules/next/dist/server/image-optimizer/transform.js +227 -0
  567. package/.next/standalone/node_modules/next/dist/server/image-optimizer.js +78 -674
  568. package/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +19 -9
  569. package/.next/standalone/node_modules/next/dist/server/lib/cache-handlers/default.js +9 -13
  570. package/.next/standalone/node_modules/next/dist/server/lib/chrome-devtools-workspace.js +1 -5
  571. package/.next/standalone/node_modules/next/dist/server/lib/dedupe-fetch.js +1 -5
  572. package/.next/standalone/node_modules/next/dist/server/lib/dev-bundler-service.js +6 -6
  573. package/.next/standalone/node_modules/next/dist/server/lib/generate-agent-files.js +158 -35
  574. package/.next/standalone/node_modules/next/dist/server/lib/i18n-provider.js +1 -5
  575. package/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +14 -20
  576. package/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/index.js +19 -29
  577. package/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js +1 -5
  578. package/.next/standalone/node_modules/next/dist/server/lib/lazy-module.js +1 -5
  579. package/.next/standalone/node_modules/next/dist/server/lib/lru-cache.js +1 -5
  580. package/.next/standalone/node_modules/next/dist/server/lib/mock-request.js +24 -120
  581. package/.next/standalone/node_modules/next/dist/server/lib/module-loader/node-module-loader.js +1 -5
  582. package/.next/standalone/node_modules/next/dist/server/lib/module-loader/route-module-loader.js +1 -5
  583. package/.next/standalone/node_modules/next/dist/server/lib/params-utils.js +0 -18
  584. package/.next/standalone/node_modules/next/dist/server/lib/patch-fetch.js +44 -38
  585. package/.next/standalone/node_modules/next/dist/server/lib/postponed-request-body.js +1 -5
  586. package/.next/standalone/node_modules/next/dist/server/lib/render-server.js +2 -10
  587. package/.next/standalone/node_modules/next/dist/server/lib/router-server.js +106 -36
  588. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/build-data-route.js +26 -3
  589. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/cache-life-type-utils.js +14 -45
  590. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/decode-path-params.js +1 -5
  591. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/filesystem.js +212 -31
  592. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js +61 -1
  593. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js +1 -5
  594. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/normalize-catchall-routes.js +320 -0
  595. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/proxy-request.js +2 -2
  596. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/resolve-routes.js +17 -11
  597. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/strict-route-matching-config.js +28 -0
  598. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/typegen.js +56 -10
  599. package/.next/standalone/node_modules/next/dist/server/lib/start-server.js +48 -38
  600. package/.next/standalone/node_modules/next/dist/server/lib/trace/constants.js +40 -0
  601. package/.next/standalone/node_modules/next/dist/server/lib/trace/request-insights-identity.js +1 -3
  602. package/.next/standalone/node_modules/next/dist/server/lib/trace/tracer.js +10 -10
  603. package/.next/standalone/node_modules/next/dist/server/lib/utils.js +66 -15
  604. package/.next/standalone/node_modules/next/dist/server/lib/worker-utils.js +1 -5
  605. package/.next/standalone/node_modules/next/dist/server/load-components.js +7 -2
  606. package/.next/standalone/node_modules/next/dist/server/load-manifest.external.js +16 -17
  607. package/.next/standalone/node_modules/next/dist/server/mcp/tools/utils/browser-communication.js +2 -10
  608. package/.next/standalone/node_modules/next/dist/server/mcp/tools/utils/format-errors.js +5 -5
  609. package/.next/standalone/node_modules/next/dist/server/next-server.js +130 -124
  610. package/.next/standalone/node_modules/next/dist/server/next.js +25 -37
  611. package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/console-dim.external.js +1 -2
  612. package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js +115 -62
  613. package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/global-behaviors.js +1 -5
  614. package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/io-utils.js +11 -10
  615. package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/process-error-handlers.js +0 -9
  616. package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js +1 -12
  617. package/.next/standalone/node_modules/next/dist/server/normalizers/built/app/app-page-normalizer.js +1 -1
  618. package/.next/standalone/node_modules/next/dist/server/normalizers/request/base-path.js +1 -5
  619. package/.next/standalone/node_modules/next/dist/server/normalizers/request/next-data.js +1 -5
  620. package/.next/standalone/node_modules/next/dist/server/normalizers/request/prefix.js +1 -5
  621. package/.next/standalone/node_modules/next/dist/server/og/cache-image-response.js +2 -7
  622. package/.next/standalone/node_modules/next/dist/server/patch-error-inspect.js +19 -11
  623. package/.next/standalone/node_modules/next/dist/server/pipe-readable.js +42 -30
  624. package/.next/standalone/node_modules/next/dist/server/render-result.js +5 -17
  625. package/.next/standalone/node_modules/next/dist/server/render.js +37 -183
  626. package/.next/standalone/node_modules/next/dist/server/request/cache-stages.js +250 -0
  627. package/.next/standalone/node_modules/next/dist/server/request/connection.js +9 -40
  628. package/.next/standalone/node_modules/next/dist/server/request/cookies.js +11 -46
  629. package/.next/standalone/node_modules/next/dist/server/request/draft-mode.js +14 -60
  630. package/.next/standalone/node_modules/next/dist/server/request/fallback-params.js +23 -9
  631. package/.next/standalone/node_modules/next/dist/server/request/headers.js +10 -44
  632. package/.next/standalone/node_modules/next/dist/server/request/io.js +2 -11
  633. package/.next/standalone/node_modules/next/dist/server/request/params.js +62 -196
  634. package/.next/standalone/node_modules/next/dist/server/request/pathname.js +9 -61
  635. package/.next/standalone/node_modules/next/dist/server/request/root-params.js +25 -81
  636. package/.next/standalone/node_modules/next/dist/server/request/search-params.js +42 -119
  637. package/.next/standalone/node_modules/next/dist/server/request/utils.js +3 -10
  638. package/.next/standalone/node_modules/next/dist/server/response-cache/index.js +54 -32
  639. package/.next/standalone/node_modules/next/dist/server/response-cache/utils.js +1 -5
  640. package/.next/standalone/node_modules/next/dist/server/response-cache/web.js +5 -2
  641. package/.next/standalone/node_modules/next/dist/server/resume-data-cache/cache-store.js +18 -0
  642. package/.next/standalone/node_modules/next/dist/server/resume-data-cache/resume-data-cache.js +51 -49
  643. package/.next/standalone/node_modules/next/dist/server/revalidation-utils.js +15 -13
  644. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/dev-render-context.js +23 -0
  645. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.js +5 -4
  646. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/module.js +13 -1
  647. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/module.render.js +26 -11
  648. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/parse-request-headers.js +58 -0
  649. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.js +1 -5
  650. package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.js +1 -5
  651. package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/helpers/auto-implement-methods.js +1 -5
  652. package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/module.js +399 -432
  653. package/.next/standalone/node_modules/next/dist/server/route-modules/pages/module.render.js +1 -5
  654. package/.next/standalone/node_modules/next/dist/server/route-modules/pages/pages-handler.js +20 -16
  655. package/.next/standalone/node_modules/next/dist/server/route-modules/pages-api/module.js +1 -5
  656. package/.next/standalone/node_modules/next/dist/server/route-modules/route-module.js +57 -61
  657. package/.next/standalone/node_modules/next/dist/server/serve-static.js +1 -5
  658. package/.next/standalone/node_modules/next/dist/server/setup-http-agent-env.js +1 -5
  659. package/.next/standalone/node_modules/next/dist/server/stream-utils/encoded-tags.js +1 -1
  660. package/.next/standalone/node_modules/next/dist/server/stream-utils/node-web-streams-helper.js +7 -11
  661. package/.next/standalone/node_modules/next/dist/server/typescript/constant.js +2 -0
  662. package/.next/standalone/node_modules/next/dist/server/typescript/rules/config.js +29 -2
  663. package/.next/standalone/node_modules/next/dist/server/use-cache/cache-life-profile.js +6 -30
  664. package/.next/standalone/node_modules/next/dist/server/use-cache/cache-life.js +9 -32
  665. package/.next/standalone/node_modules/next/dist/server/use-cache/cache-tag.js +6 -12
  666. package/.next/standalone/node_modules/next/dist/server/use-cache/constants.js +1 -5
  667. package/.next/standalone/node_modules/next/dist/server/use-cache/handlers.js +27 -36
  668. package/.next/standalone/node_modules/next/dist/server/use-cache/tiered-cache-handler.js +6 -4
  669. package/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-errors.js +18 -19
  670. package/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-messages.js +190 -0
  671. package/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-wrapper.js +485 -407
  672. package/.next/standalone/node_modules/next/dist/server/web/adapter.js +14 -35
  673. package/.next/standalone/node_modules/next/dist/server/web/edge-route-module-wrapper.js +6 -7
  674. package/.next/standalone/node_modules/next/dist/server/web/error.js +0 -15
  675. package/.next/standalone/node_modules/next/dist/server/web/globals.js +3 -15
  676. package/.next/standalone/node_modules/next/dist/server/web/next-url.js +1 -5
  677. package/.next/standalone/node_modules/next/dist/server/web/sandbox/context.js +10 -34
  678. package/.next/standalone/node_modules/next/dist/server/web/sandbox/sandbox.js +1 -5
  679. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/adapters/headers.js +0 -5
  680. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/adapters/next-request.js +1 -5
  681. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js +0 -5
  682. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/fetch-event.js +2 -10
  683. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/image-response.js +1 -5
  684. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/response.js +2 -10
  685. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/revalidate.js +28 -66
  686. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/unstable-cache.js +14 -22
  687. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/unstable-no-store.js +1 -2
  688. package/.next/standalone/node_modules/next/dist/server/web/utils.js +1 -5
  689. package/.next/standalone/node_modules/next/dist/server/web/web-on-close.js +2 -10
  690. package/.next/standalone/node_modules/next/dist/shared/lib/app-router-types.js +38 -28
  691. package/.next/standalone/node_modules/next/dist/shared/lib/constants.js +5 -0
  692. package/.next/standalone/node_modules/next/dist/shared/lib/deployment-id.js +1 -1
  693. package/.next/standalone/node_modules/next/dist/shared/lib/errors/code-frame.js +3 -2
  694. package/.next/standalone/node_modules/next/dist/shared/lib/errors/empty-generate-static-params-error.js +1 -5
  695. package/.next/standalone/node_modules/next/dist/shared/lib/errors/ensure-static-gsp-errors.js +30 -0
  696. package/.next/standalone/node_modules/next/dist/shared/lib/errors/hard-deprecated-config-error.js +0 -5
  697. package/.next/standalone/node_modules/next/dist/shared/lib/html-context.shared-runtime.js +1 -5
  698. package/.next/standalone/node_modules/next/dist/shared/lib/image-config.js +52 -1
  699. package/.next/standalone/node_modules/next/dist/shared/lib/instant-messages.js +2 -10
  700. package/.next/standalone/node_modules/next/dist/shared/lib/invariant-error.js +0 -5
  701. package/.next/standalone/node_modules/next/dist/shared/lib/lazy-dynamic/react-browser-bailout.js +45 -0
  702. package/.next/standalone/node_modules/next/dist/shared/lib/magic-identifier.js +198 -0
  703. package/.next/standalone/node_modules/next/dist/shared/lib/match-remote-pattern.js +1 -5
  704. package/.next/standalone/node_modules/next/dist/shared/lib/router/routes/app.js +3 -15
  705. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/app-paths.js +6 -1
  706. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/get-dynamic-param.js +4 -12
  707. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/interception-routes.js +63 -20
  708. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js +1 -5
  709. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/prepare-destination.js +1 -5
  710. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/querystring.js +31 -0
  711. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/resolve-param-value.js +1 -5
  712. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/route-matcher.js +1 -5
  713. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js +11 -55
  714. package/.next/standalone/node_modules/next/dist/shared/lib/rsc-transport.js +108 -0
  715. package/.next/standalone/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.js +0 -13
  716. package/.next/standalone/node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.js +48 -27
  717. package/.next/standalone/node_modules/next/dist/shared/lib/segment.js +1 -13
  718. package/.next/standalone/node_modules/next/dist/shared/lib/turbopack/internal-error.js +2 -7
  719. package/.next/standalone/node_modules/next/dist/shared/lib/utils.js +2 -11
  720. package/.next/standalone/node_modules/next/dist/shared/lib/zod.js +2 -6
  721. package/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  722. package/.next/standalone/node_modules/next/dist/telemetry/detached-flush.js +8 -15
  723. package/.next/standalone/node_modules/next/dist/telemetry/events/build.js +1 -2
  724. package/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  725. package/.next/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
  726. package/.next/standalone/node_modules/next/dist/telemetry/post-telemetry-payload.js +1 -5
  727. package/.next/standalone/node_modules/next/dist/telemetry/storage.js +31 -19
  728. package/.next/standalone/node_modules/next/dist/trace/report/index.js +5 -2
  729. package/.next/standalone/node_modules/next/dist/trace/report/to-json-build.js +4 -2
  730. package/.next/standalone/node_modules/next/dist/trace/report/to-json.js +141 -97
  731. package/.next/standalone/node_modules/next/dist/trace/trace.js +14 -9
  732. package/.next/standalone/node_modules/next/package.json +11 -10
  733. package/.next/standalone/package.json +11 -11
  734. package/.next/standalone/sdk/python/uv.lock +30 -115
  735. package/.next/standalone/sdk/typescript/CHANGELOG.md +11 -0
  736. package/.next/standalone/sdk/typescript/integration/fixtures/mastra-1/package-lock.json +16 -4
  737. package/.next/standalone/sdk/typescript/integration/fixtures/mastra-1/package.json +3 -0
  738. package/.next/standalone/server.js +1 -1
  739. package/bin/failproofai.mjs +2 -2
  740. package/dist/cli.mjs +27125 -26785
  741. package/dist/worker.mjs +117 -111
  742. package/hermes-plugin/plugin.yaml +1 -1
  743. package/package.json +11 -11
  744. package/scripts/skew-log-filter.ts +5 -1
  745. package/src/hooks/cloud-connection.ts +86 -17
  746. package/src/hooks/cloud-enrollment.ts +4 -3
  747. package/src/hooks/cloud-managed-policies.ts +15 -11
  748. package/src/hooks/codex-system-hooks.ts +687 -0
  749. package/src/hooks/collector-config.ts +5 -4
  750. package/src/hooks/config-status.ts +47 -114
  751. package/src/hooks/configure-wizard.ts +55 -65
  752. package/src/hooks/credential-recovery.ts +36 -0
  753. package/src/hooks/daemon-service.ts +2 -2
  754. package/src/hooks/delivery-health.ts +20 -9
  755. package/src/hooks/fp-config.ts +17 -5
  756. package/src/hooks/fp-home.ts +1 -1
  757. package/src/hooks/integrations.ts +16 -0
  758. package/src/hooks/manager.ts +62 -2
  759. package/src/hooks/otel-cli.ts +51 -20
  760. package/src/hooks/otel-writers.ts +26 -17
  761. package/src/hooks/uninstall-cli.ts +28 -7
  762. package/.next/standalone/.next/server/chunks/[externals]__1_9ze9b._.js +0 -3
  763. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0--lkk6._.js +0 -3
  764. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03r-lqq._.js +0 -3
  765. package/.next/standalone/.next/server/chunks/[root-of-the-server]__08dchfu._.js +0 -3
  766. package/.next/standalone/.next/server/chunks/[root-of-the-server]__08w4wmd._.js +0 -3
  767. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_0xu5z._.js +0 -3
  768. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0f7mikp._.js +0 -3
  769. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g6bbuw._.js +0 -3
  770. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ga9hs7._.js +0 -3
  771. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0l3yhx4._.js +0 -160
  772. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0moxohc._.js +0 -22
  773. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o07qi9._.js +0 -3
  774. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0q-v9z2._.js +0 -3
  775. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0q0qzx1._.js +0 -3
  776. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0rv7m0k._.js +0 -3
  777. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0z2ll-a._.js +0 -3
  778. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0zlqo2t._.js +0 -3
  779. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12021ot._.js +0 -3
  780. package/.next/standalone/.next/server/chunks/[root-of-the-server]__17g9wh7._.js +0 -3
  781. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1adacul._.js +0 -165
  782. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1anxb5k._.js +0 -3
  783. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1autwno._.js +0 -3
  784. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ffkmds._.js +0 -3
  785. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1jm9fw6._.js +0 -3
  786. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1l71g3y._.js +0 -22
  787. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1legmza._.js +0 -3
  788. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ou2ehh._.js +0 -3
  789. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1qb590j._.js +0 -3
  790. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1shcqgr._.js +0 -3
  791. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1v25n-6._.js +0 -3
  792. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1w9zl9-._.js +0 -3
  793. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1xuedea._.js +0 -3
  794. package/.next/standalone/.next/server/chunks/_09dz7xv._.js +0 -27
  795. package/.next/standalone/.next/server/chunks/_0p53ge1._.js +0 -3
  796. package/.next/standalone/.next/server/chunks/_0tovk6q._.js +0 -3
  797. package/.next/standalone/.next/server/chunks/_0trp3yc._.js +0 -3
  798. package/.next/standalone/.next/server/chunks/_1ek68ln._.js +0 -33
  799. package/.next/standalone/.next/server/chunks/_1fz8m31._.js +0 -3
  800. package/.next/standalone/.next/server/chunks/_1jrv3hg._.js +0 -3
  801. package/.next/standalone/.next/server/chunks/_1nx8fim._.js +0 -3
  802. package/.next/standalone/.next/server/chunks/_1ogwigf._.js +0 -3
  803. package/.next/standalone/.next/server/chunks/_1q27azx._.js +0 -3
  804. package/.next/standalone/.next/server/chunks/_1vslkoe._.js +0 -3
  805. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_download_[project]_[session]_route_actions_1is7vs7.js +0 -3
  806. package/.next/standalone/.next/server/chunks/lib_16xa545._.js +0 -3
  807. package/.next/standalone/.next/server/chunks/lib_factory-projects_ts_1eo_bk-._.js +0 -3
  808. package/.next/standalone/.next/server/chunks/lib_openclaw-projects_ts_0gc-p24._.js +0 -3
  809. package/.next/standalone/.next/server/chunks/lib_telemetry-id_ts_1k8gj9o._.js +0 -3
  810. package/.next/standalone/.next/server/chunks/lib_telemetry_ts_0dctyyw._.js +0 -3
  811. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_01r25oi._.js +0 -4
  812. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_09z9-p7._.js +0 -4
  813. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0ol5pa3._.js +0 -3
  814. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_1rqmk27._.js +0 -3
  815. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_1w7tiq4._.js +0 -3
  816. package/.next/standalone/.next/server/chunks/src_hooks_1aveq0u._.js +0 -5
  817. package/.next/standalone/.next/server/chunks/src_hooks_1eem5a7._.js +0 -3
  818. package/.next/standalone/.next/server/chunks/src_hooks_custom-hooks-loader_ts_0lnb3n3._.js +0 -12
  819. package/.next/standalone/.next/server/chunks/src_hooks_fp-home_ts_09kv0bn._.js +0 -3
  820. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__04usis8._.js +0 -4
  821. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0502lat._.js +0 -3
  822. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0576iuy._.js +0 -3
  823. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__059yza8._.js +0 -3
  824. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__05r_17v._.js +0 -3
  825. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__06pflha._.js +0 -3
  826. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0_gn5iz._.js +0 -4
  827. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e2l3c1._.js +0 -3
  828. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0eip4_k._.js +0 -22
  829. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0er05u0._.js +0 -3
  830. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0f765xr._.js +0 -4
  831. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h38gzz._.js +0 -3
  832. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0hci7t3._.js +0 -3
  833. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0hoaz1g._.js +0 -4
  834. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0mxmwtx._.js +0 -3
  835. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0p84xee._.js +0 -3
  836. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0qcb0mg._.js +0 -3
  837. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0sjzdjg._.js +0 -3
  838. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0uescqv._.js +0 -3
  839. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__13d-wb6._.js +0 -3
  840. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1484zv2._.js +0 -3
  841. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__19dutr7._.js +0 -14
  842. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1_qv8oh._.js +0 -3
  843. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1ab4ifb._.js +0 -3
  844. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1b2dbet._.js +0 -33
  845. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1dinjii._.js +0 -3
  846. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1fbrk56._.js +0 -4
  847. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1kaotix._.js +0 -22
  848. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1pprgri._.js +0 -4
  849. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1py795m._.js +0 -3
  850. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1qapotl._.js +0 -3
  851. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1qiz0e4._.js +0 -3
  852. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1um4yxn._.js +0 -4
  853. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1v185mo._.js +0 -3
  854. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1wb4yt2._.js +0 -4
  855. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1y3n3cn._.js +0 -4
  856. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1zl_r0t._.js +0 -3
  857. package/.next/standalone/.next/server/chunks/ssr/_0-yi74u._.js +0 -3
  858. package/.next/standalone/.next/server/chunks/ssr/_08x1r5t._.js +0 -3
  859. package/.next/standalone/.next/server/chunks/ssr/_0bqoto4._.js +0 -3
  860. package/.next/standalone/.next/server/chunks/ssr/_0lnpwk8._.js +0 -23
  861. package/.next/standalone/.next/server/chunks/ssr/_0uyu3jf._.js +0 -3
  862. package/.next/standalone/.next/server/chunks/ssr/_0wso5d3._.js +0 -3
  863. package/.next/standalone/.next/server/chunks/ssr/_1-3unkg._.js +0 -3
  864. package/.next/standalone/.next/server/chunks/ssr/_15y8myg._.js +0 -3
  865. package/.next/standalone/.next/server/chunks/ssr/_1_ozgif._.js +0 -3
  866. package/.next/standalone/.next/server/chunks/ssr/_1ddpc5g._.js +0 -3
  867. package/.next/standalone/.next/server/chunks/ssr/_1gb0ifp._.js +0 -232
  868. package/.next/standalone/.next/server/chunks/ssr/_1o95rf0._.js +0 -3
  869. package/.next/standalone/.next/server/chunks/ssr/_1q46vxx._.js +0 -22
  870. package/.next/standalone/.next/server/chunks/ssr/_1thr5rf._.js +0 -3
  871. package/.next/standalone/.next/server/chunks/ssr/_1y3xzro._.js +0 -3
  872. package/.next/standalone/.next/server/chunks/ssr/_1ylae7o._.js +0 -3
  873. package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_policies_page_actions_1sp2-yo.js +0 -16
  874. package/.next/standalone/.next/server/chunks/ssr/app_087bt9w._.js +0 -3
  875. package/.next/standalone/.next/server/chunks/ssr/app_1fvisnp._.js +0 -3
  876. package/.next/standalone/.next/server/chunks/ssr/app_209u41o._.js +0 -3
  877. package/.next/standalone/.next/server/chunks/ssr/app_actions_get-scheduled-audit_ts_0ei9sni._.js +0 -3
  878. package/.next/standalone/.next/server/chunks/ssr/app_components_project-list_tsx_1ke6anr._.js +0 -3
  879. package/.next/standalone/.next/server/chunks/ssr/app_error_tsx_15zfp7n._.js +0 -3
  880. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0w002m_._.js +0 -3
  881. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_1kp6l3x._.js +0 -3
  882. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_19dqvpc._.js +0 -8
  883. package/.next/standalone/.next/server/chunks/ssr/app_project_[name]_error_tsx_08qg6nc._.js +0 -3
  884. package/.next/standalone/.next/server/chunks/ssr/app_project_[name]_session_[sessionId]_error_tsx_0rf4j1n._.js +0 -3
  885. package/.next/standalone/.next/server/chunks/ssr/app_settings_02tf1h4._.js +0 -3
  886. package/.next/standalone/.next/server/chunks/ssr/lib_1cf5ya2._.js +0 -3
  887. package/.next/standalone/.next/server/chunks/ssr/lib_antigravity-projects_ts_0_6zf11._.js +0 -3
  888. package/.next/standalone/.next/server/chunks/ssr/lib_codex-projects_ts_0pqlw37._.js +0 -3
  889. package/.next/standalone/.next/server/chunks/ssr/lib_copilot-projects_ts_19wl7tp._.js +0 -3
  890. package/.next/standalone/.next/server/chunks/ssr/lib_cursor-projects_ts_18-iwyk._.js +0 -3
  891. package/.next/standalone/.next/server/chunks/ssr/lib_devin-projects_ts_0a64qdy._.js +0 -3
  892. package/.next/standalone/.next/server/chunks/ssr/lib_factory-projects_ts_1uyaahq._.js +0 -3
  893. package/.next/standalone/.next/server/chunks/ssr/lib_goose-projects_ts_0zkscri._.js +0 -3
  894. package/.next/standalone/.next/server/chunks/ssr/lib_hermes-projects_ts_05b8-it._.js +0 -3
  895. package/.next/standalone/.next/server/chunks/ssr/lib_openclaw-projects_ts_0qxq3bp._.js +0 -3
  896. package/.next/standalone/.next/server/chunks/ssr/lib_opencode-projects_ts_15bjxkm._.js +0 -3
  897. package/.next/standalone/.next/server/chunks/ssr/lib_pi-projects_ts_1wikofb._.js +0 -3
  898. package/.next/standalone/.next/server/chunks/ssr/node_modules_1hl81y4._.js +0 -3
  899. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_0aiy-os._.js +0 -131
  900. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_0nkkbfv._.js +0 -6
  901. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_0w6mzq5._.js +0 -151
  902. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_18_d8l1._.js +0 -151
  903. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_1v8aef8._.js +0 -3
  904. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js +0 -3
  905. package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuzn._.js +0 -4
  906. package/.next/standalone/.next/server/chunks/ssr/src_hooks_0-q0umm._.js +0 -3
  907. package/.next/standalone/.next/server/chunks/ssr/src_hooks_06kzv9d._.js +0 -12
  908. package/.next/standalone/.next/server/chunks/ssr/src_hooks_0g194sy._.js +0 -3
  909. package/.next/standalone/.next/server/chunks/ssr/src_hooks_1cv9_c4._.js +0 -12
  910. package/.next/standalone/.next/server/chunks/ssr/src_hooks_1kx9e0d._.js +0 -3
  911. package/.next/standalone/.next/server/chunks/ssr/src_hooks_effective-reviewers_ts_1h4wtvo._.js +0 -5
  912. package/.next/standalone/.next/server/chunks/ssr/src_hooks_fp-config_ts_04t589g._.js +0 -4
  913. package/.next/standalone/.next/server/chunks/ssr/src_hooks_fp-home_ts_0je3xkv._.js +0 -3
  914. package/.next/standalone/.next/server/chunks/ssr/src_hooks_pack-cli_ts_0t7me65._.js +0 -3
  915. package/.next/standalone/.next/server/chunks/ssr/src_hooks_semantic_pack-policies_ts_0gh_bu_._.js +0 -3
  916. package/.next/standalone/.next/static/chunks/0pra9i676pym1.js +0 -1
  917. package/.next/standalone/.next/static/chunks/1-lpi0m-hc1kb.js +0 -1
  918. package/.next/standalone/.next/static/chunks/17yvyyblr_eb5.js +0 -1
  919. package/.next/standalone/.next/static/chunks/1c6aptmytnu6q.js +0 -1
  920. package/.next/standalone/.next/static/chunks/1eyl7fzkmnkf_.js +0 -1
  921. package/.next/standalone/.next/static/chunks/1wozchtn2etvh.js +0 -1
  922. package/.next/standalone/.next/static/chunks/1xacnwjkbekn7.js +0 -1
  923. package/.next/standalone/.next/static/chunks/23thtelz1a-ur.js +0 -6
  924. package/.next/standalone/.next/static/chunks/2bc17tohgs4bs.js +0 -1
  925. package/.next/standalone/.next/static/chunks/2hg_bp8z_vm2g.js +0 -1
  926. package/.next/standalone/.next/static/chunks/2xq-ejo8kti18.js +0 -1
  927. package/.next/standalone/.next/static/chunks/2yuzx8716maf0.js +0 -1
  928. package/.next/standalone/.next/static/chunks/3-_pth_c9n938.js +0 -1
  929. package/.next/standalone/.next/static/chunks/35fgpd_feci6x.js +0 -1
  930. package/.next/standalone/.next/static/chunks/3n46e45atic-m.js +0 -22
  931. package/.next/standalone/.next/static/chunks/3q7sndqftqhw9.js +0 -1
  932. package/.next/standalone/.next/static/chunks/3qfoeqhy5l10x.js +0 -1
  933. package/.next/standalone/.next/static/chunks/3sg07wnn969xq.js +0 -31
  934. package/.next/standalone/.next/static/chunks/3xpjn3cdgm-7m.js +0 -1
  935. package/.next/standalone/.next/static/chunks/4448_qq7bd963.js +0 -1
  936. package/.next/standalone/.next/static/chunks/turbopack-1opxka4dtjbc5.js +0 -1
  937. package/.next/standalone/node_modules/next/dist/client/components/match-segments.js +0 -32
  938. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js +0 -63
  939. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/prefetch.js +0 -32
  940. package/.next/standalone/node_modules/next/dist/lib/detached-promise.js +0 -32
  941. package/.next/standalone/node_modules/next/dist/lib/error-telemetry-utils.js +0 -42
  942. package/.next/standalone/node_modules/next/dist/server/app-render/create-flight-router-state-from-loader-tree.js +0 -154
  943. package/.next/standalone/node_modules/next/dist/server/app-render/rsc/postpone.js +0 -18
  944. package/.next/standalone/node_modules/next/dist/server/lib/experimental/ppr.js +0 -47
  945. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/is-postpone.js +0 -16
  946. package/.next/standalone/node_modules/next/dist/server/route-matcher-managers/default-route-matcher-manager.js +0 -239
  947. package/.next/standalone/node_modules/next/dist/server/route-matcher-managers/dev-route-matcher-manager.js +0 -120
  948. package/.next/standalone/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.js +0 -6
  949. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/app-page-route-matcher-provider.js +0 -55
  950. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/app-route-route-matcher-provider.js +0 -43
  951. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-page-route-matcher-provider.js +0 -91
  952. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-route-route-matcher-provider.js +0 -112
  953. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-api-route-matcher-provider.js +0 -77
  954. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-route-matcher-provider.js +0 -77
  955. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/file-cache-route-matcher-provider.js +0 -28
  956. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/batched-file-reader.js +0 -106
  957. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/default-file-reader.js +0 -42
  958. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/file-reader.js +0 -6
  959. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/helpers/cached-route-matcher-provider.js +0 -30
  960. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/manifest-loader.js +0 -6
  961. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/node-manifest-loader.js +0 -34
  962. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/server-manifest-loader.js +0 -20
  963. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/manifest-route-matcher-provider.js +0 -21
  964. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/pages-api-route-matcher-provider.js +0 -55
  965. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/pages-route-matcher-provider.js +0 -64
  966. package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.js +0 -6
  967. package/.next/standalone/node_modules/next/dist/server/route-matchers/app-page-route-matcher.js +0 -18
  968. package/.next/standalone/node_modules/next/dist/server/route-matchers/app-route-route-matcher.js +0 -15
  969. package/.next/standalone/node_modules/next/dist/server/route-matchers/locale-route-matcher.js +0 -68
  970. package/.next/standalone/node_modules/next/dist/server/route-matchers/pages-api-route-matcher.js +0 -30
  971. package/.next/standalone/node_modules/next/dist/server/route-matchers/pages-route-matcher.js +0 -30
  972. package/.next/standalone/node_modules/next/dist/server/route-matchers/route-matcher.js +0 -54
  973. /package/.next/standalone/.next/static/{xtcpqBNBdjQVerPMkI2HI → RrRjb2981tB2X7pKdNBUm}/_buildManifest.js +0 -0
  974. /package/.next/standalone/.next/static/{xtcpqBNBdjQVerPMkI2HI → RrRjb2981tB2X7pKdNBUm}/_clientMiddlewareManifest.js +0 -0
  975. /package/.next/standalone/.next/static/{xtcpqBNBdjQVerPMkI2HI → RrRjb2981tB2X7pKdNBUm}/_ssgManifest.js +0 -0
@@ -28,6 +28,7 @@ import { existsSync, readdirSync, statSync } from "node:fs";
28
28
  import { join } from "node:path";
29
29
 
30
30
  import { failedDir } from "./fp-home";
31
+ import { readCredentials } from "./fp-config";
31
32
 
32
33
  /**
33
34
  * Mirrors `POISON_SUFFIX` in `crates/fpai-collect/src/uploader.rs`. Kept as its
@@ -122,7 +123,11 @@ const EMPTY: DeliveryHealth = {
122
123
  * A missing directory is the healthy case on a machine that has never had a
123
124
  * batch refused, not an error — the collector creates it lazily.
124
125
  */
125
- export function deliveryHealth(home?: string, now: number = Date.now()): DeliveryHealth {
126
+ export function deliveryHealth(
127
+ home?: string,
128
+ now: number = Date.now(),
129
+ connectedAt: number | undefined = home ? undefined : readCredentials().connectedAt,
130
+ ): DeliveryHealth {
126
131
  const dir = failedDir(home);
127
132
  if (!existsSync(dir)) return EMPTY;
128
133
 
@@ -144,21 +149,27 @@ export function deliveryHealth(home?: string, now: number = Date.now()): Deliver
144
149
  for (const name of entries) {
145
150
  // `.tmp` files are half-written renames, not parked batches.
146
151
  if (!name.includes(".jsonl")) continue;
147
- total += 1;
148
-
149
152
  const parsed = parseParkedName(name);
153
+ let mtime: number;
154
+ try {
155
+ mtime = statSync(join(dir, name)).mtimeMs;
156
+ } catch {
157
+ continue; // Delivered or renamed during the scan.
158
+ }
159
+ if (
160
+ connectedAt !== undefined &&
161
+ parsed.clientStatus !== undefined &&
162
+ CREDENTIAL_STATUSES.has(parsed.clientStatus) &&
163
+ mtime < connectedAt
164
+ ) continue;
165
+ total += 1;
150
166
  if (parsed.clientStatus !== undefined) {
151
167
  rejected += 1;
152
168
  byStatus[parsed.clientStatus] = (byStatus[parsed.clientStatus] ?? 0) + 1;
153
169
  if (CREDENTIAL_STATUSES.has(parsed.clientStatus)) credentialRejected += 1;
154
170
  }
155
171
 
156
- try {
157
- const mtime = statSync(join(dir, name)).mtimeMs;
158
- if (oldestMtime === undefined || mtime < oldestMtime) oldestMtime = mtime;
159
- } catch {
160
- // Vanished mid-scan — the collector just drained or renamed it.
161
- }
172
+ if (oldestMtime === undefined || mtime < oldestMtime) oldestMtime = mtime;
162
173
  }
163
174
 
164
175
  return {
@@ -36,6 +36,7 @@ import {
36
36
  writeFileSync,
37
37
  } from "node:fs";
38
38
  import { dirname } from "node:path";
39
+ import { writeJsonAtomically } from "../../lib/atomic-write";
39
40
  import { version as cliVersion } from "../../package.json";
40
41
  import {
41
42
  LAYOUT_VERSION,
@@ -842,6 +843,8 @@ export function isAgentTraced(id: string, config: FpConfig = readConfig()): bool
842
843
  // ── credentials.json ─────────────────────────────────────────────────────────
843
844
 
844
845
  export interface FpCredentials {
846
+ /** Successful connection time, epoch milliseconds; resets stale refusal status. */
847
+ connectedAt?: number;
845
848
  cloud?: { url: string; machineId: string; token: string; machineLabel?: string };
846
849
  /**
847
850
  * Which organisation this machine's credentials report into, as the server
@@ -858,7 +861,7 @@ export interface FpCredentials {
858
861
  * the one a key pasted from the wrong org gets silently wrong. Absent against
859
862
  * a server predating introspect, and in files written by an older CLI.
860
863
  */
861
- org?: { id?: string; slug?: string; name?: string };
864
+ org?: { id?: string; slug?: string; name?: string; since?: number };
862
865
  ingest?: { url: string; key: string };
863
866
  auth?: { baseUrl?: string; sessionToken?: string; expiresAt?: number; email?: string };
864
867
  /**
@@ -894,6 +897,7 @@ export interface JevCloudCredential {
894
897
  * only local answer to "where does this machine's data go?".
895
898
  */
896
899
  const OWNED_CREDENTIAL_KEYS: readonly (readonly string[])[] = [
900
+ ["connectedAt"],
897
901
  ["cloud", "url"],
898
902
  ["cloud", "machine_id"],
899
903
  ["cloud", "machine_label"],
@@ -901,6 +905,7 @@ const OWNED_CREDENTIAL_KEYS: readonly (readonly string[])[] = [
901
905
  ["org", "id"],
902
906
  ["org", "slug"],
903
907
  ["org", "name"],
908
+ ["org", "since"],
904
909
  ["ingest", "url"],
905
910
  ["ingest", "key"],
906
911
  ["jev", "url"],
@@ -950,6 +955,9 @@ export function projectCredentials(parsed: Record<string, unknown>): FpCredentia
950
955
  const ingest = parsed.ingest as Record<string, unknown> | undefined;
951
956
  const auth = parsed.auth as Record<string, unknown> | undefined;
952
957
  const out: FpCredentials = {};
958
+ if (typeof parsed.connectedAt === "number" && Number.isSafeInteger(parsed.connectedAt) && parsed.connectedAt >= 0) {
959
+ out.connectedAt = parsed.connectedAt;
960
+ }
953
961
  if (
954
962
  cloud &&
955
963
  typeof cloud.url === "string" &&
@@ -967,8 +975,10 @@ export function projectCredentials(parsed: Record<string, unknown>): FpCredentia
967
975
  // Every field independently optional: a server may send fewer than three,
968
976
  // and a partial org record is still better than none for `--status`.
969
977
  const pick = (v: unknown) => (typeof v === "string" && v ? v : undefined);
970
- const built = { id: pick(org.id), slug: pick(org.slug), name: pick(org.name) };
971
- if (built.id || built.slug || built.name) out.org = built;
978
+ const since = typeof org.since === "number" && Number.isSafeInteger(org.since) && org.since >= 0
979
+ ? org.since : undefined;
980
+ const built = { id: pick(org.id), slug: pick(org.slug), name: pick(org.name), ...(since !== undefined ? { since } : {}) };
981
+ if (built.id || built.slug || built.name || since !== undefined) out.org = built;
972
982
  }
973
983
  if (ingest && typeof ingest.url === "string" && typeof ingest.key === "string" && ingest.url && ingest.key) {
974
984
  out.ingest = { url: ingest.url, key: ingest.key };
@@ -997,6 +1007,7 @@ export function projectCredentials(parsed: Record<string, unknown>): FpCredentia
997
1007
  */
998
1008
  export function writeCredentials(creds: FpCredentials, raw?: Record<string, unknown>): void {
999
1009
  const out: Record<string, unknown> = {};
1010
+ if (creds.connectedAt !== undefined) out.connectedAt = creds.connectedAt;
1000
1011
  if (creds.cloud) {
1001
1012
  out.cloud = {
1002
1013
  url: creds.cloud.url,
@@ -1011,11 +1022,12 @@ export function writeCredentials(creds: FpCredentials, raw?: Record<string, unkn
1011
1022
  if (creds.jev) {
1012
1023
  out.jev = { url: creds.jev.url, key: creds.jev.key };
1013
1024
  }
1014
- if (creds.org && (creds.org.id || creds.org.slug || creds.org.name)) {
1025
+ if (creds.org && (creds.org.id || creds.org.slug || creds.org.name || creds.org.since !== undefined)) {
1015
1026
  out.org = {
1016
1027
  ...(creds.org.id ? { id: creds.org.id } : {}),
1017
1028
  ...(creds.org.slug ? { slug: creds.org.slug } : {}),
1018
1029
  ...(creds.org.name ? { name: creds.org.name } : {}),
1030
+ ...(creds.org.since !== undefined ? { since: creds.org.since } : {}),
1019
1031
  };
1020
1032
  }
1021
1033
  if (creds.auth && (creds.auth.sessionToken || creds.auth.email)) {
@@ -1041,7 +1053,7 @@ export function writeCredentials(creds: FpCredentials, raw?: Record<string, unkn
1041
1053
  } catch {
1042
1054
  // Not fatal: the file's own 0600 is the primary protection.
1043
1055
  }
1044
- writeFileSync(credentialsFile(), `${JSON.stringify(merged, null, 2)}\n`, { mode: 0o600 });
1056
+ writeJsonAtomically(credentialsFile(), merged);
1045
1057
  try {
1046
1058
  chmodSync(credentialsFile(), 0o600);
1047
1059
  } catch {
@@ -141,7 +141,7 @@ export const configFile = (home?: string) => atHome(home, "config.json");
141
141
 
142
142
  export const otelAgentStateDir = (home?: string) => atHome(home, "state", "otel-agents");
143
143
  export const otelAgentStateFile = (agent: string) => {
144
- if (!["claude", "codex", "gemini", "copilot"].includes(agent)) throw new Error("Unknown OTEL agent.");
144
+ if (!["claude", "codex", "copilot"].includes(agent)) throw new Error("Unknown OTEL agent.");
145
145
  return resolve(otelAgentStateDir(), `${agent}.json`);
146
146
  };
147
147
  export const otlpSpoolDir = (home?: string) => atHome(home, "state", "spool-otlp");
@@ -26,6 +26,7 @@ import { fileURLToPath } from "node:url";
26
26
  import { homedir } from "node:os";
27
27
  import { parseDocument, type Document } from "yaml";
28
28
  import { writeConfigFileAtomic } from "./safe-config-write";
29
+ import { codexSystemHooksPresent, type CodexSystemHookEntry } from "./codex-system-hooks";
29
30
  import { listHermesProfiles, hermesRoot } from "../../lib/hermes-profiles";
30
31
  import { listOpenClawProfiles } from "../../lib/openclaw-profiles";
31
32
  import {
@@ -527,6 +528,9 @@ export const codex: Integration = {
527
528
  },
528
529
 
529
530
  hooksInstalledInSettings(scope, cwd) {
531
+ // User scope may live in Codex's system config instead (see
532
+ // ./codex-system-hooks): Codex runs hooks from there without trust.
533
+ if (scope === "user" && codexSystemHooksPresent()) return true;
530
534
  const settingsPath = this.getSettingsPath(scope, cwd);
531
535
  if (!existsSync(settingsPath)) return false;
532
536
  try {
@@ -550,6 +554,18 @@ export const codex: Integration = {
550
554
  },
551
555
  };
552
556
 
557
+ /**
558
+ * failproofai's user-scope Codex hooks, as the system config holds them: the
559
+ * same events, commands and timeouts `codex.buildHookEntry` writes to
560
+ * `~/.codex/hooks.json`.
561
+ */
562
+ export function codexSystemHookEntries(binaryPath: string): CodexSystemHookEntry[] {
563
+ return CODEX_HOOK_EVENT_TYPES.map((eventType) => {
564
+ const entry = codex.buildHookEntry(binaryPath, eventType, "user") as { command: string; timeout: number };
565
+ return { event: CODEX_EVENT_MAP[eventType as CodexHookEventType], command: entry.command, timeout: entry.timeout };
566
+ });
567
+ }
568
+
553
569
  // ── GitHub Copilot CLI integration ──────────────────────────────────────────
554
570
  //
555
571
  // Copilot CLI accepts two hook payload formats: a camelCase native form and a
@@ -14,7 +14,14 @@ import { INTEGRATION_TYPES,
14
14
  type HookScope,
15
15
  type IntegrationType,
16
16
  } from "./types";
17
- import { claudeCode, getIntegration, settingsPathsFor, type Integration } from "./integrations";
17
+ import { claudeCode, codexSystemHookEntries, getIntegration, settingsPathsFor, type Integration } from "./integrations";
18
+ import {
19
+ CODEX_UNTRUSTED_NOTICE,
20
+ codexHookTrust,
21
+ installCodexSystemHooks,
22
+ removeCodexSystemHooks,
23
+ type CodexSystemInstall,
24
+ } from "./codex-system-hooks";
18
25
  import { configuredCustomPolicyPaths, readMergedHooksConfig, readScopedHooksConfig, writeScopedHooksConfig, syncConventionPolicies, findProjectConfigDir } from "./hooks-config";
19
26
  import type { HooksConfig, ConventionPolicyRecord } from "./policy-types";
20
27
  import { BUILTIN_POLICIES } from "./builtin-policies";
@@ -815,8 +822,24 @@ async function installHooksImpl(
815
822
 
816
823
  // Write hooks for each selected CLI
817
824
  const writtenSettingsPaths: { cli: IntegrationType; path: string }[] = [];
825
+ // Why Codex's user-scope hooks went to hooks.json rather than its system config.
826
+ let codexFallback: CodexSystemInstall | null = null;
818
827
  for (const cliId of selectedClis) {
819
828
  const integration = getIntegration(cliId);
829
+ // Codex runs a hooks.json hook only once a person has trusted it, so a
830
+ // headless `codex exec` skips every one of ours. Its system config is
831
+ // trusted as managed: put user-scope hooks there whenever root allows, and
832
+ // take them out of hooks.json so a trusted copy does not run them twice.
833
+ if (cliId === "codex" && scope === "user") {
834
+ const placed = installCodexSystemHooks(codexSystemHookEntries(binaryPath));
835
+ if (placed.ok) {
836
+ const userPath = integration.getSettingsPath("user", cwd);
837
+ if (existsSync(userPath)) integration.removeHooksFromFile(userPath);
838
+ writtenSettingsPaths.push({ cli: cliId, path: placed.path });
839
+ continue;
840
+ }
841
+ codexFallback = placed;
842
+ }
820
843
  // Usually one path; Hermes returns one per profile (each is a separate home
821
844
  // dir with its own config.yaml, and a missed one runs unhooked in silence).
822
845
  const settingsPaths = settingsPathsFor(integration, scope, cwd);
@@ -907,6 +930,17 @@ async function installHooksImpl(
907
930
  }
908
931
  if (scope === "project") console.log(`${INDENT}This file can be committed to git: it has no machine-specific paths.`);
909
932
 
933
+ // Codex on hooks.json: say so when Codex will not run them yet.
934
+ if (codexFallback && !codexFallback.ok) {
935
+ if (codexFallback.reason === "conflict" || codexFallback.reason === "unreadable" || codexFallback.reason === "write-failed") {
936
+ console.log(
937
+ kit.caution(`Couldn't add the Codex hooks to ${codexFallback.path}: ${codexFallback.detail ?? codexFallback.reason}.`),
938
+ );
939
+ }
940
+ const trust = codexHookTrust();
941
+ if (trust.kind === "untrusted") for (const line of kit.notice("caution", CODEX_UNTRUSTED_NOTICE)) console.log(line);
942
+ }
943
+
910
944
  // Warn about duplicate-scope installations (Claude Code only — uses HOOK_SCOPES)
911
945
  const otherScopes = deduplicateScopes(HOOK_SCOPES, cwd).filter((s) => s !== scope);
912
946
  const duplicates = otherScopes.filter((s) => hooksInstalledInSettings(s, cwd));
@@ -1060,6 +1094,30 @@ export async function removeHooks(policyNames?: string[], scope: HookScope | "al
1060
1094
  : [];
1061
1095
 
1062
1096
  for (const s of scopesToRemove) {
1097
+ // Codex's user-scope hooks may be in its system config (see
1098
+ // ./codex-system-hooks). Taken out first: a machine with no hooks.json
1099
+ // still has them there.
1100
+ let removedFromSystem = 0;
1101
+ if (cliId === "codex" && s === "user") {
1102
+ const system = removeCodexSystemHooks();
1103
+ if (system.status === "removed") {
1104
+ removedFromSystem = system.hooks;
1105
+ if (scope !== "all") {
1106
+ say(screenKit(optsFor(process.stdout)).ok(`Removed ${system.hooks} failproofai ${system.hooks === 1 ? "hook" : "hooks"} from Codex's system config.`));
1107
+ for (const line of screenKit(optsFor(process.stdout)).kv([["settings", system.path]])) say(line);
1108
+ }
1109
+ } else if (system.status === "failed") {
1110
+ // Non-interactive by design (this also runs from the dashboard), so
1111
+ // the fix is to prime sudo and come back.
1112
+ for (const line of screenKit(optsFor(process.stdout)).notice(
1113
+ "caution",
1114
+ `failproofai's Codex hooks are still in ${system.path}: ${system.reason}.\n` +
1115
+ "Run `sudo -v`, then this command again.",
1116
+ )) {
1117
+ say(line);
1118
+ }
1119
+ }
1120
+ }
1063
1121
  // Usually one path; Hermes returns one per profile.
1064
1122
  const settingsPaths = settingsPathsFor(integration, s, cwd);
1065
1123
  // A Hermes install copies its managed plugin before updating config.yaml.
@@ -1069,6 +1127,8 @@ export async function removeHooks(policyNames?: string[], scope: HookScope | "al
1069
1127
  cliId === "hermes" ? settingsPaths : settingsPaths.filter((p) => existsSync(p));
1070
1128
 
1071
1129
  if (existing.length === 0) {
1130
+ totalRemoved += removedFromSystem;
1131
+ if (removedFromSystem > 0) continue;
1072
1132
  if (scope !== "all" && selectedClis.length === 1) {
1073
1133
  say(screenKit(optsFor(process.stdout)).ok("No settings file found, so there is nothing to remove."));
1074
1134
  nothingToReport = true;
@@ -1076,7 +1136,7 @@ export async function removeHooks(policyNames?: string[], scope: HookScope | "al
1076
1136
  continue;
1077
1137
  }
1078
1138
 
1079
- let removedHere = 0;
1139
+ let removedHere = removedFromSystem;
1080
1140
  for (const settingsPath of existing) {
1081
1141
  const removed = integration.removeHooksFromFile(settingsPath);
1082
1142
  removedHere += removed;
@@ -4,11 +4,11 @@ import {
4
4
  statSync, unlinkSync, writeFileSync,
5
5
  } from "node:fs";
6
6
  import { dirname } from "node:path";
7
- import { createHash } from "node:crypto";
7
+ import { createHash, randomUUID } from "node:crypto";
8
8
  import { homedir } from "node:os";
9
9
  import { connect } from "node:net";
10
10
  import { readConfig, readCredentials } from "./fp-config";
11
- import { configFile, otelAgentStateFile, otlpHealthFile } from "./fp-home";
11
+ import { collectorHealthFile, configFile, otelAgentStateFile, otlpHealthFile } from "./fp-home";
12
12
  import { writeConfigFileAtomic } from "./safe-config-write";
13
13
  import { agentSessionsEnabled } from "./collector-config";
14
14
  import { introspectKey } from "./cloud-introspect";
@@ -21,7 +21,6 @@ import {
21
21
  } from "./otel-writers";
22
22
 
23
23
  export const OTEL_ORG_OFF = "OTEL ingest is off for your org. An admin can turn it on in Settings → OpenTelemetry.";
24
- export const OTEL_WIZARD_QUESTION = "Also send OpenTelemetry from agents? (Gemini CLI, Copilot, or switch Claude Code / Codex)";
25
24
  export interface OtelResult {
26
25
  lines: string[];
27
26
  exitCode: number;
@@ -47,6 +46,7 @@ export interface OtelOptions {
47
46
  fetchImpl?: typeof fetch;
48
47
  confirm?: (question: string) => Promise<boolean>;
49
48
  onEvent?: (name: string, properties: { agent: OtelAgent; local: boolean; content: boolean }) => void | Promise<void>;
49
+ waitForCollector?: (generation: string, timeoutMs: number) => Promise<boolean>;
50
50
  }
51
51
 
52
52
  function rawConfig(): JsonObject {
@@ -66,6 +66,24 @@ function saveConfig(raw: JsonObject): void {
66
66
  function digest(text: string): string {
67
67
  return createHash("sha256").update(text).digest("hex");
68
68
  }
69
+ function collectorWaitMs(): number {
70
+ const configured = Number(process.env.FAILPROOFAI_COLLECTOR_CONFIG_POLL_MS ?? 5000);
71
+ return 2 * Math.max(500, Number.isSafeInteger(configured) && configured >= 0 ? configured : 5000);
72
+ }
73
+ export async function waitForCollectorConfig(generation: string, timeoutMs: number): Promise<boolean> {
74
+ const deadline = Date.now() + timeoutMs;
75
+ do {
76
+ try {
77
+ const health = JSON.parse(readFileSync(collectorHealthFile(), "utf8")) as JsonObject;
78
+ // An old deployment cannot acknowledge a newly generated token. The
79
+ // replacement publishes it only after the old tasks have been joined.
80
+ if (health.config_generation === generation && typeof health.ts === "number" &&
81
+ Date.now() - health.ts * 1000 < 35000) return true;
82
+ } catch { /* Missing health, an older daemon or a file mid-replacement. */ }
83
+ await new Promise(resolve => setTimeout(resolve, Math.min(100, Math.max(0, deadline - Date.now()))));
84
+ } while (Date.now() < deadline);
85
+ return false;
86
+ }
69
87
  function privateState(agent: OtelAgent): PrivateState {
70
88
  return JSON.parse(readFileSync(otelAgentStateFile(agent), "utf8")) as PrivateState;
71
89
  }
@@ -104,7 +122,7 @@ function hasExternalOtel(agent: OtelAgent, config: JsonObject): boolean {
104
122
  return value !== undefined && value !== "none" && value !== "statsig";
105
123
  });
106
124
  }
107
- return getSetting(config, agent === "gemini" ? ["telemetry", "enabled"] : ["github.copilot.chat.otel.enabled"]) === true;
125
+ return getSetting(config, ["github.copilot.chat.otel.enabled"]) === true;
108
126
  }
109
127
  async function defaultConfirm(question: string): Promise<boolean> {
110
128
  return await selectOne({
@@ -115,11 +133,6 @@ async function defaultConfirm(question: string): Promise<boolean> {
115
133
  ],
116
134
  }) === true;
117
135
  }
118
- export async function chooseWizardOtel(
119
- choose: (question: string) => Promise<boolean> = defaultConfirm,
120
- ): Promise<boolean> {
121
- return choose(OTEL_WIZARD_QUESTION);
122
- }
123
136
  function restoreAgent(agent: OtelAgent, raw: JsonObject): void {
124
137
  const all = records(raw);
125
138
  const record = all[agent];
@@ -135,12 +148,18 @@ function restoreAgent(agent: OtelAgent, raw: JsonObject): void {
135
148
  writeConfigFileAtomic(record.file, restored, { backup: false, mode: state.originalMode });
136
149
  }
137
150
  }
138
- if (record.switchedSessions) {
151
+ if (record.switchedSessions || agent === "codex") {
139
152
  const collector = object(raw.collector);
140
153
  const agents = object(collector.agents);
141
154
  const settings = object(agents[agent]);
142
- if (record.previousSessions === undefined) delete settings.sessions;
143
- else settings.sessions = record.previousSessions;
155
+ if (record.switchedSessions) {
156
+ if (record.previousSessions === undefined) delete settings.sessions;
157
+ else settings.sessions = record.previousSessions;
158
+ }
159
+ // Rollouts produced while OTEL owned delivery must not be uploaded again
160
+ // when the transcript task is restarted. Keep a cursor so later appends
161
+ // to those same files still flow.
162
+ if (agent === "codex") settings.sessions_resume_after = Date.now();
144
163
  if (Object.keys(settings).length) agents[agent] = settings;
145
164
  else delete agents[agent];
146
165
  if (Object.keys(agents).length) collector.agents = agents;
@@ -158,22 +177,26 @@ async function enableAgent(agent: OtelAgent, yes: boolean, localFlag: boolean, c
158
177
  return { lines: ["VS Code not found — skipping copilot"], exitCode: 0 };
159
178
  }
160
179
  const existing = records(raw)[agent];
161
- // Gemini has no transcript source in this collector.
162
- const transcriptsEnabled = agent !== "gemini" && agentSessionsEnabled(agent);
180
+ const transcriptsEnabled = agentSessionsEnabled(agent);
163
181
  if (!existing && transcriptsEnabled && !yes) {
164
182
  const question = `failproofai already sends ${AGENT_LABELS[agent]} sessions to Cloud. Send them with OTEL instead? Transcript upload for ${AGENT_LABELS[agent]} stops.`;
165
183
  if (!await (options.confirm ?? defaultConfirm)(question)) return { lines: [`${AGENT_LABELS[agent]} unchanged (default No).`], exitCode: 0 };
166
184
  }
167
- const local = localFlag || agent === "gemini" || agent === "copilot";
185
+ const local = localFlag || agent === "copilot";
168
186
  const port = readConfig().collector.otlp?.port ?? 4318;
169
187
  if (!Number.isInteger(port) || port < 1 || port > 65535) throw new Error("collector.otlp.port must be between 1 and 65535.");
170
188
  const destination = local ? `http://127.0.0.1:${port}` : origin;
171
189
  const original = existsSync(file) ? readFileSync(file, "utf8") : null;
172
190
  const parsed = parseAgentConfig(original ?? "", agent);
173
- const writes = agentOtelWrites(agent, destination, key, local, content);
191
+ const oldState = existing ? privateState(agent) : null;
192
+ // Our own --no-content write is not a new user opt-out. An unchanged
193
+ // managed file inherits the user's original content preference.
194
+ const privacyConfig = oldState && original !== null && digest(original) === oldState.writtenHash
195
+ ? parseAgentConfig(oldState.original ?? "", agent) : parsed;
196
+ const writes = agentOtelWrites(agent, destination, key, local, content, privacyConfig);
197
+ const keptPromptPrivacy = agent === "codex" && getSetting(privacyConfig, ["otel", "log_user_prompt"]) === false;
174
198
  // Switching from Cloud to local stops owning header keys. Restore any keys
175
199
  // from an earlier enable before applying the new (header-free) write set.
176
- const oldState = existing ? privateState(agent) : null;
177
200
  const released = oldState?.previous.filter(previous =>
178
201
  !writes.some(write => JSON.stringify(write.path) === JSON.stringify(previous.path))) ?? [];
179
202
  const next = editAgentConfig(original ?? "", agent, [...released, ...writes]);
@@ -217,6 +240,10 @@ async function enableAgent(agent: OtelAgent, yes: boolean, localFlag: boolean, c
217
240
  otel.agents = { ...records(raw), [agent]: record };
218
241
  raw.otel = otel;
219
242
  configureRelay(raw);
243
+ const waitForCollector = agent === "codex";
244
+ const generation = randomUUID();
245
+ if (waitForCollector) collector.config_generation = generation;
246
+ const lines: string[] = [];
220
247
  // Recovery state and one-time backup precede the first agent-file write.
221
248
  backupOnce(file, original);
222
249
  savePrivate(agent, { ...state, writtenHash: digest(next) });
@@ -224,6 +251,9 @@ async function enableAgent(agent: OtelAgent, yes: boolean, localFlag: boolean, c
224
251
  // Publish ownership BEFORE the agent settings so a killed CLI can always
225
252
  // disable/restore what it wrote, including the one-path transcript choice.
226
253
  saveConfig(raw);
254
+ if (waitForCollector && !await (options.waitForCollector ?? waitForCollectorConfig)(generation, collectorWaitMs())) {
255
+ lines.push("Warning: daemon did not confirm the collector change in time; wait for `failproofai otel status` before starting Codex to avoid duplicate uploads.");
256
+ }
227
257
  writeConfigFileAtomic(file, next, { backup: false, mode: 0o600 });
228
258
  // Agent files now contain a credential, even if previously world-readable.
229
259
  chmodSync(file, 0o600);
@@ -233,7 +263,8 @@ async function enableAgent(agent: OtelAgent, yes: boolean, localFlag: boolean, c
233
263
  saveConfig(previousConfig);
234
264
  throw err;
235
265
  }
236
- const lines = [`${AGENT_LABELS[agent]} OTEL enabled → ${local ? "local relay" : "Cloud"} (${content ? "text capture on" : "no content"}).`];
266
+ lines.push(`${AGENT_LABELS[agent]} OTEL enabled → ${local ? "local relay" : "Cloud"} (${content ? "text capture on" : "no content"}).`);
267
+ if (keptPromptPrivacy) lines.push("Codex log_user_prompt = false kept; user prompt capture remains off.");
237
268
  if (local && !localFlag) lines.push(`${AGENT_LABELS[agent]} settings cannot carry an auth header; using the local relay automatically.`);
238
269
  if (local) lines.push("The daemon picks this up within seconds — no restart. Use `failproofai otel status` to check the relay.");
239
270
  const result = await introspectKey(origin, key, options.fetchImpl, 3000);
@@ -273,13 +304,13 @@ async function status(options: OtelOptions): Promise<OtelResult> {
273
304
  if (record && on) {
274
305
  try {
275
306
  const state = privateState(agent);
307
+ const original = parseAgentConfig(state.original ?? "", agent);
276
308
  const expected = parseAgentConfig(editAgentConfig(state.original ?? "", agent,
277
- agentOtelWrites(agent, record.destination, credential().key, record.local, record.content)), agent);
309
+ agentOtelWrites(agent, record.destination, credential().key, record.local, record.content, original)), agent);
278
310
  managed = record.keys.every(k => JSON.stringify(getSetting(parsed, k.path)) === JSON.stringify(getSetting(expected, k.path)));
279
311
  } catch { /* Missing recovery state or key. */ }
280
312
  }
281
313
  const dest = record?.destination ?? getSetting(parsed, agent === "claude" ? ["env", "OTEL_EXPORTER_OTLP_ENDPOINT"] :
282
- agent === "gemini" ? ["telemetry", "otlpEndpoint"] :
283
314
  agent === "copilot" ? ["github.copilot.chat.otel.otlpEndpoint"] : ["otel", "exporter", "otlp-http", "endpoint"]);
284
315
  const destination = dest ? `${record?.local ? "local relay" : "Cloud"} (${dest})` : "none";
285
316
  lines.push(`${AGENT_LABELS[agent]}: ${unreadable ? "unreadable settings" : on ? managed ? "on by failproofai" : "on, not managed" : "off"} · destination: ${destination} · org: ${org}`);
@@ -9,10 +9,10 @@ import { homedir } from "node:os";
9
9
  import { resolve } from "node:path";
10
10
  import { accessSync, constants, readdirSync, statSync } from "node:fs";
11
11
 
12
- export const OTEL_AGENTS = ["claude", "codex", "gemini", "copilot"] as const;
12
+ export const OTEL_AGENTS = ["claude", "codex", "copilot"] as const;
13
13
  export type OtelAgent = typeof OTEL_AGENTS[number];
14
14
  export const AGENT_LABELS: Record<OtelAgent, string> = {
15
- claude: "Claude Code", codex: "Codex", gemini: "Gemini CLI", copilot: "Copilot",
15
+ claude: "Claude Code", codex: "Codex", copilot: "Copilot",
16
16
  };
17
17
  export type JsonObject = Record<string, unknown>;
18
18
  export interface SettingWrite { path: string[]; value?: unknown }
@@ -28,6 +28,24 @@ export function agentConfigPath(agent: OtelAgent, home = homedir()): string {
28
28
  resolve(home, `.${agent}`, agent === "codex" ? "config.toml" : "settings.json");
29
29
  }
30
30
 
31
+ /**
32
+ * Fixed install locations checked after PATH. A mutable seam so tests can run
33
+ * on a machine that really has VS Code installed: these paths are system-wide,
34
+ * so no temp HOME or PATH hides them.
35
+ */
36
+ export const vscodeProbe = {
37
+ appPaths(home: string, platform: NodeJS.Platform): string[] {
38
+ return platform === "darwin" ? [
39
+ "/Applications/Visual Studio Code.app/Contents/MacOS/Electron",
40
+ "/Applications/Visual Studio Code - Insiders.app/Contents/MacOS/Electron",
41
+ resolve(home, "Applications/Visual Studio Code.app/Contents/MacOS/Electron"),
42
+ ] : platform === "win32" ? [
43
+ resolve(process.env.LOCALAPPDATA ?? resolve(home, "AppData/Local"), "Programs/Microsoft VS Code/Code.exe"),
44
+ resolve(process.env.ProgramFiles ?? "C:/Program Files", "Microsoft VS Code/Code.exe"),
45
+ ] : ["/usr/share/code/code", "/opt/visual-studio-code/code"];
46
+ },
47
+ };
48
+
31
49
  export function vscodeInstalled(home = homedir(), platform = process.platform): boolean {
32
50
  const executable = (path: string) => {
33
51
  try {
@@ -38,15 +56,7 @@ export function vscodeInstalled(home = homedir(), platform = process.platform):
38
56
  const names = platform === "win32" ? ["code.cmd", "code-insiders.cmd", "Code.exe", "Code - Insiders.exe"] : ["code", "code-insiders"];
39
57
  if ((process.env.PATH ?? "").split(platform === "win32" ? ";" : ":")
40
58
  .some(dir => names.some(name => executable(resolve(dir, name))))) return true;
41
- const apps = platform === "darwin" ? [
42
- "/Applications/Visual Studio Code.app/Contents/MacOS/Electron",
43
- "/Applications/Visual Studio Code - Insiders.app/Contents/MacOS/Electron",
44
- resolve(home, "Applications/Visual Studio Code.app/Contents/MacOS/Electron"),
45
- ] : platform === "win32" ? [
46
- resolve(process.env.LOCALAPPDATA ?? resolve(home, "AppData/Local"), "Programs/Microsoft VS Code/Code.exe"),
47
- resolve(process.env.ProgramFiles ?? "C:/Program Files", "Microsoft VS Code/Code.exe"),
48
- ] : ["/usr/share/code/code", "/opt/visual-studio-code/code"];
49
- if (apps.some(executable)) return true;
59
+ if (vscodeProbe.appPaths(home, platform).some(executable)) return true;
50
60
  return [".vscode", ".vscode-insiders"].some(folder => {
51
61
  try {
52
62
  return readdirSync(resolve(home, folder, "extensions"), { withFileTypes: true })
@@ -176,7 +186,7 @@ export function editAgentConfig(text: string, agent: OtelAgent, writes: SettingW
176
186
  return next;
177
187
  }
178
188
 
179
- export function agentOtelWrites(agent: OtelAgent, endpoint: string, key: string, local: boolean, content: boolean): SettingWrite[] {
189
+ export function agentOtelWrites(agent: OtelAgent, endpoint: string, key: string, local: boolean, content: boolean, config: JsonObject = {}): SettingWrite[] {
180
190
  const auth = local ? {} : { Authorization: `Bearer ${key}` };
181
191
  const env: JsonObject = {
182
192
  CLAUDE_CODE_ENABLE_TELEMETRY: "1",
@@ -201,14 +211,13 @@ export function agentOtelWrites(agent: OtelAgent, endpoint: string, key: string,
201
211
  endpoint: `${endpoint}/v1/${signal}`, protocol: "json", ...(!local ? { headers: auth } : {}),
202
212
  } });
203
213
  return Object.entries({
204
- exporter: exporter("logs"), trace_exporter: exporter("traces"), metrics_exporter: exporter("metrics"),
205
- log_user_prompt: content,
214
+ // Codex conversation content lives in logs. Runtime traces have no GenAI
215
+ // attributes and create empty sessions; the server discards metrics.
216
+ exporter: exporter("logs"),
217
+ log_user_prompt: getSetting(config, ["otel", "log_user_prompt"]) === false ? false : content,
206
218
  log_agent_responses: content,
207
219
  }).map(([k, value]) => ({ path: ["otel", k], value }));
208
220
  }
209
- if (agent === "gemini") return Object.entries({
210
- enabled: true, target: "local", otlpEndpoint: endpoint, otlpProtocol: "http", logPrompts: content, useCollector: true, outfile: undefined,
211
- }).map(([k, value]) => ({ path: ["telemetry", k], value }));
212
221
  return Object.entries({
213
222
  enabled: true, exporterType: "otlp-http", otlpEndpoint: endpoint, captureContent: content,
214
223
  }).map(([k, value]) => ({ path: [`github.copilot.chat.otel.${k}`], value }));
@@ -47,6 +47,7 @@ import {
47
47
  import { listInstallableIds, getIntegration } from "./integrations";
48
48
  import type { IntegrationType } from "./types";
49
49
  import { removeHooks } from "./manager";
50
+ import { CODEX_MANAGED_BEGIN, CODEX_MANAGED_END, codexSystemConfigPath, codexSystemHooksPresent } from "./codex-system-hooks";
50
51
  import { optsFor, screenKit, type RenderOpts } from "./tui";
51
52
 
52
53
  export interface UninstallOptions {
@@ -109,6 +110,8 @@ export interface UninstallResult {
109
110
  /** Everything this machine has that uninstalling would remove. */
110
111
  interface Leftovers {
111
112
  clis: IntegrationType[];
113
+ /** failproofai's block in Codex's system config, which only root can remove. */
114
+ codexSystemPath: string | null;
112
115
  servicePath: string | null;
113
116
  serviceInstalled: boolean;
114
117
  daemonConfigured: boolean;
@@ -146,6 +149,7 @@ function survey(cwd?: string): Leftovers {
146
149
  const servicePath = isDaemonSupportedPlatform() ? daemonServiceFilePath() : null;
147
150
  return {
148
151
  clis,
152
+ codexSystemPath: codexSystemHooksPresent() ? codexSystemConfigPath() : null,
149
153
  servicePath,
150
154
  serviceInstalled: !!servicePath && existsSync(servicePath),
151
155
  daemonConfigured,
@@ -200,6 +204,7 @@ export async function runUninstallCommand(opts: UninstallOptions = {}): Promise<
200
204
  if (found.clis.length > 0) {
201
205
  details.push(
202
206
  `Agents: ${found.clis.map((id) => getIntegration(id).displayName ?? id).join(", ")}`,
207
+ ...(found.codexSystemPath ? [`Codex's hooks are in ${found.codexSystemPath}, so removing them needs sudo.`] : []),
203
208
  "Also resets enabled policies, custom policy paths and policy parameters in policies-config.json.",
204
209
  );
205
210
  }
@@ -271,6 +276,22 @@ export async function runUninstallCommand(opts: UninstallOptions = {}): Promise<
271
276
  }
272
277
  }
273
278
 
279
+ // Asked once, up front, for everything below that needs root: the Codex
280
+ // block in /etc and the service. Best-effort, like the service step: a
281
+ // refused prompt falls through to the "still there, do this" lines.
282
+ const elevate = opts.elevate ?? primeElevation;
283
+ let elevated = false;
284
+ const elevateOnce = (): void => {
285
+ if (elevated) return;
286
+ elevated = true;
287
+ try {
288
+ elevate();
289
+ } catch {
290
+ // `sudo -n` in the removal fails the same way it would have anyway.
291
+ }
292
+ };
293
+ if (found.codexSystemPath) elevateOnce();
294
+
274
295
  if (found.clis.length > 0) {
275
296
  try {
276
297
  // Scope "all" and every cli that HAS entries — the same list the plan
@@ -285,6 +306,12 @@ export async function runUninstallCommand(opts: UninstallOptions = {}): Promise<
285
306
  source: "uninstall_command",
286
307
  silent: true,
287
308
  });
309
+ if (found.codexSystemPath && codexSystemHooksPresent()) {
310
+ failures.push(
311
+ `failproofai's Codex hooks are still in ${found.codexSystemPath}, most often because sudo was not available.\n` +
312
+ `Remove the lines from \`${CODEX_MANAGED_BEGIN}\` to \`${CODEX_MANAGED_END}\` as root.`,
313
+ );
314
+ }
288
315
  lines.push(kit.ok(`Removed hooks from ${many(found.clis.length, "agent")}.`));
289
316
  } catch (err) {
290
317
  failures.push(
@@ -309,13 +336,7 @@ export async function runUninstallCommand(opts: UninstallOptions = {}): Promise<
309
336
  // in front of it, which is the same reasoning `failproofai update` follows.
310
337
  // Best-effort: a refused or absent sudo still falls through to the
311
338
  // "still there, here is what to run as root" path below.
312
- const elevate = opts.elevate ?? primeElevation;
313
- try {
314
- elevate();
315
- } catch {
316
- // A failed prompt is not a reason to skip the attempt; `sudo -n` inside
317
- // the removal will simply fail the same way it would have anyway.
318
- }
339
+ elevateOnce();
319
340
  // What to run as root when the removal could not elevate, and where to look.
320
341
  const byHand = (servicePath: string): string =>
321
342
  "\nRemove it as root:\n" +
@@ -1,3 +0,0 @@
1
- module.exports=[874,(e,r,o)=>{r.exports=e.x("buffer",()=>require("buffer"))},60815,e=>{e.v(e=>Promise.resolve().then(()=>e(24868)))},1457,(e,r,o)=>{r.exports=e.x("node:readline",()=>require("node:readline"))},57764,(e,r,o)=>{r.exports=e.x("node:url",()=>require("node:url"))},5365,(e,r,o)=>{r.exports=e.x("process",()=>require("process"))},92509,(e,r,o)=>{r.exports=e.x("url",()=>require("url"))}];
2
-
3
- //# sourceMappingURL=%5Bexternals%5D__1_9ze9b._.js.map