failproofai 0.0.2 → 0.0.3
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]__12kr5~_._.js → [root-of-the-server]__03kiqd5._.js} +2 -2
- 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]__0qo8503._.js → [root-of-the-server]__0bo8s~-._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__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/_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/{0x-625~1vx1lu.js → 02t9.s735hqyq.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0ov60i6md~37t.js → 03oepxbqx6o8~.js} +2 -2
- package/.next/standalone/.next/static/chunks/{031pa5~qfzt~_.js → 09e7drilkf1sn.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0y~0creqvl5wx.js → 0cwft44dh9bww.js} +1 -1
- package/.next/standalone/.next/static/chunks/{06og.7e9nkpjh.js → 0e2uz2g026ckb.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 → 0h5kbvg~.xf.v.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0_4y_t03jn2nq.js → 0od..umlku4bb.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0cvffh-pbsv5u.js → 0xbwzy4dl87-0.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0c_ljlxa._4lc.js → 18cl6wups7ouq.js} +2 -2
- package/.next/standalone/.next/static/chunks/{turbopack-0uc5y~g6h.n7-.js → turbopack-0r26pc8h0y_-e.js} +1 -1
- package/.next/standalone/CHANGELOG.md +103 -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 +539 -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 +566 -0
- package/.next/standalone/docs/ar/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/ar/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/ar/cli/hook.mdx +31 -0
- package/.next/standalone/docs/ar/cli/install-policies.mdx +49 -0
- package/.next/standalone/docs/ar/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/ar/cli/remove-policies.mdx +45 -0
- package/.next/standalone/docs/ar/cli/version.mdx +13 -0
- package/.next/standalone/docs/ar/configuration.mdx +223 -0
- package/.next/standalone/docs/ar/custom-policies.mdx +359 -0
- package/.next/standalone/docs/ar/dashboard.mdx +142 -0
- package/.next/standalone/docs/ar/examples.mdx +254 -0
- package/.next/standalone/docs/ar/for-agents.mdx +39 -0
- package/.next/standalone/docs/ar/getting-started.mdx +134 -0
- package/.next/standalone/docs/ar/introduction.mdx +58 -0
- package/.next/standalone/docs/ar/package-aliases.mdx +82 -0
- package/.next/standalone/docs/ar/testing.mdx +261 -0
- package/.next/standalone/docs/{architecture.md → architecture.mdx} +40 -23
- package/.next/standalone/docs/{built-in-policies.md → built-in-policies.mdx} +151 -13
- 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 +48 -0
- package/.next/standalone/docs/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/cli/remove-policies.mdx +44 -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 +564 -0
- package/.next/standalone/docs/de/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/de/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/de/cli/hook.mdx +30 -0
- package/.next/standalone/docs/de/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/de/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/de/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs/de/cli/version.mdx +12 -0
- package/.next/standalone/docs/de/configuration.mdx +222 -0
- package/.next/standalone/docs/de/custom-policies.mdx +357 -0
- package/.next/standalone/docs/de/dashboard.mdx +142 -0
- package/.next/standalone/docs/de/examples.mdx +253 -0
- package/.next/standalone/docs/de/for-agents.mdx +38 -0
- package/.next/standalone/docs/de/getting-started.mdx +134 -0
- package/.next/standalone/docs/de/introduction.mdx +57 -0
- package/.next/standalone/docs/de/package-aliases.mdx +82 -0
- package/.next/standalone/docs/de/testing.mdx +260 -0
- package/.next/standalone/docs/docs.json +938 -24
- package/.next/standalone/docs/es/architecture.mdx +332 -0
- package/.next/standalone/docs/es/built-in-policies.mdx +564 -0
- package/.next/standalone/docs/es/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/es/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/es/cli/hook.mdx +30 -0
- package/.next/standalone/docs/es/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/es/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/es/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs/es/cli/version.mdx +12 -0
- package/.next/standalone/docs/es/configuration.mdx +222 -0
- package/.next/standalone/docs/es/custom-policies.mdx +357 -0
- package/.next/standalone/docs/es/dashboard.mdx +142 -0
- package/.next/standalone/docs/es/examples.mdx +253 -0
- package/.next/standalone/docs/es/for-agents.mdx +38 -0
- package/.next/standalone/docs/es/getting-started.mdx +134 -0
- package/.next/standalone/docs/es/introduction.mdx +57 -0
- package/.next/standalone/docs/es/package-aliases.mdx +82 -0
- package/.next/standalone/docs/es/testing.mdx +260 -0
- package/.next/standalone/docs/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 +564 -0
- package/.next/standalone/docs/fr/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/fr/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/fr/cli/hook.mdx +30 -0
- package/.next/standalone/docs/fr/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/fr/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/fr/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs/fr/cli/version.mdx +12 -0
- package/.next/standalone/docs/fr/configuration.mdx +222 -0
- package/.next/standalone/docs/fr/custom-policies.mdx +357 -0
- package/.next/standalone/docs/fr/dashboard.mdx +142 -0
- package/.next/standalone/docs/fr/examples.mdx +253 -0
- package/.next/standalone/docs/fr/for-agents.mdx +38 -0
- package/.next/standalone/docs/fr/getting-started.mdx +134 -0
- package/.next/standalone/docs/fr/introduction.mdx +57 -0
- package/.next/standalone/docs/fr/package-aliases.mdx +82 -0
- package/.next/standalone/docs/fr/testing.mdx +260 -0
- package/.next/standalone/docs/getting-started.mdx +134 -0
- package/.next/standalone/docs/he/architecture.mdx +333 -0
- package/.next/standalone/docs/he/built-in-policies.mdx +564 -0
- package/.next/standalone/docs/he/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/he/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/he/cli/hook.mdx +30 -0
- package/.next/standalone/docs/he/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/he/cli/list-policies.mdx +32 -0
- package/.next/standalone/docs/he/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs/he/cli/version.mdx +12 -0
- package/.next/standalone/docs/he/configuration.mdx +222 -0
- package/.next/standalone/docs/he/custom-policies.mdx +357 -0
- package/.next/standalone/docs/he/dashboard.mdx +142 -0
- package/.next/standalone/docs/he/examples.mdx +253 -0
- package/.next/standalone/docs/he/for-agents.mdx +38 -0
- package/.next/standalone/docs/he/getting-started.mdx +135 -0
- package/.next/standalone/docs/he/introduction.mdx +57 -0
- package/.next/standalone/docs/he/package-aliases.mdx +82 -0
- package/.next/standalone/docs/he/testing.mdx +260 -0
- package/.next/standalone/docs/hi/architecture.mdx +334 -0
- package/.next/standalone/docs/hi/built-in-policies.mdx +564 -0
- package/.next/standalone/docs/hi/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/hi/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/hi/cli/hook.mdx +30 -0
- package/.next/standalone/docs/hi/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/hi/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/hi/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs/hi/cli/version.mdx +12 -0
- package/.next/standalone/docs/hi/configuration.mdx +222 -0
- package/.next/standalone/docs/hi/custom-policies.mdx +357 -0
- package/.next/standalone/docs/hi/dashboard.mdx +142 -0
- package/.next/standalone/docs/hi/examples.mdx +255 -0
- package/.next/standalone/docs/hi/for-agents.mdx +38 -0
- package/.next/standalone/docs/hi/getting-started.mdx +134 -0
- package/.next/standalone/docs/hi/introduction.mdx +57 -0
- package/.next/standalone/docs/hi/package-aliases.mdx +82 -0
- package/.next/standalone/docs/hi/testing.mdx +260 -0
- package/.next/standalone/docs/i18n/README.ar.md +312 -0
- package/.next/standalone/docs/i18n/README.de.md +307 -0
- package/.next/standalone/docs/i18n/README.es.md +307 -0
- package/.next/standalone/docs/i18n/README.fr.md +307 -0
- package/.next/standalone/docs/i18n/README.he.md +312 -0
- package/.next/standalone/docs/i18n/README.hi.md +307 -0
- package/.next/standalone/docs/i18n/README.it.md +307 -0
- package/.next/standalone/docs/i18n/README.ja.md +307 -0
- package/.next/standalone/docs/i18n/README.ko.md +307 -0
- package/.next/standalone/docs/i18n/README.pt-br.md +307 -0
- package/.next/standalone/docs/i18n/README.ru.md +308 -0
- package/.next/standalone/docs/i18n/README.tr.md +308 -0
- package/.next/standalone/docs/i18n/README.vi.md +308 -0
- package/.next/standalone/docs/i18n/README.zh.md +307 -0
- package/.next/standalone/docs/introduction.mdx +57 -0
- package/.next/standalone/docs/it/architecture.mdx +333 -0
- package/.next/standalone/docs/it/built-in-policies.mdx +564 -0
- package/.next/standalone/docs/it/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/it/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/it/cli/hook.mdx +30 -0
- package/.next/standalone/docs/it/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/it/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/it/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs/it/cli/version.mdx +12 -0
- package/.next/standalone/docs/it/configuration.mdx +223 -0
- package/.next/standalone/docs/it/custom-policies.mdx +358 -0
- package/.next/standalone/docs/it/dashboard.mdx +142 -0
- package/.next/standalone/docs/it/examples.mdx +253 -0
- package/.next/standalone/docs/it/for-agents.mdx +38 -0
- package/.next/standalone/docs/it/getting-started.mdx +134 -0
- package/.next/standalone/docs/it/introduction.mdx +57 -0
- package/.next/standalone/docs/it/package-aliases.mdx +82 -0
- package/.next/standalone/docs/it/testing.mdx +260 -0
- package/.next/standalone/docs/ja/architecture.mdx +332 -0
- package/.next/standalone/docs/ja/built-in-policies.mdx +562 -0
- package/.next/standalone/docs/ja/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/ja/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/ja/cli/hook.mdx +30 -0
- package/.next/standalone/docs/ja/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/ja/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/ja/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs/ja/cli/version.mdx +12 -0
- package/.next/standalone/docs/ja/configuration.mdx +222 -0
- package/.next/standalone/docs/ja/custom-policies.mdx +357 -0
- package/.next/standalone/docs/ja/dashboard.mdx +142 -0
- package/.next/standalone/docs/ja/examples.mdx +253 -0
- package/.next/standalone/docs/ja/for-agents.mdx +38 -0
- package/.next/standalone/docs/ja/getting-started.mdx +134 -0
- package/.next/standalone/docs/ja/introduction.mdx +57 -0
- package/.next/standalone/docs/ja/package-aliases.mdx +82 -0
- package/.next/standalone/docs/ja/testing.mdx +260 -0
- package/.next/standalone/docs/ko/architecture.mdx +332 -0
- package/.next/standalone/docs/ko/built-in-policies.mdx +562 -0
- package/.next/standalone/docs/ko/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/ko/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/ko/cli/hook.mdx +30 -0
- package/.next/standalone/docs/ko/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/ko/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/ko/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs/ko/cli/version.mdx +12 -0
- package/.next/standalone/docs/ko/configuration.mdx +222 -0
- package/.next/standalone/docs/ko/custom-policies.mdx +357 -0
- package/.next/standalone/docs/ko/dashboard.mdx +142 -0
- package/.next/standalone/docs/ko/examples.mdx +253 -0
- package/.next/standalone/docs/ko/for-agents.mdx +38 -0
- package/.next/standalone/docs/ko/getting-started.mdx +134 -0
- package/.next/standalone/docs/ko/introduction.mdx +57 -0
- package/.next/standalone/docs/ko/package-aliases.mdx +82 -0
- package/.next/standalone/docs/ko/testing.mdx +260 -0
- package/.next/standalone/docs/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 +564 -0
- package/.next/standalone/docs/pt-br/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/pt-br/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/pt-br/cli/hook.mdx +30 -0
- package/.next/standalone/docs/pt-br/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/pt-br/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/pt-br/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs/pt-br/cli/version.mdx +12 -0
- package/.next/standalone/docs/pt-br/configuration.mdx +222 -0
- package/.next/standalone/docs/pt-br/custom-policies.mdx +357 -0
- package/.next/standalone/docs/pt-br/dashboard.mdx +142 -0
- package/.next/standalone/docs/pt-br/examples.mdx +253 -0
- package/.next/standalone/docs/pt-br/for-agents.mdx +38 -0
- package/.next/standalone/docs/pt-br/getting-started.mdx +134 -0
- package/.next/standalone/docs/pt-br/introduction.mdx +57 -0
- package/.next/standalone/docs/pt-br/package-aliases.mdx +82 -0
- package/.next/standalone/docs/pt-br/testing.mdx +260 -0
- package/.next/standalone/docs/ru/architecture.mdx +334 -0
- package/.next/standalone/docs/ru/built-in-policies.mdx +562 -0
- package/.next/standalone/docs/ru/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/ru/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/ru/cli/hook.mdx +30 -0
- package/.next/standalone/docs/ru/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/ru/cli/list-policies.mdx +32 -0
- package/.next/standalone/docs/ru/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs/ru/cli/version.mdx +12 -0
- package/.next/standalone/docs/ru/configuration.mdx +223 -0
- package/.next/standalone/docs/ru/custom-policies.mdx +357 -0
- package/.next/standalone/docs/ru/dashboard.mdx +142 -0
- package/.next/standalone/docs/ru/examples.mdx +254 -0
- package/.next/standalone/docs/ru/for-agents.mdx +38 -0
- package/.next/standalone/docs/ru/getting-started.mdx +134 -0
- package/.next/standalone/docs/ru/introduction.mdx +57 -0
- package/.next/standalone/docs/ru/package-aliases.mdx +82 -0
- package/.next/standalone/docs/ru/testing.mdx +260 -0
- package/.next/standalone/docs/{testing.md → testing.mdx} +11 -11
- package/.next/standalone/docs/tr/architecture.mdx +333 -0
- package/.next/standalone/docs/tr/built-in-policies.mdx +562 -0
- package/.next/standalone/docs/tr/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/tr/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/tr/cli/hook.mdx +30 -0
- package/.next/standalone/docs/tr/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/tr/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/tr/cli/remove-policies.mdx +45 -0
- package/.next/standalone/docs/tr/cli/version.mdx +12 -0
- package/.next/standalone/docs/tr/configuration.mdx +223 -0
- package/.next/standalone/docs/tr/custom-policies.mdx +357 -0
- package/.next/standalone/docs/tr/dashboard.mdx +142 -0
- package/.next/standalone/docs/tr/examples.mdx +253 -0
- package/.next/standalone/docs/tr/for-agents.mdx +38 -0
- package/.next/standalone/docs/tr/getting-started.mdx +134 -0
- package/.next/standalone/docs/tr/introduction.mdx +57 -0
- package/.next/standalone/docs/tr/package-aliases.mdx +82 -0
- package/.next/standalone/docs/tr/testing.mdx +260 -0
- package/.next/standalone/docs/vi/architecture.mdx +333 -0
- package/.next/standalone/docs/vi/built-in-policies.mdx +564 -0
- package/.next/standalone/docs/vi/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/vi/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/vi/cli/hook.mdx +30 -0
- package/.next/standalone/docs/vi/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/vi/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/vi/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs/vi/cli/version.mdx +13 -0
- package/.next/standalone/docs/vi/configuration.mdx +222 -0
- package/.next/standalone/docs/vi/custom-policies.mdx +357 -0
- package/.next/standalone/docs/vi/dashboard.mdx +142 -0
- package/.next/standalone/docs/vi/examples.mdx +253 -0
- package/.next/standalone/docs/vi/for-agents.mdx +38 -0
- package/.next/standalone/docs/vi/getting-started.mdx +134 -0
- package/.next/standalone/docs/vi/introduction.mdx +57 -0
- package/.next/standalone/docs/vi/package-aliases.mdx +82 -0
- package/.next/standalone/docs/vi/testing.mdx +260 -0
- package/.next/standalone/docs/zh/architecture.mdx +332 -0
- package/.next/standalone/docs/zh/built-in-policies.mdx +562 -0
- package/.next/standalone/docs/zh/cli/dashboard.mdx +28 -0
- package/.next/standalone/docs/zh/cli/environment-variables.mdx +34 -0
- package/.next/standalone/docs/zh/cli/hook.mdx +30 -0
- package/.next/standalone/docs/zh/cli/install-policies.mdx +48 -0
- package/.next/standalone/docs/zh/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs/zh/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs/zh/cli/version.mdx +12 -0
- package/.next/standalone/docs/zh/configuration.mdx +222 -0
- package/.next/standalone/docs/zh/custom-policies.mdx +357 -0
- package/.next/standalone/docs/zh/dashboard.mdx +142 -0
- package/.next/standalone/docs/zh/examples.mdx +253 -0
- package/.next/standalone/docs/zh/for-agents.mdx +38 -0
- package/.next/standalone/docs/zh/getting-started.mdx +134 -0
- package/.next/standalone/docs/zh/introduction.mdx +57 -0
- package/.next/standalone/docs/zh/package-aliases.mdx +82 -0
- package/.next/standalone/docs/zh/testing.mdx +260 -0
- package/.next/standalone/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 +405 -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 +539 -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 +405 -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/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 → En9eEShUkUjgeYbY9v6Gy}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{WS-OQSqL1Lp1w_obXfjvl → En9eEShUkUjgeYbY9v6Gy}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{WS-OQSqL1Lp1w_obXfjvl → En9eEShUkUjgeYbY9v6Gy}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,307 @@
|
|
|
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) | **🇮🇳 हिन्दी** | [🇹🇷 Türkçe](README.tr.md) | [🇻🇳 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
|
+
**अनुवाद**: [简体中文](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 एजेंट्स को विश्वसनीय, केंद्रित और स्वायत्त रूप से चलाने वाली नीतियों को प्रबंधित करने का सबसे आसान तरीका - **Claude Code** और **Agents SDK** के लिए।
|
|
27
|
+
|
|
28
|
+
- **30 बिल्ट-इन नीतियाँ** - आम एजेंट की विफलता के तरीकों को पहले से ही पकड़ें। विनाशकारी कमांड को ब्लॉक करें, गुप्त सूचना के रिसाव को रोकें, एजेंट्स को प्रोजेक्ट की सीमाओं के अंदर रखें, लूप्स का पता लगाएं, और बहुत कुछ।
|
|
29
|
+
- **कस्टम नीतियाँ** - JavaScript में अपनी स्वयं की विश्वसनीयता नियम लिखें। सम्मेलनों को लागू करने, विचलन को रोकने, संचालन को नियंत्रित करने, या बाहरी सिस्टम के साथ एकीकृत करने के लिए `allow`/`deny`/`instruct` API का उपयोग करें।
|
|
30
|
+
- **आसान कॉन्फ़िगरेशन** - कोड लिखे बिना किसी भी नीति को ट्यून करें। प्रति-प्रोजेक्ट या विश्व स्तर पर अनुमति सूचियाँ, संरक्षित शाखाएँ, थ्रेशहोल्ड सेट करें। तीन-स्कोप कॉन्फ़िगरेशन स्वचालित रूप से विलय होता है।
|
|
31
|
+
- **एजेंट मॉनिटर** - देखें कि आपके एजेंट्स आपके दूर रहते हुए क्या करते थे। सत्रों को ब्राउज़ करें, प्रत्येक टूल कॉल का निरीक्षण करें, और देखें कि नीतियाँ कहाँ कार्य करती हैं।
|
|
32
|
+
|
|
33
|
+
सभी कुछ स्थानीय रूप से चलता है - कोई डेटा आपकी मशीन से बाहर नहीं जाता है।
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## आवश्यकताएँ
|
|
38
|
+
|
|
39
|
+
- Node.js >= 20.9.0
|
|
40
|
+
- Bun >= 1.3.0 (वैकल्पिक - केवल विकास / स्रोत से निर्माण के लिए आवश्यक)
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## इंस्टॉल करें
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npm install -g failproofai
|
|
48
|
+
# या
|
|
49
|
+
bun add -g failproofai
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## त्वरित प्रारंभ
|
|
55
|
+
|
|
56
|
+
### 1. नीतियों को विश्व स्तर पर सक्षम करें
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
failproofai policies --install
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
`~/.claude/settings.json` में हुक एंट्रीज़ लिखता है। Claude Code अब प्रत्येक टूल कॉल से पहले और बाद में failproofai को आमंत्रित करेगा।
|
|
63
|
+
|
|
64
|
+
### 2. डैशबोर्ड लॉन्च करें
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
failproofai
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
`http://localhost:8020` खोलता है - सत्रों को ब्राउज़ करें, लॉग्स का निरीक्षण करें, नीतियों को प्रबंधित करें।
|
|
71
|
+
|
|
72
|
+
### 3. जाँचें कि क्या सक्रिय है
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
failproofai policies
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## नीति स्थापना
|
|
81
|
+
|
|
82
|
+
### स्कोप्स
|
|
83
|
+
|
|
84
|
+
| स्कोप | कमांड | जहाँ यह लिखता है |
|
|
85
|
+
|-------|---------|-----------------|
|
|
86
|
+
| विश्व (डिफ़ॉल्ट) | `failproofai policies --install` | `~/.claude/settings.json` |
|
|
87
|
+
| प्रोजेक्ट | `failproofai policies --install --scope project` | `.claude/settings.json` |
|
|
88
|
+
| स्थानीय | `failproofai policies --install --scope local` | `.claude/settings.local.json` |
|
|
89
|
+
|
|
90
|
+
### विशिष्ट नीतियों को स्थापित करें
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### नीतियों को हटाएं
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
failproofai policies --uninstall
|
|
100
|
+
# या किसी विशेष स्कोप के लिए:
|
|
101
|
+
failproofai policies --uninstall --scope project
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## कॉन्फ़िगरेशन
|
|
107
|
+
|
|
108
|
+
नीति कॉन्फ़िगरेशन `~/.failproofai/policies-config.json` (विश्व स्तर) या आपके प्रोजेक्ट में `.failproofai/policies-config.json` (प्रति-प्रोजेक्ट) में रहता है।
|
|
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 के बिना सीधे apt-get का उपयोग करें।"
|
|
124
|
+
},
|
|
125
|
+
"block-push-master": {
|
|
126
|
+
"protectedBranches": ["main", "release", "prod"],
|
|
127
|
+
"hint": "इसके बजाय एक ताज़ी शाखा बनाने का प्रयास करें।"
|
|
128
|
+
},
|
|
129
|
+
"sanitize-api-keys": {
|
|
130
|
+
"additionalPatterns": [
|
|
131
|
+
{ "regex": "myco_[A-Za-z0-9]{32}", "label": "MyCo API key" }
|
|
132
|
+
]
|
|
133
|
+
},
|
|
134
|
+
"warn-large-file-write": {
|
|
135
|
+
"thresholdKb": 512
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**तीन कॉन्फ़िगरेशन स्कोप्स** स्वचालित रूप से विलय होते हैं (प्रोजेक्ट → स्थानीय → विश्व)। पूर्ण विलय नियमों के लिए [docs/configuration.mdx](docs/configuration.mdx) देखें।
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## बिल्ट-इन नीतियाँ
|
|
146
|
+
|
|
147
|
+
| नीति | विवरण | कॉन्फ़िगरेबल |
|
|
148
|
+
|--------|-------------|:---:|
|
|
149
|
+
| `block-sudo` | एजेंट्स को विशेषाधिकार प्राप्त सिस्टम कमांड चलाने से रोकें | `allowPatterns` |
|
|
150
|
+
| `block-rm-rf` | आकस्मिक पुनरावर्ती फ़ाइल विलोपन को रोकें | `allowPaths` |
|
|
151
|
+
| `block-curl-pipe-sh` | एजेंट्स को अविश्वसनीय स्क्रिप्ट को शेल में पाइप करने से रोकें | |
|
|
152
|
+
| `block-failproofai-commands` | स्व-स्थापना को हटाने से रोकें | |
|
|
153
|
+
| `sanitize-jwt` | JWT टोकन को एजेंट संदर्भ में रिसाव से रोकें | |
|
|
154
|
+
| `sanitize-api-keys` | API कुंजियों को एजेंट संदर्भ में रिसाव से रोकें | `additionalPatterns` |
|
|
155
|
+
| `sanitize-connection-strings` | डेटाबेस क्रेडेंशियल्स को एजेंट संदर्भ में रिसाव से रोकें | |
|
|
156
|
+
| `sanitize-private-key-content` | आउटपुट से PEM निजी कुंजी ब्लॉक को संपादित करें | |
|
|
157
|
+
| `sanitize-bearer-tokens` | आउटपुट से प्राधिकरण Bearer टोकन को संपादित करें | |
|
|
158
|
+
| `block-env-files` | एजेंट्स को .env फ़ाइलें पढ़ने से रोकें | |
|
|
159
|
+
| `protect-env-vars` | एजेंट्स को पर्यावरण चर प्रिंट करने से रोकें | |
|
|
160
|
+
| `block-read-outside-cwd` | एजेंट्स को प्रोजेक्ट की सीमाओं के अंदर रखें | `allowPaths` |
|
|
161
|
+
| `block-secrets-write` | निजी कुंजी और प्रमाणपत्र फ़ाइलों में लेखन को रोकें | `additionalPatterns` |
|
|
162
|
+
| `block-push-master` | मुख्य/मास्टर में आकस्मिक पुश को रोकें | `protectedBranches` |
|
|
163
|
+
| `block-work-on-main` | एजेंट्स को संरक्षित शाखाओं से दूर रखें | `protectedBranches` |
|
|
164
|
+
| `block-force-push` | `git push --force` को रोकें | |
|
|
165
|
+
| `warn-git-amend` | कमिट को संशोधित करने से पहले एजेंट्स को याद दिलाएं | |
|
|
166
|
+
| `warn-git-stash-drop` | स्टैश को छोड़ने से पहले एजेंट्स को याद दिलाएं | |
|
|
167
|
+
| `warn-all-files-staged` | आकस्मिक `git add -A` को पकड़ें | |
|
|
168
|
+
| `warn-destructive-sql` | DROP/DELETE SQL को निष्पादन से पहले पकड़ें | |
|
|
169
|
+
| `warn-schema-alteration` | निष्पादन से पहले ALTER TABLE को पकड़ें | |
|
|
170
|
+
| `warn-large-file-write` | अप्रत्याशित रूप से बड़ी फ़ाइल लेखन को पकड़ें | `thresholdKb` |
|
|
171
|
+
| `warn-package-publish` | आकस्मिक `npm publish` को पकड़ें | |
|
|
172
|
+
| `warn-background-process` | अनपेक्षित पृष्ठभूमि प्रक्रिया लॉन्च को पकड़ें | |
|
|
173
|
+
| `warn-global-package-install` | अनपेक्षित वैश्विक पैकेज इंस्टॉल को पकड़ें | |
|
|
174
|
+
| …और बहुत कुछ | | |
|
|
175
|
+
|
|
176
|
+
पूर्ण नीति विवरण और पैरामीटर संदर्भ: [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## कस्टम नीतियाँ
|
|
181
|
+
|
|
182
|
+
एजेंट्स को विश्वसनीय और केंद्रित रखने के लिए अपनी नीतियाँ लिखें:
|
|
183
|
+
|
|
184
|
+
```js
|
|
185
|
+
import { customPolicies, allow, deny, instruct } from "failproofai";
|
|
186
|
+
|
|
187
|
+
customPolicies.add({
|
|
188
|
+
name: "no-production-writes",
|
|
189
|
+
description: "'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("उत्पादन पथों में लेखन अवरुद्ध है");
|
|
195
|
+
return allow();
|
|
196
|
+
},
|
|
197
|
+
});
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
इसके साथ स्थापित करें:
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
failproofai policies --install --custom ./my-policies.js
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### निर्णय सहायक
|
|
207
|
+
|
|
208
|
+
| कार्य | प्रभाव |
|
|
209
|
+
|----------|--------|
|
|
210
|
+
| `allow()` | संचालन की अनुमति दें |
|
|
211
|
+
| `allow(message)` | अनुमति दें और Claude को सूचनात्मक संदर्भ भेजें *(बीटा)* |
|
|
212
|
+
| `deny(message)` | संचालन को ब्लॉक करें; संदेश Claude को दिखाया जाता है |
|
|
213
|
+
| `instruct(message)` | Claude के प्रॉम्प्ट में संदर्भ जोड़ें; ब्लॉक नहीं करता है |
|
|
214
|
+
|
|
215
|
+
### संदर्भ ऑब्जेक्ट (`ctx`)
|
|
216
|
+
|
|
217
|
+
| क्षेत्र | प्रकार | विवरण |
|
|
218
|
+
|-------|------|-------------|
|
|
219
|
+
| `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
|
|
220
|
+
| `toolName` | `string` | बुलाया जा रहा टूल (`"Bash"`, `"Write"`, `"Read"`, …) |
|
|
221
|
+
| `toolInput` | `object` | टूल के इनपुट पैरामीटर |
|
|
222
|
+
| `payload` | `object` | संपूर्ण कच्ची ईवेंट पेलोड |
|
|
223
|
+
| `session.cwd` | `string` | Claude Code सत्र की कार्य निर्देशिका |
|
|
224
|
+
| `session.sessionId` | `string` | सत्र पहचानकर्ता |
|
|
225
|
+
| `session.transcriptPath` | `string` | सत्र प्रतिलेख फ़ाइल का पथ |
|
|
226
|
+
|
|
227
|
+
कस्टम हुक्स सकर्मक स्थानीय आयातों, async/await, और `process.env` के लिए पहुंच का समर्थन करते हैं। त्रुटियाँ fail-open हैं (लॉग किए गए `~/.failproofai/hook.log` में, बिल्ट-इन नीतियाँ जारी रहती हैं)। संपूर्ण गाइड के लिए [docs/custom-hooks.mdx](docs/custom-hooks.mdx) देखें।
|
|
228
|
+
|
|
229
|
+
### कन्वेंशन-आधारित नीतियाँ (v0.0.2-beta.7+)
|
|
230
|
+
|
|
231
|
+
`.failproofai/policies/` में `*policies.{js,mjs,ts}` फ़ाइलें छोड़ें और वे स्वचालित रूप से लोड होते हैं — कोई `--custom` फ्लैग या कॉन्फ़िगरेशन परिवर्तन की आवश्यकता नहीं। यह git हुक्स की तरह काम करता है: एक फ़ाइल छोड़ें, यह बस काम करता है।
|
|
232
|
+
|
|
233
|
+
```text
|
|
234
|
+
# प्रोजेक्ट स्तर — git में प्रतिबद्ध, टीम के साथ साझा किया गया
|
|
235
|
+
.failproofai/policies/security-policies.mjs
|
|
236
|
+
.failproofai/policies/workflow-policies.mjs
|
|
237
|
+
|
|
238
|
+
# उपयोगकर्ता स्तर — व्यक्तिगत, सभी प्रोजेक्ट्स पर लागू होता है
|
|
239
|
+
~/.failproofai/policies/my-policies.mjs
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
दोनों स्तर लोड होते हैं (मिलन)। फ़ाइलें प्रत्येक निर्देशिका के भीतर वर्णानुक्रम में लोड होती हैं। क्रम को नियंत्रित करने के लिए `01-`, `02-`, आदि से उपसर्ग करें। तुरंत उपयोग के लिए उदाहरणों के लिए [examples/convention-policies/](examples/convention-policies/) देखें।
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## टेलीमेट्री
|
|
247
|
+
|
|
248
|
+
Failproof AI PostHog के माध्यम से गुमनाम उपयोग टेलीमेट्री एकत्र करता है ताकि सुविधा उपयोग को समझा जा सके। कोई सत्र सामग्री, फ़ाइल नाम, टूल इनपुट, या व्यक्तिगत जानकारी कभी नहीं भेजी जाती है।
|
|
249
|
+
|
|
250
|
+
इसे अक्षम करें:
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## दस्तावेज़
|
|
259
|
+
|
|
260
|
+
| गाइड | विवरण |
|
|
261
|
+
|-------|-------------|
|
|
262
|
+
| [प्रारंभ करना](docs/getting-started.mdx) | स्थापना और पहले कदम |
|
|
263
|
+
| [बिल्ट-इन नीतियाँ](docs/built-in-policies.mdx) | सभी 30 बिल्ट-इन नीतियाँ और पैरामीटर |
|
|
264
|
+
| [कस्टम नीतियाँ](docs/custom-policies.mdx) | अपनी स्वयं की नीतियाँ लिखें |
|
|
265
|
+
| [कॉन्फ़िगरेशन](docs/configuration.mdx) | कॉन्फ़िगरेशन फ़ाइल प्रारूप और स्कोप विलय |
|
|
266
|
+
| [डैशबोर्ड](docs/dashboard.mdx) | सत्रों की निगरानी करें और नीति गतिविधि की समीक्षा करें |
|
|
267
|
+
| [आर्किटेक्चर](docs/architecture.mdx) | हुक सिस्टम कैसे काम करता है |
|
|
268
|
+
| [परीक्षण](docs/testing.mdx) | परीक्षण चलाएं और नए परीक्षण लिखें |
|
|
269
|
+
|
|
270
|
+
### दस्तावेज़ को स्थानीय रूप से चलाएं
|
|
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 दस्तावेज़ साइट को `http://localhost:3000` पर खोलता है। यदि आप दस्तावेज़ निर्देशिका को माउंट करते हैं तो कंटेनर परिवर्तनों को देखता है:
|
|
278
|
+
|
|
279
|
+
```bash
|
|
280
|
+
docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## failproofai योगदानकर्ताओं के लिए नोट
|
|
286
|
+
|
|
287
|
+
इस रिपो की `.claude/settings.json` मानक `npx -y failproofai` कमांड के बजाय `bun ./bin/failproofai.mjs --hook <EventType>` का उपयोग करता है। ऐसा इसलिए है क्योंकि failproofai प्रोजेक्ट के अंदर `npx -y failproofai` चलाने से आत्म-संदर्भी विरोध उत्पन्न होता है।
|
|
288
|
+
|
|
289
|
+
अन्य सभी रिपो के लिए, अनुशंसित दृष्टिकोण `npx -y failproofai` है, जिसे इसके माध्यम से स्थापित किया जाता है:
|
|
290
|
+
|
|
291
|
+
```bash
|
|
292
|
+
failproofai policies --install --scope project
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
## योगदान देना
|
|
296
|
+
|
|
297
|
+
[CONTRIBUTING.md](CONTRIBUTING.md) देखें।
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
## लाइसेंस
|
|
302
|
+
|
|
303
|
+
[LICENSE](LICENSE) देखें।
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
**ExosphereHost: आपके एजेंट्स के लिए विश्वसनीयता अनुसंधान लैब** द्वारा निर्मित और रक्षरक्षरक्ष। हम अपने स्वयं के एजेंट्स, सॉफ्टवेयर और विशेषज्ञता के माध्यम से उद्यमों और स्टार्टअप को अपने AI एजेंट्स की विश्वसनीयता में सुधार करने में मदद करते हैं। [exosphere.host](https://exosphere.host) पर अधिक जानें।
|
|
@@ -0,0 +1,307 @@
|
|
|
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](README.vi.md) | **🇮🇹 Italiano** | [🇸🇦 العربية](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
|
+
**Traduzioni**: [简体中文](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
|
+
Il modo più semplice per gestire i criteri che mantengono i tuoi agenti AI affidabili, focalizzati e autonomi - per **Claude Code** e **Agents SDK**.
|
|
27
|
+
|
|
28
|
+
- **30 Criteri Integrati** - Rileva modalità di errore comuni degli agenti direttamente. Blocca comandi distruttivi, previeni fughe di segreti, mantieni gli agenti all'interno dei confini del progetto, rileva cicli infiniti e altro ancora.
|
|
29
|
+
- **Criteri Personalizzati** - Scrivi le tue regole di affidabilità in JavaScript. Usa l'API `allow`/`deny`/`instruct` per applicare convenzioni, prevenire derive, limitare operazioni o integrarsi con sistemi esterni.
|
|
30
|
+
- **Configurazione Facile** - Personalizza qualsiasi criterio senza scrivere codice. Imposta allowlist, rami protetti, soglie per progetto o globalmente. Tre ambiti di configurazione si uniscono automaticamente.
|
|
31
|
+
- **Monitoraggio Agenti** - Vedi cosa hanno fatto i tuoi agenti mentre eri assente. Sfoglia le sessioni, ispeziona ogni chiamata di tool e rivedi esattamente dove i criteri si sono attivati.
|
|
32
|
+
|
|
33
|
+
Tutto funziona localmente - nessun dato esce dalla tua macchina.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Requisiti
|
|
38
|
+
|
|
39
|
+
- Node.js >= 20.9.0
|
|
40
|
+
- Bun >= 1.3.0 (opzionale - necessario solo per lo sviluppo / compilazione da sorgente)
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Installazione
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npm install -g failproofai
|
|
48
|
+
# o
|
|
49
|
+
bun add -g failproofai
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Guida veloce
|
|
55
|
+
|
|
56
|
+
### 1. Abilita i criteri globalmente
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
failproofai policies --install
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Scrive voci di hook in `~/.claude/settings.json`. Claude Code ora invocherà failproofai prima e dopo ogni chiamata di tool.
|
|
63
|
+
|
|
64
|
+
### 2. Avvia il dashboard
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
failproofai
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Apre `http://localhost:8020` - sfoglia le sessioni, ispeziona i log, gestisci i criteri.
|
|
71
|
+
|
|
72
|
+
### 3. Controlla cosa è attivo
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
failproofai policies
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Installazione dei criteri
|
|
81
|
+
|
|
82
|
+
### Ambiti
|
|
83
|
+
|
|
84
|
+
| Ambito | Comando | Dove scrive |
|
|
85
|
+
|--------|---------|-------------|
|
|
86
|
+
| Globale (predefinito) | `failproofai policies --install` | `~/.claude/settings.json` |
|
|
87
|
+
| Progetto | `failproofai policies --install --scope project` | `.claude/settings.json` |
|
|
88
|
+
| Locale | `failproofai policies --install --scope local` | `.claude/settings.local.json` |
|
|
89
|
+
|
|
90
|
+
### Installa criteri specifici
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Rimuovi i criteri
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
failproofai policies --uninstall
|
|
100
|
+
# oppure per un ambito specifico:
|
|
101
|
+
failproofai policies --uninstall --scope project
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Configurazione
|
|
107
|
+
|
|
108
|
+
La configurazione dei criteri si trova in `~/.failproofai/policies-config.json` (globale) o `.failproofai/policies-config.json` nel tuo progetto (per progetto).
|
|
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": "Usa apt-get direttamente senza sudo."
|
|
124
|
+
},
|
|
125
|
+
"block-push-master": {
|
|
126
|
+
"protectedBranches": ["main", "release", "prod"],
|
|
127
|
+
"hint": "Prova a creare un nuovo ramo invece."
|
|
128
|
+
},
|
|
129
|
+
"sanitize-api-keys": {
|
|
130
|
+
"additionalPatterns": [
|
|
131
|
+
{ "regex": "myco_[A-Za-z0-9]{32}", "label": "MyCo API key" }
|
|
132
|
+
]
|
|
133
|
+
},
|
|
134
|
+
"warn-large-file-write": {
|
|
135
|
+
"thresholdKb": 512
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**Tre ambiti di configurazione** si uniscono automaticamente (progetto → locale → globale). Vedi [docs/configuration.mdx](docs/configuration.mdx) per le regole di unione complete.
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Criteri integrati
|
|
146
|
+
|
|
147
|
+
| Criterio | Descrizione | Configurabile |
|
|
148
|
+
|----------|-------------|:---:|
|
|
149
|
+
| `block-sudo` | Previeni gli agenti dall'eseguire comandi di sistema privilegiati | `allowPatterns` |
|
|
150
|
+
| `block-rm-rf` | Previeni l'eliminazione ricorsiva accidentale di file | `allowPaths` |
|
|
151
|
+
| `block-curl-pipe-sh` | Previeni gli agenti dal piping di script non attendibili nella shell | |
|
|
152
|
+
| `block-failproofai-commands` | Previeni l'auto-disinstallazione | |
|
|
153
|
+
| `sanitize-jwt` | Impedisci ai token JWT di trapelare nel contesto dell'agente | |
|
|
154
|
+
| `sanitize-api-keys` | Impedisci alle chiavi API di trapelare nel contesto dell'agente | `additionalPatterns` |
|
|
155
|
+
| `sanitize-connection-strings` | Impedisci alle credenziali del database di trapelare nel contesto dell'agente | |
|
|
156
|
+
| `sanitize-private-key-content` | Redigi i blocchi di chiave privata PEM dall'output | |
|
|
157
|
+
| `sanitize-bearer-tokens` | Redigi i token Authorization Bearer dall'output | |
|
|
158
|
+
| `block-env-files` | Impedisci agli agenti di leggere i file .env | |
|
|
159
|
+
| `protect-env-vars` | Previeni gli agenti dal stampare variabili di ambiente | |
|
|
160
|
+
| `block-read-outside-cwd` | Mantieni gli agenti all'interno dei confini del progetto | `allowPaths` |
|
|
161
|
+
| `block-secrets-write` | Previeni le scritture su file di chiave privata e certificato | `additionalPatterns` |
|
|
162
|
+
| `block-push-master` | Previeni i push accidentali su main/master | `protectedBranches` |
|
|
163
|
+
| `block-work-on-main` | Mantieni gli agenti fuori dai rami protetti | `protectedBranches` |
|
|
164
|
+
| `block-force-push` | Previeni `git push --force` | |
|
|
165
|
+
| `warn-git-amend` | Ricorda agli agenti prima di modificare i commit | |
|
|
166
|
+
| `warn-git-stash-drop` | Ricorda agli agenti prima di eliminare gli stash | |
|
|
167
|
+
| `warn-all-files-staged` | Rileva `git add -A` accidentale | |
|
|
168
|
+
| `warn-destructive-sql` | Rileva DROP/DELETE SQL prima dell'esecuzione | |
|
|
169
|
+
| `warn-schema-alteration` | Rileva ALTER TABLE prima dell'esecuzione | |
|
|
170
|
+
| `warn-large-file-write` | Rileva le scritture di file inaspettatamente grandi | `thresholdKb` |
|
|
171
|
+
| `warn-package-publish` | Rileva `npm publish` accidentale | |
|
|
172
|
+
| `warn-background-process` | Rileva i lanci di processi in background indesiderati | |
|
|
173
|
+
| `warn-global-package-install` | Rileva le installazioni di pacchetti globali indesiderate | |
|
|
174
|
+
| …e altri | | |
|
|
175
|
+
|
|
176
|
+
Dettagli completi dei criteri e riferimento dei parametri: [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Criteri personalizzati
|
|
181
|
+
|
|
182
|
+
Scrivi i tuoi criteri per mantenere gli agenti affidabili e focalizzati:
|
|
183
|
+
|
|
184
|
+
```js
|
|
185
|
+
import { customPolicies, allow, deny, instruct } from "failproofai";
|
|
186
|
+
|
|
187
|
+
customPolicies.add({
|
|
188
|
+
name: "no-production-writes",
|
|
189
|
+
description: "Block writes to paths containing '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("Writes to production paths are blocked");
|
|
195
|
+
return allow();
|
|
196
|
+
},
|
|
197
|
+
});
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
Installa con:
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
failproofai policies --install --custom ./my-policies.js
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Helper di decisione
|
|
207
|
+
|
|
208
|
+
| Funzione | Effetto |
|
|
209
|
+
|----------|--------|
|
|
210
|
+
| `allow()` | Consenti l'operazione |
|
|
211
|
+
| `allow(message)` | Consenti e invia contesto informativo a Claude *(beta)* |
|
|
212
|
+
| `deny(message)` | Blocca l'operazione; messaggio mostrato a Claude |
|
|
213
|
+
| `instruct(message)` | Aggiungi contesto al prompt di Claude; non blocca |
|
|
214
|
+
|
|
215
|
+
### Oggetto contesto (`ctx`)
|
|
216
|
+
|
|
217
|
+
| Campo | Tipo | Descrizione |
|
|
218
|
+
|-------|------|-------------|
|
|
219
|
+
| `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
|
|
220
|
+
| `toolName` | `string` | Tool in via di invocazione (`"Bash"`, `"Write"`, `"Read"`, …) |
|
|
221
|
+
| `toolInput` | `object` | Parametri di input del tool |
|
|
222
|
+
| `payload` | `object` | Payload di evento grezzo completo |
|
|
223
|
+
| `session.cwd` | `string` | Directory di lavoro della sessione Claude Code |
|
|
224
|
+
| `session.sessionId` | `string` | Identificatore della sessione |
|
|
225
|
+
| `session.transcriptPath` | `string` | Percorso del file di trascrizione della sessione |
|
|
226
|
+
|
|
227
|
+
Gli hook personalizzati supportano importazioni locali transitive, async/await e accesso a `process.env`. Gli errori sono fail-open (registrati in `~/.failproofai/hook.log`, i criteri integrati continuano). Vedi [docs/custom-hooks.mdx](docs/custom-hooks.mdx) per la guida completa.
|
|
228
|
+
|
|
229
|
+
### Criteri basati su convenzione (v0.0.2-beta.7+)
|
|
230
|
+
|
|
231
|
+
Inserisci i file `*policies.{js,mjs,ts}` in `.failproofai/policies/` e vengono caricati automaticamente - nessun flag `--custom` o modifiche di configurazione necessarie. Funziona come i git hook: inserisci un file, funziona e basta.
|
|
232
|
+
|
|
233
|
+
```text
|
|
234
|
+
# Livello di progetto — committato su git, condiviso con il team
|
|
235
|
+
.failproofai/policies/security-policies.mjs
|
|
236
|
+
.failproofai/policies/workflow-policies.mjs
|
|
237
|
+
|
|
238
|
+
# Livello utente — personale, si applica a tutti i progetti
|
|
239
|
+
~/.failproofai/policies/my-policies.mjs
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
Entrambi i livelli si caricano (unione). I file vengono caricati alfabeticamente all'interno di ogni directory. Prefissa con `01-`, `02-`, ecc. per controllare l'ordine. Vedi [examples/convention-policies/](examples/convention-policies/) per esempi pronti all'uso.
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## Telemetria
|
|
247
|
+
|
|
248
|
+
Failproof AI raccoglie telemetria di utilizzo anonima tramite PostHog per comprendere l'utilizzo delle funzionalità. Il contenuto della sessione, i nomi dei file, gli input dei tool o le informazioni personali non vengono mai inviati.
|
|
249
|
+
|
|
250
|
+
Disabilitalo:
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## Documentazione
|
|
259
|
+
|
|
260
|
+
| Guida | Descrizione |
|
|
261
|
+
|-------|-------------|
|
|
262
|
+
| [Getting Started](docs/getting-started.mdx) | Installazione e primi passi |
|
|
263
|
+
| [Built-in Policies](docs/built-in-policies.mdx) | Tutti i 30 criteri integrati con parametri |
|
|
264
|
+
| [Custom Policies](docs/custom-policies.mdx) | Scrivi i tuoi criteri |
|
|
265
|
+
| [Configuration](docs/configuration.mdx) | Formato del file di configurazione e unione degli ambiti |
|
|
266
|
+
| [Dashboard](docs/dashboard.mdx) | Monitora le sessioni e rivedi l'attività dei criteri |
|
|
267
|
+
| [Architecture](docs/architecture.mdx) | Come funziona il sistema di hook |
|
|
268
|
+
| [Testing](docs/testing.mdx) | Eseguire test e scrivere nuovi test |
|
|
269
|
+
|
|
270
|
+
### Esegui la documentazione localmente
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
docker build -f Dockerfile.docs -t failproofai-docs .
|
|
274
|
+
docker run --rm -p 3000:3000 failproofai-docs
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
Apre il sito della documentazione Mintlify su `http://localhost:3000`. Il contenitore controlla le modifiche se monti la directory dei documenti:
|
|
278
|
+
|
|
279
|
+
```bash
|
|
280
|
+
docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## Nota per i contributori di failproofai
|
|
286
|
+
|
|
287
|
+
Il file `.claude/settings.json` di questo repo utilizza `bun ./bin/failproofai.mjs --hook <EventType>` invece del comando standard `npx -y failproofai`. Questo perché l'esecuzione di `npx -y failproofai` all'interno del progetto failproofai stesso crea un conflitto autoreferenziale.
|
|
288
|
+
|
|
289
|
+
Per tutti gli altri repo, l'approccio consigliato è `npx -y failproofai`, installato tramite:
|
|
290
|
+
|
|
291
|
+
```bash
|
|
292
|
+
failproofai policies --install --scope project
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
## Contribuire
|
|
296
|
+
|
|
297
|
+
Vedi [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
## Licenza
|
|
302
|
+
|
|
303
|
+
Vedi [LICENSE](LICENSE).
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
Creato e Mantenuto da **ExosphereHost: Reliability Research Lab for Your Agents**. Aiutiamo le imprese e le startup a migliorare l'affidabilità dei loro agenti AI attraverso i nostri agenti, software ed esperienza. Scopri di più su [exosphere.host](https://exosphere.host).
|