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,307 +0,0 @@
1
- ---
2
- title: Ejemplos
3
- description: "Cómo configurar hooks para Claude Code y el Agents SDK"
4
- icon: book-open
5
- ---
6
-
7
- Ejemplos listos para usar en situaciones comunes. Cada uno muestra cómo instalarlo y qué esperar.
8
-
9
- ---
10
-
11
- ## Configurar hooks para Claude Code
12
-
13
- Failproof AI se integra con Claude Code a través de su [sistema de hooks](https://docs.anthropic.com/en/docs/claude-code/hooks). Al ejecutar `failproofai policies --install`, registra comandos de hook en el archivo `settings.json` de Claude Code que se disparan en cada llamada a herramienta.
14
-
15
- <Steps>
16
- <Step title="Instalar failproofai">
17
- ```bash
18
- npm install -g failproofai
19
- ```
20
- </Step>
21
- <Step title="Habilitar todas las políticas integradas">
22
- ```bash
23
- failproofai policies --install
24
- ```
25
- </Step>
26
- <Step title="Verificar que los hooks estén registrados">
27
- ```bash
28
- cat ~/.claude/settings.json | grep failproofai
29
- ```
30
-
31
- Deberías ver entradas de hook para los eventos `PreToolUse`, `PostToolUse`, `Notification` y `Stop`.
32
- </Step>
33
- <Step title="Ejecutar Claude Code">
34
- ```bash
35
- claude
36
- ```
37
-
38
- Las políticas ahora se ejecutan automáticamente en cada llamada a herramienta. Prueba pedirle a Claude que ejecute `sudo rm -rf /` — será bloqueado.
39
- </Step>
40
- </Steps>
41
-
42
- ---
43
-
44
- ## Configurar hooks para el Agents SDK
45
-
46
- Si estás desarrollando con el [Agents SDK](https://docs.anthropic.com/en/docs/agents-sdk), puedes usar el mismo sistema de hooks de forma programática.
47
-
48
- <Steps>
49
- <Step title="Instalar failproofai en tu proyecto">
50
- ```bash
51
- npm install failproofai
52
- ```
53
- </Step>
54
- <Step title="Configurar hooks en tu agente">
55
- Pasa los comandos de hook al crear el proceso de tu agente. Los hooks se disparan de la misma forma que en Claude Code — mediante JSON por stdin/stdout:
56
-
57
- ```bash
58
- failproofai --hook PreToolUse # se llama antes de cada herramienta
59
- failproofai --hook PostToolUse # se llama después de cada herramienta
60
- ```
61
- </Step>
62
- <Step title="Escribir una política personalizada para tu agente">
63
- ```javascript
64
- import { customPolicies, allow, deny } from "failproofai";
65
-
66
- customPolicies.add({
67
- name: "limit-to-project-dir",
68
- description: "Keep the agent inside the project directory",
69
- match: { events: ["PreToolUse"] },
70
- fn: async (ctx) => {
71
- const path = String(ctx.toolInput?.file_path ?? "");
72
- if (path.startsWith("/") && !path.startsWith(ctx.session?.cwd ?? "")) {
73
- return deny("Agent is restricted to the project directory");
74
- }
75
- return allow();
76
- },
77
- });
78
- ```
79
- </Step>
80
- <Step title="Instalar la política personalizada">
81
- ```bash
82
- failproofai policies --install --custom ./my-agent-policies.js
83
- ```
84
- </Step>
85
- </Steps>
86
-
87
- ---
88
-
89
- ## Bloquear comandos destructivos
90
-
91
- La configuración más habitual: evitar que los agentes causen daños irreversibles.
92
-
93
- ```bash
94
- failproofai policies --install block-sudo block-rm-rf block-force-push block-curl-pipe-sh
95
- ```
96
-
97
- Qué hace cada uno:
98
- - `block-sudo` — bloquea todos los comandos `sudo`
99
- - `block-rm-rf` — bloquea la eliminación recursiva de archivos
100
- - `block-force-push` — bloquea `git push --force`
101
- - `block-curl-pipe-sh` — bloquea el envío por tubería de scripts remotos a la shell
102
-
103
- ---
104
-
105
- ## Prevenir la filtración de secretos
106
-
107
- Impide que los agentes vean o filtren credenciales en la salida de las herramientas.
108
-
109
- ```bash
110
- failproofai policies --install sanitize-api-keys sanitize-jwt sanitize-connection-strings sanitize-bearer-tokens
111
- ```
112
-
113
- Estas políticas se disparan en `PostToolUse` — después de que una herramienta se ejecuta, limpian la salida antes de que el agente la vea.
114
-
115
- ---
116
-
117
- ## Recibir alertas en Slack cuando los agentes necesitan atención
118
-
119
- Usa el hook de notificación para reenviar alertas de inactividad a Slack.
120
-
121
- ```javascript
122
- import { customPolicies, allow, instruct } from "failproofai";
123
-
124
- customPolicies.add({
125
- name: "slack-on-idle",
126
- description: "Alert Slack when the agent is waiting for input",
127
- match: { events: ["Notification"] },
128
- fn: async (ctx) => {
129
- const webhookUrl = process.env.SLACK_WEBHOOK_URL;
130
- if (!webhookUrl) return allow();
131
-
132
- const message = String(ctx.payload?.message ?? "Agent is waiting");
133
- const project = ctx.session?.cwd ?? "unknown";
134
-
135
- try {
136
- await fetch(webhookUrl, {
137
- method: "POST",
138
- headers: { "Content-Type": "application/json" },
139
- body: JSON.stringify({
140
- text: `*${message}*\nProject: \`${project}\``,
141
- }),
142
- signal: AbortSignal.timeout(5000),
143
- });
144
- } catch {
145
- // nunca bloquear al agente si Slack no está disponible
146
- }
147
-
148
- return allow();
149
- },
150
- });
151
- ```
152
-
153
- Instálalo:
154
-
155
- ```bash
156
- SLACK_WEBHOOK_URL=https://hooks.slack.com/... failproofai policies --install --custom ./slack-alerts.js
157
- ```
158
-
159
- ---
160
-
161
- ## Mantener a los agentes en una rama
162
-
163
- Evita que los agentes cambien de rama o hagan push a ramas protegidas.
164
-
165
- ```javascript
166
- import { customPolicies, allow, deny } from "failproofai";
167
-
168
- customPolicies.add({
169
- name: "stay-on-branch",
170
- description: "Prevent the agent from checking out other branches",
171
- match: { events: ["PreToolUse"] },
172
- fn: async (ctx) => {
173
- if (ctx.toolName !== "Bash") return allow();
174
- const cmd = String(ctx.toolInput?.command ?? "");
175
- if (/git\s+checkout\s+(?!-b)/.test(cmd)) {
176
- return deny("Stay on the current branch. Create a new branch with -b if needed.");
177
- }
178
- return allow();
179
- },
180
- });
181
- ```
182
-
183
- ---
184
-
185
- ## Exigir pruebas antes de hacer commits
186
-
187
- Recuerda a los agentes que ejecuten las pruebas antes de hacer un commit.
188
-
189
- ```javascript
190
- import { customPolicies, allow, instruct } from "failproofai";
191
-
192
- customPolicies.add({
193
- name: "test-before-commit",
194
- description: "Remind the agent to run tests before committing",
195
- match: { events: ["PreToolUse"] },
196
- fn: async (ctx) => {
197
- if (ctx.toolName !== "Bash") return allow();
198
- const cmd = String(ctx.toolInput?.command ?? "");
199
- if (/git\s+commit/.test(cmd)) {
200
- return instruct("Run tests before committing. Use `npm test` or `bun test` first.");
201
- }
202
- return allow();
203
- },
204
- });
205
- ```
206
-
207
- ---
208
-
209
- ## Blindar un repositorio de producción
210
-
211
- Confirma una configuración a nivel de proyecto para que todos los desarrolladores de tu equipo apliquen las mismas políticas.
212
-
213
- Crea `.failproofai/policies-config.json` en tu repositorio:
214
-
215
- ```json
216
- {
217
- "enabledPolicies": [
218
- "block-sudo",
219
- "block-rm-rf",
220
- "block-force-push",
221
- "block-push-master",
222
- "block-env-files",
223
- "sanitize-api-keys",
224
- "sanitize-jwt"
225
- ],
226
- "policyParams": {
227
- "block-push-master": {
228
- "protectedBranches": ["main", "release", "production"]
229
- }
230
- }
231
- }
232
- ```
233
-
234
- Luego confírmalo:
235
-
236
- ```bash
237
- git add .failproofai/policies-config.json
238
- git commit -m "Add failproofai team policies"
239
- ```
240
-
241
- Cada miembro del equipo que tenga failproofai instalado aplicará estas reglas automáticamente.
242
-
243
- ---
244
-
245
- ## Construir un estándar de calidad para toda la organización con políticas de convención
246
-
247
- La configuración más impactante: confirma `.failproofai/policies/` en tu repositorio con políticas adaptadas a tu proyecto. Todos los miembros del equipo las reciben automáticamente — sin comandos de instalación ni cambios de configuración.
248
-
249
- <Steps>
250
- <Step title="Crear el directorio y añadir políticas">
251
- ```bash
252
- mkdir -p .failproofai/policies
253
- ```
254
-
255
- ```js
256
- // .failproofai/policies/team-policies.mjs
257
- import { customPolicies, allow, deny, instruct } from "failproofai";
258
-
259
- // Aplica el gestor de paquetes preferido de tu equipo
260
- // (o activa la política integrada prefer-package-manager en su lugar)
261
- customPolicies.add({
262
- name: "enforce-bun",
263
- match: { events: ["PreToolUse"] },
264
- fn: async (ctx) => {
265
- if (ctx.toolName !== "Bash") return allow();
266
- const cmd = String(ctx.toolInput?.command ?? "");
267
- if (/\bnpm\b/.test(cmd)) return deny("Use bun instead of npm.");
268
- return allow();
269
- },
270
- });
271
-
272
- // Recuerda al agente que ejecute las pruebas antes de hacer un commit
273
- customPolicies.add({
274
- name: "test-before-commit",
275
- match: { events: ["PreToolUse"] },
276
- fn: async (ctx) => {
277
- if (ctx.toolName !== "Bash") return allow();
278
- if (/git\s+commit/.test(ctx.toolInput?.command ?? "")) {
279
- return instruct("Run tests before committing.");
280
- }
281
- return allow();
282
- },
283
- });
284
- ```
285
- </Step>
286
- <Step title="Confirmar en git">
287
- ```bash
288
- git add .failproofai/policies/
289
- git commit -m "Add team quality policies"
290
- ```
291
- </Step>
292
- <Step title="Seguir mejorando">
293
- A medida que tu equipo encuentre nuevos fallos, añade políticas y envíalas. Todos recibirán la actualización en su próximo `git pull`. Estas políticas se convierten en un estándar de calidad vivo que crece con tu equipo.
294
- </Step>
295
- </Steps>
296
-
297
- ---
298
-
299
- ## Más ejemplos
300
-
301
- El directorio [`examples/`](https://github.com/exospherehost/failproofai/tree/main/examples) del repositorio contiene:
302
-
303
- | Archivo | Qué muestra |
304
- |---------|-------------|
305
- | `policies-basic.js` | Políticas básicas: bloquear escrituras en producción, force-push y scripts por tubería |
306
- | `policies-notification.js` | Alertas de Slack para notificaciones de inactividad y fin de sesión |
307
- | `policies-advanced/index.js` | Importaciones transitivas, hooks asíncronos, limpieza de salida con PostToolUse y manejo del evento Stop |
@@ -1,38 +0,0 @@
1
- ---
2
- title: "Para agentes"
3
- description: "Añade el conocimiento de Failproof AI a tu agente de codificación con un solo comando. Compatible con Claude Code, Cursor, Windsurf y más."
4
- ---
5
-
6
- Añade la referencia completa de Failproof AI a tu agente de codificación con un solo comando. Compatible con Claude Code, Cursor, Windsurf y cualquier otro agente que soporte skills.
7
-
8
- ```bash
9
- npx skills add https://docs.befailproof.ai
10
- ```
11
-
12
- `npx skills` detecta qué agentes tienes instalados y añade la skill en el formato correcto para cada uno de forma automática.
13
-
14
- ## Qué cubre la skill
15
-
16
- | Área | Qué incluye |
17
- |------|-------------|
18
- | Políticas | Nombres de políticas integradas, tipos de eventos, parámetros, activar/desactivar |
19
- | Políticas personalizadas | `customPolicies.add()`, filtros de coincidencia, API `allow`/`deny`/`instruct` |
20
- | Objeto de contexto | `ctx.eventType`, `ctx.toolName`, `ctx.toolInput`, `ctx.session` |
21
- | Configuración | Estructura de `policies-config.json`, fusión de scopes, `policyParams` |
22
- | CLI | `failproofai policies --install`, `--uninstall`, `--custom`, scopes |
23
- | Dashboard | Visor de sesiones, actividad de políticas, variables de entorno |
24
- | Arquitectura | Flujo del hook handler, códigos de salida, contrato stdin/stdout |
25
-
26
- ## ¿La skill está completa?
27
-
28
- Mintlify genera `llms.txt` a partir de todas las páginas de la navegación. La documentación de Failproof AI cubre la API completa: cada política, opción y ejemplo está incluido. Si encuentras algo que falta, el origen está en `https://docs.befailproof.ai/llms-full.txt`.
29
-
30
- Para contexto más específico, enlaza directamente a una página concreta:
31
-
32
- ```bash
33
- # Solo la API de políticas personalizadas
34
- npx skills add https://docs.befailproof.ai/custom-policies
35
-
36
- # Solo las políticas integradas
37
- npx skills add https://docs.befailproof.ai/built-in-policies
38
- ```
@@ -1,186 +0,0 @@
1
- ---
2
- title: Primeros pasos
3
- description: "Instala failproofai, activa las políticas y deja que tus agentes funcionen de forma confiable"
4
- icon: rocket
5
- ---
6
-
7
- ## Requisitos
8
-
9
- - **Node.js** >= 20.9.0
10
- - **Bun** >= 1.3.0 (opcional - solo necesario para compilar desde el código fuente)
11
-
12
- ---
13
-
14
- ## Instalación
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
- ## Inicio rápido
31
-
32
- <Steps>
33
- <Step title="Activar las políticas">
34
- Las políticas son reglas que se ejecutan antes y después de cada llamada a herramientas del agente. Detectan comandos destructivos, filtraciones de secretos y otros modos de fallo antes de que causen daños.
35
-
36
- ```bash
37
- failproofai policies --install
38
- ```
39
-
40
- Esto escribe entradas de hook en el archivo `settings.json` de Claude Code. También puedes instalar para un solo proyecto o elegir políticas específicas:
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="Verificar">
48
- ```bash
49
- failproofai policies
50
- ```
51
-
52
- Muestra todas las políticas, si están habilitadas y los parámetros configurados.
53
- </Step>
54
- <Step title="Abrir el panel de control">
55
- ```bash
56
- failproofai
57
- ```
58
-
59
- Abre un panel de control local en `http://localhost:8020` donde puedes explorar sesiones, inspeccionar llamadas a herramientas y gestionar políticas.
60
- </Step>
61
- <Step title="Ejecutar tu agente">
62
- Inicia Claude Code como de costumbre. Si el agente intenta algo arriesgado, failproofai lo intercepta automáticamente. Déjalo correr sin supervisión y revisa lo que ocurrió en el panel de control.
63
- </Step>
64
- </Steps>
65
-
66
- ---
67
-
68
- ## Cómo funcionan las políticas
69
-
70
- Cada vez que un agente ejecuta una herramienta, Claude Code invoca failproofai como subproceso:
71
-
72
- ```text
73
- Claude Code → failproofai --hook PreToolUse → reads stdin JSON
74
- evaluates policies
75
- writes decision to stdout
76
- ```
77
-
78
- Cada política devuelve una de tres decisiones:
79
-
80
- - **allow** - el agente continúa con normalidad
81
- - **deny** - la acción es bloqueada y se le informa al agente el motivo
82
- - **instruct** - se añade contexto adicional al prompt del agente
83
-
84
- <Note>
85
- Las políticas se ejecutan en tu proceso local. No se envía nada a un servicio remoto.
86
- </Note>
87
-
88
- ---
89
-
90
- ## Configurar políticas de equipo con políticas basadas en convenciones
91
-
92
- La forma más rápida de establecer estándares de calidad en tu equipo es la convención `.failproofai/policies/`. Coloca archivos de políticas en este directorio y se cargan automáticamente — sin flags, sin cambios de configuración, sin comandos de instalación.
93
-
94
- <Steps>
95
- <Step title="Crear el directorio de políticas">
96
- ```bash
97
- mkdir -p .failproofai/policies
98
- ```
99
- </Step>
100
- <Step title="Añadir archivos de políticas">
101
- Copia los ejemplos de inicio o escribe los tuyos propios:
102
-
103
- ```bash
104
- cp node_modules/failproofai/examples/convention-policies/*.mjs .failproofai/policies/
105
- ```
106
-
107
- O crea uno nuevo:
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="Hacer commit en git">
127
- ```bash
128
- git add .failproofai/policies/
129
- git commit -m "Add team quality policies"
130
- ```
131
-
132
- Todos los miembros del equipo que tengan failproofai instalado adoptarán estas políticas automáticamente. No se necesita configuración por desarrollador.
133
- </Step>
134
- </Steps>
135
-
136
- <Tip>
137
- Haz commit de `.failproofai/policies/` en tu repositorio para que todo el equipo comparta los mismos estándares. A medida que el equipo descubra nuevos modos de fallo, añade políticas y haz push — todos recibirán la actualización en su próximo `git pull`. Con el tiempo, estas políticas se convierten en un estándar de calidad vivo que sigue mejorando.
138
- </Tip>
139
-
140
- ---
141
-
142
- ## Almacenamiento de datos
143
-
144
- Toda la configuración y los registros se mantienen en tu máquina:
145
-
146
- | Ruta | Qué almacena |
147
- |------|--------------|
148
- | `~/.failproofai/policies-config.json` | Configuración global de políticas |
149
- | `~/.failproofai/hook-activity.jsonl` | Historial de ejecución de hooks |
150
- | `~/.failproofai/hook.log` | Registro de depuración para errores de hooks personalizados |
151
- | `.failproofai/policies-config.json` | Configuración por proyecto (en el repositorio) |
152
- | `.failproofai/policies-config.local.json` | Ajustes personales (en gitignore) |
153
-
154
- ---
155
-
156
- ## Desinstalar
157
-
158
- ```bash
159
- failproofai policies --uninstall
160
- ```
161
-
162
- Elimina las entradas de hook del archivo `~/.claude/settings.json`. Los archivos de configuración en `~/.failproofai/` se conservan.
163
-
164
- ---
165
-
166
- ## Próximos pasos
167
-
168
- <CardGroup cols={2}>
169
-
170
- <Card title="Configuración" icon="gear" href="/es/configuration">
171
- Ámbitos y formato de los archivos de configuración
172
- </Card>
173
-
174
- <Card title="Políticas integradas" icon="shield" href="/es/built-in-policies">
175
- Las 26 políticas con sus parámetros
176
- </Card>
177
-
178
- <Card title="Políticas personalizadas" icon="code" href="/es/custom-policies">
179
- Escribe tus propias políticas en JavaScript
180
- </Card>
181
-
182
- <Card title="Monitor de agentes" icon="chart-line" href="/es/dashboard">
183
- Monitorea sesiones y revisa la actividad de las políticas
184
- </Card>
185
-
186
- </CardGroup>
@@ -1,57 +0,0 @@
1
- ---
2
- title: Failproof AI
3
- description: "Gestiona hooks y políticas que mantienen tus agentes de IA confiables y funcionando de forma autónoma"
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 y políticas que mantienen tus agentes de IA confiables y funcionando de forma autónoma — para **Claude Code** y el **Agents SDK**.
9
-
10
- Los agentes de IA fallan de maneras predecibles. Ejecutan comandos destructivos, filtran secretos, se desvían de su tarea, se quedan atascados en bucles o hacen push directamente a main. Sin supervisión, los pequeños fallos se acumulan y escalan.
11
-
12
- Failproof AI resuelve esto con **políticas** — reglas que se enganchan en cada llamada de herramienta del agente y pueden **detectar fallos**, **mitigarlos** (bloquear, instruir, sanitizar) y **alertarte** cuando algo requiere atención. Un panel de control local te permite revisar todo posteriormente.
13
-
14
- Todo se ejecuta localmente. Ningún dato sale de tu máquina.
15
-
16
- ## Comenzar
17
-
18
- <CardGroup cols={2}>
19
-
20
- <Card title="26 políticas integradas" icon="shield" href="/es/built-in-policies">
21
- Bloquea comandos destructivos, evita la filtración de secretos, mantén a los agentes dentro de los límites del proyecto y más — desde el primer momento.
22
- </Card>
23
-
24
- <Card title="Políticas personalizadas" icon="code" href="/es/custom-policies">
25
- Escribe tus propias reglas en JavaScript con una API sencilla de allow / deny / instruct.
26
- </Card>
27
-
28
- <Card title="Monitor de agentes" icon="chart-line" href="/es/dashboard">
29
- Ve lo que hicieron tus agentes mientras no estabas. Explora sesiones, inspecciona llamadas a herramientas y revisa dónde se activaron las políticas.
30
- </Card>
31
-
32
- <Card title="Configuración sencilla" icon="gear" href="/es/configuration">
33
- Ajusta cualquier política sin código. Define listas de permisos, ramas protegidas o umbrales por proyecto o de forma global.
34
- </Card>
35
-
36
- </CardGroup>
37
-
38
- ## Inicio rápido
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 # habilitar políticas
54
- failproofai # abrir el panel de control
55
- ```
56
-
57
- Consulta la guía de [Primeros pasos](/es/getting-started) para el recorrido completo.
@@ -1,82 +0,0 @@
1
- ---
2
- title: Alias de Paquetes
3
- description: "Alias registrados para prevención de typosquatting y cómo funcionan"
4
- icon: copy
5
- ---
6
-
7
- ## Paquete oficial
8
-
9
- El paquete npm canónico es **`failproofai`**:
10
-
11
- ```bash
12
- npm install -g failproofai
13
- # or
14
- bun add -g failproofai
15
- ```
16
-
17
- ---
18
-
19
- ## Por qué tenemos los alias registrados
20
-
21
- El typosquatting es un ataque común a la cadena de suministro en el que un actor malicioso registra un nombre de paquete que difiere por una sola tecla del paquete popular. Los usuarios que escriben mal el comando de instalación terminan ejecutando código controlado por el atacante con acceso completo al sistema — exactamente el tipo de amenaza que Failproof AI está diseñado para defender.
22
-
23
- Para eliminar esta superficie de ataque, **registramos de forma preventiva todas las variantes ortográficas y de formato más comunes** de `failproofai` en npm. Ninguno de estos nombres puede ser registrado por terceros. Cada uno es un proxy ligero que instala y delega al paquete real `failproofai`.
24
-
25
- ---
26
-
27
- ## Alias registrados
28
-
29
- **Variantes de formato** - diferentes formas de escribir "failproof ai":
30
-
31
- | Paquete | Estado |
32
- |---------|--------|
33
- | `failproof` | ✅ Publicado |
34
- | `failproof-ai` | ⏳ Pendiente de aprobación de npm |
35
- | `fail-proof-ai` | ⏳ Pendiente de aprobación de npm |
36
- | `failproof_ai` | ⏳ Pendiente de aprobación de npm |
37
- | `fail_proof_ai` | ⏳ Pendiente de aprobación de npm |
38
- | `fail-proofai` | ⏳ Pendiente de aprobación de npm |
39
-
40
- **Errores tipográficos `failprof*`** - falta una `o` en "proof":
41
-
42
- | Paquete | Estado |
43
- |---------|--------|
44
- | `failprof` | ✅ Publicado |
45
- | `failprof-ai` | ✅ Publicado |
46
- | `failprofai` | ⏳ Pendiente de aprobación de npm |
47
- | `fail-prof-ai` | ⏳ Pendiente de aprobación de npm |
48
- | `failprof_ai` | ⏳ Pendiente de aprobación de npm |
49
-
50
- **Errores tipográficos `faliproof*`** - `a` e `i` transpuestas:
51
-
52
- | Paquete | Estado |
53
- |---------|--------|
54
- | `faliproof` | ✅ Publicado |
55
- | `faliproof-ai` | ✅ Publicado |
56
- | `faliproofai` | ⏳ Pendiente de aprobación de npm |
57
-
58
- > **¿Por qué están pendientes?** La política de prevención de spam de npm bloquea nombres que, tras eliminar la puntuación y aplicar comprobaciones de similitud, se normalizan a la misma cadena que un paquete existente. Hemos contactado con el soporte de npm para reservar estos nombres con fines de protección contra squatting. Se activarán una vez aprobados.
59
-
60
- Puedes verificar que cualquier alias publicado nos pertenece:
61
-
62
- ```bash
63
- npm info failproof
64
- # Look for: "ExosphereHost Inc." in the maintainers field
65
- ```
66
-
67
- ---
68
-
69
- ## Cómo funcionan los alias
70
-
71
- Cada paquete alias:
72
-
73
- 1. Incluye `failproofai` como dependencia, por lo que el paquete real (incluida la configuración de su hook `postinstall`) se ejecuta durante la instalación
74
- 2. Expone un binario con su propio nombre (p. ej. `failprof-ai`) que redirige todos los argumentos al binario `failproofai`
75
-
76
- El proxy es un script de Node de dos líneas; no contiene ninguna lógica adicional, no realiza llamadas de red ni recopila datos más allá de lo que hace el propio `failproofai`.
77
-
78
- ---
79
-
80
- ## Si encuentras un nombre que nos hemos perdido
81
-
82
- Abre un issue en [exospherehost/failproofai](https://github.com/exospherehost/failproofai/issues) y lo registraremos.