failproofai 0.0.10 → 0.0.11-beta.10

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 (565) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +9 -1
  3. package/.next/standalone/.next/build-manifest.json +10 -10
  4. package/.next/standalone/.next/prerender-manifest.json +3 -32
  5. package/.next/standalone/.next/required-server-files.json +2 -1
  6. package/.next/standalone/.next/routes-manifest.json +51 -3
  7. package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +7 -7
  8. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  9. package/.next/standalone/.next/server/app/_global-error/page.js +6 -6
  10. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  11. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
  14. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  15. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  16. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  17. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  18. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  19. package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +7 -7
  20. package/.next/standalone/.next/server/app/_not-found/page/next-font-manifest.json +2 -6
  21. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  22. package/.next/standalone/.next/server/app/_not-found/page.js +12 -13
  23. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  26. package/.next/standalone/.next/server/app/_not-found.rsc +16 -16
  27. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +16 -16
  28. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  29. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  30. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  31. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  32. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  33. package/.next/standalone/.next/server/app/api/audit/invite/route/app-paths-manifest.json +3 -0
  34. package/.next/standalone/.next/server/app/api/audit/invite/route/server-reference-manifest.json +4 -0
  35. package/.next/standalone/.next/server/app/api/audit/invite/route.js +7 -0
  36. package/.next/standalone/.next/server/app/api/audit/invite/route.js.nft.json +1 -0
  37. package/.next/standalone/.next/server/app/api/audit/invite/route_client-reference-manifest.js +3 -0
  38. package/.next/standalone/.next/server/app/api/audit/run/route/app-paths-manifest.json +3 -0
  39. package/.next/standalone/.next/server/app/api/audit/run/route/build-manifest.json +9 -0
  40. package/.next/standalone/.next/server/app/api/audit/run/route/server-reference-manifest.json +4 -0
  41. package/.next/standalone/.next/server/app/api/audit/run/route.js +8 -0
  42. package/.next/standalone/.next/server/app/api/audit/run/route.js.map +5 -0
  43. package/.next/standalone/.next/server/app/api/audit/run/route.js.nft.json +1 -0
  44. package/.next/standalone/.next/server/app/api/audit/run/route_client-reference-manifest.js +3 -0
  45. package/.next/standalone/.next/server/app/api/audit/status/route/app-paths-manifest.json +3 -0
  46. package/.next/standalone/.next/server/app/api/audit/status/route/build-manifest.json +9 -0
  47. package/.next/standalone/.next/server/app/api/audit/status/route/server-reference-manifest.json +4 -0
  48. package/.next/standalone/.next/server/app/api/audit/status/route.js +6 -0
  49. package/.next/standalone/.next/server/app/api/audit/status/route.js.map +5 -0
  50. package/.next/standalone/.next/server/app/api/audit/status/route.js.nft.json +1 -0
  51. package/.next/standalone/.next/server/app/api/audit/status/route_client-reference-manifest.js +3 -0
  52. package/.next/standalone/.next/server/app/api/auth/login-request/route/app-paths-manifest.json +3 -0
  53. package/.next/standalone/.next/server/app/api/auth/login-request/route/build-manifest.json +9 -0
  54. package/.next/standalone/.next/server/app/api/auth/login-request/route/server-reference-manifest.json +4 -0
  55. package/.next/standalone/.next/server/app/api/auth/login-request/route.js +6 -0
  56. package/.next/standalone/.next/server/app/api/auth/login-request/route.js.map +5 -0
  57. package/.next/standalone/.next/server/app/api/auth/login-request/route.js.nft.json +1 -0
  58. package/.next/standalone/.next/server/app/api/auth/login-request/route_client-reference-manifest.js +3 -0
  59. package/.next/standalone/.next/server/app/api/auth/login-verify/route/app-paths-manifest.json +3 -0
  60. package/.next/standalone/.next/server/app/api/auth/login-verify/route/build-manifest.json +9 -0
  61. package/.next/standalone/.next/server/app/api/auth/login-verify/route/server-reference-manifest.json +4 -0
  62. package/.next/standalone/.next/server/app/api/auth/login-verify/route.js +7 -0
  63. package/.next/standalone/.next/server/app/api/auth/login-verify/route.js.map +5 -0
  64. package/.next/standalone/.next/server/app/api/auth/login-verify/route.js.nft.json +1 -0
  65. package/.next/standalone/.next/server/app/api/auth/login-verify/route_client-reference-manifest.js +3 -0
  66. package/.next/standalone/.next/server/app/api/auth/logout/route/app-paths-manifest.json +3 -0
  67. package/.next/standalone/.next/server/app/api/auth/logout/route/build-manifest.json +9 -0
  68. package/.next/standalone/.next/server/app/api/auth/logout/route/server-reference-manifest.json +4 -0
  69. package/.next/standalone/.next/server/app/api/auth/logout/route.js +7 -0
  70. package/.next/standalone/.next/server/app/api/auth/logout/route.js.map +5 -0
  71. package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +1 -0
  72. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +3 -0
  73. package/.next/standalone/.next/server/app/api/auth/reminder/route/app-paths-manifest.json +3 -0
  74. package/.next/standalone/.next/server/app/api/auth/reminder/route/build-manifest.json +9 -0
  75. package/.next/standalone/.next/server/app/api/auth/reminder/route/server-reference-manifest.json +4 -0
  76. package/.next/standalone/.next/server/app/api/auth/reminder/route.js +7 -0
  77. package/.next/standalone/.next/server/app/api/auth/reminder/route.js.map +5 -0
  78. package/.next/standalone/.next/server/app/api/auth/reminder/route.js.nft.json +1 -0
  79. package/.next/standalone/.next/server/app/api/auth/reminder/route_client-reference-manifest.js +3 -0
  80. package/.next/standalone/.next/server/app/api/auth/status/route/app-paths-manifest.json +3 -0
  81. package/.next/standalone/.next/server/app/api/auth/status/route/build-manifest.json +9 -0
  82. package/.next/standalone/.next/server/app/api/auth/status/route/server-reference-manifest.json +4 -0
  83. package/.next/standalone/.next/server/app/api/auth/status/route.js +7 -0
  84. package/.next/standalone/.next/server/app/api/auth/status/route.js.map +5 -0
  85. package/.next/standalone/.next/server/app/api/auth/status/route.js.nft.json +1 -0
  86. package/.next/standalone/.next/server/app/api/auth/status/route_client-reference-manifest.js +3 -0
  87. package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js +3 -3
  88. package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js.nft.json +1 -1
  89. package/.next/standalone/.next/server/app/audit/page/app-paths-manifest.json +3 -0
  90. package/.next/standalone/.next/server/app/audit/page/build-manifest.json +18 -0
  91. package/.next/standalone/.next/server/app/audit/page/next-font-manifest.json +6 -0
  92. package/.next/standalone/.next/server/app/audit/page/react-loadable-manifest.json +1 -0
  93. package/.next/standalone/.next/server/app/audit/page/server-reference-manifest.json +29 -0
  94. package/.next/standalone/.next/server/app/audit/page.js +17 -0
  95. package/.next/standalone/.next/server/app/audit/page.js.map +5 -0
  96. package/.next/standalone/.next/server/app/audit/page.js.nft.json +1 -0
  97. package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +3 -0
  98. package/.next/standalone/.next/server/app/index.html +1 -1
  99. package/.next/standalone/.next/server/app/index.rsc +16 -17
  100. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  101. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +16 -17
  102. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  103. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
  104. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -3
  105. package/.next/standalone/.next/server/app/page/build-manifest.json +7 -7
  106. package/.next/standalone/.next/server/app/page/next-font-manifest.json +2 -6
  107. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  108. package/.next/standalone/.next/server/app/page.js +14 -15
  109. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  110. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  111. package/.next/standalone/.next/server/app/policies/page/build-manifest.json +7 -7
  112. package/.next/standalone/.next/server/app/policies/page/next-font-manifest.json +2 -6
  113. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
  114. package/.next/standalone/.next/server/app/policies/page.js +16 -16
  115. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  116. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/project/[name]/page/build-manifest.json +7 -7
  118. package/.next/standalone/.next/server/app/project/[name]/page/next-font-manifest.json +2 -6
  119. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  120. package/.next/standalone/.next/server/app/project/[name]/page.js +16 -17
  121. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  122. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  123. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/build-manifest.json +7 -7
  124. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/next-font-manifest.json +2 -6
  125. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  126. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  127. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js +19 -20
  128. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  129. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/projects/page/build-manifest.json +7 -7
  131. package/.next/standalone/.next/server/app/projects/page/next-font-manifest.json +2 -6
  132. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  133. package/.next/standalone/.next/server/app/projects/page.js +15 -16
  134. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  135. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app-paths-manifest.json +9 -1
  137. package/.next/standalone/.next/server/chunks/[externals]__14odj07._.js +3 -0
  138. package/.next/standalone/.next/server/chunks/{[externals]__0z0j--b._.js → [externals]__1nl3dvw._.js} +1 -1
  139. package/.next/standalone/.next/server/chunks/{[externals]__0-p9.k~._.js → [externals]__1s61mel._.js} +1 -1
  140. package/.next/standalone/.next/server/chunks/{[externals]_node_os_06ur78j._.js → [externals]_node_os_0by37l-._.js} +1 -1
  141. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0kjo7d_._.js → [root-of-the-server]__0_0xu5z._.js} +2 -2
  142. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cag8qd._.js +3 -0
  143. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0z-180.._.js → [root-of-the-server]__0cycwg6._.js} +2 -2
  144. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__08px0ym._.js → [root-of-the-server]__0f7mikp._.js} +1 -1
  145. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0q-v9z2._.js +3 -0
  146. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0rv7m0k._.js +3 -0
  147. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0g48iv.._.js → [root-of-the-server]__0sb_5m8._.js} +2 -2
  148. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0j8-xkl._.js → [root-of-the-server]__0xuaoik._.js} +2 -2
  149. package/.next/standalone/.next/server/chunks/[root-of-the-server]__13h8pzr._.js +3 -0
  150. package/.next/standalone/.next/server/chunks/[root-of-the-server]__17g9wh7._.js +3 -0
  151. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1_mqemn._.js +3 -0
  152. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0vlhtkc._.js → [root-of-the-server]__1hgv_75._.js} +1 -1
  153. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0wu7fr7._.js → [root-of-the-server]__1jm9fw6._.js} +1 -1
  154. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1legmza._.js +3 -0
  155. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__044xt9.._.js → [root-of-the-server]__1m2_4t0._.js} +2 -2
  156. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0yfq1yr._.js → [root-of-the-server]__1mhmdzs._.js} +1 -1
  157. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0zso~62._.js → [root-of-the-server]__1ou2ehh._.js} +1 -1
  158. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1qxztj-._.js +3 -0
  159. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1r1h8v9._.js +3 -0
  160. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1rhmvod._.js +3 -0
  161. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1uatkiv._.js +3 -0
  162. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0.~nmr9._.js → [root-of-the-server]__1w9zl9-._.js} +1 -1
  163. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1y6gxxb._.js +3 -0
  164. package/.next/standalone/.next/server/chunks/{_0ebx_lc._.js → _0p53ge1._.js} +2 -2
  165. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_audit_invite_route_actions_0-2n5sy.js +3 -0
  166. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_audit_run_route_actions_1qgp9io.js +3 -0
  167. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_audit_status_route_actions_1f7pjof.js +3 -0
  168. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_auth_login-request_route_actions_1c49co0.js +3 -0
  169. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_auth_login-verify_route_actions_1r3slzk.js +3 -0
  170. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_auth_logout_route_actions_0regwyr.js +3 -0
  171. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_auth_reminder_route_actions_1kjgxf8.js +3 -0
  172. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_auth_status_route_actions_1aho9zu.js +3 -0
  173. package/.next/standalone/.next/server/chunks/{_next-internal_server_app_api_download_[project]_[session]_route_actions_0wb00i-.js → _next-internal_server_app_api_download_[project]_[session]_route_actions_1is7vs7.js} +1 -1
  174. package/.next/standalone/.next/server/chunks/{lib_logger_ts_047tt9f._.js → lib_logger_ts_07e65t5._.js} +1 -1
  175. package/.next/standalone/.next/server/chunks/node_modules_0-tu4ot._.js +3 -0
  176. package/.next/standalone/.next/server/chunks/node_modules_0ttxbz7._.js +3 -0
  177. package/.next/standalone/.next/server/chunks/node_modules_1bnh1y0._.js +3 -0
  178. package/.next/standalone/.next/server/chunks/node_modules_1epycqa._.js +3 -0
  179. package/.next/standalone/.next/server/chunks/node_modules_1wpdcgo._.js +3 -0
  180. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_17k9e3w.js +23 -0
  181. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_01r25oi._.js +3 -0
  182. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_09z9-p7._.js +3 -0
  183. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_1nxcc4v._.js +3 -0
  184. package/.next/standalone/.next/server/chunks/ssr/{[externals]__12dv.x0._.js → [externals]__1_g_b3t._.js} +1 -1
  185. package/.next/standalone/.next/server/chunks/ssr/{[externals]_node_async_hooks_0v0ln8c._.js → [externals]_node_async_hooks_1gjz99j._.js} +1 -1
  186. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01tn1ou._.js +3 -0
  187. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0808sha._.js +4 -0
  188. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e4-6d8._.js +4 -0
  189. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ehe24g._.js +4 -0
  190. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0f62vu9._.js +3 -0
  191. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g253ve._.js +4 -0
  192. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h12me5._.js +3 -0
  193. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0k65l27._.js +3 -0
  194. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0vxf0_g._.js +4 -0
  195. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11rtg6s._.js +3 -0
  196. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12mcauo._.js +4 -0
  197. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__14dd6h8._.js +3 -0
  198. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0t5l7a5._.js → [root-of-the-server]__1d8omgc._.js} +1 -1
  199. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__10xgshr._.js → [root-of-the-server]__1dky4g0._.js} +2 -2
  200. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1e-x7j4._.js +3 -0
  201. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1fax1sl._.js +19 -0
  202. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1mt35_w._.js +221 -0
  203. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1pcxxwg._.js +4 -0
  204. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1usf8v2._.js +3 -0
  205. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1uvfwgr._.js +4 -0
  206. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1w6v_1u._.js +3 -0
  207. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__212nf49._.js +3 -0
  208. package/.next/standalone/.next/server/chunks/ssr/{_03d7qyt._.js → _05whahf._.js} +2 -2
  209. package/.next/standalone/.next/server/chunks/ssr/_0il3fl1._.js +3 -0
  210. package/.next/standalone/.next/server/chunks/ssr/_11_p9y8._.js +3 -0
  211. package/.next/standalone/.next/server/chunks/ssr/{_0xb8ngh._.js → _1kje4fm._.js} +1 -1
  212. package/.next/standalone/.next/server/chunks/ssr/{_0zx~s__._.js → _1p0-leb._.js} +1 -1
  213. package/.next/standalone/.next/server/chunks/ssr/{app_04qfs8z._.js → app_087bt9w._.js} +1 -1
  214. package/.next/standalone/.next/server/chunks/ssr/{app_0uosk1e._.js → app_1fvisnp._.js} +1 -1
  215. package/.next/standalone/.next/server/chunks/ssr/{app_13f0ohr._.js → app_209u41o._.js} +1 -1
  216. package/.next/standalone/.next/server/chunks/ssr/app_audit__components_audit-dashboard_tsx_0p9ud47._.js +65 -0
  217. package/.next/standalone/.next/server/chunks/ssr/app_audit_loading_tsx_1j1kc6j._.js +3 -0
  218. package/.next/standalone/.next/server/chunks/ssr/{app_error_tsx_11t4ysq._.js → app_error_tsx_1zds1ns._.js} +1 -1
  219. package/.next/standalone/.next/server/chunks/ssr/{app_global-error_tsx_0m9qisk._.js → app_global-error_tsx_113y3za._.js} +1 -1
  220. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_1kp6l3x._.js +3 -0
  221. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_19dqvpc._.js +8 -0
  222. package/.next/standalone/.next/server/chunks/ssr/{app_project_[name]_error_tsx_0.9-fod._.js → app_project_[name]_error_tsx_1v02_5n._.js} +1 -1
  223. package/.next/standalone/.next/server/chunks/ssr/{app_project_[name]_loading_tsx_03g9xy0._.js → app_project_[name]_loading_tsx_05-l4uf._.js} +1 -1
  224. package/.next/standalone/.next/server/chunks/ssr/{app_project_[name]_session_[sessionId]_error_tsx_0ler-mr._.js → app_project_[name]_session_[sessionId]_error_tsx_0-lj3nd._.js} +1 -1
  225. package/.next/standalone/.next/server/chunks/ssr/{app_project_[name]_session_[sessionId]_loading_tsx_0c0e3yx._.js → app_project_[name]_session_[sessionId]_loading_tsx_0l4aixs._.js} +1 -1
  226. package/.next/standalone/.next/server/chunks/ssr/app_projects_loading_tsx_20-3u8b._.js +3 -0
  227. package/.next/standalone/.next/server/chunks/ssr/{lib_codex-projects_ts_0eosib~._.js → lib_codex-projects_ts_0pqlw37._.js} +1 -1
  228. package/.next/standalone/.next/server/chunks/ssr/{lib_copilot-projects_ts_0r8xkn8._.js → lib_copilot-projects_ts_19wl7tp._.js} +1 -1
  229. package/.next/standalone/.next/server/chunks/ssr/{lib_cursor-projects_ts_0qt1scg._.js → lib_cursor-projects_ts_18-iwyk._.js} +1 -1
  230. package/.next/standalone/.next/server/chunks/ssr/{lib_gemini-projects_ts_0sl~yqr._.js → lib_gemini-projects_ts_1c7bgx-._.js} +1 -1
  231. package/.next/standalone/.next/server/chunks/ssr/{lib_opencode-projects_ts_0op9gyp._.js → lib_opencode-projects_ts_15bjxkm._.js} +1 -1
  232. package/.next/standalone/.next/server/chunks/ssr/{lib_pi-projects_ts_103tsh1._.js → lib_pi-projects_ts_1wikofb._.js} +1 -1
  233. package/.next/standalone/.next/server/chunks/ssr/lib_utils_ts_0az0sfq._.js +3 -0
  234. package/.next/standalone/.next/server/chunks/ssr/node_modules_1ynf7el._.js +3 -0
  235. package/.next/standalone/.next/server/chunks/ssr/node_modules_html-to-image_es_index_0nye1s3.js +3 -0
  236. package/.next/standalone/.next/server/chunks/ssr/node_modules_html-to-image_es_index_1ao30b1.js +3 -0
  237. package/.next/standalone/.next/server/chunks/ssr/{node_modules_next_0rd0oc-._.js → node_modules_next_1a1kch7._.js} +1 -1
  238. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_0uboya6._.js +6 -0
  239. package/.next/standalone/.next/server/chunks/ssr/{node_modules_next_dist_11dij6w._.js → node_modules_next_dist_1d_onnt._.js} +2 -2
  240. package/.next/standalone/.next/server/chunks/ssr/{node_modules_next_dist_client_components_0inhx6q._.js → node_modules_next_dist_client_components_0wpq8j3._.js} +1 -1
  241. package/.next/standalone/.next/server/chunks/ssr/{node_modules_next_dist_client_components_builtin_forbidden_0ghu-f7.js → node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js} +1 -1
  242. package/.next/standalone/.next/server/chunks/ssr/{node_modules_next_dist_client_components_builtin_unauthorized_0cjv-23.js → node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js} +1 -1
  243. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0-uvagv.js +4 -0
  244. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_03c7gi5.js +4 -0
  245. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_09p-8om.js +4 -0
  246. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0v-kfiu.js +4 -0
  247. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0xrgzyz.js +4 -0
  248. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1806lsc.js +4 -0
  249. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1j6dd-e.js +4 -0
  250. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1sa65r-.js +4 -0
  251. package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuzn._.js +3 -0
  252. package/.next/standalone/.next/server/chunks/ssr/src_hooks_1ezd2jf._.js +5 -0
  253. package/.next/standalone/.next/server/chunks/ssr/src_hooks_1tnuifj._.js +5 -0
  254. package/.next/standalone/.next/server/functions-config-manifest.json +2 -2
  255. package/.next/standalone/.next/server/instrumentation.js +1 -1
  256. package/.next/standalone/.next/server/middleware-build-manifest.js +10 -10
  257. package/.next/standalone/.next/server/middleware.js +2 -2
  258. package/.next/standalone/.next/server/next-font-manifest.js +1 -1
  259. package/.next/standalone/.next/server/next-font-manifest.json +2 -21
  260. package/.next/standalone/.next/server/pages/404.html +1 -1
  261. package/.next/standalone/.next/server/pages/500.html +1 -1
  262. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  263. package/.next/standalone/.next/server/server-reference-manifest.json +27 -9
  264. package/.next/standalone/.next/static/{dAuQps6jUwCz9X1Q5FFOO → DOSSF5hRUtt3-QZEm-ZIk}/_clientMiddlewareManifest.js +2 -2
  265. package/.next/standalone/.next/static/chunks/{0pkl..xgo-qox.js → 02e80j0576qfu.js} +1 -1
  266. package/.next/standalone/.next/static/chunks/{07uz2g0_38qia.js → 03fmihek9n986.js} +1 -1
  267. package/.next/standalone/.next/static/chunks/0f7d7hnbh4djs.js +1 -0
  268. package/.next/standalone/.next/static/chunks/0h7auy7hzjyhw.js +1 -0
  269. package/.next/standalone/.next/static/chunks/0wwt5o04i4zwh.js +1 -0
  270. package/.next/standalone/.next/static/chunks/0zbxssxh53n-3.js +1 -0
  271. package/.next/standalone/.next/static/chunks/13f1kmjea-0md.js +2 -0
  272. package/.next/standalone/.next/static/chunks/13xzda05yw19e.js +1 -0
  273. package/.next/standalone/.next/static/chunks/{150i0n26fnvso.js → 1__i9af9g78vd.js} +1 -1
  274. package/.next/standalone/.next/static/chunks/1uxa5lm6yco79.js +1 -0
  275. package/.next/standalone/.next/static/chunks/20dqelk3xz_ya.css +1 -0
  276. package/.next/standalone/.next/static/chunks/{0j171xiqge4rv.js → 29lzaddhez98q.js} +1 -1
  277. package/.next/standalone/.next/static/chunks/29nrs5xs9c4hx.css +2 -0
  278. package/.next/standalone/.next/static/chunks/{0lt8ko3lw.5yt.js → 2b_e9tyly10lo.js} +1 -1
  279. package/.next/standalone/.next/static/chunks/{0rnqmir4cd5p9.js → 2h0dkzyy0vocp.js} +1 -1
  280. package/.next/standalone/.next/static/chunks/2lp3a3a3_4_9o.js +63 -0
  281. package/.next/standalone/.next/static/chunks/{179yytvmam0ug.js → 2nt_slonrn0rw.js} +1 -1
  282. package/.next/standalone/.next/static/chunks/2plcgtv_tkv9t.js +1 -0
  283. package/.next/standalone/.next/static/chunks/33k2epr1iz8_z.js +6 -0
  284. package/.next/standalone/.next/static/chunks/{0d3shmwh5_nmn.js → 33u59vf_8xpd-.js} +1 -1
  285. package/.next/standalone/.next/static/chunks/3zkg2s2vzxc3d.js +1 -0
  286. package/.next/standalone/.next/static/chunks/{turbopack-05z7a19q43zfq.js → turbopack-3lrm4f20fz89b.js} +1 -1
  287. package/.next/standalone/SECURITY.md +73 -0
  288. package/.next/standalone/app/actions/get-audit-result.ts +35 -0
  289. package/.next/standalone/app/api/audit/_state.ts +79 -0
  290. package/.next/standalone/app/api/audit/invite/route.ts +183 -0
  291. package/.next/standalone/app/api/audit/run/route.ts +103 -0
  292. package/.next/standalone/app/api/audit/status/route.ts +24 -0
  293. package/.next/standalone/app/api/auth/login-request/route.ts +91 -0
  294. package/.next/standalone/app/api/auth/login-verify/route.ts +98 -0
  295. package/.next/standalone/app/api/auth/logout/route.ts +48 -0
  296. package/.next/standalone/app/api/auth/reminder/route.ts +213 -0
  297. package/.next/standalone/app/api/auth/status/route.ts +42 -0
  298. package/.next/standalone/app/audit/_components/audit-dashboard.tsx +397 -0
  299. package/.next/standalone/app/audit/_components/audit-poster.tsx +326 -0
  300. package/.next/standalone/app/audit/_components/audit-progress-strip.tsx +98 -0
  301. package/.next/standalone/app/audit/_components/auth-dialog.tsx +375 -0
  302. package/.next/standalone/app/audit/_components/come-back-better-section.tsx +333 -0
  303. package/.next/standalone/app/audit/_components/empty-state.tsx +152 -0
  304. package/.next/standalone/app/audit/_components/how-to-improve-section.tsx +187 -0
  305. package/.next/standalone/app/audit/_components/invite-dialog.tsx +227 -0
  306. package/.next/standalone/app/audit/_components/quirks-section.tsx +75 -0
  307. package/.next/standalone/app/audit/_components/report-footer.tsx +35 -0
  308. package/.next/standalone/app/audit/_components/rerun-button.tsx +119 -0
  309. package/.next/standalone/app/audit/_components/run-progress.tsx +120 -0
  310. package/.next/standalone/app/audit/_components/share-templates.ts +94 -0
  311. package/.next/standalone/app/audit/_components/sigil.tsx +36 -0
  312. package/.next/standalone/app/audit/_components/strengths-section.tsx +45 -0
  313. package/.next/standalone/app/audit/audit-styles.css +1178 -0
  314. package/.next/standalone/app/audit/loading.tsx +24 -0
  315. package/.next/standalone/app/audit/page.tsx +63 -0
  316. package/.next/standalone/app/components/sessions-list.tsx +77 -80
  317. package/.next/standalone/app/globals.css +754 -139
  318. package/.next/standalone/app/layout.tsx +6 -8
  319. package/.next/standalone/app/policies/hooks-client.tsx +340 -141
  320. package/.next/standalone/app/project/[name]/page.tsx +31 -37
  321. package/.next/standalone/app/projects/loading.tsx +30 -8
  322. package/.next/standalone/app/projects/page.tsx +66 -17
  323. package/.next/standalone/assets/audit/Audit Report.html +22 -0
  324. package/.next/standalone/assets/audit/Show Off Your Agent.html +22 -0
  325. package/.next/standalone/assets/audit/archetypes.jsx +277 -0
  326. package/.next/standalone/assets/audit/assets/fonts/bitcount-prop-single.woff2 +0 -0
  327. package/.next/standalone/assets/audit/audit.jsx +825 -0
  328. package/.next/standalone/assets/audit/poster-styles.css +424 -0
  329. package/.next/standalone/assets/audit/poster.jsx +247 -0
  330. package/.next/standalone/assets/audit/screenshots/poster-optimist.png +0 -0
  331. package/.next/standalone/assets/audit/screenshots/poster-scrolled.png +0 -0
  332. package/.next/standalone/assets/audit/styles.css +1225 -0
  333. package/.next/standalone/assets/audit/tweaks-panel.jsx +425 -0
  334. package/.next/standalone/assets/logos/company/icon.svg +1 -0
  335. package/.next/standalone/assets/logos/company/logo.svg +1 -0
  336. package/.next/standalone/components/navbar.tsx +119 -65
  337. package/.next/standalone/components/reach-developers.tsx +39 -11
  338. package/.next/standalone/lib/atomic-write.ts +67 -0
  339. package/.next/standalone/lib/auth/api-server-client.ts +306 -0
  340. package/.next/standalone/lib/auth/auth-store.ts +250 -0
  341. package/.next/standalone/lib/claude-sessions.ts +181 -0
  342. package/.next/standalone/lib/client-telemetry.ts +2 -0
  343. package/.next/standalone/lib/fetch-with-timeout.ts +59 -0
  344. package/.next/standalone/lib/share-card.ts +144 -0
  345. package/.next/standalone/lib/telemetry.ts +12 -7
  346. package/.next/standalone/node_modules/@next/env/package.json +2 -2
  347. package/.next/standalone/node_modules/next/dist/build/static-paths/app.js +2 -1
  348. package/.next/standalone/node_modules/next/dist/build/swc/index.js +1 -1
  349. package/.next/standalone/node_modules/next/dist/build/utils.js +2 -1
  350. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/fetch-server-response.js +2 -2
  351. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/set-cache-busting-search-param.js +8 -2
  352. package/.next/standalone/node_modules/next/dist/client/dev/debug-channel.js +102 -2
  353. package/.next/standalone/node_modules/next/dist/client/route-params.js +23 -6
  354. package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +13 -13
  355. package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +13 -13
  356. package/.next/standalone/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +2 -2
  357. package/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +10 -10
  358. package/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
  359. package/.next/standalone/node_modules/next/dist/server/app-render/action-handler.js +21 -14
  360. package/.next/standalone/node_modules/next/dist/server/app-render/app-render.js +62 -9
  361. package/.next/standalone/node_modules/next/dist/server/app-render/collect-segment-data.js +16 -0
  362. package/.next/standalone/node_modules/next/dist/server/app-render/create-component-tree.js +49 -19
  363. package/.next/standalone/node_modules/next/dist/server/app-render/get-script-nonce-from-header.js +8 -20
  364. package/.next/standalone/node_modules/next/dist/server/app-render/metadata-insertion/create-server-inserted-metadata.js +8 -7
  365. package/.next/standalone/node_modules/next/dist/server/app-render/use-flight-response.js +2 -2
  366. package/.next/standalone/node_modules/next/dist/server/async-storage/work-store.js +2 -1
  367. package/.next/standalone/node_modules/next/dist/server/base-server.js +13 -5
  368. package/.next/standalone/node_modules/next/dist/server/config-schema.js +1 -0
  369. package/.next/standalone/node_modules/next/dist/server/config.js +1 -1
  370. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
  371. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  372. package/.next/standalone/node_modules/next/dist/server/dev/static-paths-worker.js +2 -1
  373. package/.next/standalone/node_modules/next/dist/server/image-optimizer.js +22 -2
  374. package/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  375. package/.next/standalone/node_modules/next/dist/server/lib/encode-cache-tag.js +45 -0
  376. package/.next/standalone/node_modules/next/dist/server/lib/implicit-tags.js +6 -3
  377. package/.next/standalone/node_modules/next/dist/server/lib/is-rsc-request.js +18 -0
  378. package/.next/standalone/node_modules/next/dist/server/lib/mock-request.js +30 -5
  379. package/.next/standalone/node_modules/next/dist/server/lib/patch-fetch.js +5 -1
  380. package/.next/standalone/node_modules/next/dist/server/lib/patch-set-header.js +7 -0
  381. package/.next/standalone/node_modules/next/dist/server/lib/router-server.js +6 -3
  382. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/resolve-routes.js +18 -4
  383. package/.next/standalone/node_modules/next/dist/server/lib/server-ipc/utils.js +3 -1
  384. package/.next/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
  385. package/.next/standalone/node_modules/next/dist/server/next-server.js +1 -1
  386. package/.next/standalone/node_modules/next/dist/server/request/fallback-params.js +27 -1
  387. package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/module.js +1 -0
  388. package/.next/standalone/node_modules/next/dist/server/route-modules/route-module.js +11 -1
  389. package/.next/standalone/node_modules/next/dist/server/server-utils.js +19 -2
  390. package/.next/standalone/node_modules/next/dist/server/stream-utils/node-web-streams-helper.js +5 -5
  391. package/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-wrapper.js +1 -1
  392. package/.next/standalone/node_modules/next/dist/server/web/adapter.js +4 -1
  393. package/.next/standalone/node_modules/next/dist/server/web/edge-route-module-wrapper.js +2 -1
  394. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/revalidate.js +4 -3
  395. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/unstable-cache.js +6 -2
  396. package/.next/standalone/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +1 -1
  397. package/.next/standalone/node_modules/next/dist/{server → shared/lib}/htmlescape.js +15 -0
  398. package/.next/standalone/node_modules/next/dist/shared/lib/router/routes/app.js +13 -1
  399. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/cache-busting-search-param.js +56 -10
  400. package/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  401. package/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  402. package/.next/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
  403. package/.next/standalone/node_modules/next/package.json +15 -15
  404. package/.next/standalone/node_modules/react/cjs/react.development.js +1 -1
  405. package/.next/standalone/node_modules/react/cjs/react.production.js +1 -1
  406. package/.next/standalone/node_modules/react/package.json +1 -1
  407. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +1 -1
  408. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +1 -1
  409. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.browser.production.js +3 -3
  410. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.edge.production.js +3 -3
  411. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.node.production.js +3 -3
  412. package/.next/standalone/node_modules/react-dom/cjs/react-dom.production.js +1 -1
  413. package/.next/standalone/node_modules/react-dom/package.json +2 -2
  414. package/.next/standalone/osv-scanner.toml +17 -0
  415. package/.next/standalone/package.json +26 -18
  416. package/.next/standalone/proxy.ts +1 -1
  417. package/.next/standalone/public/audit/fonts/bitcount-prop-single.woff2 +0 -0
  418. package/.next/standalone/public/icon.svg +1 -0
  419. package/.next/standalone/public/logo.svg +1 -0
  420. package/.next/standalone/server.js +1 -1
  421. package/.next/standalone/templates/bitcount-font/README.md +42 -0
  422. package/.next/standalone/templates/bitcount-font/bitcount-prop-single.woff2 +0 -0
  423. package/.next/standalone/templates/bitcount-font/bitcount.css +49 -0
  424. package/.next/standalone/templates/bitcount-font/fonts.ts.example +23 -0
  425. package/README.md +12 -5
  426. package/bin/failproofai.mjs +263 -70
  427. package/dist/cli.mjs +3830 -1617
  428. package/lib/atomic-write.ts +67 -0
  429. package/lib/auth/api-server-client.ts +306 -0
  430. package/lib/auth/auth-store.ts +250 -0
  431. package/lib/claude-sessions.ts +181 -0
  432. package/lib/client-telemetry.ts +2 -0
  433. package/lib/fetch-with-timeout.ts +59 -0
  434. package/lib/share-card.ts +144 -0
  435. package/lib/telemetry.ts +12 -7
  436. package/package.json +26 -18
  437. package/scripts/install-telemetry.mjs +4 -0
  438. package/scripts/launch.ts +2 -2
  439. package/scripts/postinstall.mjs +89 -1
  440. package/src/audit/archetypes.ts +944 -0
  441. package/src/audit/cache.ts +151 -0
  442. package/src/audit/cli-adapters/claude.ts +97 -0
  443. package/src/audit/cli-adapters/codex.ts +56 -0
  444. package/src/audit/cli-adapters/copilot.ts +51 -0
  445. package/src/audit/cli-adapters/cursor.ts +51 -0
  446. package/src/audit/cli-adapters/gemini.ts +51 -0
  447. package/src/audit/cli-adapters/index.ts +70 -0
  448. package/src/audit/cli-adapters/opencode.ts +52 -0
  449. package/src/audit/cli-adapters/pi.ts +51 -0
  450. package/src/audit/cli-adapters/shared.ts +85 -0
  451. package/src/audit/cli.ts +319 -0
  452. package/src/audit/dashboard-cache.ts +158 -0
  453. package/src/audit/detectors/find-from-root.ts +27 -0
  454. package/src/audit/detectors/git-commit-no-verify.ts +22 -0
  455. package/src/audit/detectors/index.ts +33 -0
  456. package/src/audit/detectors/prefer-edit-over-read-cat.ts +31 -0
  457. package/src/audit/detectors/prefer-edit-over-sed-awk.ts +27 -0
  458. package/src/audit/detectors/prefer-write-over-heredoc.ts +36 -0
  459. package/src/audit/detectors/redundant-cd-cwd.ts +28 -0
  460. package/src/audit/detectors/reread-after-edit.ts +58 -0
  461. package/src/audit/detectors/sleep-polling-loop.ts +34 -0
  462. package/src/audit/features.ts +314 -0
  463. package/src/audit/findings.ts +298 -0
  464. package/src/audit/index.ts +387 -0
  465. package/src/audit/open-browser.ts +69 -0
  466. package/src/audit/replay.ts +147 -0
  467. package/src/audit/report.ts +349 -0
  468. package/src/audit/scoring.ts +174 -0
  469. package/src/audit/social-proof.ts +34 -0
  470. package/src/audit/strengths.ts +138 -0
  471. package/src/audit/types.ts +216 -0
  472. package/src/auth/cli.ts +359 -0
  473. package/src/hooks/builtin-policies.ts +81 -2
  474. package/src/hooks/custom-hooks-loader.ts +19 -3
  475. package/src/hooks/first-run-nudge.ts +146 -0
  476. package/src/hooks/handler.ts +21 -102
  477. package/src/hooks/hook-telemetry.ts +2 -2
  478. package/src/hooks/install-prompt.ts +34 -4
  479. package/src/hooks/manager.ts +72 -5
  480. package/src/hooks/policy-evaluator.ts +19 -4
  481. package/src/hooks/policy-registry.ts +21 -1
  482. package/src/hooks/policy-types.ts +9 -0
  483. package/src/hooks/tool-name-canonicalize.ts +65 -0
  484. package/src/posthog-key.ts +9 -0
  485. package/.next/standalone/.next/server/app/icon.png/route/app-paths-manifest.json +0 -3
  486. package/.next/standalone/.next/server/app/icon.png/route.js +0 -7
  487. package/.next/standalone/.next/server/app/icon.png/route.js.nft.json +0 -1
  488. package/.next/standalone/.next/server/app/icon.png.body +0 -0
  489. package/.next/standalone/.next/server/app/icon.png.meta +0 -1
  490. package/.next/standalone/.next/server/chunks/[externals]_next_dist_0sqmaqd._.js +0 -3
  491. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06.arfm._.js +0 -3
  492. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0__i0h0._.js +0 -3
  493. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d_ob4n._.js +0 -3
  494. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0fe7_q_._.js +0 -3
  495. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0fw.e.h._.js +0 -3
  496. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0pxn0e1._.js +0 -3
  497. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xv0jh2._.js +0 -3
  498. package/.next/standalone/.next/server/chunks/_next-internal_server_app_icon_png_route_actions_12.gv.r.js +0 -3
  499. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0bdfoky.js +0 -3
  500. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_05pz9._._.js +0 -3
  501. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +0 -3
  502. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__02r.cjq._.js +0 -3
  503. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0370~qj._.js +0 -3
  504. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0609ezh._.js +0 -3
  505. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__07_-mkc._.js +0 -3
  506. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09z7o2x._.js +0 -19
  507. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0_sh2n0._.js +0 -3
  508. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e9o9ri._.js +0 -4
  509. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0l6swv1._.js +0 -3
  510. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0logebz._.js +0 -3
  511. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0mi5ejy._.js +0 -4
  512. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0odijkc._.js +0 -3
  513. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0podumr._.js +0 -4
  514. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0rkxer-._.js +0 -3
  515. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0rl2kwi._.js +0 -4
  516. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0vg0uey._.js +0 -4
  517. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0x5limi._.js +0 -3
  518. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ye1w50._.js +0 -4
  519. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ymlddl._.js +0 -223
  520. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__10._f0s._.js +0 -4
  521. package/.next/standalone/.next/server/chunks/ssr/app_0cdqd9w._.js +0 -3
  522. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +0 -3
  523. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +0 -8
  524. package/.next/standalone/.next/server/chunks/ssr/app_projects_loading_tsx_13veom4._.js +0 -3
  525. package/.next/standalone/.next/server/chunks/ssr/lib_utils_ts_068jk73._.js +0 -3
  526. package/.next/standalone/.next/server/chunks/ssr/node_modules_0ttbz1~._.js +0 -3
  527. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_06u0kr8._.js +0 -3
  528. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_0h9llsw._.js +0 -6
  529. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0a_7sdg.js +0 -4
  530. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ef3uwk.js +0 -4
  531. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0j79~gv.js +0 -4
  532. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pbja1x.js +0 -4
  533. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0r6o0i2.js +0 -4
  534. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_11y81~_.js +0 -4
  535. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_12or2kf.js +0 -4
  536. package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.js +0 -3
  537. package/.next/standalone/.next/static/chunks/01q52wg_amm60.js +0 -2
  538. package/.next/standalone/.next/static/chunks/0kqar56yl~41o.js +0 -6
  539. package/.next/standalone/.next/static/chunks/0ml1.ck_5t36i.js +0 -1
  540. package/.next/standalone/.next/static/chunks/0w6fzf.07a24u.js +0 -1
  541. package/.next/standalone/.next/static/chunks/0zig0fh30t6ou.js +0 -1
  542. package/.next/standalone/.next/static/chunks/12l2t63hkyo2q.js +0 -1
  543. package/.next/standalone/.next/static/chunks/12pt~2f.c1sha.js +0 -1
  544. package/.next/standalone/.next/static/chunks/14lii11wmo450.js +0 -4
  545. package/.next/standalone/.next/static/chunks/17rm86uz2nd5a.css +0 -2
  546. package/.next/standalone/.next/static/media/4fa387ec64143e14-s.0q3udbd2bu5yp.woff2 +0 -0
  547. package/.next/standalone/.next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2 +0 -0
  548. package/.next/standalone/.next/static/media/bbc41e54d2fcbd21-s.0gw~uztddq1df.woff2 +0 -0
  549. package/.next/standalone/.next/static/media/icon.0a.gigb3_x5pd.png +0 -0
  550. package/.next/standalone/app/icon.png +0 -0
  551. package/src/auth/login.ts +0 -104
  552. package/src/auth/logout.ts +0 -50
  553. package/src/auth/token-store.ts +0 -64
  554. package/src/relay/daemon.ts +0 -362
  555. package/src/relay/pid.ts +0 -76
  556. package/src/relay/queue.ts +0 -225
  557. /package/.next/standalone/.next/server/app/{icon.png → api/audit/invite}/route/build-manifest.json +0 -0
  558. /package/.next/standalone/.next/server/app/{icon.png → api/audit/invite}/route.js.map +0 -0
  559. /package/.next/standalone/.next/static/{dAuQps6jUwCz9X1Q5FFOO → DOSSF5hRUtt3-QZEm-ZIk}/_buildManifest.js +0 -0
  560. /package/.next/standalone/.next/static/{dAuQps6jUwCz9X1Q5FFOO → DOSSF5hRUtt3-QZEm-ZIk}/_ssgManifest.js +0 -0
  561. /package/.next/standalone/.next/static/chunks/{03~yq9q893hmn.js → 0cz1d0mv5g_q7.js} +0 -0
  562. /package/.next/standalone/.next/static/chunks/{0xbo5nl6w4lka.js → 2wbuxnsvux4di.js} +0 -0
  563. /package/.next/standalone/.next/static/chunks/{0_s0luks5tay-.js → 35fgpd_feci6x.js} +0 -0
  564. /package/.next/standalone/.next/static/chunks/{15fklyav5py5m.js → 3xpjn3cdgm-7m.js} +0 -0
  565. /package/.next/standalone/.next/static/chunks/{17.b3suj8zjjj.js → 4448_qq7bd963.js} +0 -0
@@ -1,78 +1,158 @@
1
+ /* ============================================================
2
+ failproof_ai — unified design system
3
+ Single source of truth for fonts, color palette, and every
4
+ class that used to live in app/audit/audit-styles.css for the
5
+ /audit page only. After this change those classes (.section,
6
+ .share-btn, .btn-press, …) are available on every route, and
7
+ navigating between /audit and /policies no longer leaks
8
+ one-off resets in either direction.
9
+
10
+ IMPORTANT: every `@import` MUST come before any other rule,
11
+ per the CSS spec. `@import "tailwindcss"` inlines thousands
12
+ of utility rules at its position, so font @imports go above
13
+ it — putting them after silently breaks the build with a
14
+ PostCSS "must precede all rules" error.
15
+ ============================================================ */
16
+
17
+ @import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=VT323&display=swap');
1
18
  @import "tailwindcss";
2
19
 
20
+ @font-face {
21
+ font-family: 'Bitcount Prop Single';
22
+ src: url('/audit/fonts/bitcount-prop-single.woff2') format('woff2');
23
+ font-display: swap;
24
+ font-weight: 400;
25
+ font-style: normal;
26
+ }
27
+
3
28
  @custom-variant dark (&:is(.dark *));
4
29
 
5
30
  :root {
6
- --radius: 0.5rem;
7
-
8
- /* Near-black canvas + brand pink accent — failproofai brand: pink primary
9
- (#e4587d, from docs/docs.json colors.light) with green status reserved
10
- for chart-2 / success indicators (the leaf gradient family). */
11
- --background: #0a0a0a;
12
- --foreground: #fafafa;
13
- --card: #141416;
14
- --card-foreground: #fafafa;
15
- --popover: #141416;
16
- --popover-foreground: #fafafa;
17
- --primary: #e4587d;
18
- --primary-foreground: #0a0a0a;
19
- --secondary: #1f1f22;
20
- --secondary-foreground: #fafafa;
21
- --muted: #1f1f22;
22
- --muted-foreground: #a1a1aa;
23
- --accent: #e4587d;
31
+ /* ── audit-native tokens (used by .section / .share-btn / etc.) ── */
32
+ --bg: #131316;
33
+ --bg-2: #0e0e11;
34
+ --bg-3: #1a1a1f;
35
+ --bg-row-hover: #17171c;
36
+ --ink: #d8d6d2;
37
+ --ink-2: #9a9892;
38
+ --dim: #5e5c58;
39
+ --line: #25252b;
40
+ --line-2: #32323a;
41
+ --accent-pink: #e4587c;
42
+ --accent-pink-soft: rgba(228, 88, 124, 0.7);
43
+ --accent-pink-shadow: #a83a5a;
44
+ --accent-pink-bg: rgba(228, 88, 124, 0.12);
45
+ --accent-green: #66d1b5;
46
+ --accent-green-shadow: #3e9a82;
47
+ --accent-green-bg: rgba(102, 209, 181, 0.10);
48
+ --amber: #e8c46a;
49
+ --amber-bg: rgba(232, 196, 106, 0.10);
50
+
51
+ --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
52
+ --font-display: "Bitcount Prop Single", "VT323", "JetBrains Mono", monospace;
53
+
54
+ /* ── shadcn-compatible aliases (used by Tailwind utilities + the
55
+ hooks-client component tree). All point at the audit palette so
56
+ `bg-card`, `text-foreground`, `border-border`, etc. produce
57
+ audit visuals everywhere without rewriting any class names. ── */
58
+ --radius: 0;
59
+ --background: var(--bg);
60
+ --foreground: var(--ink);
61
+ --card: var(--bg-2);
62
+ --card-foreground: var(--ink);
63
+ --popover: var(--bg-2);
64
+ --popover-foreground: var(--ink);
65
+ --primary: var(--accent-pink);
66
+ --primary-foreground: var(--bg);
67
+ --secondary: var(--bg-3);
68
+ --secondary-foreground: var(--ink);
69
+ --muted: var(--bg-3);
70
+ --muted-foreground: var(--ink-2);
71
+ --accent: var(--accent-pink);
24
72
  --accent-light: #f08aa6;
25
73
  --accent-lighter: #f7b3c5;
26
74
  --accent-lightest: #fbd5de;
27
- --accent-foreground: #0a0a0a;
28
- --destructive: #ef4444;
29
- --border: #27272a;
30
- --input: #27272a;
31
- --ring: #e4587d;
32
- --chart-1: #e4587d;
33
- --chart-2: #4ade80;
34
- --chart-3: #fbbf24;
75
+ --accent-foreground: var(--bg);
76
+ --destructive: var(--accent-pink);
77
+ --border: var(--line);
78
+ --input: var(--line-2);
79
+ --ring: var(--accent-pink);
80
+ --chart-1: var(--accent-pink);
81
+ --chart-2: var(--accent-green);
82
+ --chart-3: var(--amber);
35
83
  --chart-4: #f87171;
36
84
  --chart-5: #a78bfa;
37
- --sidebar: #141416;
38
- --sidebar-foreground: #fafafa;
39
- --sidebar-primary: #e4587d;
40
- --sidebar-primary-foreground: #0a0a0a;
41
- --sidebar-accent: #1f1f22;
42
- --sidebar-accent-foreground: #fafafa;
43
- --sidebar-border: #27272a;
44
- --sidebar-ring: #e4587d;
85
+ --sidebar: var(--bg-2);
86
+ --sidebar-foreground: var(--ink);
87
+ --sidebar-primary: var(--accent-pink);
88
+ --sidebar-primary-foreground: var(--bg);
89
+ --sidebar-accent: var(--bg-3);
90
+ --sidebar-accent-foreground: var(--ink);
91
+ --sidebar-border: var(--line);
92
+ --sidebar-ring: var(--accent-pink);
45
93
  }
46
94
 
47
- /* Custom Scrollbar Styling */
48
- ::-webkit-scrollbar {
49
- width: 8px;
50
- height: 8px;
51
- }
95
+ * { box-sizing: border-box; }
52
96
 
53
- ::-webkit-scrollbar-track {
54
- background: var(--muted);
55
- border-radius: var(--radius);
97
+ html, body, #root {
98
+ margin: 0;
99
+ padding: 0;
100
+ background: var(--bg);
101
+ color: var(--ink);
102
+ font-family: var(--font-mono);
103
+ font-size: 16px;
104
+ line-height: 1.6;
105
+ -webkit-font-smoothing: antialiased;
106
+ min-height: 100vh;
56
107
  }
57
108
 
58
- ::-webkit-scrollbar-thumb {
59
- background: var(--border);
60
- border-radius: var(--radius);
61
- transition: background 0.2s ease;
109
+ body {
110
+ background-color: var(--bg);
111
+ position: relative;
62
112
  }
63
113
 
64
- ::-webkit-scrollbar-thumb:hover {
65
- background: var(--primary);
66
- }
114
+ button { font-family: inherit; cursor: pointer; }
115
+ a { color: inherit; }
116
+
117
+ /* shrink scrollbars without breaking the dark theme */
118
+ ::-webkit-scrollbar { width: 10px; height: 10px; }
119
+ ::-webkit-scrollbar-track { background: var(--bg-2); }
120
+ ::-webkit-scrollbar-thumb { background: var(--line-2); }
121
+ ::-webkit-scrollbar-thumb:hover { background: var(--accent-pink); }
122
+ * { scrollbar-width: thin; scrollbar-color: var(--line-2) var(--bg-2); }
67
123
 
68
- ::-webkit-scrollbar-corner {
69
- background: var(--muted);
124
+ input[type="checkbox"] { accent-color: var(--accent-pink); }
125
+ select { color-scheme: dark; }
126
+ select option { background-color: var(--bg-2); color: var(--ink); }
127
+ input[type="date"] { color-scheme: dark; }
128
+
129
+ /* selection — pink wash ties prose snippets and code-like fragments to the
130
+ accent without redesigning anything; used app-wide. */
131
+ ::selection {
132
+ background: var(--accent-pink-bg);
133
+ color: var(--accent-light);
134
+ }
135
+ ::-moz-selection {
136
+ background: var(--accent-pink-bg);
137
+ color: var(--accent-light);
70
138
  }
71
139
 
72
- /* Firefox scrollbar styling */
73
- * {
74
- scrollbar-width: thin;
75
- scrollbar-color: var(--border) var(--muted);
140
+ /* focus-visible keyboard users get a clear pink ring on every interactive
141
+ element. Pointer users see nothing different (`:focus-visible` only fires
142
+ on keyboard-driven focus). Bracketed outline + outline-offset matches the
143
+ pixel-craft chrome (no rounded glow). */
144
+ :where(a, button, [role="button"], input, textarea, select, summary, [tabindex]):focus-visible {
145
+ outline: 1px solid var(--accent-pink);
146
+ outline-offset: 2px;
147
+ }
148
+ .btn:focus-visible,
149
+ .tab:focus-visible {
150
+ outline: 1px solid var(--accent-pink);
151
+ outline-offset: 3px;
152
+ }
153
+ .btn-press:focus-visible {
154
+ outline: 1px solid var(--accent-pink);
155
+ outline-offset: 4px;
76
156
  }
77
157
 
78
158
  @theme inline {
@@ -82,8 +162,8 @@
82
162
  --color-accent-light: var(--accent-light);
83
163
  --color-accent-lighter: var(--accent-lighter);
84
164
  --color-accent-lightest: var(--accent-lightest);
85
- --font-sans: var(--font-sans, system-ui, -apple-system, sans-serif);
86
- --font-mono: var(--font-mono, ui-monospace, monospace);
165
+ --font-sans: var(--font-mono);
166
+ --font-mono: var(--font-mono);
87
167
  --color-sidebar-ring: var(--sidebar-ring);
88
168
  --color-sidebar-border: var(--sidebar-border);
89
169
  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
@@ -112,10 +192,10 @@
112
192
  --color-popover: var(--popover);
113
193
  --color-card-foreground: var(--card-foreground);
114
194
  --color-card: var(--card);
115
- --radius-sm: calc(var(--radius) - 4px);
116
- --radius-md: calc(var(--radius) - 2px);
117
- --radius-lg: var(--radius);
118
- --radius-xl: calc(var(--radius) + 4px);
195
+ --radius-sm: 0;
196
+ --radius-md: 0;
197
+ --radius-lg: 0;
198
+ --radius-xl: 0;
119
199
  }
120
200
 
121
201
  @layer base {
@@ -123,95 +203,381 @@
123
203
  @apply border-border outline-ring/50;
124
204
  }
125
205
  html {
126
- font-size: 120%;
206
+ font-size: 100%;
127
207
  }
128
- body {
129
- @apply bg-background text-foreground font-sans;
208
+ }
130
209
 
131
- position: relative;
132
- }
133
- /* Faint pink vignette at the top — atmosphere without ornament. */
134
- body::before {
135
- content: "";
136
- position: fixed;
137
- inset: 0;
138
- pointer-events: none;
139
- z-index: 0;
140
- background:
141
- radial-gradient(ellipse 90% 60% at 50% -10%, rgba(228, 88, 125, 0.07), transparent 65%);
142
- }
143
- body > * {
144
- position: relative;
145
- z-index: 1;
146
- }
147
- input[type="checkbox"] {
148
- accent-color: var(--primary);
149
- }
210
+ /* ───────────────────────── app chrome (shared) ───────────────────────── */
150
211
 
151
- select {
152
- color-scheme: dark;
153
- }
212
+ .app-shell { position: relative; z-index: 3; min-height: 100vh; display: flex; flex-direction: column; }
154
213
 
155
- select option {
156
- background-color: var(--popover);
157
- color: var(--popover-foreground);
158
- }
214
+ .app-header {
215
+ display: flex; align-items: center; gap: 16px;
216
+ padding: 14px 32px;
217
+ border-bottom: 1px solid var(--line);
218
+ background: rgba(10,10,10,0.85);
219
+ backdrop-filter: blur(8px);
220
+ position: sticky; top: 0; z-index: 50;
221
+ }
222
+ .h-brand { display: inline-flex; align-items: baseline; gap: 10px; flex: 1; min-width: 0; color: var(--ink); text-decoration: none; }
223
+ .h-brand-mark {
224
+ color: var(--accent-pink);
225
+ font-family: var(--font-mono);
226
+ font-size: 18px;
227
+ letter-spacing: -3px;
228
+ font-weight: 700;
229
+ line-height: 1;
230
+ }
231
+ .h-brand-name {
232
+ font-family: var(--font-display);
233
+ font-size: 18px;
234
+ letter-spacing: 0.11em;
235
+ text-transform: lowercase;
236
+ color: var(--ink);
237
+ }
238
+ .h-brand-sep { color: var(--dim); font-size: 12px; }
239
+ .h-brand-section {
240
+ font-family: var(--font-mono);
241
+ font-size: 11px;
242
+ letter-spacing: 0.22em;
243
+ text-transform: uppercase;
244
+ color: var(--accent-green);
245
+ }
246
+ .h-actions { display: flex; align-items: center; gap: 8px; }
159
247
 
160
- /* Date Input Styling */
161
- input[type="date"] {
162
- position: relative;
163
- overflow: visible;
164
- color-scheme: dark;
165
- }
248
+ .btn {
249
+ display: inline-flex; align-items: center; gap: 8px;
250
+ padding: 7px 12px;
251
+ font-family: var(--font-mono); font-size: 13px; letter-spacing: 0.04em;
252
+ border: 1px solid var(--line-2); background: transparent; color: var(--ink);
253
+ /* limit transitioned props so width/height/font don't animate, and use the
254
+ same cubic-bezier curve as .audit-bar-fill for a coherent motion feel */
255
+ transition:
256
+ color 140ms cubic-bezier(0.22, 1, 0.36, 1),
257
+ background-color 140ms cubic-bezier(0.22, 1, 0.36, 1),
258
+ border-color 140ms cubic-bezier(0.22, 1, 0.36, 1),
259
+ box-shadow 140ms cubic-bezier(0.22, 1, 0.36, 1),
260
+ transform 140ms cubic-bezier(0.22, 1, 0.36, 1);
261
+ white-space: nowrap;
262
+ }
263
+ .btn:hover { border-color: var(--ink); background: rgba(255,255,255,0.03); }
264
+ .btn:active { transform: translateY(1px); }
265
+ .btn[aria-disabled="true"], .btn:disabled { opacity: 0.5; cursor: not-allowed; }
266
+ .btn[aria-disabled="true"]:hover, .btn:disabled:hover { border-color: var(--line-2); background: transparent; }
267
+ .btn-primary { border-color: var(--accent-pink); color: var(--accent-pink); }
268
+ .btn-primary:hover { background: var(--accent-pink); color: var(--bg); }
269
+ .btn-press {
270
+ box-shadow: 4px 4px 0 0 var(--accent-pink-shadow);
271
+ transition:
272
+ box-shadow 140ms cubic-bezier(0.22, 1, 0.36, 1),
273
+ transform 140ms cubic-bezier(0.22, 1, 0.36, 1),
274
+ background-color 140ms cubic-bezier(0.22, 1, 0.36, 1),
275
+ color 140ms cubic-bezier(0.22, 1, 0.36, 1);
276
+ }
277
+ .btn-press:hover { box-shadow: 2px 2px 0 0 var(--accent-pink-shadow); transform: translate(2px, 2px); }
278
+ .btn-press:active { box-shadow: 0 0 0 0 var(--accent-pink-shadow); transform: translate(4px, 4px); }
166
279
 
167
- input[type="date"]::-webkit-calendar-picker-indicator {
168
- display: none;
169
- opacity: 0;
170
- position: absolute;
171
- right: 0;
172
- width: 0;
173
- height: 0;
174
- cursor: pointer;
175
- }
280
+ /* primary tab strip — used by both the audit page and the policies/projects nav rows */
281
+ .tabs {
282
+ display: flex; gap: 0; padding: 0 24px;
283
+ border-bottom: 1px solid var(--line);
284
+ overflow-x: auto; scrollbar-width: none;
285
+ }
286
+ .tabs::-webkit-scrollbar { display: none; }
287
+ .tab {
288
+ position: relative;
289
+ display: inline-flex; align-items: center; gap: 8px;
290
+ padding: 12px 16px;
291
+ font-family: var(--font-mono); font-size: 13px; letter-spacing: 0.04em;
292
+ color: var(--ink-2);
293
+ border-bottom: 1px solid transparent; margin-bottom: -1px;
294
+ transition:
295
+ color 160ms cubic-bezier(0.22, 1, 0.36, 1),
296
+ border-color 160ms cubic-bezier(0.22, 1, 0.36, 1);
297
+ white-space: nowrap;
298
+ background: transparent;
299
+ }
300
+ .tab:hover { color: var(--ink); }
301
+ /* faint underline preview on hover — emerges from center on inactive tabs;
302
+ active state keeps the existing sharp full-width pink line. */
303
+ .tab::after {
304
+ content: "";
305
+ position: absolute;
306
+ left: 16px; right: 16px; bottom: -1px;
307
+ height: 1px;
308
+ background: var(--accent-pink);
309
+ transform: scaleX(0);
310
+ transform-origin: center;
311
+ opacity: 0.4;
312
+ transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
313
+ }
314
+ .tab:hover::after { transform: scaleX(1); }
315
+ .tab.is-active { color: var(--accent-pink); border-bottom-color: var(--accent-pink); }
316
+ .tab.is-active::after { display: none; }
176
317
 
177
- input[type="date"]::-webkit-datetime-edit {
178
- display: inline-flex;
179
- align-items: center;
180
- width: 100%;
181
- padding: 0;
182
- gap: 0;
183
- }
318
+ /* ───────────────────────── canonical page chrome ───────────────────────── */
184
319
 
185
- input[type="date"]::-webkit-datetime-edit-text {
186
- color: var(--muted-foreground);
187
- padding: 0 0.2rem;
188
- }
320
+ /* the canonical content shell. Scales to fill ultrawide monitors without
321
+ collapsing on mobile or letting prose lines get unreadable. The cap at
322
+ 1840px keeps the line measure for tabular pages (policies activity,
323
+ sessions list) comfortably below "scan back to start of next row" length
324
+ on a 2560px display. Side gutter is clamped 20→56px so the chrome breathes
325
+ on big screens without crowding small ones. */
326
+ .report {
327
+ width: 100%;
328
+ max-width: clamp(720px, 96vw, 1840px);
329
+ margin: 0 auto;
330
+ padding: 0 clamp(20px, 3vw, 56px);
331
+ }
189
332
 
190
- input[type="date"]::-webkit-datetime-edit-month-field,
191
- input[type="date"]::-webkit-datetime-edit-day-field {
192
- color: var(--foreground);
193
- padding: 0 0.15rem;
194
- width: 2.5ch;
195
- min-width: 2.5ch;
196
- }
333
+ .section {
334
+ padding: 64px 0;
335
+ border-bottom: 1px solid var(--line);
336
+ position: relative;
337
+ }
338
+ .section:last-child { border-bottom: none; }
197
339
 
198
- input[type="date"]::-webkit-datetime-edit-year-field {
199
- color: var(--foreground);
200
- padding: 0 0.15rem;
201
- width: 5ch;
202
- min-width: 5ch;
203
- max-width: 5ch;
204
- overflow: visible;
205
- }
340
+ .section-mast {
341
+ display: flex; align-items: baseline; justify-content: space-between;
342
+ gap: 24px; margin-bottom: 24px; flex-wrap: wrap;
343
+ }
344
+ .section-label {
345
+ font-family: var(--font-mono);
346
+ font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase;
347
+ color: var(--accent-green);
348
+ display: inline-flex; align-items: baseline; gap: 10px;
349
+ }
350
+ .section-label .glyph { color: var(--accent-pink); letter-spacing: -2px; }
351
+ .section-meta {
352
+ font-family: var(--font-mono);
353
+ font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase;
354
+ color: var(--dim);
355
+ }
356
+ .section-meta .g { color: var(--accent-green); }
357
+ .section-meta .p { color: var(--accent-pink); }
358
+ .section-h {
359
+ font-family: var(--font-display);
360
+ font-size: clamp(28px, 4vw, 44px);
361
+ line-height: 1.05; letter-spacing: 0.11em;
362
+ font-weight: 400; color: var(--ink);
363
+ margin: 0 0 18px;
364
+ text-transform: lowercase;
365
+ text-wrap: balance;
366
+ }
206
367
 
207
- input[type="date"]::-webkit-datetime-edit-month-field:focus,
208
- input[type="date"]::-webkit-datetime-edit-day-field:focus,
209
- input[type="date"]::-webkit-datetime-edit-year-field:focus {
210
- background-color: var(--muted);
211
- color: var(--foreground);
212
- border-radius: 0.25rem;
213
- }
368
+ .section-h-dot {
369
+ display: inline-block;
370
+ width: 0.5em; height: 0.5em;
371
+ border-radius: 50%;
372
+ background: var(--accent-green);
373
+ margin-left: 0.45em;
374
+ vertical-align: middle;
375
+ animation: section-h-dot-pulse 1.6s ease-in-out infinite;
214
376
  }
377
+ @keyframes section-h-dot-pulse {
378
+ 0%, 100% { opacity: 0.35; box-shadow: 0 0 3px var(--accent-green); }
379
+ 50% { opacity: 1; box-shadow: 0 0 14px var(--accent-green); }
380
+ }
381
+
382
+ /* ───────────────────────── activity table styles ─────────────────────────
383
+ /policies activity tab. Lives next to the new .stat-bar + .filter-bar so
384
+ the table feels like the third panel of the same instrument family. */
385
+
386
+ .activity-table-wrap {
387
+ border: 1px solid var(--line-2);
388
+ border-top: 0;
389
+ background: var(--bg-2);
390
+ }
391
+ .activity-table { width: 100%; }
392
+ .activity-thead { background: var(--bg-3); }
393
+ .activity-thead tr { border-bottom: 1px solid var(--line-2); }
394
+ .activity-th {
395
+ font-family: var(--font-mono);
396
+ font-size: 11px;
397
+ letter-spacing: 0.18em;
398
+ text-transform: uppercase;
399
+ font-weight: 500;
400
+ color: var(--accent-green);
401
+ text-align: left;
402
+ }
403
+ .activity-th.text-right { text-align: right; }
404
+
405
+ /* zebra rhythm — adds ambient banding without breaking the dark feel.
406
+ Hover overrides the stripe so rows feel responsive. */
407
+ .activity-table tbody tr.activity-row-stripe { background: rgba(255, 255, 255, 0.012); }
408
+
409
+ /* expanded-row treatment */
410
+ .activity-detail {
411
+ border-left: 3px solid var(--accent-pink);
412
+ background: var(--bg);
413
+ padding: 16px 22px 18px;
414
+ }
415
+ .activity-detail-eyebrow {
416
+ font-family: var(--font-mono);
417
+ font-size: 10px;
418
+ letter-spacing: 0.22em;
419
+ text-transform: uppercase;
420
+ color: var(--accent-pink);
421
+ margin-bottom: 10px;
422
+ display: inline-flex; align-items: baseline; gap: 6px;
423
+ }
424
+
425
+ /* ───────────────────────── instrument strip (.stat-bar) ─────────────────────
426
+ 3-cell brutalist stats row used by /policies activity. Spans the full
427
+ container so the top of the view feels composed at every width.
428
+ Each cell carries a small green eyebrow caption above a big mono numeral.
429
+ On narrow viewports the grid collapses to a single column. */
430
+
431
+ .stat-bar {
432
+ position: relative;
433
+ display: grid;
434
+ grid-template-columns: repeat(3, 1fr);
435
+ border: 1px solid var(--line-2);
436
+ background: var(--bg-2);
437
+ }
438
+ .stat-bar::before,
439
+ .stat-bar::after { content: ""; position: absolute; width: 10px; height: 10px; }
440
+ .stat-bar::before {
441
+ top: -1px; left: -1px;
442
+ border-top: 1px solid var(--accent-pink);
443
+ border-left: 1px solid var(--accent-pink);
444
+ }
445
+ .stat-bar::after {
446
+ bottom: -1px; right: -1px;
447
+ border-bottom: 1px solid var(--accent-pink);
448
+ border-right: 1px solid var(--accent-pink);
449
+ }
450
+ .stat-cell {
451
+ padding: 18px 24px;
452
+ border-right: 1px dashed var(--line);
453
+ display: flex; flex-direction: column; gap: 6px;
454
+ min-width: 0;
455
+ }
456
+ .stat-cell:last-child { border-right: none; }
457
+ .stat-cell .eyebrow {
458
+ font-family: var(--font-mono);
459
+ font-size: 10px;
460
+ letter-spacing: 0.22em;
461
+ text-transform: uppercase;
462
+ color: var(--accent-green);
463
+ }
464
+ .stat-cell .eyebrow .glyph { color: var(--accent-pink); letter-spacing: -2px; margin-right: 6px; }
465
+ .stat-cell .value {
466
+ font-family: var(--font-mono);
467
+ font-size: 26px;
468
+ font-weight: 600;
469
+ line-height: 1;
470
+ color: var(--ink);
471
+ font-variant-numeric: tabular-nums;
472
+ }
473
+ .stat-cell .value.is-deny { color: var(--accent-pink); }
474
+ .stat-cell .value.is-warn { color: var(--amber); }
475
+ .stat-cell .meta {
476
+ font-family: var(--font-mono);
477
+ font-size: 11px;
478
+ color: var(--dim);
479
+ letter-spacing: 0.05em;
480
+ /* let .meta values that contain a slash (e.g. policy paths) ellipsis */
481
+ overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
482
+ }
483
+ @media (max-width: 800px) {
484
+ .stat-bar { grid-template-columns: 1fr; }
485
+ .stat-cell { border-right: none; border-bottom: 1px dashed var(--line); }
486
+ .stat-cell:last-child { border-bottom: none; }
487
+ }
488
+
489
+ /* ───────────────────────── filter console (.filter-bar) ──────────────────
490
+ Elastic row of `.filter-group`s. Each group stacks a small green eyebrow
491
+ label above its control. `.filter-group--grow` absorbs leftover space so
492
+ the text inputs naturally fill the remaining horizontal room. */
493
+
494
+ .filter-bar {
495
+ display: flex;
496
+ flex-wrap: wrap;
497
+ align-items: flex-end;
498
+ gap: 12px 16px;
499
+ padding: 14px 16px;
500
+ background: var(--bg-2);
501
+ border: 1px solid var(--line-2);
502
+ border-top: 0;
503
+ }
504
+ .filter-group {
505
+ display: flex;
506
+ flex-direction: column;
507
+ gap: 4px;
508
+ min-width: 0;
509
+ }
510
+ .filter-group--grow { flex: 1 1 220px; }
511
+ .filter-label {
512
+ font-family: var(--font-mono);
513
+ font-size: 10px;
514
+ letter-spacing: 0.22em;
515
+ text-transform: uppercase;
516
+ color: var(--accent-green);
517
+ }
518
+ .filter-input {
519
+ height: 30px;
520
+ width: 100%;
521
+ padding: 0 10px;
522
+ font-family: var(--font-mono);
523
+ font-size: 12px;
524
+ color: var(--ink);
525
+ background: var(--bg);
526
+ border: 1px solid var(--line-2);
527
+ outline: none;
528
+ transition: border-color 140ms cubic-bezier(0.22, 1, 0.36, 1);
529
+ }
530
+ .filter-input::placeholder { color: var(--dim); }
531
+ .filter-input:focus { border-color: var(--accent-pink); }
532
+ .filter-clear {
533
+ align-self: flex-end;
534
+ /* sits at the same baseline as the inputs; matches .btn but smaller */
535
+ padding: 6px 10px;
536
+ font-family: var(--font-mono); font-size: 12px;
537
+ color: var(--accent-pink);
538
+ background: transparent;
539
+ border: 1px dashed var(--accent-pink-soft);
540
+ }
541
+ .filter-clear:hover { background: var(--accent-pink-bg); border-color: var(--accent-pink); }
542
+
543
+ /* ───────────────────────── reusable bracket panel ───────────────────────── */
544
+
545
+ .panel {
546
+ position: relative;
547
+ border: 1px solid var(--line-2);
548
+ background: var(--bg-2);
549
+ padding: 28px;
550
+ transition:
551
+ border-color 200ms cubic-bezier(0.22, 1, 0.36, 1),
552
+ box-shadow 200ms cubic-bezier(0.22, 1, 0.36, 1);
553
+ }
554
+ .panel::before,
555
+ .panel::after {
556
+ transition: width 200ms cubic-bezier(0.22, 1, 0.36, 1),
557
+ height 200ms cubic-bezier(0.22, 1, 0.36, 1),
558
+ border-color 200ms cubic-bezier(0.22, 1, 0.36, 1);
559
+ }
560
+ .panel::before {
561
+ content: ""; position: absolute; top: -1px; left: -1px;
562
+ width: 10px; height: 10px;
563
+ border-top: 1px solid var(--accent-pink);
564
+ border-left: 1px solid var(--accent-pink);
565
+ }
566
+ .panel::after {
567
+ content: ""; position: absolute; bottom: -1px; right: -1px;
568
+ width: 10px; height: 10px;
569
+ border-bottom: 1px solid var(--accent-pink);
570
+ border-right: 1px solid var(--accent-pink);
571
+ }
572
+ /* opt-in interactive flavour: hovering grows the corner brackets and softens
573
+ the panel border. Apply to clickable card-like panels (e.g. project rows). */
574
+ .panel.is-interactive { cursor: pointer; }
575
+ .panel.is-interactive:hover { border-color: var(--line); }
576
+ .panel.is-interactive:hover::before,
577
+ .panel.is-interactive:hover::after { width: 16px; height: 16px; }
578
+ .panel.is-interactive:focus-within { border-color: var(--accent-pink-soft); }
579
+
580
+ /* ───────────────────────── animations (preserved from previous globals) ───────────────────────── */
215
581
 
216
582
  @keyframes entry-highlight {
217
583
  0% { background-color: color-mix(in oklch, var(--primary), transparent 82%); }
@@ -221,7 +587,6 @@
221
587
  animation: entry-highlight 3s ease-out forwards;
222
588
  outline: 1px solid color-mix(in oklch, var(--primary), transparent 55%);
223
589
  outline-offset: -1px;
224
- border-radius: var(--radius);
225
590
  }
226
591
 
227
592
  @keyframes expand-in {
@@ -231,3 +596,253 @@
231
596
  .animate-expand {
232
597
  animation: expand-in 150ms ease-out;
233
598
  }
599
+
600
+ @keyframes audit-row-in {
601
+ from { opacity: 0; transform: translateY(8px); }
602
+ to { opacity: 1; transform: translateY(0); }
603
+ }
604
+ .audit-row-enter {
605
+ opacity: 0;
606
+ animation: audit-row-in 400ms ease-out forwards;
607
+ animation-delay: var(--row-delay, 0ms);
608
+ }
609
+
610
+ @keyframes audit-bar-fill {
611
+ from { width: 0; }
612
+ to { width: var(--bar-width, 100%); }
613
+ }
614
+ .audit-bar-fill {
615
+ width: var(--bar-width, 100%);
616
+ animation: audit-bar-fill 1000ms cubic-bezier(0.22, 1, 0.36, 1);
617
+ animation-delay: var(--bar-delay, 0ms);
618
+ }
619
+
620
+ @media (prefers-reduced-motion: reduce) {
621
+ .audit-row-enter,
622
+ .audit-bar-fill {
623
+ animation: none;
624
+ opacity: 1;
625
+ }
626
+ .section-h-dot {
627
+ animation: none;
628
+ }
629
+ .tab::after,
630
+ .panel,
631
+ .panel::before,
632
+ .panel::after,
633
+ .btn,
634
+ .btn-press {
635
+ transition: none;
636
+ }
637
+ }
638
+
639
+ /* ============================================================
640
+ /project/[name] sessions list — calm filter bar + table.
641
+ Sharp 1px borders, no rounded corners, mono throughout,
642
+ dim small-caps labels. Mirrors the audit page's voice.
643
+ ============================================================ */
644
+
645
+ .sessions-list { display: flex; flex-direction: column; gap: 16px; font-family: var(--font-mono); }
646
+
647
+ .sessions-filter-bar {
648
+ display: flex; flex-direction: column;
649
+ gap: 12px;
650
+ padding: 16px 18px;
651
+ border: 1px solid var(--line-2);
652
+ background: var(--bg-2);
653
+ }
654
+
655
+ .sessions-filter-row {
656
+ display: flex; flex-wrap: wrap; align-items: center;
657
+ gap: 8px;
658
+ }
659
+
660
+ .sessions-filter-label {
661
+ display: inline-flex; align-items: center; gap: 6px;
662
+ font-size: 10px;
663
+ letter-spacing: 0.22em;
664
+ text-transform: uppercase;
665
+ color: var(--dim);
666
+ margin-right: 4px;
667
+ }
668
+ .sessions-filter-icon { width: 12px; height: 12px; }
669
+
670
+ .sessions-chip {
671
+ font-family: var(--font-mono);
672
+ font-size: 11px;
673
+ letter-spacing: 0.04em;
674
+ color: var(--ink-2);
675
+ background: transparent;
676
+ border: 1px solid var(--line-2);
677
+ padding: 5px 10px;
678
+ cursor: pointer;
679
+ transition: border-color 140ms ease, color 140ms ease, background-color 140ms ease;
680
+ }
681
+ .sessions-chip:hover {
682
+ border-color: var(--accent-pink);
683
+ color: var(--accent-pink);
684
+ }
685
+ .sessions-chip.on {
686
+ border-color: var(--accent-pink);
687
+ color: var(--accent-pink);
688
+ background: var(--accent-pink-bg);
689
+ }
690
+ .sessions-chip:focus-visible {
691
+ outline: 2px solid var(--accent-pink);
692
+ outline-offset: 2px;
693
+ }
694
+
695
+ .sessions-input {
696
+ flex: 1 1 280px;
697
+ min-width: 220px;
698
+ font-family: var(--font-mono);
699
+ font-size: 12px;
700
+ letter-spacing: 0.01em;
701
+ color: var(--ink);
702
+ background: var(--bg);
703
+ border: 1px solid var(--line-2);
704
+ padding: 7px 10px;
705
+ outline: none;
706
+ transition: border-color 140ms ease;
707
+ }
708
+ .sessions-input:focus { border-color: var(--accent-pink); }
709
+ .sessions-input::placeholder { color: var(--dim); }
710
+
711
+ .sessions-range-sep {
712
+ font-size: 11px; color: var(--dim);
713
+ letter-spacing: 0.04em;
714
+ }
715
+
716
+ .sessions-results-count {
717
+ font-family: var(--font-mono);
718
+ font-size: 11px;
719
+ color: var(--dim);
720
+ letter-spacing: 0.02em;
721
+ margin-top: 4px;
722
+ }
723
+
724
+ .sessions-table-wrap {
725
+ border: 1px solid var(--line-2);
726
+ background: var(--bg-2);
727
+ overflow-x: auto;
728
+ }
729
+ .sessions-table { width: 100%; border-collapse: collapse; }
730
+ .sessions-th {
731
+ font-family: var(--font-mono);
732
+ font-size: 10px;
733
+ letter-spacing: 0.2em;
734
+ text-transform: uppercase;
735
+ color: var(--dim);
736
+ font-weight: 500;
737
+ text-align: left;
738
+ padding: 10px 16px;
739
+ border-bottom: 1px solid var(--line);
740
+ background: var(--bg);
741
+ }
742
+ .sessions-th-icon { width: 36px; }
743
+
744
+ .sessions-row { border-bottom: 1px solid var(--line); transition: background-color 140ms ease; }
745
+ .sessions-row:last-child { border-bottom: none; }
746
+ .sessions-row:hover { background: rgba(228, 88, 124, 0.03); }
747
+
748
+ .sessions-td {
749
+ font-family: var(--font-mono);
750
+ font-size: 12px;
751
+ color: var(--ink-2);
752
+ padding: 12px 16px;
753
+ vertical-align: middle;
754
+ }
755
+ .sessions-td-icon { width: 36px; }
756
+ .sessions-file-icon { width: 14px; height: 14px; color: var(--dim); }
757
+
758
+ .sessions-td-name {
759
+ display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
760
+ max-width: 520px;
761
+ }
762
+ .sessions-link {
763
+ color: var(--ink);
764
+ font-size: 13px;
765
+ letter-spacing: 0.01em;
766
+ text-decoration: none;
767
+ word-break: break-all;
768
+ }
769
+ .sessions-link:hover { color: var(--accent-pink); }
770
+ .sessions-link[aria-disabled="true"] { color: var(--ink-2); cursor: default; }
771
+
772
+ .sessions-td-date { font-size: 11px; color: var(--dim); white-space: nowrap; }
773
+
774
+ .sessions-empty {
775
+ text-align: center;
776
+ font-size: 12px;
777
+ color: var(--dim);
778
+ padding: 32px 16px;
779
+ }
780
+
781
+ /* ============================================================
782
+ /project/[name] page header — back link, project title, meta.
783
+ ============================================================ */
784
+
785
+ .project-page-back {
786
+ display: inline-flex; align-items: center; gap: 6px;
787
+ font-family: var(--font-mono);
788
+ font-size: 11px;
789
+ letter-spacing: 0.06em;
790
+ color: var(--ink-2);
791
+ text-decoration: none;
792
+ padding: 6px 12px;
793
+ border: 1px solid var(--line-2);
794
+ background: transparent;
795
+ transition: border-color 140ms ease, color 140ms ease;
796
+ }
797
+ .project-page-back:hover {
798
+ border-color: var(--accent-pink);
799
+ color: var(--accent-pink);
800
+ }
801
+ .project-page-back .arrow { color: var(--dim); font-size: 12px; }
802
+
803
+ .project-page-title {
804
+ font-family: var(--font-mono);
805
+ font-size: 22px;
806
+ font-weight: 600;
807
+ letter-spacing: -0.01em;
808
+ color: var(--ink);
809
+ margin: 16px 0 8px;
810
+ word-break: break-word;
811
+ line-height: 1.3;
812
+ }
813
+
814
+ .project-page-meta {
815
+ font-family: var(--font-mono);
816
+ font-size: 11px;
817
+ color: var(--dim);
818
+ letter-spacing: 0.02em;
819
+ margin: 0 0 32px;
820
+ }
821
+ .project-page-meta .label { color: var(--ink-2); margin-right: 6px; }
822
+ .project-page-meta .sep { margin: 0 12px; color: var(--line-2); }
823
+ .project-page-meta .path { color: var(--ink-2); word-break: break-all; }
824
+
825
+ .project-page-sessions-head {
826
+ font-family: var(--font-mono);
827
+ font-size: 10px;
828
+ letter-spacing: 0.22em;
829
+ text-transform: uppercase;
830
+ color: var(--accent-green);
831
+ margin-bottom: 16px;
832
+ }
833
+
834
+ .project-page-empty {
835
+ padding: 48px 32px;
836
+ border: 1px solid var(--line-2);
837
+ background: var(--bg-2);
838
+ text-align: center;
839
+ font-family: var(--font-mono);
840
+ font-size: 13px;
841
+ color: var(--ink-2);
842
+ }
843
+ .project-page-empty .hint {
844
+ font-size: 11px;
845
+ color: var(--dim);
846
+ margin-top: 8px;
847
+ letter-spacing: 0.02em;
848
+ }