failproofai 0.0.6-beta.2 → 0.0.6-beta.4

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 (511) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +3 -3
  3. package/.next/standalone/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/required-server-files.json +7 -1
  5. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  6. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  7. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
  10. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  11. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  12. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  13. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  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/server-reference-manifest.json +1 -1
  16. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  19. package/.next/standalone/.next/server/app/_not-found.rsc +17 -17
  20. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +17 -17
  21. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  22. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
  23. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  24. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  25. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  26. package/.next/standalone/.next/server/app/index.html +1 -1
  27. package/.next/standalone/.next/server/app/index.rsc +16 -16
  28. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  29. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +16 -16
  30. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  31. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +11 -11
  32. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  33. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  34. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
  37. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  40. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  43. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  44. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  47. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +1 -1
  50. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
  51. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
  52. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
  53. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
  54. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
  55. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
  56. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0i5kvry._.js → [root-of-the-server]__0om-5pe._.js} +2 -2
  57. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +2 -2
  58. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__05akje6._.js → [root-of-the-server]__111.vxi._.js} +2 -2
  59. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
  60. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
  61. package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
  62. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
  63. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
  64. package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.js +1 -1
  65. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  66. package/.next/standalone/.next/server/pages/404.html +2 -2
  67. package/.next/standalone/.next/server/pages/500.html +1 -1
  68. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
  70. package/.next/standalone/.next/static/chunks/{05j1px0r8yzh6.js → 02dqjyv6_9mhq.js} +2 -2
  71. package/.next/standalone/.next/static/chunks/{14cl9poem30dq.js → 070orfsl6.xal.js} +1 -1
  72. package/.next/standalone/.next/static/chunks/0mir9jdxn35~s.css +1 -0
  73. package/.next/standalone/.next/static/chunks/{00j0rr7rh8ef8.js → 0o547jv-k_k35.js} +1 -1
  74. package/.next/standalone/.next/static/chunks/{0ijk_kek9_wyx.js → 0pk2h2.mjxy.m.js} +1 -1
  75. package/.next/standalone/.next/static/chunks/{0xpl.oscrakvx.js → 0rcwkbh24w38b.js} +1 -1
  76. package/.next/standalone/.next/static/chunks/{1052sguyd-.ka.js → 140xx_tfr~lm_.js} +1 -1
  77. package/.next/standalone/.next/static/chunks/{0npb~873.wvg3.js → 169_e4dq~1~b6.js} +1 -1
  78. package/.next/standalone/.next/static/chunks/{0badv41uxa56..js → 17ne4p.1sw1jy.js} +1 -1
  79. package/.next/standalone/next.config.ts +6 -0
  80. package/.next/standalone/package.json +2 -2
  81. package/.next/standalone/server.js +1 -1
  82. package/bin/failproofai.mjs +91 -4
  83. package/dist/cli.mjs +1155 -54
  84. package/package.json +2 -2
  85. package/scripts/prune-standalone.mjs +128 -0
  86. package/src/auth/login.ts +104 -0
  87. package/src/auth/logout.ts +50 -0
  88. package/src/auth/token-store.ts +64 -0
  89. package/src/hooks/builtin-policies.ts +22 -20
  90. package/src/hooks/handler.ts +35 -15
  91. package/src/relay/daemon.ts +362 -0
  92. package/src/relay/pid.ts +76 -0
  93. package/src/relay/queue.ts +225 -0
  94. package/.next/standalone/.claude/settings.json +0 -316
  95. package/.next/standalone/.failproofai/policies/review-policies.mjs +0 -113
  96. package/.next/standalone/.failproofai/policies/workflow-policies.mjs +0 -63
  97. package/.next/standalone/.failproofai/policies-config.json +0 -39
  98. package/.next/standalone/.next/static/chunks/0gu_a.a80ritd.css +0 -1
  99. package/.next/standalone/AGENTS.md +0 -80
  100. package/.next/standalone/CHANGELOG.md +0 -151
  101. package/.next/standalone/CLAUDE.md +0 -165
  102. package/.next/standalone/CONTRIBUTING.md +0 -76
  103. package/.next/standalone/Dockerfile.docs +0 -12
  104. package/.next/standalone/LICENSE +0 -42
  105. package/.next/standalone/README.md +0 -301
  106. package/.next/standalone/bin/failproofai.mjs +0 -352
  107. package/.next/standalone/bun.lock +0 -1119
  108. package/.next/standalone/components.json +0 -23
  109. package/.next/standalone/dist/cli.mjs +0 -3595
  110. package/.next/standalone/dist/index.js +0 -80
  111. package/.next/standalone/docs/ar/architecture.mdx +0 -334
  112. package/.next/standalone/docs/ar/built-in-policies.mdx +0 -574
  113. package/.next/standalone/docs/ar/cli/dashboard.mdx +0 -28
  114. package/.next/standalone/docs/ar/cli/environment-variables.mdx +0 -34
  115. package/.next/standalone/docs/ar/cli/hook.mdx +0 -31
  116. package/.next/standalone/docs/ar/cli/install-policies.mdx +0 -48
  117. package/.next/standalone/docs/ar/cli/list-policies.mdx +0 -31
  118. package/.next/standalone/docs/ar/cli/remove-policies.mdx +0 -43
  119. package/.next/standalone/docs/ar/cli/version.mdx +0 -13
  120. package/.next/standalone/docs/ar/configuration.mdx +0 -223
  121. package/.next/standalone/docs/ar/custom-policies.mdx +0 -354
  122. package/.next/standalone/docs/ar/dashboard.mdx +0 -142
  123. package/.next/standalone/docs/ar/examples.mdx +0 -307
  124. package/.next/standalone/docs/ar/for-agents.mdx +0 -39
  125. package/.next/standalone/docs/ar/getting-started.mdx +0 -187
  126. package/.next/standalone/docs/ar/introduction.mdx +0 -58
  127. package/.next/standalone/docs/ar/package-aliases.mdx +0 -82
  128. package/.next/standalone/docs/ar/testing.mdx +0 -261
  129. package/.next/standalone/docs/architecture.mdx +0 -332
  130. package/.next/standalone/docs/built-in-policies.mdx +0 -574
  131. package/.next/standalone/docs/cli/dashboard.mdx +0 -28
  132. package/.next/standalone/docs/cli/environment-variables.mdx +0 -34
  133. package/.next/standalone/docs/cli/hook.mdx +0 -30
  134. package/.next/standalone/docs/cli/install-policies.mdx +0 -47
  135. package/.next/standalone/docs/cli/list-policies.mdx +0 -31
  136. package/.next/standalone/docs/cli/remove-policies.mdx +0 -43
  137. package/.next/standalone/docs/cli/version.mdx +0 -12
  138. package/.next/standalone/docs/configuration.mdx +0 -222
  139. package/.next/standalone/docs/custom-policies.mdx +0 -353
  140. package/.next/standalone/docs/dashboard.mdx +0 -142
  141. package/.next/standalone/docs/de/architecture.mdx +0 -332
  142. package/.next/standalone/docs/de/built-in-policies.mdx +0 -574
  143. package/.next/standalone/docs/de/cli/dashboard.mdx +0 -28
  144. package/.next/standalone/docs/de/cli/environment-variables.mdx +0 -34
  145. package/.next/standalone/docs/de/cli/hook.mdx +0 -30
  146. package/.next/standalone/docs/de/cli/install-policies.mdx +0 -47
  147. package/.next/standalone/docs/de/cli/list-policies.mdx +0 -31
  148. package/.next/standalone/docs/de/cli/remove-policies.mdx +0 -43
  149. package/.next/standalone/docs/de/cli/version.mdx +0 -12
  150. package/.next/standalone/docs/de/configuration.mdx +0 -222
  151. package/.next/standalone/docs/de/custom-policies.mdx +0 -353
  152. package/.next/standalone/docs/de/dashboard.mdx +0 -142
  153. package/.next/standalone/docs/de/examples.mdx +0 -307
  154. package/.next/standalone/docs/de/for-agents.mdx +0 -38
  155. package/.next/standalone/docs/de/getting-started.mdx +0 -186
  156. package/.next/standalone/docs/de/introduction.mdx +0 -57
  157. package/.next/standalone/docs/de/package-aliases.mdx +0 -82
  158. package/.next/standalone/docs/de/testing.mdx +0 -260
  159. package/.next/standalone/docs/docs.json +0 -1002
  160. package/.next/standalone/docs/es/architecture.mdx +0 -332
  161. package/.next/standalone/docs/es/built-in-policies.mdx +0 -574
  162. package/.next/standalone/docs/es/cli/dashboard.mdx +0 -28
  163. package/.next/standalone/docs/es/cli/environment-variables.mdx +0 -34
  164. package/.next/standalone/docs/es/cli/hook.mdx +0 -30
  165. package/.next/standalone/docs/es/cli/install-policies.mdx +0 -47
  166. package/.next/standalone/docs/es/cli/list-policies.mdx +0 -31
  167. package/.next/standalone/docs/es/cli/remove-policies.mdx +0 -43
  168. package/.next/standalone/docs/es/cli/version.mdx +0 -12
  169. package/.next/standalone/docs/es/configuration.mdx +0 -222
  170. package/.next/standalone/docs/es/custom-policies.mdx +0 -353
  171. package/.next/standalone/docs/es/dashboard.mdx +0 -142
  172. package/.next/standalone/docs/es/examples.mdx +0 -307
  173. package/.next/standalone/docs/es/for-agents.mdx +0 -38
  174. package/.next/standalone/docs/es/getting-started.mdx +0 -186
  175. package/.next/standalone/docs/es/introduction.mdx +0 -57
  176. package/.next/standalone/docs/es/package-aliases.mdx +0 -82
  177. package/.next/standalone/docs/es/testing.mdx +0 -260
  178. package/.next/standalone/docs/examples.mdx +0 -307
  179. package/.next/standalone/docs/favicon.ico +0 -0
  180. package/.next/standalone/docs/for-agents.mdx +0 -38
  181. package/.next/standalone/docs/fr/architecture.mdx +0 -332
  182. package/.next/standalone/docs/fr/built-in-policies.mdx +0 -574
  183. package/.next/standalone/docs/fr/cli/dashboard.mdx +0 -28
  184. package/.next/standalone/docs/fr/cli/environment-variables.mdx +0 -34
  185. package/.next/standalone/docs/fr/cli/hook.mdx +0 -30
  186. package/.next/standalone/docs/fr/cli/install-policies.mdx +0 -47
  187. package/.next/standalone/docs/fr/cli/list-policies.mdx +0 -31
  188. package/.next/standalone/docs/fr/cli/remove-policies.mdx +0 -43
  189. package/.next/standalone/docs/fr/cli/version.mdx +0 -12
  190. package/.next/standalone/docs/fr/configuration.mdx +0 -222
  191. package/.next/standalone/docs/fr/custom-policies.mdx +0 -353
  192. package/.next/standalone/docs/fr/dashboard.mdx +0 -142
  193. package/.next/standalone/docs/fr/examples.mdx +0 -307
  194. package/.next/standalone/docs/fr/for-agents.mdx +0 -38
  195. package/.next/standalone/docs/fr/getting-started.mdx +0 -186
  196. package/.next/standalone/docs/fr/introduction.mdx +0 -57
  197. package/.next/standalone/docs/fr/package-aliases.mdx +0 -82
  198. package/.next/standalone/docs/fr/testing.mdx +0 -260
  199. package/.next/standalone/docs/getting-started.mdx +0 -186
  200. package/.next/standalone/docs/he/architecture.mdx +0 -333
  201. package/.next/standalone/docs/he/built-in-policies.mdx +0 -574
  202. package/.next/standalone/docs/he/cli/dashboard.mdx +0 -28
  203. package/.next/standalone/docs/he/cli/environment-variables.mdx +0 -34
  204. package/.next/standalone/docs/he/cli/hook.mdx +0 -30
  205. package/.next/standalone/docs/he/cli/install-policies.mdx +0 -47
  206. package/.next/standalone/docs/he/cli/list-policies.mdx +0 -32
  207. package/.next/standalone/docs/he/cli/remove-policies.mdx +0 -43
  208. package/.next/standalone/docs/he/cli/version.mdx +0 -12
  209. package/.next/standalone/docs/he/configuration.mdx +0 -223
  210. package/.next/standalone/docs/he/custom-policies.mdx +0 -353
  211. package/.next/standalone/docs/he/dashboard.mdx +0 -142
  212. package/.next/standalone/docs/he/examples.mdx +0 -307
  213. package/.next/standalone/docs/he/for-agents.mdx +0 -38
  214. package/.next/standalone/docs/he/getting-started.mdx +0 -186
  215. package/.next/standalone/docs/he/introduction.mdx +0 -57
  216. package/.next/standalone/docs/he/package-aliases.mdx +0 -82
  217. package/.next/standalone/docs/he/testing.mdx +0 -260
  218. package/.next/standalone/docs/hi/architecture.mdx +0 -334
  219. package/.next/standalone/docs/hi/built-in-policies.mdx +0 -576
  220. package/.next/standalone/docs/hi/cli/dashboard.mdx +0 -28
  221. package/.next/standalone/docs/hi/cli/environment-variables.mdx +0 -34
  222. package/.next/standalone/docs/hi/cli/hook.mdx +0 -30
  223. package/.next/standalone/docs/hi/cli/install-policies.mdx +0 -47
  224. package/.next/standalone/docs/hi/cli/list-policies.mdx +0 -31
  225. package/.next/standalone/docs/hi/cli/remove-policies.mdx +0 -43
  226. package/.next/standalone/docs/hi/cli/version.mdx +0 -12
  227. package/.next/standalone/docs/hi/configuration.mdx +0 -222
  228. package/.next/standalone/docs/hi/custom-policies.mdx +0 -354
  229. package/.next/standalone/docs/hi/dashboard.mdx +0 -142
  230. package/.next/standalone/docs/hi/examples.mdx +0 -309
  231. package/.next/standalone/docs/hi/for-agents.mdx +0 -38
  232. package/.next/standalone/docs/hi/getting-started.mdx +0 -187
  233. package/.next/standalone/docs/hi/introduction.mdx +0 -57
  234. package/.next/standalone/docs/hi/package-aliases.mdx +0 -82
  235. package/.next/standalone/docs/hi/testing.mdx +0 -260
  236. package/.next/standalone/docs/i18n/README.ar.md +0 -312
  237. package/.next/standalone/docs/i18n/README.de.md +0 -307
  238. package/.next/standalone/docs/i18n/README.es.md +0 -307
  239. package/.next/standalone/docs/i18n/README.fr.md +0 -307
  240. package/.next/standalone/docs/i18n/README.he.md +0 -312
  241. package/.next/standalone/docs/i18n/README.hi.md +0 -307
  242. package/.next/standalone/docs/i18n/README.it.md +0 -307
  243. package/.next/standalone/docs/i18n/README.ja.md +0 -307
  244. package/.next/standalone/docs/i18n/README.ko.md +0 -307
  245. package/.next/standalone/docs/i18n/README.pt-br.md +0 -307
  246. package/.next/standalone/docs/i18n/README.ru.md +0 -308
  247. package/.next/standalone/docs/i18n/README.tr.md +0 -307
  248. package/.next/standalone/docs/i18n/README.vi.md +0 -307
  249. package/.next/standalone/docs/i18n/README.zh.md +0 -307
  250. package/.next/standalone/docs/introduction.mdx +0 -57
  251. package/.next/standalone/docs/it/architecture.mdx +0 -334
  252. package/.next/standalone/docs/it/built-in-policies.mdx +0 -574
  253. package/.next/standalone/docs/it/cli/dashboard.mdx +0 -28
  254. package/.next/standalone/docs/it/cli/environment-variables.mdx +0 -34
  255. package/.next/standalone/docs/it/cli/hook.mdx +0 -30
  256. package/.next/standalone/docs/it/cli/install-policies.mdx +0 -47
  257. package/.next/standalone/docs/it/cli/list-policies.mdx +0 -31
  258. package/.next/standalone/docs/it/cli/remove-policies.mdx +0 -43
  259. package/.next/standalone/docs/it/cli/version.mdx +0 -12
  260. package/.next/standalone/docs/it/configuration.mdx +0 -222
  261. package/.next/standalone/docs/it/custom-policies.mdx +0 -353
  262. package/.next/standalone/docs/it/dashboard.mdx +0 -142
  263. package/.next/standalone/docs/it/examples.mdx +0 -307
  264. package/.next/standalone/docs/it/for-agents.mdx +0 -38
  265. package/.next/standalone/docs/it/getting-started.mdx +0 -186
  266. package/.next/standalone/docs/it/introduction.mdx +0 -57
  267. package/.next/standalone/docs/it/package-aliases.mdx +0 -82
  268. package/.next/standalone/docs/it/testing.mdx +0 -260
  269. package/.next/standalone/docs/ja/architecture.mdx +0 -332
  270. package/.next/standalone/docs/ja/built-in-policies.mdx +0 -572
  271. package/.next/standalone/docs/ja/cli/dashboard.mdx +0 -28
  272. package/.next/standalone/docs/ja/cli/environment-variables.mdx +0 -34
  273. package/.next/standalone/docs/ja/cli/hook.mdx +0 -30
  274. package/.next/standalone/docs/ja/cli/install-policies.mdx +0 -47
  275. package/.next/standalone/docs/ja/cli/list-policies.mdx +0 -31
  276. package/.next/standalone/docs/ja/cli/remove-policies.mdx +0 -43
  277. package/.next/standalone/docs/ja/cli/version.mdx +0 -12
  278. package/.next/standalone/docs/ja/configuration.mdx +0 -222
  279. package/.next/standalone/docs/ja/custom-policies.mdx +0 -353
  280. package/.next/standalone/docs/ja/dashboard.mdx +0 -142
  281. package/.next/standalone/docs/ja/examples.mdx +0 -307
  282. package/.next/standalone/docs/ja/for-agents.mdx +0 -38
  283. package/.next/standalone/docs/ja/getting-started.mdx +0 -186
  284. package/.next/standalone/docs/ja/introduction.mdx +0 -57
  285. package/.next/standalone/docs/ja/package-aliases.mdx +0 -82
  286. package/.next/standalone/docs/ja/testing.mdx +0 -260
  287. package/.next/standalone/docs/ko/architecture.mdx +0 -332
  288. package/.next/standalone/docs/ko/built-in-policies.mdx +0 -572
  289. package/.next/standalone/docs/ko/cli/dashboard.mdx +0 -28
  290. package/.next/standalone/docs/ko/cli/environment-variables.mdx +0 -34
  291. package/.next/standalone/docs/ko/cli/hook.mdx +0 -30
  292. package/.next/standalone/docs/ko/cli/install-policies.mdx +0 -47
  293. package/.next/standalone/docs/ko/cli/list-policies.mdx +0 -31
  294. package/.next/standalone/docs/ko/cli/remove-policies.mdx +0 -43
  295. package/.next/standalone/docs/ko/cli/version.mdx +0 -12
  296. package/.next/standalone/docs/ko/configuration.mdx +0 -222
  297. package/.next/standalone/docs/ko/custom-policies.mdx +0 -353
  298. package/.next/standalone/docs/ko/dashboard.mdx +0 -142
  299. package/.next/standalone/docs/ko/examples.mdx +0 -307
  300. package/.next/standalone/docs/ko/for-agents.mdx +0 -38
  301. package/.next/standalone/docs/ko/getting-started.mdx +0 -186
  302. package/.next/standalone/docs/ko/introduction.mdx +0 -57
  303. package/.next/standalone/docs/ko/package-aliases.mdx +0 -82
  304. package/.next/standalone/docs/ko/testing.mdx +0 -260
  305. package/.next/standalone/docs/logo/dark.svg +0 -21
  306. package/.next/standalone/docs/logo/exosphere-dark.png +0 -0
  307. package/.next/standalone/docs/logo/exosphere-light.png +0 -0
  308. package/.next/standalone/docs/logo/light.svg +0 -21
  309. package/.next/standalone/docs/package-aliases.mdx +0 -82
  310. package/.next/standalone/docs/pt-br/architecture.mdx +0 -332
  311. package/.next/standalone/docs/pt-br/built-in-policies.mdx +0 -574
  312. package/.next/standalone/docs/pt-br/cli/dashboard.mdx +0 -28
  313. package/.next/standalone/docs/pt-br/cli/environment-variables.mdx +0 -34
  314. package/.next/standalone/docs/pt-br/cli/hook.mdx +0 -30
  315. package/.next/standalone/docs/pt-br/cli/install-policies.mdx +0 -47
  316. package/.next/standalone/docs/pt-br/cli/list-policies.mdx +0 -31
  317. package/.next/standalone/docs/pt-br/cli/remove-policies.mdx +0 -43
  318. package/.next/standalone/docs/pt-br/cli/version.mdx +0 -12
  319. package/.next/standalone/docs/pt-br/configuration.mdx +0 -222
  320. package/.next/standalone/docs/pt-br/custom-policies.mdx +0 -353
  321. package/.next/standalone/docs/pt-br/dashboard.mdx +0 -142
  322. package/.next/standalone/docs/pt-br/examples.mdx +0 -307
  323. package/.next/standalone/docs/pt-br/for-agents.mdx +0 -38
  324. package/.next/standalone/docs/pt-br/getting-started.mdx +0 -186
  325. package/.next/standalone/docs/pt-br/introduction.mdx +0 -57
  326. package/.next/standalone/docs/pt-br/package-aliases.mdx +0 -82
  327. package/.next/standalone/docs/pt-br/testing.mdx +0 -260
  328. package/.next/standalone/docs/ru/architecture.mdx +0 -333
  329. package/.next/standalone/docs/ru/built-in-policies.mdx +0 -574
  330. package/.next/standalone/docs/ru/cli/dashboard.mdx +0 -28
  331. package/.next/standalone/docs/ru/cli/environment-variables.mdx +0 -34
  332. package/.next/standalone/docs/ru/cli/hook.mdx +0 -30
  333. package/.next/standalone/docs/ru/cli/install-policies.mdx +0 -48
  334. package/.next/standalone/docs/ru/cli/list-policies.mdx +0 -32
  335. package/.next/standalone/docs/ru/cli/remove-policies.mdx +0 -43
  336. package/.next/standalone/docs/ru/cli/version.mdx +0 -12
  337. package/.next/standalone/docs/ru/configuration.mdx +0 -222
  338. package/.next/standalone/docs/ru/custom-policies.mdx +0 -354
  339. package/.next/standalone/docs/ru/dashboard.mdx +0 -142
  340. package/.next/standalone/docs/ru/examples.mdx +0 -309
  341. package/.next/standalone/docs/ru/for-agents.mdx +0 -38
  342. package/.next/standalone/docs/ru/getting-started.mdx +0 -186
  343. package/.next/standalone/docs/ru/introduction.mdx +0 -57
  344. package/.next/standalone/docs/ru/package-aliases.mdx +0 -82
  345. package/.next/standalone/docs/ru/testing.mdx +0 -260
  346. package/.next/standalone/docs/testing.mdx +0 -260
  347. package/.next/standalone/docs/tr/architecture.mdx +0 -333
  348. package/.next/standalone/docs/tr/built-in-policies.mdx +0 -574
  349. package/.next/standalone/docs/tr/cli/dashboard.mdx +0 -28
  350. package/.next/standalone/docs/tr/cli/environment-variables.mdx +0 -34
  351. package/.next/standalone/docs/tr/cli/hook.mdx +0 -30
  352. package/.next/standalone/docs/tr/cli/install-policies.mdx +0 -47
  353. package/.next/standalone/docs/tr/cli/list-policies.mdx +0 -31
  354. package/.next/standalone/docs/tr/cli/remove-policies.mdx +0 -44
  355. package/.next/standalone/docs/tr/cli/version.mdx +0 -12
  356. package/.next/standalone/docs/tr/configuration.mdx +0 -222
  357. package/.next/standalone/docs/tr/custom-policies.mdx +0 -353
  358. package/.next/standalone/docs/tr/dashboard.mdx +0 -142
  359. package/.next/standalone/docs/tr/examples.mdx +0 -308
  360. package/.next/standalone/docs/tr/for-agents.mdx +0 -38
  361. package/.next/standalone/docs/tr/getting-started.mdx +0 -186
  362. package/.next/standalone/docs/tr/introduction.mdx +0 -57
  363. package/.next/standalone/docs/tr/package-aliases.mdx +0 -82
  364. package/.next/standalone/docs/tr/testing.mdx +0 -260
  365. package/.next/standalone/docs/vi/architecture.mdx +0 -334
  366. package/.next/standalone/docs/vi/built-in-policies.mdx +0 -575
  367. package/.next/standalone/docs/vi/cli/dashboard.mdx +0 -28
  368. package/.next/standalone/docs/vi/cli/environment-variables.mdx +0 -34
  369. package/.next/standalone/docs/vi/cli/hook.mdx +0 -30
  370. package/.next/standalone/docs/vi/cli/install-policies.mdx +0 -47
  371. package/.next/standalone/docs/vi/cli/list-policies.mdx +0 -31
  372. package/.next/standalone/docs/vi/cli/remove-policies.mdx +0 -43
  373. package/.next/standalone/docs/vi/cli/version.mdx +0 -13
  374. package/.next/standalone/docs/vi/configuration.mdx +0 -222
  375. package/.next/standalone/docs/vi/custom-policies.mdx +0 -353
  376. package/.next/standalone/docs/vi/dashboard.mdx +0 -142
  377. package/.next/standalone/docs/vi/examples.mdx +0 -308
  378. package/.next/standalone/docs/vi/for-agents.mdx +0 -38
  379. package/.next/standalone/docs/vi/getting-started.mdx +0 -186
  380. package/.next/standalone/docs/vi/introduction.mdx +0 -57
  381. package/.next/standalone/docs/vi/package-aliases.mdx +0 -82
  382. package/.next/standalone/docs/vi/testing.mdx +0 -260
  383. package/.next/standalone/docs/zh/architecture.mdx +0 -332
  384. package/.next/standalone/docs/zh/built-in-policies.mdx +0 -572
  385. package/.next/standalone/docs/zh/cli/dashboard.mdx +0 -28
  386. package/.next/standalone/docs/zh/cli/environment-variables.mdx +0 -34
  387. package/.next/standalone/docs/zh/cli/hook.mdx +0 -30
  388. package/.next/standalone/docs/zh/cli/install-policies.mdx +0 -47
  389. package/.next/standalone/docs/zh/cli/list-policies.mdx +0 -31
  390. package/.next/standalone/docs/zh/cli/remove-policies.mdx +0 -43
  391. package/.next/standalone/docs/zh/cli/version.mdx +0 -12
  392. package/.next/standalone/docs/zh/configuration.mdx +0 -222
  393. package/.next/standalone/docs/zh/custom-policies.mdx +0 -353
  394. package/.next/standalone/docs/zh/dashboard.mdx +0 -142
  395. package/.next/standalone/docs/zh/examples.mdx +0 -307
  396. package/.next/standalone/docs/zh/for-agents.mdx +0 -38
  397. package/.next/standalone/docs/zh/getting-started.mdx +0 -186
  398. package/.next/standalone/docs/zh/introduction.mdx +0 -57
  399. package/.next/standalone/docs/zh/package-aliases.mdx +0 -82
  400. package/.next/standalone/docs/zh/testing.mdx +0 -260
  401. package/.next/standalone/eslint.config.mjs +0 -15
  402. package/.next/standalone/examples/convention-policies/security-policies.mjs +0 -40
  403. package/.next/standalone/examples/convention-policies/workflow-policies.mjs +0 -41
  404. package/.next/standalone/examples/policies-advanced/index.js +0 -103
  405. package/.next/standalone/examples/policies-advanced/utils.js +0 -35
  406. package/.next/standalone/examples/policies-basic.js +0 -77
  407. package/.next/standalone/examples/policies-notification.js +0 -104
  408. package/.next/standalone/node_modules/@img/colour/color.cjs +0 -1594
  409. package/.next/standalone/node_modules/@img/colour/index.cjs +0 -1
  410. package/.next/standalone/node_modules/@img/colour/package.json +0 -45
  411. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/README.md +0 -46
  412. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/glib-2.0/include/glibconfig.h +0 -221
  413. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/index.js +0 -1
  414. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  415. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/package.json +0 -42
  416. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/versions.json +0 -30
  417. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +0 -46
  418. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +0 -221
  419. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +0 -1
  420. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  421. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +0 -42
  422. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +0 -30
  423. package/.next/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  424. package/.next/standalone/node_modules/@img/sharp-linux-x64/package.json +0 -46
  425. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  426. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +0 -46
  427. package/.next/standalone/node_modules/detect-libc/lib/detect-libc.js +0 -313
  428. package/.next/standalone/node_modules/detect-libc/lib/elf.js +0 -39
  429. package/.next/standalone/node_modules/detect-libc/lib/filesystem.js +0 -51
  430. package/.next/standalone/node_modules/detect-libc/lib/process.js +0 -24
  431. package/.next/standalone/node_modules/detect-libc/package.json +0 -44
  432. package/.next/standalone/node_modules/sharp/lib/channel.js +0 -177
  433. package/.next/standalone/node_modules/sharp/lib/colour.js +0 -195
  434. package/.next/standalone/node_modules/sharp/lib/composite.js +0 -212
  435. package/.next/standalone/node_modules/sharp/lib/constructor.js +0 -499
  436. package/.next/standalone/node_modules/sharp/lib/index.js +0 -16
  437. package/.next/standalone/node_modules/sharp/lib/input.js +0 -809
  438. package/.next/standalone/node_modules/sharp/lib/is.js +0 -143
  439. package/.next/standalone/node_modules/sharp/lib/libvips.js +0 -207
  440. package/.next/standalone/node_modules/sharp/lib/operation.js +0 -1016
  441. package/.next/standalone/node_modules/sharp/lib/output.js +0 -1666
  442. package/.next/standalone/node_modules/sharp/lib/resize.js +0 -595
  443. package/.next/standalone/node_modules/sharp/lib/sharp.js +0 -121
  444. package/.next/standalone/node_modules/sharp/lib/utility.js +0 -291
  445. package/.next/standalone/node_modules/sharp/node_modules/semver/classes/comparator.js +0 -143
  446. package/.next/standalone/node_modules/sharp/node_modules/semver/classes/range.js +0 -557
  447. package/.next/standalone/node_modules/sharp/node_modules/semver/classes/semver.js +0 -333
  448. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/cmp.js +0 -54
  449. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/coerce.js +0 -62
  450. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/compare.js +0 -7
  451. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/eq.js +0 -5
  452. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/gt.js +0 -5
  453. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/gte.js +0 -5
  454. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/lt.js +0 -5
  455. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/lte.js +0 -5
  456. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/neq.js +0 -5
  457. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/parse.js +0 -18
  458. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/satisfies.js +0 -12
  459. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/constants.js +0 -37
  460. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/debug.js +0 -11
  461. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/identifiers.js +0 -29
  462. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/lrucache.js +0 -42
  463. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/parse-options.js +0 -17
  464. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/re.js +0 -223
  465. package/.next/standalone/node_modules/sharp/node_modules/semver/package.json +0 -78
  466. package/.next/standalone/node_modules/sharp/package.json +0 -202
  467. package/.next/standalone/scripts/alias-proxy.js +0 -18
  468. package/.next/standalone/scripts/dev.ts +0 -3
  469. package/.next/standalone/scripts/install-telemetry.mjs +0 -108
  470. package/.next/standalone/scripts/launch.ts +0 -83
  471. package/.next/standalone/scripts/parse-script-args.ts +0 -87
  472. package/.next/standalone/scripts/postinstall.mjs +0 -121
  473. package/.next/standalone/scripts/preuninstall.mjs +0 -131
  474. package/.next/standalone/scripts/publish-aliases.mjs +0 -87
  475. package/.next/standalone/scripts/start.ts +0 -3
  476. package/.next/standalone/scripts/sync-hook-events-prompt.md +0 -60
  477. package/.next/standalone/scripts/translate-docs/cache.ts +0 -62
  478. package/.next/standalone/scripts/translate-docs/cli.ts +0 -357
  479. package/.next/standalone/scripts/translate-docs/config.ts +0 -248
  480. package/.next/standalone/scripts/translate-docs/mdx-translator.ts +0 -153
  481. package/.next/standalone/scripts/translate-docs/mintlify-nav.ts +0 -107
  482. package/.next/standalone/scripts/translate-docs/readme-translator.ts +0 -154
  483. package/.next/standalone/scripts/translate-docs/translator.ts +0 -68
  484. package/.next/standalone/scripts/translate-docs/types.ts +0 -43
  485. package/.next/standalone/src/cli-error.ts +0 -18
  486. package/.next/standalone/src/hooks/builtin-policies.ts +0 -1613
  487. package/.next/standalone/src/hooks/custom-hooks-loader.ts +0 -205
  488. package/.next/standalone/src/hooks/custom-hooks-registry.ts +0 -30
  489. package/.next/standalone/src/hooks/handler.ts +0 -202
  490. package/.next/standalone/src/hooks/hook-activity-store.ts +0 -349
  491. package/.next/standalone/src/hooks/hook-logger.ts +0 -133
  492. package/.next/standalone/src/hooks/hook-telemetry.ts +0 -43
  493. package/.next/standalone/src/hooks/hooks-config.ts +0 -166
  494. package/.next/standalone/src/hooks/install-prompt.ts +0 -357
  495. package/.next/standalone/src/hooks/llm-client.ts +0 -90
  496. package/.next/standalone/src/hooks/loader-utils.ts +0 -178
  497. package/.next/standalone/src/hooks/manager.ts +0 -692
  498. package/.next/standalone/src/hooks/policy-evaluator.ts +0 -224
  499. package/.next/standalone/src/hooks/policy-helpers.ts +0 -16
  500. package/.next/standalone/src/hooks/policy-registry.ts +0 -90
  501. package/.next/standalone/src/hooks/policy-types.ts +0 -77
  502. package/.next/standalone/src/hooks/types.ts +0 -63
  503. package/.next/standalone/src/index.ts +0 -19
  504. package/.next/standalone/src/posthog-key.ts +0 -5
  505. package/.next/standalone/tailwind.config.ts +0 -11
  506. package/.next/standalone/tsconfig.json +0 -42
  507. package/.next/standalone/vitest.config.e2e.mts +0 -24
  508. package/.next/standalone/vitest.config.mts +0 -23
  509. /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → wOkJXoch1UmRAmyIuKZWc}/_buildManifest.js +0 -0
  510. /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → wOkJXoch1UmRAmyIuKZWc}/_clientMiddlewareManifest.js +0 -0
  511. /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → wOkJXoch1UmRAmyIuKZWc}/_ssgManifest.js +0 -0
@@ -1,308 +0,0 @@
1
- ---
2
- ---
3
- title: Ví dụ
4
- description: "Cách thiết lập hooks cho Claude Code và Agents SDK"
5
- icon: book-open
6
- ---
7
-
8
- Các ví dụ sẵn sàng sử dụng cho các tình huống phổ biến. Mỗi ví dụ cho thấy cách cài đặt và những gì mong đợi.
9
-
10
- ---
11
-
12
- ## Thiết lập hooks cho Claude Code
13
-
14
- Failproof AI tích hợp với Claude Code thông qua [hệ thống hooks](https://docs.anthropic.com/en/docs/claude-code/hooks). Khi bạn chạy `failproofai policies --install`, nó sẽ đăng ký các lệnh hook trong `settings.json` của Claude Code, được kích hoạt trên mỗi lệnh gọi công cụ.
15
-
16
- <Steps>
17
- <Step title="Cài đặt failproofai">
18
- ```bash
19
- npm install -g failproofai
20
- ```
21
- </Step>
22
- <Step title="Bật tất cả các chính sách tích hợp">
23
- ```bash
24
- failproofai policies --install
25
- ```
26
- </Step>
27
- <Step title="Xác minh hooks đã được đăng ký">
28
- ```bash
29
- cat ~/.claude/settings.json | grep failproofai
30
- ```
31
-
32
- Bạn sẽ thấy các mục hook cho các sự kiện `PreToolUse`, `PostToolUse`, `Notification` và `Stop`.
33
- </Step>
34
- <Step title="Chạy Claude Code">
35
- ```bash
36
- claude
37
- ```
38
-
39
- Các chính sách hiện chạy tự động trên mỗi lệnh gọi công cụ. Hãy thử yêu cầu Claude chạy `sudo rm -rf /` - nó sẽ bị chặn.
40
- </Step>
41
- </Steps>
42
-
43
- ---
44
-
45
- ## Thiết lập hooks cho Agents SDK
46
-
47
- Nếu bạn đang xây dựng với [Agents SDK](https://docs.anthropic.com/en/docs/agents-sdk), bạn có thể sử dụng cùng một hệ thống hook theo cách lập trình.
48
-
49
- <Steps>
50
- <Step title="Cài đặt failproofai trong dự án của bạn">
51
- ```bash
52
- npm install failproofai
53
- ```
54
- </Step>
55
- <Step title="Cấu hình hooks trong agent của bạn">
56
- Truyền các lệnh hook khi tạo quy trình agent của bạn. Các hooks được kích hoạt theo cách tương tự như trong Claude Code - thông qua stdin/stdout JSON:
57
-
58
- ```bash
59
- failproofai --hook PreToolUse # called before each tool
60
- failproofai --hook PostToolUse # called after each tool
61
- ```
62
- </Step>
63
- <Step title="Viết chính sách tùy chỉnh cho agent của bạn">
64
- ```javascript
65
- import { customPolicies, allow, deny } from "failproofai";
66
-
67
- customPolicies.add({
68
- name: "limit-to-project-dir",
69
- description: "Keep the agent inside the project directory",
70
- match: { events: ["PreToolUse"] },
71
- fn: async (ctx) => {
72
- const path = String(ctx.toolInput?.file_path ?? "");
73
- if (path.startsWith("/") && !path.startsWith(ctx.session?.cwd ?? "")) {
74
- return deny("Agent is restricted to the project directory");
75
- }
76
- return allow();
77
- },
78
- });
79
- ```
80
- </Step>
81
- <Step title="Cài đặt chính sách tùy chỉnh">
82
- ```bash
83
- failproofai policies --install --custom ./my-agent-policies.js
84
- ```
85
- </Step>
86
- </Steps>
87
-
88
- ---
89
-
90
- ## Chặn các lệnh phá hủy
91
-
92
- Thiết lập phổ biến nhất - ngăn chặn các agent thực hiện các hành động không thể hoàn tác.
93
-
94
- ```bash
95
- failproofai policies --install block-sudo block-rm-rf block-force-push block-curl-pipe-sh
96
- ```
97
-
98
- Điều này thực hiện:
99
- - `block-sudo` - chặn tất cả các lệnh `sudo`
100
- - `block-rm-rf` - chặn xóa tệp đệ quy
101
- - `block-force-push` - chặn `git push --force`
102
- - `block-curl-pipe-sh` - chặn piping các kịch bản từ xa vào shell
103
-
104
- ---
105
-
106
- ## Ngăn chặn rò rỉ bí mật
107
-
108
- Ngăn các agent nhìn thấy hoặc rò rỉ thông tin xác thực trong kết quả công cụ.
109
-
110
- ```bash
111
- failproofai policies --install sanitize-api-keys sanitize-jwt sanitize-connection-strings sanitize-bearer-tokens
112
- ```
113
-
114
- Những chính sách này được kích hoạt trên `PostToolUse` - sau khi công cụ chạy, chúng sẽ làm sạch kết quả trước khi agent nhìn thấy.
115
-
116
- ---
117
-
118
- ## Nhận cảnh báo Slack khi các agent cần chú ý
119
-
120
- Sử dụng hook thông báo để chuyển tiếp các cảnh báo chờ đợi đến Slack.
121
-
122
- ```javascript
123
- import { customPolicies, allow, instruct } from "failproofai";
124
-
125
- customPolicies.add({
126
- name: "slack-on-idle",
127
- description: "Alert Slack when the agent is waiting for input",
128
- match: { events: ["Notification"] },
129
- fn: async (ctx) => {
130
- const webhookUrl = process.env.SLACK_WEBHOOK_URL;
131
- if (!webhookUrl) return allow();
132
-
133
- const message = String(ctx.payload?.message ?? "Agent is waiting");
134
- const project = ctx.session?.cwd ?? "unknown";
135
-
136
- try {
137
- await fetch(webhookUrl, {
138
- method: "POST",
139
- headers: { "Content-Type": "application/json" },
140
- body: JSON.stringify({
141
- text: `*${message}*\nProject: \`${project}\``,
142
- }),
143
- signal: AbortSignal.timeout(5000),
144
- });
145
- } catch {
146
- // never block the agent if Slack is unreachable
147
- }
148
-
149
- return allow();
150
- },
151
- });
152
- ```
153
-
154
- Cài đặt nó:
155
-
156
- ```bash
157
- SLACK_WEBHOOK_URL=https://hooks.slack.com/... failproofai policies --install --custom ./slack-alerts.js
158
- ```
159
-
160
- ---
161
-
162
- ## Giữ các agent trên một nhánh
163
-
164
- Ngăn các agent chuyển đổi nhánh hoặc đẩy đến các nhánh được bảo vệ.
165
-
166
- ```javascript
167
- import { customPolicies, allow, deny } from "failproofai";
168
-
169
- customPolicies.add({
170
- name: "stay-on-branch",
171
- description: "Prevent the agent from checking out other branches",
172
- match: { events: ["PreToolUse"] },
173
- fn: async (ctx) => {
174
- if (ctx.toolName !== "Bash") return allow();
175
- const cmd = String(ctx.toolInput?.command ?? "");
176
- if (/git\s+checkout\s+(?!-b)/.test(cmd)) {
177
- return deny("Stay on the current branch. Create a new branch with -b if needed.");
178
- }
179
- return allow();
180
- },
181
- });
182
- ```
183
-
184
- ---
185
-
186
- ## Yêu cầu kiểm tra trước khi commit
187
-
188
- Nhắc nhở các agent chạy các bài kiểm tra trước khi commit.
189
-
190
- ```javascript
191
- import { customPolicies, allow, instruct } from "failproofai";
192
-
193
- customPolicies.add({
194
- name: "test-before-commit",
195
- description: "Remind the agent to run tests before committing",
196
- match: { events: ["PreToolUse"] },
197
- fn: async (ctx) => {
198
- if (ctx.toolName !== "Bash") return allow();
199
- const cmd = String(ctx.toolInput?.command ?? "");
200
- if (/git\s+commit/.test(cmd)) {
201
- return instruct("Run tests before committing. Use `npm test` or `bun test` first.");
202
- }
203
- return allow();
204
- },
205
- });
206
- ```
207
-
208
- ---
209
-
210
- ## Khóa chặt kho lưu trữ production
211
-
212
- Commit một cấu hình cấp dự án để mỗi nhà phát triển trong nhóm của bạn nhận được cùng các chính sách.
213
-
214
- Tạo `.failproofai/policies-config.json` trong kho lưu trữ của bạn:
215
-
216
- ```json
217
- {
218
- "enabledPolicies": [
219
- "block-sudo",
220
- "block-rm-rf",
221
- "block-force-push",
222
- "block-push-master",
223
- "block-env-files",
224
- "sanitize-api-keys",
225
- "sanitize-jwt"
226
- ],
227
- "policyParams": {
228
- "block-push-master": {
229
- "protectedBranches": ["main", "release", "production"]
230
- }
231
- }
232
- }
233
- ```
234
-
235
- Sau đó commit nó:
236
-
237
- ```bash
238
- git add .failproofai/policies-config.json
239
- git commit -m "Add failproofai team policies"
240
- ```
241
-
242
- Mỗi thành viên nhóm đã cài đặt failproofai sẽ tự động áp dụng các quy tắc này.
243
-
244
- ---
245
-
246
- ## Xây dựng tiêu chuẩn chất lượng trên toàn tổ chức với các chính sách quy ước
247
-
248
- Thiết lập có ảnh hưởng nhất: commit `.failproofai/policies/` vào kho lưu trữ của bạn với các chính sách được điều chỉnh cho dự án của bạn. Mỗi thành viên nhóm sẽ nhận được chúng tự động — không cần các lệnh cài đặt, không cần thay đổi cấu hình.
249
-
250
- <Steps>
251
- <Step title="Tạo thư mục và thêm các chính sách">
252
- ```bash
253
- mkdir -p .failproofai/policies
254
- ```
255
-
256
- ```js
257
- // .failproofai/policies/team-policies.mjs
258
- import { customPolicies, allow, deny, instruct } from "failproofai";
259
-
260
- // Enforce your team's preferred package manager
261
- // (or enable the built-in prefer-package-manager policy instead)
262
- customPolicies.add({
263
- name: "enforce-bun",
264
- match: { events: ["PreToolUse"] },
265
- fn: async (ctx) => {
266
- if (ctx.toolName !== "Bash") return allow();
267
- const cmd = String(ctx.toolInput?.command ?? "");
268
- if (/\bnpm\b/.test(cmd)) return deny("Use bun instead of npm.");
269
- return allow();
270
- },
271
- });
272
-
273
- // Remind the agent to run tests before committing
274
- customPolicies.add({
275
- name: "test-before-commit",
276
- match: { events: ["PreToolUse"] },
277
- fn: async (ctx) => {
278
- if (ctx.toolName !== "Bash") return allow();
279
- if (/git\s+commit/.test(ctx.toolInput?.command ?? "")) {
280
- return instruct("Run tests before committing.");
281
- }
282
- return allow();
283
- },
284
- });
285
- ```
286
- </Step>
287
- <Step title="Commit vào git">
288
- ```bash
289
- git add .failproofai/policies/
290
- git commit -m "Add team quality policies"
291
- ```
292
- </Step>
293
- <Step title="Tiếp tục cải thiện">
294
- Khi nhóm của bạn gặp phải các chế độ lỗi mới, thêm các chính sách và đẩy. Mọi người sẽ nhận được bản cập nhật trên `git pull` tiếp theo của họ. Những chính sách này trở thành một tiêu chuẩn chất lượng sống động phát triển cùng với nhóm của bạn.
295
- </Step>
296
- </Steps>
297
-
298
- ---
299
-
300
- ## Các ví dụ khác
301
-
302
- Thư mục [`examples/`](https://github.com/exospherehost/failproofai/tree/main/examples) trong kho lưu trữ chứa:
303
-
304
- | Tệp | Nó cho thấy điều gì |
305
- |------|---------------|
306
- | `policies-basic.js` | Các chính sách khởi động - chặn ghi production, force-push, kịch bản được piping |
307
- | `policies-notification.js` | Cảnh báo Slack cho các thông báo chờ đợi và kết thúc phiên |
308
- | `policies-advanced/index.js` | Các lần nhập chuyển tiếp, hooks không đồng bộ, làm sạch kết quả PostToolUse, xử lý sự kiện Stop |
@@ -1,38 +0,0 @@
1
- ---
2
- title: "Cho các agent"
3
- description: "Thêm kiến thức Failproof AI vào coding agent của bạn chỉ trong một lệnh. Hoạt động với Claude Code, Cursor, Windsurf và nhiều hơn nữa."
4
- ---
5
-
6
- Thêm tham chiếu đầy đủ Failproof AI vào coding agent của bạn chỉ trong một lệnh. Hoạt động với Claude Code, Cursor, Windsurf và bất kỳ agent nào khác hỗ trợ skills.
7
-
8
- ```bash
9
- npx skills add https://docs.befailproof.ai
10
- ```
11
-
12
- `npx skills` phát hiện các agent bạn đã cài đặt và tự động thêm skill ở định dạng phù hợp cho từng agent.
13
-
14
- ## Skill bao gồm những gì
15
-
16
- | Lĩnh vực | Nội dung bao gồm |
17
- |------|----------------|
18
- | Policies | Tên policy có sẵn, các loại sự kiện, tham số, bật/tắt |
19
- | Custom policies | `customPolicies.add()`, match filters, API `allow`/`deny`/`instruct` |
20
- | Context object | `ctx.eventType`, `ctx.toolName`, `ctx.toolInput`, `ctx.session` |
21
- | Configuration | Cấu trúc `policies-config.json`, scope merging, `policyParams` |
22
- | CLI | `failproofai policies --install`, `--uninstall`, `--custom`, scopes |
23
- | Dashboard | Session viewer, policy activity, environment variables |
24
- | Architecture | Hook handler flow, exit codes, stdin/stdout contract |
25
-
26
- ## Skill có đầy đủ không?
27
-
28
- Mintlify tạo `llms.txt` từ tất cả các trang trong navigation. Tài liệu Failproof AI bao gồm toàn bộ API - mọi policy, option và ví dụ đều có. Nếu bạn phát hiện điều gì bị thiếu, nguồn gốc nằm ở `https://docs.befailproof.ai/llms-full.txt`.
29
-
30
- Để có ngữ cảnh cụ thể, liên kết trực tiếp đến một trang cụ thể:
31
-
32
- ```bash
33
- # Chỉ custom policies API
34
- npx skills add https://docs.befailproof.ai/custom-policies
35
-
36
- # Chỉ built-in policies
37
- npx skills add https://docs.befailproof.ai/built-in-policies
38
- ```
@@ -1,186 +0,0 @@
1
- ---
2
- title: Bắt đầu
3
- description: "Cài đặt failproofai, kích hoạt các chính sách, và để các agent của bạn chạy một cách đáng tin cậy"
4
- icon: rocket
5
- ---
6
-
7
- ## Yêu cầu
8
-
9
- - **Node.js** >= 20.9.0
10
- - **Bun** >= 1.3.0 (tùy chọn - chỉ cần thiết khi xây dựng từ nguồn)
11
-
12
- ---
13
-
14
- ## Cài đặt
15
-
16
- <CodeGroup>
17
-
18
- ```bash npm
19
- npm install -g failproofai
20
- ```
21
-
22
- ```bash bun
23
- bun add -g failproofai
24
- ```
25
-
26
- </CodeGroup>
27
-
28
- ---
29
-
30
- ## Hướng dẫn nhanh
31
-
32
- <Steps>
33
- <Step title="Kích hoạt các chính sách">
34
- Các chính sách là các quy tắc chạy trước và sau mọi lệnh gọi công cụ của agent. Chúng bắt các lệnh có tính hủy diệt, rò rỉ bí mật, và các chế độ lỗi khác trước khi gây thiệt hại.
35
-
36
- ```bash
37
- failproofai policies --install
38
- ```
39
-
40
- Lệnh này viết các mục hook vào `settings.json` của Claude Code. Bạn cũng có thể cài đặt cho một dự án duy nhất hoặc chọn các chính sách cụ thể:
41
-
42
- ```bash
43
- failproofai policies --install --scope project
44
- failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
45
- ```
46
- </Step>
47
- <Step title="Xác minh">
48
- ```bash
49
- failproofai policies
50
- ```
51
-
52
- Hiển thị mọi chính sách, liệu nó có được bật hay không, và bất kỳ tham số được cấu hình nào.
53
- </Step>
54
- <Step title="Khởi chạy bảng điều khiển">
55
- ```bash
56
- failproofai
57
- ```
58
-
59
- Mở một bảng điều khiển cục bộ tại `http://localhost:8020` nơi bạn có thể duyệt qua các phiên, kiểm tra các lệnh gọi công cụ, và quản lý các chính sách.
60
- </Step>
61
- <Step title="Chạy agent của bạn">
62
- Khởi chạy Claude Code như bình thường. Nếu agent cố gắng làm điều gì đó riskу, failproofai sẽ chặn nó tự động. Để nó chạy mà không cần giám sát và xem xét những gì đã xảy ra trong bảng điều khiển.
63
- </Step>
64
- </Steps>
65
-
66
- ---
67
-
68
- ## Cách các chính sách hoạt động
69
-
70
- Mỗi khi một agent chạy một công cụ, Claude Code gọi failproofai như một tiến trình con:
71
-
72
- ```text
73
- Claude Code → failproofai --hook PreToolUse → reads stdin JSON
74
- evaluates policies
75
- writes decision to stdout
76
- ```
77
-
78
- Mỗi chính sách trả về một trong ba quyết định:
79
-
80
- - **allow** - agent tiếp tục bình thường
81
- - **deny** - hành động bị chặn, agent được thông báo lý do
82
- - **instruct** - ngữ cảnh bổ sung được thêm vào prompt của agent
83
-
84
- <Note>
85
- Các chính sách chạy trong quy trình cục bộ của bạn. Không có gì được gửi đến dịch vụ từ xa.
86
- </Note>
87
-
88
- ---
89
-
90
- ## Thiết lập chính sách nhóm với chính sách dựa trên quy ước
91
-
92
- Cách nhanh nhất để thiết lập tiêu chuẩn chất lượng trên toàn nhóm là quy ước `.failproofai/policies/`. Đặt các tệp chính sách vào thư mục này và chúng sẽ được tải tự động — không có cờ, không có thay đổi cấu hình, không có lệnh cài đặt.
93
-
94
- <Steps>
95
- <Step title="Tạo thư mục chính sách">
96
- ```bash
97
- mkdir -p .failproofai/policies
98
- ```
99
- </Step>
100
- <Step title="Thêm tệp chính sách">
101
- Sao chép các ví dụ khởi đầu hoặc viết của riêng bạn:
102
-
103
- ```bash
104
- cp node_modules/failproofai/examples/convention-policies/*.mjs .failproofai/policies/
105
- ```
106
-
107
- Hoặc tạo một cái mới:
108
-
109
- ```js
110
- // .failproofai/policies/team-policies.mjs
111
- import { customPolicies, allow, deny, instruct } from "failproofai";
112
-
113
- customPolicies.add({
114
- name: "test-before-commit",
115
- match: { events: ["PreToolUse"] },
116
- fn: async (ctx) => {
117
- if (ctx.toolName !== "Bash") return allow();
118
- if (/git\s+commit/.test(ctx.toolInput?.command ?? "")) {
119
- return instruct("Run tests before committing.");
120
- }
121
- return allow();
122
- },
123
- });
124
- ```
125
- </Step>
126
- <Step title="Commit vào git">
127
- ```bash
128
- git add .failproofai/policies/
129
- git commit -m "Add team quality policies"
130
- ```
131
-
132
- Mỗi thành viên nhóm đã cài đặt failproofai sẽ chọn các chính sách này tự động. Không cần thiết lập cho mỗi nhà phát triển.
133
- </Step>
134
- </Steps>
135
-
136
- <Tip>
137
- Commit `.failproofai/policies/` vào kho lưu trữ của bạn để toàn bộ nhóm chia sẻ cùng một tiêu chuẩn. Khi nhóm của bạn phát hiện các chế độ lỗi mới, hãy thêm chính sách và đẩy — mọi người sẽ nhận bản cập nhật trên `git pull` tiếp theo của họ. Theo thời gian, những chính sách này trở thành một tiêu chuẩn chất lượng sống động tiếp tục cải thiện.
138
- </Tip>
139
-
140
- ---
141
-
142
- ## Lưu trữ dữ liệu
143
-
144
- Tất cả cấu hình và nhật ký được giữ trên máy của bạn:
145
-
146
- | Đường dẫn | Nội dung lưu trữ |
147
- |------|----------------|
148
- | `~/.failproofai/policies-config.json` | Cấu hình chính sách toàn cục |
149
- | `~/.failproofai/hook-activity.jsonl` | Lịch sử thực thi hook |
150
- | `~/.failproofai/hook.log` | Nhật ký gỡ lỗi cho lỗi hook tùy chỉnh |
151
- | `.failproofai/policies-config.json` | Cấu hình cho mỗi dự án (được commit) |
152
- | `.failproofai/policies-config.local.json` | Ghi đè cá nhân (gitignored) |
153
-
154
- ---
155
-
156
- ## Gỡ cài đặt
157
-
158
- ```bash
159
- failproofai policies --uninstall
160
- ```
161
-
162
- Xóa các mục hook khỏi `~/.claude/settings.json`. Các tệp cấu hình trong `~/.failproofai/` được giữ lại.
163
-
164
- ---
165
-
166
- ## Các bước tiếp theo
167
-
168
- <CardGroup cols={2}>
169
-
170
- <Card title="Cấu hình" icon="gear" href="/vi/configuration">
171
- Phạm vi và định dạng tệp cấu hình
172
- </Card>
173
-
174
- <Card title="Chính sách tích hợp sẵn" icon="shield" href="/vi/built-in-policies">
175
- Tất cả 26 chính sách với các tham số
176
- </Card>
177
-
178
- <Card title="Chính sách tùy chỉnh" icon="code" href="/vi/custom-policies">
179
- Viết các chính sách riêng của bạn bằng JavaScript
180
- </Card>
181
-
182
- <Card title="Bộ giám sát agent" icon="chart-line" href="/vi/dashboard">
183
- Giám sát các phiên và xem lại hoạt động chính sách
184
- </Card>
185
-
186
- </CardGroup>
@@ -1,57 +0,0 @@
1
- ---
2
- title: Failproof AI
3
- description: "Quản lý hooks và policies giúp các AI agents của bạn hoạt động tin cậy và tự động"
4
- ---
5
-
6
- [![npm weekly downloads](https://img.shields.io/npm/dw/failproofai?style=flat-square&color=2ea44f)](https://www.npmjs.com/package/failproofai)
7
-
8
- Hooks và policies giúp các AI agents của bạn hoạt động tin cậy và tự động - cho **Claude Code** và **Agents SDK**.
9
-
10
- AI agents thất bại theo những cách có thể dự đoán được. Chúng chạy các lệnh phá hủy, rò rỉ bí mật, lệch khỏi nhiệm vụ, bị mắc kẹt trong vòng lặp, hoặc đẩy trực tiếp sang nhánh main. Nếu không được giám sát, những lỗi nhỏ sẽ phát triển thành vấn đề lớn.
11
-
12
- Failproof AI giải quyết vấn đề này bằng **policies** - các quy tắc được kích hoạt ở mỗi lệnh gọi công cụ của agent và có thể **phát hiện lỗi**, **giảm nhẹ chúng** (chặn, hướng dẫn, làm sạch), và **cảnh báo bạn** khi có vấn đề cần được chú ý. Bảng điều khiển cục bộ cho phép bạn xem xét mọi thứ sau đó.
13
-
14
- Mọi thứ chạy cục bộ. Không có dữ liệu nào rời khỏi máy của bạn.
15
-
16
- ## Bắt đầu
17
-
18
- <CardGroup cols={2}>
19
-
20
- <Card title="26 policies tích hợp sẵn" icon="shield" href="/vi/built-in-policies">
21
- Chặn các lệnh phá hủy, ngăn chặn rò rỉ bí mật, giữ agents trong phạm vi dự án, và nhiều hơn nữa - sẵn sàng sử dụng.
22
- </Card>
23
-
24
- <Card title="Custom policies" icon="code" href="/vi/custom-policies">
25
- Viết các quy tắc của riêng bạn bằng JavaScript với API allow / deny / instruct đơn giản.
26
- </Card>
27
-
28
- <Card title="Agent monitor" icon="chart-line" href="/vi/dashboard">
29
- Xem những gì các agents của bạn đã làm khi bạn vắng mặt. Duyệt các phiên, kiểm tra các lệnh gọi công cụ, xem xét nơi policies được kích hoạt.
30
- </Card>
31
-
32
- <Card title="Cấu hình dễ dàng" icon="gear" href="/vi/configuration">
33
- Điều chỉnh bất kỳ policy nào mà không cần mã. Đặt danh sách cho phép, nhánh được bảo vệ, hoặc ngưỡng cho từng dự án hoặc toàn cục.
34
- </Card>
35
-
36
- </CardGroup>
37
-
38
- ## Khởi động nhanh
39
-
40
- <CodeGroup>
41
-
42
- ```bash npm
43
- npm install -g failproofai
44
- ```
45
-
46
- ```bash bun
47
- bun add -g failproofai
48
- ```
49
-
50
- </CodeGroup>
51
-
52
- ```bash
53
- failproofai policies --install # enable policies
54
- failproofai # launch the dashboard
55
- ```
56
-
57
- Xem hướng dẫn [Getting started](/vi/getting-started) để có hướng dẫn chi tiết đầy đủ.
@@ -1,82 +0,0 @@
1
- ---
2
- title: Bí Danh Gói
3
- description: "Các bí danh phòng chống typosquat đã đăng ký và cách chúng hoạt động"
4
- icon: copy
5
- ---
6
-
7
- ## Gói chính thức
8
-
9
- Gói npm canonical là **`failproofai`**:
10
-
11
- ```bash
12
- npm install -g failproofai
13
- # hoặc
14
- bun add -g failproofai
15
- ```
16
-
17
- ---
18
-
19
- ## Tại sao chúng tôi sở hữu các tên bí danh
20
-
21
- Typosquatting là một cuộc tấn công chuỗi cung ứng phổ biến trong đó kẻ tấn công đăng ký một tên gói cách một phím bàn phím so với gói phổ biến. Những người dùng vô tình gõ sai lệnh cài đặt sẽ chạy mã do kẻ tấn công kiểm soát với toàn quyền truy cập hệ thống - chính xác là loại mối đe dọa mà Failproof AI được thiết kế để bảo vệ.
22
-
23
- Để loại bỏ bề mặt tấn công này, **chúng tôi chủ động sở hữu tất cả các lỗi chính tả và biến thể định dạng phổ biến** của `failproofai` trên npm. Không có tên nào trong số này có thể được đăng ký bởi bên thứ ba. Mỗi tên là một proxy mỏng cài đặt và ủy quyền cho gói `failproofai` thực tế.
24
-
25
- ---
26
-
27
- ## Các bí danh đã đăng ký
28
-
29
- **Biến thể định dạng** - những cách khác nhau để viết "failproof ai":
30
-
31
- | Gói | Trạng thái |
32
- |---------|--------|
33
- | `failproof` | ✅ Đã xuất bản |
34
- | `failproof-ai` | ⏳ Chờ hỗ trợ npm |
35
- | `fail-proof-ai` | ⏳ Chờ hỗ trợ npm |
36
- | `failproof_ai` | ⏳ Chờ hỗ trợ npm |
37
- | `fail_proof_ai` | ⏳ Chờ hỗ trợ npm |
38
- | `fail-proofai` | ⏳ Chờ hỗ trợ npm |
39
-
40
- **Lỗi typo `failprof*`** - thiếu một `o` từ "proof":
41
-
42
- | Gói | Trạng thái |
43
- |---------|--------|
44
- | `failprof` | ✅ Đã xuất bản |
45
- | `failprof-ai` | ✅ Đã xuất bản |
46
- | `failprofai` | ⏳ Chờ hỗ trợ npm |
47
- | `fail-prof-ai` | ⏳ Chờ hỗ trợ npm |
48
- | `failprof_ai` | ⏳ Chờ hỗ trợ npm |
49
-
50
- **Lỗi typo `faliproof*`** - `a` và `i` bị hoán đổi:
51
-
52
- | Gói | Trạng thái |
53
- |---------|--------|
54
- | `faliproof` | ✅ Đã xuất bản |
55
- | `faliproof-ai` | ✅ Đã xuất bản |
56
- | `faliproofai` | ⏳ Chờ hỗ trợ npm |
57
-
58
- > **Tại sao chờ?** Chính sách phòng chống spam của npm chặn những tên normalize thành chuỗi giống như một gói hiện có sau khi loại bỏ dấu chấm câu và chạy kiểm tra tương tự. Chúng tôi đã liên hệ với hỗ trợ npm để bảo lưu những tên này nhằm mục đích chống typosquat. Chúng sẽ được kích hoạt sau khi được phê duyệt.
59
-
60
- Bạn có thể xác minh bất kỳ bí danh nào được xuất bản được sở hữu bởi chúng tôi:
61
-
62
- ```bash
63
- npm info failproof
64
- # Tìm: "ExosphereHost Inc." trong trường maintainers
65
- ```
66
-
67
- ---
68
-
69
- ## Cách các bí danh hoạt động
70
-
71
- Mỗi gói bí danh:
72
-
73
- 1. Liệt kê `failproofai` làm phụ thuộc - vì vậy gói thực tế (bao gồm cả thiết lập hook `postinstall`) chạy khi cài đặt
74
- 2. Cung cấp một binary khớp với tên của nó (ví dụ: `failprof-ai`) mà ủy quyền tất cả các đối số cho binary `failproofai`
75
-
76
- Proxy là một script Node hai dòng; không có logic, không có cuộc gọi mạng và không có thu thập dữ liệu ngoài những gì `failproofai` tự làm.
77
-
78
- ---
79
-
80
- ## Nếu bạn tìm thấy một tên chúng tôi bỏ lỡ
81
-
82
- Mở một issue tại [exospherehost/failproofai](https://github.com/exospherehost/failproofai/issues) và chúng tôi sẽ đăng ký nó.