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,309 +0,0 @@
1
- ---
2
-
3
- ---
4
- title: Примеры
5
- description: "Как настроить hooks для Claude Code и Agents SDK"
6
- icon: book-open
7
- ---
8
-
9
- Готовые примеры для распространённых сценариев. Каждый показывает, как установить и что ожидать.
10
-
11
- ---
12
-
13
- ## Настройка hooks для Claude Code
14
-
15
- Failproof AI интегрируется с Claude Code через его [систему hooks](https://docs.anthropic.com/en/docs/claude-code/hooks). Когда вы запускаете `failproofai policies --install`, он регистрирует hook-команды в `settings.json` Claude Code, которые срабатывают при каждом вызове инструмента.
16
-
17
- <Steps>
18
- <Step title="Установите failproofai">
19
- ```bash
20
- npm install -g failproofai
21
- ```
22
- </Step>
23
- <Step title="Включите все встроенные политики">
24
- ```bash
25
- failproofai policies --install
26
- ```
27
- </Step>
28
- <Step title="Проверьте, что hooks зарегистрированы">
29
- ```bash
30
- cat ~/.claude/settings.json | grep failproofai
31
- ```
32
-
33
- Вы должны увидеть записи hook для событий `PreToolUse`, `PostToolUse`, `Notification` и `Stop`.
34
- </Step>
35
- <Step title="Запустите Claude Code">
36
- ```bash
37
- claude
38
- ```
39
-
40
- Политики теперь выполняются автоматически при каждом вызове инструмента. Попробуйте попросить Claude запустить `sudo rm -rf /` — это будет заблокировано.
41
- </Step>
42
- </Steps>
43
-
44
- ---
45
-
46
- ## Настройка hooks для Agents SDK
47
-
48
- Если вы разрабатываете с использованием [Agents SDK](https://docs.anthropic.com/en/docs/agents-sdk), вы можете использовать ту же систему hooks программно.
49
-
50
- <Steps>
51
- <Step title="Установите failproofai в ваш проект">
52
- ```bash
53
- npm install failproofai
54
- ```
55
- </Step>
56
- <Step title="Настройте hooks в вашем агенте">
57
- Передайте hook-команды при создании процесса агента. Hooks срабатывают так же, как в Claude Code — через stdin/stdout JSON:
58
-
59
- ```bash
60
- failproofai --hook PreToolUse # вызывается перед каждым инструментом
61
- failproofai --hook PostToolUse # вызывается после каждого инструмента
62
- ```
63
- </Step>
64
- <Step title="Напишите пользовательскую политику для вашего агента">
65
- ```javascript
66
- import { customPolicies, allow, deny } from "failproofai";
67
-
68
- customPolicies.add({
69
- name: "limit-to-project-dir",
70
- description: "Keep the agent inside the project directory",
71
- match: { events: ["PreToolUse"] },
72
- fn: async (ctx) => {
73
- const path = String(ctx.toolInput?.file_path ?? "");
74
- if (path.startsWith("/") && !path.startsWith(ctx.session?.cwd ?? "")) {
75
- return deny("Agent is restricted to the project directory");
76
- }
77
- return allow();
78
- },
79
- });
80
- ```
81
- </Step>
82
- <Step title="Установите пользовательскую политику">
83
- ```bash
84
- failproofai policies --install --custom ./my-agent-policies.js
85
- ```
86
- </Step>
87
- </Steps>
88
-
89
- ---
90
-
91
- ## Блокировка деструктивных команд
92
-
93
- Наиболее распространённая настройка — предотвратить необратимый ущерб от действий агентов.
94
-
95
- ```bash
96
- failproofai policies --install block-sudo block-rm-rf block-force-push block-curl-pipe-sh
97
- ```
98
-
99
- Что это делает:
100
- - `block-sudo` — блокирует все команды `sudo`
101
- - `block-rm-rf` — блокирует рекурсивное удаление файлов
102
- - `block-force-push` — блокирует `git push --force`
103
- - `block-curl-pipe-sh` — блокирует передачу удалённых скриптов в shell
104
-
105
- ---
106
-
107
- ## Предотвращение утечки секретов
108
-
109
- Помешайте агентам видеть или утекать учётные данные в выводе инструментов.
110
-
111
- ```bash
112
- failproofai policies --install sanitize-api-keys sanitize-jwt sanitize-connection-strings sanitize-bearer-tokens
113
- ```
114
-
115
- Они срабатывают на `PostToolUse` — после запуска инструмента, они скрывают вывод, прежде чем агент его увидит.
116
-
117
- ---
118
-
119
- ## Получайте оповещения Slack, когда агентам требуется внимание
120
-
121
- Используйте notification hook для отправки оповещений об ожидании в Slack.
122
-
123
- ```javascript
124
- import { customPolicies, allow, instruct } from "failproofai";
125
-
126
- customPolicies.add({
127
- name: "slack-on-idle",
128
- description: "Alert Slack when the agent is waiting for input",
129
- match: { events: ["Notification"] },
130
- fn: async (ctx) => {
131
- const webhookUrl = process.env.SLACK_WEBHOOK_URL;
132
- if (!webhookUrl) return allow();
133
-
134
- const message = String(ctx.payload?.message ?? "Agent is waiting");
135
- const project = ctx.session?.cwd ?? "unknown";
136
-
137
- try {
138
- await fetch(webhookUrl, {
139
- method: "POST",
140
- headers: { "Content-Type": "application/json" },
141
- body: JSON.stringify({
142
- text: `*${message}*\nProject: \`${project}\``,
143
- }),
144
- signal: AbortSignal.timeout(5000),
145
- });
146
- } catch {
147
- // never block the agent if Slack is unreachable
148
- }
149
-
150
- return allow();
151
- },
152
- });
153
- ```
154
-
155
- Установите это:
156
-
157
- ```bash
158
- SLACK_WEBHOOK_URL=https://hooks.slack.com/... failproofai policies --install --custom ./slack-alerts.js
159
- ```
160
-
161
- ---
162
-
163
- ## Держите агентов на одной ветке
164
-
165
- Предотвратите переключение веток и отправку на защищённые ветки.
166
-
167
- ```javascript
168
- import { customPolicies, allow, deny } from "failproofai";
169
-
170
- customPolicies.add({
171
- name: "stay-on-branch",
172
- description: "Prevent the agent from checking out other branches",
173
- match: { events: ["PreToolUse"] },
174
- fn: async (ctx) => {
175
- if (ctx.toolName !== "Bash") return allow();
176
- const cmd = String(ctx.toolInput?.command ?? "");
177
- if (/git\s+checkout\s+(?!-b)/.test(cmd)) {
178
- return deny("Stay on the current branch. Create a new branch with -b if needed.");
179
- }
180
- return allow();
181
- },
182
- });
183
- ```
184
-
185
- ---
186
-
187
- ## Требуйте тесты перед коммитами
188
-
189
- Напомните агентам запустить тесты перед коммитом.
190
-
191
- ```javascript
192
- import { customPolicies, allow, instruct } from "failproofai";
193
-
194
- customPolicies.add({
195
- name: "test-before-commit",
196
- description: "Remind the agent to run tests before committing",
197
- match: { events: ["PreToolUse"] },
198
- fn: async (ctx) => {
199
- if (ctx.toolName !== "Bash") return allow();
200
- const cmd = String(ctx.toolInput?.command ?? "");
201
- if (/git\s+commit/.test(cmd)) {
202
- return instruct("Run tests before committing. Use `npm test` or `bun test` first.");
203
- }
204
- return allow();
205
- },
206
- });
207
- ```
208
-
209
- ---
210
-
211
- ## Заблокируйте production репозиторий
212
-
213
- Заколмитьте конфигурацию на уровне проекта, чтобы все разработчики в вашей команде получили одинаковые политики.
214
-
215
- Создайте `.failproofai/policies-config.json` в вашем репозитории:
216
-
217
- ```json
218
- {
219
- "enabledPolicies": [
220
- "block-sudo",
221
- "block-rm-rf",
222
- "block-force-push",
223
- "block-push-master",
224
- "block-env-files",
225
- "sanitize-api-keys",
226
- "sanitize-jwt"
227
- ],
228
- "policyParams": {
229
- "block-push-master": {
230
- "protectedBranches": ["main", "release", "production"]
231
- }
232
- }
233
- }
234
- ```
235
-
236
- Затем заколмитьте это:
237
-
238
- ```bash
239
- git add .failproofai/policies-config.json
240
- git commit -m "Add failproofai team policies"
241
- ```
242
-
243
- Каждый член команды, у которого установлен failproofai, автоматически получит эти правила.
244
-
245
- ---
246
-
247
- ## Постройте стандарт качества на уровне организации с политиками соглашения
248
-
249
- Наиболее эффективная настройка: заколмитьте `.failproofai/policies/` в ваш репозиторий с политиками, подобранными для вашего проекта. Каждый член команды получит их автоматически — без команд установки, без изменения конфигурации.
250
-
251
- <Steps>
252
- <Step title="Создайте директорию и добавьте политики">
253
- ```bash
254
- mkdir -p .failproofai/policies
255
- ```
256
-
257
- ```js
258
- // .failproofai/policies/team-policies.mjs
259
- import { customPolicies, allow, deny, instruct } from "failproofai";
260
-
261
- // Enforce your team's preferred package manager
262
- // (or enable the built-in prefer-package-manager policy instead)
263
- customPolicies.add({
264
- name: "enforce-bun",
265
- match: { events: ["PreToolUse"] },
266
- fn: async (ctx) => {
267
- if (ctx.toolName !== "Bash") return allow();
268
- const cmd = String(ctx.toolInput?.command ?? "");
269
- if (/\bnpm\b/.test(cmd)) return deny("Use bun instead of npm.");
270
- return allow();
271
- },
272
- });
273
-
274
- // Remind the agent to run tests before committing
275
- customPolicies.add({
276
- name: "test-before-commit",
277
- match: { events: ["PreToolUse"] },
278
- fn: async (ctx) => {
279
- if (ctx.toolName !== "Bash") return allow();
280
- if (/git\s+commit/.test(ctx.toolInput?.command ?? "")) {
281
- return instruct("Run tests before committing.");
282
- }
283
- return allow();
284
- },
285
- });
286
- ```
287
- </Step>
288
- <Step title="Заколмитьте в git">
289
- ```bash
290
- git add .failproofai/policies/
291
- git commit -m "Add team quality policies"
292
- ```
293
- </Step>
294
- <Step title="Продолжайте совершенствоваться">
295
- Когда ваша команда сталкивается с новыми сбоями, добавьте политики и отправьте. Все получат обновление при следующем `git pull`. Эти политики становятся живым стандартом качества, который растёт вместе с вашей командой.
296
- </Step>
297
- </Steps>
298
-
299
- ---
300
-
301
- ## Другие примеры
302
-
303
- Директория [`examples/`](https://github.com/exospherehost/failproofai/tree/main/examples) в репозитории содержит:
304
-
305
- | Файл | Что он показывает |
306
- |------|---------------|
307
- | `policies-basic.js` | Начальные политики — блокировка записей в production, force-push, передача скриптов |
308
- | `policies-notification.js` | Оповещения Slack для уведомлений об ожидании и завершения сессии |
309
- | `policies-advanced/index.js` | Транзитивный импорт, асинхронные hooks, скрубинг вывода PostToolUse, обработка события Stop |
@@ -1,38 +0,0 @@
1
- ---
2
- title: "Для агентов"
3
- description: "Добавьте справку Failproof AI вашему кодирующему агенту одной командой. Работает с Claude Code, Cursor, Windsurf и другими."
4
- ---
5
-
6
- Добавьте полную справку Failproof AI вашему кодирующему агенту одной командой. Работает с Claude Code, Cursor, Windsurf и любым другим агентом, поддерживающим навыки.
7
-
8
- ```bash
9
- npx skills add https://docs.befailproof.ai
10
- ```
11
-
12
- `npx skills` определяет, какие агенты у вас установлены, и автоматически добавляет навык в правильном формате для каждого.
13
-
14
- ## Что включает навык
15
-
16
- | Область | Содержание |
17
- |------|----------------|
18
- | Policies | Встроенные имена политик, типы событий, параметры, включение/отключение |
19
- | Custom policies | `customPolicies.add()`, фильтры совпадений, API `allow`/`deny`/`instruct` |
20
- | Context object | `ctx.eventType`, `ctx.toolName`, `ctx.toolInput`, `ctx.session` |
21
- | Configuration | Структура `policies-config.json`, слияние scope, `policyParams` |
22
- | CLI | `failproofai policies --install`, `--uninstall`, `--custom`, scope |
23
- | Dashboard | Просмотр сессий, активность политик, переменные окружения |
24
- | Architecture | Поток обработчика hook, коды выхода, контракт stdin/stdout |
25
-
26
- ## Полон ли навык?
27
-
28
- Mintlify генерирует `llms.txt` из всех страниц в навигации. Документация Failproof AI охватывает полный API - каждая политика, опция и пример включены. Если вы обнаружите что-то отсутствующее, источник находится по адресу `https://docs.befailproof.ai/llms-full.txt`.
29
-
30
- Для целевого контекста создавайте ссылку непосредственно на конкретную страницу:
31
-
32
- ```bash
33
- # Только API custom policies
34
- npx skills add https://docs.befailproof.ai/custom-policies
35
-
36
- # Только встроенные политики
37
- npx skills add https://docs.befailproof.ai/built-in-policies
38
- ```
@@ -1,186 +0,0 @@
1
- ---
2
- title: Начало работы
3
- description: "Установите failproofai, включите политики и позвольте вашим агентам работать надёжно"
4
- icon: rocket
5
- ---
6
-
7
- ## Требования
8
-
9
- - **Node.js** >= 20.9.0
10
- - **Bun** >= 1.3.0 (опционально — требуется только для сборки из исходников)
11
-
12
- ---
13
-
14
- ## Установка
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
- ## Быстрый старт
31
-
32
- <Steps>
33
- <Step title="Включите политики">
34
- Политики — это правила, которые выполняются до и после каждого вызова инструмента агентом. Они перехватывают разрушительные команды, утечки секретов и другие сбои до того, как они причинят вред.
35
-
36
- ```bash
37
- failproofai policies --install
38
- ```
39
-
40
- Это добавляет записи hook в файл `settings.json` Claude Code. Вы также можете установить политики для отдельного проекта или выбрать конкретные:
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="Проверка">
48
- ```bash
49
- failproofai policies
50
- ```
51
-
52
- Выводит список всех политик, их статус включения и все настроенные параметры.
53
- </Step>
54
- <Step title="Запустите панель мониторинга">
55
- ```bash
56
- failproofai
57
- ```
58
-
59
- Открывает локальную панель мониторинга по адресу `http://localhost:8020`, где вы можете просматривать сессии, инспектировать вызовы инструментов и управлять политиками.
60
- </Step>
61
- <Step title="Запустите агента">
62
- Запустите Claude Code как обычно. Если агент попытается сделать что-то рискованное, failproofai автоматически это перехватит. Оставьте его работать и просмотрите результаты в панели мониторинга.
63
- </Step>
64
- </Steps>
65
-
66
- ---
67
-
68
- ## Как работают политики
69
-
70
- Каждый раз, когда агент запускает инструмент, Claude Code вызывает failproofai как подпроцесс:
71
-
72
- ```text
73
- Claude Code → failproofai --hook PreToolUse → читает JSON из stdin
74
- оценивает политики
75
- записывает решение в stdout
76
- ```
77
-
78
- Каждая политика возвращает одно из трёх решений:
79
-
80
- - **allow** — агент продолжает работу обычно
81
- - **deny** — действие блокируется, агенту объясняется причина
82
- - **instruct** — дополнительный контекст добавляется в подсказку агента
83
-
84
- <Note>
85
- Политики выполняются в вашем локальном процессе. Ничего не отправляется на удалённый сервис.
86
- </Note>
87
-
88
- ---
89
-
90
- ## Установка командных политик с использованием соглашения о структуре каталогов
91
-
92
- Самый быстрый способ установить стандарты качества в вашей команде — использовать соглашение `.failproofai/policies/`. Поместите файлы политик в этот каталог, и они будут загружены автоматически — без флагов, изменений конфигурации или команд установки.
93
-
94
- <Steps>
95
- <Step title="Создайте каталог политик">
96
- ```bash
97
- mkdir -p .failproofai/policies
98
- ```
99
- </Step>
100
- <Step title="Добавьте файлы политик">
101
- Скопируйте примеры для начинающих или напишите свои:
102
-
103
- ```bash
104
- cp node_modules/failproofai/examples/convention-policies/*.mjs .failproofai/policies/
105
- ```
106
-
107
- Или создайте новый:
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="Добавьте в git">
127
- ```bash
128
- git add .failproofai/policies/
129
- git commit -m "Add team quality policies"
130
- ```
131
-
132
- Каждый член команды с установленным failproofai автоматически получит эти политики. Никаких индивидуальных настроек не требуется.
133
- </Step>
134
- </Steps>
135
-
136
- <Tip>
137
- Добавьте `.failproofai/policies/` в ваш репозиторий, чтобы вся команда придерживалась одинаковых стандартов. По мере того как ваша команда обнаруживает новые сбои, добавляйте политики и отправляйте их — каждый получит обновление при следующем `git pull`. Со временем эти политики становятся живым стандартом качества, который постоянно улучшается.
138
- </Tip>
139
-
140
- ---
141
-
142
- ## Хранение данных
143
-
144
- Все конфигурации и логи остаются на вашем компьютере:
145
-
146
- | Путь | Что хранится |
147
- |------|--------------|
148
- | `~/.failproofai/policies-config.json` | Глобальная конфигурация политик |
149
- | `~/.failproofai/hook-activity.jsonl` | История выполнения hook-ов |
150
- | `~/.failproofai/hook.log` | Лог отладки для ошибок пользовательских hook-ов |
151
- | `.failproofai/policies-config.json` | Конфигурация для проекта (добавляется в репозиторий) |
152
- | `.failproofai/policies-config.local.json` | Личные переопределения (исключено из git) |
153
-
154
- ---
155
-
156
- ## Удаление
157
-
158
- ```bash
159
- failproofai policies --uninstall
160
- ```
161
-
162
- Удаляет записи hook из `~/.claude/settings.json`. Файлы конфигурации в `~/.failproofai/` сохраняются.
163
-
164
- ---
165
-
166
- ## Следующие шаги
167
-
168
- <CardGroup cols={2}>
169
-
170
- <Card title="Конфигурация" icon="gear" href="/ru/configuration">
171
- Области и формат файла конфигурации
172
- </Card>
173
-
174
- <Card title="Встроенные политики" icon="shield" href="/ru/built-in-policies">
175
- Все 26 политик с параметрами
176
- </Card>
177
-
178
- <Card title="Пользовательские политики" icon="code" href="/ru/custom-policies">
179
- Напишите свои политики на JavaScript
180
- </Card>
181
-
182
- <Card title="Монитор агента" icon="chart-line" href="/ru/dashboard">
183
- Мониторьте сессии и просматривайте активность политик
184
- </Card>
185
-
186
- </CardGroup>
@@ -1,57 +0,0 @@
1
- ---
2
- title: Failproof AI
3
- description: "Управляйте хуками и политиками, которые делают ваших AI агентов надежными и позволяют им работать автономно"
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
- Хуки и политики, которые делают ваших AI агентов надежными и позволяют им работать автономно — для **Claude Code** и **Agents SDK**.
9
-
10
- AI агенты отказывают предсказуемым образом. Они запускают деструктивные команды, утекают секреты, отклоняются от задачи, застревают в циклах или пушат напрямую в main. Без присмотра небольшие сбои каскадируют.
11
-
12
- Failproof AI решает эту проблему с помощью **политик** — правил, которые интегрируются в каждый вызов инструмента агента и могут **обнаруживать сбои**, **смягчать их** (блокировать, инструктировать, санитизировать) и **оповещать вас**, когда требуется внимание. Локальная панель мониторинга позволяет просмотреть всё впоследствии.
13
-
14
- Всё работает локально. Никакие данные не покидают вашу машину.
15
-
16
- ## Начните работу
17
-
18
- <CardGroup cols={2}>
19
-
20
- <Card title="26 встроенных политик" icon="shield" href="/ru/built-in-policies">
21
- Блокируйте деструктивные команды, предотвращайте утечки секретов, удерживайте агентов внутри границ проекта и многое другое — прямо из коробки.
22
- </Card>
23
-
24
- <Card title="Пользовательские политики" icon="code" href="/ru/custom-policies">
25
- Напишите свои собственные правила на JavaScript с простым API allow / deny / instruct.
26
- </Card>
27
-
28
- <Card title="Монитор агентов" icon="chart-line" href="/ru/dashboard">
29
- Смотрите, что делали ваши агенты, пока вас не было. Просматривайте сессии, проверяйте вызовы инструментов, смотрите, где срабатывали политики.
30
- </Card>
31
-
32
- <Card title="Простая конфигурация" icon="gear" href="/ru/configuration">
33
- Настраивайте любую политику без кода. Устанавливайте списки разрешений, защищённые ветки или пороги по проектам или глобально.
34
- </Card>
35
-
36
- </CardGroup>
37
-
38
- ## Быстрый старт
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
- Подробное руководство см. в [Getting started](/ru/getting-started).
@@ -1,82 +0,0 @@
1
- ---
2
- title: Альтернативные имена пакетов
3
- description: "Зарегистрированные альтернативные имена для защиты от опечаток и их работа"
4
- icon: copy
5
- ---
6
-
7
- ## Официальный пакет
8
-
9
- Основной npm-пакет — **`failproofai`**:
10
-
11
- ```bash
12
- npm install -g failproofai
13
- # или
14
- bun add -g failproofai
15
- ```
16
-
17
- ---
18
-
19
- ## Почему мы владеем альтернативными именами
20
-
21
- Typosquatting — это распространённая атака на цепочку поставок, при которой злоумышленник регистрирует имя пакета, отличающееся на один символ от популярного пакета. Невнимательные пользователи, допустившие опечатку в команде установки, в итоге запускают код, контролируемый злоумышленником, с полным доступом к системе — это именно тот вид угрозы, против которого разработана Failproof AI.
22
-
23
- Чтобы исключить эту уязвимость, **мы заранее регистрируем все распространённые опечатки и варианты написания** `failproofai` на npm. Ни одно из этих имён не может быть зарегистрировано третьей стороной. Каждое из них — это тонкий прокси, который устанавливает и делегирует работу основному пакету `failproofai`.
24
-
25
- ---
26
-
27
- ## Зарегистрированные альтернативные имена
28
-
29
- **Варианты написания** — разные способы написания "failproof ai":
30
-
31
- | Пакет | Статус |
32
- |---------|--------|
33
- | `failproof` | ✅ Опубликован |
34
- | `failproof-ai` | ⏳ Ожидает поддержки npm |
35
- | `fail-proof-ai` | ⏳ Ожидает поддержки npm |
36
- | `failproof_ai` | ⏳ Ожидает поддержки npm |
37
- | `fail_proof_ai` | ⏳ Ожидает поддержки npm |
38
- | `fail-proofai` | ⏳ Ожидает поддержки npm |
39
-
40
- **Опечатки `failprof*`** — пропущена одна буква `o` в слове "proof":
41
-
42
- | Пакет | Статус |
43
- |---------|--------|
44
- | `failprof` | ✅ Опубликован |
45
- | `failprof-ai` | ✅ Опубликован |
46
- | `failprofai` | ⏳ Ожидает поддержки npm |
47
- | `fail-prof-ai` | ⏳ Ожидает поддержки npm |
48
- | `failprof_ai` | ⏳ Ожидает поддержки npm |
49
-
50
- **Опечатки `faliproof*`** — переставлены буквы `a` и `i`:
51
-
52
- | Пакет | Статус |
53
- |---------|--------|
54
- | `faliproof` | ✅ Опубликован |
55
- | `faliproof-ai` | ✅ Опубликован |
56
- | `faliproofai` | ⏳ Ожидает поддержки npm |
57
-
58
- > **Почему в статусе "ожидает"?** Политика npm по защите от спама блокирует имена, которые нормализуются в одну строку с существующим пакетом после удаления пунктуации и проверки сходства. Мы связались с поддержкой npm, чтобы зарезервировать эти имена в целях защиты от typosquatting. Они будут активированы после одобрения.
59
-
60
- Вы можете проверить, что любое опубликованное альтернативное имя принадлежит нам:
61
-
62
- ```bash
63
- npm info failproof
64
- # Ищите: "ExosphereHost Inc." в поле maintainers
65
- ```
66
-
67
- ---
68
-
69
- ## Как работают альтернативные имена
70
-
71
- Каждый пакет-альтернатива:
72
-
73
- 1. Указывает `failproofai` как зависимость — поэтому при установке запускается основной пакет (включая его hook `postinstall`)
74
- 2. Экспортирует бинарный файл с собственным именем (например `failprof-ai`), который пробрасывает все аргументы на бинарный файл `failproofai`
75
-
76
- Прокси — это двухстрочный скрипт Node.js; в нём нет никакой логики, сетевых запросов и сбора данных, кроме того, что делает сам `failproofai`.
77
-
78
- ---
79
-
80
- ## Если мы пропустили какое-то имя
81
-
82
- Откройте задачу на [exospherehost/failproofai](https://github.com/exospherehost/failproofai/issues) и мы его зарегистрируем.