failproofai 0.0.2 → 0.0.4-beta.0
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 +316 -0
- package/.next/standalone/.failproofai/policies/workflow-policies.mjs +62 -0
- package/.next/standalone/.failproofai/policies-config.json +39 -0
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +5 -5
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +3 -1
- package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +2 -2
- 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/build-manifest.json +2 -2
- 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/build-manifest.json +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/build-manifest.json +2 -2
- 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/build-manifest.json +2 -2
- 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/build-manifest.json +2 -2
- 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/build-manifest.json +2 -2
- 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/node_modules_posthog-node_dist_entrypoints_index_node_mjs_05pz9._._.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]__0qo8503._.js → [root-of-the-server]__0jqus-j._.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]__0w6l33k._.js +9 -9
- 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/{[root-of-the-server]__12kr5~_._.js → [root-of-the-server]__131id~1._.js} +2 -2
- 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/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0a_7sdg.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ef3uwk.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0j79~gv.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pbja1x.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0r6o0i2.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_11y81~_.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_12or2kf.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +5 -5
- 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/{0y~0creqvl5wx.js → 045lpk_isd5np.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0cvffh-pbsv5u.js → 065qrrpfkts8s.js} +1 -1
- package/.next/standalone/.next/static/chunks/{031pa5~qfzt~_.js → 09e7drilkf1sn.js} +1 -1
- package/.next/standalone/.next/static/chunks/0gu_a.a80ritd.css +1 -0
- package/.next/standalone/.next/static/chunks/{15wf7x-e.8ia3.js → 0je_~y72wv~~2.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0x-625~1vx1lu.js → 0rqcttnl9u32c.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0ov60i6md~37t.js → 0v2-.v07.zb9u.js} +2 -2
- package/.next/standalone/.next/static/chunks/{06og.7e9nkpjh.js → 0yye9-w._6rz~.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0_4y_t03jn2nq.js → 15proylk5ye2k.js} +1 -1
- package/.next/standalone/.next/static/chunks/174boqk9e~20i.js +6 -0
- package/.next/standalone/.next/static/chunks/{turbopack-0uc5y~g6h.n7-.js → turbopack-0r26pc8h0y_-e.js} +1 -1
- package/.next/standalone/CHANGELOG.md +108 -0
- package/.next/standalone/CLAUDE.md +28 -0
- package/.next/standalone/Dockerfile.docs +12 -0
- package/.next/standalone/README.md +95 -49
- package/.next/standalone/app/components/session-hooks-panel.tsx +14 -1
- package/.next/standalone/app/policies/hooks-client.tsx +14 -1
- package/.next/standalone/bin/failproofai.mjs +5 -0
- package/.next/standalone/bun.lock +76 -63
- package/.next/standalone/components/navbar.tsx +5 -0
- package/.next/standalone/dist/cli.mjs +535 -90
- package/.next/standalone/dist/index.js +2 -2
- package/.next/standalone/docs/ar/architecture.mdx +333 -0
- package/.next/standalone/docs/ar/built-in-policies.mdx +537 -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 +48 -0
- package/.next/standalone/docs/ar/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/ar/cli/remove-policies.mdx +43 -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/{architecture.md → architecture.mdx} +40 -23
- package/.next/standalone/docs/{built-in-policies.md → built-in-policies.mdx} +126 -15
- package/.next/standalone/docs/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/cli/hook.mdx +30 -0
- package/.next/standalone/docs/cli/install-policies.mdx +47 -0
- package/.next/standalone/docs/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/cli/remove-policies.mdx +43 -0
- package/.next/standalone/docs/cli/version.mdx +12 -0
- package/.next/standalone/docs/{configuration.md → configuration.mdx} +62 -16
- package/.next/standalone/docs/custom-policies.mdx +357 -0
- package/.next/standalone/docs/{dashboard.md → dashboard.mdx} +26 -29
- package/.next/standalone/docs/de/architecture.mdx +332 -0
- package/.next/standalone/docs/de/built-in-policies.mdx +537 -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 +47 -0
- package/.next/standalone/docs/de/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/de/cli/remove-policies.mdx +43 -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 +943 -24
- package/.next/standalone/docs/es/architecture.mdx +332 -0
- package/.next/standalone/docs/es/built-in-policies.mdx +537 -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 +47 -0
- package/.next/standalone/docs/es/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/es/cli/remove-policies.mdx +43 -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/examples.mdx +253 -0
- package/.next/standalone/docs/for-agents.mdx +38 -0
- package/.next/standalone/docs/fr/architecture.mdx +332 -0
- package/.next/standalone/docs/fr/built-in-policies.mdx +537 -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 +47 -0
- package/.next/standalone/docs/fr/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/fr/cli/remove-policies.mdx +43 -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/getting-started.mdx +134 -0
- package/.next/standalone/docs/he/architecture.mdx +333 -0
- package/.next/standalone/docs/he/built-in-policies.mdx +535 -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 +47 -0
- package/.next/standalone/docs/he/cli/list-policies.mdx +32 -0
- package/.next/standalone/docs/he/cli/remove-policies.mdx +43 -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 +535 -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 +47 -0
- package/.next/standalone/docs/hi/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/hi/cli/remove-policies.mdx +43 -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/introduction.mdx +57 -0
- package/.next/standalone/docs/it/architecture.mdx +333 -0
- package/.next/standalone/docs/it/built-in-policies.mdx +537 -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 +47 -0
- package/.next/standalone/docs/it/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/it/cli/remove-policies.mdx +43 -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 +535 -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 +47 -0
- package/.next/standalone/docs/ja/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/ja/cli/remove-policies.mdx +43 -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 +535 -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 +47 -0
- package/.next/standalone/docs/ko/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/ko/cli/remove-policies.mdx +43 -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/logo/dark.svg +21 -0
- package/.next/standalone/docs/logo/light.svg +21 -0
- package/.next/standalone/docs/{package-aliases.md → package-aliases.mdx} +5 -5
- package/.next/standalone/docs/pt-br/architecture.mdx +332 -0
- package/.next/standalone/docs/pt-br/built-in-policies.mdx +537 -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 +47 -0
- package/.next/standalone/docs/pt-br/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/pt-br/cli/remove-policies.mdx +43 -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 +537 -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 +43 -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/{testing.md → testing.mdx} +11 -11
- package/.next/standalone/docs/tr/architecture.mdx +333 -0
- package/.next/standalone/docs/tr/built-in-policies.mdx +537 -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 +47 -0
- package/.next/standalone/docs/tr/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/tr/cli/remove-policies.mdx +44 -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 +537 -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 +47 -0
- package/.next/standalone/docs/vi/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/vi/cli/remove-policies.mdx +43 -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 +535 -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 +47 -0
- package/.next/standalone/docs/zh/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/zh/cli/remove-policies.mdx +43 -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/examples/convention-policies/security-policies.mjs +40 -0
- package/.next/standalone/examples/convention-policies/workflow-policies.mjs +41 -0
- package/.next/standalone/next.config.ts +5 -3
- package/.next/standalone/node_modules/@next/env/package.json +1 -1
- package/.next/standalone/node_modules/next/dist/build/swc/index.js +1 -1
- package/.next/standalone/node_modules/next/dist/compiled/jsonwebtoken/index.js +2 -2
- package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +1 -1
- package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +1 -1
- package/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +1 -1
- package/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
- package/.next/standalone/node_modules/next/dist/server/config.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +7 -2
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/render.js +20 -19
- package/.next/standalone/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +1 -1
- package/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
- package/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
- package/.next/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
- package/.next/standalone/node_modules/next/package.json +15 -15
- package/.next/standalone/node_modules/react/cjs/react.development.js +1 -1
- package/.next/standalone/node_modules/react/cjs/react.production.js +1 -1
- package/.next/standalone/node_modules/react/package.json +1 -1
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +1 -1
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +1 -1
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.browser.production.js +3 -3
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.edge.production.js +3 -3
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.node.production.js +3 -3
- package/.next/standalone/node_modules/react-dom/cjs/react-dom.production.js +1 -1
- package/.next/standalone/node_modules/react-dom/package.json +2 -2
- package/.next/standalone/package.json +13 -10
- 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/skills-lock.json +10 -0
- package/.next/standalone/src/hooks/builtin-policies.ts +401 -25
- package/.next/standalone/src/hooks/custom-hooks-loader.ts +165 -21
- package/.next/standalone/src/hooks/handler.ts +33 -6
- package/.next/standalone/src/hooks/hook-activity-store.ts +6 -1
- package/.next/standalone/src/hooks/hooks-config.ts +47 -2
- package/.next/standalone/src/hooks/llm-client.ts +2 -2
- package/.next/standalone/src/hooks/loader-utils.ts +4 -4
- package/.next/standalone/src/hooks/manager.ts +67 -16
- package/.next/standalone/src/hooks/policy-evaluator.ts +58 -19
- package/.next/standalone/src/hooks/policy-helpers.ts +2 -2
- package/.next/standalone/vitest.config.e2e.mts +3 -0
- package/.next/standalone/vitest.config.mts +3 -0
- package/README.md +95 -49
- package/bin/failproofai.mjs +5 -0
- package/dist/cli.mjs +535 -90
- package/dist/index.js +2 -2
- package/package.json +13 -10
- 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/builtin-policies.ts +401 -25
- package/src/hooks/custom-hooks-loader.ts +165 -21
- package/src/hooks/handler.ts +33 -6
- package/src/hooks/hook-activity-store.ts +6 -1
- package/src/hooks/hooks-config.ts +47 -2
- package/src/hooks/llm-client.ts +2 -2
- package/src/hooks/loader-utils.ts +4 -4
- package/src/hooks/manager.ts +67 -16
- package/src/hooks/policy-evaluator.ts +58 -19
- package/src/hooks/policy-helpers.ts +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__02nt~6d._.js +0 -3
- package/.next/standalone/.next/static/chunks/0c_ljlxa._4lc.js +0 -6
- package/.next/standalone/.next/static/chunks/15jpradyu_531.css +0 -1
- package/.next/standalone/docs/cli-reference.md +0 -175
- package/.next/standalone/docs/custom-hooks.md +0 -261
- package/.next/standalone/docs/getting-started.md +0 -128
- package/.next/standalone/docs/introduction.md +0 -47
- /package/.next/standalone/.next/static/{WS-OQSqL1Lp1w_obXfjvl → WRbDp8A_ORPof197CezOZ}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{WS-OQSqL1Lp1w_obXfjvl → WRbDp8A_ORPof197CezOZ}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{WS-OQSqL1Lp1w_obXfjvl → WRbDp8A_ORPof197CezOZ}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: لوحة التحكم
|
|
3
|
+
description: "مراقبة جلسات الوكيل ومراجعة استدعاءات الأدوات وإدارة السياسات"
|
|
4
|
+
icon: chart-line
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
لوحة التحكم failproofai هي تطبيق ويب محلي لمراقبة جلسات وكيل الذكاء الاصطناعي الخاص بك وإدارة السياسات. اطلع على ما فعله وكلاؤك أثناء غيابك.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## بدء لوحة التحكم
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
failproofai
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
يفتح في `http://localhost:8020`.
|
|
18
|
+
|
|
19
|
+
تقرأ لوحة التحكم مباشرة من نظام الملفات - مشاريع Claude Code والملفات الإعدادات الخاصة بـ failproofai. لا يتم كتابة أي شيء إلى خدمة بعيدة.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## الصفحات
|
|
24
|
+
|
|
25
|
+
### المشاريع
|
|
26
|
+
|
|
27
|
+
يسرد جميع مشاريع Claude Code الموجودة على جهازك. يتم اكتشاف المشاريع من `~/.claude/projects/` (أو المسار المحدد بواسطة `CLAUDE_PROJECTS_PATH`).
|
|
28
|
+
|
|
29
|
+
يعرض كل مشروع:
|
|
30
|
+
- اسم المشروع (مشتق من مسار المجلد)
|
|
31
|
+
- عدد الجلسات
|
|
32
|
+
- تاريخ أحدث نشاط للجلسة
|
|
33
|
+
|
|
34
|
+
انقر على مشروع لمشاهدة جلساته.
|
|
35
|
+
|
|
36
|
+
### الجلسات
|
|
37
|
+
|
|
38
|
+
يسرد جميع الجلسات داخل مشروع. تعرض كل جلسة:
|
|
39
|
+
- معرّف الجلسة
|
|
40
|
+
- طوابع زمنية البدء والانتهاء
|
|
41
|
+
- عدد استدعاءات الأدوات
|
|
42
|
+
- عدد أنشطة الخطاف (السياسات التي تم تفعيلها)
|
|
43
|
+
|
|
44
|
+
استخدم مرشح نطاق التاريخ والبحث عن معرّف الجلسة لتضييق القائمة. يتم ترقيم الجلسات.
|
|
45
|
+
|
|
46
|
+
انقر على جلسة لفتح عارض الجلسة.
|
|
47
|
+
|
|
48
|
+
### عارض الجلسة
|
|
49
|
+
|
|
50
|
+
يجيب عارض الجلسة على السؤال الرئيسي للوكلاء المستقلين: ماذا فعل الوكيل، وهل ظل على المسار الصحيح؟ يعرض خط زمني لكل ما حدث في الجلسة:
|
|
51
|
+
|
|
52
|
+
- **الرسائل** - الردود النصية من Claude وطلبات المستخدم
|
|
53
|
+
- **استدعاءات الأدوات** - كل أداة استدعاها Claude، مع مدخلاتها ومخرجاتها
|
|
54
|
+
- **نشاط السياسة** - لكل استدعاء أداة، السياسات التي تم تفعيلها والقرار الذي أرجعته
|
|
55
|
+
|
|
56
|
+
يعرض شريط الإحصائيات في الأعلى مدة الجلسة وإجمالي استدعاءات الأدوات وملخص قرارات الخطاف (عدد السماح / الرفض / التعليمات).
|
|
57
|
+
|
|
58
|
+
يمكنك تصدير الجلسة كملف ZIP أو JSONL باستخدام زر التحميل.
|
|
59
|
+
|
|
60
|
+
### السياسات
|
|
61
|
+
|
|
62
|
+
صفحة بتبويبين لإدارة السياسات ومراجعة النشاط.
|
|
63
|
+
|
|
64
|
+
<Tabs>
|
|
65
|
+
<Tab title="تبويب السياسات">
|
|
66
|
+
- تبديل السياسات الفردية بنقرة واحدة (الكتابة إلى `~/.failproofai/policies-config.json`)
|
|
67
|
+
- قم بتوسيع سياسة لتكوين معاملات بها (بالنسبة للسياسات التي تدعم `policyParams`)
|
|
68
|
+
- تثبيت أو إزالة الخطافات لنطاق معين
|
|
69
|
+
- تعيين مسار ملف سياسات مخصص
|
|
70
|
+
</Tab>
|
|
71
|
+
<Tab title="تبويب النشاط">
|
|
72
|
+
- السجل المرقّم الكامل لكل حدث خطاف تم تفعيله عبر جميع الجلسات
|
|
73
|
+
- البحث حسب اسم السياسة أو معرّف الجلسة أو اسم الأداة أو القرار
|
|
74
|
+
- يعرض كل صف: الطابع الزمني واسم السياسة والقرار واسم الأداة ومعرّف الجلسة والسبب لقرارات الرفض / التعليمات
|
|
75
|
+
</Tab>
|
|
76
|
+
</Tabs>
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## التحديث التلقائي
|
|
81
|
+
|
|
82
|
+
تحتوي لوحة التحكم على مفتاح التحديث التلقائي في التنقل العلوي. عند تفعيله، يتم تحديث الصفحة الحالية بشكل دوري لعرض جلسات جديدة وأنشطة السياسة عند ظهورها. ضروري لمراقبة جلسات الوكيل المستقل طويلة المدى.
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## تعطيل الصفحات
|
|
87
|
+
|
|
88
|
+
إذا كنت تحتاج فقط إلى بعض أجزاء لوحة التحكم، اضبط `FAILPROOFAI_DISABLE_PAGES` على قائمة مفصولة بفواصل من أسماء الصفحات:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
FAILPROOFAI_DISABLE_PAGES=policies failproofai
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
القيم الصالحة: `policies`، `projects`.
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## المظهر
|
|
99
|
+
|
|
100
|
+
تدعم لوحة التحكم الوضع الفاتح والمظلم. بدّل عن طريق الزر في شريط التنقل. يتم تخزين التفضيل في ذاكرة التخزين المحلية للمتصفح.
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## تكوين مسار المشاريع
|
|
105
|
+
|
|
106
|
+
افتراضياً، تقرأ لوحة التحكم من دليل مشاريع Claude Code القياسي. تجاوزه للإعدادات المخصصة:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## الوصول من مضيف غير localhost
|
|
115
|
+
|
|
116
|
+
عند تشغيل لوحة التحكم في **وضع التطوير** (`npm run dev`) والوصول إليها من اسم مضيف بخلاف `localhost` - على سبيل المثال، مجال مخصص أو عنوان IP بعيد أو عنوان URL محفور - قد ترى تحذيراً مثل:
|
|
117
|
+
|
|
118
|
+
```text
|
|
119
|
+
⚠ Blocked cross-origin request to Next.js dev resource /_next/webpack-hmr from "dashboard.example.com".
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
هذا هو Next.js يحظر الوصول عبر الأصول إلى موارد HMR (إعادة تحميل الوحدة الساخنة)، وهي ميزة تطوير فقط. للسماح بمضيفك، استخدم علم `--allowed-origins`:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
npm run dev -- --allowed-origins dashboard.example.com
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
لعدة مضيفات أو عناوين IP، مرر قائمة مفصولة بفواصل:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
npm run dev -- --allowed-origins dashboard.example.com,192.168.1.5
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
يمكنك أيضاً تعيين متغير البيئة `FAILPROOFAI_ALLOWED_DEV_ORIGINS` بدلاً من ذلك:
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
FAILPROOFAI_ALLOWED_DEV_ORIGINS=dashboard.example.com npm run dev
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
<Note>
|
|
141
|
+
ينطبق هذا فقط على وضع التطوير. عند تشغيل `failproofai` (وضع الإنتاج)، لا توجد مقبس ويب HMR ولا توجد مشكلة موارد تطوير عبر الأصول.
|
|
142
|
+
</Note>
|
|
@@ -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) للحصول على الشرح الكامل.
|