failproofai 1.0.1-beta.0 → 1.0.1

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 (986) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +6 -6
  3. package/.next/standalone/.next/prerender-manifest.json +4 -4
  4. package/.next/standalone/.next/required-server-files.json +1 -1
  5. package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +3 -3
  6. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  7. package/.next/standalone/.next/server/app/_global-error/page.js +1 -1
  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 +7 -7
  12. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +6 -6
  13. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  14. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +3 -3
  16. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  17. package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
  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 +14 -14
  22. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
  23. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +13 -13
  24. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  25. package/.next/standalone/.next/server/app/api/audit/invite/route.js +1 -1
  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 +1 -1
  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.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/auth/login-request/route.js +1 -1
  31. package/.next/standalone/.next/server/app/api/auth/login-request/route.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/api/auth/login-verify/route.js +1 -1
  33. package/.next/standalone/.next/server/app/api/auth/login-verify/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/auth/logout/route.js +1 -1
  35. package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/auth/status/route.js +1 -1
  37. package/.next/standalone/.next/server/app/api/auth/status/route.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js +1 -1
  39. package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/audit/page/build-manifest.json +3 -3
  41. package/.next/standalone/.next/server/app/audit/page/server-reference-manifest.json +2 -2
  42. package/.next/standalone/.next/server/app/audit/page.js +1 -1
  43. package/.next/standalone/.next/server/app/audit/page.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/index.html +1 -1
  46. package/.next/standalone/.next/server/app/index.rsc +14 -14
  47. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +13 -13
  48. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +14 -14
  49. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  50. package/.next/standalone/.next/server/app/page/build-manifest.json +3 -3
  51. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  52. package/.next/standalone/.next/server/app/page.js +1 -1
  53. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  54. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  55. package/.next/standalone/.next/server/app/policies/page/build-manifest.json +3 -3
  56. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +10 -10
  57. package/.next/standalone/.next/server/app/policies/page.js +1 -1
  58. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/project/[name]/page/build-manifest.json +3 -3
  61. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  62. package/.next/standalone/.next/server/app/project/[name]/page.js +2 -2
  63. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  64. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/build-manifest.json +3 -3
  66. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  67. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  68. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js +2 -2
  69. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  70. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/projects/page/build-manifest.json +3 -3
  72. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  73. package/.next/standalone/.next/server/app/projects/page.js +2 -2
  74. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  75. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/app/settings/page/build-manifest.json +3 -3
  77. package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +4 -4
  78. package/.next/standalone/.next/server/app/settings/page.js +1 -1
  79. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  80. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0nne229._.js → [root-of-the-server]__0_usx0j._.js} +1 -1
  82. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__1hstmft._.js → [root-of-the-server]__0_zk340._.js} +1 -1
  83. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d1u_na._.js +1 -1
  84. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1adacul._.js +5 -5
  85. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0ny9q5d._.js → [root-of-the-server]__1l-khtb._.js} +1 -1
  86. package/.next/standalone/.next/server/chunks/_0lxbzdq._.js +1 -1
  87. package/.next/standalone/.next/server/chunks/{_18ty6si._.js → _1ger0a2._.js} +1 -1
  88. package/.next/standalone/.next/server/chunks/_1vslkoe._.js +1 -1
  89. package/.next/standalone/.next/server/chunks/_1zuiiy3._.js +1 -1
  90. package/.next/standalone/.next/server/chunks/lib_telemetry_ts_0dctyyw._.js +1 -1
  91. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_01r25oi._.js +2 -2
  92. package/.next/standalone/.next/server/chunks/{node_modules_posthog-node_dist_entrypoints_index_node_mjs_0f-x2b0._.js → node_modules_posthog-node_dist_entrypoints_index_node_mjs_09d5c79._.js} +1 -1
  93. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_09z9-p7._.js +2 -2
  94. package/.next/standalone/.next/server/chunks/{node_modules_posthog-node_dist_entrypoints_index_node_mjs_0hwvl7e._.js → node_modules_posthog-node_dist_entrypoints_index_node_mjs_0el6rg8._.js} +1 -1
  95. package/.next/standalone/.next/server/chunks/{node_modules_posthog-node_dist_entrypoints_index_node_mjs_1ctjdzl._.js → node_modules_posthog-node_dist_entrypoints_index_node_mjs_1d2g73o._.js} +1 -1
  96. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_1nxcc4v._.js +1 -1
  97. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__07tbbf3._.js +3 -0
  98. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0cxe_2_._.js +1 -1
  99. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__15c_z97._.js → [root-of-the-server]__0jzbk4_._.js} +1 -1
  100. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0kc8_v5._.js +4 -0
  101. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0kgy9da._.js +2 -2
  102. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0mhqk5a._.js +4 -0
  103. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0oa1lav._.js +1 -1
  104. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0pltpn8._.js +4 -0
  105. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0qkcyf-._.js +4 -0
  106. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0spkm68._.js +2 -2
  107. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w0x_ok._.js +4 -0
  108. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1_dfocn._.js +2 -2
  109. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__03eykvd._.js → [root-of-the-server]__1bfex62._.js} +1 -1
  110. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__07oh8b5._.js → [root-of-the-server]__1ctpynv._.js} +1 -1
  111. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1kzapg5._.js +2 -2
  112. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__11z_299._.js → [root-of-the-server]__1m84s36._.js} +1 -1
  113. package/.next/standalone/.next/server/chunks/ssr/_08x1r5t._.js +1 -1
  114. package/.next/standalone/.next/server/chunks/ssr/{_04j57fb._.js → _0h_douw._.js} +1 -1
  115. package/.next/standalone/.next/server/chunks/ssr/_0lvyuv4._.js +23 -0
  116. package/.next/standalone/.next/server/chunks/ssr/{_05enntk._.js → _0u5zauv._.js} +1 -1
  117. package/.next/standalone/.next/server/chunks/ssr/_1_ozgif._.js +1 -1
  118. package/.next/standalone/.next/server/chunks/ssr/{_0hom1s1._.js → _1u8-lu2._.js} +2 -2
  119. package/.next/standalone/.next/server/chunks/ssr/{_1q7j05x._.js → _1zopuov._.js} +2 -2
  120. package/.next/standalone/.next/server/chunks/ssr/app_audit__components_audit-dashboard_tsx_0p9ud47._.js +1 -1
  121. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_1kp6l3x._.js +1 -1
  122. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_19dqvpc._.js +1 -1
  123. package/.next/standalone/.next/server/chunks/ssr/app_settings_settings-client_tsx_20lq-mq._.js +1 -1
  124. package/.next/standalone/.next/server/chunks/ssr/node_modules_13n822a._.js +3 -0
  125. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_1v8aef8._.js +1 -1
  126. package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuzn._.js +2 -2
  127. package/.next/standalone/.next/server/middleware-build-manifest.js +6 -6
  128. package/.next/standalone/.next/server/pages/404.html +1 -1
  129. package/.next/standalone/.next/server/pages/500.html +1 -1
  130. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/server-reference-manifest.json +15 -15
  132. package/.next/standalone/.next/static/chunks/{1o5sxp_mdaoci.js → 0k5050ezjvv49.js} +1 -1
  133. package/.next/standalone/.next/static/chunks/{054eg7y_cjyf9.js → 1ide1wl2f7zi1.js} +1 -1
  134. package/.next/standalone/.next/static/chunks/1oml7c7env4-g.js +31 -0
  135. package/.next/standalone/.next/static/chunks/1za08zjcctyil.js +22 -0
  136. package/.next/standalone/.next/static/chunks/2_2lhuojq2xop.js +1 -0
  137. package/.next/standalone/.next/static/chunks/{0mjufa_0xxz75.js → 2zpp1we2jv6tb.js} +1 -1
  138. package/.next/standalone/.next/static/chunks/{1-oz4co31nvc5.js → 31s1smp-g7gks.js} +1 -1
  139. package/.next/standalone/.next/static/chunks/36fw6yk1s6x_f.js +1 -0
  140. package/.next/standalone/.next/static/chunks/{2es4z1ei90vsv.js → 37fcpc36x9gpe.js} +1 -1
  141. package/.next/standalone/.next/static/chunks/{136ldjmzxhush.js → 3c808qrfcq0im.js} +1 -1
  142. package/.next/standalone/.next/static/chunks/3k7mxbp9hiom0.js +1 -0
  143. package/.next/standalone/.next/static/chunks/3tzq0260n17ae.js +6 -0
  144. package/.next/standalone/.next/static/chunks/{turbopack-0-gxz80mjds94.js → turbopack-3kjgdgwci4tqf.js} +1 -1
  145. package/.next/standalone/docs-old/agenteye/alerts.mdx +63 -0
  146. package/.next/standalone/docs-old/agenteye/api-keys.mdx +280 -0
  147. package/.next/standalone/docs-old/agenteye/assistant.mdx +63 -0
  148. package/.next/standalone/docs-old/agenteye/audits.mdx +54 -0
  149. package/.next/standalone/docs-old/agenteye/cli-and-agents.mdx +80 -0
  150. package/.next/standalone/docs-old/agenteye/cli-recipes.mdx +179 -0
  151. package/.next/standalone/docs-old/agenteye/cli-skill.mdx +159 -0
  152. package/.next/standalone/docs-old/agenteye/cli.mdx +350 -0
  153. package/.next/standalone/docs-old/agenteye/codex-capture.mdx +55 -0
  154. package/.next/standalone/docs-old/agenteye/concepts.mdx +87 -0
  155. package/.next/standalone/docs-old/agenteye/dashboards.mdx +46 -0
  156. package/.next/standalone/docs-old/agenteye/error-tracking.mdx +41 -0
  157. package/.next/standalone/docs-old/agenteye/evaluation-suite.mdx +402 -0
  158. package/.next/standalone/docs-old/agenteye/evaluations.mdx +51 -0
  159. package/.next/standalone/docs-old/agenteye/evaluator-skill.mdx +167 -0
  160. package/.next/standalone/docs-old/agenteye/event-stream.mdx +50 -0
  161. package/.next/standalone/docs-old/agenteye/hermes-capture.mdx +53 -0
  162. package/.next/standalone/docs-old/agenteye/images/alert-new.png +0 -0
  163. package/.next/standalone/docs-old/agenteye/images/alerts.png +0 -0
  164. package/.next/standalone/docs-old/agenteye/images/api-keys.png +0 -0
  165. package/.next/standalone/docs-old/agenteye/images/assistant.png +0 -0
  166. package/.next/standalone/docs-old/agenteye/images/audits.png +0 -0
  167. package/.next/standalone/docs-old/agenteye/images/dashboard-fleet.png +0 -0
  168. package/.next/standalone/docs-old/agenteye/images/dashboard-quality.png +0 -0
  169. package/.next/standalone/docs-old/agenteye/images/errors.png +0 -0
  170. package/.next/standalone/docs-old/agenteye/images/events-stream.png +0 -0
  171. package/.next/standalone/docs-old/agenteye/images/hooks.png +0 -0
  172. package/.next/standalone/docs-old/agenteye/images/incident-detail.png +0 -0
  173. package/.next/standalone/docs-old/agenteye/images/incidents.png +0 -0
  174. package/.next/standalone/docs-old/agenteye/images/login.png +0 -0
  175. package/.next/standalone/docs-old/agenteye/images/models.png +0 -0
  176. package/.next/standalone/docs-old/agenteye/images/queries.png +0 -0
  177. package/.next/standalone/docs-old/agenteye/images/query-lab.png +0 -0
  178. package/.next/standalone/docs-old/agenteye/images/session-detail.png +0 -0
  179. package/.next/standalone/docs-old/agenteye/images/sessions-list.png +0 -0
  180. package/.next/standalone/docs-old/agenteye/images/settings.png +0 -0
  181. package/.next/standalone/docs-old/agenteye/images/tools.png +0 -0
  182. package/.next/standalone/docs-old/agenteye/images/users.png +0 -0
  183. package/.next/standalone/docs-old/agenteye/images/video-audit.jpg +0 -0
  184. package/.next/standalone/docs-old/agenteye/images/video-tracing.jpg +0 -0
  185. package/.next/standalone/docs-old/agenteye/incidents.mdx +50 -0
  186. package/.next/standalone/docs-old/agenteye/observability.mdx +23 -0
  187. package/.next/standalone/docs-old/agenteye/openclaw-capture.mdx +49 -0
  188. package/.next/standalone/docs-old/agenteye/overview.mdx +108 -0
  189. package/.next/standalone/docs-old/agenteye/python-sdk-skill.mdx +131 -0
  190. package/.next/standalone/docs-old/agenteye/python-sdk.mdx +436 -0
  191. package/.next/standalone/docs-old/agenteye/queries.mdx +56 -0
  192. package/.next/standalone/docs-old/agenteye/security.mdx +68 -0
  193. package/.next/standalone/docs-old/agenteye/sessions.mdx +57 -0
  194. package/.next/standalone/docs-old/agenteye/telemetry.mdx +52 -0
  195. package/.next/standalone/docs-old/ar/agenteye/alerts.mdx +63 -0
  196. package/.next/standalone/docs-old/ar/agenteye/api-keys.mdx +279 -0
  197. package/.next/standalone/docs-old/ar/agenteye/assistant.mdx +62 -0
  198. package/.next/standalone/docs-old/ar/agenteye/audits.mdx +55 -0
  199. package/.next/standalone/docs-old/ar/agenteye/cli-and-agents.mdx +81 -0
  200. package/.next/standalone/docs-old/ar/agenteye/cli-recipes.mdx +178 -0
  201. package/.next/standalone/docs-old/ar/agenteye/cli-skill.mdx +160 -0
  202. package/.next/standalone/docs-old/ar/agenteye/cli.mdx +349 -0
  203. package/.next/standalone/docs-old/ar/agenteye/codex-capture.mdx +56 -0
  204. package/.next/standalone/docs-old/ar/agenteye/concepts.mdx +88 -0
  205. package/.next/standalone/docs-old/ar/agenteye/dashboards.mdx +46 -0
  206. package/.next/standalone/docs-old/ar/agenteye/error-tracking.mdx +41 -0
  207. package/.next/standalone/docs-old/ar/agenteye/evaluation-suite.mdx +299 -0
  208. package/.next/standalone/docs-old/ar/agenteye/evaluations.mdx +51 -0
  209. package/.next/standalone/docs-old/ar/agenteye/evaluator-skill.mdx +168 -0
  210. package/.next/standalone/docs-old/ar/agenteye/event-stream.mdx +50 -0
  211. package/.next/standalone/docs-old/ar/agenteye/hermes-capture.mdx +54 -0
  212. package/.next/standalone/docs-old/ar/agenteye/incidents.mdx +51 -0
  213. package/.next/standalone/docs-old/ar/agenteye/observability.mdx +24 -0
  214. package/.next/standalone/docs-old/ar/agenteye/openclaw-capture.mdx +50 -0
  215. package/.next/standalone/docs-old/ar/agenteye/overview.mdx +108 -0
  216. package/.next/standalone/docs-old/ar/agenteye/python-sdk-skill.mdx +129 -0
  217. package/.next/standalone/docs-old/ar/agenteye/python-sdk.mdx +435 -0
  218. package/.next/standalone/docs-old/ar/agenteye/queries.mdx +57 -0
  219. package/.next/standalone/docs-old/ar/agenteye/security.mdx +68 -0
  220. package/.next/standalone/docs-old/ar/agenteye/sessions.mdx +58 -0
  221. package/.next/standalone/docs-old/ar/agenteye/telemetry.mdx +52 -0
  222. package/.next/standalone/docs-old/ar/architecture.mdx +333 -0
  223. package/.next/standalone/docs-old/ar/built-in-policies.mdx +860 -0
  224. package/.next/standalone/docs-old/ar/cli/audit.mdx +120 -0
  225. package/.next/standalone/docs-old/ar/cli/dashboard.mdx +30 -0
  226. package/.next/standalone/docs-old/ar/cli/environment-variables.mdx +70 -0
  227. package/.next/standalone/docs-old/ar/cli/hook.mdx +31 -0
  228. package/.next/standalone/docs-old/ar/cli/install-policies.mdx +57 -0
  229. package/.next/standalone/docs-old/ar/cli/list-policies.mdx +32 -0
  230. package/.next/standalone/docs-old/ar/cli/migrate.mdx +110 -0
  231. package/.next/standalone/docs-old/ar/cli/remove-policies.mdx +44 -0
  232. package/.next/standalone/docs-old/ar/cli/update.mdx +79 -0
  233. package/.next/standalone/docs-old/ar/cli/version.mdx +13 -0
  234. package/.next/standalone/docs-old/ar/configuration.mdx +268 -0
  235. package/.next/standalone/docs-old/ar/custom-policies.mdx +359 -0
  236. package/.next/standalone/docs-old/ar/dashboard.mdx +152 -0
  237. package/.next/standalone/docs-old/ar/examples.mdx +307 -0
  238. package/.next/standalone/docs-old/ar/for-agents.mdx +38 -0
  239. package/.next/standalone/docs-old/ar/getting-started.mdx +199 -0
  240. package/.next/standalone/docs-old/ar/introduction.mdx +58 -0
  241. package/.next/standalone/docs-old/ar/package-aliases.mdx +83 -0
  242. package/.next/standalone/docs-old/ar/testing.mdx +260 -0
  243. package/.next/standalone/docs-old/architecture.mdx +332 -0
  244. package/.next/standalone/docs-old/built-in-policies.mdx +859 -0
  245. package/.next/standalone/docs-old/cli/audit.mdx +188 -0
  246. package/.next/standalone/docs-old/cli/dashboard.mdx +29 -0
  247. package/.next/standalone/docs-old/cli/environment-variables.mdx +75 -0
  248. package/.next/standalone/docs-old/cli/hook.mdx +30 -0
  249. package/.next/standalone/docs-old/cli/install-policies.mdx +57 -0
  250. package/.next/standalone/docs-old/cli/list-policies.mdx +31 -0
  251. package/.next/standalone/docs-old/cli/migrate.mdx +117 -0
  252. package/.next/standalone/docs-old/cli/remove-policies.mdx +43 -0
  253. package/.next/standalone/docs-old/cli/update.mdx +94 -0
  254. package/.next/standalone/docs-old/cli/version.mdx +12 -0
  255. package/.next/standalone/docs-old/configuration.mdx +295 -0
  256. package/.next/standalone/docs-old/custom-policies.mdx +362 -0
  257. package/.next/standalone/docs-old/dashboard.mdx +176 -0
  258. package/.next/standalone/docs-old/de/agenteye/alerts.mdx +63 -0
  259. package/.next/standalone/docs-old/de/agenteye/api-keys.mdx +280 -0
  260. package/.next/standalone/docs-old/de/agenteye/assistant.mdx +63 -0
  261. package/.next/standalone/docs-old/de/agenteye/audits.mdx +54 -0
  262. package/.next/standalone/docs-old/de/agenteye/cli-and-agents.mdx +80 -0
  263. package/.next/standalone/docs-old/de/agenteye/cli-recipes.mdx +179 -0
  264. package/.next/standalone/docs-old/de/agenteye/cli-skill.mdx +159 -0
  265. package/.next/standalone/docs-old/de/agenteye/cli.mdx +350 -0
  266. package/.next/standalone/docs-old/de/agenteye/codex-capture.mdx +55 -0
  267. package/.next/standalone/docs-old/de/agenteye/concepts.mdx +87 -0
  268. package/.next/standalone/docs-old/de/agenteye/dashboards.mdx +46 -0
  269. package/.next/standalone/docs-old/de/agenteye/error-tracking.mdx +41 -0
  270. package/.next/standalone/docs-old/de/agenteye/evaluation-suite.mdx +300 -0
  271. package/.next/standalone/docs-old/de/agenteye/evaluations.mdx +50 -0
  272. package/.next/standalone/docs-old/de/agenteye/evaluator-skill.mdx +167 -0
  273. package/.next/standalone/docs-old/de/agenteye/event-stream.mdx +50 -0
  274. package/.next/standalone/docs-old/de/agenteye/hermes-capture.mdx +53 -0
  275. package/.next/standalone/docs-old/de/agenteye/incidents.mdx +50 -0
  276. package/.next/standalone/docs-old/de/agenteye/observability.mdx +23 -0
  277. package/.next/standalone/docs-old/de/agenteye/openclaw-capture.mdx +49 -0
  278. package/.next/standalone/docs-old/de/agenteye/overview.mdx +108 -0
  279. package/.next/standalone/docs-old/de/agenteye/python-sdk-skill.mdx +131 -0
  280. package/.next/standalone/docs-old/de/agenteye/python-sdk.mdx +436 -0
  281. package/.next/standalone/docs-old/de/agenteye/queries.mdx +56 -0
  282. package/.next/standalone/docs-old/de/agenteye/security.mdx +68 -0
  283. package/.next/standalone/docs-old/de/agenteye/sessions.mdx +57 -0
  284. package/.next/standalone/docs-old/de/agenteye/telemetry.mdx +52 -0
  285. package/.next/standalone/docs-old/de/architecture.mdx +332 -0
  286. package/.next/standalone/docs-old/de/built-in-policies.mdx +859 -0
  287. package/.next/standalone/docs-old/de/cli/audit.mdx +131 -0
  288. package/.next/standalone/docs-old/de/cli/dashboard.mdx +29 -0
  289. package/.next/standalone/docs-old/de/cli/environment-variables.mdx +72 -0
  290. package/.next/standalone/docs-old/de/cli/hook.mdx +30 -0
  291. package/.next/standalone/docs-old/de/cli/install-policies.mdx +57 -0
  292. package/.next/standalone/docs-old/de/cli/list-policies.mdx +31 -0
  293. package/.next/standalone/docs-old/de/cli/migrate.mdx +122 -0
  294. package/.next/standalone/docs-old/de/cli/remove-policies.mdx +43 -0
  295. package/.next/standalone/docs-old/de/cli/update.mdx +75 -0
  296. package/.next/standalone/docs-old/de/cli/version.mdx +12 -0
  297. package/.next/standalone/docs-old/de/configuration.mdx +272 -0
  298. package/.next/standalone/docs-old/de/custom-policies.mdx +358 -0
  299. package/.next/standalone/docs-old/de/dashboard.mdx +151 -0
  300. package/.next/standalone/docs-old/de/examples.mdx +307 -0
  301. package/.next/standalone/docs-old/de/for-agents.mdx +38 -0
  302. package/.next/standalone/docs-old/de/getting-started.mdx +199 -0
  303. package/.next/standalone/docs-old/de/introduction.mdx +57 -0
  304. package/.next/standalone/docs-old/de/package-aliases.mdx +82 -0
  305. package/.next/standalone/docs-old/de/testing.mdx +260 -0
  306. package/.next/standalone/docs-old/docs.json +1830 -0
  307. package/.next/standalone/docs-old/es/agenteye/alerts.mdx +63 -0
  308. package/.next/standalone/docs-old/es/agenteye/api-keys.mdx +280 -0
  309. package/.next/standalone/docs-old/es/agenteye/assistant.mdx +63 -0
  310. package/.next/standalone/docs-old/es/agenteye/audits.mdx +54 -0
  311. package/.next/standalone/docs-old/es/agenteye/cli-and-agents.mdx +80 -0
  312. package/.next/standalone/docs-old/es/agenteye/cli-recipes.mdx +178 -0
  313. package/.next/standalone/docs-old/es/agenteye/cli-skill.mdx +159 -0
  314. package/.next/standalone/docs-old/es/agenteye/cli.mdx +350 -0
  315. package/.next/standalone/docs-old/es/agenteye/codex-capture.mdx +55 -0
  316. package/.next/standalone/docs-old/es/agenteye/concepts.mdx +87 -0
  317. package/.next/standalone/docs-old/es/agenteye/dashboards.mdx +46 -0
  318. package/.next/standalone/docs-old/es/agenteye/error-tracking.mdx +41 -0
  319. package/.next/standalone/docs-old/es/agenteye/evaluation-suite.mdx +300 -0
  320. package/.next/standalone/docs-old/es/agenteye/evaluations.mdx +50 -0
  321. package/.next/standalone/docs-old/es/agenteye/evaluator-skill.mdx +167 -0
  322. package/.next/standalone/docs-old/es/agenteye/event-stream.mdx +50 -0
  323. package/.next/standalone/docs-old/es/agenteye/hermes-capture.mdx +53 -0
  324. package/.next/standalone/docs-old/es/agenteye/incidents.mdx +50 -0
  325. package/.next/standalone/docs-old/es/agenteye/observability.mdx +23 -0
  326. package/.next/standalone/docs-old/es/agenteye/openclaw-capture.mdx +49 -0
  327. package/.next/standalone/docs-old/es/agenteye/overview.mdx +108 -0
  328. package/.next/standalone/docs-old/es/agenteye/python-sdk-skill.mdx +135 -0
  329. package/.next/standalone/docs-old/es/agenteye/python-sdk.mdx +436 -0
  330. package/.next/standalone/docs-old/es/agenteye/queries.mdx +56 -0
  331. package/.next/standalone/docs-old/es/agenteye/security.mdx +68 -0
  332. package/.next/standalone/docs-old/es/agenteye/sessions.mdx +56 -0
  333. package/.next/standalone/docs-old/es/agenteye/telemetry.mdx +52 -0
  334. package/.next/standalone/docs-old/es/architecture.mdx +332 -0
  335. package/.next/standalone/docs-old/es/built-in-policies.mdx +853 -0
  336. package/.next/standalone/docs-old/es/cli/audit.mdx +137 -0
  337. package/.next/standalone/docs-old/es/cli/dashboard.mdx +29 -0
  338. package/.next/standalone/docs-old/es/cli/environment-variables.mdx +72 -0
  339. package/.next/standalone/docs-old/es/cli/hook.mdx +30 -0
  340. package/.next/standalone/docs-old/es/cli/install-policies.mdx +57 -0
  341. package/.next/standalone/docs-old/es/cli/list-policies.mdx +31 -0
  342. package/.next/standalone/docs-old/es/cli/migrate.mdx +86 -0
  343. package/.next/standalone/docs-old/es/cli/remove-policies.mdx +43 -0
  344. package/.next/standalone/docs-old/es/cli/update.mdx +64 -0
  345. package/.next/standalone/docs-old/es/cli/version.mdx +12 -0
  346. package/.next/standalone/docs-old/es/configuration.mdx +271 -0
  347. package/.next/standalone/docs-old/es/custom-policies.mdx +358 -0
  348. package/.next/standalone/docs-old/es/dashboard.mdx +151 -0
  349. package/.next/standalone/docs-old/es/examples.mdx +307 -0
  350. package/.next/standalone/docs-old/es/for-agents.mdx +38 -0
  351. package/.next/standalone/docs-old/es/getting-started.mdx +199 -0
  352. package/.next/standalone/docs-old/es/introduction.mdx +57 -0
  353. package/.next/standalone/docs-old/es/package-aliases.mdx +82 -0
  354. package/.next/standalone/docs-old/es/testing.mdx +260 -0
  355. package/.next/standalone/docs-old/examples.mdx +307 -0
  356. package/.next/standalone/docs-old/favicon.ico +0 -0
  357. package/.next/standalone/docs-old/for-agents.mdx +38 -0
  358. package/.next/standalone/docs-old/fr/agenteye/alerts.mdx +63 -0
  359. package/.next/standalone/docs-old/fr/agenteye/api-keys.mdx +280 -0
  360. package/.next/standalone/docs-old/fr/agenteye/assistant.mdx +63 -0
  361. package/.next/standalone/docs-old/fr/agenteye/audits.mdx +54 -0
  362. package/.next/standalone/docs-old/fr/agenteye/cli-and-agents.mdx +79 -0
  363. package/.next/standalone/docs-old/fr/agenteye/cli-recipes.mdx +179 -0
  364. package/.next/standalone/docs-old/fr/agenteye/cli-skill.mdx +159 -0
  365. package/.next/standalone/docs-old/fr/agenteye/cli.mdx +350 -0
  366. package/.next/standalone/docs-old/fr/agenteye/codex-capture.mdx +55 -0
  367. package/.next/standalone/docs-old/fr/agenteye/concepts.mdx +87 -0
  368. package/.next/standalone/docs-old/fr/agenteye/dashboards.mdx +46 -0
  369. package/.next/standalone/docs-old/fr/agenteye/error-tracking.mdx +40 -0
  370. package/.next/standalone/docs-old/fr/agenteye/evaluation-suite.mdx +401 -0
  371. package/.next/standalone/docs-old/fr/agenteye/evaluations.mdx +50 -0
  372. package/.next/standalone/docs-old/fr/agenteye/evaluator-skill.mdx +167 -0
  373. package/.next/standalone/docs-old/fr/agenteye/event-stream.mdx +50 -0
  374. package/.next/standalone/docs-old/fr/agenteye/hermes-capture.mdx +53 -0
  375. package/.next/standalone/docs-old/fr/agenteye/incidents.mdx +50 -0
  376. package/.next/standalone/docs-old/fr/agenteye/observability.mdx +23 -0
  377. package/.next/standalone/docs-old/fr/agenteye/openclaw-capture.mdx +49 -0
  378. package/.next/standalone/docs-old/fr/agenteye/overview.mdx +108 -0
  379. package/.next/standalone/docs-old/fr/agenteye/python-sdk-skill.mdx +135 -0
  380. package/.next/standalone/docs-old/fr/agenteye/python-sdk.mdx +436 -0
  381. package/.next/standalone/docs-old/fr/agenteye/queries.mdx +56 -0
  382. package/.next/standalone/docs-old/fr/agenteye/security.mdx +68 -0
  383. package/.next/standalone/docs-old/fr/agenteye/sessions.mdx +57 -0
  384. package/.next/standalone/docs-old/fr/agenteye/telemetry.mdx +52 -0
  385. package/.next/standalone/docs-old/fr/architecture.mdx +332 -0
  386. package/.next/standalone/docs-old/fr/built-in-policies.mdx +851 -0
  387. package/.next/standalone/docs-old/fr/cli/audit.mdx +126 -0
  388. package/.next/standalone/docs-old/fr/cli/dashboard.mdx +29 -0
  389. package/.next/standalone/docs-old/fr/cli/environment-variables.mdx +70 -0
  390. package/.next/standalone/docs-old/fr/cli/hook.mdx +30 -0
  391. package/.next/standalone/docs-old/fr/cli/install-policies.mdx +57 -0
  392. package/.next/standalone/docs-old/fr/cli/list-policies.mdx +31 -0
  393. package/.next/standalone/docs-old/fr/cli/migrate.mdx +86 -0
  394. package/.next/standalone/docs-old/fr/cli/remove-policies.mdx +43 -0
  395. package/.next/standalone/docs-old/fr/cli/update.mdx +64 -0
  396. package/.next/standalone/docs-old/fr/cli/version.mdx +12 -0
  397. package/.next/standalone/docs-old/fr/configuration.mdx +271 -0
  398. package/.next/standalone/docs-old/fr/custom-policies.mdx +358 -0
  399. package/.next/standalone/docs-old/fr/dashboard.mdx +151 -0
  400. package/.next/standalone/docs-old/fr/examples.mdx +307 -0
  401. package/.next/standalone/docs-old/fr/for-agents.mdx +38 -0
  402. package/.next/standalone/docs-old/fr/getting-started.mdx +199 -0
  403. package/.next/standalone/docs-old/fr/introduction.mdx +57 -0
  404. package/.next/standalone/docs-old/fr/package-aliases.mdx +82 -0
  405. package/.next/standalone/docs-old/fr/testing.mdx +260 -0
  406. package/.next/standalone/docs-old/getting-started.mdx +201 -0
  407. package/.next/standalone/docs-old/he/agenteye/alerts.mdx +63 -0
  408. package/.next/standalone/docs-old/he/agenteye/api-keys.mdx +279 -0
  409. package/.next/standalone/docs-old/he/agenteye/assistant.mdx +63 -0
  410. package/.next/standalone/docs-old/he/agenteye/audits.mdx +53 -0
  411. package/.next/standalone/docs-old/he/agenteye/cli-and-agents.mdx +80 -0
  412. package/.next/standalone/docs-old/he/agenteye/cli-recipes.mdx +179 -0
  413. package/.next/standalone/docs-old/he/agenteye/cli-skill.mdx +160 -0
  414. package/.next/standalone/docs-old/he/agenteye/cli.mdx +349 -0
  415. package/.next/standalone/docs-old/he/agenteye/codex-capture.mdx +56 -0
  416. package/.next/standalone/docs-old/he/agenteye/concepts.mdx +87 -0
  417. package/.next/standalone/docs-old/he/agenteye/dashboards.mdx +46 -0
  418. package/.next/standalone/docs-old/he/agenteye/error-tracking.mdx +41 -0
  419. package/.next/standalone/docs-old/he/agenteye/evaluation-suite.mdx +299 -0
  420. package/.next/standalone/docs-old/he/agenteye/evaluations.mdx +51 -0
  421. package/.next/standalone/docs-old/he/agenteye/evaluator-skill.mdx +168 -0
  422. package/.next/standalone/docs-old/he/agenteye/event-stream.mdx +50 -0
  423. package/.next/standalone/docs-old/he/agenteye/hermes-capture.mdx +54 -0
  424. package/.next/standalone/docs-old/he/agenteye/incidents.mdx +50 -0
  425. package/.next/standalone/docs-old/he/agenteye/observability.mdx +23 -0
  426. package/.next/standalone/docs-old/he/agenteye/openclaw-capture.mdx +50 -0
  427. package/.next/standalone/docs-old/he/agenteye/overview.mdx +108 -0
  428. package/.next/standalone/docs-old/he/agenteye/python-sdk-skill.mdx +132 -0
  429. package/.next/standalone/docs-old/he/agenteye/python-sdk.mdx +436 -0
  430. package/.next/standalone/docs-old/he/agenteye/queries.mdx +56 -0
  431. package/.next/standalone/docs-old/he/agenteye/security.mdx +67 -0
  432. package/.next/standalone/docs-old/he/agenteye/sessions.mdx +58 -0
  433. package/.next/standalone/docs-old/he/agenteye/telemetry.mdx +52 -0
  434. package/.next/standalone/docs-old/he/architecture.mdx +332 -0
  435. package/.next/standalone/docs-old/he/built-in-policies.mdx +857 -0
  436. package/.next/standalone/docs-old/he/cli/audit.mdx +116 -0
  437. package/.next/standalone/docs-old/he/cli/dashboard.mdx +30 -0
  438. package/.next/standalone/docs-old/he/cli/environment-variables.mdx +69 -0
  439. package/.next/standalone/docs-old/he/cli/hook.mdx +30 -0
  440. package/.next/standalone/docs-old/he/cli/install-policies.mdx +58 -0
  441. package/.next/standalone/docs-old/he/cli/list-policies.mdx +32 -0
  442. package/.next/standalone/docs-old/he/cli/migrate.mdx +87 -0
  443. package/.next/standalone/docs-old/he/cli/remove-policies.mdx +44 -0
  444. package/.next/standalone/docs-old/he/cli/update.mdx +64 -0
  445. package/.next/standalone/docs-old/he/cli/version.mdx +13 -0
  446. package/.next/standalone/docs-old/he/configuration.mdx +264 -0
  447. package/.next/standalone/docs-old/he/custom-policies.mdx +359 -0
  448. package/.next/standalone/docs-old/he/dashboard.mdx +155 -0
  449. package/.next/standalone/docs-old/he/examples.mdx +308 -0
  450. package/.next/standalone/docs-old/he/for-agents.mdx +38 -0
  451. package/.next/standalone/docs-old/he/getting-started.mdx +200 -0
  452. package/.next/standalone/docs-old/he/introduction.mdx +58 -0
  453. package/.next/standalone/docs-old/he/package-aliases.mdx +82 -0
  454. package/.next/standalone/docs-old/he/testing.mdx +260 -0
  455. package/.next/standalone/docs-old/hi/agenteye/alerts.mdx +62 -0
  456. package/.next/standalone/docs-old/hi/agenteye/api-keys.mdx +279 -0
  457. package/.next/standalone/docs-old/hi/agenteye/assistant.mdx +63 -0
  458. package/.next/standalone/docs-old/hi/agenteye/audits.mdx +53 -0
  459. package/.next/standalone/docs-old/hi/agenteye/cli-and-agents.mdx +80 -0
  460. package/.next/standalone/docs-old/hi/agenteye/cli-recipes.mdx +178 -0
  461. package/.next/standalone/docs-old/hi/agenteye/cli-skill.mdx +159 -0
  462. package/.next/standalone/docs-old/hi/agenteye/cli.mdx +350 -0
  463. package/.next/standalone/docs-old/hi/agenteye/codex-capture.mdx +56 -0
  464. package/.next/standalone/docs-old/hi/agenteye/concepts.mdx +87 -0
  465. package/.next/standalone/docs-old/hi/agenteye/dashboards.mdx +47 -0
  466. package/.next/standalone/docs-old/hi/agenteye/error-tracking.mdx +42 -0
  467. package/.next/standalone/docs-old/hi/agenteye/evaluation-suite.mdx +299 -0
  468. package/.next/standalone/docs-old/hi/agenteye/evaluations.mdx +51 -0
  469. package/.next/standalone/docs-old/hi/agenteye/evaluator-skill.mdx +171 -0
  470. package/.next/standalone/docs-old/hi/agenteye/event-stream.mdx +49 -0
  471. package/.next/standalone/docs-old/hi/agenteye/hermes-capture.mdx +53 -0
  472. package/.next/standalone/docs-old/hi/agenteye/incidents.mdx +50 -0
  473. package/.next/standalone/docs-old/hi/agenteye/observability.mdx +23 -0
  474. package/.next/standalone/docs-old/hi/agenteye/openclaw-capture.mdx +50 -0
  475. package/.next/standalone/docs-old/hi/agenteye/overview.mdx +107 -0
  476. package/.next/standalone/docs-old/hi/agenteye/python-sdk-skill.mdx +133 -0
  477. package/.next/standalone/docs-old/hi/agenteye/python-sdk.mdx +434 -0
  478. package/.next/standalone/docs-old/hi/agenteye/queries.mdx +57 -0
  479. package/.next/standalone/docs-old/hi/agenteye/security.mdx +68 -0
  480. package/.next/standalone/docs-old/hi/agenteye/sessions.mdx +57 -0
  481. package/.next/standalone/docs-old/hi/agenteye/telemetry.mdx +51 -0
  482. package/.next/standalone/docs-old/hi/architecture.mdx +332 -0
  483. package/.next/standalone/docs-old/hi/built-in-policies.mdx +848 -0
  484. package/.next/standalone/docs-old/hi/cli/audit.mdx +117 -0
  485. package/.next/standalone/docs-old/hi/cli/dashboard.mdx +29 -0
  486. package/.next/standalone/docs-old/hi/cli/environment-variables.mdx +64 -0
  487. package/.next/standalone/docs-old/hi/cli/hook.mdx +30 -0
  488. package/.next/standalone/docs-old/hi/cli/install-policies.mdx +57 -0
  489. package/.next/standalone/docs-old/hi/cli/list-policies.mdx +31 -0
  490. package/.next/standalone/docs-old/hi/cli/migrate.mdx +85 -0
  491. package/.next/standalone/docs-old/hi/cli/remove-policies.mdx +43 -0
  492. package/.next/standalone/docs-old/hi/cli/update.mdx +65 -0
  493. package/.next/standalone/docs-old/hi/cli/version.mdx +12 -0
  494. package/.next/standalone/docs-old/hi/configuration.mdx +264 -0
  495. package/.next/standalone/docs-old/hi/custom-policies.mdx +359 -0
  496. package/.next/standalone/docs-old/hi/dashboard.mdx +152 -0
  497. package/.next/standalone/docs-old/hi/examples.mdx +307 -0
  498. package/.next/standalone/docs-old/hi/for-agents.mdx +38 -0
  499. package/.next/standalone/docs-old/hi/getting-started.mdx +200 -0
  500. package/.next/standalone/docs-old/hi/introduction.mdx +58 -0
  501. package/.next/standalone/docs-old/hi/package-aliases.mdx +83 -0
  502. package/.next/standalone/docs-old/hi/testing.mdx +260 -0
  503. package/.next/standalone/docs-old/i18n/README.ar.md +230 -0
  504. package/.next/standalone/docs-old/i18n/README.de.md +225 -0
  505. package/.next/standalone/docs-old/i18n/README.es.md +225 -0
  506. package/.next/standalone/docs-old/i18n/README.fr.md +225 -0
  507. package/.next/standalone/docs-old/i18n/README.he.md +230 -0
  508. package/.next/standalone/docs-old/i18n/README.hi.md +222 -0
  509. package/.next/standalone/docs-old/i18n/README.it.md +225 -0
  510. package/.next/standalone/docs-old/i18n/README.ja.md +219 -0
  511. package/.next/standalone/docs-old/i18n/README.ko.md +225 -0
  512. package/.next/standalone/docs-old/i18n/README.pt-br.md +225 -0
  513. package/.next/standalone/docs-old/i18n/README.ru.md +222 -0
  514. package/.next/standalone/docs-old/i18n/README.tr.md +221 -0
  515. package/.next/standalone/docs-old/i18n/README.vi.md +225 -0
  516. package/.next/standalone/docs-old/i18n/README.zh.md +219 -0
  517. package/.next/standalone/docs-old/introduction.mdx +57 -0
  518. package/.next/standalone/docs-old/it/agenteye/alerts.mdx +62 -0
  519. package/.next/standalone/docs-old/it/agenteye/api-keys.mdx +279 -0
  520. package/.next/standalone/docs-old/it/agenteye/assistant.mdx +63 -0
  521. package/.next/standalone/docs-old/it/agenteye/audits.mdx +54 -0
  522. package/.next/standalone/docs-old/it/agenteye/cli-and-agents.mdx +80 -0
  523. package/.next/standalone/docs-old/it/agenteye/cli-recipes.mdx +179 -0
  524. package/.next/standalone/docs-old/it/agenteye/cli-skill.mdx +159 -0
  525. package/.next/standalone/docs-old/it/agenteye/cli.mdx +349 -0
  526. package/.next/standalone/docs-old/it/agenteye/codex-capture.mdx +56 -0
  527. package/.next/standalone/docs-old/it/agenteye/concepts.mdx +87 -0
  528. package/.next/standalone/docs-old/it/agenteye/dashboards.mdx +46 -0
  529. package/.next/standalone/docs-old/it/agenteye/error-tracking.mdx +41 -0
  530. package/.next/standalone/docs-old/it/agenteye/evaluation-suite.mdx +299 -0
  531. package/.next/standalone/docs-old/it/agenteye/evaluations.mdx +51 -0
  532. package/.next/standalone/docs-old/it/agenteye/evaluator-skill.mdx +170 -0
  533. package/.next/standalone/docs-old/it/agenteye/event-stream.mdx +50 -0
  534. package/.next/standalone/docs-old/it/agenteye/hermes-capture.mdx +53 -0
  535. package/.next/standalone/docs-old/it/agenteye/incidents.mdx +49 -0
  536. package/.next/standalone/docs-old/it/agenteye/observability.mdx +23 -0
  537. package/.next/standalone/docs-old/it/agenteye/openclaw-capture.mdx +49 -0
  538. package/.next/standalone/docs-old/it/agenteye/overview.mdx +107 -0
  539. package/.next/standalone/docs-old/it/agenteye/python-sdk-skill.mdx +132 -0
  540. package/.next/standalone/docs-old/it/agenteye/python-sdk.mdx +437 -0
  541. package/.next/standalone/docs-old/it/agenteye/queries.mdx +55 -0
  542. package/.next/standalone/docs-old/it/agenteye/security.mdx +68 -0
  543. package/.next/standalone/docs-old/it/agenteye/sessions.mdx +57 -0
  544. package/.next/standalone/docs-old/it/agenteye/telemetry.mdx +52 -0
  545. package/.next/standalone/docs-old/it/architecture.mdx +333 -0
  546. package/.next/standalone/docs-old/it/built-in-policies.mdx +853 -0
  547. package/.next/standalone/docs-old/it/cli/audit.mdx +126 -0
  548. package/.next/standalone/docs-old/it/cli/dashboard.mdx +30 -0
  549. package/.next/standalone/docs-old/it/cli/environment-variables.mdx +65 -0
  550. package/.next/standalone/docs-old/it/cli/hook.mdx +30 -0
  551. package/.next/standalone/docs-old/it/cli/install-policies.mdx +57 -0
  552. package/.next/standalone/docs-old/it/cli/list-policies.mdx +31 -0
  553. package/.next/standalone/docs-old/it/cli/migrate.mdx +122 -0
  554. package/.next/standalone/docs-old/it/cli/remove-policies.mdx +43 -0
  555. package/.next/standalone/docs-old/it/cli/update.mdx +86 -0
  556. package/.next/standalone/docs-old/it/cli/version.mdx +12 -0
  557. package/.next/standalone/docs-old/it/configuration.mdx +269 -0
  558. package/.next/standalone/docs-old/it/custom-policies.mdx +359 -0
  559. package/.next/standalone/docs-old/it/dashboard.mdx +151 -0
  560. package/.next/standalone/docs-old/it/examples.mdx +307 -0
  561. package/.next/standalone/docs-old/it/for-agents.mdx +38 -0
  562. package/.next/standalone/docs-old/it/getting-started.mdx +199 -0
  563. package/.next/standalone/docs-old/it/introduction.mdx +58 -0
  564. package/.next/standalone/docs-old/it/package-aliases.mdx +82 -0
  565. package/.next/standalone/docs-old/it/testing.mdx +261 -0
  566. package/.next/standalone/docs-old/ja/agenteye/alerts.mdx +63 -0
  567. package/.next/standalone/docs-old/ja/agenteye/api-keys.mdx +280 -0
  568. package/.next/standalone/docs-old/ja/agenteye/assistant.mdx +63 -0
  569. package/.next/standalone/docs-old/ja/agenteye/audits.mdx +54 -0
  570. package/.next/standalone/docs-old/ja/agenteye/cli-and-agents.mdx +80 -0
  571. package/.next/standalone/docs-old/ja/agenteye/cli-recipes.mdx +179 -0
  572. package/.next/standalone/docs-old/ja/agenteye/cli-skill.mdx +159 -0
  573. package/.next/standalone/docs-old/ja/agenteye/cli.mdx +350 -0
  574. package/.next/standalone/docs-old/ja/agenteye/codex-capture.mdx +55 -0
  575. package/.next/standalone/docs-old/ja/agenteye/concepts.mdx +87 -0
  576. package/.next/standalone/docs-old/ja/agenteye/dashboards.mdx +46 -0
  577. package/.next/standalone/docs-old/ja/agenteye/error-tracking.mdx +41 -0
  578. package/.next/standalone/docs-old/ja/agenteye/evaluation-suite.mdx +300 -0
  579. package/.next/standalone/docs-old/ja/agenteye/evaluations.mdx +51 -0
  580. package/.next/standalone/docs-old/ja/agenteye/evaluator-skill.mdx +167 -0
  581. package/.next/standalone/docs-old/ja/agenteye/event-stream.mdx +50 -0
  582. package/.next/standalone/docs-old/ja/agenteye/hermes-capture.mdx +53 -0
  583. package/.next/standalone/docs-old/ja/agenteye/incidents.mdx +50 -0
  584. package/.next/standalone/docs-old/ja/agenteye/observability.mdx +23 -0
  585. package/.next/standalone/docs-old/ja/agenteye/openclaw-capture.mdx +49 -0
  586. package/.next/standalone/docs-old/ja/agenteye/overview.mdx +108 -0
  587. package/.next/standalone/docs-old/ja/agenteye/python-sdk-skill.mdx +131 -0
  588. package/.next/standalone/docs-old/ja/agenteye/python-sdk.mdx +433 -0
  589. package/.next/standalone/docs-old/ja/agenteye/queries.mdx +56 -0
  590. package/.next/standalone/docs-old/ja/agenteye/security.mdx +68 -0
  591. package/.next/standalone/docs-old/ja/agenteye/sessions.mdx +57 -0
  592. package/.next/standalone/docs-old/ja/agenteye/telemetry.mdx +52 -0
  593. package/.next/standalone/docs-old/ja/architecture.mdx +332 -0
  594. package/.next/standalone/docs-old/ja/built-in-policies.mdx +848 -0
  595. package/.next/standalone/docs-old/ja/cli/audit.mdx +116 -0
  596. package/.next/standalone/docs-old/ja/cli/dashboard.mdx +29 -0
  597. package/.next/standalone/docs-old/ja/cli/environment-variables.mdx +63 -0
  598. package/.next/standalone/docs-old/ja/cli/hook.mdx +30 -0
  599. package/.next/standalone/docs-old/ja/cli/install-policies.mdx +57 -0
  600. package/.next/standalone/docs-old/ja/cli/list-policies.mdx +31 -0
  601. package/.next/standalone/docs-old/ja/cli/migrate.mdx +86 -0
  602. package/.next/standalone/docs-old/ja/cli/remove-policies.mdx +43 -0
  603. package/.next/standalone/docs-old/ja/cli/update.mdx +64 -0
  604. package/.next/standalone/docs-old/ja/cli/version.mdx +12 -0
  605. package/.next/standalone/docs-old/ja/configuration.mdx +264 -0
  606. package/.next/standalone/docs-old/ja/custom-policies.mdx +358 -0
  607. package/.next/standalone/docs-old/ja/dashboard.mdx +151 -0
  608. package/.next/standalone/docs-old/ja/examples.mdx +307 -0
  609. package/.next/standalone/docs-old/ja/for-agents.mdx +38 -0
  610. package/.next/standalone/docs-old/ja/getting-started.mdx +199 -0
  611. package/.next/standalone/docs-old/ja/introduction.mdx +57 -0
  612. package/.next/standalone/docs-old/ja/package-aliases.mdx +82 -0
  613. package/.next/standalone/docs-old/ja/testing.mdx +260 -0
  614. package/.next/standalone/docs-old/ko/agenteye/alerts.mdx +63 -0
  615. package/.next/standalone/docs-old/ko/agenteye/api-keys.mdx +280 -0
  616. package/.next/standalone/docs-old/ko/agenteye/assistant.mdx +63 -0
  617. package/.next/standalone/docs-old/ko/agenteye/audits.mdx +54 -0
  618. package/.next/standalone/docs-old/ko/agenteye/cli-and-agents.mdx +80 -0
  619. package/.next/standalone/docs-old/ko/agenteye/cli-recipes.mdx +179 -0
  620. package/.next/standalone/docs-old/ko/agenteye/cli-skill.mdx +159 -0
  621. package/.next/standalone/docs-old/ko/agenteye/cli.mdx +350 -0
  622. package/.next/standalone/docs-old/ko/agenteye/codex-capture.mdx +55 -0
  623. package/.next/standalone/docs-old/ko/agenteye/concepts.mdx +87 -0
  624. package/.next/standalone/docs-old/ko/agenteye/dashboards.mdx +46 -0
  625. package/.next/standalone/docs-old/ko/agenteye/error-tracking.mdx +40 -0
  626. package/.next/standalone/docs-old/ko/agenteye/evaluation-suite.mdx +303 -0
  627. package/.next/standalone/docs-old/ko/agenteye/evaluations.mdx +50 -0
  628. package/.next/standalone/docs-old/ko/agenteye/evaluator-skill.mdx +167 -0
  629. package/.next/standalone/docs-old/ko/agenteye/event-stream.mdx +50 -0
  630. package/.next/standalone/docs-old/ko/agenteye/hermes-capture.mdx +53 -0
  631. package/.next/standalone/docs-old/ko/agenteye/incidents.mdx +50 -0
  632. package/.next/standalone/docs-old/ko/agenteye/observability.mdx +23 -0
  633. package/.next/standalone/docs-old/ko/agenteye/openclaw-capture.mdx +49 -0
  634. package/.next/standalone/docs-old/ko/agenteye/overview.mdx +108 -0
  635. package/.next/standalone/docs-old/ko/agenteye/python-sdk-skill.mdx +130 -0
  636. package/.next/standalone/docs-old/ko/agenteye/python-sdk.mdx +433 -0
  637. package/.next/standalone/docs-old/ko/agenteye/queries.mdx +56 -0
  638. package/.next/standalone/docs-old/ko/agenteye/security.mdx +68 -0
  639. package/.next/standalone/docs-old/ko/agenteye/sessions.mdx +57 -0
  640. package/.next/standalone/docs-old/ko/agenteye/telemetry.mdx +52 -0
  641. package/.next/standalone/docs-old/ko/architecture.mdx +332 -0
  642. package/.next/standalone/docs-old/ko/built-in-policies.mdx +854 -0
  643. package/.next/standalone/docs-old/ko/cli/audit.mdx +131 -0
  644. package/.next/standalone/docs-old/ko/cli/dashboard.mdx +29 -0
  645. package/.next/standalone/docs-old/ko/cli/environment-variables.mdx +66 -0
  646. package/.next/standalone/docs-old/ko/cli/hook.mdx +30 -0
  647. package/.next/standalone/docs-old/ko/cli/install-policies.mdx +57 -0
  648. package/.next/standalone/docs-old/ko/cli/list-policies.mdx +31 -0
  649. package/.next/standalone/docs-old/ko/cli/migrate.mdx +86 -0
  650. package/.next/standalone/docs-old/ko/cli/remove-policies.mdx +43 -0
  651. package/.next/standalone/docs-old/ko/cli/update.mdx +64 -0
  652. package/.next/standalone/docs-old/ko/cli/version.mdx +12 -0
  653. package/.next/standalone/docs-old/ko/configuration.mdx +267 -0
  654. package/.next/standalone/docs-old/ko/custom-policies.mdx +358 -0
  655. package/.next/standalone/docs-old/ko/dashboard.mdx +151 -0
  656. package/.next/standalone/docs-old/ko/examples.mdx +307 -0
  657. package/.next/standalone/docs-old/ko/for-agents.mdx +38 -0
  658. package/.next/standalone/docs-old/ko/getting-started.mdx +199 -0
  659. package/.next/standalone/docs-old/ko/introduction.mdx +57 -0
  660. package/.next/standalone/docs-old/ko/package-aliases.mdx +82 -0
  661. package/.next/standalone/docs-old/ko/testing.mdx +260 -0
  662. package/.next/standalone/docs-old/logo/Failproof_AI_logo.png +0 -0
  663. package/.next/standalone/docs-old/logo/Failproof_AI_logo_light.png +0 -0
  664. package/.next/standalone/docs-old/package-aliases.mdx +82 -0
  665. package/.next/standalone/docs-old/pt-br/agenteye/alerts.mdx +63 -0
  666. package/.next/standalone/docs-old/pt-br/agenteye/api-keys.mdx +280 -0
  667. package/.next/standalone/docs-old/pt-br/agenteye/assistant.mdx +63 -0
  668. package/.next/standalone/docs-old/pt-br/agenteye/audits.mdx +54 -0
  669. package/.next/standalone/docs-old/pt-br/agenteye/cli-and-agents.mdx +80 -0
  670. package/.next/standalone/docs-old/pt-br/agenteye/cli-recipes.mdx +179 -0
  671. package/.next/standalone/docs-old/pt-br/agenteye/cli-skill.mdx +159 -0
  672. package/.next/standalone/docs-old/pt-br/agenteye/cli.mdx +350 -0
  673. package/.next/standalone/docs-old/pt-br/agenteye/codex-capture.mdx +55 -0
  674. package/.next/standalone/docs-old/pt-br/agenteye/concepts.mdx +87 -0
  675. package/.next/standalone/docs-old/pt-br/agenteye/dashboards.mdx +45 -0
  676. package/.next/standalone/docs-old/pt-br/agenteye/error-tracking.mdx +40 -0
  677. package/.next/standalone/docs-old/pt-br/agenteye/evaluation-suite.mdx +401 -0
  678. package/.next/standalone/docs-old/pt-br/agenteye/evaluations.mdx +51 -0
  679. package/.next/standalone/docs-old/pt-br/agenteye/evaluator-skill.mdx +167 -0
  680. package/.next/standalone/docs-old/pt-br/agenteye/event-stream.mdx +50 -0
  681. package/.next/standalone/docs-old/pt-br/agenteye/hermes-capture.mdx +53 -0
  682. package/.next/standalone/docs-old/pt-br/agenteye/incidents.mdx +50 -0
  683. package/.next/standalone/docs-old/pt-br/agenteye/observability.mdx +23 -0
  684. package/.next/standalone/docs-old/pt-br/agenteye/openclaw-capture.mdx +49 -0
  685. package/.next/standalone/docs-old/pt-br/agenteye/overview.mdx +108 -0
  686. package/.next/standalone/docs-old/pt-br/agenteye/python-sdk-skill.mdx +136 -0
  687. package/.next/standalone/docs-old/pt-br/agenteye/python-sdk.mdx +436 -0
  688. package/.next/standalone/docs-old/pt-br/agenteye/queries.mdx +56 -0
  689. package/.next/standalone/docs-old/pt-br/agenteye/security.mdx +68 -0
  690. package/.next/standalone/docs-old/pt-br/agenteye/sessions.mdx +56 -0
  691. package/.next/standalone/docs-old/pt-br/agenteye/telemetry.mdx +52 -0
  692. package/.next/standalone/docs-old/pt-br/architecture.mdx +332 -0
  693. package/.next/standalone/docs-old/pt-br/built-in-policies.mdx +858 -0
  694. package/.next/standalone/docs-old/pt-br/cli/audit.mdx +132 -0
  695. package/.next/standalone/docs-old/pt-br/cli/dashboard.mdx +29 -0
  696. package/.next/standalone/docs-old/pt-br/cli/environment-variables.mdx +72 -0
  697. package/.next/standalone/docs-old/pt-br/cli/hook.mdx +30 -0
  698. package/.next/standalone/docs-old/pt-br/cli/install-policies.mdx +57 -0
  699. package/.next/standalone/docs-old/pt-br/cli/list-policies.mdx +31 -0
  700. package/.next/standalone/docs-old/pt-br/cli/migrate.mdx +86 -0
  701. package/.next/standalone/docs-old/pt-br/cli/remove-policies.mdx +43 -0
  702. package/.next/standalone/docs-old/pt-br/cli/update.mdx +64 -0
  703. package/.next/standalone/docs-old/pt-br/cli/version.mdx +12 -0
  704. package/.next/standalone/docs-old/pt-br/configuration.mdx +268 -0
  705. package/.next/standalone/docs-old/pt-br/custom-policies.mdx +358 -0
  706. package/.next/standalone/docs-old/pt-br/dashboard.mdx +151 -0
  707. package/.next/standalone/docs-old/pt-br/examples.mdx +307 -0
  708. package/.next/standalone/docs-old/pt-br/for-agents.mdx +38 -0
  709. package/.next/standalone/docs-old/pt-br/getting-started.mdx +199 -0
  710. package/.next/standalone/docs-old/pt-br/introduction.mdx +57 -0
  711. package/.next/standalone/docs-old/pt-br/package-aliases.mdx +82 -0
  712. package/.next/standalone/docs-old/pt-br/testing.mdx +260 -0
  713. package/.next/standalone/docs-old/ru/agenteye/alerts.mdx +63 -0
  714. package/.next/standalone/docs-old/ru/agenteye/api-keys.mdx +280 -0
  715. package/.next/standalone/docs-old/ru/agenteye/assistant.mdx +63 -0
  716. package/.next/standalone/docs-old/ru/agenteye/audits.mdx +54 -0
  717. package/.next/standalone/docs-old/ru/agenteye/cli-and-agents.mdx +80 -0
  718. package/.next/standalone/docs-old/ru/agenteye/cli-recipes.mdx +179 -0
  719. package/.next/standalone/docs-old/ru/agenteye/cli-skill.mdx +159 -0
  720. package/.next/standalone/docs-old/ru/agenteye/cli.mdx +350 -0
  721. package/.next/standalone/docs-old/ru/agenteye/codex-capture.mdx +55 -0
  722. package/.next/standalone/docs-old/ru/agenteye/concepts.mdx +87 -0
  723. package/.next/standalone/docs-old/ru/agenteye/dashboards.mdx +46 -0
  724. package/.next/standalone/docs-old/ru/agenteye/error-tracking.mdx +41 -0
  725. package/.next/standalone/docs-old/ru/agenteye/evaluation-suite.mdx +401 -0
  726. package/.next/standalone/docs-old/ru/agenteye/evaluations.mdx +51 -0
  727. package/.next/standalone/docs-old/ru/agenteye/evaluator-skill.mdx +171 -0
  728. package/.next/standalone/docs-old/ru/agenteye/event-stream.mdx +51 -0
  729. package/.next/standalone/docs-old/ru/agenteye/hermes-capture.mdx +53 -0
  730. package/.next/standalone/docs-old/ru/agenteye/incidents.mdx +50 -0
  731. package/.next/standalone/docs-old/ru/agenteye/observability.mdx +23 -0
  732. package/.next/standalone/docs-old/ru/agenteye/openclaw-capture.mdx +49 -0
  733. package/.next/standalone/docs-old/ru/agenteye/overview.mdx +107 -0
  734. package/.next/standalone/docs-old/ru/agenteye/python-sdk-skill.mdx +131 -0
  735. package/.next/standalone/docs-old/ru/agenteye/python-sdk.mdx +437 -0
  736. package/.next/standalone/docs-old/ru/agenteye/queries.mdx +56 -0
  737. package/.next/standalone/docs-old/ru/agenteye/security.mdx +68 -0
  738. package/.next/standalone/docs-old/ru/agenteye/sessions.mdx +57 -0
  739. package/.next/standalone/docs-old/ru/agenteye/telemetry.mdx +52 -0
  740. package/.next/standalone/docs-old/ru/architecture.mdx +333 -0
  741. package/.next/standalone/docs-old/ru/built-in-policies.mdx +853 -0
  742. package/.next/standalone/docs-old/ru/cli/audit.mdx +132 -0
  743. package/.next/standalone/docs-old/ru/cli/dashboard.mdx +29 -0
  744. package/.next/standalone/docs-old/ru/cli/environment-variables.mdx +72 -0
  745. package/.next/standalone/docs-old/ru/cli/hook.mdx +30 -0
  746. package/.next/standalone/docs-old/ru/cli/install-policies.mdx +57 -0
  747. package/.next/standalone/docs-old/ru/cli/list-policies.mdx +31 -0
  748. package/.next/standalone/docs-old/ru/cli/migrate.mdx +91 -0
  749. package/.next/standalone/docs-old/ru/cli/remove-policies.mdx +44 -0
  750. package/.next/standalone/docs-old/ru/cli/update.mdx +64 -0
  751. package/.next/standalone/docs-old/ru/cli/version.mdx +12 -0
  752. package/.next/standalone/docs-old/ru/configuration.mdx +269 -0
  753. package/.next/standalone/docs-old/ru/custom-policies.mdx +358 -0
  754. package/.next/standalone/docs-old/ru/dashboard.mdx +155 -0
  755. package/.next/standalone/docs-old/ru/examples.mdx +307 -0
  756. package/.next/standalone/docs-old/ru/for-agents.mdx +38 -0
  757. package/.next/standalone/docs-old/ru/getting-started.mdx +199 -0
  758. package/.next/standalone/docs-old/ru/introduction.mdx +58 -0
  759. package/.next/standalone/docs-old/ru/package-aliases.mdx +82 -0
  760. package/.next/standalone/docs-old/ru/testing.mdx +260 -0
  761. package/.next/standalone/docs-old/styles/config/vocabularies/Mintlify/accept.txt +52 -0
  762. package/.next/standalone/docs-old/superpowers/specs/2026-06-11-audit-poster-restructure-design.md +332 -0
  763. package/.next/standalone/docs-old/testing.mdx +260 -0
  764. package/.next/standalone/docs-old/tr/agenteye/alerts.mdx +63 -0
  765. package/.next/standalone/docs-old/tr/agenteye/api-keys.mdx +279 -0
  766. package/.next/standalone/docs-old/tr/agenteye/assistant.mdx +63 -0
  767. package/.next/standalone/docs-old/tr/agenteye/audits.mdx +54 -0
  768. package/.next/standalone/docs-old/tr/agenteye/cli-and-agents.mdx +80 -0
  769. package/.next/standalone/docs-old/tr/agenteye/cli-recipes.mdx +179 -0
  770. package/.next/standalone/docs-old/tr/agenteye/cli-skill.mdx +161 -0
  771. package/.next/standalone/docs-old/tr/agenteye/cli.mdx +350 -0
  772. package/.next/standalone/docs-old/tr/agenteye/codex-capture.mdx +56 -0
  773. package/.next/standalone/docs-old/tr/agenteye/concepts.mdx +87 -0
  774. package/.next/standalone/docs-old/tr/agenteye/dashboards.mdx +46 -0
  775. package/.next/standalone/docs-old/tr/agenteye/error-tracking.mdx +41 -0
  776. package/.next/standalone/docs-old/tr/agenteye/evaluation-suite.mdx +299 -0
  777. package/.next/standalone/docs-old/tr/agenteye/evaluations.mdx +51 -0
  778. package/.next/standalone/docs-old/tr/agenteye/evaluator-skill.mdx +167 -0
  779. package/.next/standalone/docs-old/tr/agenteye/event-stream.mdx +50 -0
  780. package/.next/standalone/docs-old/tr/agenteye/hermes-capture.mdx +53 -0
  781. package/.next/standalone/docs-old/tr/agenteye/incidents.mdx +50 -0
  782. package/.next/standalone/docs-old/tr/agenteye/observability.mdx +23 -0
  783. package/.next/standalone/docs-old/tr/agenteye/openclaw-capture.mdx +50 -0
  784. package/.next/standalone/docs-old/tr/agenteye/overview.mdx +107 -0
  785. package/.next/standalone/docs-old/tr/agenteye/python-sdk-skill.mdx +130 -0
  786. package/.next/standalone/docs-old/tr/agenteye/python-sdk.mdx +436 -0
  787. package/.next/standalone/docs-old/tr/agenteye/queries.mdx +55 -0
  788. package/.next/standalone/docs-old/tr/agenteye/security.mdx +69 -0
  789. package/.next/standalone/docs-old/tr/agenteye/sessions.mdx +57 -0
  790. package/.next/standalone/docs-old/tr/agenteye/telemetry.mdx +52 -0
  791. package/.next/standalone/docs-old/tr/architecture.mdx +332 -0
  792. package/.next/standalone/docs-old/tr/built-in-policies.mdx +848 -0
  793. package/.next/standalone/docs-old/tr/cli/audit.mdx +117 -0
  794. package/.next/standalone/docs-old/tr/cli/dashboard.mdx +29 -0
  795. package/.next/standalone/docs-old/tr/cli/environment-variables.mdx +65 -0
  796. package/.next/standalone/docs-old/tr/cli/hook.mdx +31 -0
  797. package/.next/standalone/docs-old/tr/cli/install-policies.mdx +57 -0
  798. package/.next/standalone/docs-old/tr/cli/list-policies.mdx +31 -0
  799. package/.next/standalone/docs-old/tr/cli/migrate.mdx +87 -0
  800. package/.next/standalone/docs-old/tr/cli/remove-policies.mdx +43 -0
  801. package/.next/standalone/docs-old/tr/cli/update.mdx +88 -0
  802. package/.next/standalone/docs-old/tr/cli/version.mdx +12 -0
  803. package/.next/standalone/docs-old/tr/configuration.mdx +268 -0
  804. package/.next/standalone/docs-old/tr/custom-policies.mdx +358 -0
  805. package/.next/standalone/docs-old/tr/dashboard.mdx +152 -0
  806. package/.next/standalone/docs-old/tr/examples.mdx +307 -0
  807. package/.next/standalone/docs-old/tr/for-agents.mdx +38 -0
  808. package/.next/standalone/docs-old/tr/getting-started.mdx +199 -0
  809. package/.next/standalone/docs-old/tr/introduction.mdx +57 -0
  810. package/.next/standalone/docs-old/tr/package-aliases.mdx +82 -0
  811. package/.next/standalone/docs-old/tr/testing.mdx +261 -0
  812. package/.next/standalone/docs-old/vi/agenteye/alerts.mdx +63 -0
  813. package/.next/standalone/docs-old/vi/agenteye/api-keys.mdx +280 -0
  814. package/.next/standalone/docs-old/vi/agenteye/assistant.mdx +63 -0
  815. package/.next/standalone/docs-old/vi/agenteye/audits.mdx +54 -0
  816. package/.next/standalone/docs-old/vi/agenteye/cli-and-agents.mdx +80 -0
  817. package/.next/standalone/docs-old/vi/agenteye/cli-recipes.mdx +178 -0
  818. package/.next/standalone/docs-old/vi/agenteye/cli-skill.mdx +159 -0
  819. package/.next/standalone/docs-old/vi/agenteye/cli.mdx +349 -0
  820. package/.next/standalone/docs-old/vi/agenteye/codex-capture.mdx +55 -0
  821. package/.next/standalone/docs-old/vi/agenteye/concepts.mdx +88 -0
  822. package/.next/standalone/docs-old/vi/agenteye/dashboards.mdx +46 -0
  823. package/.next/standalone/docs-old/vi/agenteye/error-tracking.mdx +41 -0
  824. package/.next/standalone/docs-old/vi/agenteye/evaluation-suite.mdx +300 -0
  825. package/.next/standalone/docs-old/vi/agenteye/evaluations.mdx +51 -0
  826. package/.next/standalone/docs-old/vi/agenteye/evaluator-skill.mdx +171 -0
  827. package/.next/standalone/docs-old/vi/agenteye/event-stream.mdx +50 -0
  828. package/.next/standalone/docs-old/vi/agenteye/hermes-capture.mdx +53 -0
  829. package/.next/standalone/docs-old/vi/agenteye/incidents.mdx +50 -0
  830. package/.next/standalone/docs-old/vi/agenteye/observability.mdx +23 -0
  831. package/.next/standalone/docs-old/vi/agenteye/openclaw-capture.mdx +49 -0
  832. package/.next/standalone/docs-old/vi/agenteye/overview.mdx +109 -0
  833. package/.next/standalone/docs-old/vi/agenteye/python-sdk-skill.mdx +131 -0
  834. package/.next/standalone/docs-old/vi/agenteye/python-sdk.mdx +433 -0
  835. package/.next/standalone/docs-old/vi/agenteye/queries.mdx +55 -0
  836. package/.next/standalone/docs-old/vi/agenteye/security.mdx +68 -0
  837. package/.next/standalone/docs-old/vi/agenteye/sessions.mdx +57 -0
  838. package/.next/standalone/docs-old/vi/agenteye/telemetry.mdx +52 -0
  839. package/.next/standalone/docs-old/vi/architecture.mdx +332 -0
  840. package/.next/standalone/docs-old/vi/built-in-policies.mdx +853 -0
  841. package/.next/standalone/docs-old/vi/cli/audit.mdx +120 -0
  842. package/.next/standalone/docs-old/vi/cli/dashboard.mdx +29 -0
  843. package/.next/standalone/docs-old/vi/cli/environment-variables.mdx +69 -0
  844. package/.next/standalone/docs-old/vi/cli/hook.mdx +30 -0
  845. package/.next/standalone/docs-old/vi/cli/install-policies.mdx +57 -0
  846. package/.next/standalone/docs-old/vi/cli/list-policies.mdx +32 -0
  847. package/.next/standalone/docs-old/vi/cli/migrate.mdx +122 -0
  848. package/.next/standalone/docs-old/vi/cli/remove-policies.mdx +43 -0
  849. package/.next/standalone/docs-old/vi/cli/update.mdx +95 -0
  850. package/.next/standalone/docs-old/vi/cli/version.mdx +12 -0
  851. package/.next/standalone/docs-old/vi/configuration.mdx +268 -0
  852. package/.next/standalone/docs-old/vi/custom-policies.mdx +358 -0
  853. package/.next/standalone/docs-old/vi/dashboard.mdx +151 -0
  854. package/.next/standalone/docs-old/vi/examples.mdx +308 -0
  855. package/.next/standalone/docs-old/vi/for-agents.mdx +39 -0
  856. package/.next/standalone/docs-old/vi/getting-started.mdx +200 -0
  857. package/.next/standalone/docs-old/vi/introduction.mdx +57 -0
  858. package/.next/standalone/docs-old/vi/package-aliases.mdx +83 -0
  859. package/.next/standalone/docs-old/vi/testing.mdx +261 -0
  860. package/.next/standalone/docs-old/zh/agenteye/alerts.mdx +63 -0
  861. package/.next/standalone/docs-old/zh/agenteye/api-keys.mdx +280 -0
  862. package/.next/standalone/docs-old/zh/agenteye/assistant.mdx +63 -0
  863. package/.next/standalone/docs-old/zh/agenteye/audits.mdx +54 -0
  864. package/.next/standalone/docs-old/zh/agenteye/cli-and-agents.mdx +79 -0
  865. package/.next/standalone/docs-old/zh/agenteye/cli-recipes.mdx +179 -0
  866. package/.next/standalone/docs-old/zh/agenteye/cli-skill.mdx +159 -0
  867. package/.next/standalone/docs-old/zh/agenteye/cli.mdx +350 -0
  868. package/.next/standalone/docs-old/zh/agenteye/codex-capture.mdx +55 -0
  869. package/.next/standalone/docs-old/zh/agenteye/concepts.mdx +87 -0
  870. package/.next/standalone/docs-old/zh/agenteye/dashboards.mdx +46 -0
  871. package/.next/standalone/docs-old/zh/agenteye/error-tracking.mdx +40 -0
  872. package/.next/standalone/docs-old/zh/agenteye/evaluation-suite.mdx +300 -0
  873. package/.next/standalone/docs-old/zh/agenteye/evaluations.mdx +51 -0
  874. package/.next/standalone/docs-old/zh/agenteye/evaluator-skill.mdx +167 -0
  875. package/.next/standalone/docs-old/zh/agenteye/event-stream.mdx +50 -0
  876. package/.next/standalone/docs-old/zh/agenteye/hermes-capture.mdx +53 -0
  877. package/.next/standalone/docs-old/zh/agenteye/incidents.mdx +50 -0
  878. package/.next/standalone/docs-old/zh/agenteye/observability.mdx +23 -0
  879. package/.next/standalone/docs-old/zh/agenteye/openclaw-capture.mdx +49 -0
  880. package/.next/standalone/docs-old/zh/agenteye/overview.mdx +108 -0
  881. package/.next/standalone/docs-old/zh/agenteye/python-sdk-skill.mdx +131 -0
  882. package/.next/standalone/docs-old/zh/agenteye/python-sdk.mdx +433 -0
  883. package/.next/standalone/docs-old/zh/agenteye/queries.mdx +56 -0
  884. package/.next/standalone/docs-old/zh/agenteye/security.mdx +68 -0
  885. package/.next/standalone/docs-old/zh/agenteye/sessions.mdx +56 -0
  886. package/.next/standalone/docs-old/zh/agenteye/telemetry.mdx +52 -0
  887. package/.next/standalone/docs-old/zh/architecture.mdx +332 -0
  888. package/.next/standalone/docs-old/zh/built-in-policies.mdx +850 -0
  889. package/.next/standalone/docs-old/zh/cli/audit.mdx +115 -0
  890. package/.next/standalone/docs-old/zh/cli/dashboard.mdx +29 -0
  891. package/.next/standalone/docs-old/zh/cli/environment-variables.mdx +62 -0
  892. package/.next/standalone/docs-old/zh/cli/hook.mdx +30 -0
  893. package/.next/standalone/docs-old/zh/cli/install-policies.mdx +57 -0
  894. package/.next/standalone/docs-old/zh/cli/list-policies.mdx +31 -0
  895. package/.next/standalone/docs-old/zh/cli/migrate.mdx +86 -0
  896. package/.next/standalone/docs-old/zh/cli/remove-policies.mdx +43 -0
  897. package/.next/standalone/docs-old/zh/cli/update.mdx +65 -0
  898. package/.next/standalone/docs-old/zh/cli/version.mdx +12 -0
  899. package/.next/standalone/docs-old/zh/configuration.mdx +266 -0
  900. package/.next/standalone/docs-old/zh/custom-policies.mdx +358 -0
  901. package/.next/standalone/docs-old/zh/dashboard.mdx +151 -0
  902. package/.next/standalone/docs-old/zh/examples.mdx +307 -0
  903. package/.next/standalone/docs-old/zh/for-agents.mdx +38 -0
  904. package/.next/standalone/docs-old/zh/getting-started.mdx +199 -0
  905. package/.next/standalone/docs-old/zh/introduction.mdx +57 -0
  906. package/.next/standalone/docs-old/zh/package-aliases.mdx +82 -0
  907. package/.next/standalone/docs-old/zh/testing.mdx +260 -0
  908. package/.next/standalone/lib/telemetry.ts +45 -40
  909. package/.next/standalone/node_modules/@next/env/package.json +1 -1
  910. package/.next/standalone/node_modules/@swc/helpers/esm/_interop_require_default.js +4 -0
  911. package/.next/standalone/node_modules/@swc/helpers/esm/_interop_require_wildcard.js +36 -0
  912. package/.next/standalone/node_modules/@swc/helpers/package.json +703 -469
  913. package/.next/standalone/node_modules/next/dist/build/swc/index.js +1 -1
  914. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js +8 -6
  915. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/ppr-navigations.js +26 -20
  916. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js +2 -1
  917. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js +5 -2
  918. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js +2 -1
  919. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js +3 -1
  920. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/cache.js +150 -169
  921. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/navigation-testing-lock.js +16 -54
  922. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/navigation.js +115 -23
  923. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/optimistic-routes.js +61 -6
  924. package/.next/standalone/node_modules/next/dist/client/components/segment-cache/scheduler.js +53 -36
  925. package/.next/standalone/node_modules/next/dist/client/route-params.js +4 -8
  926. package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +26 -26
  927. package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +26 -26
  928. package/.next/standalone/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +2 -2
  929. package/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +9 -9
  930. package/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
  931. package/.next/standalone/node_modules/next/dist/lib/turbopack-cache-seed.js +15 -7
  932. package/.next/standalone/node_modules/next/dist/server/app-render/app-render.js +2 -0
  933. package/.next/standalone/node_modules/next/dist/server/app-render/dev-validation-worker-snapshot.js +2 -1
  934. package/.next/standalone/node_modules/next/dist/server/async-storage/request-store.js +29 -20
  935. package/.next/standalone/node_modules/next/dist/server/async-storage/work-store.js +1 -0
  936. package/.next/standalone/node_modules/next/dist/server/config.js +1 -1
  937. package/.next/standalone/node_modules/next/dist/server/dev/dev-validation-worker-pool.js +90 -11
  938. package/.next/standalone/node_modules/next/dist/server/dev/dev-validation-worker.js +51 -9
  939. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +24 -4
  940. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  941. package/.next/standalone/node_modules/next/dist/server/dev/use-cache-probe-worker.js +1 -0
  942. package/.next/standalone/node_modules/next/dist/server/image-optimizer.js +1 -0
  943. package/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  944. package/.next/standalone/node_modules/next/dist/server/lib/encode-header-safe.js +44 -0
  945. package/.next/standalone/node_modules/next/dist/server/lib/implicit-tags.js +3 -3
  946. package/.next/standalone/node_modules/next/dist/server/lib/patch-fetch.js +2 -2
  947. package/.next/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
  948. package/.next/standalone/node_modules/next/dist/server/use-cache/handlers.js +14 -0
  949. package/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-probe-scheduler.js +2 -1
  950. package/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-wrapper.js +100 -31
  951. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/adapters/headers.js +88 -2
  952. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/revalidate.js +12 -5
  953. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/unstable-cache.js +13 -1
  954. package/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  955. package/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  956. package/.next/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
  957. package/.next/standalone/node_modules/next/package.json +11 -11
  958. package/.next/standalone/package.json +10 -10
  959. package/.next/standalone/server.js +1 -1
  960. package/README.md +11 -11
  961. package/dist/cli.mjs +81 -101
  962. package/dist/worker.mjs +1 -1
  963. package/lib/telemetry.ts +45 -40
  964. package/package.json +10 -10
  965. package/scripts/release-announcement.mjs +686 -0
  966. package/scripts/translate-docs/config.ts +19 -1
  967. package/src/audit/cli.ts +64 -49
  968. package/src/hooks/hook-telemetry.ts +3 -2
  969. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g2rg69._.js +0 -3
  970. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0m98kzy._.js +0 -4
  971. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0v5_91z._.js +0 -4
  972. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1-a3135._.js +0 -4
  973. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1e5g_ur._.js +0 -4
  974. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1hmqefd._.js +0 -4
  975. package/.next/standalone/.next/server/chunks/ssr/_1nq-35m._.js +0 -23
  976. package/.next/standalone/.next/server/chunks/ssr/node_modules_1j2z5jb._.js +0 -3
  977. package/.next/standalone/.next/static/chunks/00q6cfzuzpc85.js +0 -1
  978. package/.next/standalone/.next/static/chunks/13--2yvqek_s1.js +0 -1
  979. package/.next/standalone/.next/static/chunks/18fqy3doo2ial.js +0 -6
  980. package/.next/standalone/.next/static/chunks/2ts65czrjjd_k.js +0 -31
  981. package/.next/standalone/.next/static/chunks/31orv9uidm1fn.js +0 -22
  982. package/.next/standalone/.next/static/chunks/3peix2vxzj7eh.js +0 -1
  983. package/.next/standalone/node_modules/next/dist/server/lib/encode-cache-tag.js +0 -45
  984. /package/.next/standalone/.next/static/{jSKB7CQQSNTX-uSbY2bUs → ZklXxyA5ygsWSQz2u_zii}/_buildManifest.js +0 -0
  985. /package/.next/standalone/.next/static/{jSKB7CQQSNTX-uSbY2bUs → ZklXxyA5ygsWSQz2u_zii}/_clientMiddlewareManifest.js +0 -0
  986. /package/.next/standalone/.next/static/{jSKB7CQQSNTX-uSbY2bUs → ZklXxyA5ygsWSQz2u_zii}/_ssgManifest.js +0 -0
@@ -0,0 +1,271 @@
1
+ ---
2
+ title: Configuration
3
+ description: "Format de fichier de configuration, système à trois niveaux et règles de fusion"
4
+ icon: gear
5
+ ---
6
+
7
+ failproofai utilise des fichiers de configuration JSON pour contrôler quelles politiques sont actives, comment elles se comportent, et où les politiques personnalisées sont chargées. La configuration est conçue pour être facilement partageable avec votre équipe — commitez-la dans votre dépôt et chaque développeur bénéficie du même filet de sécurité pour l'agent.
8
+
9
+ ---
10
+
11
+ ## Niveaux de configuration
12
+
13
+ Il existe trois niveaux de configuration, évalués par ordre de priorité :
14
+
15
+ | Niveau | Chemin du fichier | Objectif |
16
+ |--------|-------------------|---------|
17
+ | **project** | `.failproofai/policies-config.json` | Paramètres par dépôt, commités dans le contrôle de version |
18
+ | **local** | `.failproofai/policies-config.local.json` | Remplacements personnels par dépôt, ignorés par git |
19
+ | **global** | `~/.failproofai/policies-config.json` | Valeurs par défaut au niveau utilisateur pour tous les projets |
20
+
21
+ Lorsque failproofai reçoit un événement de hook, il charge et fusionne les trois fichiers qui existent pour le répertoire de travail courant.
22
+
23
+ ### Règles de fusion
24
+
25
+ **`enabledPolicies`** — union des trois niveaux. Une politique activée à n'importe quel niveau est active.
26
+
27
+ ```text
28
+ project: ["block-sudo"]
29
+ local: ["block-rm-rf"]
30
+ global: ["block-sudo", "sanitize-api-keys"]
31
+
32
+ resolved: ["block-sudo", "block-rm-rf", "sanitize-api-keys"] ← union dédoublonnée
33
+ ```
34
+
35
+ **`policyParams`** — le premier niveau qui définit des paramètres pour une politique donnée l'emporte entièrement. Il n'y a pas de fusion profonde des valeurs au sein des paramètres d'une politique.
36
+
37
+ ```text
38
+ project: block-sudo → { allowPatterns: ["sudo apt-get update"] }
39
+ global: block-sudo → { allowPatterns: ["sudo systemctl status"] }
40
+
41
+ resolved: { allowPatterns: ["sudo apt-get update"] } ← project l'emporte, global ignoré
42
+ ```
43
+
44
+ ```text
45
+ project: (aucune entrée block-sudo)
46
+ local: (aucune entrée block-sudo)
47
+ global: block-sudo → { allowPatterns: ["sudo systemctl status"] }
48
+
49
+ resolved: { allowPatterns: ["sudo systemctl status"] } ← remonte jusqu'au global
50
+ ```
51
+
52
+ **`customPoliciesPaths` / `customPoliciesPath`** — le premier niveau qui définit l'une ou l'autre forme l'emporte.
53
+
54
+ **`disabledCustomPolicies`** — union entre tous les niveaux. Le tableau de bord écrit un
55
+ identifiant qualifié par la source ici lorsque vous désactivez une politique individuelle depuis
56
+ un fichier de politiques explicite ou de convention. Les politiques non listées restent activées par
57
+ défaut ; les identifiants incluent le fichier source afin que les politiques de même nom dans plusieurs fichiers
58
+ puissent être contrôlées indépendamment.
59
+
60
+ **`llm`** — le premier niveau qui le définit l'emporte.
61
+
62
+ ---
63
+
64
+ ## Format du fichier de configuration
65
+
66
+ ```json
67
+ {
68
+ "enabledPolicies": [
69
+ "block-sudo",
70
+ "block-rm-rf",
71
+ "block-push-master",
72
+ "sanitize-api-keys",
73
+ "sanitize-jwt",
74
+ "block-env-files",
75
+ "block-read-outside-cwd"
76
+ ],
77
+ "policyParams": {
78
+ "block-sudo": {
79
+ "allowPatterns": ["sudo systemctl status", "sudo journalctl"]
80
+ },
81
+ "block-push-master": {
82
+ "protectedBranches": ["main", "release", "prod"]
83
+ },
84
+ "block-rm-rf": {
85
+ "allowPaths": ["/tmp"]
86
+ },
87
+ "block-read-outside-cwd": {
88
+ "allowPaths": ["/shared/data", "/opt/company"]
89
+ },
90
+ "sanitize-api-keys": {
91
+ "additionalPatterns": [
92
+ { "regex": "myco_[A-Za-z0-9]{32}", "label": "MyCo API key" }
93
+ ]
94
+ },
95
+ "warn-large-file-write": {
96
+ "thresholdKb": 512
97
+ }
98
+ },
99
+ "customPoliciesPath": "/home/alice/myproject/my-policies.js"
100
+ }
101
+ ```
102
+
103
+ ---
104
+
105
+ ## Référence des champs
106
+
107
+ ### `enabledPolicies`
108
+
109
+ Type : `string[]`
110
+
111
+ Liste des noms de politiques à activer. Les noms doivent correspondre exactement aux identifiants de politique affichés par `failproofai policies`. Consultez [Politiques intégrées](/fr/built-in-policies) pour la liste complète.
112
+
113
+ Les politiques absentes de `enabledPolicies` sont inactives, même si elles ont des entrées dans `policyParams`.
114
+
115
+ ### `policyParams`
116
+
117
+ Type : `Record<string, Record<string, unknown>>`
118
+
119
+ Remplacements de paramètres par politique. La clé externe est le nom de la politique ; les clés internes sont spécifiques à chaque politique. Chaque politique documente ses paramètres disponibles dans [Politiques intégrées](/fr/built-in-policies).
120
+
121
+ Si une politique possède des paramètres mais que vous ne les spécifiez pas, les valeurs par défaut intégrées de la politique sont utilisées. Les utilisateurs qui ne configurent pas du tout `policyParams` obtiennent un comportement identique aux versions précédentes.
122
+
123
+ Les clés inconnues dans le bloc de paramètres d'une politique sont silencieusement ignorées au moment du déclenchement du hook, mais signalées comme avertissements lors de l'exécution de `failproofai policies`.
124
+
125
+ #### `hint` (transversal)
126
+
127
+ Type : `string` (optionnel)
128
+
129
+ Un message ajouté à la raison lorsqu'une politique retourne `deny` ou `instruct`. Utilisez-le pour donner à Claude des instructions exploitables sans modifier la politique elle-même.
130
+
131
+ Fonctionne avec n'importe quel type de politique — intégrée, personnalisée (`custom/`), convention de projet (`.failproofai-project/`) ou convention utilisateur (`.failproofai-user/`).
132
+
133
+ ```json
134
+ {
135
+ "policyParams": {
136
+ "block-force-push": {
137
+ "hint": "Try creating a fresh branch instead."
138
+ },
139
+ "block-sudo": {
140
+ "allowPatterns": ["sudo apt-get"],
141
+ "hint": "Use apt-get directly without sudo."
142
+ },
143
+ "custom/my-policy": {
144
+ "hint": "Ask the user for approval first."
145
+ }
146
+ }
147
+ }
148
+ ```
149
+
150
+ Lorsque `block-force-push` refuse, Claude voit : *« Les push forcés sont bloqués. Try creating a fresh branch instead. »*
151
+
152
+ Les valeurs non-chaînes et les chaînes vides sont silencieusement ignorées. Si `hint` n'est pas défini, le comportement est inchangé (rétrocompatible).
153
+
154
+ ### `customPoliciesPath`
155
+
156
+ Type : `string` (chemin absolu)
157
+
158
+ Chemin vers un fichier JavaScript contenant des politiques de hook personnalisées. Ce champ est défini automatiquement par `failproofai policies --install --custom <path>` (le chemin est résolu en chemin absolu avant d'être enregistré).
159
+
160
+ Le fichier est rechargé à chaque événement de hook — il n'y a pas de mise en cache. Consultez [Politiques personnalisées](/fr/custom-policies) pour les détails de création.
161
+
162
+ ### Politiques basées sur les conventions
163
+
164
+ En plus du `customPoliciesPath` explicite, failproofai découvre et charge automatiquement les fichiers de politiques depuis les répertoires `.failproofai/policies/` :
165
+
166
+ | Niveau | Répertoire | Portée |
167
+ |--------|------------|--------|
168
+ | Projet | `.failproofai/policies/` | Partagé avec l'équipe via le contrôle de version |
169
+ | Utilisateur | `~/.failproofai/policies/custom-policies/` | Personnel, s'applique à tous les projets |
170
+
171
+ <Note>
172
+ Le répertoire de niveau utilisateur a été déplacé d'un niveau dans la
173
+ réorganisation du répertoire personnel. Les fichiers laissés à l'ancien emplacement `~/.failproofai/policies/` sont déplacés
174
+ automatiquement dans `custom-policies/` la première fois que vous exécutez une commande `failproofai`
175
+ après la mise à niveau, et la commande vous indique les fichiers déplacés.
176
+ </Note>
177
+
178
+ **Correspondance de fichiers :** Seuls les fichiers correspondant à `*policies.{js,mjs,ts}` sont chargés (ex. : `security-policies.mjs`, `workflow-policies.js`). Les autres fichiers du répertoire sont ignorés.
179
+
180
+ **Aucune configuration requise :** Les politiques de convention ne nécessitent aucune entrée dans `policies-config.json`. Déposez simplement des fichiers dans le répertoire et ils seront pris en compte au prochain événement de hook.
181
+
182
+ **Chargement par union :** Les répertoires de convention du projet et de l'utilisateur sont tous deux analysés. Tous les fichiers correspondants des deux niveaux sont chargés (contrairement à `customPoliciesPath` qui utilise le premier niveau gagnant).
183
+
184
+ Consultez [Politiques personnalisées](/fr/custom-policies) pour plus de détails et d'exemples.
185
+
186
+ ### `llm`
187
+
188
+ Type : `object` (optionnel)
189
+
190
+ Configuration du client LLM pour les politiques qui effectuent des appels IA. Non requis pour la plupart des configurations.
191
+
192
+ ```json
193
+ {
194
+ "llm": {
195
+ "model": "claude-sonnet-4-6",
196
+ "apiKey": "sk-ant-..."
197
+ }
198
+ }
199
+ ```
200
+
201
+ ---
202
+
203
+ ## Gestion de la configuration depuis la CLI
204
+
205
+ Les commandes `policies --install` et `policies --uninstall` écrivent dans le fichier de paramètres de hooks de votre CLI d'agent (les points d'entrée du hook), tandis que `policies-config.json` est le fichier que vous gérez directement. Les deux sont distincts :
206
+
207
+ - **Paramètres de la CLI d'agent** — indique à l'agent d'appeler `failproofai --hook <event>` à chaque utilisation d'outil :
208
+ - **Claude Code** : `~/.claude/settings.json` (utilisateur), `<cwd>/.claude/settings.json` (projet), `<cwd>/.claude/settings.local.json` (local)
209
+ - **OpenAI Codex** : `~/.codex/hooks.json` (utilisateur), `<cwd>/.codex/hooks.json` (projet) — Codex n'a pas de portée `local`
210
+ - **GitHub Copilot CLI _(bêta)_** : `~/.copilot/hooks/failproofai.json` (utilisateur), `<cwd>/.github/hooks/failproofai.json` (projet) — Copilot n'a pas de portée `local`. Les entrées de hook utilisent les champs de commande `bash`/`powershell` à clé OS de Copilot avec `timeoutSec` ; le fichier porte un marqueur `version: 1` au niveau supérieur. La prise en charge de Copilot CLI est en **bêta** pendant que nous vérifions le schéma d'enregistrement `events.jsonl` (non spécifié dans la documentation publique) contre davantage de sessions réelles. **VS Code Copilot Chat en mode agent (Prévisualisation)** lit les configurations de hooks depuis `.github/hooks/*.json`, `~/.copilot/hooks/*.json` et `~/.claude/settings.json` (régi par le paramètre `chat.hookFilesLocations`) en utilisant le même contrat Claude `{hookSpecificOutput:{permissionDecision:"deny",…}}` — exactement les chemins que cette intégration `copilot` et l'intégration `claude` (`~/.claude/settings.json`) écrivent déjà, donc `failproofai policies --install --cli copilot` (ou `--cli claude`) **applique déjà les politiques en mode agent VS Code** sans intégration `vscode` séparée (confirmé en direct depuis les journaux de découverte VS Code).
211
+ - **Cursor Agent _(bêta)_** : `~/.cursor/hooks.json` (utilisateur), `<cwd>/.cursor/hooks.json` (projet) — Cursor n'a pas de portée `local`. Les entrées de hook utilisent la forme Claude `{type, command, timeout}` (sans séparation `bash`/`powershell`), mais stockées sous des clés d'événement en camelCase (`preToolUse`, `beforeSubmitPrompt`, …) dans un tableau plat selon le [schéma de hooks](https://cursor.com/docs/hooks) de Cursor ; le fichier porte un marqueur `version: 1` au niveau supérieur. Le gestionnaire canonicalise camelCase → PascalCase via `CURSOR_EVENT_MAP` afin que les politiques intégrées existantes se déclenchent sans modification. La prise en charge de Cursor Agent est en **bêta** pendant que nous vérifions le format de transcription sur disque de Cursor (non spécifié dans la documentation publique) contre davantage d'installations réelles.
212
+ - **OpenCode _(bêta)_** : `~/.config/opencode/opencode.json` + `~/.config/opencode/plugins/failproofai.mjs` (utilisateur), `<cwd>/.opencode/opencode.json` + `<cwd>/.opencode/plugins/failproofai.mjs` (projet) — OpenCode n'a pas de portée `local`. Contrairement aux cinq autres CLIs, OpenCode **n'a pas de système de hooks par commande externe** : il charge des plugins JS/TS en cours de processus explicitement enregistrés via le tableau `plugin: []` dans `opencode.json` (la découverte automatique depuis `.opencode/plugins/` **n'est pas** la façon dont les plugins se chargent sur opencode v1.14.33). L'installation dépose un petit shim de plugin généré qui appelle le binaire failproofai en sous-processus et traduit la réponse JSON de forme Claude du binaire en sémantique de plugin : `throw new Error()` pour le refus d'événement d'outil (annule l'appel d'outil), `client.session.prompt(...)` pour instruct ET pour le refus `Stop` / `SubagentStop` (soumet la raison du refus comme prochain message utilisateur — le seul canal de forçage de relance puisque `session.idle` est en lecture seule et que lever une exception depuis celui-ci est un no-op), et no-op pour allow. Le shim canonicalise à la fois les noms d'outils (minuscules → PascalCase via `OPENCODE_TOOL_MAP`) et les clés d'arguments d'entrée d'outil (camelCase → snake_case via `OPENCODE_TOOL_INPUT_MAP` pour `Read` / `Write` / `Edit`, ex. `filePath` → `file_path`, `oldString` → `old_string`) avant de transmettre au binaire, afin que les politiques intégrées de vérification de chemin comme `block-read-outside-cwd`, `block-env-files` et `block-secrets-write` se déclenchent sans modification sur les appels d'outils OpenCode. Les sessions vivent dans la base de données SQLite d'opencode à `~/.local/share/opencode/opencode.db` ; le visualiseur de sessions du tableau de bord les lit via `opencode db --format json` et `opencode export <id>`. La prise en charge d'OpenCode est en **bêta** pendant que nous vérifions le comportement entre les versions et contre davantage de sessions réelles. Consultez la [documentation des plugins OpenCode](https://opencode.ai/docs/plugins/).
213
+ - **Pi _(bêta)_** : `~/.pi/agent/settings.json` (utilisateur), `<cwd>/.pi/settings.json` (projet) — Pi n'a pas de portée `local`. Pi charge des packages d'extension TypeScript au démarrage ; le fichier de paramètres est un tableau de chaînes plat `{"packages": ["./relative/path", …]}`. failproofai écrit une seule entrée dans le tableau packages pointant vers son répertoire `pi-extension/` intégré. L'extension s'abonne en interne aux événements `tool_call` / `user_bash` / `input` / `session_start` de Pi et exécute `failproofai --hook <Event> --cli pi` dans un shell ; le gestionnaire canonicalise underscore_lower_snake_case → PascalCase via `PI_EVENT_MAP` afin que les politiques intégrées existantes se déclenchent sans modification. Les arguments d'entrée d'outil sont également canonicalisés via `PI_TOOL_INPUT_MAP` (les outils Read / Write / Edit de Pi fournissent `path` plutôt que `file_path` ; mapper la clé de niveau supérieur permet à `block-env-files` et `block-secrets-write` de se déclencher — `block-read-outside-cwd` avait déjà un fallback `path`). La prise en charge de Pi est en **bêta** pendant que l'API d'extension de Pi et la disposition des journaux de session se stabilisent.
214
+ - **Hermes (hermes-agent)** : `~/.hermes/config.yaml` (**portée utilisateur uniquement** — Hermes n'a pas de configuration projet/local). Hermes est une **passerelle** Slack/Telegram, donc une seule installation intercepte les appels d'outils de chaque plateforme (Slack/Telegram/cli/cron) **et** les sous-agents internes. Les entrées de hook sont une paire `{command, timeout}` (timeout en **secondes**) sous une map `hooks:` à clé par les événements snake_case de Hermes (`pre_tool_call` / `post_tool_call` / `on_session_start` / `on_session_end` / `subagent_stop`) ; le gestionnaire canonicalise les événements via `HERMES_EVENT_MAP` et les noms d'outils via `HERMES_TOOL_MAP` afin que les politiques intégrées se déclenchent sans modification. La configuration est modifiée via un aller-retour YAML `Document` préservant les commentaires afin que les autres paramètres de l'opérateur survivent, et l'installation définit `hooks_auto_accept: true` afin que la passerelle sans tête (pas de TTY) exécute les hooks sans invite de consentement. L'évaluateur émet le contrat stdout `{"decision":"block","reason"}` de Hermes (Hermes ignore les codes de sortie). **Limitations :** Hermes n'a pas d'événement `Stop` de fin de tour, donc les politiques intégrées `require-*-before-stop` ne se déclenchent jamais pour lui (non applicable, pas cassé) ; `instruct` se dégrade en allow-avec-note-journalisée (pas de canal de contexte supplémentaire) ; et la suppression des secrets en sortie (`sanitize-*`) ne peut pas réécrire la sortie d'outil via le contrat de hook shell. Hermes est **également** une source d'**audit** hors ligne — le tableau de bord lit ses sessions de passerelle directement depuis `~/.hermes/state.db`.
215
+ - **OpenClaw (passerelle openclaw)** : `~/.openclaw/openclaw.json` (**portée utilisateur uniquement** — OpenClaw n'a pas de configuration projet/local). Comme Hermes, OpenClaw est une **passerelle** multi-canal auto-hébergée, donc une seule installation intercepte les appels d'outils de chaque canal et ses sous-agents internes. L'application des politiques passe par les **hooks de plugin en cours de processus** d'OpenClaw (ses hooks internes basés sur des fichiers sont en observation uniquement et ne peuvent pas bloquer), donc — comme OpenCode/Pi — failproofai livre un package `openclaw-plugin/` statique qui lance le binaire failproofai de manière asynchrone et traduit le verdict. L'installation enregistre le répertoire du plugin livré dans `plugins.load.paths[]` de `openclaw.json` et l'active sous `plugins.entries.failproofai` (avec `hooks.allowConversationAccess: true`, requis pour les hooks de conversation brute). L'évaluateur émet un verdict plat `{permission, reason}` et le shim le mappe à la forme de retour native de chaque hook : `before_tool_call → {block:true, blockReason}` (**PreToolUse**), `before_agent_run → {outcome:"block", reason}` (**UserPromptSubmit**), et `before_agent_finalize → {action:"revise", reason}` (**Stop** — une vraie porte de fin de tour, donc les politiques intégrées `require-*-before-stop` **s'appliquent** sur OpenClaw, contrairement à Hermes). Les événements et les noms d'outils se canonicalisent côté binaire via `OPENCLAW_EVENT_MAP` / `OPENCLAW_TOOL_MAP` (`exec→Bash`, `read→Read`, …) afin que les politiques intégrées se déclenchent sans modification ; le shim échoue ouvert en cas d'erreur de spawn/parse/timeout. OpenClaw est **également** une source d'**audit** hors ligne — le tableau de bord lit ses sessions JSONL à `~/.openclaw/agents/<agentId>/sessions/<uuid>.jsonl`.
216
+ - **Factory Droid (`droid`)** : `~/.factory/hooks.json` (utilisateur), `<cwd>/.factory/hooks.json` (projet) — Factory n'a pas de portée `local`. droid livre un système de hook par commande externe de style Claude, mais avec deux particularités vérifiées en direct contre droid v0.171.0 : (1) les noms d'événements se trouvent au **niveau supérieur** de `hooks.json` — il n'y a **pas d'enveloppe `"hooks"`** (droid la rejette) ; les événements d'outil (`PreToolUse`/`PostToolUse`) portent `"matcher": "*"`, les événements non-outil l'omettent. (2) Le refus est piloté par le **code de sortie 2 + stderr** du hook, pas par une décision JSON — la branche `factory` de l'évaluateur retourne le code de sortie 2 pour les événements d'outil/prompt et `{decision:"block", reason}` uniquement sur l'événement de fin de tour `Stop` (le seul canal de forçage de relance de droid). Les événements sont déjà en PascalCase (pas de map d'événements) et le payload est en snake_case Claude ; seuls les noms d'outils sont canonicalisés via `FACTORY_TOOL_MAP` (`Execute→Bash`, `Create→Write`, `FetchUrl→WebFetch`, …). Factory est **également** une source d'**audit** hors ligne — le tableau de bord lit ses sessions JSONL sur disque à `~/.factory/sessions/<encoded-cwd>/<sessionId>.jsonl`.
217
+ - **Devin CLI (`devin`, Cognition)** : `~/.config/devin/config.json` (utilisateur), `<cwd>/.devin/config.json` (projet) — Devin n'a pas de portée `local`. Devin est un **clone pur de Claude** vérifié en direct contre devin v3000.1.27 : il utilise le schéma standard Claude avec enveloppe `"hooks"` (les écritures préservent la fusion afin que les autres clés du fichier de configuration — `org_id`, `theme_mode`, … — survivent), des noms d'événements déjà en PascalCase (pas de map d'événements, pas de branche de gestionnaire), et un payload stdin snake_case Claude (pas de normalisation). La branche `devin` de l'évaluateur refuse avec `{"decision":"block","reason"}` JSON sur stdout au code de sortie 0 pour **chaque** événement (vérifié — le bloc a surchargé `--permission-mode dangerous`) ; sur l'événement de fin de tour `Stop`, la raison porte le libellé de forçage de relance MANDATORY-ACTION afin que les politiques intégrées `require-*-before-stop` s'appliquent. Seuls les noms d'outils sont canonicalisés via `DEVIN_TOOL_MAP` (`exec→Bash` ; `tool_input.command` est déjà canonique). Devin est **également** une source d'**audit** hors ligne — le tableau de bord lit ses sessions SQLite à `~/.local/share/devin/cli/sessions.db` (chaque ligne `sessions` porte un vrai `working_directory`, donc les sessions se regroupent par cwd de projet comme Claude).
218
+ - **Antigravity CLI (`agy`)** : `~/.gemini/config/hooks.json` (utilisateur), `<cwd>/.agents/hooks.json` (projet) — Antigravity n'a pas de portée `local`. Contrairement à Factory/Devin, Antigravity a son **propre** contrat (pas un clone de Claude), vérifié en direct contre agy v1.1.2. `hooks.json` utilise un schéma de **hook nommé** : la clé de niveau supérieur est un *nom* de hook (`"failproofai"`) dont la valeur est une map événement→gestionnaires — les événements d'outil (`PreToolUse`/`PostToolUse`) enveloppent les gestionnaires dans `{matcher:"*", hooks:[…]}`, tandis que `PreInvocation`/`Stop` sont des **tableaux plats** de gestionnaires (les autres hooks nommés sont préservés). Le payload stdin est du **protojson en camelCase** (`toolCall:{name,args}`, `conversationId`, `workspacePaths`, `transcriptPath`) — failproofai le normalise en snake_case avant l'exécution des politiques, et mappe les args PascalCase de `run_command` (`CommandLine`/`Cwd`) via `ANTIGRAVITY_TOOL_INPUT_MAP`. La branche `antigravity` de l'évaluateur utilise les **propres** formes de réponse d'Antigravity : `{decision:"deny", reason}` bloque un outil/prompt (code de sortie 0), `{decision:"continue", reason}` sur l'événement de fin de tour `Stop` relance la boucle (donc les politiques intégrées `require-*-before-stop` s'appliquent), et `{injectSteps:[{ephemeralMessage}]}` injecte une instruction sur `PreInvocation` (→ `UserPromptSubmit`). Les noms d'outils se canonicalisent via `ANTIGRAVITY_TOOL_MAP` (`run_command→Bash`, `view_file→Read`, …). Antigravity est **également** une source d'**audit** hors ligne — le tableau de bord lit ses transcriptions JSONL brutes à `~/.gemini/antigravity-cli/brain/<conversationId>/.system_generated/logs/transcript_full.jsonl` (index de conversation dans `conversation_summaries.db`).
219
+ - **Goose (nom de code goose, Block)** : `~/.agents/plugins/failproofai/hooks/hooks.json` (utilisateur), `<cwd>/.agents/plugins/failproofai/hooks/hooks.json` (projet) — Goose n'a pas de portée `local`. L'application des politiques utilise le système de **hooks** de Goose, la spécification **Open Plugins** multi-agents : l'installateur dépose simplement le répertoire du plugin `failproofai` et Goose le découvre automatiquement au démarrage (en l'auto-enregistrant dans `~/.config/goose/config.yaml`). Le `hooks.json` utilise un schéma Open Plugins **avec** une enveloppe `"hooks"` au niveau supérieur, et le matcher est **omis** sur chaque événement — un `"*"` nu est une regex invalide qui ne correspond à rien (vérifié en direct contre goose v1.43.0). Les noms d'événements sont déjà en PascalCase (pas de map d'événements) ; le payload stdin utilise `event`/`working_dir`, que le gestionnaire normalise en `hook_event_name`/`cwd`. La branche `goose` de l'évaluateur refuse avec `{"decision":"block","reason"}` JSON sur stdout au code de sortie 0, honoré sur l'événement **`PreToolUse`** uniquement (livré dans goose ≥ v1.37.0) — qui se déclenche pour l'outil shell **et à l'intérieur des sous-agents délégués**, en faisant le seul point de refus suffisant ; toute autre erreur de hook échoue **ouvert**. Goose **n'a pas d'événement `Stop`**, donc les politiques intégrées `require-*-before-stop` ne s'appliquent pas (comme avec Hermes). Les noms d'outils se canonicalisent via `GOOSE_TOOL_MAP` (`shell→Bash`, `write→Write`, `todo__todo_write→TodoWrite`, …) et les clés de chemin via `GOOSE_TOOL_INPUT_MAP` (`path`/`source` → `file_path`). Goose est **également** une source d'**audit** hors ligne — le tableau de bord lit ses sessions SQLite à `~/.local/share/goose/sessions/sessions.db` (chaque ligne `sessions` porte un vrai `working_dir`, donc les sessions se regroupent par cwd de projet comme Devin ; les exécutions scratch `--no-session` sont filtrées).
220
+ - **`policies-config.json`** — indique à failproofai quelles politiques évaluer et avec quels paramètres (partagé entre toutes les CLIs d'agent)
221
+
222
+ Passez `--cli claude|codex|copilot|cursor|opencode|pi|hermes|openclaw|factory|devin|antigravity|goose` pour cibler un agent spécifique (séparé par des espaces ou répété pour tout sous-ensemble) :
223
+
224
+ ```bash
225
+ failproofai policies --install --cli codex --scope project
226
+ failproofai policies --install --cli copilot --scope project
227
+ failproofai policies --install --cli cursor --scope project
228
+ failproofai policies --install --cli opencode --scope project
229
+ failproofai policies --install --cli pi --scope project
230
+ failproofai policies --install --cli hermes --scope user
231
+ failproofai policies --install --cli openclaw --scope user
232
+ failproofai policies --install --cli factory --scope project
233
+ failproofai policies --install --cli devin --scope project
234
+ failproofai policies --install --cli antigravity --scope project
235
+ failproofai policies --install --cli goose --scope project
236
+ failproofai policies --install --cli claude codex copilot cursor opencode pi hermes openclaw factory devin antigravity goose
237
+ ```
238
+
239
+ Lorsque `--cli` est omis, `failproofai` détecte les CLIs d'agent installées (`which claude` / `which codex` / `which copilot` / `which cursor-agent` / `which opencode` / `which pi` / `which hermes` / `which openclaw` / `which droid` / `which devin` / `which agy` / `which goose`) :
240
+
241
+ - **Une CLI détectée** — sélectionne automatiquement cette CLI sans demande de confirmation.
242
+ - **Plusieurs CLIs détectées** dans un terminal interactif — affiche une invite de sélection unique par flèches groupée en une section `Detected (N)` (avec une ligne agrégée `Install for all N detected` + chaque CLI détectée individuellement) et une section `Not installed (M) · install hooks ahead of time` listant toutes les CLIs prises en charge non détectées comme option d'installation anticipée (↑↓ pour déplacer, Entrée pour sélectionner, ^C pour quitter). Le flux de désinstallation n'affiche que la section Detected.
243
+ - **Plusieurs CLIs détectées** lors d'une exécution non interactive (CI, pas de TTY) — installe pour toutes les CLIs détectées sans demande de confirmation.
244
+ - **Aucune détectée** — revient à `claude`, avec un avertissement qu'aucun binaire d'agent n'a été trouvé dans PATH ; la commande de hook est quand même écrite afin qu'elle s'active dès que vous en installez une.
245
+
246
+ Vous pouvez modifier `policies-config.json` directement à tout moment ; les modifications prennent effet immédiatement au prochain événement de hook, sans redémarrage nécessaire.
247
+
248
+ ---
249
+
250
+ ## Exemple : configuration au niveau projet avec des valeurs par défaut d'équipe
251
+
252
+ Commitez `.failproofai/policies-config.json` dans votre dépôt :
253
+
254
+ ```json
255
+ {
256
+ "enabledPolicies": [
257
+ "block-sudo",
258
+ "block-rm-rf",
259
+ "block-push-master",
260
+ "sanitize-api-keys",
261
+ "block-env-files"
262
+ ],
263
+ "policyParams": {
264
+ "block-push-master": {
265
+ "protectedBranches": ["main", "release", "hotfix"]
266
+ }
267
+ }
268
+ }
269
+ ```
270
+
271
+ Chaque développeur peut ensuite créer `.failproofai/policies-config.local.json` (ignoré par git) pour ses remplacements personnels sans affecter ses coéquipiers.
@@ -0,0 +1,358 @@
1
+ ---
2
+ title: Politiques personnalisées
3
+ description: "Écrivez vos propres politiques en JavaScript - appliquez des conventions, prévenez la dérive, détectez les échecs, intégrez des systèmes externes"
4
+ icon: code
5
+ ---
6
+
7
+ Les politiques personnalisées vous permettent d'écrire des règles pour n'importe quel comportement d'agent : appliquer des conventions de projet, prévenir la dérive, bloquer les opérations destructives, détecter les agents bloqués, ou intégrer Slack, des workflows d'approbation, et plus encore. Elles utilisent le même système d'événements de hook et les mêmes décisions `allow`, `deny`, `instruct` que les politiques intégrées.
8
+
9
+ ---
10
+
11
+ ## Exemple rapide
12
+
13
+ ```js
14
+ // my-policies.js
15
+ import { customPolicies, allow, deny, instruct } from "failproofai";
16
+
17
+ customPolicies.add({
18
+ name: "no-production-writes",
19
+ description: "Block writes to paths containing 'production'",
20
+ match: { events: ["PreToolUse"] },
21
+ fn: async (ctx) => {
22
+ if (ctx.toolName !== "Write" && ctx.toolName !== "Edit") return allow();
23
+ const path = ctx.toolInput?.file_path ?? "";
24
+ if (path.includes("production")) {
25
+ return deny("Writes to production paths are blocked");
26
+ }
27
+ return allow();
28
+ },
29
+ });
30
+ ```
31
+
32
+ Installez-la :
33
+
34
+ ```bash
35
+ failproofai policies --install --custom ./my-policies.js
36
+ ```
37
+
38
+ ---
39
+
40
+ ## Deux façons de charger des politiques personnalisées
41
+
42
+ ### Option 1 : Basée sur les conventions (recommandée)
43
+
44
+ Déposez des fichiers `*policies.{js,mjs,ts}` dans `.failproofai/policies/` et ils sont automatiquement chargés — aucun indicateur ni modification de configuration nécessaire. Cela fonctionne comme les hooks git : déposez un fichier, ça marche tout de suite.
45
+
46
+ ```
47
+ # Niveau projet — commité dans git, partagé avec l'équipe
48
+ .failproofai/policies/security-policies.mjs
49
+ .failproofai/policies/workflow-policies.mjs
50
+
51
+ # Niveau utilisateur — personnel, s'applique à tous les projets
52
+ ~/.failproofai/policies/my-policies.mjs
53
+ ```
54
+
55
+ **Comment ça fonctionne :**
56
+ - Les répertoires projet et utilisateur sont tous les deux analysés (union — pas de priorité par portée)
57
+ - Les fichiers sont chargés par ordre alphabétique dans chaque répertoire. Préfixez avec `01-`, `02-` pour contrôler l'ordre
58
+ - Seuls les fichiers correspondant à `*policies.{js,mjs,ts}` sont chargés ; les autres fichiers sont ignorés
59
+ - Chaque fichier est chargé indépendamment (fail-open par fichier)
60
+ - Fonctionne avec les options explicites `--custom` et les politiques intégrées
61
+
62
+ <Tip>
63
+ Les politiques basées sur les conventions sont le moyen le plus simple d'établir un standard de qualité pour votre organisation. Commitez `.failproofai/policies/` dans git et chaque membre de l'équipe obtient automatiquement les mêmes règles — aucune configuration par développeur requise. Au fil de la découverte de nouveaux modes d'échec, ajoutez une politique et poussez. Ces politiques deviennent progressivement un standard de qualité vivant qui s'améliore à chaque contribution.
64
+ </Tip>
65
+
66
+ ### Option 2 : Chemin de fichier explicite
67
+
68
+ ```bash
69
+ # Installer avec un fichier de politiques personnalisées
70
+ failproofai policies --install --custom ./my-policies.js
71
+
72
+ # Remplacer les chemins de politiques personnalisées
73
+ failproofai policies --install --custom ./new-policies.js
74
+
75
+ # Configurer plusieurs fichiers explicites (chargés dans l'ordre des indicateurs)
76
+ failproofai policies --install --custom ./security.js --custom ./workflow.js
77
+
78
+ # Supprimer tous les chemins de politiques personnalisées explicites de la configuration
79
+ failproofai policies --uninstall --custom
80
+ ```
81
+
82
+ Les chemins absolus résolus sont stockés dans `policies-config.json` sous `customPoliciesPaths`. Répétez `--custom` pour configurer plusieurs fichiers. Les configurations existantes utilisant le champ hérité `customPoliciesPath` continuent de fonctionner. Les fichiers sont rechargés à chaque événement de hook - il n'y a pas de mise en cache entre les événements.
83
+
84
+ Chaque politique enregistrée apparaît avec son propre bouton de bascule dans le tableau de bord. Désactiver une politique enregistre son ID qualifié par la source dans `disabledCustomPolicies` ; le fichier et ses autres politiques continuent de se charger, tandis que la politique désactivée est exclue avant la correspondance d'événement. Les noms de politiques dupliqués entre fichiers ont des boutons de bascule indépendants.
85
+
86
+ ### Utiliser les deux ensemble
87
+
88
+ Les politiques basées sur les conventions et les fichiers `--custom` explicites peuvent coexister. Ordre de chargement :
89
+
90
+ 1. Fichiers `customPoliciesPaths` explicites (dans l'ordre configuré)
91
+ 2. Fichiers de convention du projet (`{cwd}/.failproofai/policies/`, ordre alphabétique)
92
+ 3. Fichiers de convention utilisateur (`~/.failproofai/policies/`, ordre alphabétique)
93
+
94
+ ---
95
+
96
+ ## API
97
+
98
+ ### Import
99
+
100
+ ```js
101
+ import { customPolicies, allow, deny, instruct } from "failproofai";
102
+ ```
103
+
104
+ ### `customPolicies.add(hook)`
105
+
106
+ Enregistre une politique. Appelez cette fonction autant de fois que nécessaire pour plusieurs politiques dans le même fichier.
107
+
108
+ ```ts
109
+ customPolicies.add({
110
+ name: string; // requis - identifiant unique
111
+ description?: string; // affiché dans la sortie de `failproofai policies`
112
+ match?: { events?: HookEventType[] }; // filtrer par type d'événement ; omettez pour tout correspondre
113
+ fn: (ctx: PolicyContext) => PolicyResult | Promise<PolicyResult>;
114
+ });
115
+ ```
116
+
117
+ ### Fonctions d'aide aux décisions
118
+
119
+ | Fonction | Effet | Utiliser quand |
120
+ |----------|--------|----------|
121
+ | `allow()` | Autorise l'opération silencieusement | L'action est sûre, aucun message nécessaire |
122
+ | `deny(message)` | Bloque l'opération | L'agent ne devrait pas effectuer cette action |
123
+ | `instruct(message)` | Ajoute du contexte sans bloquer | Donner à l'agent un contexte supplémentaire pour rester sur la bonne voie |
124
+
125
+ `deny(message)` - le message apparaît à Claude préfixé par `"Blocked by failproofai:"`. Un seul `deny` court-circuite toute évaluation ultérieure.
126
+
127
+ `instruct(message)` - le message est ajouté au contexte de Claude pour l'appel d'outil en cours. Tous les messages `instruct` sont accumulés et délivrés ensemble.
128
+
129
+ <Tip>
130
+ Vous pouvez ajouter des indications supplémentaires à n'importe quel message `deny` ou `instruct` en ajoutant un champ `hint` dans `policyParams` — aucune modification de code nécessaire. Cela fonctionne également pour les politiques personnalisées (`custom/`), les conventions de projet (`.failproofai-project/`) et les conventions utilisateur (`.failproofai-user/`). Consultez [Configuration → hint](/fr/configuration#hint-cross-cutting) pour plus de détails.
131
+ </Tip>
132
+
133
+ ### Messages d'autorisation informatifs
134
+
135
+ `allow(message)` autorise l'opération **et** envoie un message informatif à Claude. Le message est délivré sous forme de `additionalContext` dans la réponse stdout du gestionnaire de hook — le même mécanisme utilisé par `instruct`, mais sémantiquement différent : c'est une mise à jour de statut, pas un avertissement.
136
+
137
+ | Fonction | Effet | Utiliser quand |
138
+ |----------|--------|----------|
139
+ | `allow(message)` | Autorise et envoie du contexte à Claude | Confirmer qu'une vérification a réussi, ou expliquer pourquoi une vérification a été ignorée |
140
+
141
+ Cas d'utilisation :
142
+ - **Confirmations de statut :** `allow("All CI checks passed.")` — indique à Claude que tout est en ordre
143
+ - **Explications fail-open :** `allow("GitHub CLI not installed, skipping CI check.")` — indique à Claude pourquoi une vérification a été ignorée afin qu'il dispose du contexte complet
144
+ - **Accumulation de messages :** si plusieurs politiques retournent chacune `allow(message)`, tous les messages sont joints avec des sauts de ligne et délivrés ensemble
145
+
146
+ ```js
147
+ customPolicies.add({
148
+ name: "confirm-branch-status",
149
+ match: { events: ["Stop"] },
150
+ fn: async (ctx) => {
151
+ const cwd = ctx.session?.cwd;
152
+ if (!cwd) return allow("No working directory, skipping branch check.");
153
+
154
+ // ... check branch status ...
155
+ if (allPushed) {
156
+ return allow("Branch is up to date with remote.");
157
+ }
158
+ return deny("Unpushed changes detected.");
159
+ },
160
+ });
161
+ ```
162
+
163
+ ### Champs de `PolicyContext`
164
+
165
+ | Champ | Type | Description |
166
+ |-------|------|-------------|
167
+ | `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
168
+ | `toolName` | `string \| undefined` | L'outil appelé (ex. `"Bash"`, `"Write"`, `"Read"`) |
169
+ | `toolInput` | `Record<string, unknown> \| undefined` | Les paramètres d'entrée de l'outil |
170
+ | `payload` | `Record<string, unknown>` | Charge utile brute complète de l'événement provenant de Claude Code |
171
+ | `session` | `SessionMetadata \| undefined` | Contexte de session (voir ci-dessous) |
172
+
173
+ ### Champs de `SessionMetadata`
174
+
175
+ | Champ | Type | Description |
176
+ |-------|------|-------------|
177
+ | `sessionId` | `string` | Identifiant de session Claude Code |
178
+ | `cwd` | `string` | Répertoire de travail de la session Claude Code |
179
+ | `transcriptPath` | `string` | Chemin vers le fichier de transcription JSONL de la session |
180
+
181
+ ### Types d'événements
182
+
183
+ | Événement | Quand il se déclenche | Contenu de `toolInput` |
184
+ |-------|--------------|----------------------|
185
+ | `PreToolUse` | Avant que Claude exécute un outil | L'entrée de l'outil (ex. `{ command: "..." }` pour Bash) |
186
+ | `PostToolUse` | Après la fin d'un outil | L'entrée de l'outil + `tool_result` (la sortie) |
187
+ | `Notification` | Quand Claude envoie une notification | `{ message: "...", notification_type: "idle" \| "permission_prompt" \| ... }` - les hooks doivent toujours retourner `allow()`, ils ne peuvent pas bloquer les notifications |
188
+ | `Stop` | Quand la session Claude se termine | Vide |
189
+
190
+ ---
191
+
192
+ ## Ordre d'évaluation
193
+
194
+ Les politiques sont évaluées dans cet ordre :
195
+
196
+ 1. Politiques intégrées (dans l'ordre de définition)
197
+ 2. Politiques personnalisées explicites de `customPoliciesPath` (dans l'ordre `.add()`)
198
+ 3. Politiques de convention du projet `.failproofai/policies/` (fichiers par ordre alphabétique, ordre `.add()` à l'intérieur)
199
+ 4. Politiques de convention utilisateur `~/.failproofai/policies/` (fichiers par ordre alphabétique, ordre `.add()` à l'intérieur)
200
+
201
+ <Note>
202
+ Le premier `deny` court-circuite toutes les politiques suivantes. Tous les messages `instruct` sont accumulés et délivrés ensemble.
203
+ </Note>
204
+
205
+ ---
206
+
207
+ ## Imports transitifs
208
+
209
+ Les fichiers de politiques personnalisées peuvent importer des modules locaux en utilisant des chemins relatifs :
210
+
211
+ ```js
212
+ // my-policies.js
213
+ import { isBlockedPath } from "./utils.js";
214
+ import { checkApproval } from "./approval-client.js";
215
+
216
+ customPolicies.add({
217
+ name: "approval-gate",
218
+ fn: async (ctx) => {
219
+ if (ctx.toolName !== "Bash") return allow();
220
+ const approved = await checkApproval(ctx.toolInput?.command, ctx.session?.sessionId);
221
+ return approved ? allow() : deny("Approval required for this command");
222
+ },
223
+ });
224
+ ```
225
+
226
+ Tous les imports relatifs accessibles depuis le fichier d'entrée sont résolus. Ceci est implémenté en réécrivant les imports `from "failproofai"` vers le chemin dist réel et en créant des fichiers `.mjs` temporaires pour assurer la compatibilité ESM.
227
+
228
+ ---
229
+
230
+ ## Filtrage par type d'événement
231
+
232
+ Utilisez `match.events` pour limiter quand une politique se déclenche :
233
+
234
+ ```js
235
+ customPolicies.add({
236
+ name: "require-summary-on-stop",
237
+ match: { events: ["Stop"] },
238
+ fn: async (ctx) => {
239
+ // Se déclenche uniquement quand la session se termine
240
+ // ctx.session.transcriptPath contient le journal complet de la session
241
+ return allow();
242
+ },
243
+ });
244
+ ```
245
+
246
+ Omettez `match` entièrement pour se déclencher sur chaque type d'événement.
247
+
248
+ ---
249
+
250
+ ## Gestion des erreurs et modes d'échec
251
+
252
+ Les politiques personnalisées sont **fail-open** : les erreurs ne bloquent jamais les politiques intégrées ni ne font planter le gestionnaire de hook.
253
+
254
+ | Échec | Comportement |
255
+ |---------|----------|
256
+ | `customPoliciesPath` non défini | Aucune politique personnalisée explicite ne s'exécute ; les politiques de convention et les intégrées continuent normalement |
257
+ | Fichier introuvable | Avertissement journalisé dans `~/.failproofai/hook.log` ; les politiques intégrées continuent |
258
+ | Erreur de syntaxe/import (explicite) | Erreur journalisée dans `~/.failproofai/hook.log` ; politiques personnalisées explicites ignorées |
259
+ | Erreur de syntaxe/import (convention) | Erreur journalisée ; ce fichier ignoré, les autres fichiers de convention se chargent quand même |
260
+ | `fn` lève une erreur à l'exécution | Erreur journalisée ; ce hook traité comme `allow` ; les autres hooks continuent |
261
+ | `fn` prend plus de 10 secondes | Délai d'expiration journalisé ; traité comme `allow` |
262
+ | Répertoire de convention manquant | Aucune politique de convention ne s'exécute ; aucune erreur |
263
+
264
+ <Tip>
265
+ Pour déboguer les erreurs de politiques personnalisées, surveillez le fichier journal :
266
+
267
+ ```bash
268
+ tail -f ~/.failproofai/hook.log
269
+ ```
270
+ </Tip>
271
+
272
+ ---
273
+
274
+ ## Exemple complet : plusieurs politiques
275
+
276
+ ```js
277
+ // my-policies.js
278
+ import { customPolicies, allow, deny, instruct } from "failproofai";
279
+
280
+ // Empêcher l'agent d'écrire dans le répertoire secrets/
281
+ customPolicies.add({
282
+ name: "block-secrets-dir",
283
+ description: "Prevent agent from writing to secrets/ directory",
284
+ match: { events: ["PreToolUse"] },
285
+ fn: async (ctx) => {
286
+ if (!["Write", "Edit"].includes(ctx.toolName ?? "")) return allow();
287
+ const path = ctx.toolInput?.file_path ?? "";
288
+ if (path.includes("secrets/")) return deny("Writing to secrets/ is not permitted");
289
+ return allow();
290
+ },
291
+ });
292
+
293
+ // Garder l'agent sur la bonne voie : vérifier les tests avant de commiter
294
+ customPolicies.add({
295
+ name: "remind-test-before-commit",
296
+ description: "Keep the agent on track: verify tests pass before committing",
297
+ match: { events: ["PreToolUse"] },
298
+ fn: async (ctx) => {
299
+ if (ctx.toolName !== "Bash") return allow();
300
+ const cmd = ctx.toolInput?.command ?? "";
301
+ if (/git\s+commit/.test(cmd)) {
302
+ return instruct("Verify all tests pass before committing. Run `bun test` if you haven't already.");
303
+ }
304
+ return allow();
305
+ },
306
+ });
307
+
308
+ // Empêcher les changements de dépendances non planifiés pendant le gel
309
+ customPolicies.add({
310
+ name: "dependency-freeze",
311
+ description: "Prevent unplanned dependency changes during freeze period",
312
+ match: { events: ["PreToolUse"] },
313
+ fn: async (ctx) => {
314
+ if (ctx.toolName !== "Bash") return allow();
315
+ const cmd = ctx.toolInput?.command ?? "";
316
+ const isInstall = /^(npm install|yarn add|bun add|pnpm add)\s+\S/.test(cmd);
317
+ if (isInstall && process.env.DEPENDENCY_FREEZE === "1") {
318
+ return deny("Package installs are frozen. Unset DEPENDENCY_FREEZE to allow.");
319
+ }
320
+ return allow();
321
+ },
322
+ });
323
+
324
+ export { customPolicies };
325
+ ```
326
+
327
+ ---
328
+
329
+ ## Exemples
330
+
331
+ Le répertoire `examples/` contient des fichiers de politiques prêts à l'emploi :
332
+
333
+ | Fichier | Contenu |
334
+ |------|----------|
335
+ | `examples/policies-basic.js` | Cinq politiques de démarrage couvrant les modes d'échec d'agent courants |
336
+ | `examples/policies-advanced/index.js` | Modèles avancés : imports transitifs, appels asynchrones, nettoyage de sortie et hooks de fin de session |
337
+ | `examples/convention-policies/security-policies.mjs` | Politiques de sécurité basées sur les conventions (bloquer les écritures .env, empêcher la réécriture de l'historique git) |
338
+ | `examples/convention-policies/workflow-policies.mjs` | Politiques de workflow basées sur les conventions (rappels de tests, journalisation des écritures de fichiers) |
339
+
340
+ ### Utiliser les exemples de fichiers explicites
341
+
342
+ ```bash
343
+ failproofai policies --install --custom ./examples/policies-basic.js
344
+ ```
345
+
346
+ ### Utiliser les exemples basés sur les conventions
347
+
348
+ ```bash
349
+ # Copier au niveau du projet
350
+ mkdir -p .failproofai/policies
351
+ cp examples/convention-policies/*.mjs .failproofai/policies/
352
+
353
+ # Ou copier au niveau utilisateur
354
+ mkdir -p ~/.failproofai/policies
355
+ cp examples/convention-policies/*.mjs ~/.failproofai/policies/
356
+ ```
357
+
358
+ Aucune commande d'installation requise — les fichiers sont automatiquement pris en compte lors du prochain événement de hook.