failproofai 0.0.5 → 0.0.6-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/.next/standalone/.failproofai/policies/review-policies.mjs +112 -0
  2. package/.next/standalone/.failproofai/policies/workflow-policies.mjs +2 -1
  3. package/.next/standalone/.next/BUILD_ID +1 -1
  4. package/.next/standalone/.next/build-manifest.json +5 -5
  5. package/.next/standalone/.next/prerender-manifest.json +3 -3
  6. package/.next/standalone/.next/required-server-files.json +1 -1
  7. package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +2 -2
  8. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  9. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  10. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
  13. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  14. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  15. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  16. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  17. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  18. package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +2 -2
  19. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  20. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  23. package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
  24. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
  25. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  26. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  27. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  28. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  29. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  30. package/.next/standalone/.next/server/app/index.html +1 -1
  31. package/.next/standalone/.next/server/app/index.rsc +15 -15
  32. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  33. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
  34. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  35. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
  36. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  37. package/.next/standalone/.next/server/app/page/build-manifest.json +2 -2
  38. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  39. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  41. package/.next/standalone/.next/server/app/policies/page/build-manifest.json +2 -2
  42. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
  43. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/project/[name]/page/build-manifest.json +2 -2
  46. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  47. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/build-manifest.json +2 -2
  50. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  51. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  52. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/projects/page/build-manifest.json +2 -2
  55. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  56. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  58. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +1 -1
  59. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
  60. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
  61. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
  62. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
  63. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
  64. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
  65. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0a~g15g._.js → [root-of-the-server]__0rh.18_._.js} +2 -2
  66. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +6 -6
  67. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0qn95h3._.js → [root-of-the-server]__0~kmh8w._.js} +2 -2
  68. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
  69. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
  70. package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
  71. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
  72. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
  73. package/.next/standalone/.next/server/middleware-build-manifest.js +5 -5
  74. package/.next/standalone/.next/server/pages/404.html +2 -2
  75. package/.next/standalone/.next/server/pages/500.html +1 -1
  76. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
  78. package/.next/standalone/.next/static/chunks/{0sme4lkv.tgn-.js → 01b~z8f1ws0rk.js} +1 -1
  79. package/.next/standalone/.next/static/chunks/{0lgbwkfqmnsmc.js → 03rz6ykw-a2xi.js} +1 -1
  80. package/.next/standalone/.next/static/chunks/{17manv47o-~wp.js → 08t08igdql9yt.js} +1 -1
  81. package/.next/standalone/.next/static/chunks/09_k80d~cq2wg.js +4 -0
  82. package/.next/standalone/.next/static/chunks/{0ksdlt_1hucdm.js → 0bvhsa6zva2o..js} +1 -1
  83. package/.next/standalone/.next/static/chunks/{09ikntpt2-o9b.js → 0gbf4cphy8ksq.js} +1 -1
  84. package/.next/standalone/.next/static/chunks/{0yumumfzx_f27.js → 0v.yd0kg_ld3r.js} +1 -1
  85. package/.next/standalone/.next/static/chunks/{13juklu.vksks.js → 0wlyoif4_kj_t.js} +1 -1
  86. package/.next/standalone/.next/static/chunks/{09e7drilkf1sn.js → 12simlrcfk3g2.js} +1 -1
  87. package/.next/standalone/.next/static/chunks/{0em7tspi4kylh.js → 12~yi9oj8av8p.js} +2 -2
  88. package/.next/standalone/.next/static/chunks/{turbopack-0r26pc8h0y_-e.js → turbopack-0o7k.hakttp4k.js} +1 -1
  89. package/.next/standalone/CHANGELOG.md +13 -0
  90. package/.next/standalone/README.md +2 -2
  91. package/.next/standalone/bun.lock +43 -85
  92. package/.next/standalone/dist/cli.mjs +107 -3
  93. package/.next/standalone/docs/ar/architecture.mdx +65 -64
  94. package/.next/standalone/docs/ar/configuration.mdx +42 -42
  95. package/.next/standalone/docs/ar/custom-policies.mdx +62 -64
  96. package/.next/standalone/docs/built-in-policies.mdx +37 -0
  97. package/.next/standalone/docs/custom-policies.mdx +1 -1
  98. package/.next/standalone/docs/de/architecture.mdx +92 -92
  99. package/.next/standalone/docs/de/configuration.mdx +34 -34
  100. package/.next/standalone/docs/de/custom-policies.mdx +49 -50
  101. package/.next/standalone/docs/es/architecture.mdx +72 -72
  102. package/.next/standalone/docs/es/configuration.mdx +25 -25
  103. package/.next/standalone/docs/es/custom-policies.mdx +48 -49
  104. package/.next/standalone/docs/examples.mdx +54 -0
  105. package/.next/standalone/docs/fr/architecture.mdx +53 -53
  106. package/.next/standalone/docs/fr/configuration.mdx +25 -25
  107. package/.next/standalone/docs/fr/custom-policies.mdx +42 -43
  108. package/.next/standalone/docs/getting-started.mdx +52 -0
  109. package/.next/standalone/docs/he/architecture.mdx +66 -66
  110. package/.next/standalone/docs/he/configuration.mdx +53 -52
  111. package/.next/standalone/docs/he/custom-policies.mdx +72 -73
  112. package/.next/standalone/docs/hi/architecture.mdx +106 -106
  113. package/.next/standalone/docs/hi/configuration.mdx +39 -39
  114. package/.next/standalone/docs/hi/custom-policies.mdx +75 -76
  115. package/.next/standalone/docs/i18n/README.ar.md +66 -66
  116. package/.next/standalone/docs/i18n/README.de.md +38 -38
  117. package/.next/standalone/docs/i18n/README.es.md +38 -38
  118. package/.next/standalone/docs/i18n/README.fr.md +42 -42
  119. package/.next/standalone/docs/i18n/README.he.md +67 -67
  120. package/.next/standalone/docs/i18n/README.hi.md +70 -70
  121. package/.next/standalone/docs/i18n/README.it.md +62 -62
  122. package/.next/standalone/docs/i18n/README.ja.md +54 -54
  123. package/.next/standalone/docs/i18n/README.ko.md +58 -58
  124. package/.next/standalone/docs/i18n/README.pt-br.md +43 -43
  125. package/.next/standalone/docs/i18n/README.ru.md +69 -69
  126. package/.next/standalone/docs/i18n/README.tr.md +76 -76
  127. package/.next/standalone/docs/i18n/README.vi.md +70 -70
  128. package/.next/standalone/docs/i18n/README.zh.md +52 -52
  129. package/.next/standalone/docs/it/architecture.mdx +54 -53
  130. package/.next/standalone/docs/it/configuration.mdx +44 -45
  131. package/.next/standalone/docs/it/custom-policies.mdx +76 -78
  132. package/.next/standalone/docs/ja/architecture.mdx +93 -93
  133. package/.next/standalone/docs/ja/configuration.mdx +47 -47
  134. package/.next/standalone/docs/ja/custom-policies.mdx +62 -63
  135. package/.next/standalone/docs/ko/architecture.mdx +66 -66
  136. package/.next/standalone/docs/ko/configuration.mdx +35 -35
  137. package/.next/standalone/docs/ko/custom-policies.mdx +71 -72
  138. package/.next/standalone/docs/pt-br/architecture.mdx +55 -55
  139. package/.next/standalone/docs/pt-br/configuration.mdx +35 -35
  140. package/.next/standalone/docs/pt-br/custom-policies.mdx +60 -61
  141. package/.next/standalone/docs/ru/architecture.mdx +59 -60
  142. package/.next/standalone/docs/ru/configuration.mdx +52 -53
  143. package/.next/standalone/docs/ru/custom-policies.mdx +68 -69
  144. package/.next/standalone/docs/tr/architecture.mdx +124 -124
  145. package/.next/standalone/docs/tr/configuration.mdx +45 -46
  146. package/.next/standalone/docs/tr/custom-policies.mdx +75 -75
  147. package/.next/standalone/docs/vi/architecture.mdx +65 -64
  148. package/.next/standalone/docs/vi/configuration.mdx +41 -41
  149. package/.next/standalone/docs/vi/custom-policies.mdx +68 -69
  150. package/.next/standalone/docs/zh/architecture.mdx +67 -67
  151. package/.next/standalone/docs/zh/configuration.mdx +34 -34
  152. package/.next/standalone/docs/zh/custom-policies.mdx +53 -54
  153. package/.next/standalone/node_modules/@next/env/package.json +1 -1
  154. package/.next/standalone/node_modules/next/dist/build/swc/index.js +1 -1
  155. package/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +7 -7
  156. package/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
  157. package/.next/standalone/node_modules/next/dist/server/config-schema.js +10 -2
  158. package/.next/standalone/node_modules/next/dist/server/config.js +1 -1
  159. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
  160. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  161. package/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  162. package/.next/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
  163. package/.next/standalone/node_modules/next/dist/server/render.js +27 -20
  164. package/.next/standalone/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +1 -1
  165. package/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  166. package/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  167. package/.next/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
  168. package/.next/standalone/node_modules/next/package.json +15 -15
  169. package/.next/standalone/package.json +2 -2
  170. package/.next/standalone/server.js +1 -1
  171. package/.next/standalone/src/hooks/builtin-policies.ts +131 -0
  172. package/README.md +2 -2
  173. package/dist/cli.mjs +107 -3
  174. package/package.json +2 -2
  175. package/src/hooks/builtin-policies.ts +131 -0
  176. package/.next/standalone/.next/static/chunks/0_yayar~bpphd.js +0 -4
  177. /package/.next/standalone/.next/static/{hYQM6iCWnF1W5XDpsIRhV → CkmOT-ZvDN-sVULinGVKT}/_buildManifest.js +0 -0
  178. /package/.next/standalone/.next/static/{hYQM6iCWnF1W5XDpsIRhV → CkmOT-ZvDN-sVULinGVKT}/_clientMiddlewareManifest.js +0 -0
  179. /package/.next/standalone/.next/static/{hYQM6iCWnF1W5XDpsIRhV → CkmOT-ZvDN-sVULinGVKT}/_ssgManifest.js +0 -0
@@ -23,12 +23,12 @@
23
23
 
24
24
  **Переводы**: [简体中文](docs/i18n/README.zh.md) | [日本語](docs/i18n/README.ja.md) | [한국어](docs/i18n/README.ko.md) | [Español](docs/i18n/README.es.md) | [Português](docs/i18n/README.pt-br.md) | [Deutsch](docs/i18n/README.de.md) | [Français](docs/i18n/README.fr.md) | [Русский](docs/i18n/README.ru.md) | [हिन्दी](docs/i18n/README.hi.md) | [Türkçe](docs/i18n/README.tr.md) | [Tiếng Việt](docs/i18n/README.vi.md) | [Italiano](docs/i18n/README.it.md) | [العربية](docs/i18n/README.ar.md) | [עברית](docs/i18n/README.he.md)
25
25
 
26
- Самый простой способ управлять политиками, которые делают ваших AI-агентов надежными, сосредоточенными и способными работать автономно — для **Claude Code** и **Agents SDK**.
26
+ Самый простой способ управлять политиками, которые делают ваших AI-агентов надёжными, сосредоточенными и автономными — для **Claude Code** и **Agents SDK**.
27
27
 
28
- - **30 встроенных политик** - Предотвращайте типичные сбои агентов уже из коробки. Блокируйте деструктивные команды, предотвращайте утечку секретов, держите агентов в границах проекта, обнаруживайте циклы и многое другое.
29
- - **Пользовательские политики** - Напишите собственные правила надежности на JavaScript. Используйте API `allow`/`deny`/`instruct` для обеспечения соглашений, предотвращения отклонений, управления операциями или интеграции с внешними системами.
30
- - **Простая конфигурация** - Настраивайте любую политику без написания кода. Устанавливайте списки разрешений, защищенные ветви, пороги для каждого проекта или глобально. Конфигурация трех уровней автоматически объединяется.
31
- - **Монитор агентов** - Узнайте, что делали ваши агенты, пока вас не было. Просматривайте сеансы, проверяйте каждый вызов инструмента и смотрите, где именно сработали политики.
28
+ - **30 встроенных политик** Предотвращайте типичные сбои агентов из коробки. Блокируйте деструктивные команды, предотвращайте утечки секретов, удерживайте агентов в границах проекта, обнаруживайте циклы и многое другое.
29
+ - **Пользовательские политики** Напишите свои правила надёжности на JavaScript. Используйте API `allow`/`deny`/`instruct` для обеспечения конвенций, предотвращения дрейфа, контроля операций или интеграции с внешними системами.
30
+ - **Простая конфигурация** Настраивайте любую политику без написания кода. Устанавливайте списки разрешений, защищённые ветви, пороги на уровне проекта или глобально. Конфигурация трёх уровней автоматически объединяется.
31
+ - **Мониторинг агентов** Смотрите, что делали ваши агенты, пока вас не было. Просматривайте сеансы, проверяйте каждый вызов инструмента и смотрите точно, где срабатывали политики.
32
32
 
33
33
  Всё работает локально — никакие данные не покидают вашу машину.
34
34
 
@@ -37,7 +37,7 @@
37
37
  ## Требования
38
38
 
39
39
  - Node.js >= 20.9.0
40
- - Bun >= 1.3.0 (необязательно — требуется только для разработки / сборки из исходного кода)
40
+ - Bun >= 1.3.0 (опционально — требуется только для разработки / сборки из исходников)
41
41
 
42
42
  ---
43
43
 
@@ -59,7 +59,7 @@ bun add -g failproofai
59
59
  failproofai policies --install
60
60
  ```
61
61
 
62
- Добавляет записи перехватчиков в `~/.claude/settings.json`. Теперь Claude Code будет вызывать failproofai до и после каждого вызова инструмента.
62
+ Записывает записи hook в `~/.claude/settings.json`. Claude Code теперь будет вызывать failproofai до и после каждого вызова инструмента.
63
63
 
64
64
  ### 2. Запустите панель управления
65
65
 
@@ -79,15 +79,15 @@ failproofai policies
79
79
 
80
80
  ## Установка политик
81
81
 
82
- ### Уровни
82
+ ### Области видимости
83
83
 
84
- | Уровень | Команда | Где записывает |
85
- |---------|---------|----------------|
86
- | Глобальный (по умолчанию) | `failproofai policies --install` | `~/.claude/settings.json` |
84
+ | Область | Команда | Где записывается |
85
+ |---------|---------|------------------|
86
+ | Глобальная (по умолчанию) | `failproofai policies --install` | `~/.claude/settings.json` |
87
87
  | Проект | `failproofai policies --install --scope project` | `.claude/settings.json` |
88
- | Локальный | `failproofai policies --install --scope local` | `.claude/settings.local.json` |
88
+ | Локальная | `failproofai policies --install --scope local` | `.claude/settings.local.json` |
89
89
 
90
- ### Установите конкретные политики
90
+ ### Установка специфических политик
91
91
 
92
92
  ```bash
93
93
  failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
@@ -97,7 +97,7 @@ failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
97
97
 
98
98
  ```bash
99
99
  failproofai policies --uninstall
100
- # или для конкретного уровня:
100
+ # или для конкретной области:
101
101
  failproofai policies --uninstall --scope project
102
102
  ```
103
103
 
@@ -105,7 +105,7 @@ failproofai policies --uninstall --scope project
105
105
 
106
106
  ## Конфигурация
107
107
 
108
- Конфигурация политик находится в `~/.failproofai/policies-config.json` (глобально) или `.failproofai/policies-config.json` в вашем проекте (для каждого проекта).
108
+ Конфигурация политик находится в `~/.failproofai/policies-config.json` (глобальная) или `.failproofai/policies-config.json` в вашем проекте (для каждого проекта).
109
109
 
110
110
  ```json
111
111
  {
@@ -120,11 +120,11 @@ failproofai policies --uninstall --scope project
120
120
  "policyParams": {
121
121
  "block-sudo": {
122
122
  "allowPatterns": ["sudo systemctl status", "sudo journalctl"],
123
- "hint": "Use apt-get directly without sudo."
123
+ "hint": "Используйте apt-get напрямую без sudo."
124
124
  },
125
125
  "block-push-master": {
126
126
  "protectedBranches": ["main", "release", "prod"],
127
- "hint": "Try creating a fresh branch instead."
127
+ "hint": "Попробуйте создать свежую ветвь вместо этого."
128
128
  },
129
129
  "sanitize-api-keys": {
130
130
  "additionalPatterns": [
@@ -138,60 +138,60 @@ failproofai policies --uninstall --scope project
138
138
  }
139
139
  ```
140
140
 
141
- **Три уровня конфигурации** автоматически объединяются (проект → локальныйглобальный). Полные правила объединения см. в [docs/configuration.mdx](docs/configuration.mdx).
141
+ **Три области конфигурации** автоматически объединяются (проект → локальнаяглобальная). Смотрите [docs/configuration.mdx](docs/configuration.mdx) для полных правил объединения.
142
142
 
143
143
  ---
144
144
 
145
145
  ## Встроенные политики
146
146
 
147
- | Политика | Описание | Настраиваемо |
147
+ | Политика | Описание | Настраивается |
148
148
  |----------|---------|:---:|
149
- | `block-sudo` | Предотвратите запуск привилегированных системных команд агентами | `allowPatterns` |
150
- | `block-rm-rf` | Предотвратите случайное рекурсивное удаление файлов | `allowPaths` |
151
- | `block-curl-pipe-sh` | Предотвратите передачу ненадежных скриптов агентами в оболочку | |
152
- | `block-failproofai-commands` | Предотвратите самоудаление | |
153
- | `sanitize-jwt` | Остановите утечку JWT-токенов в контекст агента | |
154
- | `sanitize-api-keys` | Остановите утечку API-ключей в контекст агента | `additionalPatterns` |
155
- | `sanitize-connection-strings` | Остановите утечку учетных данных базы данных в контекст агента | |
156
- | `sanitize-private-key-content` | Скройте блоки PEM-ключей из выходных данных | |
157
- | `sanitize-bearer-tokens` | Скройте токены Authorization Bearer из выходных данных | |
158
- | `block-env-files` | Не позволяйте агентам читать файлы .env | |
159
- | `protect-env-vars` | Предотвратите вывод переменных окружения агентами | |
160
- | `block-read-outside-cwd` | Держите агентов внутри границ проекта | `allowPaths` |
161
- | `block-secrets-write` | Предотвратите запись в файлы приватных ключей и сертификатов | `additionalPatterns` |
162
- | `block-push-master` | Предотвратите случайные отправки на main/master | `protectedBranches` |
163
- | `block-work-on-main` | Держите агентов от защищенных ветвей | `protectedBranches` |
164
- | `block-force-push` | Предотвратите `git push --force` | |
165
- | `warn-git-amend` | Напомните агентам перед изменением коммитов | |
166
- | `warn-git-stash-drop` | Напомните агентам перед удалением сохранений | |
167
- | `warn-all-files-staged` | Поймайте случайный `git add -A` | |
168
- | `warn-destructive-sql` | Поймайте DROP/DELETE SQL перед выполнением | |
169
- | `warn-schema-alteration` | Поймайте ALTER TABLE перед выполнением | |
170
- | `warn-large-file-write` | Поймайте неожиданно большие записи файлов | `thresholdKb` |
171
- | `warn-package-publish` | Поймайте случайный `npm publish` | |
172
- | `warn-background-process` | Поймайте непреднамеренные фоновые процессы | |
173
- | `warn-global-package-install` | Поймайте непреднамеренные глобальные установки пакетов | |
174
- | …и еще | | |
175
-
176
- Полная информация о политиках и справочник параметров: [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
149
+ | `block-sudo` | Предотвратить запуск привилегированных системных команд | `allowPatterns` |
150
+ | `block-rm-rf` | Предотвратить случайное рекурсивное удаление файлов | `allowPaths` |
151
+ | `block-curl-pipe-sh` | Предотвратить передачу ненадёжных скриптов в shell | |
152
+ | `block-failproofai-commands` | Предотвратить самостоятельное удаление | |
153
+ | `sanitize-jwt` | Остановить утечку JWT токенов в контекст агента | |
154
+ | `sanitize-api-keys` | Остановить утечку ключей API в контекст агента | `additionalPatterns` |
155
+ | `sanitize-connection-strings` | Остановить утечку учётных данных базы данных в контекст агента | |
156
+ | `sanitize-private-key-content` | Скрыть блоки PEM приватных ключей из вывода | |
157
+ | `sanitize-bearer-tokens` | Скрыть токены Authorization Bearer из вывода | |
158
+ | `block-env-files` | Удерживать агентов от чтения .env файлов | |
159
+ | `protect-env-vars` | Предотвратить вывод переменных окружения | |
160
+ | `block-read-outside-cwd` | Удерживать агентов в границах проекта | `allowPaths` |
161
+ | `block-secrets-write` | Предотвратить запись в файлы приватных ключей и сертификатов | `additionalPatterns` |
162
+ | `block-push-master` | Предотвратить случайные push в main/master | `protectedBranches` |
163
+ | `block-work-on-main` | Удерживать агентов от защищённых ветвей | `protectedBranches` |
164
+ | `block-force-push` | Предотвратить `git push --force` | |
165
+ | `warn-git-amend` | Напомнить агентам перед изменением коммитов | |
166
+ | `warn-git-stash-drop` | Напомнить агентам перед удалением стеша | |
167
+ | `warn-all-files-staged` | Поймать случайный `git add -A` | |
168
+ | `warn-destructive-sql` | Поймать DROP/DELETE SQL перед выполнением | |
169
+ | `warn-schema-alteration` | Поймать ALTER TABLE перед выполнением | |
170
+ | `warn-large-file-write` | Поймать неожиданно большие записи файлов | `thresholdKb` |
171
+ | `warn-package-publish` | Поймать случайный `npm publish` | |
172
+ | `warn-background-process` | Поймать непреднамеренные запуски фоновых процессов | |
173
+ | `warn-global-package-install` | Поймать непреднамеренные глобальные установки пакетов | |
174
+ | …и другие | | |
175
+
176
+ Полные детали политик и справочник параметров: [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
177
177
 
178
178
  ---
179
179
 
180
180
  ## Пользовательские политики
181
181
 
182
- Напишите собственные политики, чтобы ваши агенты были надежными и сосредоточенными:
182
+ Напишите свои политики, чтобы сделать агентов надёжными и сосредоточенными на задаче:
183
183
 
184
184
  ```js
185
185
  import { customPolicies, allow, deny, instruct } from "failproofai";
186
186
 
187
187
  customPolicies.add({
188
188
  name: "no-production-writes",
189
- description: "Block writes to paths containing 'production'",
189
+ description: "Заблокировать запись в пути, содержащие 'production'",
190
190
  match: { events: ["PreToolUse"] },
191
191
  fn: async (ctx) => {
192
192
  if (!["Write", "Edit"].includes(ctx.toolName ?? "")) return allow();
193
193
  const path = ctx.toolInput?.file_path ?? "";
194
- if (path.includes("production")) return deny("Writes to production paths are blocked");
194
+ if (path.includes("production")) return deny("Запись в пути production заблокирована");
195
195
  return allow();
196
196
  },
197
197
  });
@@ -203,7 +203,7 @@ customPolicies.add({
203
203
  failproofai policies --install --custom ./my-policies.js
204
204
  ```
205
205
 
206
- ### Вспомогательные функции для решений
206
+ ### Вспомогательные функции решений
207
207
 
208
208
  | Функция | Эффект |
209
209
  |---------|--------|
@@ -219,27 +219,27 @@ failproofai policies --install --custom ./my-policies.js
219
219
  | `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
220
220
  | `toolName` | `string` | Вызываемый инструмент (`"Bash"`, `"Write"`, `"Read"`, …) |
221
221
  | `toolInput` | `object` | Входные параметры инструмента |
222
- | `payload` | `object` | Полный необработанный payload события |
222
+ | `payload` | `object` | Полный сырой payload события |
223
223
  | `session.cwd` | `string` | Рабочая директория сеанса Claude Code |
224
224
  | `session.sessionId` | `string` | Идентификатор сеанса |
225
- | `session.transcriptPath` | `string` | Путь к файлу стенограммы сеанса |
225
+ | `session.transcriptPath` | `string` | Путь к файлу транскрипта сеанса |
226
226
 
227
- Пользовательские перехватчики поддерживают переходные локальные импорты, async/await и доступ к `process.env`. Ошибки безопасны (логируются в `~/.failproofai/hook.log`, встроенные политики продолжают работу). Полное руководство см. в [docs/custom-hooks.mdx](docs/custom-hooks.mdx).
227
+ Пользовательские hooks поддерживают переходные локальные импорты, async/await и доступ к `process.env`. Ошибки являются fail-open (логируются в `~/.failproofai/hook.log`, встроенные политики продолжают работу). Смотрите [docs/custom-hooks.mdx](docs/custom-hooks.mdx) для полного руководства.
228
228
 
229
229
  ### Политики на основе соглашений
230
230
 
231
- Поместите файлы `*policies.{js,mjs,ts}` в `.failproofai/policies/` они будут автоматически загружены без флага `--custom` или изменения конфигурации. Работает как git-хуки: поместите файл, и всё работает.
231
+ Поместите файлы `*policies.{js,mjs,ts}` в `.failproofai/policies/` и они автоматически загружаются без флага `--custom` или изменений конфигурации. Работает как git hooks: положите файл, и он просто работает.
232
232
 
233
233
  ```text
234
- # Уровень проекта — коммитится в git, общее с командой
234
+ # Уровень проекта — зафиксировано в git, общее с командой
235
235
  .failproofai/policies/security-policies.mjs
236
236
  .failproofai/policies/workflow-policies.mjs
237
237
 
238
- # Уровень пользователя — личное, применяется ко всем проектам
238
+ # Уровень пользователя — персональное, применяется ко всем проектам
239
239
  ~/.failproofai/policies/my-policies.mjs
240
240
  ```
241
241
 
242
- Загружаются оба уровня (объединение). Файлы загружаются в алфавитном порядке внутри каждой директории. Используйте префиксы `01-`, `02-`, и т.д., чтобы контролировать порядок. Готовые примеры см. в [examples/convention-policies/](examples/convention-policies/).
242
+ Оба уровня загружаются (объединение). Файлы загружаются в алфавитном порядке в каждой директории. Используйте префиксы `01-`, `02-` и т.д. для контроля порядка. Смотрите [examples/convention-policies/](examples/convention-policies/) для готовых примеров.
243
243
 
244
244
  ---
245
245
 
@@ -258,13 +258,13 @@ FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
258
258
  ## Документация
259
259
 
260
260
  | Руководство | Описание |
261
- |-----------|---------|
261
+ |-----------|----------|
262
262
  | [Начало работы](docs/getting-started.mdx) | Установка и первые шаги |
263
263
  | [Встроенные политики](docs/built-in-policies.mdx) | Все 30 встроенных политик с параметрами |
264
- | [Пользовательские политики](docs/custom-policies.mdx) | Напишите собственные политики |
265
- | [Конфигурация](docs/configuration.mdx) | Формат файла конфигурации и объединение уровней |
264
+ | [Пользовательские политики](docs/custom-policies.mdx) | Напишите свои политики |
265
+ | [Конфигурация](docs/configuration.mdx) | Формат файла конфигурации и объединение областей видимости |
266
266
  | [Панель управления](docs/dashboard.mdx) | Мониторинг сеансов и проверка активности политик |
267
- | [Архитектура](docs/architecture.mdx) | Как работает система перехватчиков |
267
+ | [Архитектура](docs/architecture.mdx) | Как работает система hooks |
268
268
  | [Тестирование](docs/testing.mdx) | Запуск тестов и написание новых |
269
269
 
270
270
  ### Запустите документацию локально
@@ -274,7 +274,7 @@ docker build -f Dockerfile.docs -t failproofai-docs .
274
274
  docker run --rm -p 3000:3000 failproofai-docs
275
275
  ```
276
276
 
277
- Откроет сайт документации Mintlify на `http://localhost:3000`. Контейнер отслеживает изменения, если вы монтируете директорию документов:
277
+ Открывает сайт документации Mintlify на `http://localhost:3000`. Контейнер следит за изменениями, если вы примонтируете директорию docs:
278
278
 
279
279
  ```bash
280
280
  docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
@@ -284,25 +284,25 @@ docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
284
284
 
285
285
  ## Примечание для участников failproofai
286
286
 
287
- `.claude/settings.json` этого репозитория использует `bun ./bin/failproofai.mjs --hook <EventType>` вместо стандартной команды `npx -y failproofai`. Это потому, что запуск `npx -y failproofai` внутри самого проекта failproofai создает конфликт самоссылающихся ссылок.
287
+ `.claude/settings.json` этого репозитория использует `bun ./bin/failproofai.mjs --hook <EventType>` вместо стандартной команды `npx -y failproofai`. Это потому, что запуск `npx -y failproofai` внутри самого проекта failproofai создаёт конфликт самоссылки.
288
288
 
289
- Для всех остальных репозиториев рекомендуемый подход — `npx -y failproofai`, установленный с помощью:
289
+ Для всех других репозиториев рекомендуемый подход — `npx -y failproofai`, установленный с помощью:
290
290
 
291
291
  ```bash
292
292
  failproofai policies --install --scope project
293
293
  ```
294
294
 
295
- ## Участие в разработке
295
+ ## Помощь в разработке
296
296
 
297
- См. [CONTRIBUTING.md](CONTRIBUTING.md).
297
+ Смотрите [CONTRIBUTING.md](CONTRIBUTING.md).
298
298
 
299
299
  ---
300
300
 
301
301
  ## Лицензия
302
302
 
303
- См. [LICENSE](LICENSE).
303
+ Смотрите [LICENSE](LICENSE).
304
304
 
305
305
  ---
306
306
 
307
- Создано и поддерживается компанией **ExosphereHost: Reliability Research Lab for Your Agents**. Мы помогаем предприятиям и стартапам повысить надежность своих AI-агентов через собственные агенты, программное обеспечение и экспертизу. Узнайте больше на [exosphere.host](https://exosphere.host).
307
+ Создано и поддерживается **ExosphereHost: Reliability Research Lab for Your Agents**. Мы помогаем предприятиям и стартапам улучшить надёжность своих AI-агентов благодаря собственным агентам, программному обеспечению и опыту. Узнайте больше на [exosphere.host](https://exosphere.host).
308
308
  ```