failproofai 0.0.6-beta.1 → 0.0.6-beta.2

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 (160) hide show
  1. package/.next/standalone/.failproofai/policies/review-policies.mjs +4 -3
  2. package/.next/standalone/.next/BUILD_ID +1 -1
  3. package/.next/standalone/.next/build-manifest.json +3 -3
  4. package/.next/standalone/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/.next/required-server-files.json +1 -1
  6. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  7. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
  11. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  12. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  13. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  14. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  15. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  17. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  20. package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
  21. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
  22. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  23. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  24. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  25. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  26. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  27. package/.next/standalone/.next/server/app/index.html +1 -1
  28. package/.next/standalone/.next/server/app/index.rsc +15 -15
  29. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  30. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
  31. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  32. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
  33. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  34. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  35. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
  38. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  41. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  44. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  45. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  48. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +1 -1
  51. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
  52. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0~kmh8w._.js → [root-of-the-server]__05akje6._.js} +2 -2
  53. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
  54. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
  55. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
  56. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
  57. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0rh.18_._.js → [root-of-the-server]__0i5kvry._.js} +2 -2
  58. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
  59. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +2 -2
  60. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
  61. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
  62. package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
  63. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
  64. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.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/{08t08igdql9yt.js → 00j0rr7rh8ef8.js} +1 -1
  71. package/.next/standalone/.next/static/chunks/{12~yi9oj8av8p.js → 05j1px0r8yzh6.js} +2 -2
  72. package/.next/standalone/.next/static/chunks/{09_k80d~cq2wg.js → 0badv41uxa56..js} +1 -1
  73. package/.next/standalone/.next/static/chunks/{0wlyoif4_kj_t.js → 0ijk_kek9_wyx.js} +1 -1
  74. package/.next/standalone/.next/static/chunks/{0bvhsa6zva2o..js → 0ksdlt_1hucdm.js} +1 -1
  75. package/.next/standalone/.next/static/chunks/{03rz6ykw-a2xi.js → 0npb~873.wvg3.js} +1 -1
  76. package/.next/standalone/.next/static/chunks/{01b~z8f1ws0rk.js → 0xpl.oscrakvx.js} +1 -1
  77. package/.next/standalone/.next/static/chunks/{0gbf4cphy8ksq.js → 1052sguyd-.ka.js} +1 -1
  78. package/.next/standalone/.next/static/chunks/{0v.yd0kg_ld3r.js → 14cl9poem30dq.js} +1 -1
  79. package/.next/standalone/CHANGELOG.md +11 -0
  80. package/.next/standalone/dist/cli.mjs +3 -3
  81. package/.next/standalone/docs/ar/built-in-policies.mdx +124 -87
  82. package/.next/standalone/docs/ar/custom-policies.mdx +72 -72
  83. package/.next/standalone/docs/ar/examples.mdx +86 -33
  84. package/.next/standalone/docs/ar/getting-started.mdx +82 -29
  85. package/.next/standalone/docs/built-in-policies.mdx +1 -1
  86. package/.next/standalone/docs/de/built-in-policies.mdx +93 -56
  87. package/.next/standalone/docs/de/custom-policies.mdx +56 -56
  88. package/.next/standalone/docs/de/examples.mdx +72 -18
  89. package/.next/standalone/docs/de/getting-started.mdx +72 -20
  90. package/.next/standalone/docs/es/built-in-policies.mdx +115 -78
  91. package/.next/standalone/docs/es/custom-policies.mdx +55 -55
  92. package/.next/standalone/docs/es/examples.mdx +73 -19
  93. package/.next/standalone/docs/es/getting-started.mdx +72 -20
  94. package/.next/standalone/docs/fr/built-in-policies.mdx +83 -46
  95. package/.next/standalone/docs/fr/custom-policies.mdx +51 -51
  96. package/.next/standalone/docs/fr/examples.mdx +78 -24
  97. package/.next/standalone/docs/fr/getting-started.mdx +65 -13
  98. package/.next/standalone/docs/he/built-in-policies.mdx +156 -117
  99. package/.next/standalone/docs/he/custom-policies.mdx +75 -75
  100. package/.next/standalone/docs/he/examples.mdx +87 -33
  101. package/.next/standalone/docs/he/getting-started.mdx +84 -33
  102. package/.next/standalone/docs/hi/built-in-policies.mdx +101 -60
  103. package/.next/standalone/docs/hi/custom-policies.mdx +71 -70
  104. package/.next/standalone/docs/hi/examples.mdx +90 -36
  105. package/.next/standalone/docs/hi/getting-started.mdx +80 -27
  106. package/.next/standalone/docs/i18n/README.ar.md +69 -69
  107. package/.next/standalone/docs/i18n/README.de.md +46 -46
  108. package/.next/standalone/docs/i18n/README.es.md +42 -42
  109. package/.next/standalone/docs/i18n/README.fr.md +39 -39
  110. package/.next/standalone/docs/i18n/README.he.md +83 -83
  111. package/.next/standalone/docs/i18n/README.hi.md +69 -69
  112. package/.next/standalone/docs/i18n/README.it.md +72 -72
  113. package/.next/standalone/docs/i18n/README.ja.md +71 -71
  114. package/.next/standalone/docs/i18n/README.ko.md +52 -52
  115. package/.next/standalone/docs/i18n/README.pt-br.md +44 -44
  116. package/.next/standalone/docs/i18n/README.ru.md +66 -66
  117. package/.next/standalone/docs/i18n/README.tr.md +82 -83
  118. package/.next/standalone/docs/i18n/README.vi.md +70 -71
  119. package/.next/standalone/docs/i18n/README.zh.md +51 -51
  120. package/.next/standalone/docs/it/built-in-policies.mdx +118 -81
  121. package/.next/standalone/docs/it/custom-policies.mdx +69 -69
  122. package/.next/standalone/docs/it/examples.mdx +93 -39
  123. package/.next/standalone/docs/it/getting-started.mdx +73 -21
  124. package/.next/standalone/docs/ja/built-in-policies.mdx +98 -61
  125. package/.next/standalone/docs/ja/custom-policies.mdx +71 -71
  126. package/.next/standalone/docs/ja/examples.mdx +76 -22
  127. package/.next/standalone/docs/ja/getting-started.mdx +65 -13
  128. package/.next/standalone/docs/ko/built-in-policies.mdx +137 -100
  129. package/.next/standalone/docs/ko/custom-policies.mdx +67 -67
  130. package/.next/standalone/docs/ko/examples.mdx +87 -33
  131. package/.next/standalone/docs/ko/getting-started.mdx +61 -9
  132. package/.next/standalone/docs/pt-br/built-in-policies.mdx +94 -57
  133. package/.next/standalone/docs/pt-br/custom-policies.mdx +56 -56
  134. package/.next/standalone/docs/pt-br/examples.mdx +78 -24
  135. package/.next/standalone/docs/pt-br/getting-started.mdx +64 -12
  136. package/.next/standalone/docs/ru/built-in-policies.mdx +142 -105
  137. package/.next/standalone/docs/ru/custom-policies.mdx +82 -81
  138. package/.next/standalone/docs/ru/examples.mdx +77 -22
  139. package/.next/standalone/docs/ru/getting-started.mdx +74 -22
  140. package/.next/standalone/docs/tr/built-in-policies.mdx +104 -67
  141. package/.next/standalone/docs/tr/custom-policies.mdx +59 -60
  142. package/.next/standalone/docs/tr/examples.mdx +97 -42
  143. package/.next/standalone/docs/tr/getting-started.mdx +75 -23
  144. package/.next/standalone/docs/vi/built-in-policies.mdx +110 -72
  145. package/.next/standalone/docs/vi/custom-policies.mdx +68 -68
  146. package/.next/standalone/docs/vi/examples.mdx +93 -38
  147. package/.next/standalone/docs/vi/getting-started.mdx +74 -22
  148. package/.next/standalone/docs/zh/built-in-policies.mdx +132 -95
  149. package/.next/standalone/docs/zh/custom-policies.mdx +49 -49
  150. package/.next/standalone/docs/zh/examples.mdx +90 -36
  151. package/.next/standalone/docs/zh/getting-started.mdx +73 -21
  152. package/.next/standalone/package.json +1 -1
  153. package/.next/standalone/server.js +1 -1
  154. package/.next/standalone/src/hooks/builtin-policies.ts +5 -1
  155. package/dist/cli.mjs +3 -3
  156. package/package.json +1 -1
  157. package/src/hooks/builtin-policies.ts +5 -1
  158. /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → A9pNTZdoYJTVyPAYwQMx5}/_buildManifest.js +0 -0
  159. /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → A9pNTZdoYJTVyPAYwQMx5}/_clientMiddlewareManifest.js +0 -0
  160. /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → A9pNTZdoYJTVyPAYwQMx5}/_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
+ Самый простой способ управления политиками, которые делают ваши ИИ-агенты надежными, сосредоточенными на задачах и работающими автономно — для **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,15 +59,15 @@ bun add -g failproofai
59
59
  failproofai policies --install
60
60
  ```
61
61
 
62
- Записывает записи hook в `~/.claude/settings.json`. Claude Code теперь будет вызывать failproofai до и после каждого вызова инструмента.
62
+ Записывает записи хука в `~/.claude/settings.json`. Claude Code теперь будет вызывать failproofai до и после каждого вызова инструмента.
63
63
 
64
- ### 2. Запустите панель управления
64
+ ### 2. Запустите панель мониторинга
65
65
 
66
66
  ```bash
67
67
  failproofai
68
68
  ```
69
69
 
70
- Открывает `http://localhost:8020` — просматривайте сеансы, проверяйте логи, управляйте политиками.
70
+ Открывает `http://localhost:8020` — просматривайте сессии, проверяйте логи, управляйте политиками.
71
71
 
72
72
  ### 3. Проверьте, что активно
73
73
 
@@ -79,15 +79,15 @@ failproofai policies
79
79
 
80
80
  ## Установка политик
81
81
 
82
- ### Области видимости
82
+ ### Области действия
83
83
 
84
- | Область | Команда | Где записывается |
85
- |---------|---------|------------------|
84
+ | Область | Команда | Куда записывается |
85
+ |--------|---------|-----------------|
86
86
  | Глобальная (по умолчанию) | `failproofai policies --install` | `~/.claude/settings.json` |
87
87
  | Проект | `failproofai policies --install --scope project` | `.claude/settings.json` |
88
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
@@ -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
  {
@@ -124,7 +124,7 @@ failproofai policies --uninstall --scope project
124
124
  },
125
125
  "block-push-master": {
126
126
  "protectedBranches": ["main", "release", "prod"],
127
- "hint": "Попробуйте создать свежую ветвь вместо этого."
127
+ "hint": "Попробуйте создать свежую ветку вместо этого."
128
128
  },
129
129
  "sanitize-api-keys": {
130
130
  "additionalPatterns": [
@@ -138,55 +138,55 @@ 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
- |----------|---------|:---:|
149
- | `block-sudo` | Предотвратить запуск привилегированных системных команд | `allowPatterns` |
148
+ |--------|-------------|:---:|
149
+ | `block-sudo` | Предотвратить запуск привилегированных системных команд агентами | `allowPatterns` |
150
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` |
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` | Скрыть токены Bearer авторизации из вывода | |
158
+ | `block-env-files` | Предотвратить чтение файлов .env | |
159
+ | `protect-env-vars` | Предотвратить вывод переменных окружения агентом | |
160
+ | `block-read-outside-cwd` | Держать агентов в границах проекта | `allowPaths` |
161
161
  | `block-secrets-write` | Предотвратить запись в файлы приватных ключей и сертификатов | `additionalPatterns` |
162
- | `block-push-master` | Предотвратить случайные push в main/master | `protectedBranches` |
163
- | `block-work-on-main` | Удерживать агентов от защищённых ветвей | `protectedBranches` |
162
+ | `block-push-master` | Предотвратить случайные отправки в main/master | `protectedBranches` |
163
+ | `block-work-on-main` | Держать агентов подальше от защищённых веток | `protectedBranches` |
164
164
  | `block-force-push` | Предотвратить `git push --force` | |
165
165
  | `warn-git-amend` | Напомнить агентам перед изменением коммитов | |
166
- | `warn-git-stash-drop` | Напомнить агентам перед удалением стеша | |
166
+ | `warn-git-stash-drop` | Напомнить агентам перед удалением временных сохранений | |
167
167
  | `warn-all-files-staged` | Поймать случайный `git add -A` | |
168
168
  | `warn-destructive-sql` | Поймать DROP/DELETE SQL перед выполнением | |
169
169
  | `warn-schema-alteration` | Поймать ALTER TABLE перед выполнением | |
170
170
  | `warn-large-file-write` | Поймать неожиданно большие записи файлов | `thresholdKb` |
171
171
  | `warn-package-publish` | Поймать случайный `npm publish` | |
172
- | `warn-background-process` | Поймать непреднамеренные запуски фоновых процессов | |
173
- | `warn-global-package-install` | Поймать непреднамеренные глобальные установки пакетов | |
172
+ | `warn-background-process` | Поймать ненамеренные запуски фоновых процессов | |
173
+ | `warn-global-package-install` | Поймать ненамеренные глобальные установки пакетов | |
174
174
  | …и другие | | |
175
175
 
176
- Полные детали политик и справочник параметров: [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
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: "Заблокировать запись в пути, содержащие 'production'",
189
+ description: "Блокировать запись в пути, содержащие 'production'",
190
190
  match: { events: ["PreToolUse"] },
191
191
  fn: async (ctx) => {
192
192
  if (!["Write", "Edit"].includes(ctx.toolName ?? "")) return allow();
@@ -203,10 +203,10 @@ customPolicies.add({
203
203
  failproofai policies --install --custom ./my-policies.js
204
204
  ```
205
205
 
206
- ### Вспомогательные функции решений
206
+ ### Вспомогательные функции принятия решений
207
207
 
208
208
  | Функция | Эффект |
209
- |---------|--------|
209
+ |----------|--------|
210
210
  | `allow()` | Разрешить операцию |
211
211
  | `allow(message)` | Разрешить и отправить информационный контекст Claude |
212
212
  | `deny(message)` | Заблокировать операцию; сообщение показано Claude |
@@ -215,39 +215,39 @@ failproofai policies --install --custom ./my-policies.js
215
215
  ### Объект контекста (`ctx`)
216
216
 
217
217
  | Поле | Тип | Описание |
218
- |------|-----|---------|
218
+ |-------|------|-------------|
219
219
  | `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
220
220
  | `toolName` | `string` | Вызываемый инструмент (`"Bash"`, `"Write"`, `"Read"`, …) |
221
- | `toolInput` | `object` | Входные параметры инструмента |
222
- | `payload` | `object` | Полный сырой payload события |
223
- | `session.cwd` | `string` | Рабочая директория сеанса Claude Code |
224
- | `session.sessionId` | `string` | Идентификатор сеанса |
225
- | `session.transcriptPath` | `string` | Путь к файлу транскрипта сеанса |
221
+ | `toolInput` | `object` | Параметры входа инструмента |
222
+ | `payload` | `object` | Полная исходная полезная нагрузка события |
223
+ | `session.cwd` | `string` | Рабочий каталог сессии Claude Code |
224
+ | `session.sessionId` | `string` | Идентификатор сессии |
225
+ | `session.transcriptPath` | `string` | Путь к файлу стенограммы сессии |
226
226
 
227
- Пользовательские hooks поддерживают переходные локальные импорты, async/await и доступ к `process.env`. Ошибки являются fail-open (логируются в `~/.failproofai/hook.log`, встроенные политики продолжают работу). Смотрите [docs/custom-hooks.mdx](docs/custom-hooks.mdx) для полного руководства.
227
+ Пользовательские хуки поддерживают переходные локальные импорты, async/await и доступ к `process.env`. Ошибки перекрываются открытыми (логируются в `~/.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 hooks: положите файл, и он просто работает.
231
+ Поместите файлы `*policies.{js,mjs,ts}` в `.failproofai/policies/` и они будут автоматически загруженыникаких флагов или изменений конфигурации не требуется. Фиксируйте каталог в git и каждый члена команды получит одинаковые стандарты качества автоматически.
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-` и т.д. для управления порядком. По мере того, как ваша команда открывает новые режимы отказа, добавьте политику и отправьте — все получат обновление при следующем pull. См. [examples/convention-policies/](examples/convention-policies/) для готовых к использованию примеров.
243
243
 
244
244
  ---
245
245
 
246
246
  ## Телеметрия
247
247
 
248
- Failproof AI собирает анонимную телеметрию использования через PostHog для понимания использования функций. Содержимое сеанса, имена файлов, входные данные инструментов или личная информация никогда не отправляются.
248
+ Failproof AI собирает анонимную телеметрию использования через PostHog, чтобы понять использование функций. Содержимое сессии, имена файлов, входные параметры инструментов или личная информация никогда не отправляются.
249
249
 
250
- Отключите это:
250
+ Отключите её:
251
251
 
252
252
  ```bash
253
253
  FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
@@ -258,14 +258,14 @@ FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
258
258
  ## Документация
259
259
 
260
260
  | Руководство | Описание |
261
- |-----------|----------|
262
- | [Начало работы](docs/getting-started.mdx) | Установка и первые шаги |
263
- | [Встроенные политики](docs/built-in-policies.mdx) | Все 30 встроенных политик с параметрами |
264
- | [Пользовательские политики](docs/custom-policies.mdx) | Напишите свои политики |
265
- | [Конфигурация](docs/configuration.mdx) | Формат файла конфигурации и объединение областей видимости |
266
- | [Панель управления](docs/dashboard.mdx) | Мониторинг сеансов и проверка активности политик |
267
- | [Архитектура](docs/architecture.mdx) | Как работает система hooks |
268
- | [Тестирование](docs/testing.mdx) | Запуск тестов и написание новых |
261
+ |-------|-------------|
262
+ | [Getting Started](docs/getting-started.mdx) | Установка и первые шаги |
263
+ | [Built-in Policies](docs/built-in-policies.mdx) | Все 30 встроенных политик с параметрами |
264
+ | [Custom Policies](docs/custom-policies.mdx) | Напишите свои собственные политики |
265
+ | [Configuration](docs/configuration.mdx) | Формат файла конфигурации и объединение областей |
266
+ | [Dashboard](docs/dashboard.mdx) | Мониторинг сессий и проверка активности политик |
267
+ | [Architecture](docs/architecture.mdx) | Как работает система хуков |
268
+ | [Testing](docs/testing.mdx) | Запуск тестов и написание новых |
269
269
 
270
270
  ### Запустите документацию локально
271
271
 
@@ -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`. Контейнер следит за изменениями, если вы примонтируете директорию docs:
277
+ Открывает сайт документации Mintlify на `http://localhost:3000`. Контейнер отслеживает изменения, если вы монтируете каталог документации:
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**. Мы помогаем предприятиям и стартапам улучшить надежность своих ИИ-агентов благодаря нашим собственным агентам, программному обеспечению и опыту. Узнайте больше на [exosphere.host](https://exosphere.host).
308
308
  ```