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,575 +0,0 @@
1
- ---
2
- ---
3
- title: Chính sách tích hợp sẵn
4
- description: "30 chính sách tích hợp sẵn giúp bắt các chế độ lỗi thông thường của agent"
5
- icon: shield
6
- ---
7
-
8
- failproofai được cung cấp với 30 chính sách tích hợp sẵn giúp bắt các chế độ lỗi thông thường của agent. Mỗi chính sách được kích hoạt trên một loại sự kiện hook cụ thể và tên công cụ. Chín chính sách chấp nhận các tham số cho phép bạn điều chỉnh hành vi của chúng mà không cần viết mã. Bốn chính sách quy trình làm việc thực thi đường ống commit → push → PR → CI trước khi Claude dừng lại.
9
-
10
- ---
11
-
12
- ## Tổng quan
13
-
14
- Chính sách được nhóm thành các danh mục:
15
-
16
- | Danh mục | Chính sách | Loại hook |
17
- |----------|----------|-----------|
18
- | [Lệnh nguy hiểm](#lệnh-nguy-hiểm) | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
19
- | [Bí mật (bộ làm sạch)](#bí-mật-bộ-làm-sạch) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
20
- | [Môi trường](#môi-trường) | block-env-files, protect-env-vars | PreToolUse |
21
- | [Truy cập tệp](#truy-cập-tệp) | block-read-outside-cwd, block-secrets-write | PreToolUse |
22
- | [Git](#git) | block-push-master, block-work-on-main, block-force-push, warn-git-amend, warn-git-stash-drop, warn-all-files-staged | PreToolUse |
23
- | [Cơ sở dữ liệu](#cơ-sở-dữ-liệu) | warn-destructive-sql, warn-schema-alteration | PreToolUse |
24
- | [Cảnh báo](#cảnh-báo) | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
25
- | [Trình quản lý gói](#trình-quản-lý-gói) | prefer-package-manager | PreToolUse |
26
- | [Quy trình làm việc](#quy-trình-làm-việc) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
27
-
28
- - **`block-`** — dừng agent không được tiếp tục.
29
- - **`warn-`** — cung cấp cho agent ngữ cảnh bổ sung để nó có thể tự sửa.
30
- - **`sanitize-`** — loại bỏ dữ liệu nhạy cảm từ đầu ra công cụ trước khi agent nhìn thấy.
31
- - **`require-`** — chặn sự kiện Stop cho đến khi các điều kiện được đáp ứng.
32
-
33
- ---
34
-
35
- <Tip>
36
- Mỗi chính sách hỗ trợ một trường `hint` tùy chọn trong `policyParams`. Hint được thêm vào thông báo deny hoặc instruct mà Claude nhìn thấy, cung cấp hướng dẫn có thể hành động mà không cần sửa đổi mã chính sách. Hoạt động với chính sách tích hợp sẵn, tùy chỉnh và quy ước. Xem [Configuration → hint](/vi/configuration#hint-cross-cutting) để biết chi tiết.
37
- </Tip>
38
-
39
- ---
40
-
41
- ## Lệnh nguy hiểm
42
-
43
- Ngăn chặn agent chạy các hoạt động khó hoàn tác hoặc có thể làm hại hệ thống chủ.
44
-
45
- ### `block-sudo`
46
-
47
- **Sự kiện:** PreToolUse (Bash)
48
- **Mặc định:** Từ chối bất kỳ lệnh `sudo` nào.
49
-
50
- Chặn các lời gọi bao gồm từ khóa `sudo`. Khớp mẫu được thực hiện trên các token lệnh được phân tích, không phải chuỗi thô, để ngăn chặn vòng qua injection toán tử shell.
51
-
52
- **Tham số:**
53
-
54
- | Tham số | Loại | Mặc định | Mô tả |
55
- |-------|------|---------|-------------|
56
- | `allowPatterns` | `string[]` | `[]` | Tiền tố lệnh chính xác được phép. Mỗi mục được khớp với các token argv được phân tích. |
57
-
58
- **Ví dụ:**
59
-
60
- ```json
61
- {
62
- "policyParams": {
63
- "block-sudo": {
64
- "allowPatterns": ["sudo systemctl status", "sudo journalctl"]
65
- }
66
- }
67
- }
68
- ```
69
-
70
- Với cấu hình này, `sudo systemctl status nginx` được phép, nhưng `sudo rm /etc/hosts` bị từ chối.
71
-
72
- <Note>
73
- Mẫu được khớp với các token được phân tích, không phải chuỗi lệnh thô. Điều này ngăn chặn vòng qua các toán tử shell được nối thêm (ví dụ: `sudo systemctl status x; rm -rf /` không khớp `sudo systemctl status *`).
74
- </Note>
75
-
76
- ---
77
-
78
- ### `block-rm-rf`
79
-
80
- **Sự kiện:** PreToolUse (Bash)
81
- **Mặc định:** Từ chối `rm -rf`, `rm -fr` và các dạng xóa đệ quy tương tự.
82
-
83
- **Tham số:**
84
-
85
- | Tham số | Loại | Mặc định | Mô tả |
86
- |-------|------|---------|-------------|
87
- | `allowPaths` | `string[]` | `[]` | Đường dẫn an toàn để xóa đệ quy (ví dụ: `/tmp`). |
88
-
89
- **Ví dụ:**
90
-
91
- ```json
92
- {
93
- "policyParams": {
94
- "block-rm-rf": {
95
- "allowPaths": ["/tmp", "/var/cache"]
96
- }
97
- }
98
- }
99
- ```
100
-
101
- ---
102
-
103
- ### `block-curl-pipe-sh`
104
-
105
- **Sự kiện:** PreToolUse (Bash)
106
- **Mặc định:** Từ chối `curl <url> | bash`, `curl <url> | sh`, `wget <url> | bash` và các mẫu tương tự.
107
-
108
- Không có tham số.
109
-
110
- ---
111
-
112
- ### `block-failproofai-commands`
113
-
114
- **Sự kiện:** PreToolUse (Bash)
115
- **Mặc định:** Từ chối các lệnh sẽ gỡ cài đặt hoặc vô hiệu hóa failproofai (ví dụ: `npm uninstall failproofai`, `failproofai policies --uninstall`).
116
-
117
- Không có tham số.
118
-
119
- ---
120
-
121
- ## Bí mật (bộ làm sạch)
122
-
123
- Ngăn chặn agent rò rỉ thông tin xác thực vào ngữ cảnh hoặc đầu ra của chúng. Chính sách bộ làm sạch được kích hoạt trên các sự kiện **PostToolUse**. Khi Claude chạy lệnh Bash, đọc tệp hoặc gọi bất kỳ công cụ nào, những chính sách này kiểm tra đầu ra trước khi nó được trả lại Claude. Nếu phát hiện mẫu bí mật, chính sách sẽ trả về quyết định deny ngăn chặn đầu ra không được chuyển lại.
124
-
125
- ### `sanitize-jwt`
126
-
127
- **Sự kiện:** PostToolUse (tất cả công cụ)
128
- **Mặc định:** Redact các token JWT (ba segment base64url được phân tách bằng `.`).
129
-
130
- Không có tham số.
131
-
132
- ---
133
-
134
- ### `sanitize-api-keys`
135
-
136
- **Sự kiện:** PostToolUse (tất cả công cụ)
137
- **Mặc định:** Redact các định dạng khóa API thông thường: Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PATs (`ghp_`), khóa truy cập AWS (`AKIA`), khóa Stripe (`sk_live_`, `sk_test_`) và khóa Google API (`AIza`).
138
-
139
- **Tham số:**
140
-
141
- | Tham số | Loại | Mặc định | Mô tả |
142
- |-------|------|---------|-------------|
143
- | `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Các mẫu regex bổ sung được coi là bí mật. |
144
-
145
- **Ví dụ:**
146
-
147
- ```json
148
- {
149
- "policyParams": {
150
- "sanitize-api-keys": {
151
- "additionalPatterns": [
152
- { "regex": "myco_[A-Za-z0-9]{32}", "label": "MyCo internal API key" },
153
- { "regex": "pat_[0-9a-f]{40}", "label": "Internal PAT" }
154
- ]
155
- }
156
- }
157
- }
158
- ```
159
-
160
- ---
161
-
162
- ### `sanitize-connection-strings`
163
-
164
- **Sự kiện:** PostToolUse (tất cả công cụ)
165
- **Mặc định:** Redact các chuỗi kết nối cơ sở dữ liệu chứa thông tin xác thực được nhúng (ví dụ: `postgresql://user:password@host/db`).
166
-
167
- Không có tham số.
168
-
169
- ---
170
-
171
- ### `sanitize-private-key-content`
172
-
173
- **Sự kiện:** PostToolUse (tất cả công cụ)
174
- **Mặc định:** Redact các khối PEM (`-----BEGIN PRIVATE KEY-----`, `-----BEGIN RSA PRIVATE KEY-----`, v.v.).
175
-
176
- Không có tham số.
177
-
178
- ---
179
-
180
- ### `sanitize-bearer-tokens`
181
-
182
- **Sự kiện:** PostToolUse (tất cả công cụ)
183
- **Mặc định:** Redact các header `Authorization: Bearer <token>` trong đó token có 20 ký tự trở lên.
184
-
185
- Không có tham số.
186
-
187
- ---
188
-
189
- ## Môi trường
190
-
191
- Bảo vệ cấu hình môi trường nhạy cảm khỏi bị agent đọc hoặc tiếp xúc.
192
-
193
- ### `block-env-files`
194
-
195
- **Sự kiện:** PreToolUse (Bash, Read)
196
- **Mặc định:** Từ chối đọc các tệp `.env` thông qua `cat .env`, gọi công cụ Read với `.env` làm đường dẫn tệp, v.v.
197
-
198
- Không chặn `.envrc` hoặc các tệp liên quan môi trường khác - chỉ các tệp được đặt tên chính xác `.env`.
199
-
200
- Không có tham số.
201
-
202
- ---
203
-
204
- ### `protect-env-vars`
205
-
206
- **Sự kiện:** PreToolUse (Bash)
207
- **Mặc định:** Từ chối các lệnh in các biến môi trường: `printenv`, `env`, `echo $VAR`.
208
-
209
- Không có tham số.
210
-
211
- ---
212
-
213
- ## Truy cập tệp
214
-
215
- Giữ agent hoạt động bên trong ranh giới dự án và xa khỏi các tệp nhạy cảm.
216
-
217
- ### `block-read-outside-cwd`
218
-
219
- **Sự kiện:** PreToolUse (Read, Bash)
220
- **Mặc định:** Từ chối đọc các tệp bên ngoài thư mục làm việc hiện tại (gốc dự án).
221
-
222
- **Tham số:**
223
-
224
- | Tham số | Loại | Mặc định | Mô tả |
225
- |-------|------|---------|-------------|
226
- | `allowPaths` | `string[]` | `[]` | Tiền tố đường dẫn tuyệt đối được phép ngay cả khi bên ngoài cwd. |
227
-
228
- **Ví dụ:**
229
-
230
- ```json
231
- {
232
- "policyParams": {
233
- "block-read-outside-cwd": {
234
- "allowPaths": ["/shared/data", "/opt/company/config"]
235
- }
236
- }
237
- }
238
- ```
239
-
240
- ---
241
-
242
- ### `block-secrets-write`
243
-
244
- **Sự kiện:** PreToolUse (Write, Edit)
245
- **Mặc định:** Từ chối ghi vào các tệp thường được sử dụng cho khóa riêng và chứng chỉ: `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`.
246
-
247
- **Tham số:**
248
-
249
- | Tham số | Loại | Mặc định | Mô tả |
250
- |-------|------|---------|-------------|
251
- | `additionalPatterns` | `string[]` | `[]` | Các mẫu tên tệp bổ sung (kiểu glob) để chặn. |
252
-
253
- **Ví dụ:**
254
-
255
- ```json
256
- {
257
- "policyParams": {
258
- "block-secrets-write": {
259
- "additionalPatterns": [".token", ".secret"]
260
- }
261
- }
262
- }
263
- ```
264
-
265
- ---
266
-
267
- ## Git
268
-
269
- Ngăn chặn các đẩy (push) không cố ý, force-push và các sai lầm nhánh khó hoàn tác.
270
-
271
- ### `block-push-master`
272
-
273
- **Sự kiện:** PreToolUse (Bash)
274
- **Mặc định:** Từ chối `git push origin main` và `git push origin master`.
275
-
276
- **Tham số:**
277
-
278
- | Tham số | Loại | Mặc định | Mô tả |
279
- |-------|------|---------|-------------|
280
- | `protectedBranches` | `string[]` | `["main", "master"]` | Tên nhánh không thể được đẩy trực tiếp. |
281
-
282
- **Ví dụ:**
283
-
284
- ```json
285
- {
286
- "policyParams": {
287
- "block-push-master": {
288
- "protectedBranches": ["main", "master", "release", "prod"]
289
- }
290
- }
291
- }
292
- ```
293
-
294
- <Tip>
295
- Để cho phép đẩy đến tất cả các nhánh (có hiệu lực vô hiệu hóa chính sách này mà không xóa nó khỏi `enabledPolicies`), hãy đặt `protectedBranches: []`.
296
- </Tip>
297
-
298
- ---
299
-
300
- ### `block-work-on-main`
301
-
302
- **Sự kiện:** PreToolUse (Bash)
303
- **Mặc định:** Từ chối kiểm tra trực tiếp các nhánh `main` hoặc `master`.
304
-
305
- **Tham số:**
306
-
307
- | Tham số | Loại | Mặc định | Mô tả |
308
- |-------|------|---------|-------------|
309
- | `protectedBranches` | `string[]` | `["main", "master"]` | Tên nhánh không thể được kiểm tra trực tiếp. |
310
-
311
- ---
312
-
313
- ### `block-force-push`
314
-
315
- **Sự kiện:** PreToolUse (Bash)
316
- **Mặc định:** Từ chối `git push --force` và `git push -f`.
317
-
318
- Không có tham số cụ thể chính sách. Sử dụng [`hint`](/vi/configuration#hint-cross-cutting) xuyên suốt để gợi ý các lựa chọn thay thế:
319
-
320
- ```json
321
- {
322
- "policyParams": {
323
- "block-force-push": {
324
- "hint": "Create a new branch from your current HEAD (e.g. `git checkout -b <new-branch>`) and push that instead."
325
- }
326
- }
327
- }
328
- ```
329
-
330
- ---
331
-
332
- ### `warn-git-amend`
333
-
334
- **Sự kiện:** PreToolUse (Bash)
335
- **Mặc định:** Hướng dẫn Claude tiến hành cẩn thận khi chạy `git commit --amend`. Không chặn lệnh.
336
-
337
- Không có tham số.
338
-
339
- ---
340
-
341
- ### `warn-git-stash-drop`
342
-
343
- **Sự kiện:** PreToolUse (Bash)
344
- **Mặc định:** Hướng dẫn Claude xác nhận trước khi chạy `git stash drop`. Không chặn lệnh.
345
-
346
- Không có tham số.
347
-
348
- ---
349
-
350
- ### `warn-all-files-staged`
351
-
352
- **Sự kiện:** PreToolUse (Bash)
353
- **Mặc định:** Hướng dẫn Claude xem xét những gì nó đang staging khi chạy `git add -A` hoặc `git add .`. Không chặn lệnh.
354
-
355
- Không có tham số.
356
-
357
- ---
358
-
359
- ## Cơ sở dữ liệu
360
-
361
- Bắt các hoạt động SQL tàn phá trước khi chúng thực thi đối với cơ sở dữ liệu của bạn.
362
-
363
- ### `warn-destructive-sql`
364
-
365
- **Sự kiện:** PreToolUse (Bash)
366
- **Mặc định:** Hướng dẫn Claude xác nhận trước khi chạy SQL chứa `DROP TABLE`, `DROP DATABASE` hoặc `DELETE` mà không có mệnh đề `WHERE`.
367
-
368
- Không có tham số.
369
-
370
- ---
371
-
372
- ### `warn-schema-alteration`
373
-
374
- **Sự kiện:** PreToolUse (Bash)
375
- **Mặc định:** Hướng dẫn Claude xác nhận trước khi chạy các lệnh `ALTER TABLE`.
376
-
377
- Không có tham số.
378
-
379
- ---
380
-
381
- ## Cảnh báo
382
-
383
- Cung cấp cho agent ngữ cảnh bổ sung trước các hoạt động có rủi ro nhưng không phá hủy.
384
-
385
- ### `warn-large-file-write`
386
-
387
- **Sự kiện:** PreToolUse (Write)
388
- **Mặc định:** Hướng dẫn Claude xác nhận trước khi viết các tệp lớn hơn 1024 KB.
389
-
390
- **Tham số:**
391
-
392
- | Tham số | Loại | Mặc định | Mô tả |
393
- |-------|------|---------|-------------|
394
- | `thresholdKb` | `number` | `1024` | Ngưỡng kích thước tệp tính bằng kilobyte mà trên đó cảnh báo được phát hành. |
395
-
396
- **Ví dụ:**
397
-
398
- ```json
399
- {
400
- "policyParams": {
401
- "warn-large-file-write": {
402
- "thresholdKb": 256
403
- }
404
- }
405
- }
406
- ```
407
-
408
- <Note>
409
- Trình xử lý hook thực thi giới hạn 1 MB stdin trên tải trọng. Để kiểm tra chính sách này với nội dung nhỏ, hãy đặt `thresholdKb` thành giá trị nằm dưới 1024.
410
- </Note>
411
-
412
- ---
413
-
414
- ### `warn-package-publish`
415
-
416
- **Sự kiện:** PreToolUse (Bash)
417
- **Mặc định:** Hướng dẫn Claude xác nhận trước khi chạy `npm publish`.
418
-
419
- Không có tham số.
420
-
421
- ---
422
-
423
- ### `warn-background-process`
424
-
425
- **Sự kiện:** PreToolUse (Bash)
426
- **Mặc định:** Hướng dẫn Claude cẩn thận khi khởi chạy các quy trình nền qua `nohup`, `&`, `disown` hoặc `screen`.
427
-
428
- Không có tham số.
429
-
430
- ---
431
-
432
- ### `warn-global-package-install`
433
-
434
- **Sự kiện:** PreToolUse (Bash)
435
- **Mặc định:** Hướng dẫn Claude xác nhận trước khi chạy `npm install -g`, `yarn global add` hoặc `pip install` mà không có môi trường ảo.
436
-
437
- Không có tham số.
438
-
439
- ---
440
-
441
- ## Trình quản lý gói
442
-
443
- Thực thi trình quản lý gói nào được agent phép sử dụng.
444
-
445
- ### `prefer-package-manager`
446
-
447
- **Sự kiện:** PreToolUse (Bash)
448
- **Mặc định:** Bị vô hiệu hóa. Khi được bật, chặn bất kỳ lệnh trình quản lý gói nào không có trong danh sách `allowed` và yêu cầu Claude viết lại lệnh bằng trình quản lý được phép.
449
-
450
- Phát hiện: pip, pip3, python -m pip, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo.
451
-
452
- | Tham số | Loại | Mặc định | Mô tả |
453
- |-----------|------|---------|-------------|
454
- | `allowed` | string[] | `[]` | Tên trình quản lý gói được phép. Bất kỳ trình quản lý được phát hiện nào không có trong danh sách này sẽ bị chặn. Khi trống, chính sách là no-op. |
455
- | `blocked` | string[] | `[]` | Tên trình quản lý bổ sung để chặn ngoài danh sách được xây dựng sẵn (ví dụ: `['pdm', 'pipx']`). |
456
-
457
- Danh sách chặn tích hợp sẵn bao gồm: pip, pip3, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo. Sử dụng `blocked` để thêm các trình quản lý không có trong danh sách này.
458
-
459
- **Cấu hình ví dụ:**
460
-
461
- ```json
462
- {
463
- "enabledPolicies": ["prefer-package-manager"],
464
- "policyParams": {
465
- "prefer-package-manager": {
466
- "allowed": ["uv", "bun"],
467
- "blocked": ["pdm", "pipx"]
468
- }
469
- }
470
- }
471
- ```
472
-
473
- Với cấu hình này, `pip install flask` và `pdm install flask` đều bị từ chối với thông báo yêu cầu Claude sử dụng `uv` hoặc `bun` thay thế. Các lệnh như `uv pip install flask` được phép vì `uv` có trong danh sách cho phép và được kiểm tra trước tiên.
474
-
475
- ---
476
-
477
- ## Hành vi AI
478
-
479
- Phát hiện khi agent bị mắc kẹt hoặc hành xử bất thường.
480
-
481
- ### `warn-repeated-tool-calls`
482
-
483
- **Sự kiện:** PreToolUse (tất cả công cụ)
484
- **Mặc định:** Hướng dẫn Claude cân nhắc lại khi cùng một công cụ được gọi 3 lần trở lên với các tham số giống nhau - dấu hiệu thông thường cho thấy agent bị mắc kẹt trong một vòng lặp.
485
-
486
- Không có tham số.
487
-
488
- ---
489
-
490
- ## Quy trình làm việc
491
-
492
- Thực thi quy trình làm việc kết thúc phiên làm việc theo kỷ luật. Những chính sách này được kích hoạt trên sự kiện **Stop** và từ chối Claude dừng lại cho đến khi mỗi điều kiện được đáp ứng. Chúng tuân theo một chuỗi phụ thuộc tự nhiên: commit → push → PR → CI. Nếu chính sách từ chối, các chính sách sau trong chuỗi sẽ bị bỏ qua (deny rút ngắn).
493
-
494
- Tất cả chính sách quy trình làm việc đều **fail-open**: nếu công cụ được yêu cầu không khả dụng (ví dụ: `gh` không được cài đặt, không có git remote), chính sách cho phép với thông báo thông tin giải thích tại sao kiểm tra bị bỏ qua.
495
-
496
- ### `require-commit-before-stop`
497
-
498
- **Sự kiện:** Stop
499
- **Mặc định:** Từ chối dừng khi có các thay đổi chưa được commit (các tệp đã sửa đổi, được staging hoặc không được theo dõi). Trả về thông báo thông tin khi thư mục làm việc sạch.
500
-
501
- Không có tham số.
502
-
503
- ---
504
-
505
- ### `require-push-before-stop`
506
-
507
- **Sự kiện:** Stop
508
- **Mặc định:** Từ chối dừng khi có các commit chưa được đẩy hoặc khi nhánh hiện tại không có nhánh theo dõi từ xa. Gợi ý `git push -u` để tạo một nhánh theo dõi nếu cần. Fails open nếu không có remote được cấu hình.
509
-
510
- **Tham số:**
511
-
512
- | Tham số | Loại | Mặc định | Mô tả |
513
- |-------|------|---------|-------------|
514
- | `remote` | `string` | `"origin"` | Tên remote để đẩy tới. |
515
-
516
- **Ví dụ:**
517
-
518
- ```json
519
- {
520
- "policyParams": {
521
- "require-push-before-stop": {
522
- "remote": "upstream"
523
- }
524
- }
525
- }
526
- ```
527
-
528
- ---
529
-
530
- ### `require-pr-before-stop`
531
-
532
- **Sự kiện:** Stop
533
- **Mặc định:** Từ chối dừng khi không có pull request nào tồn tại cho nhánh hiện tại hoặc khi PR hiện có bị đóng/hợp nhất. Hướng dẫn Claude tạo một PR bằng `gh pr create`.
534
-
535
- Không có tham số.
536
-
537
- <Note>
538
- Chính sách này yêu cầu [GitHub CLI](https://cli.github.com/) (`gh`) được cài đặt và xác thực.
539
- Chạy `gh auth login` với một token truy cập cá nhân có phạm vi `repo` để truy cập đọc đến
540
- các yêu cầu kéo. Nếu `gh` không được cài đặt hoặc không được xác thực, chính sách fails open và báo cáo lý do cho Claude.
541
- </Note>
542
-
543
- ---
544
-
545
- ### `require-ci-green-before-stop`
546
-
547
- **Sự kiện:** Stop
548
- **Mặc định:** Từ chối dừng khi các kiểm tra CI đang thất bại hoặc vẫn đang chạy trên nhánh hiện tại. Kiểm tra cả các lần chạy quy trình làm việc GitHub Actions và các kiểm tra bot của bên thứ ba (ví dụ: CodeRabbit, SonarCloud, Codecov). Coi kết luận `skipped` là thành công. Trả về thông báo thông tin khi tất cả các kiểm tra vượt qua.
549
-
550
- Không có tham số.
551
-
552
- <Note>
553
- Chính sách này yêu cầu [GitHub CLI](https://cli.github.com/) (`gh`) được cài đặt và xác thực.
554
- Chạy `gh auth login` với một token truy cập cá nhân có phạm vi `repo` để truy cập đọc đến
555
- các lần chạy quy trình làm việc Actions và API Checks. Nếu `gh` không được cài đặt hoặc không được xác thực, chính sách fails open và báo cáo lý do cho Claude.
556
- </Note>
557
-
558
- ---
559
-
560
- ---
561
-
562
- ## Vô hiệu hóa các chính sách riêng lẻ
563
-
564
- Xóa chính sách cụ thể khỏi `enabledPolicies` trong cấu hình của bạn hoặc tắt nó trong tab Policies của dashboard.
565
-
566
- ```json
567
- {
568
- "enabledPolicies": [
569
- "block-rm-rf",
570
- "sanitize-api-keys"
571
- ]
572
- }
573
- ```
574
-
575
- Các chính sách không được liệt kê trong `enabledPolicies` không chạy, ngay cả khi các mục `policyParams` tồn tại cho chúng.
@@ -1,28 +0,0 @@
1
- ---
2
- title: Xem các phiên làm việc
3
- description: "Khởi động bảng điều khiển để duyệt các phiên agent và quản lý chính sách"
4
- ---
5
-
6
- ```bash
7
- failproofai
8
- ```
9
-
10
- Khởi động bảng điều khiển web tại `http://localhost:8020`.
11
-
12
- ## Tùy chọn
13
-
14
- | Flag | Mô tả |
15
- |------|-------|
16
- | `--port <number>` | Cổng để lắng nghe (mặc định: `8020`) |
17
- | `--projects-path <path>` | Ghi đè vị trí tìm kiếm các thư mục dự án Claude Code |
18
- | `--allowed-origins <origins>` | Các máy chủ/IP được phân cách bằng dấu phẩy được phép truy cập tài nguyên phát triển |
19
-
20
- ## Ví dụ
21
-
22
- ```bash
23
- # Khởi động trên cổng khác
24
- failproofai --port 9000
25
-
26
- # Sử dụng đường dẫn dự án tùy chỉnh
27
- failproofai --projects-path ~/my-claude-projects
28
- ```
@@ -1,34 +0,0 @@
1
- ---
2
- title: Biến môi trường
3
- description: "Cấu hình hành vi của failproofai bằng các biến môi trường"
4
- ---
5
-
6
- ## Dashboard
7
-
8
- | Biến | Mô tả |
9
- |----------|-------------|
10
- | `PORT` | Cổng dashboard (mặc định: `8020`) |
11
- | `CLAUDE_PROJECTS_PATH` | Ghi đè vị trí tìm thấy các thư mục dự án Claude Code |
12
- | `FAILPROOFAI_DISABLE_PAGES=policies,projects` | Các trang dashboard được ẩn, cách nhau bởi dấu phẩy |
13
- | `FAILPROOFAI_ALLOWED_DEV_ORIGINS` | Các máy chủ/IP được phép truy cập tài nguyên dev. Tương tự như `--allowed-origins`. |
14
-
15
- ## Logging
16
-
17
- | Biến | Mô tả |
18
- |----------|-------------|
19
- | `FAILPROOFAI_LOG_LEVEL=info\|warn\|error` | Mức độ ghi nhật ký máy chủ (mặc định: `warn`) |
20
- | `FAILPROOFAI_HOOK_LOG_FILE` | Đường dẫn tệp nhật ký hook tùy chỉnh, hoặc `true` cho mặc định (`~/.failproofai/logs/hooks.log`) |
21
-
22
- ## Telemetry
23
-
24
- | Biến | Mô tả |
25
- |----------|-------------|
26
- | `FAILPROOFAI_TELEMETRY_DISABLED=1` | Vô hiệu hóa telemetry sử dụng ẩn danh |
27
-
28
- ## LLM (để đánh giá chính sách)
29
-
30
- | Biến | Mô tả |
31
- |----------|-------------|
32
- | `FAILPROOFAI_LLM_BASE_URL` | Điểm cuối API LLM (mặc định: `https://api.openai.com/v1`) |
33
- | `FAILPROOFAI_LLM_API_KEY` | Khóa API cho chính sách được hỗ trợ bởi LLM |
34
- | `FAILPROOFAI_LLM_MODEL` | Tên mô hình (mặc định: `gpt-4o-mini`) |
@@ -1,30 +0,0 @@
1
- ---
2
- title: Hook handler (internal)
3
- description: "Subprocess mà Claude Code gọi trên mỗi sự kiện công cụ"
4
- ---
5
-
6
- ```bash
7
- failproofai --hook <EventType>
8
- ```
9
-
10
- Đây là lệnh được đăng ký trong `settings.json` của Claude Code bởi `failproofai policies --install`. Bạn thường không gọi trực tiếp lệnh này.
11
-
12
- Đọc một payload JSON từ stdin, đánh giá tất cả các chính sách được bật, và thoát với mã code chỉ định quyết định:
13
-
14
- | Mã thoát | Quyết định | Hiệu ứng |
15
- |-----------|------------|---------|
16
- | `0` | `allow` | Cho phép hành động |
17
- | `1` | `deny` | Chặn hành động - Claude sẽ thấy lý do từ chối |
18
- | `2` | `instruct` | Injected hướng dẫn vào ngữ cảnh của Claude |
19
-
20
- ### Các loại sự kiện được hỗ trợ
21
-
22
- | Danh mục | Sự kiện |
23
- |----------|---------|
24
- | **Thực thi công cụ** | `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PermissionRequest`, `PermissionDenied` |
25
- | **Vòng đời phiên** | `SessionStart`, `SessionEnd`, `Stop`, `StopFailure` |
26
- | **Tương tác người dùng** | `UserPromptSubmit`, `Notification`, `Elicitation`, `ElicitationResult` |
27
- | **Subagents & tác vụ** | `SubagentStart`, `SubagentStop`, `TaskCreated`, `TaskCompleted`, `TeammateIdle` |
28
- | **Cấu hình** | `InstructionsLoaded`, `ConfigChange`, `CwdChanged` |
29
- | **Hệ thống tệp** | `FileChanged`, `WorktreeCreate`, `WorktreeRemove` |
30
- | **Ngữ cảnh** | `PreCompact`, `PostCompact` |