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,266 @@
1
+ ---
2
+ title: 配置
3
+ description: "配置文件格式、三级作用域系统及合并规则"
4
+ icon: gear
5
+ ---
6
+
7
+ failproofai 使用 JSON 配置文件来控制哪些策略处于激活状态、策略的行为方式,以及从何处加载自定义策略。配置设计上便于与团队共享——将其提交到代码仓库,每位开发者都能获得相同的智能体安全防护。
8
+
9
+ ---
10
+
11
+ ## 配置作用域
12
+
13
+ 配置共有三个作用域,按优先级顺序依次评估:
14
+
15
+ | 作用域 | 文件路径 | 用途 |
16
+ |-------|-----------|---------|
17
+ | **project** | `.failproofai/policies-config.json` | 按仓库配置,提交至版本控制 |
18
+ | **local** | `.failproofai/policies-config.local.json` | 个人按仓库覆盖配置,已添加至 gitignore |
19
+ | **global** | `~/.failproofai/policies-config.json` | 跨所有项目的用户级默认配置 |
20
+
21
+ 当 failproofai 收到钩子事件时,它会加载并合并当前工作目录下存在的所有三个文件。
22
+
23
+ ### 合并规则
24
+
25
+ **`enabledPolicies`** — 取三个作用域的并集。在任意级别启用的策略均处于激活状态。
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"] ← 去重后的并集
33
+ ```
34
+
35
+ **`policyParams`** — 对于给定策略,最先定义参数的作用域完全优先。策略参数内部不会进行深度合并。
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 优先,global 被忽略
42
+ ```
43
+
44
+ ```text
45
+ project: (无 block-sudo 条目)
46
+ local: (无 block-sudo 条目)
47
+ global: block-sudo → { allowPatterns: ["sudo systemctl status"] }
48
+
49
+ resolved: { allowPatterns: ["sudo systemctl status"] } ← 回退至 global
50
+ ```
51
+
52
+ **`customPoliciesPaths` / `customPoliciesPath`** — 最先定义任意一种形式的作用域优先。
53
+
54
+ **`disabledCustomPolicies`** — 取所有作用域的并集。当你在仪表板中关闭来自显式或约定策略文件中的某个策略时,仪表板会将带来源限定符的 ID 写入此处。未列出的策略默认保持启用;ID 包含来源文件信息,因此多个文件中同名的策略可以独立控制。
55
+
56
+ **`llm`** — 最先定义的作用域优先。
57
+
58
+ ---
59
+
60
+ ## 配置文件格式
61
+
62
+ ```json
63
+ {
64
+ "enabledPolicies": [
65
+ "block-sudo",
66
+ "block-rm-rf",
67
+ "block-push-master",
68
+ "sanitize-api-keys",
69
+ "sanitize-jwt",
70
+ "block-env-files",
71
+ "block-read-outside-cwd"
72
+ ],
73
+ "policyParams": {
74
+ "block-sudo": {
75
+ "allowPatterns": ["sudo systemctl status", "sudo journalctl"]
76
+ },
77
+ "block-push-master": {
78
+ "protectedBranches": ["main", "release", "prod"]
79
+ },
80
+ "block-rm-rf": {
81
+ "allowPaths": ["/tmp"]
82
+ },
83
+ "block-read-outside-cwd": {
84
+ "allowPaths": ["/shared/data", "/opt/company"]
85
+ },
86
+ "sanitize-api-keys": {
87
+ "additionalPatterns": [
88
+ { "regex": "myco_[A-Za-z0-9]{32}", "label": "MyCo API key" }
89
+ ]
90
+ },
91
+ "warn-large-file-write": {
92
+ "thresholdKb": 512
93
+ }
94
+ },
95
+ "customPoliciesPath": "/home/alice/myproject/my-policies.js"
96
+ }
97
+ ```
98
+
99
+ ---
100
+
101
+ ## 字段参考
102
+
103
+ ### `enabledPolicies`
104
+
105
+ 类型:`string[]`
106
+
107
+ 要启用的策略名称列表。名称必须与 `failproofai policies` 所显示的策略标识符完全匹配。完整列表请参见[内置策略](/zh/built-in-policies)。
108
+
109
+ 不在 `enabledPolicies` 中的策略均为非激活状态,即便其在 `policyParams` 中存在条目也是如此。
110
+
111
+ ### `policyParams`
112
+
113
+ 类型:`Record<string, Record<string, unknown>>`
114
+
115
+ 按策略的参数覆盖配置。外层键为策略名称,内层键为各策略专有配置项。每个策略的可用参数均在[内置策略](/zh/built-in-policies)中有说明。
116
+
117
+ 若策略有参数但你未指定,则使用策略的内置默认值。未配置 `policyParams` 的用户与旧版本行为完全一致。
118
+
119
+ 策略参数块中的未知键在钩子触发时会被静默忽略,但在运行 `failproofai policies` 时会被标记为警告。
120
+
121
+ #### `hint`(通用配置项)
122
+
123
+ 类型:`string`(可选)
124
+
125
+ 当策略返回 `deny` 或 `instruct` 时,附加到原因中的提示消息。可用于向 Claude 提供可操作的指导,而无需修改策略本身。
126
+
127
+ 适用于所有策略类型——内置策略、自定义策略(`custom/`)、项目约定策略(`.failproofai-project/`)或用户约定策略(`.failproofai-user/`)。
128
+
129
+ ```json
130
+ {
131
+ "policyParams": {
132
+ "block-force-push": {
133
+ "hint": "Try creating a fresh branch instead."
134
+ },
135
+ "block-sudo": {
136
+ "allowPatterns": ["sudo apt-get"],
137
+ "hint": "Use apt-get directly without sudo."
138
+ },
139
+ "custom/my-policy": {
140
+ "hint": "Ask the user for approval first."
141
+ }
142
+ }
143
+ }
144
+ ```
145
+
146
+ 当 `block-force-push` 拒绝操作时,Claude 会看到:*"Force-pushing is blocked. Try creating a fresh branch instead."*
147
+
148
+ 非字符串值和空字符串会被静默忽略。若未设置 `hint`,行为保持不变(向后兼容)。
149
+
150
+ ### `customPoliciesPath`
151
+
152
+ 类型:`string`(绝对路径)
153
+
154
+ 包含自定义钩子策略的 JavaScript 文件路径。该字段由 `failproofai policies --install --custom <path>` 自动设置(路径在存储前会被解析为绝对路径)。
155
+
156
+ 每次钩子事件触发时,该文件都会重新加载,不进行缓存。编写详情请参见[自定义策略](/zh/custom-policies)。
157
+
158
+ ### 基于约定的策略
159
+
160
+ 除显式的 `customPoliciesPath` 外,failproofai 还会自动发现并加载 `.failproofai/policies/` 目录中的策略文件:
161
+
162
+ | 级别 | 目录 | 作用域 |
163
+ |-------|-----------|-------|
164
+ | 项目级 | `.failproofai/policies/` | 通过版本控制与团队共享 |
165
+ | 用户级 | `~/.failproofai/policies/custom-policies/` | 个人使用,适用于所有项目 |
166
+
167
+ <Note>
168
+ 用户级目录在主目录重组时下移了一层。升级后首次运行任意 `failproofai`
169
+ 命令时,旧路径 `~/.failproofai/policies/` 下的文件会自动移入
170
+ `custom-policies/`,且命令会告知你移动了哪些文件。
171
+ </Note>
172
+
173
+ **文件匹配规则:** 仅加载匹配 `*policies.{js,mjs,ts}` 的文件(例如 `security-policies.mjs`、`workflow-policies.js`),目录中的其他文件会被忽略。
174
+
175
+ **无需配置:** 约定策略无需在 `policies-config.json` 中添加任何条目。只需将文件放入目录,下次钩子事件触发时即会自动加载。
176
+
177
+ **联合加载:** 项目级和用户级约定目录均会被扫描,两个级别的所有匹配文件都会被加载(与 `customPoliciesPath` 使用首个作用域优先的规则不同)。
178
+
179
+ 更多详情和示例请参见[自定义策略](/zh/custom-policies)。
180
+
181
+ ### `llm`
182
+
183
+ 类型:`object`(可选)
184
+
185
+ 供需要进行 AI 调用的策略使用的 LLM 客户端配置。大多数场景下无需配置。
186
+
187
+ ```json
188
+ {
189
+ "llm": {
190
+ "model": "claude-sonnet-4-6",
191
+ "apiKey": "sk-ant-..."
192
+ }
193
+ }
194
+ ```
195
+
196
+ ---
197
+
198
+ ## 通过 CLI 管理配置
199
+
200
+ `policies --install` 和 `policies --uninstall` 命令写入智能体 CLI 的钩子设置文件(钩子入口点),而 `policies-config.json` 则是你直接管理的文件。两者相互独立:
201
+
202
+ - **智能体 CLI 设置** — 告知智能体在每次工具调用时执行 `failproofai --hook <event>`:
203
+ - **Claude Code**:`~/.claude/settings.json`(用户级)、`<cwd>/.claude/settings.json`(项目级)、`<cwd>/.claude/settings.local.json`(本地级)
204
+ - **OpenAI Codex**:`~/.codex/hooks.json`(用户级)、`<cwd>/.codex/hooks.json`(项目级)——Codex 没有 `local` 作用域
205
+ - **GitHub Copilot CLI _(beta)_**:`~/.copilot/hooks/failproofai.json`(用户级)、`<cwd>/.github/hooks/failproofai.json`(项目级)——Copilot 没有 `local` 作用域。钩子条目使用 Copilot 的操作系统键控 `bash`/`powershell` 命令字段及 `timeoutSec`;文件带有顶层 `version: 1` 标记。Copilot CLI 支持处于 **beta** 阶段,我们正在针对更多真实会话验证 `events.jsonl` 记录模式(公开文档中未予说明)。**VS Code Copilot Chat 智能体模式(预览版)** 通过 `chat.hookFilesLocations` 设置从 `.github/hooks/*.json`、`~/.copilot/hooks/*.json` 和 `~/.claude/settings.json` 读取钩子配置,使用与 Claude 相同的 `{hookSpecificOutput:{permissionDecision:"deny",…}}` 协议——这正是 `copilot` 集成和 `claude` 集成(`~/.claude/settings.json`)已写入的路径,因此 `failproofai policies --install --cli copilot`(或 `--cli claude`)**无需单独的 `vscode` 集成即可在 VS Code 智能体模式下强制执行**(已通过 VS Code 发现日志实时确认)。
206
+ - **Cursor Agent _(beta)_**:`~/.cursor/hooks.json`(用户级)、`<cwd>/.cursor/hooks.json`(项目级)——Cursor 没有 `local` 作用域。钩子条目使用 Claude 风格的 `{type, command, timeout}` 格式(无 `bash`/`powershell` 分离),但按照 Cursor 的[钩子模式](https://cursor.com/docs/hooks)以驼峰命名的事件键(`preToolUse`、`beforeSubmitPrompt` 等)存储于每个 Cursor 事件的扁平数组中;文件带有顶层 `version: 1` 标记。处理器通过 `CURSOR_EVENT_MAP` 将驼峰命名规范化为帕斯卡命名,使现有内置策略无需修改即可触发。Cursor Agent 支持处于 **beta** 阶段,我们正在针对更多真实安装验证 Cursor 的磁盘转录格式(公开文档中未予说明)。
207
+ - **OpenCode _(beta)_**:`~/.config/opencode/opencode.json` + `~/.config/opencode/plugins/failproofai.mjs`(用户级)、`<cwd>/.opencode/opencode.json` + `<cwd>/.opencode/plugins/failproofai.mjs`(项目级)——OpenCode 没有 `local` 作用域。与其他五个 CLI 不同,OpenCode **没有外部命令钩子系统**:它通过 `opencode.json` 中的 `plugin: []` 数组显式注册来加载进程内 JS/TS 插件(从 `.opencode/plugins/` 自动发现**不是** opencode v1.14.33 上插件加载的方式)。安装时会放置一个小型生成的插件垫片,该垫片以子进程方式调用 failproofai 二进制文件,并将二进制文件的 Claude 风格 JSON 响应转换为插件语义:工具事件拒绝时 `throw new Error()`(取消工具调用),instruct 及 `Stop`/`SubagentStop` 拒绝时 `client.session.prompt(...)`(将拒绝原因作为下一条用户消息提交——这是唯一的强制重试通道,因为 `session.idle` 仅用于通知,从中抛出异常无效),allow 时无操作。垫片在转发给二进制文件前会规范化工具名称(小写转帕斯卡命名,通过 `OPENCODE_TOOL_MAP`)和工具输入参数键(驼峰转蛇形命名,通过 `OPENCODE_TOOL_INPUT_MAP`,适用于 `Read`/`Write`/`Edit`,例如 `filePath` → `file_path`、`oldString` → `old_string`),因此路径检查内置策略如 `block-read-outside-cwd`、`block-env-files` 和 `block-secrets-write` 在 OpenCode 工具调用中可正常触发。会话存储于 `~/.local/share/opencode/opencode.db` 的 opencode SQLite 数据库中;仪表板的会话查看器通过 `opencode db --format json` 和 `opencode export <id>` 读取它们。OpenCode 支持处于 **beta** 阶段,我们正在跨版本和更多真实会话验证其行为。请参阅 [OpenCode 插件文档](https://opencode.ai/docs/plugins/)。
208
+ - **Pi _(beta)_**:`~/.pi/agent/settings.json`(用户级)、`<cwd>/.pi/settings.json`(项目级)——Pi 没有 `local` 作用域。Pi 在启动时加载 TypeScript 扩展包;设置文件是一个扁平字符串数组 `{"packages": ["./relative/path", …]}`。failproofai 写入一个指向其捆绑 `pi-extension/` 目录的 packages 数组条目。该扩展在内部订阅 Pi 的 `tool_call`/`user_bash`/`input`/`session_start` 事件,并以子进程方式调用 `failproofai --hook <Event> --cli pi`;处理器通过 `PI_EVENT_MAP` 将下划线小写蛇形命名规范化为帕斯卡命名,使现有内置策略无需修改即可触发。工具输入参数也通过 `PI_TOOL_INPUT_MAP` 进行规范化(Pi 的 Read/Write/Edit 传递 `path` 而非 `file_path`;映射顶层键使 `block-env-files` 和 `block-secrets-write` 得以触发——`block-read-outside-cwd` 已有 `path` 回退机制)。Pi 支持处于 **beta** 阶段,待 Pi 的扩展 API 和会话日志布局稳定后会进一步完善。
209
+ - **Hermes (hermes-agent)**:`~/.hermes/config.yaml`(**仅用户作用域**——Hermes 没有项目/本地配置)。Hermes 是一个 Slack/Telegram **网关**,因此一次安装即可拦截来自所有平台(Slack/Telegram/cli/cron)**及**内部子智能体的工具调用。钩子条目是一个 `{command, timeout}` 对(超时单位为**秒**),位于以 Hermes 蛇形命名事件(`pre_tool_call`/`post_tool_call`/`on_session_start`/`on_session_end`/`subagent_stop`)为键的 `hooks:` 映射下;处理器通过 `HERMES_EVENT_MAP` 规范化事件名称,通过 `HERMES_TOOL_MAP` 规范化工具名称,使内置策略无需修改即可触发。配置通过保留注释的 YAML `Document` 往返编辑,以保留运营者的其他设置;安装时设置 `hooks_auto_accept: true`,使无头网关(无 TTY)在无需同意提示的情况下运行钩子。评估器输出 Hermes 的 `{"decision":"block","reason"}` stdout 协议(Hermes 忽略退出码)。**限制:** Hermes 没有轮次结束 `Stop` 事件,因此 `require-*-before-stop` 内置策略对其永不触发(不适用,而非故障);`instruct` 降级为允许并记录日志(无附加上下文通道);输出密钥脱敏(`sanitize-*`)无法通过 shell 钩子协议重写工具输出。Hermes **同时也是**离线**审计**来源——仪表板直接从 `~/.hermes/state.db` 读取其网关会话。
210
+ - **OpenClaw (openclaw gateway)**:`~/.openclaw/openclaw.json`(**仅用户作用域**——OpenClaw 没有项目/本地配置)。与 Hermes 类似,OpenClaw 是一个自托管的多渠道**网关**,因此一次安装即可拦截来自所有渠道及其内部子智能体的工具调用。强制执行通过 OpenClaw 的**进程内插件钩子**运行(其基于文件的内部钩子仅用于观察,无法阻止),因此——与 OpenCode/Pi 类似——failproofai 提供了一个静态 `openclaw-plugin/` 包,以异步方式生成 failproofai 二进制文件并转换判决结果。安装时在 `openclaw.json` 的 `plugins.load.paths[]` 中注册所提供的插件目录,并在 `plugins.entries.failproofai` 下启用它(带有 `hooks.allowConversationAccess: true`,原始对话钩子必需)。评估器输出扁平的 `{permission, reason}` 判决,垫片将其映射到每个钩子的原生返回形式:`before_tool_call → {block:true, blockReason}`(**PreToolUse**)、`before_agent_run → {outcome:"block", reason}`(**UserPromptSubmit**)和 `before_agent_finalize → {action:"revise", reason}`(**Stop**——一个真正的轮次结束门控,因此 `require-*-before-stop` 内置策略**在 OpenClaw 上强制执行**,与 Hermes 不同)。事件和工具名称在二进制端通过 `OPENCLAW_EVENT_MAP`/`OPENCLAW_TOOL_MAP`(`exec→Bash`、`read→Read` 等)规范化,使内置策略无需修改即可触发;垫片在任何生成/解析/超时错误时失败并放行。OpenClaw **同时也是**离线**审计**来源——仪表板读取 `~/.openclaw/agents/<agentId>/sessions/<uuid>.jsonl` 中的 JSONL 会话。
211
+ - **Factory Droid (`droid`)**:`~/.factory/hooks.json`(用户级)、`<cwd>/.factory/hooks.json`(项目级)——Factory 没有 `local` 作用域。droid 采用 Claude 风格的外部命令钩子系统,但经针对 droid v0.171.0 的实时验证,有两个特殊之处:(1)事件名称位于 `hooks.json` 的**顶层**——**没有 `"hooks"` 包装器**(droid 会拒绝它);工具事件(`PreToolUse`/`PostToolUse`)带有 `"matcher": "*"`,非工具事件则省略它。(2)拒绝由钩子**退出码 2 + stderr** 驱动,而非 JSON 决策——评估器的 `factory` 分支对工具/提示事件返回退出码 2,仅在轮次结束 `Stop` 事件时返回 `{decision:"block", reason}`(droid 唯一的强制重试通道)。事件已是帕斯卡命名(无事件映射),负载为 Claude 蛇形命名;仅工具名称通过 `FACTORY_TOOL_MAP`(`Execute→Bash`、`Create→Write`、`FetchUrl→WebFetch` 等)规范化。Factory **同时也是**离线**审计**来源——仪表板读取 `~/.factory/sessions/<encoded-cwd>/<sessionId>.jsonl` 中的磁盘 JSONL 会话。
212
+ - **Devin CLI (`devin`,Cognition)**:`~/.config/devin/config.json`(用户级)、`<cwd>/.devin/config.json`(项目级)——Devin 没有 `local` 作用域。经针对 devin v3000.1.27 的实时验证,Devin 是一个**纯 Claude 克隆**:使用标准 Claude `"hooks"` 包装器模式(写入时保留合并,因此配置文件的其他键——`org_id`、`theme_mode` 等——得以保留),已是帕斯卡命名的事件(无事件映射,无处理器分支),以及 Claude 蛇形命名的 stdin 负载(无需规范化)。评估器的 `devin` 分支对**每个**事件在退出码 0 时以 `{"decision":"block","reason"}` JSON 输出到 stdout 进行拒绝(已验证——该块覆盖了 `--permission-mode dangerous`);在轮次结束 `Stop` 事件中,原因携带 MANDATORY-ACTION 强制重试措辞,使 `require-*-before-stop` 内置策略得以强制执行。仅工具名称通过 `DEVIN_TOOL_MAP`(`exec→Bash`;`tool_input.command` 已是规范形式)规范化。Devin **同时也是**离线**审计**来源——仪表板读取 `~/.local/share/devin/cli/sessions.db` 中的 SQLite 会话(每个 `sessions` 行携带真实的 `working_directory`,因此会话像 Claude 一样按项目工作目录分组)。
213
+ - **Antigravity CLI (`agy`)**:`~/.gemini/config/hooks.json`(用户级)、`<cwd>/.agents/hooks.json`(项目级)——Antigravity 没有 `local` 作用域。与 Factory/Devin 不同,Antigravity 有其**自己的**协议(非 Claude 克隆),经针对 agy v1.1.2 的实时验证。`hooks.json` 使用**命名钩子**模式:顶层键为钩子*名称*(`"failproofai"`),其值为事件→处理器映射——工具事件(`PreToolUse`/`PostToolUse`)将处理器包装在 `{matcher:"*", hooks:[…]}` 中,而 `PreInvocation`/`Stop` 为**扁平**处理器数组(其他命名钩子得以保留)。stdin 负载为**驼峰命名的 protojson**(`toolCall:{name,args}`、`conversationId`、`workspacePaths`、`transcriptPath`)——failproofai 在策略运行前将其规范化为蛇形命名,并通过 `ANTIGRAVITY_TOOL_INPUT_MAP` 映射 `run_command` 的帕斯卡命名参数(`CommandLine`/`Cwd`)。评估器的 `antigravity` 分支使用 Antigravity **自己的**响应形式:`{decision:"deny", reason}` 阻止工具/提示(退出码 0),`{decision:"continue", reason}` 在轮次结束 `Stop` 时重新进入循环(使 `require-*-before-stop` 内置策略得以强制执行),`{injectSteps:[{ephemeralMessage}]}` 在 `PreInvocation`(→ `UserPromptSubmit`)时注入指令。工具名称通过 `ANTIGRAVITY_TOOL_MAP`(`run_command→Bash`、`view_file→Read` 等)规范化。Antigravity **同时也是**离线**审计**来源——仪表板读取 `~/.gemini/antigravity-cli/brain/<conversationId>/.system_generated/logs/transcript_full.jsonl` 中的纯 JSONL 转录(对话索引位于 `conversation_summaries.db`)。
214
+ - **Goose (代号 goose,Block)**:`~/.agents/plugins/failproofai/hooks/hooks.json`(用户级)、`<cwd>/.agents/plugins/failproofai/hooks/hooks.json`(项目级)——Goose 没有 `local` 作用域。强制执行使用 Goose 的**钩子**系统,即跨智能体的 **Open Plugins** 规范:安装程序只需放置 `failproofai` 插件目录,Goose 在启动时自动发现并将其自注册到 `~/.config/goose/config.yaml`。`hooks.json` 使用带有顶层 `"hooks"` 包装器的 Open Plugins 模式,且每个事件上都**省略**了匹配器——裸 `"*"` 是一个无效正则表达式,不匹配任何内容(经针对 goose v1.43.0 的实时验证)。事件名称已是帕斯卡命名(无事件映射);stdin 负载使用 `event`/`working_dir`,处理器将其规范化为 `hook_event_name`/`cwd`。评估器的 `goose` 分支在退出码 0 时以 `{"decision":"block","reason"}` JSON 输出到 stdout 进行拒绝,仅在 **`PreToolUse`** 事件上生效(goose ≥ v1.37.0 中提供)——该事件对 shell 工具**以及委托子智能体内部**均会触发,因此它是唯一足够的拒绝点;任何其他钩子错误均**失败并放行**。Goose **没有 `Stop` 事件**,因此 `require-*-before-stop` 内置策略不适用(与 Hermes 相同)。工具名称通过 `GOOSE_TOOL_MAP`(`shell→Bash`、`write→Write`、`todo__todo_write→TodoWrite` 等)规范化,路径键通过 `GOOSE_TOOL_INPUT_MAP`(`path`/`source` → `file_path`)规范化。Goose **同时也是**离线**审计**来源——仪表板读取 `~/.local/share/goose/sessions/sessions.db` 中的 SQLite 会话(每个 `sessions` 行携带真实的 `working_dir`,因此会话像 Devin 一样按项目工作目录分组;`--no-session` 临时运行会被过滤)。
215
+ - **`policies-config.json`** — 告知 failproofai 评估哪些策略以及使用什么参数(跨所有智能体 CLI 共享)
216
+
217
+ 传入 `--cli claude|codex|copilot|cursor|opencode|pi|hermes|openclaw|factory|devin|antigravity|goose` 以指定目标智能体(多个可用空格分隔或重复传入):
218
+
219
+ ```bash
220
+ failproofai policies --install --cli codex --scope project
221
+ failproofai policies --install --cli copilot --scope project
222
+ failproofai policies --install --cli cursor --scope project
223
+ failproofai policies --install --cli opencode --scope project
224
+ failproofai policies --install --cli pi --scope project
225
+ failproofai policies --install --cli hermes --scope user
226
+ failproofai policies --install --cli openclaw --scope user
227
+ failproofai policies --install --cli factory --scope project
228
+ failproofai policies --install --cli devin --scope project
229
+ failproofai policies --install --cli antigravity --scope project
230
+ failproofai policies --install --cli goose --scope project
231
+ failproofai policies --install --cli claude codex copilot cursor opencode pi hermes openclaw factory devin antigravity goose
232
+ ```
233
+
234
+ 省略 `--cli` 时,`failproofai` 会检测已安装的智能体 CLI(`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`):
235
+
236
+ - **检测到一个 CLI** — 自动选择该 CLI,无需提示。
237
+ - **在交互式终端中检测到多个 CLI** — 显示方向键单选提示,分组为 `Detected (N)` 区域(包含一个`Install for all N detected` 聚合行及各个已检测到的 CLI)和 `Not installed (M) · install hooks ahead of time` 区域,列出所有未检测到的支持 CLI 作为预安装选项(↑↓ 移动,Enter 选择,^C 退出)。卸载流程仅显示 Detected 区域。
238
+ - **在非交互式运行中检测到多个 CLI**(CI 环境、无 TTY)— 为所有检测到的 CLI 安装,无需提示。
239
+ - **未检测到任何 CLI** — 回退至 `claude`,并警告在 PATH 中未找到智能体二进制文件;钩子命令仍会写入,待安装后立即生效。
240
+
241
+ 你可以随时直接编辑 `policies-config.json`;更改会在下次钩子事件时立即生效,无需重启。
242
+
243
+ ---
244
+
245
+ ## 示例:带团队默认配置的项目级配置
246
+
247
+ 将 `.failproofai/policies-config.json` 提交到你的代码仓库:
248
+
249
+ ```json
250
+ {
251
+ "enabledPolicies": [
252
+ "block-sudo",
253
+ "block-rm-rf",
254
+ "block-push-master",
255
+ "sanitize-api-keys",
256
+ "block-env-files"
257
+ ],
258
+ "policyParams": {
259
+ "block-push-master": {
260
+ "protectedBranches": ["main", "release", "hotfix"]
261
+ }
262
+ }
263
+ }
264
+ ```
265
+
266
+ 每位开发者可以创建 `.failproofai/policies-config.local.json`(已添加至 gitignore)用于个人覆盖配置,而不影响其他团队成员。
@@ -0,0 +1,358 @@
1
+ ---
2
+ title: 自定义策略
3
+ description: "用 JavaScript 编写自己的策略——强制执行项目规范、防止漂移、检测失败、与外部系统集成"
4
+ icon: code
5
+ ---
6
+
7
+ 自定义策略让你可以为任意 Agent 行为编写规则:强制执行项目规范、防止状态漂移、拦截破坏性操作、检测卡死的 Agent,或与 Slack、审批工作流等系统集成。它们使用与内置策略相同的 Hook 事件系统以及 `allow`、`deny`、`instruct` 决策机制。
8
+
9
+ ---
10
+
11
+ ## 快速示例
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
+ 安装:
33
+
34
+ ```bash
35
+ failproofai policies --install --custom ./my-policies.js
36
+ ```
37
+
38
+ ---
39
+
40
+ ## 加载自定义策略的两种方式
41
+
42
+ ### 方式一:基于约定(推荐)
43
+
44
+ 将 `*policies.{js,mjs,ts}` 文件放入 `.failproofai/policies/` 目录,它们会被自动加载——无需任何标志或配置变更。这与 git hooks 的工作方式类似:放入文件,即可生效。
45
+
46
+ ```
47
+ # 项目级别——提交到 git,团队共享
48
+ .failproofai/policies/security-policies.mjs
49
+ .failproofai/policies/workflow-policies.mjs
50
+
51
+ # 用户级别——个人使用,适用于所有项目
52
+ ~/.failproofai/policies/my-policies.mjs
53
+ ```
54
+
55
+ **工作原理:**
56
+ - 项目目录和用户目录均会被扫描(取并集,而非优先匹配第一个作用域)
57
+ - 各目录内的文件按字母顺序加载,可用 `01-`、`02-` 前缀控制顺序
58
+ - 仅加载匹配 `*policies.{js,mjs,ts}` 的文件,其他文件会被忽略
59
+ - 每个文件独立加载(单个文件失败不影响其他文件)
60
+ - 可与显式 `--custom` 及内置策略共同使用
61
+
62
+ <Tip>
63
+ 基于约定的策略是为团队建立质量标准的最简方式。将 `.failproofai/policies/` 提交到 git,每位团队成员即可自动获得相同的规则——无需逐人配置。随着团队不断发现新的失败模式,只需添加策略并推送。久而久之,这些策略将成为一份随每次贡献持续完善的活质量标准。
64
+ </Tip>
65
+
66
+ ### 方式二:显式指定文件路径
67
+
68
+ ```bash
69
+ # 安装时指定自定义策略文件
70
+ failproofai policies --install --custom ./my-policies.js
71
+
72
+ # 替换自定义策略路径
73
+ failproofai policies --install --custom ./new-policies.js
74
+
75
+ # 配置多个显式文件(按标志顺序加载)
76
+ failproofai policies --install --custom ./security.js --custom ./workflow.js
77
+
78
+ # 从配置中移除所有显式自定义策略路径
79
+ failproofai policies --uninstall --custom
80
+ ```
81
+
82
+ 解析后的绝对路径以 `customPoliciesPaths` 字段存储在 `policies-config.json` 中。重复使用 `--custom` 可配置多个文件。使用旧版 `customPoliciesPath` 字段的现有配置仍可正常工作。文件在每次 Hook 事件时重新加载,事件之间不存在缓存。
83
+
84
+ 每个已注册的策略都会在控制台中显示独立的开关。关闭某个策略时,其含源文件限定的 ID 会被记录到 `disabledCustomPolicies`;对应文件及其他策略仍会继续加载,仅禁用的策略会在事件匹配前被排除。跨文件重名的策略拥有独立的开关。
85
+
86
+ ### 同时使用两种方式
87
+
88
+ 基于约定的策略与显式 `--custom` 文件可以共存。加载顺序如下:
89
+
90
+ 1. 显式 `customPoliciesPaths` 文件(按配置顺序)
91
+ 2. 项目约定文件(`{cwd}/.failproofai/policies/`,按字母顺序)
92
+ 3. 用户约定文件(`~/.failproofai/policies/`,按字母顺序)
93
+
94
+ ---
95
+
96
+ ## API
97
+
98
+ ### 导入
99
+
100
+ ```js
101
+ import { customPolicies, allow, deny, instruct } from "failproofai";
102
+ ```
103
+
104
+ ### `customPolicies.add(hook)`
105
+
106
+ 注册一个策略。在同一文件中可多次调用以注册多个策略。
107
+
108
+ ```ts
109
+ customPolicies.add({
110
+ name: string; // 必填 - 唯一标识符
111
+ description?: string; // 显示在 `failproofai policies` 输出中
112
+ match?: { events?: HookEventType[] }; // 按事件类型过滤;省略则匹配所有事件
113
+ fn: (ctx: PolicyContext) => PolicyResult | Promise<PolicyResult>;
114
+ });
115
+ ```
116
+
117
+ ### 决策辅助函数
118
+
119
+ | 函数 | 效果 | 适用场景 |
120
+ |----------|--------|----------|
121
+ | `allow()` | 静默允许该操作 | 操作安全,无需任何提示 |
122
+ | `deny(message)` | 拦截该操作 | Agent 不应执行此操作 |
123
+ | `instruct(message)` | 添加上下文但不拦截 | 为 Agent 提供额外上下文以保持正轨 |
124
+
125
+ `deny(message)` —— 消息会以 `"Blocked by failproofai:"` 为前缀呈现给 Claude。单次 `deny` 会短路所有后续评估。
126
+
127
+ `instruct(message)` —— 消息会附加到 Claude 当前工具调用的上下文中。所有 `instruct` 消息会被累积后统一传递。
128
+
129
+ <Tip>
130
+ 你可以通过在 `policyParams` 中添加 `hint` 字段,为任意 `deny` 或 `instruct` 消息追加额外指引——无需修改代码。这对自定义(`custom/`)、项目约定(`.failproofai-project/`)和用户约定(`.failproofai-user/`)策略同样适用。详见[配置 → hint](/zh/configuration#hint-cross-cutting)。
131
+ </Tip>
132
+
133
+ ### 信息性 allow 消息
134
+
135
+ `allow(message)` 在允许操作的同时,向 Claude 发送一条信息性消息。该消息通过 Hook 处理器 stdout 响应中的 `additionalContext` 传递——与 `instruct` 使用相同的机制,但语义不同:它是状态更新,而非警告。
136
+
137
+ | 函数 | 效果 | 适用场景 |
138
+ |----------|--------|----------|
139
+ | `allow(message)` | 允许操作并向 Claude 发送上下文 | 确认检查通过,或说明某项检查被跳过的原因 |
140
+
141
+ 使用场景:
142
+ - **状态确认:** `allow("All CI checks passed.")` —— 告知 Claude 一切正常
143
+ - **失败开放说明:** `allow("GitHub CLI not installed, skipping CI check.")` —— 告知 Claude 某项检查被跳过的原因,使其获得完整上下文
144
+ - **多条消息累积:** 如果多个策略各自返回 `allow(message)`,所有消息将以换行符连接后统一传递
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
+ ### `PolicyContext` 字段
164
+
165
+ | 字段 | 类型 | 描述 |
166
+ |-------|------|-------------|
167
+ | `eventType` | `string` | `"PreToolUse"`、`"PostToolUse"`、`"Notification"`、`"Stop"` |
168
+ | `toolName` | `string \| undefined` | 被调用的工具(如 `"Bash"`、`"Write"`、`"Read"`) |
169
+ | `toolInput` | `Record<string, unknown> \| undefined` | 工具的输入参数 |
170
+ | `payload` | `Record<string, unknown>` | 来自 Claude Code 的完整原始事件载荷 |
171
+ | `session` | `SessionMetadata \| undefined` | 会话上下文(见下文) |
172
+
173
+ ### `SessionMetadata` 字段
174
+
175
+ | 字段 | 类型 | 描述 |
176
+ |-------|------|-------------|
177
+ | `sessionId` | `string` | Claude Code 会话标识符 |
178
+ | `cwd` | `string` | Claude Code 会话的工作目录 |
179
+ | `transcriptPath` | `string` | 会话 JSONL 记录文件的路径 |
180
+
181
+ ### 事件类型
182
+
183
+ | 事件 | 触发时机 | `toolInput` 内容 |
184
+ |-------|--------------|----------------------|
185
+ | `PreToolUse` | Claude 执行工具前 | 工具的输入(如 Bash 对应 `{ command: "..." }`) |
186
+ | `PostToolUse` | 工具执行完成后 | 工具的输入 + `tool_result`(输出内容) |
187
+ | `Notification` | Claude 发送通知时 | `{ message: "...", notification_type: "idle" \| "permission_prompt" \| ... }` —— Hook 必须始终返回 `allow()`,无法拦截通知 |
188
+ | `Stop` | Claude 会话结束时 | 空 |
189
+
190
+ ---
191
+
192
+ ## 评估顺序
193
+
194
+ 策略按以下顺序进行评估:
195
+
196
+ 1. 内置策略(按定义顺序)
197
+ 2. 来自 `customPoliciesPath` 的显式自定义策略(按 `.add()` 调用顺序)
198
+ 3. 项目 `.failproofai/policies/` 中的约定策略(文件按字母顺序,文件内按 `.add()` 顺序)
199
+ 4. 用户 `~/.failproofai/policies/` 中的约定策略(文件按字母顺序,文件内按 `.add()` 顺序)
200
+
201
+ <Note>
202
+ 首个 `deny` 会短路所有后续策略。所有 `instruct` 消息会被累积后统一传递。
203
+ </Note>
204
+
205
+ ---
206
+
207
+ ## 传递性导入
208
+
209
+ 自定义策略文件可以使用相对路径导入本地模块:
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
+ 所有从入口文件可达的相对导入均会被解析。其实现方式是将 `from "failproofai"` 的导入重写为实际的 dist 路径,并创建临时 `.mjs` 文件以确保 ESM 兼容性。
227
+
228
+ ---
229
+
230
+ ## 事件类型过滤
231
+
232
+ 使用 `match.events` 限制策略的触发时机:
233
+
234
+ ```js
235
+ customPolicies.add({
236
+ name: "require-summary-on-stop",
237
+ match: { events: ["Stop"] },
238
+ fn: async (ctx) => {
239
+ // 仅在会话结束时触发
240
+ // ctx.session.transcriptPath 包含完整的会话日志
241
+ return allow();
242
+ },
243
+ });
244
+ ```
245
+
246
+ 完全省略 `match` 则对所有事件类型均触发。
247
+
248
+ ---
249
+
250
+ ## 错误处理与失败模式
251
+
252
+ 自定义策略采用**失败开放**原则:错误不会阻止内置策略运行,也不会导致 Hook 处理器崩溃。
253
+
254
+ | 失败情况 | 行为 |
255
+ |---------|----------|
256
+ | `customPoliciesPath` 未设置 | 不运行显式自定义策略;约定策略和内置策略照常继续 |
257
+ | 文件未找到 | 警告记录到 `~/.failproofai/hook.log`;内置策略继续运行 |
258
+ | 语法/导入错误(显式) | 错误记录到 `~/.failproofai/hook.log`;显式自定义策略跳过 |
259
+ | 语法/导入错误(约定) | 错误记录;该文件跳过,其他约定文件仍正常加载 |
260
+ | `fn` 运行时抛出异常 | 错误记录;该 Hook 视为 `allow`;其他 Hook 继续运行 |
261
+ | `fn` 执行超过 10 秒 | 超时记录;视为 `allow` |
262
+ | 约定目录不存在 | 不运行约定策略;不报错 |
263
+
264
+ <Tip>
265
+ 要调试自定义策略错误,可监听日志文件:
266
+
267
+ ```bash
268
+ tail -f ~/.failproofai/hook.log
269
+ ```
270
+ </Tip>
271
+
272
+ ---
273
+
274
+ ## 完整示例:多个策略
275
+
276
+ ```js
277
+ // my-policies.js
278
+ import { customPolicies, allow, deny, instruct } from "failproofai";
279
+
280
+ // 防止 Agent 写入 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
+ // 保持 Agent 正轨:提交前验证测试
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
+ // 在冻结期内防止计划外的依赖变更
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
+ ## 示例文件
330
+
331
+ `examples/` 目录包含开箱即用的策略文件:
332
+
333
+ | 文件 | 内容 |
334
+ |------|----------|
335
+ | `examples/policies-basic.js` | 五个入门策略,涵盖常见 Agent 失败模式 |
336
+ | `examples/policies-advanced/index.js` | 高级模式:传递性导入、异步调用、输出脱敏和会话结束 Hook |
337
+ | `examples/convention-policies/security-policies.mjs` | 基于约定的安全策略(拦截 .env 写入、防止 git 历史重写) |
338
+ | `examples/convention-policies/workflow-policies.mjs` | 基于约定的工作流策略(测试提醒、文件写入审计) |
339
+
340
+ ### 使用显式文件示例
341
+
342
+ ```bash
343
+ failproofai policies --install --custom ./examples/policies-basic.js
344
+ ```
345
+
346
+ ### 使用基于约定的示例
347
+
348
+ ```bash
349
+ # 复制到项目级别
350
+ mkdir -p .failproofai/policies
351
+ cp examples/convention-policies/*.mjs .failproofai/policies/
352
+
353
+ # 或复制到用户级别
354
+ mkdir -p ~/.failproofai/policies
355
+ cp examples/convention-policies/*.mjs ~/.failproofai/policies/
356
+ ```
357
+
358
+ 无需安装命令——文件将在下次 Hook 事件时自动被识别加载。