failproofai 0.0.2 → 0.0.3

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 (483) hide show
  1. package/.next/standalone/.claude/settings.json +316 -0
  2. package/.next/standalone/.failproofai/policies/workflow-policies.mjs +62 -0
  3. package/.next/standalone/.failproofai/policies-config.json +39 -0
  4. package/.next/standalone/.next/BUILD_ID +1 -1
  5. package/.next/standalone/.next/build-manifest.json +5 -5
  6. package/.next/standalone/.next/prerender-manifest.json +3 -3
  7. package/.next/standalone/.next/required-server-files.json +3 -1
  8. package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +2 -2
  9. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  10. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  11. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
  14. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  15. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  16. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  17. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  18. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  19. package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +2 -2
  20. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  21. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  24. package/.next/standalone/.next/server/app/_not-found.rsc +17 -17
  25. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +17 -17
  26. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  27. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
  28. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  29. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  30. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  31. package/.next/standalone/.next/server/app/index.html +1 -1
  32. package/.next/standalone/.next/server/app/index.rsc +16 -16
  33. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  34. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +16 -16
  35. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  36. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +11 -11
  37. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  38. package/.next/standalone/.next/server/app/page/build-manifest.json +2 -2
  39. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  40. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/policies/page/build-manifest.json +2 -2
  43. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
  44. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/project/[name]/page/build-manifest.json +2 -2
  47. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  48. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/build-manifest.json +2 -2
  51. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  52. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  53. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  54. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  55. package/.next/standalone/.next/server/app/projects/page/build-manifest.json +2 -2
  56. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  57. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  58. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +3 -0
  60. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kjo7d_._.js +1 -1
  61. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_05pz9._._.js +1 -1
  62. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
  63. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__12kr5~_._.js → [root-of-the-server]__03kiqd5._.js} +2 -2
  64. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
  65. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
  66. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0qo8503._.js → [root-of-the-server]__0bo8s~-._.js} +2 -2
  67. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
  68. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
  69. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
  70. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +9 -9
  71. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
  72. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
  73. package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
  74. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
  75. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
  76. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0a_7sdg.js +2 -2
  77. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ef3uwk.js +2 -2
  78. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0j79~gv.js +2 -2
  79. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pbja1x.js +2 -2
  80. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0r6o0i2.js +2 -2
  81. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_11y81~_.js +2 -2
  82. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_12or2kf.js +2 -2
  83. package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.js +1 -1
  84. package/.next/standalone/.next/server/middleware-build-manifest.js +5 -5
  85. package/.next/standalone/.next/server/pages/404.html +2 -2
  86. package/.next/standalone/.next/server/pages/500.html +1 -1
  87. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
  89. package/.next/standalone/.next/static/chunks/{0x-625~1vx1lu.js → 02t9.s735hqyq.js} +1 -1
  90. package/.next/standalone/.next/static/chunks/{0ov60i6md~37t.js → 03oepxbqx6o8~.js} +2 -2
  91. package/.next/standalone/.next/static/chunks/{031pa5~qfzt~_.js → 09e7drilkf1sn.js} +1 -1
  92. package/.next/standalone/.next/static/chunks/{0y~0creqvl5wx.js → 0cwft44dh9bww.js} +1 -1
  93. package/.next/standalone/.next/static/chunks/{06og.7e9nkpjh.js → 0e2uz2g026ckb.js} +1 -1
  94. package/.next/standalone/.next/static/chunks/0gu_a.a80ritd.css +1 -0
  95. package/.next/standalone/.next/static/chunks/{15wf7x-e.8ia3.js → 0h5kbvg~.xf.v.js} +1 -1
  96. package/.next/standalone/.next/static/chunks/{0_4y_t03jn2nq.js → 0od..umlku4bb.js} +1 -1
  97. package/.next/standalone/.next/static/chunks/{0cvffh-pbsv5u.js → 0xbwzy4dl87-0.js} +1 -1
  98. package/.next/standalone/.next/static/chunks/{0c_ljlxa._4lc.js → 18cl6wups7ouq.js} +2 -2
  99. package/.next/standalone/.next/static/chunks/{turbopack-0uc5y~g6h.n7-.js → turbopack-0r26pc8h0y_-e.js} +1 -1
  100. package/.next/standalone/CHANGELOG.md +103 -0
  101. package/.next/standalone/CLAUDE.md +28 -0
  102. package/.next/standalone/Dockerfile.docs +12 -0
  103. package/.next/standalone/README.md +95 -49
  104. package/.next/standalone/app/components/session-hooks-panel.tsx +14 -1
  105. package/.next/standalone/app/policies/hooks-client.tsx +14 -1
  106. package/.next/standalone/bin/failproofai.mjs +5 -0
  107. package/.next/standalone/bun.lock +76 -63
  108. package/.next/standalone/components/navbar.tsx +5 -0
  109. package/.next/standalone/dist/cli.mjs +539 -90
  110. package/.next/standalone/dist/index.js +2 -2
  111. package/.next/standalone/docs/ar/architecture.mdx +333 -0
  112. package/.next/standalone/docs/ar/built-in-policies.mdx +566 -0
  113. package/.next/standalone/docs/ar/cli/dashboard.mdx +28 -0
  114. package/.next/standalone/docs/ar/cli/environment-variables.mdx +34 -0
  115. package/.next/standalone/docs/ar/cli/hook.mdx +31 -0
  116. package/.next/standalone/docs/ar/cli/install-policies.mdx +49 -0
  117. package/.next/standalone/docs/ar/cli/list-policies.mdx +31 -0
  118. package/.next/standalone/docs/ar/cli/remove-policies.mdx +45 -0
  119. package/.next/standalone/docs/ar/cli/version.mdx +13 -0
  120. package/.next/standalone/docs/ar/configuration.mdx +223 -0
  121. package/.next/standalone/docs/ar/custom-policies.mdx +359 -0
  122. package/.next/standalone/docs/ar/dashboard.mdx +142 -0
  123. package/.next/standalone/docs/ar/examples.mdx +254 -0
  124. package/.next/standalone/docs/ar/for-agents.mdx +39 -0
  125. package/.next/standalone/docs/ar/getting-started.mdx +134 -0
  126. package/.next/standalone/docs/ar/introduction.mdx +58 -0
  127. package/.next/standalone/docs/ar/package-aliases.mdx +82 -0
  128. package/.next/standalone/docs/ar/testing.mdx +261 -0
  129. package/.next/standalone/docs/{architecture.md → architecture.mdx} +40 -23
  130. package/.next/standalone/docs/{built-in-policies.md → built-in-policies.mdx} +151 -13
  131. package/.next/standalone/docs/cli/dashboard.mdx +28 -0
  132. package/.next/standalone/docs/cli/environment-variables.mdx +34 -0
  133. package/.next/standalone/docs/cli/hook.mdx +30 -0
  134. package/.next/standalone/docs/cli/install-policies.mdx +48 -0
  135. package/.next/standalone/docs/cli/list-policies.mdx +31 -0
  136. package/.next/standalone/docs/cli/remove-policies.mdx +44 -0
  137. package/.next/standalone/docs/cli/version.mdx +12 -0
  138. package/.next/standalone/docs/{configuration.md → configuration.mdx} +62 -16
  139. package/.next/standalone/docs/custom-policies.mdx +357 -0
  140. package/.next/standalone/docs/{dashboard.md → dashboard.mdx} +26 -29
  141. package/.next/standalone/docs/de/architecture.mdx +332 -0
  142. package/.next/standalone/docs/de/built-in-policies.mdx +564 -0
  143. package/.next/standalone/docs/de/cli/dashboard.mdx +28 -0
  144. package/.next/standalone/docs/de/cli/environment-variables.mdx +34 -0
  145. package/.next/standalone/docs/de/cli/hook.mdx +30 -0
  146. package/.next/standalone/docs/de/cli/install-policies.mdx +48 -0
  147. package/.next/standalone/docs/de/cli/list-policies.mdx +31 -0
  148. package/.next/standalone/docs/de/cli/remove-policies.mdx +44 -0
  149. package/.next/standalone/docs/de/cli/version.mdx +12 -0
  150. package/.next/standalone/docs/de/configuration.mdx +222 -0
  151. package/.next/standalone/docs/de/custom-policies.mdx +357 -0
  152. package/.next/standalone/docs/de/dashboard.mdx +142 -0
  153. package/.next/standalone/docs/de/examples.mdx +253 -0
  154. package/.next/standalone/docs/de/for-agents.mdx +38 -0
  155. package/.next/standalone/docs/de/getting-started.mdx +134 -0
  156. package/.next/standalone/docs/de/introduction.mdx +57 -0
  157. package/.next/standalone/docs/de/package-aliases.mdx +82 -0
  158. package/.next/standalone/docs/de/testing.mdx +260 -0
  159. package/.next/standalone/docs/docs.json +938 -24
  160. package/.next/standalone/docs/es/architecture.mdx +332 -0
  161. package/.next/standalone/docs/es/built-in-policies.mdx +564 -0
  162. package/.next/standalone/docs/es/cli/dashboard.mdx +28 -0
  163. package/.next/standalone/docs/es/cli/environment-variables.mdx +34 -0
  164. package/.next/standalone/docs/es/cli/hook.mdx +30 -0
  165. package/.next/standalone/docs/es/cli/install-policies.mdx +48 -0
  166. package/.next/standalone/docs/es/cli/list-policies.mdx +31 -0
  167. package/.next/standalone/docs/es/cli/remove-policies.mdx +44 -0
  168. package/.next/standalone/docs/es/cli/version.mdx +12 -0
  169. package/.next/standalone/docs/es/configuration.mdx +222 -0
  170. package/.next/standalone/docs/es/custom-policies.mdx +357 -0
  171. package/.next/standalone/docs/es/dashboard.mdx +142 -0
  172. package/.next/standalone/docs/es/examples.mdx +253 -0
  173. package/.next/standalone/docs/es/for-agents.mdx +38 -0
  174. package/.next/standalone/docs/es/getting-started.mdx +134 -0
  175. package/.next/standalone/docs/es/introduction.mdx +57 -0
  176. package/.next/standalone/docs/es/package-aliases.mdx +82 -0
  177. package/.next/standalone/docs/es/testing.mdx +260 -0
  178. package/.next/standalone/docs/examples.mdx +253 -0
  179. package/.next/standalone/docs/for-agents.mdx +38 -0
  180. package/.next/standalone/docs/fr/architecture.mdx +332 -0
  181. package/.next/standalone/docs/fr/built-in-policies.mdx +564 -0
  182. package/.next/standalone/docs/fr/cli/dashboard.mdx +28 -0
  183. package/.next/standalone/docs/fr/cli/environment-variables.mdx +34 -0
  184. package/.next/standalone/docs/fr/cli/hook.mdx +30 -0
  185. package/.next/standalone/docs/fr/cli/install-policies.mdx +48 -0
  186. package/.next/standalone/docs/fr/cli/list-policies.mdx +31 -0
  187. package/.next/standalone/docs/fr/cli/remove-policies.mdx +44 -0
  188. package/.next/standalone/docs/fr/cli/version.mdx +12 -0
  189. package/.next/standalone/docs/fr/configuration.mdx +222 -0
  190. package/.next/standalone/docs/fr/custom-policies.mdx +357 -0
  191. package/.next/standalone/docs/fr/dashboard.mdx +142 -0
  192. package/.next/standalone/docs/fr/examples.mdx +253 -0
  193. package/.next/standalone/docs/fr/for-agents.mdx +38 -0
  194. package/.next/standalone/docs/fr/getting-started.mdx +134 -0
  195. package/.next/standalone/docs/fr/introduction.mdx +57 -0
  196. package/.next/standalone/docs/fr/package-aliases.mdx +82 -0
  197. package/.next/standalone/docs/fr/testing.mdx +260 -0
  198. package/.next/standalone/docs/getting-started.mdx +134 -0
  199. package/.next/standalone/docs/he/architecture.mdx +333 -0
  200. package/.next/standalone/docs/he/built-in-policies.mdx +564 -0
  201. package/.next/standalone/docs/he/cli/dashboard.mdx +28 -0
  202. package/.next/standalone/docs/he/cli/environment-variables.mdx +34 -0
  203. package/.next/standalone/docs/he/cli/hook.mdx +30 -0
  204. package/.next/standalone/docs/he/cli/install-policies.mdx +48 -0
  205. package/.next/standalone/docs/he/cli/list-policies.mdx +32 -0
  206. package/.next/standalone/docs/he/cli/remove-policies.mdx +44 -0
  207. package/.next/standalone/docs/he/cli/version.mdx +12 -0
  208. package/.next/standalone/docs/he/configuration.mdx +222 -0
  209. package/.next/standalone/docs/he/custom-policies.mdx +357 -0
  210. package/.next/standalone/docs/he/dashboard.mdx +142 -0
  211. package/.next/standalone/docs/he/examples.mdx +253 -0
  212. package/.next/standalone/docs/he/for-agents.mdx +38 -0
  213. package/.next/standalone/docs/he/getting-started.mdx +135 -0
  214. package/.next/standalone/docs/he/introduction.mdx +57 -0
  215. package/.next/standalone/docs/he/package-aliases.mdx +82 -0
  216. package/.next/standalone/docs/he/testing.mdx +260 -0
  217. package/.next/standalone/docs/hi/architecture.mdx +334 -0
  218. package/.next/standalone/docs/hi/built-in-policies.mdx +564 -0
  219. package/.next/standalone/docs/hi/cli/dashboard.mdx +28 -0
  220. package/.next/standalone/docs/hi/cli/environment-variables.mdx +34 -0
  221. package/.next/standalone/docs/hi/cli/hook.mdx +30 -0
  222. package/.next/standalone/docs/hi/cli/install-policies.mdx +48 -0
  223. package/.next/standalone/docs/hi/cli/list-policies.mdx +31 -0
  224. package/.next/standalone/docs/hi/cli/remove-policies.mdx +44 -0
  225. package/.next/standalone/docs/hi/cli/version.mdx +12 -0
  226. package/.next/standalone/docs/hi/configuration.mdx +222 -0
  227. package/.next/standalone/docs/hi/custom-policies.mdx +357 -0
  228. package/.next/standalone/docs/hi/dashboard.mdx +142 -0
  229. package/.next/standalone/docs/hi/examples.mdx +255 -0
  230. package/.next/standalone/docs/hi/for-agents.mdx +38 -0
  231. package/.next/standalone/docs/hi/getting-started.mdx +134 -0
  232. package/.next/standalone/docs/hi/introduction.mdx +57 -0
  233. package/.next/standalone/docs/hi/package-aliases.mdx +82 -0
  234. package/.next/standalone/docs/hi/testing.mdx +260 -0
  235. package/.next/standalone/docs/i18n/README.ar.md +312 -0
  236. package/.next/standalone/docs/i18n/README.de.md +307 -0
  237. package/.next/standalone/docs/i18n/README.es.md +307 -0
  238. package/.next/standalone/docs/i18n/README.fr.md +307 -0
  239. package/.next/standalone/docs/i18n/README.he.md +312 -0
  240. package/.next/standalone/docs/i18n/README.hi.md +307 -0
  241. package/.next/standalone/docs/i18n/README.it.md +307 -0
  242. package/.next/standalone/docs/i18n/README.ja.md +307 -0
  243. package/.next/standalone/docs/i18n/README.ko.md +307 -0
  244. package/.next/standalone/docs/i18n/README.pt-br.md +307 -0
  245. package/.next/standalone/docs/i18n/README.ru.md +308 -0
  246. package/.next/standalone/docs/i18n/README.tr.md +308 -0
  247. package/.next/standalone/docs/i18n/README.vi.md +308 -0
  248. package/.next/standalone/docs/i18n/README.zh.md +307 -0
  249. package/.next/standalone/docs/introduction.mdx +57 -0
  250. package/.next/standalone/docs/it/architecture.mdx +333 -0
  251. package/.next/standalone/docs/it/built-in-policies.mdx +564 -0
  252. package/.next/standalone/docs/it/cli/dashboard.mdx +28 -0
  253. package/.next/standalone/docs/it/cli/environment-variables.mdx +34 -0
  254. package/.next/standalone/docs/it/cli/hook.mdx +30 -0
  255. package/.next/standalone/docs/it/cli/install-policies.mdx +48 -0
  256. package/.next/standalone/docs/it/cli/list-policies.mdx +31 -0
  257. package/.next/standalone/docs/it/cli/remove-policies.mdx +44 -0
  258. package/.next/standalone/docs/it/cli/version.mdx +12 -0
  259. package/.next/standalone/docs/it/configuration.mdx +223 -0
  260. package/.next/standalone/docs/it/custom-policies.mdx +358 -0
  261. package/.next/standalone/docs/it/dashboard.mdx +142 -0
  262. package/.next/standalone/docs/it/examples.mdx +253 -0
  263. package/.next/standalone/docs/it/for-agents.mdx +38 -0
  264. package/.next/standalone/docs/it/getting-started.mdx +134 -0
  265. package/.next/standalone/docs/it/introduction.mdx +57 -0
  266. package/.next/standalone/docs/it/package-aliases.mdx +82 -0
  267. package/.next/standalone/docs/it/testing.mdx +260 -0
  268. package/.next/standalone/docs/ja/architecture.mdx +332 -0
  269. package/.next/standalone/docs/ja/built-in-policies.mdx +562 -0
  270. package/.next/standalone/docs/ja/cli/dashboard.mdx +28 -0
  271. package/.next/standalone/docs/ja/cli/environment-variables.mdx +34 -0
  272. package/.next/standalone/docs/ja/cli/hook.mdx +30 -0
  273. package/.next/standalone/docs/ja/cli/install-policies.mdx +48 -0
  274. package/.next/standalone/docs/ja/cli/list-policies.mdx +31 -0
  275. package/.next/standalone/docs/ja/cli/remove-policies.mdx +44 -0
  276. package/.next/standalone/docs/ja/cli/version.mdx +12 -0
  277. package/.next/standalone/docs/ja/configuration.mdx +222 -0
  278. package/.next/standalone/docs/ja/custom-policies.mdx +357 -0
  279. package/.next/standalone/docs/ja/dashboard.mdx +142 -0
  280. package/.next/standalone/docs/ja/examples.mdx +253 -0
  281. package/.next/standalone/docs/ja/for-agents.mdx +38 -0
  282. package/.next/standalone/docs/ja/getting-started.mdx +134 -0
  283. package/.next/standalone/docs/ja/introduction.mdx +57 -0
  284. package/.next/standalone/docs/ja/package-aliases.mdx +82 -0
  285. package/.next/standalone/docs/ja/testing.mdx +260 -0
  286. package/.next/standalone/docs/ko/architecture.mdx +332 -0
  287. package/.next/standalone/docs/ko/built-in-policies.mdx +562 -0
  288. package/.next/standalone/docs/ko/cli/dashboard.mdx +28 -0
  289. package/.next/standalone/docs/ko/cli/environment-variables.mdx +34 -0
  290. package/.next/standalone/docs/ko/cli/hook.mdx +30 -0
  291. package/.next/standalone/docs/ko/cli/install-policies.mdx +48 -0
  292. package/.next/standalone/docs/ko/cli/list-policies.mdx +31 -0
  293. package/.next/standalone/docs/ko/cli/remove-policies.mdx +44 -0
  294. package/.next/standalone/docs/ko/cli/version.mdx +12 -0
  295. package/.next/standalone/docs/ko/configuration.mdx +222 -0
  296. package/.next/standalone/docs/ko/custom-policies.mdx +357 -0
  297. package/.next/standalone/docs/ko/dashboard.mdx +142 -0
  298. package/.next/standalone/docs/ko/examples.mdx +253 -0
  299. package/.next/standalone/docs/ko/for-agents.mdx +38 -0
  300. package/.next/standalone/docs/ko/getting-started.mdx +134 -0
  301. package/.next/standalone/docs/ko/introduction.mdx +57 -0
  302. package/.next/standalone/docs/ko/package-aliases.mdx +82 -0
  303. package/.next/standalone/docs/ko/testing.mdx +260 -0
  304. package/.next/standalone/docs/logo/dark.svg +21 -0
  305. package/.next/standalone/docs/logo/light.svg +21 -0
  306. package/.next/standalone/docs/{package-aliases.md → package-aliases.mdx} +5 -5
  307. package/.next/standalone/docs/pt-br/architecture.mdx +332 -0
  308. package/.next/standalone/docs/pt-br/built-in-policies.mdx +564 -0
  309. package/.next/standalone/docs/pt-br/cli/dashboard.mdx +28 -0
  310. package/.next/standalone/docs/pt-br/cli/environment-variables.mdx +34 -0
  311. package/.next/standalone/docs/pt-br/cli/hook.mdx +30 -0
  312. package/.next/standalone/docs/pt-br/cli/install-policies.mdx +48 -0
  313. package/.next/standalone/docs/pt-br/cli/list-policies.mdx +31 -0
  314. package/.next/standalone/docs/pt-br/cli/remove-policies.mdx +44 -0
  315. package/.next/standalone/docs/pt-br/cli/version.mdx +12 -0
  316. package/.next/standalone/docs/pt-br/configuration.mdx +222 -0
  317. package/.next/standalone/docs/pt-br/custom-policies.mdx +357 -0
  318. package/.next/standalone/docs/pt-br/dashboard.mdx +142 -0
  319. package/.next/standalone/docs/pt-br/examples.mdx +253 -0
  320. package/.next/standalone/docs/pt-br/for-agents.mdx +38 -0
  321. package/.next/standalone/docs/pt-br/getting-started.mdx +134 -0
  322. package/.next/standalone/docs/pt-br/introduction.mdx +57 -0
  323. package/.next/standalone/docs/pt-br/package-aliases.mdx +82 -0
  324. package/.next/standalone/docs/pt-br/testing.mdx +260 -0
  325. package/.next/standalone/docs/ru/architecture.mdx +334 -0
  326. package/.next/standalone/docs/ru/built-in-policies.mdx +562 -0
  327. package/.next/standalone/docs/ru/cli/dashboard.mdx +28 -0
  328. package/.next/standalone/docs/ru/cli/environment-variables.mdx +34 -0
  329. package/.next/standalone/docs/ru/cli/hook.mdx +30 -0
  330. package/.next/standalone/docs/ru/cli/install-policies.mdx +48 -0
  331. package/.next/standalone/docs/ru/cli/list-policies.mdx +32 -0
  332. package/.next/standalone/docs/ru/cli/remove-policies.mdx +44 -0
  333. package/.next/standalone/docs/ru/cli/version.mdx +12 -0
  334. package/.next/standalone/docs/ru/configuration.mdx +223 -0
  335. package/.next/standalone/docs/ru/custom-policies.mdx +357 -0
  336. package/.next/standalone/docs/ru/dashboard.mdx +142 -0
  337. package/.next/standalone/docs/ru/examples.mdx +254 -0
  338. package/.next/standalone/docs/ru/for-agents.mdx +38 -0
  339. package/.next/standalone/docs/ru/getting-started.mdx +134 -0
  340. package/.next/standalone/docs/ru/introduction.mdx +57 -0
  341. package/.next/standalone/docs/ru/package-aliases.mdx +82 -0
  342. package/.next/standalone/docs/ru/testing.mdx +260 -0
  343. package/.next/standalone/docs/{testing.md → testing.mdx} +11 -11
  344. package/.next/standalone/docs/tr/architecture.mdx +333 -0
  345. package/.next/standalone/docs/tr/built-in-policies.mdx +562 -0
  346. package/.next/standalone/docs/tr/cli/dashboard.mdx +28 -0
  347. package/.next/standalone/docs/tr/cli/environment-variables.mdx +34 -0
  348. package/.next/standalone/docs/tr/cli/hook.mdx +30 -0
  349. package/.next/standalone/docs/tr/cli/install-policies.mdx +48 -0
  350. package/.next/standalone/docs/tr/cli/list-policies.mdx +31 -0
  351. package/.next/standalone/docs/tr/cli/remove-policies.mdx +45 -0
  352. package/.next/standalone/docs/tr/cli/version.mdx +12 -0
  353. package/.next/standalone/docs/tr/configuration.mdx +223 -0
  354. package/.next/standalone/docs/tr/custom-policies.mdx +357 -0
  355. package/.next/standalone/docs/tr/dashboard.mdx +142 -0
  356. package/.next/standalone/docs/tr/examples.mdx +253 -0
  357. package/.next/standalone/docs/tr/for-agents.mdx +38 -0
  358. package/.next/standalone/docs/tr/getting-started.mdx +134 -0
  359. package/.next/standalone/docs/tr/introduction.mdx +57 -0
  360. package/.next/standalone/docs/tr/package-aliases.mdx +82 -0
  361. package/.next/standalone/docs/tr/testing.mdx +260 -0
  362. package/.next/standalone/docs/vi/architecture.mdx +333 -0
  363. package/.next/standalone/docs/vi/built-in-policies.mdx +564 -0
  364. package/.next/standalone/docs/vi/cli/dashboard.mdx +28 -0
  365. package/.next/standalone/docs/vi/cli/environment-variables.mdx +34 -0
  366. package/.next/standalone/docs/vi/cli/hook.mdx +30 -0
  367. package/.next/standalone/docs/vi/cli/install-policies.mdx +48 -0
  368. package/.next/standalone/docs/vi/cli/list-policies.mdx +31 -0
  369. package/.next/standalone/docs/vi/cli/remove-policies.mdx +44 -0
  370. package/.next/standalone/docs/vi/cli/version.mdx +13 -0
  371. package/.next/standalone/docs/vi/configuration.mdx +222 -0
  372. package/.next/standalone/docs/vi/custom-policies.mdx +357 -0
  373. package/.next/standalone/docs/vi/dashboard.mdx +142 -0
  374. package/.next/standalone/docs/vi/examples.mdx +253 -0
  375. package/.next/standalone/docs/vi/for-agents.mdx +38 -0
  376. package/.next/standalone/docs/vi/getting-started.mdx +134 -0
  377. package/.next/standalone/docs/vi/introduction.mdx +57 -0
  378. package/.next/standalone/docs/vi/package-aliases.mdx +82 -0
  379. package/.next/standalone/docs/vi/testing.mdx +260 -0
  380. package/.next/standalone/docs/zh/architecture.mdx +332 -0
  381. package/.next/standalone/docs/zh/built-in-policies.mdx +562 -0
  382. package/.next/standalone/docs/zh/cli/dashboard.mdx +28 -0
  383. package/.next/standalone/docs/zh/cli/environment-variables.mdx +34 -0
  384. package/.next/standalone/docs/zh/cli/hook.mdx +30 -0
  385. package/.next/standalone/docs/zh/cli/install-policies.mdx +48 -0
  386. package/.next/standalone/docs/zh/cli/list-policies.mdx +31 -0
  387. package/.next/standalone/docs/zh/cli/remove-policies.mdx +44 -0
  388. package/.next/standalone/docs/zh/cli/version.mdx +12 -0
  389. package/.next/standalone/docs/zh/configuration.mdx +222 -0
  390. package/.next/standalone/docs/zh/custom-policies.mdx +357 -0
  391. package/.next/standalone/docs/zh/dashboard.mdx +142 -0
  392. package/.next/standalone/docs/zh/examples.mdx +253 -0
  393. package/.next/standalone/docs/zh/for-agents.mdx +38 -0
  394. package/.next/standalone/docs/zh/getting-started.mdx +134 -0
  395. package/.next/standalone/docs/zh/introduction.mdx +57 -0
  396. package/.next/standalone/docs/zh/package-aliases.mdx +82 -0
  397. package/.next/standalone/docs/zh/testing.mdx +260 -0
  398. package/.next/standalone/examples/convention-policies/security-policies.mjs +40 -0
  399. package/.next/standalone/examples/convention-policies/workflow-policies.mjs +41 -0
  400. package/.next/standalone/next.config.ts +5 -3
  401. package/.next/standalone/node_modules/@next/env/package.json +1 -1
  402. package/.next/standalone/node_modules/next/dist/build/swc/index.js +1 -1
  403. package/.next/standalone/node_modules/next/dist/compiled/jsonwebtoken/index.js +2 -2
  404. package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +1 -1
  405. package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +1 -1
  406. package/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +1 -1
  407. package/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
  408. package/.next/standalone/node_modules/next/dist/server/config.js +1 -1
  409. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +7 -2
  410. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  411. package/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  412. package/.next/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
  413. package/.next/standalone/node_modules/next/dist/server/render.js +20 -19
  414. package/.next/standalone/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +1 -1
  415. package/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  416. package/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  417. package/.next/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
  418. package/.next/standalone/node_modules/next/package.json +15 -15
  419. package/.next/standalone/node_modules/react/cjs/react.development.js +1 -1
  420. package/.next/standalone/node_modules/react/cjs/react.production.js +1 -1
  421. package/.next/standalone/node_modules/react/package.json +1 -1
  422. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +1 -1
  423. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +1 -1
  424. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.browser.production.js +3 -3
  425. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.edge.production.js +3 -3
  426. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.node.production.js +3 -3
  427. package/.next/standalone/node_modules/react-dom/cjs/react-dom.production.js +1 -1
  428. package/.next/standalone/node_modules/react-dom/package.json +2 -2
  429. package/.next/standalone/package.json +13 -10
  430. package/.next/standalone/scripts/translate-docs/cache.ts +62 -0
  431. package/.next/standalone/scripts/translate-docs/cli.ts +357 -0
  432. package/.next/standalone/scripts/translate-docs/config.ts +248 -0
  433. package/.next/standalone/scripts/translate-docs/mdx-translator.ts +153 -0
  434. package/.next/standalone/scripts/translate-docs/mintlify-nav.ts +107 -0
  435. package/.next/standalone/scripts/translate-docs/readme-translator.ts +154 -0
  436. package/.next/standalone/scripts/translate-docs/translator.ts +68 -0
  437. package/.next/standalone/scripts/translate-docs/types.ts +43 -0
  438. package/.next/standalone/server.js +1 -1
  439. package/.next/standalone/skills-lock.json +10 -0
  440. package/.next/standalone/src/hooks/builtin-policies.ts +405 -25
  441. package/.next/standalone/src/hooks/custom-hooks-loader.ts +165 -21
  442. package/.next/standalone/src/hooks/handler.ts +33 -6
  443. package/.next/standalone/src/hooks/hook-activity-store.ts +6 -1
  444. package/.next/standalone/src/hooks/hooks-config.ts +47 -2
  445. package/.next/standalone/src/hooks/llm-client.ts +2 -2
  446. package/.next/standalone/src/hooks/loader-utils.ts +4 -4
  447. package/.next/standalone/src/hooks/manager.ts +67 -16
  448. package/.next/standalone/src/hooks/policy-evaluator.ts +58 -19
  449. package/.next/standalone/src/hooks/policy-helpers.ts +2 -2
  450. package/.next/standalone/vitest.config.e2e.mts +3 -0
  451. package/.next/standalone/vitest.config.mts +3 -0
  452. package/README.md +95 -49
  453. package/bin/failproofai.mjs +5 -0
  454. package/dist/cli.mjs +539 -90
  455. package/dist/index.js +2 -2
  456. package/package.json +13 -10
  457. package/scripts/translate-docs/cache.ts +62 -0
  458. package/scripts/translate-docs/cli.ts +357 -0
  459. package/scripts/translate-docs/config.ts +248 -0
  460. package/scripts/translate-docs/mdx-translator.ts +153 -0
  461. package/scripts/translate-docs/mintlify-nav.ts +107 -0
  462. package/scripts/translate-docs/readme-translator.ts +154 -0
  463. package/scripts/translate-docs/translator.ts +68 -0
  464. package/scripts/translate-docs/types.ts +43 -0
  465. package/src/hooks/builtin-policies.ts +405 -25
  466. package/src/hooks/custom-hooks-loader.ts +165 -21
  467. package/src/hooks/handler.ts +33 -6
  468. package/src/hooks/hook-activity-store.ts +6 -1
  469. package/src/hooks/hooks-config.ts +47 -2
  470. package/src/hooks/llm-client.ts +2 -2
  471. package/src/hooks/loader-utils.ts +4 -4
  472. package/src/hooks/manager.ts +67 -16
  473. package/src/hooks/policy-evaluator.ts +58 -19
  474. package/src/hooks/policy-helpers.ts +2 -2
  475. package/.next/standalone/.next/server/chunks/[root-of-the-server]__02nt~6d._.js +0 -3
  476. package/.next/standalone/.next/static/chunks/15jpradyu_531.css +0 -1
  477. package/.next/standalone/docs/cli-reference.md +0 -175
  478. package/.next/standalone/docs/custom-hooks.md +0 -261
  479. package/.next/standalone/docs/getting-started.md +0 -128
  480. package/.next/standalone/docs/introduction.md +0 -47
  481. /package/.next/standalone/.next/static/{WS-OQSqL1Lp1w_obXfjvl → En9eEShUkUjgeYbY9v6Gy}/_buildManifest.js +0 -0
  482. /package/.next/standalone/.next/static/{WS-OQSqL1Lp1w_obXfjvl → En9eEShUkUjgeYbY9v6Gy}/_clientMiddlewareManifest.js +0 -0
  483. /package/.next/standalone/.next/static/{WS-OQSqL1Lp1w_obXfjvl → En9eEShUkUjgeYbY9v6Gy}/_ssgManifest.js +0 -0
@@ -0,0 +1,48 @@
1
+ ---
2
+ title: Cài đặt policies
3
+ description: "Bật policies để chúng chạy trên mọi lệnh gọi tool của agent"
4
+ ---
5
+
6
+ ```bash
7
+ failproofai policies --install [policy-names...] [options]
8
+ ```
9
+
10
+ Ghi các hook entries vào `settings.json` của Claude Code để failproofai chặn các lệnh gọi tool.
11
+
12
+ Các alias: `failproofai p -i`
13
+
14
+ ## Options
15
+
16
+ | Flag | Description |
17
+ |------|-------------|
18
+ | `--scope user` | Cài đặt vào `~/.claude/settings.json` (mặc định - tất cả các phiên) |
19
+ | `--scope project` | Cài đặt vào `.claude/settings.json` trong thư mục hiện tại |
20
+ | `--scope local` | Cài đặt vào `.claude/settings.local.json` trong thư mục hiện tại |
21
+ | `--custom <path>` / `-c` | Đường dẫn đến tệp JS chứa các custom hook policies |
22
+ | `--beta` | Bao gồm các beta policies |
23
+
24
+ ## Behavior
25
+
26
+ - **Không có tên policy** - mở một prompt tương tác để chọn policies
27
+ - **Tên cụ thể** - bật các policies đó (được thêm vào các policies đã bật)
28
+ - **`all`** - bật tất cả các policies có sẵn
29
+
30
+ Cài đặt là cộng dồn: chạy `--install` lại sẽ thêm các policies mới mà không loại bỏ các policies hiện có.
31
+
32
+ ## Examples
33
+
34
+ ```bash
35
+ # Cài đặt tất cả các default policies toàn cục (tương tác)
36
+ failproofai policies --install
37
+
38
+ # Cài đặt các policies cụ thể cho dự án hiện tại
39
+ failproofai policies --install block-sudo sanitize-api-keys --scope project
40
+
41
+ # Bật tất cả các policies cùng lúc
42
+ failproofai policies --install all
43
+
44
+ # Cài đặt với một tệp custom policies
45
+ failproofai policies --install --custom ./my-policies.js
46
+ ```
47
+
48
+ Khi `--custom <path>` được cung cấp, tệp sẽ được xác thực ngay lập tức - nó phải gọi `customPolicies.add()` ít nhất một lần. Đường dẫn đã giải quyết được lưu vào `policies-config.json` dưới dạng `customPoliciesPath`.
@@ -0,0 +1,31 @@
1
+ ---
2
+ title: Liệt kê các chính sách
3
+ description: "Xem các chính sách đã bật, tham số của chúng và chính sách tùy chỉnh"
4
+ ---
5
+
6
+ ```bash
7
+ failproofai policies
8
+ ```
9
+
10
+ Hiển thị tất cả các chính sách với trạng thái, tham số được cấu hình và chính sách tùy chỉnh.
11
+
12
+ ## Kết quả mẫu
13
+
14
+ ```text
15
+ Failproof AI Hook Policies (user)
16
+
17
+ Status Name Description
18
+ ────── ──────────────────────────────────────────────────────────────
19
+ ✓ block-sudo Block sudo commands
20
+ allowPatterns: ["sudo systemctl status"]
21
+ ✓ block-rm-rf Block recursive deletions
22
+ ✗ block-curl-pipe-sh Block curl|bash patterns
23
+ ✓ sanitize-api-keys Redact API keys from output
24
+ additionalPatterns: [{ regex: "MY_TOKEN_...", label: "..." }]
25
+
26
+ ── Custom Policies (/home/alice/myproject/my-policies.js) ──────────────
27
+ ✓ require-jira-ticket Block commits without ticket
28
+ ✓ approval-gate Approval gate for destructive ops
29
+ ```
30
+
31
+ Các khóa không xác định trong `policyParams` sẽ được đánh dấu tại đây để bạn có thể phát hiện lỗi đánh máy sớm.
@@ -0,0 +1,44 @@
1
+ ---
2
+ title: Gỡ cài đặt policies
3
+ description: "Xóa các hook entries từ settings của Claude Code"
4
+ ---
5
+
6
+ ```bash
7
+ failproofai policies --uninstall [policy-names...] [options]
8
+ ```
9
+
10
+ Xóa các failproofai hook entries từ `settings.json` của Claude Code.
11
+
12
+ Bí danh: `failproofai p -u`
13
+
14
+ ## Options
15
+
16
+ | Flag | Mô tả |
17
+ |------|-------------|
18
+ | `--scope user` | Xóa từ cài đặt toàn cầu (mặc định) |
19
+ | `--scope project` | Xóa từ cài đặt dự án |
20
+ | `--scope local` | Xóa từ cài đặt cục bộ |
21
+ | `--scope all` | Xóa từ tất cả các phạm vi cùng một lúc |
22
+ | `--custom` / `-c` | Xóa `customPoliciesPath` khỏi cấu hình |
23
+ | `--beta` | Chỉ xóa các beta policies khỏi cấu hình |
24
+
25
+ ## Hành vi
26
+
27
+ - **Không có tên policy** - xóa tất cả failproofai hook entries khỏi file cài đặt
28
+ - **Các tên cụ thể** - vô hiệu hóa các policies đó nhưng giữ lại các hooks đã cài đặt
29
+
30
+ ## Ví dụ
31
+
32
+ ```bash
33
+ # Xóa tất cả hooks toàn cầu
34
+ failproofai policies --uninstall
35
+
36
+ # Vô hiệu hóa một policy cụ thể (giữ lại hooks đã cài đặt)
37
+ failproofai policies --uninstall block-sudo
38
+
39
+ # Xóa hooks từ mọi phạm vi
40
+ failproofai policies --uninstall --scope all
41
+
42
+ # Xóa đường dẫn custom policies
43
+ failproofai policies --uninstall --custom
44
+ ```
@@ -0,0 +1,13 @@
1
+ ---
2
+ ---
3
+ title: Kiểm tra phiên bản
4
+ description: "In ra phiên bản failproofai đã cài đặt"
5
+ ---
6
+
7
+ ```bash
8
+ failproofai --version
9
+ # or
10
+ failproofai -v
11
+ ```
12
+
13
+ In ra số phiên bản đã cài đặt.
@@ -0,0 +1,222 @@
1
+ ---
2
+ title: Cấu hình
3
+ description: "Định dạng tệp cấu hình, hệ thống ba phạm vi và quy tắc hợp nhất"
4
+ icon: gear
5
+ ---
6
+
7
+ failproofai sử dụng các tệp cấu hình JSON để kiểm soát các chính sách nào được kích hoạt, cách chúng hoạt động và nơi tải các chính sách tùy chỉnh. Cấu hình được thiết kế để dễ dàng chia sẻ với nhóm của bạn - cam kết nó vào repo của bạn và mỗi nhà phát triển sẽ nhận được cùng một lưới an toàn tác nhân.
8
+
9
+ ---
10
+
11
+ ## Phạm vi cấu hình
12
+
13
+ Có ba phạm vi cấu hình, được đánh giá theo thứ tự ưu tiên:
14
+
15
+ | Phạm vi | Đường dẫn tệp | Mục đích |
16
+ |--------|--------------|---------|
17
+ | **project** | `.failproofai/policies-config.json` | Cài đặt trên mỗi repo, được cam kết vào kiểm soát phiên bản |
18
+ | **local** | `.failproofai/policies-config.local.json` | Ghi đè cá nhân trên mỗi repo, được gitignore |
19
+ | **global** | `~/.failproofai/policies-config.json` | Giá trị mặc định ở cấp người dùng trên tất cả các dự án |
20
+
21
+ Khi failproofai nhận một sự kiện hook, nó tải và hợp nhất cả ba tệp tồn tại cho thư mục làm việc hiện tại.
22
+
23
+ ### Quy tắc hợp nhất
24
+
25
+ **`enabledPolicies`** - hợp của tất cả ba phạm vi. Một chính sách được kích hoạt ở bất kỳ mức nào sẽ hoạt động.
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"] ← loại bỏ trùng lặp
33
+ ```
34
+
35
+ **`policyParams`** - phạm vi đầu tiên xác định các tham số cho một chính sách nào đó sẽ chiến thắng hoàn toàn. Không có hợp nhất sâu các giá trị trong tham số của một chính sách.
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 chiến thắng, global bị bỏ qua
42
+ ```
43
+
44
+ ```text
45
+ project: (không có mục block-sudo)
46
+ local: (không có mục block-sudo)
47
+ global: block-sudo → { allowPatterns: ["sudo systemctl status"] }
48
+
49
+ resolved: { allowPatterns: ["sudo systemctl status"] } ← rơi xuống global
50
+ ```
51
+
52
+ **`customPoliciesPath`** - phạm vi đầu tiên xác định nó sẽ chiến thắng.
53
+
54
+ **`llm`** - phạm vi đầu tiên xác định nó sẽ chiến thắng.
55
+
56
+ ---
57
+
58
+ ## Định dạng tệp cấu hình
59
+
60
+ ```json
61
+ {
62
+ "enabledPolicies": [
63
+ "block-sudo",
64
+ "block-rm-rf",
65
+ "block-push-master",
66
+ "sanitize-api-keys",
67
+ "sanitize-jwt",
68
+ "block-env-files",
69
+ "block-read-outside-cwd"
70
+ ],
71
+ "policyParams": {
72
+ "block-sudo": {
73
+ "allowPatterns": ["sudo systemctl status", "sudo journalctl"]
74
+ },
75
+ "block-push-master": {
76
+ "protectedBranches": ["main", "release", "prod"]
77
+ },
78
+ "block-rm-rf": {
79
+ "allowPaths": ["/tmp"]
80
+ },
81
+ "block-read-outside-cwd": {
82
+ "allowPaths": ["/shared/data", "/opt/company"]
83
+ },
84
+ "sanitize-api-keys": {
85
+ "additionalPatterns": [
86
+ { "regex": "myco_[A-Za-z0-9]{32}", "label": "MyCo API key" }
87
+ ]
88
+ },
89
+ "warn-large-file-write": {
90
+ "thresholdKb": 512
91
+ }
92
+ },
93
+ "customPoliciesPath": "/home/alice/myproject/my-policies.js"
94
+ }
95
+ ```
96
+
97
+ ---
98
+
99
+ ## Tham chiếu trường
100
+
101
+ ### `enabledPolicies`
102
+
103
+ Loại: `string[]`
104
+
105
+ Danh sách tên chính sách cần bật. Tên phải khớp chính xác với các định danh chính sách được hiển thị bởi `failproofai policies`. Xem [Chính sách tích hợp](/vi/built-in-policies) để có danh sách đầy đủ.
106
+
107
+ Các chính sách không nằm trong `enabledPolicies` không hoạt động, ngay cả khi chúng có mục trong `policyParams`.
108
+
109
+ ### `policyParams`
110
+
111
+ Loại: `Record<string, Record<string, unknown>>`
112
+
113
+ Ghi đè tham số cho mỗi chính sách. Khóa bên ngoài là tên chính sách; các khóa bên trong là khóa dành riêng cho chính sách. Mỗi chính sách ghi lại các tham số khả dụng của nó trong [Chính sách tích hợp](/vi/built-in-policies).
114
+
115
+ Nếu một chính sách có các tham số nhưng bạn không chỉ định chúng, các giá trị mặc định tích hợp của chính sách sẽ được sử dụng. Người dùng không cấu hình `policyParams` sẽ nhận được hành vi giống hệt như các phiên bản trước đó.
116
+
117
+ Các khóa không xác định bên trong khối tham số của một chính sách sẽ bị bỏ qua khi hook được kích hoạt nhưng được đánh dấu là cảnh báo khi bạn chạy `failproofai policies`.
118
+
119
+ #### `hint` (cross-cutting)
120
+
121
+ Loại: `string` (tùy chọn)
122
+
123
+ Một thông điệp được thêm vào lý do khi một chính sách trả về `deny` hoặc `instruct`. Sử dụng nó để đưa ra hướng dẫn hành động cho Claude mà không cần sửa đổi chính sách.
124
+
125
+ Hoạt động với bất kỳ loại chính sách nào — tích hợp, tùy chỉnh (`custom/`), quy ước dự án (`.failproofai-project/`), hoặc quy ước người dùng (`.failproofai-user/`).
126
+
127
+ ```json
128
+ {
129
+ "policyParams": {
130
+ "block-force-push": {
131
+ "hint": "Try creating a fresh branch instead."
132
+ },
133
+ "block-sudo": {
134
+ "allowPatterns": ["sudo apt-get"],
135
+ "hint": "Use apt-get directly without sudo."
136
+ },
137
+ "custom/my-policy": {
138
+ "hint": "Ask the user for approval first."
139
+ }
140
+ }
141
+ }
142
+ ```
143
+
144
+ Khi `block-force-push` từ chối, Claude sẽ thấy: *"Force-pushing is blocked. Try creating a fresh branch instead."*
145
+
146
+ Các giá trị không phải chuỗi và chuỗi rỗng sẽ bị bỏ qua. Nếu `hint` không được đặt, hành vi không thay đổi (tương thích ngược).
147
+
148
+ ### `customPoliciesPath`
149
+
150
+ Loại: `string` (đường dẫn tuyệt đối)
151
+
152
+ Đường dẫn đến tệp JavaScript chứa các chính sách hook tùy chỉnh. Điều này được đặt tự động bởi `failproofai policies --install --custom <path>` (đường dẫn được giải quyết thành tuyệt đối trước khi được lưu trữ).
153
+
154
+ Tệp được tải mới trên mỗi sự kiện hook - không có lưu cache. Xem [Chính sách tùy chỉnh](/vi/custom-policies) để biết chi tiết tác giả.
155
+
156
+ ### Chính sách dựa trên quy ước (v0.0.2-beta.7+)
157
+
158
+ Ngoài `customPoliciesPath` rõ ràng, failproofai tự động phát hiện và tải các tệp chính sách từ thư mục `.failproofai/policies/`:
159
+
160
+ | Mức | Thư mục | Phạm vi |
161
+ |-----|--------|--------|
162
+ | Dự án | `.failproofai/policies/` | Chia sẻ với nhóm qua kiểm soát phiên bản |
163
+ | Người dùng | `~/.failproofai/policies/` | Cá nhân, áp dụng cho tất cả các dự án |
164
+
165
+ **Khớp tệp:** Chỉ các tệp khớp `*policies.{js,mjs,ts}` được tải (ví dụ: `security-policies.mjs`, `workflow-policies.js`). Các tệp khác trong thư mục sẽ bị bỏ qua.
166
+
167
+ **Không cần cấu hình:** Chính sách quy ước không yêu cầu mục nhập trong `policies-config.json`. Chỉ cần thả các tệp vào thư mục và chúng sẽ được nhận trên sự kiện hook tiếp theo.
168
+
169
+ **Tải kết hợp:** Cả thư mục quy ước dự án và người dùng đều được quét. Tất cả các tệp phù hợp từ cả hai mức được tải (không giống như `customPoliciesPath` sử dụng first-scope-wins).
170
+
171
+ Xem [Chính sách tùy chỉnh](/vi/custom-policies) để biết thêm chi tiết và ví dụ.
172
+
173
+ ### `llm`
174
+
175
+ Loại: `object` (tùy chọn)
176
+
177
+ Cấu hình máy khách LLM cho các chính sách thực hiện các lệnh gọi AI. Không bắt buộc đối với hầu hết các thiết lập.
178
+
179
+ ```json
180
+ {
181
+ "llm": {
182
+ "model": "claude-sonnet-4-6",
183
+ "apiKey": "sk-ant-..."
184
+ }
185
+ }
186
+ ```
187
+
188
+ ---
189
+
190
+ ## Quản lý cấu hình từ CLI
191
+
192
+ Các lệnh `policies --install` và `policies --uninstall` ghi vào `settings.json` của Claude Code (các điểm vào hook), trong khi `policies-config.json` là tệp bạn quản lý trực tiếp. Hai cái này là riêng biệt:
193
+
194
+ - **`settings.json`** - yêu cầu Claude Code gọi `failproofai --hook <event>` trên mỗi lần sử dụng công cụ
195
+ - **`policies-config.json`** - yêu cầu failproofai đánh giá chính sách nào và với những tham số nào
196
+
197
+ Bạn có thể chỉnh sửa `policies-config.json` trực tiếp bất kỳ lúc nào; các thay đổi có hiệu lực ngay trên sự kiện hook tiếp theo mà không cần khởi động lại.
198
+
199
+ ---
200
+
201
+ ## Ví dụ: cấu hình cấp dự án với giá trị mặc định nhóm
202
+
203
+ Cam kết `.failproofai/policies-config.json` vào repo của bạn:
204
+
205
+ ```json
206
+ {
207
+ "enabledPolicies": [
208
+ "block-sudo",
209
+ "block-rm-rf",
210
+ "block-push-master",
211
+ "sanitize-api-keys",
212
+ "block-env-files"
213
+ ],
214
+ "policyParams": {
215
+ "block-push-master": {
216
+ "protectedBranches": ["main", "release", "hotfix"]
217
+ }
218
+ }
219
+ }
220
+ ```
221
+
222
+ Mỗi nhà phát triển sau đó có thể tạo `.failproofai/policies-config.local.json` (được gitignore) cho các ghi đè cá nhân mà không ảnh hưởng đến đồng nghiệp.