failproofai 0.0.2-beta.8 → 0.0.2-beta.9
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.
- package/.next/standalone/.claude/settings.json +26 -26
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/.next/server/app/_not-found.rsc +17 -17
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +17 -17
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +16 -16
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +16 -16
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
- package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kjo7d_._.js +1 -1
- package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0.t2266._.js → [root-of-the-server]__0vn1ciw._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +2 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0pjorff._.js → [root-of-the-server]__0z-n~~r._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0x..fj-._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/pages/404.html +2 -2
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
- package/.next/standalone/.next/static/chunks/{0qi0ubup__3pj.js → 04wavch6dsfes.js} +1 -1
- package/.next/standalone/.next/static/chunks/{121a-0zn-knuy.js → 0drr--vxs_m-c.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0jf9lx3rkmqx_.css → 0gu_a.a80ritd.css} +1 -1
- package/.next/standalone/.next/static/chunks/{07g0rbtaux_1t.js → 0i1ilz5554nv9.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0j752uotyfvjh.js → 0keqg6-cjs8aa.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0xyvis4r_y.8o.js → 0myzx7y.rqqi3.js} +2 -2
- package/.next/standalone/.next/static/chunks/{0a_xh94bt.y0j.js → 0zfrusm~j404v.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0zfyfi1suoteq.js → 10xhknzfyigcu.js} +1 -1
- package/.next/standalone/.next/static/chunks/{04xfyqyhdxbxz.js → 16yg3xhkmdb9v.js} +1 -1
- package/.next/standalone/CHANGELOG.md +13 -0
- package/.next/standalone/CLAUDE.md +14 -0
- package/.next/standalone/README.md +16 -0
- package/.next/standalone/bun.lock +45 -0
- package/.next/standalone/dist/cli.mjs +12 -5
- package/.next/standalone/docs/ar/architecture.mdx +333 -0
- package/.next/standalone/docs/ar/built-in-policies.mdx +566 -0
- package/.next/standalone/docs/ar/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/ar/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/ar/cli/hook.mdx +31 -0
- package/.next/standalone/docs/ar/cli/install-policies.mdx +49 -0
- package/.next/standalone/docs/ar/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/ar/cli/remove-policies.mdx +45 -0
- package/.next/standalone/docs/ar/cli/version.mdx +13 -0
- package/.next/standalone/docs/ar/configuration.mdx +223 -0
- package/.next/standalone/docs/ar/custom-policies.mdx +359 -0
- package/.next/standalone/docs/ar/dashboard.mdx +142 -0
- package/.next/standalone/docs/ar/examples.mdx +254 -0
- package/.next/standalone/docs/ar/for-agents.mdx +39 -0
- package/.next/standalone/docs/ar/getting-started.mdx +134 -0
- package/.next/standalone/docs/ar/introduction.mdx +58 -0
- package/.next/standalone/docs/ar/package-aliases.mdx +82 -0
- package/.next/standalone/docs/ar/testing.mdx +261 -0
- package/.next/standalone/docs/de/architecture.mdx +332 -0
- package/.next/standalone/docs/de/built-in-policies.mdx +564 -0
- package/.next/standalone/docs/de/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/de/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/de/cli/hook.mdx +30 -0
- package/.next/standalone/docs/de/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/de/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/de/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs/de/cli/version.mdx +12 -0
- package/.next/standalone/docs/de/configuration.mdx +222 -0
- package/.next/standalone/docs/de/custom-policies.mdx +357 -0
- package/.next/standalone/docs/de/dashboard.mdx +142 -0
- package/.next/standalone/docs/de/examples.mdx +253 -0
- package/.next/standalone/docs/de/for-agents.mdx +38 -0
- package/.next/standalone/docs/de/getting-started.mdx +134 -0
- package/.next/standalone/docs/de/introduction.mdx +57 -0
- package/.next/standalone/docs/de/package-aliases.mdx +82 -0
- package/.next/standalone/docs/de/testing.mdx +260 -0
- package/.next/standalone/docs/docs.json +922 -35
- package/.next/standalone/docs/es/architecture.mdx +332 -0
- package/.next/standalone/docs/es/built-in-policies.mdx +564 -0
- package/.next/standalone/docs/es/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/es/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/es/cli/hook.mdx +30 -0
- package/.next/standalone/docs/es/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/es/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/es/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs/es/cli/version.mdx +12 -0
- package/.next/standalone/docs/es/configuration.mdx +222 -0
- package/.next/standalone/docs/es/custom-policies.mdx +357 -0
- package/.next/standalone/docs/es/dashboard.mdx +142 -0
- package/.next/standalone/docs/es/examples.mdx +253 -0
- package/.next/standalone/docs/es/for-agents.mdx +38 -0
- package/.next/standalone/docs/es/getting-started.mdx +134 -0
- package/.next/standalone/docs/es/introduction.mdx +57 -0
- package/.next/standalone/docs/es/package-aliases.mdx +82 -0
- package/.next/standalone/docs/es/testing.mdx +260 -0
- package/.next/standalone/docs/fr/architecture.mdx +332 -0
- package/.next/standalone/docs/fr/built-in-policies.mdx +564 -0
- package/.next/standalone/docs/fr/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/fr/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/fr/cli/hook.mdx +30 -0
- package/.next/standalone/docs/fr/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/fr/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/fr/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs/fr/cli/version.mdx +12 -0
- package/.next/standalone/docs/fr/configuration.mdx +222 -0
- package/.next/standalone/docs/fr/custom-policies.mdx +357 -0
- package/.next/standalone/docs/fr/dashboard.mdx +142 -0
- package/.next/standalone/docs/fr/examples.mdx +253 -0
- package/.next/standalone/docs/fr/for-agents.mdx +38 -0
- package/.next/standalone/docs/fr/getting-started.mdx +134 -0
- package/.next/standalone/docs/fr/introduction.mdx +57 -0
- package/.next/standalone/docs/fr/package-aliases.mdx +82 -0
- package/.next/standalone/docs/fr/testing.mdx +260 -0
- package/.next/standalone/docs/he/architecture.mdx +333 -0
- package/.next/standalone/docs/he/built-in-policies.mdx +564 -0
- package/.next/standalone/docs/he/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/he/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/he/cli/hook.mdx +30 -0
- package/.next/standalone/docs/he/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/he/cli/list-policies.mdx +32 -0
- package/.next/standalone/docs/he/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs/he/cli/version.mdx +12 -0
- package/.next/standalone/docs/he/configuration.mdx +222 -0
- package/.next/standalone/docs/he/custom-policies.mdx +357 -0
- package/.next/standalone/docs/he/dashboard.mdx +142 -0
- package/.next/standalone/docs/he/examples.mdx +253 -0
- package/.next/standalone/docs/he/for-agents.mdx +38 -0
- package/.next/standalone/docs/he/getting-started.mdx +135 -0
- package/.next/standalone/docs/he/introduction.mdx +57 -0
- package/.next/standalone/docs/he/package-aliases.mdx +82 -0
- package/.next/standalone/docs/he/testing.mdx +260 -0
- package/.next/standalone/docs/hi/architecture.mdx +334 -0
- package/.next/standalone/docs/hi/built-in-policies.mdx +564 -0
- package/.next/standalone/docs/hi/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/hi/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/hi/cli/hook.mdx +30 -0
- package/.next/standalone/docs/hi/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/hi/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/hi/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs/hi/cli/version.mdx +12 -0
- package/.next/standalone/docs/hi/configuration.mdx +222 -0
- package/.next/standalone/docs/hi/custom-policies.mdx +357 -0
- package/.next/standalone/docs/hi/dashboard.mdx +142 -0
- package/.next/standalone/docs/hi/examples.mdx +255 -0
- package/.next/standalone/docs/hi/for-agents.mdx +38 -0
- package/.next/standalone/docs/hi/getting-started.mdx +134 -0
- package/.next/standalone/docs/hi/introduction.mdx +57 -0
- package/.next/standalone/docs/hi/package-aliases.mdx +82 -0
- package/.next/standalone/docs/hi/testing.mdx +260 -0
- package/.next/standalone/docs/i18n/README.ar.md +312 -0
- package/.next/standalone/docs/i18n/README.de.md +307 -0
- package/.next/standalone/docs/i18n/README.es.md +307 -0
- package/.next/standalone/docs/i18n/README.fr.md +307 -0
- package/.next/standalone/docs/i18n/README.he.md +312 -0
- package/.next/standalone/docs/i18n/README.hi.md +307 -0
- package/.next/standalone/docs/i18n/README.it.md +307 -0
- package/.next/standalone/docs/i18n/README.ja.md +307 -0
- package/.next/standalone/docs/i18n/README.ko.md +307 -0
- package/.next/standalone/docs/i18n/README.pt-br.md +307 -0
- package/.next/standalone/docs/i18n/README.ru.md +308 -0
- package/.next/standalone/docs/i18n/README.tr.md +308 -0
- package/.next/standalone/docs/i18n/README.vi.md +308 -0
- package/.next/standalone/docs/i18n/README.zh.md +307 -0
- package/.next/standalone/docs/it/architecture.mdx +333 -0
- package/.next/standalone/docs/it/built-in-policies.mdx +564 -0
- package/.next/standalone/docs/it/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/it/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/it/cli/hook.mdx +30 -0
- package/.next/standalone/docs/it/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/it/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/it/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs/it/cli/version.mdx +12 -0
- package/.next/standalone/docs/it/configuration.mdx +223 -0
- package/.next/standalone/docs/it/custom-policies.mdx +358 -0
- package/.next/standalone/docs/it/dashboard.mdx +142 -0
- package/.next/standalone/docs/it/examples.mdx +253 -0
- package/.next/standalone/docs/it/for-agents.mdx +38 -0
- package/.next/standalone/docs/it/getting-started.mdx +134 -0
- package/.next/standalone/docs/it/introduction.mdx +57 -0
- package/.next/standalone/docs/it/package-aliases.mdx +82 -0
- package/.next/standalone/docs/it/testing.mdx +260 -0
- package/.next/standalone/docs/ja/architecture.mdx +332 -0
- package/.next/standalone/docs/ja/built-in-policies.mdx +562 -0
- package/.next/standalone/docs/ja/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/ja/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/ja/cli/hook.mdx +30 -0
- package/.next/standalone/docs/ja/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/ja/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/ja/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs/ja/cli/version.mdx +12 -0
- package/.next/standalone/docs/ja/configuration.mdx +222 -0
- package/.next/standalone/docs/ja/custom-policies.mdx +357 -0
- package/.next/standalone/docs/ja/dashboard.mdx +142 -0
- package/.next/standalone/docs/ja/examples.mdx +253 -0
- package/.next/standalone/docs/ja/for-agents.mdx +38 -0
- package/.next/standalone/docs/ja/getting-started.mdx +134 -0
- package/.next/standalone/docs/ja/introduction.mdx +57 -0
- package/.next/standalone/docs/ja/package-aliases.mdx +82 -0
- package/.next/standalone/docs/ja/testing.mdx +260 -0
- package/.next/standalone/docs/ko/architecture.mdx +332 -0
- package/.next/standalone/docs/ko/built-in-policies.mdx +562 -0
- package/.next/standalone/docs/ko/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/ko/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/ko/cli/hook.mdx +30 -0
- package/.next/standalone/docs/ko/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/ko/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/ko/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs/ko/cli/version.mdx +12 -0
- package/.next/standalone/docs/ko/configuration.mdx +222 -0
- package/.next/standalone/docs/ko/custom-policies.mdx +357 -0
- package/.next/standalone/docs/ko/dashboard.mdx +142 -0
- package/.next/standalone/docs/ko/examples.mdx +253 -0
- package/.next/standalone/docs/ko/for-agents.mdx +38 -0
- package/.next/standalone/docs/ko/getting-started.mdx +134 -0
- package/.next/standalone/docs/ko/introduction.mdx +57 -0
- package/.next/standalone/docs/ko/package-aliases.mdx +82 -0
- package/.next/standalone/docs/ko/testing.mdx +260 -0
- package/.next/standalone/docs/pt-br/architecture.mdx +332 -0
- package/.next/standalone/docs/pt-br/built-in-policies.mdx +564 -0
- package/.next/standalone/docs/pt-br/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/pt-br/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/pt-br/cli/hook.mdx +30 -0
- package/.next/standalone/docs/pt-br/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/pt-br/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/pt-br/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs/pt-br/cli/version.mdx +12 -0
- package/.next/standalone/docs/pt-br/configuration.mdx +222 -0
- package/.next/standalone/docs/pt-br/custom-policies.mdx +357 -0
- package/.next/standalone/docs/pt-br/dashboard.mdx +142 -0
- package/.next/standalone/docs/pt-br/examples.mdx +253 -0
- package/.next/standalone/docs/pt-br/for-agents.mdx +38 -0
- package/.next/standalone/docs/pt-br/getting-started.mdx +134 -0
- package/.next/standalone/docs/pt-br/introduction.mdx +57 -0
- package/.next/standalone/docs/pt-br/package-aliases.mdx +82 -0
- package/.next/standalone/docs/pt-br/testing.mdx +260 -0
- package/.next/standalone/docs/ru/architecture.mdx +334 -0
- package/.next/standalone/docs/ru/built-in-policies.mdx +562 -0
- package/.next/standalone/docs/ru/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/ru/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/ru/cli/hook.mdx +30 -0
- package/.next/standalone/docs/ru/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/ru/cli/list-policies.mdx +32 -0
- package/.next/standalone/docs/ru/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs/ru/cli/version.mdx +12 -0
- package/.next/standalone/docs/ru/configuration.mdx +223 -0
- package/.next/standalone/docs/ru/custom-policies.mdx +357 -0
- package/.next/standalone/docs/ru/dashboard.mdx +142 -0
- package/.next/standalone/docs/ru/examples.mdx +254 -0
- package/.next/standalone/docs/ru/for-agents.mdx +38 -0
- package/.next/standalone/docs/ru/getting-started.mdx +134 -0
- package/.next/standalone/docs/ru/introduction.mdx +57 -0
- package/.next/standalone/docs/ru/package-aliases.mdx +82 -0
- package/.next/standalone/docs/ru/testing.mdx +260 -0
- package/.next/standalone/docs/tr/architecture.mdx +333 -0
- package/.next/standalone/docs/tr/built-in-policies.mdx +562 -0
- package/.next/standalone/docs/tr/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/tr/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/tr/cli/hook.mdx +30 -0
- package/.next/standalone/docs/tr/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/tr/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/tr/cli/remove-policies.mdx +45 -0
- package/.next/standalone/docs/tr/cli/version.mdx +12 -0
- package/.next/standalone/docs/tr/configuration.mdx +223 -0
- package/.next/standalone/docs/tr/custom-policies.mdx +357 -0
- package/.next/standalone/docs/tr/dashboard.mdx +142 -0
- package/.next/standalone/docs/tr/examples.mdx +253 -0
- package/.next/standalone/docs/tr/for-agents.mdx +38 -0
- package/.next/standalone/docs/tr/getting-started.mdx +134 -0
- package/.next/standalone/docs/tr/introduction.mdx +57 -0
- package/.next/standalone/docs/tr/package-aliases.mdx +82 -0
- package/.next/standalone/docs/tr/testing.mdx +260 -0
- package/.next/standalone/docs/vi/architecture.mdx +333 -0
- package/.next/standalone/docs/vi/built-in-policies.mdx +564 -0
- package/.next/standalone/docs/vi/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/vi/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/vi/cli/hook.mdx +30 -0
- package/.next/standalone/docs/vi/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/vi/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/vi/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs/vi/cli/version.mdx +13 -0
- package/.next/standalone/docs/vi/configuration.mdx +222 -0
- package/.next/standalone/docs/vi/custom-policies.mdx +357 -0
- package/.next/standalone/docs/vi/dashboard.mdx +142 -0
- package/.next/standalone/docs/vi/examples.mdx +253 -0
- package/.next/standalone/docs/vi/for-agents.mdx +38 -0
- package/.next/standalone/docs/vi/getting-started.mdx +134 -0
- package/.next/standalone/docs/vi/introduction.mdx +57 -0
- package/.next/standalone/docs/vi/package-aliases.mdx +82 -0
- package/.next/standalone/docs/vi/testing.mdx +260 -0
- package/.next/standalone/docs/zh/architecture.mdx +332 -0
- package/.next/standalone/docs/zh/built-in-policies.mdx +562 -0
- package/.next/standalone/docs/zh/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/zh/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/zh/cli/hook.mdx +30 -0
- package/.next/standalone/docs/zh/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/zh/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/zh/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs/zh/cli/version.mdx +12 -0
- package/.next/standalone/docs/zh/configuration.mdx +222 -0
- package/.next/standalone/docs/zh/custom-policies.mdx +357 -0
- package/.next/standalone/docs/zh/dashboard.mdx +142 -0
- package/.next/standalone/docs/zh/examples.mdx +253 -0
- package/.next/standalone/docs/zh/for-agents.mdx +38 -0
- package/.next/standalone/docs/zh/getting-started.mdx +134 -0
- package/.next/standalone/docs/zh/introduction.mdx +57 -0
- package/.next/standalone/docs/zh/package-aliases.mdx +82 -0
- package/.next/standalone/docs/zh/testing.mdx +260 -0
- package/.next/standalone/package.json +8 -2
- package/.next/standalone/scripts/translate-docs/cache.ts +62 -0
- package/.next/standalone/scripts/translate-docs/cli.ts +357 -0
- package/.next/standalone/scripts/translate-docs/config.ts +248 -0
- package/.next/standalone/scripts/translate-docs/mdx-translator.ts +153 -0
- package/.next/standalone/scripts/translate-docs/mintlify-nav.ts +107 -0
- package/.next/standalone/scripts/translate-docs/readme-translator.ts +154 -0
- package/.next/standalone/scripts/translate-docs/translator.ts +68 -0
- package/.next/standalone/scripts/translate-docs/types.ts +43 -0
- package/.next/standalone/server.js +1 -1
- package/.next/standalone/src/hooks/manager.ts +10 -2
- package/README.md +16 -0
- package/dist/cli.mjs +12 -5
- package/package.json +8 -2
- package/scripts/translate-docs/cache.ts +62 -0
- package/scripts/translate-docs/cli.ts +357 -0
- package/scripts/translate-docs/config.ts +248 -0
- package/scripts/translate-docs/mdx-translator.ts +153 -0
- package/scripts/translate-docs/mintlify-nav.ts +107 -0
- package/scripts/translate-docs/readme-translator.ts +154 -0
- package/scripts/translate-docs/translator.ts +68 -0
- package/scripts/translate-docs/types.ts +43 -0
- package/src/hooks/manager.ts +10 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__02nt~6d._.js +0 -3
- /package/.next/standalone/.next/static/{itedhTSyIDln6TUf41j5X → XqGmAwGDuJ6fEQgD-8y60}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{itedhTSyIDln6TUf41j5X → XqGmAwGDuJ6fEQgD-8y60}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{itedhTSyIDln6TUf41j5X → XqGmAwGDuJ6fEQgD-8y60}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
title: أمثلة
|
|
4
|
+
description: "كيفية إعداد hooks لـ Claude Code و Agents SDK"
|
|
5
|
+
icon: book-open
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
أمثلة جاهزة للاستخدام للسيناريوهات الشائعة. يوضح كل منها كيفية التثبيت وما يجب توقعه.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## إعداد hooks لـ Claude Code
|
|
13
|
+
|
|
14
|
+
يتكامل Failproof AI مع Claude Code عبر [نظام hooks](https://docs.anthropic.com/en/docs/claude-code/hooks) الخاص به. عند تشغيل `failproofai policies --install`، يسجل أوامر hook في ملف `settings.json` الخاص بـ Claude Code والتي تعمل على كل استدعاء أداة.
|
|
15
|
+
|
|
16
|
+
<Steps>
|
|
17
|
+
<Step title="تثبيت failproofai">
|
|
18
|
+
```bash
|
|
19
|
+
npm install -g failproofai
|
|
20
|
+
```
|
|
21
|
+
</Step>
|
|
22
|
+
<Step title="تفعيل جميع السياسات المدمجة">
|
|
23
|
+
```bash
|
|
24
|
+
failproofai policies --install
|
|
25
|
+
```
|
|
26
|
+
</Step>
|
|
27
|
+
<Step title="التحقق من تسجيل hooks">
|
|
28
|
+
```bash
|
|
29
|
+
cat ~/.claude/settings.json | grep failproofai
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
يجب أن تشاهد إدخالات hook لأحداث `PreToolUse` و `PostToolUse` و `Notification` و `Stop`.
|
|
33
|
+
</Step>
|
|
34
|
+
<Step title="تشغيل Claude Code">
|
|
35
|
+
```bash
|
|
36
|
+
claude
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
تعمل السياسات الآن تلقائياً على كل استدعاء أداة. حاول أن تطلب من Claude تشغيل `sudo rm -rf /` - سيتم حظره.
|
|
40
|
+
</Step>
|
|
41
|
+
</Steps>
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## إعداد hooks لـ Agents SDK
|
|
46
|
+
|
|
47
|
+
إذا كنت تبني باستخدام [Agents SDK](https://docs.anthropic.com/en/docs/agents-sdk)، يمكنك استخدام نفس نظام hooks بشكل برمجي.
|
|
48
|
+
|
|
49
|
+
<Steps>
|
|
50
|
+
<Step title="تثبيت failproofai في مشروعك">
|
|
51
|
+
```bash
|
|
52
|
+
npm install failproofai
|
|
53
|
+
```
|
|
54
|
+
</Step>
|
|
55
|
+
<Step title="تكوين hooks في وكيلك">
|
|
56
|
+
مرر أوامر hook عند إنشاء عملية الوكيل الخاصة بك. تعمل hooks بنفس الطريقة كما هي في Claude Code - عبر JSON على stdin/stdout:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
failproofai --hook PreToolUse # يتم استدعاؤها قبل كل أداة
|
|
60
|
+
failproofai --hook PostToolUse # يتم استدعاؤها بعد كل أداة
|
|
61
|
+
```
|
|
62
|
+
</Step>
|
|
63
|
+
<Step title="اكتب سياسة مخصصة لوكيلك">
|
|
64
|
+
```javascript
|
|
65
|
+
import { customPolicies, allow, deny } from "failproofai";
|
|
66
|
+
|
|
67
|
+
customPolicies.add({
|
|
68
|
+
name: "limit-to-project-dir",
|
|
69
|
+
description: "Keep the agent inside the project directory",
|
|
70
|
+
match: { events: ["PreToolUse"] },
|
|
71
|
+
fn: async (ctx) => {
|
|
72
|
+
const path = String(ctx.toolInput?.file_path ?? "");
|
|
73
|
+
if (path.startsWith("/") && !path.startsWith(ctx.session?.cwd ?? "")) {
|
|
74
|
+
return deny("Agent is restricted to the project directory");
|
|
75
|
+
}
|
|
76
|
+
return allow();
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
```
|
|
80
|
+
</Step>
|
|
81
|
+
<Step title="تثبيت السياسة المخصصة">
|
|
82
|
+
```bash
|
|
83
|
+
failproofai policies --install --custom ./my-agent-policies.js
|
|
84
|
+
```
|
|
85
|
+
</Step>
|
|
86
|
+
</Steps>
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## حظر الأوامر المدمرة
|
|
91
|
+
|
|
92
|
+
الإعداد الأكثر شيوعاً - منع الوكلاء من إلحاق أضرار لا يمكن إصلاحها.
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
failproofai policies --install block-sudo block-rm-rf block-force-push block-curl-pipe-sh
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
ما الذي يفعله:
|
|
99
|
+
- `block-sudo` - يحظر جميع أوامر `sudo`
|
|
100
|
+
- `block-rm-rf` - يحظر حذف الملفات بشكل متكرر
|
|
101
|
+
- `block-force-push` - يحظر `git push --force`
|
|
102
|
+
- `block-curl-pipe-sh` - يحظر نقل البرامج النصية البعيدة إلى shell
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## منع تسرب الأسرار
|
|
107
|
+
|
|
108
|
+
منع الوكلاء من رؤية أو تسريب بيانات الاعتماد في مخرجات الأداة.
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
failproofai policies --install sanitize-api-keys sanitize-jwt sanitize-connection-strings sanitize-bearer-tokens
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
تعمل هذه على `PostToolUse` - بعد تشغيل أداة، تقوم بتنقية المخرجات قبل أن يراها الوكيل.
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## الحصول على تنبيهات Slack عندما يحتاج الوكلاء إلى الاهتمام
|
|
119
|
+
|
|
120
|
+
استخدم hook الإشعارات لإعادة توجيه تنبيهات السكون إلى Slack.
|
|
121
|
+
|
|
122
|
+
```javascript
|
|
123
|
+
import { customPolicies, allow, instruct } from "failproofai";
|
|
124
|
+
|
|
125
|
+
customPolicies.add({
|
|
126
|
+
name: "slack-on-idle",
|
|
127
|
+
description: "Alert Slack when the agent is waiting for input",
|
|
128
|
+
match: { events: ["Notification"] },
|
|
129
|
+
fn: async (ctx) => {
|
|
130
|
+
const webhookUrl = process.env.SLACK_WEBHOOK_URL;
|
|
131
|
+
if (!webhookUrl) return allow();
|
|
132
|
+
|
|
133
|
+
const message = String(ctx.payload?.message ?? "Agent is waiting");
|
|
134
|
+
const project = ctx.session?.cwd ?? "unknown";
|
|
135
|
+
|
|
136
|
+
try {
|
|
137
|
+
await fetch(webhookUrl, {
|
|
138
|
+
method: "POST",
|
|
139
|
+
headers: { "Content-Type": "application/json" },
|
|
140
|
+
body: JSON.stringify({
|
|
141
|
+
text: `*${message}*\nProject: \`${project}\``,
|
|
142
|
+
}),
|
|
143
|
+
signal: AbortSignal.timeout(5000),
|
|
144
|
+
});
|
|
145
|
+
} catch {
|
|
146
|
+
// never block the agent if Slack is unreachable
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
return allow();
|
|
150
|
+
},
|
|
151
|
+
});
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
ثبته:
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
SLACK_WEBHOOK_URL=https://hooks.slack.com/... failproofai policies --install --custom ./slack-alerts.js
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## اجعل الوكلاء على فرع
|
|
163
|
+
|
|
164
|
+
منع الوكلاء من تبديل الفروع أو الدفع إلى الفروع المحمية.
|
|
165
|
+
|
|
166
|
+
```javascript
|
|
167
|
+
import { customPolicies, allow, deny } from "failproofai";
|
|
168
|
+
|
|
169
|
+
customPolicies.add({
|
|
170
|
+
name: "stay-on-branch",
|
|
171
|
+
description: "Prevent the agent from checking out other branches",
|
|
172
|
+
match: { events: ["PreToolUse"] },
|
|
173
|
+
fn: async (ctx) => {
|
|
174
|
+
if (ctx.toolName !== "Bash") return allow();
|
|
175
|
+
const cmd = String(ctx.toolInput?.command ?? "");
|
|
176
|
+
if (/git\s+checkout\s+(?!-b)/.test(cmd)) {
|
|
177
|
+
return deny("Stay on the current branch. Create a new branch with -b if needed.");
|
|
178
|
+
}
|
|
179
|
+
return allow();
|
|
180
|
+
},
|
|
181
|
+
});
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## طلب اختبارات قبل الالتزام
|
|
187
|
+
|
|
188
|
+
ذكّر الوكلاء بتشغيل الاختبارات قبل الالتزام.
|
|
189
|
+
|
|
190
|
+
```javascript
|
|
191
|
+
import { customPolicies, allow, instruct } from "failproofai";
|
|
192
|
+
|
|
193
|
+
customPolicies.add({
|
|
194
|
+
name: "test-before-commit",
|
|
195
|
+
description: "Remind the agent to run tests before committing",
|
|
196
|
+
match: { events: ["PreToolUse"] },
|
|
197
|
+
fn: async (ctx) => {
|
|
198
|
+
if (ctx.toolName !== "Bash") return allow();
|
|
199
|
+
const cmd = String(ctx.toolInput?.command ?? "");
|
|
200
|
+
if (/git\s+commit/.test(cmd)) {
|
|
201
|
+
return instruct("Run tests before committing. Use `npm test` or `bun test` first.");
|
|
202
|
+
}
|
|
203
|
+
return allow();
|
|
204
|
+
},
|
|
205
|
+
});
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## قفل مستودع الإنتاج
|
|
211
|
+
|
|
212
|
+
التزم بتكوين على مستوى المشروع بحيث يحصل كل مطور في فريقك على نفس السياسات.
|
|
213
|
+
|
|
214
|
+
أنشئ `.failproofai/policies-config.json` في مستودعك:
|
|
215
|
+
|
|
216
|
+
```json
|
|
217
|
+
{
|
|
218
|
+
"enabledPolicies": [
|
|
219
|
+
"block-sudo",
|
|
220
|
+
"block-rm-rf",
|
|
221
|
+
"block-force-push",
|
|
222
|
+
"block-push-master",
|
|
223
|
+
"block-env-files",
|
|
224
|
+
"sanitize-api-keys",
|
|
225
|
+
"sanitize-jwt"
|
|
226
|
+
],
|
|
227
|
+
"policyParams": {
|
|
228
|
+
"block-push-master": {
|
|
229
|
+
"protectedBranches": ["main", "release", "production"]
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
ثم التزم به:
|
|
236
|
+
|
|
237
|
+
```bash
|
|
238
|
+
git add .failproofai/policies-config.json
|
|
239
|
+
git commit -m "Add failproofai team policies"
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
سيلتقط كل عضو في الفريق لديه failproofai مثبتاً هذه القواعد تلقائياً.
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## المزيد من الأمثلة
|
|
247
|
+
|
|
248
|
+
يحتوي دليل [`examples/`](https://github.com/exospherehost/failproofai/tree/main/examples) في المستودع على:
|
|
249
|
+
|
|
250
|
+
| الملف | ما يعرضه |
|
|
251
|
+
|------|----------|
|
|
252
|
+
| `policies-basic.js` | السياسات الأساسية - منع عمليات الكتابة في الإنتاج والدفع القسري والبرامج النصية المنقولة |
|
|
253
|
+
| `policies-notification.js` | تنبيهات Slack لإشعارات السكون ونهاية الجلسة |
|
|
254
|
+
| `policies-advanced/index.js` | الاستيرادات المتعددة والخطافات غير المتزامنة وتنقية مخرجات PostToolUse ومعالجة حدث Stop |
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
title: "للوكلاء"
|
|
4
|
+
description: "أضف معرفة Failproof AI إلى وكيلك البرمجي بأمر واحد. يعمل مع Claude Code و Cursor و Windsurf وغيرها."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
أضف مرجع Failproof AI الكامل إلى وكيلك البرمجي بأمر واحد. يعمل مع Claude Code و Cursor و Windsurf وأي وكيل آخر يدعم المهارات.
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npx skills add https://docs.befailproof.ai
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
يكتشف `npx skills` الوكلاء المثبتة لديك ويضيف المهارة بالصيغة الصحيحة لكل واحد منها تلقائياً.
|
|
14
|
+
|
|
15
|
+
## ما تغطيه المهارة
|
|
16
|
+
|
|
17
|
+
| المجال | ما يشمل |
|
|
18
|
+
|------|----------------|
|
|
19
|
+
| السياسات | أسماء السياسات المدمجة وأنواع الأحداث والمعاملات والتفعيل/التعطيل |
|
|
20
|
+
| السياسات المخصصة | `customPolicies.add()`وفلاتر المطابقة و API `allow`/`deny`/`instruct` |
|
|
21
|
+
| كائن السياق | `ctx.eventType` و `ctx.toolName` و `ctx.toolInput` و `ctx.session` |
|
|
22
|
+
| الإعدادات | بنية `policies-config.json` ودمج النطاق و `policyParams` |
|
|
23
|
+
| واجهة سطر الأوامر | `failproofai policies --install` و `--uninstall` و `--custom` والنطاقات |
|
|
24
|
+
| لوحة التحكم | عارض الجلسات ونشاط السياسة والمتغيرات البيئية |
|
|
25
|
+
| البنية المعمارية | تدفق معالج الخطاف وأكواد الخروج و عقد stdin/stdout |
|
|
26
|
+
|
|
27
|
+
## هل المهارة كاملة؟
|
|
28
|
+
|
|
29
|
+
يولد Mintlify `llms.txt` من جميع الصفحات في التنقل. توثيقات Failproof AI تغطي الواجهة البرمجية الكاملة - كل سياسة وخيار ومثال مضمن. إذا وجدت شيء مفقود، فالمصدر موجود في `https://docs.befailproof.ai/llms-full.txt`.
|
|
30
|
+
|
|
31
|
+
للحصول على سياق موجه، قم بالربط مباشرة إلى صفحة محددة:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# فقط API السياسات المخصصة
|
|
35
|
+
npx skills add https://docs.befailproof.ai/custom-policies
|
|
36
|
+
|
|
37
|
+
# فقط السياسات المدمجة
|
|
38
|
+
npx skills add https://docs.befailproof.ai/built-in-policies
|
|
39
|
+
```
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: البدء السريع
|
|
3
|
+
description: "ثبّت failproofai، فعّل السياسات، واترك وكلاءك يعملون بموثوقية"
|
|
4
|
+
icon: rocket
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## المتطلبات
|
|
8
|
+
|
|
9
|
+
- **Node.js** >= 20.9.0
|
|
10
|
+
- **Bun** >= 1.3.0 (اختياري - مطلوب فقط للبناء من المصدر)
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## التثبيت
|
|
15
|
+
|
|
16
|
+
<CodeGroup>
|
|
17
|
+
|
|
18
|
+
```bash npm
|
|
19
|
+
npm install -g failproofai
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
```bash bun
|
|
23
|
+
bun add -g failproofai
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
</CodeGroup>
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## البدء السريع
|
|
31
|
+
|
|
32
|
+
<Steps>
|
|
33
|
+
<Step title="تفعيل السياسات">
|
|
34
|
+
السياسات هي قواعد تعمل قبل وبعد كل استدعاء أداة من الوكيل. فهي تقبض على الأوامر المدمرة، تسرب الأسرار، وأوجه الفشل الأخرى قبل أن تسبب الضرر.
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
failproofai policies --install
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
يكتب هذا مدخلات hook في `settings.json` الخاص بـ Claude Code. يمكنك أيضاً التثبيت لمشروع واحد أو اختيار سياسات محددة:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
failproofai policies --install --scope project
|
|
44
|
+
failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
|
|
45
|
+
```
|
|
46
|
+
</Step>
|
|
47
|
+
<Step title="التحقق">
|
|
48
|
+
```bash
|
|
49
|
+
failproofai policies
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
يعرض كل سياسة، ما إذا كانت مفعلة، وأي معاملات مكونة.
|
|
53
|
+
</Step>
|
|
54
|
+
<Step title="تشغيل لوحة المعلومات">
|
|
55
|
+
```bash
|
|
56
|
+
failproofai
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
يفتح لوحة معلومات محلية على `http://localhost:8020` حيث يمكنك تصفح الجلسات، فحص استدعاءات الأدوات، وإدارة السياسات.
|
|
60
|
+
</Step>
|
|
61
|
+
<Step title="تشغيل وكيلك">
|
|
62
|
+
شغّل Claude Code كالمعتاد. إذا حاول الوكيل شيئاً محفوفاً بالمخاطر، فإن failproofai يقاطعه تلقائياً. اتركه يعمل دون مراقبة وراجع ما حدث في لوحة المعلومات.
|
|
63
|
+
</Step>
|
|
64
|
+
</Steps>
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## كيفية عمل السياسات
|
|
69
|
+
|
|
70
|
+
في كل مرة يشغل فيها الوكيل أداة، يستدعي Claude Code failproofai كعملية فرعية:
|
|
71
|
+
|
|
72
|
+
```text
|
|
73
|
+
Claude Code → failproofai --hook PreToolUse → قراءة JSON من stdin
|
|
74
|
+
تقييم السياسات
|
|
75
|
+
كتابة القرار إلى stdout
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
كل سياسة ترجع أحد ثلاثة قرارات:
|
|
79
|
+
|
|
80
|
+
- **allow** - يستمر الوكيل بشكل طبيعي
|
|
81
|
+
- **deny** - يتم حظر الإجراء، ويُخبر الوكيل عن السبب
|
|
82
|
+
- **instruct** - يُضاف سياق إضافي إلى فوری الوكيل
|
|
83
|
+
|
|
84
|
+
<Note>
|
|
85
|
+
تعمل السياسات في عمليتك المحلية. لا يتم إرسال أي شيء إلى خدمة بعيدة.
|
|
86
|
+
</Note>
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## تخزين البيانات
|
|
91
|
+
|
|
92
|
+
جميع الإعدادات والسجلات تبقى على جهازك:
|
|
93
|
+
|
|
94
|
+
| المسار | ما يخزنه |
|
|
95
|
+
|------|----------------|
|
|
96
|
+
| `~/.failproofai/policies-config.json` | إعدادات السياسة العامة |
|
|
97
|
+
| `~/.failproofai/hook-activity.jsonl` | سجل تنفيذ Hook |
|
|
98
|
+
| `~/.failproofai/hook.log` | سجل تصحيح الأخطاء لأخطاء hook المخصصة |
|
|
99
|
+
| `.failproofai/policies-config.json` | إعدادات لكل مشروع (مرتكبة) |
|
|
100
|
+
| `.failproofai/policies-config.local.json` | التجاوزات الشخصية (مستثناة من git) |
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## الإلغاء
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
failproofai policies --uninstall
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
يزيل مدخلات hook من `~/.claude/settings.json`. يتم الاحتفاظ بملفات الإعدادات في `~/.failproofai/`.
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## الخطوات التالية
|
|
115
|
+
|
|
116
|
+
<CardGroup cols={2}>
|
|
117
|
+
|
|
118
|
+
<Card title="الإعدادات" icon="gear" href="/ar/configuration">
|
|
119
|
+
النطاقات وصيغة ملف الإعدادات
|
|
120
|
+
</Card>
|
|
121
|
+
|
|
122
|
+
<Card title="السياسات المدمجة" icon="shield" href="/ar/built-in-policies">
|
|
123
|
+
جميع 26 سياسة مع المعاملات
|
|
124
|
+
</Card>
|
|
125
|
+
|
|
126
|
+
<Card title="السياسات المخصصة" icon="code" href="/ar/custom-policies">
|
|
127
|
+
اكتب سياساتك الخاصة بلغة JavaScript
|
|
128
|
+
</Card>
|
|
129
|
+
|
|
130
|
+
<Card title="مراقب الوكيل" icon="chart-line" href="/ar/dashboard">
|
|
131
|
+
راقب الجلسات واستعرض نشاط السياسة
|
|
132
|
+
</Card>
|
|
133
|
+
|
|
134
|
+
</CardGroup>
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
title: Failproof AI
|
|
4
|
+
description: "إدارة الخطافات والسياسات التي تحافظ على موثوقية وكالاتك الذكية وتشغيلها بشكل مستقل"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
[](https://www.npmjs.com/package/failproofai)
|
|
8
|
+
|
|
9
|
+
خطافات وسياسات تحافظ على موثوقية وكلاءك الذكيين وتشغيلهم بشكل مستقل - لـ **Claude Code** و **Agents SDK**.
|
|
10
|
+
|
|
11
|
+
تفشل الوكلاء الذكيون بطرق متوقعة. فهم يقومون بتشغيل أوامر مدمرة، ويسربون الأسرار، ويبتعدون عن المهمة المطلوبة، ويعلقون في حلقات، أو يدفعون مباشرة إلى الفرع الرئيسي. إذا تركت دون مراقبة، فإن الأخطاء الصغيرة تتراكم وتسبب مشاكل كبيرة.
|
|
12
|
+
|
|
13
|
+
يحل Failproof AI هذه المشكلة باستخدام **السياسات** - قواعد تتكامل مع كل استدعاء أداة للوكيل ويمكنها **اكتشاف الأخطاء** و**تخفيفها** (الحجب والتعليمات والتنظيف) و**تنبيهك** عندما تحتاج شيء ما إلى الانتباه. لوحة معلومات محلية تتيح لك مراجعة كل شيء بعد الانتهاء.
|
|
14
|
+
|
|
15
|
+
كل شيء يعمل محليًا. لا تغادر البيانات جهازك.
|
|
16
|
+
|
|
17
|
+
## ابدأ الآن
|
|
18
|
+
|
|
19
|
+
<CardGroup cols={2}>
|
|
20
|
+
|
|
21
|
+
<Card title="26 سياسة مدمجة" icon="shield" href="/ar/built-in-policies">
|
|
22
|
+
احجب الأوامر المدمرة، ومنع تسرب الأسرار، وأبقِ الوكلاء داخل حدود المشروع، والمزيد - خارج الصندوق.
|
|
23
|
+
</Card>
|
|
24
|
+
|
|
25
|
+
<Card title="سياسات مخصصة" icon="code" href="/ar/custom-policies">
|
|
26
|
+
اكتب قواعدك الخاصة في JavaScript باستخدام واجهة برمجية بسيطة للسماح أو الرفض أو التعليمات.
|
|
27
|
+
</Card>
|
|
28
|
+
|
|
29
|
+
<Card title="مراقب الوكيل" icon="chart-line" href="/ar/dashboard">
|
|
30
|
+
انظر إلى ما فعله وكلاؤك أثناء غيابك. استعرض الجلسات، وفحص استدعاءات الأدوات، وراجع مكان تفعيل السياسات.
|
|
31
|
+
</Card>
|
|
32
|
+
|
|
33
|
+
<Card title="تكوين سهل" icon="gear" href="/ar/configuration">
|
|
34
|
+
ضبط أي سياسة بدون كود. قم بتعيين قوائم السماح والفروع المحمية أو الحدود لكل مشروع أو عام.
|
|
35
|
+
</Card>
|
|
36
|
+
|
|
37
|
+
</CardGroup>
|
|
38
|
+
|
|
39
|
+
## البدء السريع
|
|
40
|
+
|
|
41
|
+
<CodeGroup>
|
|
42
|
+
|
|
43
|
+
```bash npm
|
|
44
|
+
npm install -g failproofai
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
```bash bun
|
|
48
|
+
bun add -g failproofai
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
</CodeGroup>
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
failproofai policies --install # enable policies
|
|
55
|
+
failproofai # launch the dashboard
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
انظر إلى دليل [البدء السريع](/ar/getting-started) للحصول على الشرح الكامل.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: اسماء الحزم البديلة
|
|
3
|
+
description: "الأسماء البديلة المسجلة لمنع الأخطاء الإملائية وكيفية عملها"
|
|
4
|
+
icon: copy
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## الحزمة الرسمية
|
|
8
|
+
|
|
9
|
+
حزمة npm الأساسية هي **`failproofai`**:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install -g failproofai
|
|
13
|
+
# أو
|
|
14
|
+
bun add -g failproofai
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## لماذا نملك أسماء البدائل
|
|
20
|
+
|
|
21
|
+
تسجيل النطاقات المشابهة (Typosquatting) هو هجوم شائع على سلسلة التوريد حيث يقوم عامل خبيث بتسجيل اسم حزمة يختلف بضغطة زر واحدة عن حزمة شهيرة. المستخدمون الذين يخطئون في كتابة أمر التثبيت ينتهي بهم الحال لتشغيل كود يتحكم به المهاجم مع وصول كامل للنظام - وهذا هو النوع من التهديدات التي تم تصميم Failproof AI للدفاع ضده.
|
|
22
|
+
|
|
23
|
+
لإزالة هذا السطح الهجومي، **نملك مسبقاً جميع الأخطاء الإملائية الشائعة والمتغيرات الصيغية** لـ `failproofai` على npm. لا يمكن لأي طرف ثالث تسجيل أي من هذه الأسماء. كل واحد منها هو وكيل بسيط يثبت الحزمة الحقيقية ويفوّض إليها.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## الأسماء البديلة المسجلة
|
|
28
|
+
|
|
29
|
+
**متغيرات الصيغة** - طرق مختلفة لكتابة "failproof ai":
|
|
30
|
+
|
|
31
|
+
| الحزمة | الحالة |
|
|
32
|
+
|---------|--------|
|
|
33
|
+
| `failproof` | ✅ منشورة |
|
|
34
|
+
| `failproof-ai` | ⏳ قيد انتظار دعم npm |
|
|
35
|
+
| `fail-proof-ai` | ⏳ قيد انتظار دعم npm |
|
|
36
|
+
| `failproof_ai` | ⏳ قيد انتظار دعم npm |
|
|
37
|
+
| `fail_proof_ai` | ⏳ قيد انتظار دعم npm |
|
|
38
|
+
| `fail-proofai` | ⏳ قيد انتظار دعم npm |
|
|
39
|
+
|
|
40
|
+
**أخطاء `failprof*`** - حرف `o` ناقص من "proof":
|
|
41
|
+
|
|
42
|
+
| الحزمة | الحالة |
|
|
43
|
+
|---------|--------|
|
|
44
|
+
| `failprof` | ✅ منشورة |
|
|
45
|
+
| `failprof-ai` | ✅ منشورة |
|
|
46
|
+
| `failprofai` | ⏳ قيد انتظار دعم npm |
|
|
47
|
+
| `fail-prof-ai` | ⏳ قيد انتظار دعم npm |
|
|
48
|
+
| `failprof_ai` | ⏳ قيد انتظار دعم npm |
|
|
49
|
+
|
|
50
|
+
**أخطاء `faliproof*`** - الأحرف `a` و `i` معكوسة:
|
|
51
|
+
|
|
52
|
+
| الحزمة | الحالة |
|
|
53
|
+
|---------|--------|
|
|
54
|
+
| `faliproof` | ✅ منشورة |
|
|
55
|
+
| `faliproof-ai` | ✅ منشورة |
|
|
56
|
+
| `faliproofai` | ⏳ قيد انتظار دعم npm |
|
|
57
|
+
|
|
58
|
+
> **لماذا قيد الانتظار؟** سياسة منع البريد العشوائي في npm تحظر الأسماء التي تتطابق مع حزمة موجودة بعد إزالة الترقيم وإجراء فحوصات التشابه. لقد تواصلنا مع فريق دعم npm لحجز هذه الأسماء لأغراض منع التسجيل غير المشروع. سيتم تفعيلها بمجرد الموافقة عليها.
|
|
59
|
+
|
|
60
|
+
يمكنك التحقق من أن أي اسم بديل منشور مملوك لنا:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
npm info failproof
|
|
64
|
+
# ابحث عن: "ExosphereHost Inc." في حقل المشرفين
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## كيفية عمل الأسماء البديلة
|
|
70
|
+
|
|
71
|
+
كل حزمة بديلة:
|
|
72
|
+
|
|
73
|
+
1. تضع `failproofai` كتبعية - بحيث تعمل الحزمة الحقيقية (بما في ذلك خطاف `postinstall` الخاص بها) عند التثبيت
|
|
74
|
+
2. تعرض ملف تنفيذي يطابق اسمها الخاص (مثل `failprof-ai`) يفوّض جميع المعاملات إلى ملف `failproofai` التنفيذي
|
|
75
|
+
|
|
76
|
+
الوكيل هو نص Node بسيط من سطرين؛ لا توجد منطقية، لا استدعاءات شبكية، ولا جمع بيانات بخلاف ما تقوم به `failproofai` بنفسها.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## إذا وجدت اسماً فاتنا
|
|
81
|
+
|
|
82
|
+
افتح مشكلة على [exospherehost/failproofai](https://github.com/exospherehost/failproofai/issues) وسنقوم بتسجيلها.
|