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,308 @@
|
|
|
1
|
+
> **⚠️** This is an auto-generated translation. For the latest version, see the [English README](../../README.md). Community corrections welcome!
|
|
2
|
+
|
|
3
|
+
[🇺🇸 English](../../README.md) | [🇨🇳 简体中文](README.zh.md) | [🇯🇵 日本語](README.ja.md) | [🇰🇷 한국어](README.ko.md) | [🇪🇸 Español](README.es.md) | [🇧🇷 Português](README.pt-br.md) | [🇩🇪 Deutsch](README.de.md) | [🇫🇷 Français](README.fr.md) | [🇷🇺 Русский](README.ru.md) | [🇮🇳 हिन्दी](README.hi.md) | **🇹🇷 Türkçe** | [🇻🇳 Tiếng Việt](README.vi.md) | [🇮🇹 Italiano](README.it.md) | [🇸🇦 العربية](README.ar.md) | [🇮🇱 עברית](README.he.md)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
______ _ __ ____ ___ ____
|
|
9
|
+
/ ____/___ _(_) /___ _________ ____ / __/ / | / _/
|
|
10
|
+
/ /_ / __ `/ / / __ \/ ___/ __ \/ __ \/ /_ / /| | / /
|
|
11
|
+
/ __/ / /_/ / / / /_/ / / / /_/ / /_/ / __/ / ___ |_/ /
|
|
12
|
+
/_/ \__,_/_/_/ .___/_/ \____/\____/_/ /_/ |_/___/
|
|
13
|
+
/_/
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
# Failproof AI
|
|
17
|
+
|
|
18
|
+
[](https://befailproof.ai)
|
|
19
|
+
[](https://www.npmjs.com/package/failproofai)
|
|
20
|
+
[](LICENSE)
|
|
21
|
+
[](https://github.com/exospherehost/failproofai/actions)
|
|
22
|
+
[](https://join.slack.com/t/failproofai/shared_invite/zt-3v63b7k5e-O3NBHmj8X6n9gZSGDx6ggQ)
|
|
23
|
+
|
|
24
|
+
**Çeviriler**: [简体中文](docs/i18n/README.zh.md) | [日本語](docs/i18n/README.ja.md) | [한국어](docs/i18n/README.ko.md) | [Español](docs/i18n/README.es.md) | [Português](docs/i18n/README.pt-br.md) | [Deutsch](docs/i18n/README.de.md) | [Français](docs/i18n/README.fr.md) | [Русский](docs/i18n/README.ru.md) | [हिन्दी](docs/i18n/README.hi.md) | [Türkçe](docs/i18n/README.tr.md) | [Tiếng Việt](docs/i18n/README.vi.md) | [Italiano](docs/i18n/README.it.md) | [العربية](docs/i18n/README.ar.md) | [עברית](docs/i18n/README.he.md)
|
|
25
|
+
|
|
26
|
+
AI ajanlarınızı güvenilir, görev odaklı ve otonom şekilde çalışmasını sağlayan politikaları yönetmenin en kolay yolu - **Claude Code** ve **Agents SDK** için.
|
|
27
|
+
|
|
28
|
+
- **30 Yerleşik Politika** - Yaygın ajan başarısızlık modlarını hemen tespit edin. Yıkıcı komutları engelleyin, gizli bilgilerin sızmasını önleyin, ajanları proje sınırları içinde tutun, döngüleri tespit edin ve daha fazlası.
|
|
29
|
+
- **Özel Politikalar** - JavaScript'te kendi güvenilirlik kurallarınızı yazın. Kuralları zorunlu kılmak, sürüklenmeyi önlemek, işlemleri kontrol etmek veya harici sistemlerle entegre olmak için `allow`/`deny`/`instruct` API'sini kullanın.
|
|
30
|
+
- **Kolay Yapılandırma** - Herhangi bir politikayı kod yazmadan ayarlayın. İzin listelerini, korumalı dalları, eşikleri proje başına veya küresel olarak ayarlayın. Üç kapsamlı konfigürasyon otomatik olarak birleştirilir.
|
|
31
|
+
- **Ajan İzleyici** - Ajanlarınız uzakta iken ne yaptığını görün. Oturumları göz atın, her araç çağrısını inceleyin ve politikaların tam olarak nerede etkinleştirildiğini gözden geçirin.
|
|
32
|
+
|
|
33
|
+
Her şey yerel olarak çalışır - hiçbir veri makinenizi terk etmez.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Gereksinimler
|
|
38
|
+
|
|
39
|
+
- Node.js >= 20.9.0
|
|
40
|
+
- Bun >= 1.3.0 (isteğe bağlı - yalnızca geliştirme / kaynaktan oluşturma için gerekli)
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Kurulum
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npm install -g failproofai
|
|
48
|
+
# veya
|
|
49
|
+
bun add -g failproofai
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Hızlı başlangıç
|
|
55
|
+
|
|
56
|
+
### 1. Politikaları küresel olarak etkinleştirin
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
failproofai policies --install
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
`~/.claude/settings.json` dosyasına hook girişleri yazar. Claude Code artık her araç çağrısından önce ve sonra failproofai'ı çağıracaktır.
|
|
63
|
+
|
|
64
|
+
### 2. Pano başlatın
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
failproofai
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
`http://localhost:8020` açılır - oturumları göz atın, günlükleri inceleyin, politikaları yönetin.
|
|
71
|
+
|
|
72
|
+
### 3. Etkin olanları kontrol edin
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
failproofai policies
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Politika kurulumu
|
|
81
|
+
|
|
82
|
+
### Kapsamlar
|
|
83
|
+
|
|
84
|
+
| Kapsam | Komut | Nereye yazar |
|
|
85
|
+
|--------|-------|-------------|
|
|
86
|
+
| Küresel (varsayılan) | `failproofai policies --install` | `~/.claude/settings.json` |
|
|
87
|
+
| Proje | `failproofai policies --install --scope project` | `.claude/settings.json` |
|
|
88
|
+
| Yerel | `failproofai policies --install --scope local` | `.claude/settings.local.json` |
|
|
89
|
+
|
|
90
|
+
### Belirli politikaları yükleyin
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Politikaları kaldırın
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
failproofai policies --uninstall
|
|
100
|
+
# veya belirli bir kapsam için:
|
|
101
|
+
failproofai policies --uninstall --scope project
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Yapılandırma
|
|
107
|
+
|
|
108
|
+
Politika yapılandırması `~/.failproofai/policies-config.json` dosyasında (küresel) veya projenizin `.failproofai/policies-config.json` dosyasında (proje başına) bulunur.
|
|
109
|
+
|
|
110
|
+
```json
|
|
111
|
+
{
|
|
112
|
+
"enabledPolicies": [
|
|
113
|
+
"block-sudo",
|
|
114
|
+
"block-rm-rf",
|
|
115
|
+
"sanitize-api-keys",
|
|
116
|
+
"block-push-master",
|
|
117
|
+
"block-env-files",
|
|
118
|
+
"block-read-outside-cwd"
|
|
119
|
+
],
|
|
120
|
+
"policyParams": {
|
|
121
|
+
"block-sudo": {
|
|
122
|
+
"allowPatterns": ["sudo systemctl status", "sudo journalctl"],
|
|
123
|
+
"hint": "sudo olmadan doğrudan apt-get kullanın."
|
|
124
|
+
},
|
|
125
|
+
"block-push-master": {
|
|
126
|
+
"protectedBranches": ["main", "release", "prod"],
|
|
127
|
+
"hint": "Bunun yerine yeni bir dal oluşturmayı deneyin."
|
|
128
|
+
},
|
|
129
|
+
"sanitize-api-keys": {
|
|
130
|
+
"additionalPatterns": [
|
|
131
|
+
{ "regex": "myco_[A-Za-z0-9]{32}", "label": "MyCo API anahtarı" }
|
|
132
|
+
]
|
|
133
|
+
},
|
|
134
|
+
"warn-large-file-write": {
|
|
135
|
+
"thresholdKb": 512
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**Üç konfigürasyon kapsamı** otomatik olarak birleştirilir (proje → yerel → küresel). Tam birleştirme kuralları için bkz. [docs/configuration.mdx](docs/configuration.mdx).
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Yerleşik politikalar
|
|
146
|
+
|
|
147
|
+
| Politika | Açıklama | Yapılandırılabilir |
|
|
148
|
+
|----------|----------|:---:|
|
|
149
|
+
| `block-sudo` | Ajanları ayrıcalıklı sistem komutlarını çalıştırmaktan engelle | `allowPatterns` |
|
|
150
|
+
| `block-rm-rf` | Kazara özyinelemeli dosya silmeyi engelle | `allowPaths` |
|
|
151
|
+
| `block-curl-pipe-sh` | Ajanları güvenilmeyen betikleri kabuğa yöneltmekten engelle | |
|
|
152
|
+
| `block-failproofai-commands` | Kendi kaldırılmasını engelle | |
|
|
153
|
+
| `sanitize-jwt` | JWT belirteçlerinin ajan bağlamına sızmasını durdur | |
|
|
154
|
+
| `sanitize-api-keys` | API anahtarlarının ajan bağlamına sızmasını durdur | `additionalPatterns` |
|
|
155
|
+
| `sanitize-connection-strings` | Veritabanı kimlik bilgilerinin ajan bağlamına sızmasını durdur | |
|
|
156
|
+
| `sanitize-private-key-content` | Çıktıdan PEM özel anahtar bloklarını gizle | |
|
|
157
|
+
| `sanitize-bearer-tokens` | Authorization Bearer belirteçlerini çıktıdan gizle | |
|
|
158
|
+
| `block-env-files` | Ajanları .env dosyalarını okumaktan engelle | |
|
|
159
|
+
| `protect-env-vars` | Ajanları ortam değişkenlerini yazdırmaktan engelle | |
|
|
160
|
+
| `block-read-outside-cwd` | Ajanları proje sınırları içinde tut | `allowPaths` |
|
|
161
|
+
| `block-secrets-write` | Özel anahtar ve sertifika dosyalarına yazmaları engelle | `additionalPatterns` |
|
|
162
|
+
| `block-push-master` | main/master'a kazara yapılan gönderişleri engelle | `protectedBranches` |
|
|
163
|
+
| `block-work-on-main` | Ajanları korumalı dallardan uzak tut | `protectedBranches` |
|
|
164
|
+
| `block-force-push` | `git push --force` komutunu engelle | |
|
|
165
|
+
| `warn-git-amend` | Ajanları commit'leri düzenlemeden önce uyar | |
|
|
166
|
+
| `warn-git-stash-drop` | Ajanları stash'leri bırakmadan önce uyar | |
|
|
167
|
+
| `warn-all-files-staged` | Kazara `git add -A` komutunu yakala | |
|
|
168
|
+
| `warn-destructive-sql` | DROP/DELETE SQL'i yürütülmeden önce yakala | |
|
|
169
|
+
| `warn-schema-alteration` | ALTER TABLE'ı yürütülmeden önce yakala | |
|
|
170
|
+
| `warn-large-file-write` | Beklenmedik şekilde büyük dosya yazmaları yakala | `thresholdKb` |
|
|
171
|
+
| `warn-package-publish` | Kazara `npm publish` komutunu yakala | |
|
|
172
|
+
| `warn-background-process` | Istenmeyen arka plan işlemi başlatmalarını yakala | |
|
|
173
|
+
| `warn-global-package-install` | Istenmeyen küresel paket yüklemelerini yakala | |
|
|
174
|
+
| …ve daha fazlası | | |
|
|
175
|
+
|
|
176
|
+
Tam politika ayrıntıları ve parametre referansı: [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Özel politikalar
|
|
181
|
+
|
|
182
|
+
Ajanlarınızı güvenilir ve görev odaklı tutmak için kendi politikalarınızı yazın:
|
|
183
|
+
|
|
184
|
+
```js
|
|
185
|
+
import { customPolicies, allow, deny, instruct } from "failproofai";
|
|
186
|
+
|
|
187
|
+
customPolicies.add({
|
|
188
|
+
name: "no-production-writes",
|
|
189
|
+
description: "'production' içeren yollara yazmaları engelle",
|
|
190
|
+
match: { events: ["PreToolUse"] },
|
|
191
|
+
fn: async (ctx) => {
|
|
192
|
+
if (!["Write", "Edit"].includes(ctx.toolName ?? "")) return allow();
|
|
193
|
+
const path = ctx.toolInput?.file_path ?? "";
|
|
194
|
+
if (path.includes("production")) return deny("Production yollarına yazma işlemleri engellendi");
|
|
195
|
+
return allow();
|
|
196
|
+
},
|
|
197
|
+
});
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
Şu komutla kurun:
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
failproofai policies --install --custom ./my-policies.js
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Karar yardımcıları
|
|
207
|
+
|
|
208
|
+
| İşlev | Etki |
|
|
209
|
+
|-------|------|
|
|
210
|
+
| `allow()` | İşleme izin ver |
|
|
211
|
+
| `allow(message)` | İzin ver ve bilgilendirici bağlam Claude'a gönder *(beta)* |
|
|
212
|
+
| `deny(message)` | İşlemi engelle; ileti Claude'a gösterilir |
|
|
213
|
+
| `instruct(message)` | Claude'un istemine bağlam ekle; engelleme yapmaz |
|
|
214
|
+
|
|
215
|
+
### Bağlam nesnesi (`ctx`)
|
|
216
|
+
|
|
217
|
+
| Alan | Tür | Açıklama |
|
|
218
|
+
|------|-----|---------|
|
|
219
|
+
| `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
|
|
220
|
+
| `toolName` | `string` | Çağrılan araç (`"Bash"`, `"Write"`, `"Read"`, …) |
|
|
221
|
+
| `toolInput` | `object` | Aracın giriş parametreleri |
|
|
222
|
+
| `payload` | `object` | Tam ham olay yükü |
|
|
223
|
+
| `session.cwd` | `string` | Claude Code oturumunun çalışma dizini |
|
|
224
|
+
| `session.sessionId` | `string` | Oturum tanımlayıcısı |
|
|
225
|
+
| `session.transcriptPath` | `string` | Oturum transkript dosyasının yolu |
|
|
226
|
+
|
|
227
|
+
Özel hooklar geçişli yerel içe aktarmaları, async/await'i ve `process.env` erişimini destekler. Hatalar açık başarısızlık modunda yapılır (günlüklenir: `~/.failproofai/hook.log`, yerleşik politikalar devam eder). Tam rehber için bkz. [docs/custom-hooks.mdx](docs/custom-hooks.mdx).
|
|
228
|
+
|
|
229
|
+
### Kural tabanlı politikalar (v0.0.2-beta.7+)
|
|
230
|
+
|
|
231
|
+
`*policies.{js,mjs,ts}` dosyalarını `.failproofai/policies/` klasörüne bırakın ve otomatik olarak yüklenir — `--custom` bayrağı veya yapılandırma değişiklikleri gerekmez. Git hook'ları gibi çalışır: bir dosya bırakın, her şey çalışır.
|
|
232
|
+
|
|
233
|
+
```text
|
|
234
|
+
# Proje seviyesi — git'e yürütülen, takım ile paylaşılır
|
|
235
|
+
.failproofai/policies/security-policies.mjs
|
|
236
|
+
.failproofai/policies/workflow-policies.mjs
|
|
237
|
+
|
|
238
|
+
# Kullanıcı seviyesi — kişisel, tüm projelere uygulanır
|
|
239
|
+
~/.failproofai/policies/my-policies.mjs
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
Her iki seviye de yüklenir (birleşim). Dosyalar her dizin içinde alfabetik olarak yüklenir. Sırayı kontrol etmek için `01-`, `02-`, vb. ile ön ek ekleyin. Hazır kullanılabilir örnekler için bkz. [examples/convention-policies/](examples/convention-policies/).
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## Telemetri
|
|
247
|
+
|
|
248
|
+
Failproof AI, özellik kullanımını anlamak için PostHog aracılığıyla anonim kullanım telemetrisi toplar. Oturum içeriği, dosya adları, araç girdileri veya kişisel bilgiler hiçbir zaman gönderilmez.
|
|
249
|
+
|
|
250
|
+
Devre dışı bırakmak için:
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## Belgeler
|
|
259
|
+
|
|
260
|
+
| Rehber | Açıklama |
|
|
261
|
+
|--------|----------|
|
|
262
|
+
| [Başlangıç](docs/getting-started.mdx) | Kurulum ve ilk adımlar |
|
|
263
|
+
| [Yerleşik Politikalar](docs/built-in-policies.mdx) | 30 yerleşik politikanın tümü parametrelerle birlikte |
|
|
264
|
+
| [Özel Politikalar](docs/custom-policies.mdx) | Kendi politikalarınızı yazın |
|
|
265
|
+
| [Yapılandırma](docs/configuration.mdx) | Konfigürasyon dosyası biçimi ve kapsam birleştirme |
|
|
266
|
+
| [Pano](docs/dashboard.mdx) | Oturumları izleyin ve politika etkinliğini gözden geçirin |
|
|
267
|
+
| [Mimari](docs/architecture.mdx) | Hook sistemi nasıl çalışır |
|
|
268
|
+
| [Test Etme](docs/testing.mdx) | Testleri çalıştırın ve yenilerini yazın |
|
|
269
|
+
|
|
270
|
+
### Belgeleri yerel olarak çalıştırın
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
docker build -f Dockerfile.docs -t failproofai-docs .
|
|
274
|
+
docker run --rm -p 3000:3000 failproofai-docs
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
Mintlify belgeler sitesini `http://localhost:3000` adresinde açar. Belgeler dizinini bağlarsanız kapsayıcı değişiklikleri izler:
|
|
278
|
+
|
|
279
|
+
```bash
|
|
280
|
+
docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## failproofai katkıda bulunanları için not
|
|
286
|
+
|
|
287
|
+
Bu deponun `.claude/settings.json` dosyası standart `npx -y failproofai` komutu yerine `bun ./bin/failproofai.mjs --hook <EventType>` komutunu kullanır. Bunun nedeni, failproofai projesi içinde `npx -y failproofai` çalıştırmanın kendi kendine referans çatışması oluşturmasıdır.
|
|
288
|
+
|
|
289
|
+
Diğer tüm depolar için önerilen yaklaşım `npx -y failproofai` komutudur ve şu şekilde yüklenir:
|
|
290
|
+
|
|
291
|
+
```bash
|
|
292
|
+
failproofai policies --install --scope project
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
## Katkıda bulunun
|
|
296
|
+
|
|
297
|
+
Bkz. [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
## Lisans
|
|
302
|
+
|
|
303
|
+
Bkz. [LICENSE](LICENSE).
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
**ExosphereHost: Ajanlarınız için Güvenilirlik Araştırması Laboratuvarı** tarafından inşa edilmiş ve sürdürülmektedir. Ajanlarımız, yazılımımız ve uzmanlığımız aracılığıyla kuruluşların ve startupların AI ajanlarının güvenilirliğini artırmasına yardımcı oluyoruz. [exosphere.host](https://exosphere.host) adresinde daha fazla bilgi edinin.
|
|
308
|
+
```
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
> **⚠️** This is an auto-generated translation. For the latest version, see the [English README](../../README.md). Community corrections welcome!
|
|
2
|
+
|
|
3
|
+
[🇺🇸 English](../../README.md) | [🇨🇳 简体中文](README.zh.md) | [🇯🇵 日本語](README.ja.md) | [🇰🇷 한국어](README.ko.md) | [🇪🇸 Español](README.es.md) | [🇧🇷 Português](README.pt-br.md) | [🇩🇪 Deutsch](README.de.md) | [🇫🇷 Français](README.fr.md) | [🇷🇺 Русский](README.ru.md) | [🇮🇳 हिन्दी](README.hi.md) | [🇹🇷 Türkçe](README.tr.md) | **🇻🇳 Tiếng Việt** | [🇮🇹 Italiano](README.it.md) | [🇸🇦 العربية](README.ar.md) | [🇮🇱 עברית](README.he.md)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
______ _ __ ____ ___ ____
|
|
9
|
+
/ ____/___ _(_) /___ _________ ____ / __/ / | / _/
|
|
10
|
+
/ /_ / __ `/ / / __ \/ ___/ __ \/ __ \/ /_ / /| | / /
|
|
11
|
+
/ __/ / /_/ / / / /_/ / / / /_/ / /_/ / __/ / ___ |_/ /
|
|
12
|
+
/_/ \__,_/_/_/ .___/_/ \____/\____/_/ /_/ |_/___/
|
|
13
|
+
/_/
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
# Failproof AI
|
|
17
|
+
|
|
18
|
+
[](https://befailproof.ai)
|
|
19
|
+
[](https://www.npmjs.com/package/failproofai)
|
|
20
|
+
[](LICENSE)
|
|
21
|
+
[](https://github.com/exospherehost/failproofai/actions)
|
|
22
|
+
[](https://join.slack.com/t/failproofai/shared_invite/zt-3v63b7k5e-O3NBHmj8X6n9gZSGDx6ggQ)
|
|
23
|
+
|
|
24
|
+
**Dịch**: [简体中文](docs/i18n/README.zh.md) | [日本語](docs/i18n/README.ja.md) | [한국어](docs/i18n/README.ko.md) | [Español](docs/i18n/README.es.md) | [Português](docs/i18n/README.pt-br.md) | [Deutsch](docs/i18n/README.de.md) | [Français](docs/i18n/README.fr.md) | [Русский](docs/i18n/README.ru.md) | [हिन्दी](docs/i18n/README.hi.md) | [Türkçe](docs/i18n/README.tr.md) | [Tiếng Việt](docs/i18n/README.vi.md) | [Italiano](docs/i18n/README.it.md) | [العربية](docs/i18n/README.ar.md) | [עברית](docs/i18n/README.he.md)
|
|
25
|
+
|
|
26
|
+
Cách dễ nhất để quản lý các chính sách giữ cho các agent AI của bạn đáng tin cậy, tập trung vào mục tiêu và chạy tự động - cho **Claude Code** & **Agents SDK**.
|
|
27
|
+
|
|
28
|
+
- **30 Chính sách tích hợp sẵn** - Bắt các lỗi phổ biến của agent ngay từ đầu. Chặn các lệnh phá hoại, ngăn chặn rò rỉ bí mật, giữ các agent trong ranh giới dự án, phát hiện vòng lặp và nhiều hơn nữa.
|
|
29
|
+
- **Chính sách tùy chỉnh** - Viết các quy tắc độ tin cậy của riêng bạn bằng JavaScript. Sử dụng API `allow`/`deny`/`instruct` để thực thi các quy ước, ngăn chặn sự trôi dạt, kiểm soát các phép toán hoặc tích hợp với các hệ thống bên ngoài.
|
|
30
|
+
- **Cấu hình dễ dàng** - Điều chỉnh bất kỳ chính sách nào mà không cần viết mã. Đặt danh sách cho phép, nhánh được bảo vệ, ngưỡng cho từng dự án hoặc toàn cầu. Hợp nhất cấu hình ba phạm vi tự động.
|
|
31
|
+
- **Agent Monitor** - Xem những gì các agent của bạn đã làm khi bạn vắng mặt. Duyệt các phiên, kiểm tra từng lệnh gọi công cụ và xem xét chính xác nơi các chính sách được kích hoạt.
|
|
32
|
+
|
|
33
|
+
Mọi thứ chạy cục bộ - không có dữ liệu nào rời khỏi máy tính của bạn.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Yêu cầu
|
|
38
|
+
|
|
39
|
+
- Node.js >= 20.9.0
|
|
40
|
+
- Bun >= 1.3.0 (tùy chọn - chỉ cần thiết để phát triển / xây dựng từ nguồn)
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Cài đặt
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npm install -g failproofai
|
|
48
|
+
# hoặc
|
|
49
|
+
bun add -g failproofai
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Bắt đầu nhanh
|
|
55
|
+
|
|
56
|
+
### 1. Bật chính sách trên toàn cầu
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
failproofai policies --install
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Ghi các mục hook vào `~/.claude/settings.json`. Claude Code sẽ gọi failproofai trước và sau mỗi lệnh gọi công cụ.
|
|
63
|
+
|
|
64
|
+
### 2. Khởi chạy bảng điều khiển
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
failproofai
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Mở `http://localhost:8020` - duyệt các phiên, kiểm tra nhật ký, quản lý chính sách.
|
|
71
|
+
|
|
72
|
+
### 3. Kiểm tra những gì đang hoạt động
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
failproofai policies
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Cài đặt chính sách
|
|
81
|
+
|
|
82
|
+
### Phạm vi
|
|
83
|
+
|
|
84
|
+
| Phạm vi | Lệnh | Nơi nó ghi |
|
|
85
|
+
|--------|------|-----------|
|
|
86
|
+
| Toàn cầu (mặc định) | `failproofai policies --install` | `~/.claude/settings.json` |
|
|
87
|
+
| Dự án | `failproofai policies --install --scope project` | `.claude/settings.json` |
|
|
88
|
+
| Cục bộ | `failproofai policies --install --scope local` | `.claude/settings.local.json` |
|
|
89
|
+
|
|
90
|
+
### Cài đặt chính sách cụ thể
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Gỡ bỏ chính sách
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
failproofai policies --uninstall
|
|
100
|
+
# hoặc cho một phạm vi cụ thể:
|
|
101
|
+
failproofai policies --uninstall --scope project
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Cấu hình
|
|
107
|
+
|
|
108
|
+
Cấu hình chính sách nằm trong `~/.failproofai/policies-config.json` (toàn cầu) hoặc `.failproofai/policies-config.json` trong dự án của bạn (mỗi dự án).
|
|
109
|
+
|
|
110
|
+
```json
|
|
111
|
+
{
|
|
112
|
+
"enabledPolicies": [
|
|
113
|
+
"block-sudo",
|
|
114
|
+
"block-rm-rf",
|
|
115
|
+
"sanitize-api-keys",
|
|
116
|
+
"block-push-master",
|
|
117
|
+
"block-env-files",
|
|
118
|
+
"block-read-outside-cwd"
|
|
119
|
+
],
|
|
120
|
+
"policyParams": {
|
|
121
|
+
"block-sudo": {
|
|
122
|
+
"allowPatterns": ["sudo systemctl status", "sudo journalctl"],
|
|
123
|
+
"hint": "Sử dụng apt-get trực tiếp mà không cần sudo."
|
|
124
|
+
},
|
|
125
|
+
"block-push-master": {
|
|
126
|
+
"protectedBranches": ["main", "release", "prod"],
|
|
127
|
+
"hint": "Hãy thử tạo một nhánh mới thay vào đó."
|
|
128
|
+
},
|
|
129
|
+
"sanitize-api-keys": {
|
|
130
|
+
"additionalPatterns": [
|
|
131
|
+
{ "regex": "myco_[A-Za-z0-9]{32}", "label": "Khóa API MyCo" }
|
|
132
|
+
]
|
|
133
|
+
},
|
|
134
|
+
"warn-large-file-write": {
|
|
135
|
+
"thresholdKb": 512
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**Ba phạm vi cấu hình** được hợp nhất tự động (dự án → cục bộ → toàn cầu). Xem [docs/configuration.mdx](docs/configuration.mdx) để biết các quy tắc hợp nhất đầy đủ.
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Chính sách tích hợp sẵn
|
|
146
|
+
|
|
147
|
+
| Chính sách | Mô tả | Có thể cấu hình |
|
|
148
|
+
|-----------|--------|:---:|
|
|
149
|
+
| `block-sudo` | Ngăn chặn các agent chạy các lệnh hệ thống có đặc quyền | `allowPatterns` |
|
|
150
|
+
| `block-rm-rf` | Ngăn chặn xóa tệp đệ quy vô tình | `allowPaths` |
|
|
151
|
+
| `block-curl-pipe-sh` | Ngăn chặn các agent đưa các tập lệnh không đáng tin cậy vào shell | |
|
|
152
|
+
| `block-failproofai-commands` | Ngăn chặn tự dỡ cài đặt | |
|
|
153
|
+
| `sanitize-jwt` | Dừng các mã thông báo JWT bị rò rỉ vào ngữ cảnh agent | |
|
|
154
|
+
| `sanitize-api-keys` | Dừng các khóa API bị rò rỉ vào ngữ cảnh agent | `additionalPatterns` |
|
|
155
|
+
| `sanitize-connection-strings` | Dừng thông tin xác thực cơ sở dữ liệu bị rò rỉ vào ngữ cảnh agent | |
|
|
156
|
+
| `sanitize-private-key-content` | Che đi các khối khóa riêng PEM khỏi đầu ra | |
|
|
157
|
+
| `sanitize-bearer-tokens` | Che đi các mã thông báo Bearer Authorization khỏi đầu ra | |
|
|
158
|
+
| `block-env-files` | Ngăn chặn các agent đọc tệp .env | |
|
|
159
|
+
| `protect-env-vars` | Ngăn chặn các agent in các biến môi trường | |
|
|
160
|
+
| `block-read-outside-cwd` | Giữ các agent trong ranh giới dự án | `allowPaths` |
|
|
161
|
+
| `block-secrets-write` | Ngăn chặn ghi vào các tệp khóa riêng và chứng chỉ | `additionalPatterns` |
|
|
162
|
+
| `block-push-master` | Ngăn chặn đẩy vô tình tới main/master | `protectedBranches` |
|
|
163
|
+
| `block-work-on-main` | Giữ các agent không ở các nhánh được bảo vệ | `protectedBranches` |
|
|
164
|
+
| `block-force-push` | Ngăn chặn `git push --force` | |
|
|
165
|
+
| `warn-git-amend` | Nhắc nhở các agent trước khi sửa đổi commit | |
|
|
166
|
+
| `warn-git-stash-drop` | Nhắc nhở các agent trước khi xóa stashes | |
|
|
167
|
+
| `warn-all-files-staged` | Bắt `git add -A` vô tình | |
|
|
168
|
+
| `warn-destructive-sql` | Bắt DROP/DELETE SQL trước khi thực thi | |
|
|
169
|
+
| `warn-schema-alteration` | Bắt ALTER TABLE trước khi thực thi | |
|
|
170
|
+
| `warn-large-file-write` | Bắt ghi tệp lớn bất ngờ | `thresholdKb` |
|
|
171
|
+
| `warn-package-publish` | Bắt `npm publish` vô tình | |
|
|
172
|
+
| `warn-background-process` | Bắt khởi chạy quá trình nền không dự định | |
|
|
173
|
+
| `warn-global-package-install` | Bắt cài đặt gói toàn cầu không dự định | |
|
|
174
|
+
| …và nhiều hơn nữa | | |
|
|
175
|
+
|
|
176
|
+
Chi tiết chính sách đầy đủ và tham chiếu tham số: [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Chính sách tùy chỉnh
|
|
181
|
+
|
|
182
|
+
Viết chính sách của riêng bạn để giữ cho các agent đáng tin cậy và tập trung vào mục tiêu:
|
|
183
|
+
|
|
184
|
+
```js
|
|
185
|
+
import { customPolicies, allow, deny, instruct } from "failproofai";
|
|
186
|
+
|
|
187
|
+
customPolicies.add({
|
|
188
|
+
name: "no-production-writes",
|
|
189
|
+
description: "Chặn ghi vào các đường dẫn chứa 'production'",
|
|
190
|
+
match: { events: ["PreToolUse"] },
|
|
191
|
+
fn: async (ctx) => {
|
|
192
|
+
if (!["Write", "Edit"].includes(ctx.toolName ?? "")) return allow();
|
|
193
|
+
const path = ctx.toolInput?.file_path ?? "";
|
|
194
|
+
if (path.includes("production")) return deny("Ghi vào các đường dẫn production bị chặn");
|
|
195
|
+
return allow();
|
|
196
|
+
},
|
|
197
|
+
});
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
Cài đặt với:
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
failproofai policies --install --custom ./my-policies.js
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Trợ giúp quyết định
|
|
207
|
+
|
|
208
|
+
| Hàm | Hiệu ứng |
|
|
209
|
+
|-----|---------|
|
|
210
|
+
| `allow()` | Cho phép thao tác |
|
|
211
|
+
| `allow(message)` | Cho phép và gửi ngữ cảnh thông tin tới Claude *(beta)* |
|
|
212
|
+
| `deny(message)` | Chặn thao tác; thông báo được hiển thị tới Claude |
|
|
213
|
+
| `instruct(message)` | Thêm ngữ cảnh vào yêu cầu của Claude; không chặn |
|
|
214
|
+
|
|
215
|
+
### Đối tượng ngữ cảnh (`ctx`)
|
|
216
|
+
|
|
217
|
+
| Trường | Loại | Mô tả |
|
|
218
|
+
|-------|------|--------|
|
|
219
|
+
| `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
|
|
220
|
+
| `toolName` | `string` | Công cụ được gọi (`"Bash"`, `"Write"`, `"Read"`, …) |
|
|
221
|
+
| `toolInput` | `object` | Tham số đầu vào của công cụ |
|
|
222
|
+
| `payload` | `object` | Tải trọng sự kiện thô đầy đủ |
|
|
223
|
+
| `session.cwd` | `string` | Thư mục làm việc của phiên Claude Code |
|
|
224
|
+
| `session.sessionId` | `string` | Mã định danh phiên |
|
|
225
|
+
| `session.transcriptPath` | `string` | Đường dẫn đến tệp phiên ghi âm |
|
|
226
|
+
|
|
227
|
+
Các hook tùy chỉnh hỗ trợ nhập cục bộ chuyển tiếp, async/await và truy cập `process.env`. Các lỗi là fail-open (được ghi vào `~/.failproofai/hook.log`, các chính sách tích hợp sẵn tiếp tục). Xem [docs/custom-hooks.mdx](docs/custom-hooks.mdx) để biết hướng dẫn đầy đủ.
|
|
228
|
+
|
|
229
|
+
### Chính sách dựa trên quy ước (v0.0.2-beta.7+)
|
|
230
|
+
|
|
231
|
+
Thả các tệp `*policies.{js,mjs,ts}` vào `.failproofai/policies/` và chúng sẽ được tải tự động — không cần cờ `--custom` hoặc thay đổi cấu hình. Hoạt động giống như git hooks: thả một tệp, nó hoạt động.
|
|
232
|
+
|
|
233
|
+
```text
|
|
234
|
+
# Cấp độ dự án — được commit vào git, chia sẻ với nhóm
|
|
235
|
+
.failproofai/policies/security-policies.mjs
|
|
236
|
+
.failproofai/policies/workflow-policies.mjs
|
|
237
|
+
|
|
238
|
+
# Cấp độ người dùng — cá nhân, áp dụng cho tất cả các dự án
|
|
239
|
+
~/.failproofai/policies/my-policies.mjs
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
Cả hai cấp độ đều tải (union). Tệp được tải theo thứ tự bảng chữ cái trong mỗi thư mục. Tiền tố với `01-`, `02-`, v.v. để kiểm soát thứ tự. Xem [examples/convention-policies/](examples/convention-policies/) để biết các ví dụ sẵn sàng sử dụng.
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## Đo lường hiệu suất
|
|
247
|
+
|
|
248
|
+
Failproof AI thu thập telemetry sử dụng ẩn danh thông qua PostHog để hiểu cách sử dụng tính năng. Không bao giờ gửi nội dung phiên, tên tệp, đầu vào công cụ hoặc thông tin cá nhân.
|
|
249
|
+
|
|
250
|
+
Tắt nó:
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## Tài liệu
|
|
259
|
+
|
|
260
|
+
| Hướng dẫn | Mô tả |
|
|
261
|
+
|---------|--------|
|
|
262
|
+
| [Getting Started](docs/getting-started.mdx) | Cài đặt và các bước đầu tiên |
|
|
263
|
+
| [Built-in Policies](docs/built-in-policies.mdx) | Tất cả 30 chính sách tích hợp sẵn với các tham số |
|
|
264
|
+
| [Custom Policies](docs/custom-policies.mdx) | Viết chính sách của riêng bạn |
|
|
265
|
+
| [Configuration](docs/configuration.mdx) | Định dạng tệp cấu hình và hợp nhất phạm vi |
|
|
266
|
+
| [Dashboard](docs/dashboard.mdx) | Giám sát các phiên và xem xét hoạt động chính sách |
|
|
267
|
+
| [Architecture](docs/architecture.mdx) | Cách hệ thống hook hoạt động |
|
|
268
|
+
| [Testing](docs/testing.mdx) | Chạy các bài kiểm tra và viết bài kiểm tra mới |
|
|
269
|
+
|
|
270
|
+
### Chạy tài liệu cục bộ
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
docker build -f Dockerfile.docs -t failproofai-docs .
|
|
274
|
+
docker run --rm -p 3000:3000 failproofai-docs
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
Mở trang Mintlify docs tại `http://localhost:3000`. Container theo dõi những thay đổi nếu bạn gắn thư mục tài liệu:
|
|
278
|
+
|
|
279
|
+
```bash
|
|
280
|
+
docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## Ghi chú cho những người đóng góp failproofai
|
|
286
|
+
|
|
287
|
+
Tệp `.claude/settings.json` của kho này sử dụng `bun ./bin/failproofai.mjs --hook <EventType>` thay vì lệnh `npx -y failproofai` tiêu chuẩn. Điều này là vì chạy `npx -y failproofai` bên trong chính dự án failproofai tạo ra xung đột tự tham chiếu.
|
|
288
|
+
|
|
289
|
+
Đối với tất cả các kho khác, phương pháp được khuyến nghị là `npx -y failproofai`, được cài đặt thông qua:
|
|
290
|
+
|
|
291
|
+
```bash
|
|
292
|
+
failproofai policies --install --scope project
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
## Đóng góp
|
|
296
|
+
|
|
297
|
+
Xem [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
## Giấy phép
|
|
302
|
+
|
|
303
|
+
Xem [LICENSE](LICENSE).
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
Được xây dựng và duy trì bởi **ExosphereHost: Phòng thí nghiệm nghiên cứu độ tin cậy cho các Agent của bạn**. Chúng tôi giúp các doanh nghiệp và các công ty khởi nghiệp cải thiện độ tin cậy của các agent AI của họ thông qua các agent, phần mềm và chuyên môn của chúng tôi. Tìm hiểu thêm tại [exosphere.host](https://exosphere.host).
|
|
308
|
+
```
|