failproofai 0.0.6-beta.3 → 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 (509) 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]__0kyh86x._.js → [root-of-the-server]__0om-5pe._.js} +2 -2
  57. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +1 -1
  58. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__096k.db._.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/{01pmw1-asbek~.js → 02dqjyv6_9mhq.js} +2 -2
  71. package/.next/standalone/.next/static/chunks/{051m32nx~n5yr.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/{0mazj-p-~2kc6.js → 0o547jv-k_k35.js} +1 -1
  74. package/.next/standalone/.next/static/chunks/0pk2h2.mjxy.m.js +6 -0
  75. package/.next/standalone/.next/static/chunks/{0l-mu4okl-cj1.js → 0rcwkbh24w38b.js} +1 -1
  76. package/.next/standalone/.next/static/chunks/{0-dm_9a6nsc2l.js → 140xx_tfr~lm_.js} +1 -1
  77. package/.next/standalone/.next/static/chunks/{156zca6aewyr-.js → 169_e4dq~1~b6.js} +1 -1
  78. package/.next/standalone/.next/static/chunks/{0a-yctdwn368y.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/dist/cli.mjs +2 -2
  83. package/package.json +2 -2
  84. package/scripts/prune-standalone.mjs +128 -0
  85. package/.next/standalone/.claude/settings.json +0 -316
  86. package/.next/standalone/.failproofai/policies/review-policies.mjs +0 -113
  87. package/.next/standalone/.failproofai/policies/workflow-policies.mjs +0 -63
  88. package/.next/standalone/.failproofai/policies-config.json +0 -39
  89. package/.next/standalone/.next/static/chunks/0gu_a.a80ritd.css +0 -1
  90. package/.next/standalone/.next/static/chunks/0qakntsrpc~1j.js +0 -6
  91. package/.next/standalone/AGENTS.md +0 -80
  92. package/.next/standalone/CHANGELOG.md +0 -158
  93. package/.next/standalone/CLAUDE.md +0 -165
  94. package/.next/standalone/CONTRIBUTING.md +0 -76
  95. package/.next/standalone/Dockerfile.docs +0 -12
  96. package/.next/standalone/LICENSE +0 -42
  97. package/.next/standalone/README.md +0 -301
  98. package/.next/standalone/bin/failproofai.mjs +0 -439
  99. package/.next/standalone/bun.lock +0 -1119
  100. package/.next/standalone/components.json +0 -23
  101. package/.next/standalone/dist/cli.mjs +0 -4696
  102. package/.next/standalone/dist/index.js +0 -80
  103. package/.next/standalone/docs/ar/architecture.mdx +0 -334
  104. package/.next/standalone/docs/ar/built-in-policies.mdx +0 -574
  105. package/.next/standalone/docs/ar/cli/dashboard.mdx +0 -28
  106. package/.next/standalone/docs/ar/cli/environment-variables.mdx +0 -34
  107. package/.next/standalone/docs/ar/cli/hook.mdx +0 -31
  108. package/.next/standalone/docs/ar/cli/install-policies.mdx +0 -48
  109. package/.next/standalone/docs/ar/cli/list-policies.mdx +0 -31
  110. package/.next/standalone/docs/ar/cli/remove-policies.mdx +0 -43
  111. package/.next/standalone/docs/ar/cli/version.mdx +0 -13
  112. package/.next/standalone/docs/ar/configuration.mdx +0 -223
  113. package/.next/standalone/docs/ar/custom-policies.mdx +0 -354
  114. package/.next/standalone/docs/ar/dashboard.mdx +0 -142
  115. package/.next/standalone/docs/ar/examples.mdx +0 -307
  116. package/.next/standalone/docs/ar/for-agents.mdx +0 -39
  117. package/.next/standalone/docs/ar/getting-started.mdx +0 -187
  118. package/.next/standalone/docs/ar/introduction.mdx +0 -58
  119. package/.next/standalone/docs/ar/package-aliases.mdx +0 -82
  120. package/.next/standalone/docs/ar/testing.mdx +0 -261
  121. package/.next/standalone/docs/architecture.mdx +0 -332
  122. package/.next/standalone/docs/built-in-policies.mdx +0 -574
  123. package/.next/standalone/docs/cli/dashboard.mdx +0 -28
  124. package/.next/standalone/docs/cli/environment-variables.mdx +0 -34
  125. package/.next/standalone/docs/cli/hook.mdx +0 -30
  126. package/.next/standalone/docs/cli/install-policies.mdx +0 -47
  127. package/.next/standalone/docs/cli/list-policies.mdx +0 -31
  128. package/.next/standalone/docs/cli/remove-policies.mdx +0 -43
  129. package/.next/standalone/docs/cli/version.mdx +0 -12
  130. package/.next/standalone/docs/configuration.mdx +0 -222
  131. package/.next/standalone/docs/custom-policies.mdx +0 -353
  132. package/.next/standalone/docs/dashboard.mdx +0 -142
  133. package/.next/standalone/docs/de/architecture.mdx +0 -332
  134. package/.next/standalone/docs/de/built-in-policies.mdx +0 -574
  135. package/.next/standalone/docs/de/cli/dashboard.mdx +0 -28
  136. package/.next/standalone/docs/de/cli/environment-variables.mdx +0 -34
  137. package/.next/standalone/docs/de/cli/hook.mdx +0 -30
  138. package/.next/standalone/docs/de/cli/install-policies.mdx +0 -47
  139. package/.next/standalone/docs/de/cli/list-policies.mdx +0 -31
  140. package/.next/standalone/docs/de/cli/remove-policies.mdx +0 -43
  141. package/.next/standalone/docs/de/cli/version.mdx +0 -12
  142. package/.next/standalone/docs/de/configuration.mdx +0 -222
  143. package/.next/standalone/docs/de/custom-policies.mdx +0 -353
  144. package/.next/standalone/docs/de/dashboard.mdx +0 -142
  145. package/.next/standalone/docs/de/examples.mdx +0 -307
  146. package/.next/standalone/docs/de/for-agents.mdx +0 -38
  147. package/.next/standalone/docs/de/getting-started.mdx +0 -186
  148. package/.next/standalone/docs/de/introduction.mdx +0 -57
  149. package/.next/standalone/docs/de/package-aliases.mdx +0 -82
  150. package/.next/standalone/docs/de/testing.mdx +0 -260
  151. package/.next/standalone/docs/docs.json +0 -1002
  152. package/.next/standalone/docs/es/architecture.mdx +0 -332
  153. package/.next/standalone/docs/es/built-in-policies.mdx +0 -574
  154. package/.next/standalone/docs/es/cli/dashboard.mdx +0 -28
  155. package/.next/standalone/docs/es/cli/environment-variables.mdx +0 -34
  156. package/.next/standalone/docs/es/cli/hook.mdx +0 -30
  157. package/.next/standalone/docs/es/cli/install-policies.mdx +0 -47
  158. package/.next/standalone/docs/es/cli/list-policies.mdx +0 -31
  159. package/.next/standalone/docs/es/cli/remove-policies.mdx +0 -43
  160. package/.next/standalone/docs/es/cli/version.mdx +0 -12
  161. package/.next/standalone/docs/es/configuration.mdx +0 -222
  162. package/.next/standalone/docs/es/custom-policies.mdx +0 -353
  163. package/.next/standalone/docs/es/dashboard.mdx +0 -142
  164. package/.next/standalone/docs/es/examples.mdx +0 -307
  165. package/.next/standalone/docs/es/for-agents.mdx +0 -38
  166. package/.next/standalone/docs/es/getting-started.mdx +0 -186
  167. package/.next/standalone/docs/es/introduction.mdx +0 -57
  168. package/.next/standalone/docs/es/package-aliases.mdx +0 -82
  169. package/.next/standalone/docs/es/testing.mdx +0 -260
  170. package/.next/standalone/docs/examples.mdx +0 -307
  171. package/.next/standalone/docs/favicon.ico +0 -0
  172. package/.next/standalone/docs/for-agents.mdx +0 -38
  173. package/.next/standalone/docs/fr/architecture.mdx +0 -332
  174. package/.next/standalone/docs/fr/built-in-policies.mdx +0 -574
  175. package/.next/standalone/docs/fr/cli/dashboard.mdx +0 -28
  176. package/.next/standalone/docs/fr/cli/environment-variables.mdx +0 -34
  177. package/.next/standalone/docs/fr/cli/hook.mdx +0 -30
  178. package/.next/standalone/docs/fr/cli/install-policies.mdx +0 -47
  179. package/.next/standalone/docs/fr/cli/list-policies.mdx +0 -31
  180. package/.next/standalone/docs/fr/cli/remove-policies.mdx +0 -43
  181. package/.next/standalone/docs/fr/cli/version.mdx +0 -12
  182. package/.next/standalone/docs/fr/configuration.mdx +0 -222
  183. package/.next/standalone/docs/fr/custom-policies.mdx +0 -353
  184. package/.next/standalone/docs/fr/dashboard.mdx +0 -142
  185. package/.next/standalone/docs/fr/examples.mdx +0 -307
  186. package/.next/standalone/docs/fr/for-agents.mdx +0 -38
  187. package/.next/standalone/docs/fr/getting-started.mdx +0 -186
  188. package/.next/standalone/docs/fr/introduction.mdx +0 -57
  189. package/.next/standalone/docs/fr/package-aliases.mdx +0 -82
  190. package/.next/standalone/docs/fr/testing.mdx +0 -260
  191. package/.next/standalone/docs/getting-started.mdx +0 -186
  192. package/.next/standalone/docs/he/architecture.mdx +0 -333
  193. package/.next/standalone/docs/he/built-in-policies.mdx +0 -575
  194. package/.next/standalone/docs/he/cli/dashboard.mdx +0 -28
  195. package/.next/standalone/docs/he/cli/environment-variables.mdx +0 -34
  196. package/.next/standalone/docs/he/cli/hook.mdx +0 -30
  197. package/.next/standalone/docs/he/cli/install-policies.mdx +0 -47
  198. package/.next/standalone/docs/he/cli/list-policies.mdx +0 -32
  199. package/.next/standalone/docs/he/cli/remove-policies.mdx +0 -43
  200. package/.next/standalone/docs/he/cli/version.mdx +0 -12
  201. package/.next/standalone/docs/he/configuration.mdx +0 -223
  202. package/.next/standalone/docs/he/custom-policies.mdx +0 -353
  203. package/.next/standalone/docs/he/dashboard.mdx +0 -142
  204. package/.next/standalone/docs/he/examples.mdx +0 -307
  205. package/.next/standalone/docs/he/for-agents.mdx +0 -38
  206. package/.next/standalone/docs/he/getting-started.mdx +0 -186
  207. package/.next/standalone/docs/he/introduction.mdx +0 -57
  208. package/.next/standalone/docs/he/package-aliases.mdx +0 -82
  209. package/.next/standalone/docs/he/testing.mdx +0 -260
  210. package/.next/standalone/docs/hi/architecture.mdx +0 -334
  211. package/.next/standalone/docs/hi/built-in-policies.mdx +0 -572
  212. package/.next/standalone/docs/hi/cli/dashboard.mdx +0 -28
  213. package/.next/standalone/docs/hi/cli/environment-variables.mdx +0 -34
  214. package/.next/standalone/docs/hi/cli/hook.mdx +0 -30
  215. package/.next/standalone/docs/hi/cli/install-policies.mdx +0 -47
  216. package/.next/standalone/docs/hi/cli/list-policies.mdx +0 -31
  217. package/.next/standalone/docs/hi/cli/remove-policies.mdx +0 -43
  218. package/.next/standalone/docs/hi/cli/version.mdx +0 -12
  219. package/.next/standalone/docs/hi/configuration.mdx +0 -222
  220. package/.next/standalone/docs/hi/custom-policies.mdx +0 -354
  221. package/.next/standalone/docs/hi/dashboard.mdx +0 -142
  222. package/.next/standalone/docs/hi/examples.mdx +0 -309
  223. package/.next/standalone/docs/hi/for-agents.mdx +0 -38
  224. package/.next/standalone/docs/hi/getting-started.mdx +0 -187
  225. package/.next/standalone/docs/hi/introduction.mdx +0 -57
  226. package/.next/standalone/docs/hi/package-aliases.mdx +0 -82
  227. package/.next/standalone/docs/hi/testing.mdx +0 -260
  228. package/.next/standalone/docs/i18n/README.ar.md +0 -312
  229. package/.next/standalone/docs/i18n/README.de.md +0 -307
  230. package/.next/standalone/docs/i18n/README.es.md +0 -307
  231. package/.next/standalone/docs/i18n/README.fr.md +0 -307
  232. package/.next/standalone/docs/i18n/README.he.md +0 -312
  233. package/.next/standalone/docs/i18n/README.hi.md +0 -307
  234. package/.next/standalone/docs/i18n/README.it.md +0 -307
  235. package/.next/standalone/docs/i18n/README.ja.md +0 -307
  236. package/.next/standalone/docs/i18n/README.ko.md +0 -307
  237. package/.next/standalone/docs/i18n/README.pt-br.md +0 -307
  238. package/.next/standalone/docs/i18n/README.ru.md +0 -308
  239. package/.next/standalone/docs/i18n/README.tr.md +0 -307
  240. package/.next/standalone/docs/i18n/README.vi.md +0 -307
  241. package/.next/standalone/docs/i18n/README.zh.md +0 -307
  242. package/.next/standalone/docs/introduction.mdx +0 -57
  243. package/.next/standalone/docs/it/architecture.mdx +0 -334
  244. package/.next/standalone/docs/it/built-in-policies.mdx +0 -574
  245. package/.next/standalone/docs/it/cli/dashboard.mdx +0 -28
  246. package/.next/standalone/docs/it/cli/environment-variables.mdx +0 -34
  247. package/.next/standalone/docs/it/cli/hook.mdx +0 -30
  248. package/.next/standalone/docs/it/cli/install-policies.mdx +0 -47
  249. package/.next/standalone/docs/it/cli/list-policies.mdx +0 -31
  250. package/.next/standalone/docs/it/cli/remove-policies.mdx +0 -43
  251. package/.next/standalone/docs/it/cli/version.mdx +0 -12
  252. package/.next/standalone/docs/it/configuration.mdx +0 -222
  253. package/.next/standalone/docs/it/custom-policies.mdx +0 -353
  254. package/.next/standalone/docs/it/dashboard.mdx +0 -142
  255. package/.next/standalone/docs/it/examples.mdx +0 -307
  256. package/.next/standalone/docs/it/for-agents.mdx +0 -38
  257. package/.next/standalone/docs/it/getting-started.mdx +0 -186
  258. package/.next/standalone/docs/it/introduction.mdx +0 -57
  259. package/.next/standalone/docs/it/package-aliases.mdx +0 -82
  260. package/.next/standalone/docs/it/testing.mdx +0 -260
  261. package/.next/standalone/docs/ja/architecture.mdx +0 -332
  262. package/.next/standalone/docs/ja/built-in-policies.mdx +0 -572
  263. package/.next/standalone/docs/ja/cli/dashboard.mdx +0 -28
  264. package/.next/standalone/docs/ja/cli/environment-variables.mdx +0 -34
  265. package/.next/standalone/docs/ja/cli/hook.mdx +0 -30
  266. package/.next/standalone/docs/ja/cli/install-policies.mdx +0 -47
  267. package/.next/standalone/docs/ja/cli/list-policies.mdx +0 -31
  268. package/.next/standalone/docs/ja/cli/remove-policies.mdx +0 -43
  269. package/.next/standalone/docs/ja/cli/version.mdx +0 -12
  270. package/.next/standalone/docs/ja/configuration.mdx +0 -222
  271. package/.next/standalone/docs/ja/custom-policies.mdx +0 -353
  272. package/.next/standalone/docs/ja/dashboard.mdx +0 -142
  273. package/.next/standalone/docs/ja/examples.mdx +0 -307
  274. package/.next/standalone/docs/ja/for-agents.mdx +0 -38
  275. package/.next/standalone/docs/ja/getting-started.mdx +0 -186
  276. package/.next/standalone/docs/ja/introduction.mdx +0 -57
  277. package/.next/standalone/docs/ja/package-aliases.mdx +0 -82
  278. package/.next/standalone/docs/ja/testing.mdx +0 -260
  279. package/.next/standalone/docs/ko/architecture.mdx +0 -332
  280. package/.next/standalone/docs/ko/built-in-policies.mdx +0 -572
  281. package/.next/standalone/docs/ko/cli/dashboard.mdx +0 -28
  282. package/.next/standalone/docs/ko/cli/environment-variables.mdx +0 -34
  283. package/.next/standalone/docs/ko/cli/hook.mdx +0 -30
  284. package/.next/standalone/docs/ko/cli/install-policies.mdx +0 -47
  285. package/.next/standalone/docs/ko/cli/list-policies.mdx +0 -31
  286. package/.next/standalone/docs/ko/cli/remove-policies.mdx +0 -43
  287. package/.next/standalone/docs/ko/cli/version.mdx +0 -12
  288. package/.next/standalone/docs/ko/configuration.mdx +0 -222
  289. package/.next/standalone/docs/ko/custom-policies.mdx +0 -353
  290. package/.next/standalone/docs/ko/dashboard.mdx +0 -142
  291. package/.next/standalone/docs/ko/examples.mdx +0 -307
  292. package/.next/standalone/docs/ko/for-agents.mdx +0 -38
  293. package/.next/standalone/docs/ko/getting-started.mdx +0 -186
  294. package/.next/standalone/docs/ko/introduction.mdx +0 -57
  295. package/.next/standalone/docs/ko/package-aliases.mdx +0 -82
  296. package/.next/standalone/docs/ko/testing.mdx +0 -260
  297. package/.next/standalone/docs/logo/dark.svg +0 -21
  298. package/.next/standalone/docs/logo/exosphere-dark.png +0 -0
  299. package/.next/standalone/docs/logo/exosphere-light.png +0 -0
  300. package/.next/standalone/docs/logo/light.svg +0 -21
  301. package/.next/standalone/docs/package-aliases.mdx +0 -82
  302. package/.next/standalone/docs/pt-br/architecture.mdx +0 -332
  303. package/.next/standalone/docs/pt-br/built-in-policies.mdx +0 -574
  304. package/.next/standalone/docs/pt-br/cli/dashboard.mdx +0 -28
  305. package/.next/standalone/docs/pt-br/cli/environment-variables.mdx +0 -34
  306. package/.next/standalone/docs/pt-br/cli/hook.mdx +0 -30
  307. package/.next/standalone/docs/pt-br/cli/install-policies.mdx +0 -47
  308. package/.next/standalone/docs/pt-br/cli/list-policies.mdx +0 -31
  309. package/.next/standalone/docs/pt-br/cli/remove-policies.mdx +0 -43
  310. package/.next/standalone/docs/pt-br/cli/version.mdx +0 -12
  311. package/.next/standalone/docs/pt-br/configuration.mdx +0 -222
  312. package/.next/standalone/docs/pt-br/custom-policies.mdx +0 -353
  313. package/.next/standalone/docs/pt-br/dashboard.mdx +0 -142
  314. package/.next/standalone/docs/pt-br/examples.mdx +0 -307
  315. package/.next/standalone/docs/pt-br/for-agents.mdx +0 -38
  316. package/.next/standalone/docs/pt-br/getting-started.mdx +0 -186
  317. package/.next/standalone/docs/pt-br/introduction.mdx +0 -57
  318. package/.next/standalone/docs/pt-br/package-aliases.mdx +0 -82
  319. package/.next/standalone/docs/pt-br/testing.mdx +0 -260
  320. package/.next/standalone/docs/ru/architecture.mdx +0 -333
  321. package/.next/standalone/docs/ru/built-in-policies.mdx +0 -574
  322. package/.next/standalone/docs/ru/cli/dashboard.mdx +0 -28
  323. package/.next/standalone/docs/ru/cli/environment-variables.mdx +0 -34
  324. package/.next/standalone/docs/ru/cli/hook.mdx +0 -30
  325. package/.next/standalone/docs/ru/cli/install-policies.mdx +0 -48
  326. package/.next/standalone/docs/ru/cli/list-policies.mdx +0 -32
  327. package/.next/standalone/docs/ru/cli/remove-policies.mdx +0 -43
  328. package/.next/standalone/docs/ru/cli/version.mdx +0 -12
  329. package/.next/standalone/docs/ru/configuration.mdx +0 -222
  330. package/.next/standalone/docs/ru/custom-policies.mdx +0 -354
  331. package/.next/standalone/docs/ru/dashboard.mdx +0 -142
  332. package/.next/standalone/docs/ru/examples.mdx +0 -309
  333. package/.next/standalone/docs/ru/for-agents.mdx +0 -38
  334. package/.next/standalone/docs/ru/getting-started.mdx +0 -186
  335. package/.next/standalone/docs/ru/introduction.mdx +0 -57
  336. package/.next/standalone/docs/ru/package-aliases.mdx +0 -82
  337. package/.next/standalone/docs/ru/testing.mdx +0 -260
  338. package/.next/standalone/docs/testing.mdx +0 -260
  339. package/.next/standalone/docs/tr/architecture.mdx +0 -333
  340. package/.next/standalone/docs/tr/built-in-policies.mdx +0 -574
  341. package/.next/standalone/docs/tr/cli/dashboard.mdx +0 -28
  342. package/.next/standalone/docs/tr/cli/environment-variables.mdx +0 -34
  343. package/.next/standalone/docs/tr/cli/hook.mdx +0 -30
  344. package/.next/standalone/docs/tr/cli/install-policies.mdx +0 -47
  345. package/.next/standalone/docs/tr/cli/list-policies.mdx +0 -31
  346. package/.next/standalone/docs/tr/cli/remove-policies.mdx +0 -44
  347. package/.next/standalone/docs/tr/cli/version.mdx +0 -12
  348. package/.next/standalone/docs/tr/configuration.mdx +0 -222
  349. package/.next/standalone/docs/tr/custom-policies.mdx +0 -353
  350. package/.next/standalone/docs/tr/dashboard.mdx +0 -142
  351. package/.next/standalone/docs/tr/examples.mdx +0 -308
  352. package/.next/standalone/docs/tr/for-agents.mdx +0 -38
  353. package/.next/standalone/docs/tr/getting-started.mdx +0 -186
  354. package/.next/standalone/docs/tr/introduction.mdx +0 -57
  355. package/.next/standalone/docs/tr/package-aliases.mdx +0 -82
  356. package/.next/standalone/docs/tr/testing.mdx +0 -260
  357. package/.next/standalone/docs/vi/architecture.mdx +0 -334
  358. package/.next/standalone/docs/vi/built-in-policies.mdx +0 -572
  359. package/.next/standalone/docs/vi/cli/dashboard.mdx +0 -28
  360. package/.next/standalone/docs/vi/cli/environment-variables.mdx +0 -34
  361. package/.next/standalone/docs/vi/cli/hook.mdx +0 -30
  362. package/.next/standalone/docs/vi/cli/install-policies.mdx +0 -47
  363. package/.next/standalone/docs/vi/cli/list-policies.mdx +0 -31
  364. package/.next/standalone/docs/vi/cli/remove-policies.mdx +0 -43
  365. package/.next/standalone/docs/vi/cli/version.mdx +0 -13
  366. package/.next/standalone/docs/vi/configuration.mdx +0 -222
  367. package/.next/standalone/docs/vi/custom-policies.mdx +0 -353
  368. package/.next/standalone/docs/vi/dashboard.mdx +0 -142
  369. package/.next/standalone/docs/vi/examples.mdx +0 -308
  370. package/.next/standalone/docs/vi/for-agents.mdx +0 -38
  371. package/.next/standalone/docs/vi/getting-started.mdx +0 -186
  372. package/.next/standalone/docs/vi/introduction.mdx +0 -57
  373. package/.next/standalone/docs/vi/package-aliases.mdx +0 -82
  374. package/.next/standalone/docs/vi/testing.mdx +0 -260
  375. package/.next/standalone/docs/zh/architecture.mdx +0 -332
  376. package/.next/standalone/docs/zh/built-in-policies.mdx +0 -570
  377. package/.next/standalone/docs/zh/cli/dashboard.mdx +0 -28
  378. package/.next/standalone/docs/zh/cli/environment-variables.mdx +0 -34
  379. package/.next/standalone/docs/zh/cli/hook.mdx +0 -30
  380. package/.next/standalone/docs/zh/cli/install-policies.mdx +0 -47
  381. package/.next/standalone/docs/zh/cli/list-policies.mdx +0 -31
  382. package/.next/standalone/docs/zh/cli/remove-policies.mdx +0 -43
  383. package/.next/standalone/docs/zh/cli/version.mdx +0 -12
  384. package/.next/standalone/docs/zh/configuration.mdx +0 -222
  385. package/.next/standalone/docs/zh/custom-policies.mdx +0 -353
  386. package/.next/standalone/docs/zh/dashboard.mdx +0 -142
  387. package/.next/standalone/docs/zh/examples.mdx +0 -307
  388. package/.next/standalone/docs/zh/for-agents.mdx +0 -38
  389. package/.next/standalone/docs/zh/getting-started.mdx +0 -186
  390. package/.next/standalone/docs/zh/introduction.mdx +0 -57
  391. package/.next/standalone/docs/zh/package-aliases.mdx +0 -82
  392. package/.next/standalone/docs/zh/testing.mdx +0 -260
  393. package/.next/standalone/eslint.config.mjs +0 -15
  394. package/.next/standalone/examples/convention-policies/security-policies.mjs +0 -40
  395. package/.next/standalone/examples/convention-policies/workflow-policies.mjs +0 -41
  396. package/.next/standalone/examples/policies-advanced/index.js +0 -103
  397. package/.next/standalone/examples/policies-advanced/utils.js +0 -35
  398. package/.next/standalone/examples/policies-basic.js +0 -77
  399. package/.next/standalone/examples/policies-notification.js +0 -104
  400. package/.next/standalone/node_modules/@img/colour/color.cjs +0 -1594
  401. package/.next/standalone/node_modules/@img/colour/index.cjs +0 -1
  402. package/.next/standalone/node_modules/@img/colour/package.json +0 -45
  403. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/README.md +0 -46
  404. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/glib-2.0/include/glibconfig.h +0 -221
  405. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/index.js +0 -1
  406. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  407. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/package.json +0 -42
  408. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/versions.json +0 -30
  409. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +0 -46
  410. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +0 -221
  411. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +0 -1
  412. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  413. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +0 -42
  414. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +0 -30
  415. package/.next/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  416. package/.next/standalone/node_modules/@img/sharp-linux-x64/package.json +0 -46
  417. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  418. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +0 -46
  419. package/.next/standalone/node_modules/detect-libc/lib/detect-libc.js +0 -313
  420. package/.next/standalone/node_modules/detect-libc/lib/elf.js +0 -39
  421. package/.next/standalone/node_modules/detect-libc/lib/filesystem.js +0 -51
  422. package/.next/standalone/node_modules/detect-libc/lib/process.js +0 -24
  423. package/.next/standalone/node_modules/detect-libc/package.json +0 -44
  424. package/.next/standalone/node_modules/sharp/lib/channel.js +0 -177
  425. package/.next/standalone/node_modules/sharp/lib/colour.js +0 -195
  426. package/.next/standalone/node_modules/sharp/lib/composite.js +0 -212
  427. package/.next/standalone/node_modules/sharp/lib/constructor.js +0 -499
  428. package/.next/standalone/node_modules/sharp/lib/index.js +0 -16
  429. package/.next/standalone/node_modules/sharp/lib/input.js +0 -809
  430. package/.next/standalone/node_modules/sharp/lib/is.js +0 -143
  431. package/.next/standalone/node_modules/sharp/lib/libvips.js +0 -207
  432. package/.next/standalone/node_modules/sharp/lib/operation.js +0 -1016
  433. package/.next/standalone/node_modules/sharp/lib/output.js +0 -1666
  434. package/.next/standalone/node_modules/sharp/lib/resize.js +0 -595
  435. package/.next/standalone/node_modules/sharp/lib/sharp.js +0 -121
  436. package/.next/standalone/node_modules/sharp/lib/utility.js +0 -291
  437. package/.next/standalone/node_modules/sharp/node_modules/semver/classes/comparator.js +0 -143
  438. package/.next/standalone/node_modules/sharp/node_modules/semver/classes/range.js +0 -557
  439. package/.next/standalone/node_modules/sharp/node_modules/semver/classes/semver.js +0 -333
  440. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/cmp.js +0 -54
  441. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/coerce.js +0 -62
  442. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/compare.js +0 -7
  443. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/eq.js +0 -5
  444. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/gt.js +0 -5
  445. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/gte.js +0 -5
  446. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/lt.js +0 -5
  447. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/lte.js +0 -5
  448. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/neq.js +0 -5
  449. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/parse.js +0 -18
  450. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/satisfies.js +0 -12
  451. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/constants.js +0 -37
  452. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/debug.js +0 -11
  453. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/identifiers.js +0 -29
  454. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/lrucache.js +0 -42
  455. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/parse-options.js +0 -17
  456. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/re.js +0 -223
  457. package/.next/standalone/node_modules/sharp/node_modules/semver/package.json +0 -78
  458. package/.next/standalone/node_modules/sharp/package.json +0 -202
  459. package/.next/standalone/scripts/alias-proxy.js +0 -18
  460. package/.next/standalone/scripts/dev.ts +0 -3
  461. package/.next/standalone/scripts/install-telemetry.mjs +0 -108
  462. package/.next/standalone/scripts/launch.ts +0 -83
  463. package/.next/standalone/scripts/parse-script-args.ts +0 -87
  464. package/.next/standalone/scripts/postinstall.mjs +0 -121
  465. package/.next/standalone/scripts/preuninstall.mjs +0 -131
  466. package/.next/standalone/scripts/publish-aliases.mjs +0 -87
  467. package/.next/standalone/scripts/start.ts +0 -3
  468. package/.next/standalone/scripts/sync-hook-events-prompt.md +0 -60
  469. package/.next/standalone/scripts/translate-docs/cache.ts +0 -62
  470. package/.next/standalone/scripts/translate-docs/cli.ts +0 -357
  471. package/.next/standalone/scripts/translate-docs/config.ts +0 -248
  472. package/.next/standalone/scripts/translate-docs/mdx-translator.ts +0 -153
  473. package/.next/standalone/scripts/translate-docs/mintlify-nav.ts +0 -107
  474. package/.next/standalone/scripts/translate-docs/readme-translator.ts +0 -154
  475. package/.next/standalone/scripts/translate-docs/translator.ts +0 -68
  476. package/.next/standalone/scripts/translate-docs/types.ts +0 -43
  477. package/.next/standalone/src/auth/login.ts +0 -104
  478. package/.next/standalone/src/auth/logout.ts +0 -50
  479. package/.next/standalone/src/auth/token-store.ts +0 -64
  480. package/.next/standalone/src/cli-error.ts +0 -18
  481. package/.next/standalone/src/hooks/builtin-policies.ts +0 -1615
  482. package/.next/standalone/src/hooks/custom-hooks-loader.ts +0 -205
  483. package/.next/standalone/src/hooks/custom-hooks-registry.ts +0 -30
  484. package/.next/standalone/src/hooks/handler.ts +0 -222
  485. package/.next/standalone/src/hooks/hook-activity-store.ts +0 -349
  486. package/.next/standalone/src/hooks/hook-logger.ts +0 -133
  487. package/.next/standalone/src/hooks/hook-telemetry.ts +0 -43
  488. package/.next/standalone/src/hooks/hooks-config.ts +0 -166
  489. package/.next/standalone/src/hooks/install-prompt.ts +0 -357
  490. package/.next/standalone/src/hooks/llm-client.ts +0 -90
  491. package/.next/standalone/src/hooks/loader-utils.ts +0 -178
  492. package/.next/standalone/src/hooks/manager.ts +0 -692
  493. package/.next/standalone/src/hooks/policy-evaluator.ts +0 -224
  494. package/.next/standalone/src/hooks/policy-helpers.ts +0 -16
  495. package/.next/standalone/src/hooks/policy-registry.ts +0 -90
  496. package/.next/standalone/src/hooks/policy-types.ts +0 -77
  497. package/.next/standalone/src/hooks/types.ts +0 -63
  498. package/.next/standalone/src/index.ts +0 -19
  499. package/.next/standalone/src/posthog-key.ts +0 -5
  500. package/.next/standalone/src/relay/daemon.ts +0 -362
  501. package/.next/standalone/src/relay/pid.ts +0 -76
  502. package/.next/standalone/src/relay/queue.ts +0 -225
  503. package/.next/standalone/tailwind.config.ts +0 -11
  504. package/.next/standalone/tsconfig.json +0 -42
  505. package/.next/standalone/vitest.config.e2e.mts +0 -24
  506. package/.next/standalone/vitest.config.mts +0 -23
  507. /package/.next/standalone/.next/static/{r-wX0MuAfCjbhJm3phQc8 → wOkJXoch1UmRAmyIuKZWc}/_buildManifest.js +0 -0
  508. /package/.next/standalone/.next/static/{r-wX0MuAfCjbhJm3phQc8 → wOkJXoch1UmRAmyIuKZWc}/_clientMiddlewareManifest.js +0 -0
  509. /package/.next/standalone/.next/static/{r-wX0MuAfCjbhJm3phQc8 → wOkJXoch1UmRAmyIuKZWc}/_ssgManifest.js +0 -0
@@ -1,80 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropNames = Object.getOwnPropertyNames;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- function __accessProp(key) {
6
- return this[key];
7
- }
8
- var __toCommonJS = (from) => {
9
- var entry = (__moduleCache ??= new WeakMap).get(from), desc;
10
- if (entry)
11
- return entry;
12
- entry = __defProp({}, "__esModule", { value: true });
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (var key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(entry, key))
16
- __defProp(entry, key, {
17
- get: __accessProp.bind(from, key),
18
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
- });
20
- }
21
- __moduleCache.set(from, entry);
22
- return entry;
23
- };
24
- var __moduleCache;
25
- var __returnValue = (v) => v;
26
- function __exportSetter(name, newValue) {
27
- this[name] = __returnValue.bind(null, newValue);
28
- }
29
- var __export = (target, all) => {
30
- for (var name in all)
31
- __defProp(target, name, {
32
- get: all[name],
33
- enumerable: true,
34
- configurable: true,
35
- set: __exportSetter.bind(all, name)
36
- });
37
- };
38
-
39
- // src/index.ts
40
- var exports_src = {};
41
- __export(exports_src, {
42
- instruct: () => instruct,
43
- getCustomHooks: () => getCustomHooks,
44
- deny: () => deny,
45
- customPolicies: () => customPolicies,
46
- clearCustomHooks: () => clearCustomHooks,
47
- allow: () => allow
48
- });
49
- module.exports = __toCommonJS(exports_src);
50
-
51
- // src/hooks/custom-hooks-registry.ts
52
- var REGISTRY_KEY = "__failproofai_custom_hooks__";
53
- function getRegistry() {
54
- const g = globalThis;
55
- if (!Array.isArray(g[REGISTRY_KEY]))
56
- g[REGISTRY_KEY] = [];
57
- return g[REGISTRY_KEY];
58
- }
59
- var customPolicies = {
60
- add(hook) {
61
- getRegistry().push(hook);
62
- }
63
- };
64
- function getCustomHooks() {
65
- return getRegistry();
66
- }
67
- function clearCustomHooks() {
68
- const g = globalThis;
69
- g[REGISTRY_KEY] = [];
70
- }
71
- // src/hooks/policy-helpers.ts
72
- function allow(reason) {
73
- return reason ? { decision: "allow", reason } : { decision: "allow" };
74
- }
75
- function deny(reason) {
76
- return { decision: "deny", reason };
77
- }
78
- function instruct(reason) {
79
- return { decision: "instruct", reason };
80
- }
@@ -1,334 +0,0 @@
1
- ---
2
-
3
- ---
4
- title: المعمارية
5
- description: "كيفية عمل معالج الخطاف وتحميل الإعدادات وتقييم السياسات داخلياً"
6
- icon: sitemap
7
- ---
8
-
9
- توضح هذه الوثيقة كيفية عمل failproofai داخلياً: كيف يعترض نظام الخطاف استدعاءات أداة الوكيل، وكيف يتم تحميل ودمج الإعدادات، وكيف يتم تقييم السياسات، وكيف تراقب لوحة التحكم نشاط الوكيل.
10
-
11
- ---
12
-
13
- ## نظرة عامة
14
-
15
- يتكون failproofai من نظامين فرعيين مستقلين:
16
-
17
- 1. **معالج الخطاف** - عملية CLI سريعة يستدعيها Claude Code على كل استدعاء أداة وكيل. يقيّم السياسات ويرجع قراراً.
18
- 2. **مراقب الوكيل (لوحة التحكم)** - تطبيق ويب Next.js لمراقبة جلسات الوكيل وإدارة السياسات.
19
-
20
- يشترك كلا النظامين الفرعيين في ملفات الإعدادات في `~/.failproofai/` ومجلد المشروع `.failproofai/`، لكنهما يعملان كعمليات منفصلة ويتواصلان فقط عبر نظام الملفات.
21
-
22
- ---
23
-
24
- ## معالج الخطاف
25
-
26
- ### التكامل مع Claude Code
27
-
28
- عند تشغيل `failproofai policies --install`، فإنه يكتب إدخالات مثل هذه في `~/.claude/settings.json`:
29
-
30
- ```json
31
- {
32
- "hooks": {
33
- "PreToolUse": [
34
- {
35
- "matcher": "",
36
- "hooks": [
37
- {
38
- "type": "command",
39
- "command": "failproofai --hook PreToolUse"
40
- }
41
- ]
42
- }
43
- ],
44
- "PostToolUse": [ ... ]
45
- }
46
- }
47
- ```
48
-
49
- بعد ذلك يستدعي Claude Code `failproofai --hook PreToolUse` كعملية فرعية قبل كل استدعاء أداة، مع تمرير حمولة JSON على stdin.
50
-
51
- ### صيغة الحمولة
52
-
53
- ```json
54
- {
55
- "session_id": "abc123",
56
- "transcript_path": "/home/user/.claude/projects/myproject/sessions/abc123.jsonl",
57
- "cwd": "/home/user/myproject",
58
- "permission_mode": "default",
59
- "hook_event_name": "PreToolUse",
60
- "tool_name": "Bash",
61
- "tool_input": { "command": "sudo apt install nodejs" }
62
- }
63
- ```
64
-
65
- بالنسبة لأحداث `PostToolUse`، تحتوي الحمولة أيضاً على `tool_result` مع مخرجات الأداة.
66
-
67
- يفرض المعالج حد أقصى بحجم 1 ميجابايت لـ stdin. يتم تجاهل الحمولات التي تتجاوز هذا الحد وجميع السياسات تسمح بشكل ضمني.
68
-
69
- ### صيغة الاستجابة
70
-
71
- **الرفض (PreToolUse):**
72
- ```json
73
- {
74
- "hookSpecificOutput": {
75
- "permissionDecision": "deny",
76
- "permissionDecisionReason": "Blocked by failproofai: sudo command blocked"
77
- }
78
- }
79
- ```
80
-
81
- **الرفض (PostToolUse):**
82
- ```json
83
- {
84
- "hookSpecificOutput": {
85
- "additionalContext": "Blocked by failproofai because: API key detected in output"
86
- }
87
- }
88
- ```
89
-
90
- **التعليمات (أي حدث باستثناء Stop):**
91
- ```json
92
- {
93
- "hookSpecificOutput": {
94
- "additionalContext": "Instruction from failproofai: Verify tests pass before committing."
95
- }
96
- }
97
- ```
98
-
99
- **حدث التعليمات Stop:**
100
- - رمز الخروج: `2`
101
- - السبب مكتوب على stderr (وليس stdout)
102
-
103
- **السماح:**
104
- - رمز الخروج: `0`
105
- - stdout فارغ
106
-
107
- **السماح مع رسالة:**
108
-
109
- `allow(message)` تسمح لسياسة ما بإرسال سياق معلوماتي مرة أخرى إلى Claude حتى عندما تكون العملية مسموحة. يكتب معالج الخطاف JSON التالي إلى **stdout** (وليس ملف إعدادات — هذه استجابة المعالج لـ Claude Code، تماماً مثل استجابات الرفض والتعليمات أعلاه):
110
-
111
- ```json
112
- // Written to stdout by the hook handler process
113
- {
114
- "hookSpecificOutput": {
115
- "additionalContext": "All CI checks passed on branch 'feat/my-feature'."
116
- }
117
- }
118
- ```
119
- - رمز الخروج: `0` (العملية مسموحة)
120
- - عندما تعيد عدة سياسات `allow` مع رسالة، يتم دمج رسائلها بفواصل أسطر في سلسلة واحدة `additionalContext`
121
- - إذا لم تقدم أي سياسة رسالة، فإن stdout فارغ (كما كان من قبل)
122
-
123
- ### خط معالجة الأنابيب
124
-
125
- يطبق `src/hooks/handler.ts` خط الأنابيب الكامل:
126
-
127
- ```text
128
- stdin JSON
129
- → parse payload (max 1 MB)
130
- → extract session metadata (session_id, cwd, tool_name, tool_input, etc.)
131
- → readMergedHooksConfig(cwd) ← merges project + local + global config
132
- → register enabled builtin policies with resolved params
133
- → load custom policies from customPoliciesPath (if set)
134
- → register custom policies into policy registry
135
- → evaluate all policies (builtins first, then custom)
136
- → first deny short-circuits
137
- → instruct decisions accumulate
138
- → allow messages accumulate
139
- → write JSON decision to stdout
140
- → persist event to ~/.failproofai/hook-activity.jsonl
141
- → exit
142
- ```
143
-
144
- تعمل العملية بأكملها في أقل من 100 ميلي ثانية للحمولات النموذجية بدون استدعاءات LLM.
145
-
146
- ---
147
-
148
- ## تحميل الإعدادات
149
-
150
- يطبق `src/hooks/hooks-config.ts` تحميل الإعدادات بثلاث نطاقات.
151
-
152
- ```text
153
- [1] {cwd}/.failproofai/policies-config.json ← project (highest priority)
154
- [2] {cwd}/.failproofai/policies-config.local.json ← local
155
- [3] ~/.failproofai/policies-config.json ← global (lowest priority)
156
- ```
157
-
158
- منطق الدمج:
159
- - `enabledPolicies` - اتحاد مخصص عبر جميع الملفات الثلاثة
160
- - `policyParams` - لكل سياسة، الملف الأول الذي يحددها يفوز تماماً
161
- - `customPoliciesPath` - الملف الأول الذي يحددها يفوز
162
- - `llm` - الملف الأول الذي يحددها يفوز
163
-
164
- تستخدم لوحة تحكم الويب `readHooksConfig()` (عام فقط) للقراءة والكتابة، لأنها لا تُستدعى مع cwd مشروع.
165
-
166
- ---
167
-
168
- ## تقييم السياسة
169
-
170
- يشغل `src/hooks/policy-evaluator.ts` السياسات بالترتيب.
171
-
172
- لكل سياسة:
173
-
174
- 1. ابحث عن مخطط `params` الخاص بالسياسة (إن كان لديها واحدة).
175
- 2. اقرأ `policyParams[policy.name]` من الإعدادات المدمجة.
176
- 3. دمج القيم المعطاة من قبل المستخدم على القيم الافتراضية للمخطط لإنتاج `ctx.params`.
177
- 4. استدع `policy.fn(ctx)` مع السياق المحل.
178
- 5. إذا كانت النتيجة `deny`، توقف فوراً وأرجع هذا القرار.
179
- 6. إذا كانت النتيجة `instruct`، اجمع الرسالة وتابع.
180
- 7. إذا كانت النتيجة `allow`، انتقل إلى السياسة التالية.
181
-
182
- بعد تشغيل جميع السياسات:
183
- - إذا تم إرجاع أي `deny`، أصدر استجابة الرفض.
184
- - إذا تم جمع أي إرجاعات `instruct`، أصدر استجابة تعليمات واحدة مع جميع الرسائل المدمجة.
185
- - وإلا، أصدر استجابة السماح (stdout فارغ، خروج 0).
186
-
187
- ---
188
-
189
- ## السياسات المدمجة
190
-
191
- يحدد `src/hooks/builtin-policies.ts` جميع السياسات المدمجة الـ 26 ك `BuiltinPolicyDefinition` كائنات:
192
-
193
- ```typescript
194
- interface BuiltinPolicyDefinition {
195
- name: string;
196
- description: string;
197
- fn: (ctx: PolicyContext) => PolicyResult;
198
- match: {
199
- events: HookEventType[];
200
- tools?: string[];
201
- };
202
- defaultEnabled: boolean;
203
- category: string;
204
- beta?: boolean;
205
- params?: PolicyParamsSchema;
206
- }
207
- ```
208
-
209
- السياسات التي تقبل `params` تعلن عن `PolicyParamsSchema` مع الأنواع والقيم الافتراضية لكل معامل. يحقن محيّم السياسة القيم المحلولة في `ctx.params` قبل استدعاء `fn`. تقرأ وظائف السياسة `ctx.params` بدون حماية فارغة لأن القيم الافتراضية تُطبق دائماً أولاً.
210
-
211
- يستخدم مطابقة الأنماط داخل السياسات رموز الأوامر المحللة (argv)، وليس مطابقة السلسلة الخام. يمنع هذا التجاوز عبر حقن مشغل الأصداف (على سبيل المثال، نمط لـ `sudo systemctl status *` لا يمكن تجاوزه بإضافة `; rm -rf /` إلى الأمر).
212
-
213
- ---
214
-
215
- ## السياسات المخصصة
216
-
217
- يطبق `src/hooks/custom-hooks-registry.ts` سجل مدعوم `globalThis`:
218
-
219
- ```typescript
220
- const REGISTRY_KEY = "__failproofai_custom_hooks__";
221
-
222
- export const customPolicies = {
223
- add(hook: CustomHook): void { ... }
224
- };
225
-
226
- export function getCustomHooks(): CustomHook[] { ... }
227
- export function clearCustomHooks(): void { ... } // used in tests
228
- ```
229
-
230
- يحمل `src/hooks/custom-hooks-loader.ts` ملف السياسة الخاص بالمستخدم:
231
-
232
- 1. اقرأ `customPoliciesPath` من الإعدادات؛ تخطي إذا كانت غائبة.
233
- 2. أعد حل المسار المطلق؛ تحقق من وجود الملف.
234
- 3. أعد كتابة جميع استيرادات `from "failproofai"` إلى مسار dist الفعلي بحيث يتم حل `customPolicies` إلى نفس سجل `globalThis`.
235
- 4. أعد كتابة واردات الملفات المحلية المتعدية بشكل متكرر لضمان توافق ESM.
236
- 5. اكتب ملفات `.mjs` مؤقتة و `import()` ملف الإدخال.
237
- 6. استدع `getCustomHooks()` لاسترجاع الخطاف المسجلة.
238
- 7. انظف جميع الملفات المؤقتة في كتلة `finally`.
239
-
240
- عند حدوث أي خطأ (الملف غير موجود، خطأ في بناء الجملة، فشل الاستيراد)، يتم تسجيل الخطأ إلى `~/.failproofai/hook.log` ويرجع المحمل مصفوفة فارغة. السياسات المدمجة لم تتأثر.
241
-
242
- يتم تقييم السياسات المخصصة بعد جميع السياسات المدمجة. الرفض من سياسة مخصصة لا يزال يختصر السياسات المخصصة الأخرى (لكن جميع السياسات المدمجة قد تم تشغيلها بالفعل في تلك النقطة).
243
-
244
- ---
245
-
246
- ## تسجيل النشاط
247
-
248
- بعد كل حدث خطاف، يلحق المعالج سطر JSONL بـ `~/.failproofai/hook-activity.jsonl`:
249
-
250
- ```json
251
- {
252
- "timestamp": "2026-04-06T12:34:56.789Z",
253
- "sessionId": "abc123",
254
- "eventType": "PreToolUse",
255
- "toolName": "Bash",
256
- "policyName": "block-sudo",
257
- "decision": "deny",
258
- "reason": "sudo command blocked by failproofai",
259
- "durationMs": 12
260
- }
261
- ```
262
-
263
- سطر واحد لكل سياسة اتخذت قرار غير سماح. قرارات السماح لا تسجل (للحفاظ على الملف صغيراً).
264
-
265
- ---
266
-
267
- ## معمارية لوحة التحكم
268
-
269
- لوحة التحكم هي تطبيق **Next.js 16** يستخدم App Router مع React Server Components و Server Actions.
270
-
271
- ```text
272
- app/
273
- layout.tsx ← Root layout (theme, telemetry, nav)
274
- projects/page.tsx ← Server component: list all Claude projects
275
- project/[name]/page.tsx ← Server component: list sessions in a project
276
- project/[name]/session/
277
- [sessionId]/page.tsx ← Server component: render session viewer
278
- policies/page.tsx ← Client component: policy management + activity log
279
- actions/
280
- get-hooks-config.ts ← Read config + policy list
281
- update-hooks-config.ts ← Toggle policy on/off
282
- update-policy-params.ts ← Update policy parameters
283
- get-hook-activity.ts ← Paginate/search activity log
284
- install-hooks-web.ts ← Install/remove hooks from the browser
285
- api/
286
- download/[project]/[session]/route.ts ← Export session as ZIP/JSONL
287
- ```
288
-
289
- **تدفق البيانات:**
290
-
291
- - مكونات الصفحة تستدعي `lib/projects.ts` و `lib/log-entries.ts` لقراءة بيانات المشروع/الجلسة مباشرة من نظام الملفات (لا توجد طبقة API للقراءات).
292
- - تستخدم صفحة السياسات Server Actions لجميع التغييرات (تبديل، تحديث المعاملات، التثبيت/الإزالة).
293
- - يحلل عارض الجلسة صيغة نسخ Claude JSONL وينقل جدول زمني للرسائل واستدعاءات الأداة.
294
-
295
- **قرارات التصميم الرئيسية:**
296
-
297
- - لا توجد قاعدة بيانات - جميع الحالة الدائمة موجودة في ملفات عادية (`~/.failproofai/`, `~/.claude/projects/`).
298
- - Server Actions للتغييرات - لا توجد حاجة لـ REST API لعمليات CRUD.
299
- - React Server Components لصفحات القراءة - تحميل أولي أسرع، لا حزمة عميل لجلب البيانات.
300
- - مكونات العميل فقط حيث تكون التفاعل مطلوباً (تبديل السياسة، بحث النشاط، عارض السجل).
301
-
302
- ---
303
-
304
- ## تخطيط الملف
305
-
306
- ```text
307
- failproofai/
308
- ├── bin/
309
- │ └── failproofai.mjs # CLI router (hook / dashboard / install / etc.)
310
- ├── src/hooks/
311
- │ ├── handler.ts # Hook event pipeline
312
- │ ├── builtin-policies.ts # 26 policy definitions
313
- │ ├── policy-evaluator.ts # Policy execution engine
314
- │ ├── policy-registry.ts # Policy registration and lookup
315
- │ ├── policy-types.ts # TypeScript interfaces
316
- │ ├── hooks-config.ts # Multi-scope config loading
317
- │ ├── custom-hooks-registry.ts # globalThis-backed hook registry
318
- │ ├── custom-hooks-loader.ts # ESM loader for user JS hooks
319
- │ ├── manager.ts # install / remove / list operations
320
- │ ├── install-prompt.ts # Interactive policy selection prompt
321
- │ ├── hook-logger.ts # Logging to hook.log
322
- │ ├── hook-activity-store.ts # Persist activity to hook-activity.jsonl
323
- │ └── llm-client.ts # LLM API client (for AI-powered policies)
324
- ├── app/ # Next.js dashboard (pages + server actions)
325
- ├── lib/ # Shared utilities
326
- │ ├── projects.ts # Enumerate Claude projects from filesystem
327
- │ ├── log-entries.ts # Parse Claude transcript JSONL format
328
- │ ├── paths.ts # Resolve system paths
329
- │ └── ...
330
- ├── components/ # Shared React UI components
331
- ├── contexts/ # React context providers (theme, auto-refresh, telemetry)
332
- ├── examples/ # Example custom hook files
333
- └── __tests__/ # Unit and E2E tests
334
- ```