failproofai 0.0.6-beta.2 → 0.0.6-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +7 -1
- package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/.next/server/app/_not-found.rsc +17 -17
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +17 -17
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +16 -16
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +16 -16
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
- package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +1 -1
- package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0i5kvry._.js → [root-of-the-server]__0om-5pe._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__05akje6._.js → [root-of-the-server]__111.vxi._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_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_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/pages/404.html +2 -2
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
- package/.next/standalone/.next/static/chunks/{05j1px0r8yzh6.js → 02dqjyv6_9mhq.js} +2 -2
- package/.next/standalone/.next/static/chunks/{14cl9poem30dq.js → 070orfsl6.xal.js} +1 -1
- package/.next/standalone/.next/static/chunks/0mir9jdxn35~s.css +1 -0
- package/.next/standalone/.next/static/chunks/{00j0rr7rh8ef8.js → 0o547jv-k_k35.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0ijk_kek9_wyx.js → 0pk2h2.mjxy.m.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0xpl.oscrakvx.js → 0rcwkbh24w38b.js} +1 -1
- package/.next/standalone/.next/static/chunks/{1052sguyd-.ka.js → 140xx_tfr~lm_.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0npb~873.wvg3.js → 169_e4dq~1~b6.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0badv41uxa56..js → 17ne4p.1sw1jy.js} +1 -1
- package/.next/standalone/next.config.ts +6 -0
- package/.next/standalone/package.json +2 -2
- package/.next/standalone/server.js +1 -1
- package/bin/failproofai.mjs +91 -4
- package/dist/cli.mjs +1155 -54
- package/package.json +2 -2
- package/scripts/prune-standalone.mjs +128 -0
- package/src/auth/login.ts +104 -0
- package/src/auth/logout.ts +50 -0
- package/src/auth/token-store.ts +64 -0
- package/src/hooks/builtin-policies.ts +22 -20
- package/src/hooks/handler.ts +35 -15
- package/src/relay/daemon.ts +362 -0
- package/src/relay/pid.ts +76 -0
- package/src/relay/queue.ts +225 -0
- package/.next/standalone/.claude/settings.json +0 -316
- package/.next/standalone/.failproofai/policies/review-policies.mjs +0 -113
- package/.next/standalone/.failproofai/policies/workflow-policies.mjs +0 -63
- package/.next/standalone/.failproofai/policies-config.json +0 -39
- package/.next/standalone/.next/static/chunks/0gu_a.a80ritd.css +0 -1
- package/.next/standalone/AGENTS.md +0 -80
- package/.next/standalone/CHANGELOG.md +0 -151
- package/.next/standalone/CLAUDE.md +0 -165
- package/.next/standalone/CONTRIBUTING.md +0 -76
- package/.next/standalone/Dockerfile.docs +0 -12
- package/.next/standalone/LICENSE +0 -42
- package/.next/standalone/README.md +0 -301
- package/.next/standalone/bin/failproofai.mjs +0 -352
- package/.next/standalone/bun.lock +0 -1119
- package/.next/standalone/components.json +0 -23
- package/.next/standalone/dist/cli.mjs +0 -3595
- package/.next/standalone/dist/index.js +0 -80
- package/.next/standalone/docs/ar/architecture.mdx +0 -334
- package/.next/standalone/docs/ar/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/ar/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/ar/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/ar/cli/hook.mdx +0 -31
- package/.next/standalone/docs/ar/cli/install-policies.mdx +0 -48
- package/.next/standalone/docs/ar/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/ar/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/ar/cli/version.mdx +0 -13
- package/.next/standalone/docs/ar/configuration.mdx +0 -223
- package/.next/standalone/docs/ar/custom-policies.mdx +0 -354
- package/.next/standalone/docs/ar/dashboard.mdx +0 -142
- package/.next/standalone/docs/ar/examples.mdx +0 -307
- package/.next/standalone/docs/ar/for-agents.mdx +0 -39
- package/.next/standalone/docs/ar/getting-started.mdx +0 -187
- package/.next/standalone/docs/ar/introduction.mdx +0 -58
- package/.next/standalone/docs/ar/package-aliases.mdx +0 -82
- package/.next/standalone/docs/ar/testing.mdx +0 -261
- package/.next/standalone/docs/architecture.mdx +0 -332
- package/.next/standalone/docs/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/cli/hook.mdx +0 -30
- package/.next/standalone/docs/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/cli/version.mdx +0 -12
- package/.next/standalone/docs/configuration.mdx +0 -222
- package/.next/standalone/docs/custom-policies.mdx +0 -353
- package/.next/standalone/docs/dashboard.mdx +0 -142
- package/.next/standalone/docs/de/architecture.mdx +0 -332
- package/.next/standalone/docs/de/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/de/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/de/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/de/cli/hook.mdx +0 -30
- package/.next/standalone/docs/de/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/de/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/de/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/de/cli/version.mdx +0 -12
- package/.next/standalone/docs/de/configuration.mdx +0 -222
- package/.next/standalone/docs/de/custom-policies.mdx +0 -353
- package/.next/standalone/docs/de/dashboard.mdx +0 -142
- package/.next/standalone/docs/de/examples.mdx +0 -307
- package/.next/standalone/docs/de/for-agents.mdx +0 -38
- package/.next/standalone/docs/de/getting-started.mdx +0 -186
- package/.next/standalone/docs/de/introduction.mdx +0 -57
- package/.next/standalone/docs/de/package-aliases.mdx +0 -82
- package/.next/standalone/docs/de/testing.mdx +0 -260
- package/.next/standalone/docs/docs.json +0 -1002
- package/.next/standalone/docs/es/architecture.mdx +0 -332
- package/.next/standalone/docs/es/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/es/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/es/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/es/cli/hook.mdx +0 -30
- package/.next/standalone/docs/es/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/es/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/es/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/es/cli/version.mdx +0 -12
- package/.next/standalone/docs/es/configuration.mdx +0 -222
- package/.next/standalone/docs/es/custom-policies.mdx +0 -353
- package/.next/standalone/docs/es/dashboard.mdx +0 -142
- package/.next/standalone/docs/es/examples.mdx +0 -307
- package/.next/standalone/docs/es/for-agents.mdx +0 -38
- package/.next/standalone/docs/es/getting-started.mdx +0 -186
- package/.next/standalone/docs/es/introduction.mdx +0 -57
- package/.next/standalone/docs/es/package-aliases.mdx +0 -82
- package/.next/standalone/docs/es/testing.mdx +0 -260
- package/.next/standalone/docs/examples.mdx +0 -307
- package/.next/standalone/docs/favicon.ico +0 -0
- package/.next/standalone/docs/for-agents.mdx +0 -38
- package/.next/standalone/docs/fr/architecture.mdx +0 -332
- package/.next/standalone/docs/fr/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/fr/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/fr/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/fr/cli/hook.mdx +0 -30
- package/.next/standalone/docs/fr/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/fr/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/fr/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/fr/cli/version.mdx +0 -12
- package/.next/standalone/docs/fr/configuration.mdx +0 -222
- package/.next/standalone/docs/fr/custom-policies.mdx +0 -353
- package/.next/standalone/docs/fr/dashboard.mdx +0 -142
- package/.next/standalone/docs/fr/examples.mdx +0 -307
- package/.next/standalone/docs/fr/for-agents.mdx +0 -38
- package/.next/standalone/docs/fr/getting-started.mdx +0 -186
- package/.next/standalone/docs/fr/introduction.mdx +0 -57
- package/.next/standalone/docs/fr/package-aliases.mdx +0 -82
- package/.next/standalone/docs/fr/testing.mdx +0 -260
- package/.next/standalone/docs/getting-started.mdx +0 -186
- package/.next/standalone/docs/he/architecture.mdx +0 -333
- package/.next/standalone/docs/he/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/he/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/he/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/he/cli/hook.mdx +0 -30
- package/.next/standalone/docs/he/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/he/cli/list-policies.mdx +0 -32
- package/.next/standalone/docs/he/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/he/cli/version.mdx +0 -12
- package/.next/standalone/docs/he/configuration.mdx +0 -223
- package/.next/standalone/docs/he/custom-policies.mdx +0 -353
- package/.next/standalone/docs/he/dashboard.mdx +0 -142
- package/.next/standalone/docs/he/examples.mdx +0 -307
- package/.next/standalone/docs/he/for-agents.mdx +0 -38
- package/.next/standalone/docs/he/getting-started.mdx +0 -186
- package/.next/standalone/docs/he/introduction.mdx +0 -57
- package/.next/standalone/docs/he/package-aliases.mdx +0 -82
- package/.next/standalone/docs/he/testing.mdx +0 -260
- package/.next/standalone/docs/hi/architecture.mdx +0 -334
- package/.next/standalone/docs/hi/built-in-policies.mdx +0 -576
- package/.next/standalone/docs/hi/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/hi/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/hi/cli/hook.mdx +0 -30
- package/.next/standalone/docs/hi/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/hi/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/hi/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/hi/cli/version.mdx +0 -12
- package/.next/standalone/docs/hi/configuration.mdx +0 -222
- package/.next/standalone/docs/hi/custom-policies.mdx +0 -354
- package/.next/standalone/docs/hi/dashboard.mdx +0 -142
- package/.next/standalone/docs/hi/examples.mdx +0 -309
- package/.next/standalone/docs/hi/for-agents.mdx +0 -38
- package/.next/standalone/docs/hi/getting-started.mdx +0 -187
- package/.next/standalone/docs/hi/introduction.mdx +0 -57
- package/.next/standalone/docs/hi/package-aliases.mdx +0 -82
- package/.next/standalone/docs/hi/testing.mdx +0 -260
- package/.next/standalone/docs/i18n/README.ar.md +0 -312
- package/.next/standalone/docs/i18n/README.de.md +0 -307
- package/.next/standalone/docs/i18n/README.es.md +0 -307
- package/.next/standalone/docs/i18n/README.fr.md +0 -307
- package/.next/standalone/docs/i18n/README.he.md +0 -312
- package/.next/standalone/docs/i18n/README.hi.md +0 -307
- package/.next/standalone/docs/i18n/README.it.md +0 -307
- package/.next/standalone/docs/i18n/README.ja.md +0 -307
- package/.next/standalone/docs/i18n/README.ko.md +0 -307
- package/.next/standalone/docs/i18n/README.pt-br.md +0 -307
- package/.next/standalone/docs/i18n/README.ru.md +0 -308
- package/.next/standalone/docs/i18n/README.tr.md +0 -307
- package/.next/standalone/docs/i18n/README.vi.md +0 -307
- package/.next/standalone/docs/i18n/README.zh.md +0 -307
- package/.next/standalone/docs/introduction.mdx +0 -57
- package/.next/standalone/docs/it/architecture.mdx +0 -334
- package/.next/standalone/docs/it/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/it/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/it/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/it/cli/hook.mdx +0 -30
- package/.next/standalone/docs/it/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/it/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/it/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/it/cli/version.mdx +0 -12
- package/.next/standalone/docs/it/configuration.mdx +0 -222
- package/.next/standalone/docs/it/custom-policies.mdx +0 -353
- package/.next/standalone/docs/it/dashboard.mdx +0 -142
- package/.next/standalone/docs/it/examples.mdx +0 -307
- package/.next/standalone/docs/it/for-agents.mdx +0 -38
- package/.next/standalone/docs/it/getting-started.mdx +0 -186
- package/.next/standalone/docs/it/introduction.mdx +0 -57
- package/.next/standalone/docs/it/package-aliases.mdx +0 -82
- package/.next/standalone/docs/it/testing.mdx +0 -260
- package/.next/standalone/docs/ja/architecture.mdx +0 -332
- package/.next/standalone/docs/ja/built-in-policies.mdx +0 -572
- package/.next/standalone/docs/ja/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/ja/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/ja/cli/hook.mdx +0 -30
- package/.next/standalone/docs/ja/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/ja/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/ja/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/ja/cli/version.mdx +0 -12
- package/.next/standalone/docs/ja/configuration.mdx +0 -222
- package/.next/standalone/docs/ja/custom-policies.mdx +0 -353
- package/.next/standalone/docs/ja/dashboard.mdx +0 -142
- package/.next/standalone/docs/ja/examples.mdx +0 -307
- package/.next/standalone/docs/ja/for-agents.mdx +0 -38
- package/.next/standalone/docs/ja/getting-started.mdx +0 -186
- package/.next/standalone/docs/ja/introduction.mdx +0 -57
- package/.next/standalone/docs/ja/package-aliases.mdx +0 -82
- package/.next/standalone/docs/ja/testing.mdx +0 -260
- package/.next/standalone/docs/ko/architecture.mdx +0 -332
- package/.next/standalone/docs/ko/built-in-policies.mdx +0 -572
- package/.next/standalone/docs/ko/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/ko/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/ko/cli/hook.mdx +0 -30
- package/.next/standalone/docs/ko/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/ko/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/ko/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/ko/cli/version.mdx +0 -12
- package/.next/standalone/docs/ko/configuration.mdx +0 -222
- package/.next/standalone/docs/ko/custom-policies.mdx +0 -353
- package/.next/standalone/docs/ko/dashboard.mdx +0 -142
- package/.next/standalone/docs/ko/examples.mdx +0 -307
- package/.next/standalone/docs/ko/for-agents.mdx +0 -38
- package/.next/standalone/docs/ko/getting-started.mdx +0 -186
- package/.next/standalone/docs/ko/introduction.mdx +0 -57
- package/.next/standalone/docs/ko/package-aliases.mdx +0 -82
- package/.next/standalone/docs/ko/testing.mdx +0 -260
- package/.next/standalone/docs/logo/dark.svg +0 -21
- package/.next/standalone/docs/logo/exosphere-dark.png +0 -0
- package/.next/standalone/docs/logo/exosphere-light.png +0 -0
- package/.next/standalone/docs/logo/light.svg +0 -21
- package/.next/standalone/docs/package-aliases.mdx +0 -82
- package/.next/standalone/docs/pt-br/architecture.mdx +0 -332
- package/.next/standalone/docs/pt-br/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/pt-br/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/pt-br/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/pt-br/cli/hook.mdx +0 -30
- package/.next/standalone/docs/pt-br/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/pt-br/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/pt-br/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/pt-br/cli/version.mdx +0 -12
- package/.next/standalone/docs/pt-br/configuration.mdx +0 -222
- package/.next/standalone/docs/pt-br/custom-policies.mdx +0 -353
- package/.next/standalone/docs/pt-br/dashboard.mdx +0 -142
- package/.next/standalone/docs/pt-br/examples.mdx +0 -307
- package/.next/standalone/docs/pt-br/for-agents.mdx +0 -38
- package/.next/standalone/docs/pt-br/getting-started.mdx +0 -186
- package/.next/standalone/docs/pt-br/introduction.mdx +0 -57
- package/.next/standalone/docs/pt-br/package-aliases.mdx +0 -82
- package/.next/standalone/docs/pt-br/testing.mdx +0 -260
- package/.next/standalone/docs/ru/architecture.mdx +0 -333
- package/.next/standalone/docs/ru/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/ru/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/ru/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/ru/cli/hook.mdx +0 -30
- package/.next/standalone/docs/ru/cli/install-policies.mdx +0 -48
- package/.next/standalone/docs/ru/cli/list-policies.mdx +0 -32
- package/.next/standalone/docs/ru/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/ru/cli/version.mdx +0 -12
- package/.next/standalone/docs/ru/configuration.mdx +0 -222
- package/.next/standalone/docs/ru/custom-policies.mdx +0 -354
- package/.next/standalone/docs/ru/dashboard.mdx +0 -142
- package/.next/standalone/docs/ru/examples.mdx +0 -309
- package/.next/standalone/docs/ru/for-agents.mdx +0 -38
- package/.next/standalone/docs/ru/getting-started.mdx +0 -186
- package/.next/standalone/docs/ru/introduction.mdx +0 -57
- package/.next/standalone/docs/ru/package-aliases.mdx +0 -82
- package/.next/standalone/docs/ru/testing.mdx +0 -260
- package/.next/standalone/docs/testing.mdx +0 -260
- package/.next/standalone/docs/tr/architecture.mdx +0 -333
- package/.next/standalone/docs/tr/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/tr/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/tr/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/tr/cli/hook.mdx +0 -30
- package/.next/standalone/docs/tr/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/tr/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/tr/cli/remove-policies.mdx +0 -44
- package/.next/standalone/docs/tr/cli/version.mdx +0 -12
- package/.next/standalone/docs/tr/configuration.mdx +0 -222
- package/.next/standalone/docs/tr/custom-policies.mdx +0 -353
- package/.next/standalone/docs/tr/dashboard.mdx +0 -142
- package/.next/standalone/docs/tr/examples.mdx +0 -308
- package/.next/standalone/docs/tr/for-agents.mdx +0 -38
- package/.next/standalone/docs/tr/getting-started.mdx +0 -186
- package/.next/standalone/docs/tr/introduction.mdx +0 -57
- package/.next/standalone/docs/tr/package-aliases.mdx +0 -82
- package/.next/standalone/docs/tr/testing.mdx +0 -260
- package/.next/standalone/docs/vi/architecture.mdx +0 -334
- package/.next/standalone/docs/vi/built-in-policies.mdx +0 -575
- package/.next/standalone/docs/vi/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/vi/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/vi/cli/hook.mdx +0 -30
- package/.next/standalone/docs/vi/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/vi/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/vi/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/vi/cli/version.mdx +0 -13
- package/.next/standalone/docs/vi/configuration.mdx +0 -222
- package/.next/standalone/docs/vi/custom-policies.mdx +0 -353
- package/.next/standalone/docs/vi/dashboard.mdx +0 -142
- package/.next/standalone/docs/vi/examples.mdx +0 -308
- package/.next/standalone/docs/vi/for-agents.mdx +0 -38
- package/.next/standalone/docs/vi/getting-started.mdx +0 -186
- package/.next/standalone/docs/vi/introduction.mdx +0 -57
- package/.next/standalone/docs/vi/package-aliases.mdx +0 -82
- package/.next/standalone/docs/vi/testing.mdx +0 -260
- package/.next/standalone/docs/zh/architecture.mdx +0 -332
- package/.next/standalone/docs/zh/built-in-policies.mdx +0 -572
- package/.next/standalone/docs/zh/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/zh/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/zh/cli/hook.mdx +0 -30
- package/.next/standalone/docs/zh/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/zh/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/zh/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/zh/cli/version.mdx +0 -12
- package/.next/standalone/docs/zh/configuration.mdx +0 -222
- package/.next/standalone/docs/zh/custom-policies.mdx +0 -353
- package/.next/standalone/docs/zh/dashboard.mdx +0 -142
- package/.next/standalone/docs/zh/examples.mdx +0 -307
- package/.next/standalone/docs/zh/for-agents.mdx +0 -38
- package/.next/standalone/docs/zh/getting-started.mdx +0 -186
- package/.next/standalone/docs/zh/introduction.mdx +0 -57
- package/.next/standalone/docs/zh/package-aliases.mdx +0 -82
- package/.next/standalone/docs/zh/testing.mdx +0 -260
- package/.next/standalone/eslint.config.mjs +0 -15
- package/.next/standalone/examples/convention-policies/security-policies.mjs +0 -40
- package/.next/standalone/examples/convention-policies/workflow-policies.mjs +0 -41
- package/.next/standalone/examples/policies-advanced/index.js +0 -103
- package/.next/standalone/examples/policies-advanced/utils.js +0 -35
- package/.next/standalone/examples/policies-basic.js +0 -77
- package/.next/standalone/examples/policies-notification.js +0 -104
- package/.next/standalone/node_modules/@img/colour/color.cjs +0 -1594
- package/.next/standalone/node_modules/@img/colour/index.cjs +0 -1
- package/.next/standalone/node_modules/@img/colour/package.json +0 -45
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/README.md +0 -46
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/glib-2.0/include/glibconfig.h +0 -221
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/index.js +0 -1
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 +0 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/package.json +0 -42
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/versions.json +0 -30
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +0 -46
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +0 -221
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +0 -1
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +0 -42
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +0 -30
- package/.next/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
- package/.next/standalone/node_modules/@img/sharp-linux-x64/package.json +0 -46
- package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
- package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +0 -46
- package/.next/standalone/node_modules/detect-libc/lib/detect-libc.js +0 -313
- package/.next/standalone/node_modules/detect-libc/lib/elf.js +0 -39
- package/.next/standalone/node_modules/detect-libc/lib/filesystem.js +0 -51
- package/.next/standalone/node_modules/detect-libc/lib/process.js +0 -24
- package/.next/standalone/node_modules/detect-libc/package.json +0 -44
- package/.next/standalone/node_modules/sharp/lib/channel.js +0 -177
- package/.next/standalone/node_modules/sharp/lib/colour.js +0 -195
- package/.next/standalone/node_modules/sharp/lib/composite.js +0 -212
- package/.next/standalone/node_modules/sharp/lib/constructor.js +0 -499
- package/.next/standalone/node_modules/sharp/lib/index.js +0 -16
- package/.next/standalone/node_modules/sharp/lib/input.js +0 -809
- package/.next/standalone/node_modules/sharp/lib/is.js +0 -143
- package/.next/standalone/node_modules/sharp/lib/libvips.js +0 -207
- package/.next/standalone/node_modules/sharp/lib/operation.js +0 -1016
- package/.next/standalone/node_modules/sharp/lib/output.js +0 -1666
- package/.next/standalone/node_modules/sharp/lib/resize.js +0 -595
- package/.next/standalone/node_modules/sharp/lib/sharp.js +0 -121
- package/.next/standalone/node_modules/sharp/lib/utility.js +0 -291
- package/.next/standalone/node_modules/sharp/node_modules/semver/classes/comparator.js +0 -143
- package/.next/standalone/node_modules/sharp/node_modules/semver/classes/range.js +0 -557
- package/.next/standalone/node_modules/sharp/node_modules/semver/classes/semver.js +0 -333
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/cmp.js +0 -54
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/coerce.js +0 -62
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/compare.js +0 -7
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/eq.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/gt.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/gte.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/lt.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/lte.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/neq.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/parse.js +0 -18
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/satisfies.js +0 -12
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/constants.js +0 -37
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/debug.js +0 -11
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/identifiers.js +0 -29
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/lrucache.js +0 -42
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/parse-options.js +0 -17
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/re.js +0 -223
- package/.next/standalone/node_modules/sharp/node_modules/semver/package.json +0 -78
- package/.next/standalone/node_modules/sharp/package.json +0 -202
- package/.next/standalone/scripts/alias-proxy.js +0 -18
- package/.next/standalone/scripts/dev.ts +0 -3
- package/.next/standalone/scripts/install-telemetry.mjs +0 -108
- package/.next/standalone/scripts/launch.ts +0 -83
- package/.next/standalone/scripts/parse-script-args.ts +0 -87
- package/.next/standalone/scripts/postinstall.mjs +0 -121
- package/.next/standalone/scripts/preuninstall.mjs +0 -131
- package/.next/standalone/scripts/publish-aliases.mjs +0 -87
- package/.next/standalone/scripts/start.ts +0 -3
- package/.next/standalone/scripts/sync-hook-events-prompt.md +0 -60
- package/.next/standalone/scripts/translate-docs/cache.ts +0 -62
- package/.next/standalone/scripts/translate-docs/cli.ts +0 -357
- package/.next/standalone/scripts/translate-docs/config.ts +0 -248
- package/.next/standalone/scripts/translate-docs/mdx-translator.ts +0 -153
- package/.next/standalone/scripts/translate-docs/mintlify-nav.ts +0 -107
- package/.next/standalone/scripts/translate-docs/readme-translator.ts +0 -154
- package/.next/standalone/scripts/translate-docs/translator.ts +0 -68
- package/.next/standalone/scripts/translate-docs/types.ts +0 -43
- package/.next/standalone/src/cli-error.ts +0 -18
- package/.next/standalone/src/hooks/builtin-policies.ts +0 -1613
- package/.next/standalone/src/hooks/custom-hooks-loader.ts +0 -205
- package/.next/standalone/src/hooks/custom-hooks-registry.ts +0 -30
- package/.next/standalone/src/hooks/handler.ts +0 -202
- package/.next/standalone/src/hooks/hook-activity-store.ts +0 -349
- package/.next/standalone/src/hooks/hook-logger.ts +0 -133
- package/.next/standalone/src/hooks/hook-telemetry.ts +0 -43
- package/.next/standalone/src/hooks/hooks-config.ts +0 -166
- package/.next/standalone/src/hooks/install-prompt.ts +0 -357
- package/.next/standalone/src/hooks/llm-client.ts +0 -90
- package/.next/standalone/src/hooks/loader-utils.ts +0 -178
- package/.next/standalone/src/hooks/manager.ts +0 -692
- package/.next/standalone/src/hooks/policy-evaluator.ts +0 -224
- package/.next/standalone/src/hooks/policy-helpers.ts +0 -16
- package/.next/standalone/src/hooks/policy-registry.ts +0 -90
- package/.next/standalone/src/hooks/policy-types.ts +0 -77
- package/.next/standalone/src/hooks/types.ts +0 -63
- package/.next/standalone/src/index.ts +0 -19
- package/.next/standalone/src/posthog-key.ts +0 -5
- package/.next/standalone/tailwind.config.ts +0 -11
- package/.next/standalone/tsconfig.json +0 -42
- package/.next/standalone/vitest.config.e2e.mts +0 -24
- package/.next/standalone/vitest.config.mts +0 -23
- /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → wOkJXoch1UmRAmyIuKZWc}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → wOkJXoch1UmRAmyIuKZWc}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → wOkJXoch1UmRAmyIuKZWc}/_ssgManifest.js +0 -0
|
@@ -1,307 +0,0 @@
|
|
|
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.ru.md) | [🇮🇳 हिन्दी](README.hi.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
|
-
**Traductions** : [简体中文](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
|
-
Le moyen le plus simple de gérer des politiques qui maintiennent vos agents IA fiables, concentrés sur leurs tâches et opérationnels en autonomie — pour **Claude Code** et le **Agents SDK**.
|
|
27
|
-
|
|
28
|
-
- **30 politiques intégrées** — Détectez les modes de défaillance courants des agents dès l'installation. Bloquez les commandes destructrices, prévenez les fuites de secrets, maintenez les agents dans les limites du projet, détectez les boucles, et bien plus encore.
|
|
29
|
-
- **Politiques personnalisées** — Rédigez vos propres règles de fiabilité en JavaScript. Utilisez l'API `allow`/`deny`/`instruct` pour appliquer des conventions, éviter la dérive, contrôler les opérations ou vous intégrer à des systèmes externes.
|
|
30
|
-
- **Configuration simple** — Ajustez n'importe quelle politique sans écrire de code. Définissez des listes d'autorisation, des branches protégées et des seuils par projet ou globalement. La fusion de trois niveaux de configuration s'effectue automatiquement.
|
|
31
|
-
- **Moniteur d'agents** — Visualisez ce que vos agents ont fait en votre absence. Parcourez les sessions, inspectez chaque appel d'outil et examinez précisément où les politiques ont été déclenchées.
|
|
32
|
-
|
|
33
|
-
Tout s'exécute localement — aucune donnée ne quitte votre machine.
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## Prérequis
|
|
38
|
-
|
|
39
|
-
- Node.js >= 20.9.0
|
|
40
|
-
- Bun >= 1.3.0 (optionnel — uniquement nécessaire pour le développement ou la compilation depuis les sources)
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## Installation
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
npm install -g failproofai
|
|
48
|
-
# ou
|
|
49
|
-
bun add -g failproofai
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## Démarrage rapide
|
|
55
|
-
|
|
56
|
-
### 1. Activer les politiques globalement
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
failproofai policies --install
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
Écrit les entrées de hook dans `~/.claude/settings.json`. Claude Code invoquera désormais failproofai avant et après chaque appel d'outil.
|
|
63
|
-
|
|
64
|
-
### 2. Lancer le tableau de bord
|
|
65
|
-
|
|
66
|
-
```bash
|
|
67
|
-
failproofai
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
Ouvre `http://localhost:8020` — parcourez les sessions, inspectez les journaux, gérez les politiques.
|
|
71
|
-
|
|
72
|
-
### 3. Vérifier ce qui est actif
|
|
73
|
-
|
|
74
|
-
```bash
|
|
75
|
-
failproofai policies
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## Installation des politiques
|
|
81
|
-
|
|
82
|
-
### Niveaux
|
|
83
|
-
|
|
84
|
-
| Niveau | Commande | Fichier de destination |
|
|
85
|
-
|--------|---------|-----------------|
|
|
86
|
-
| Global (par défaut) | `failproofai policies --install` | `~/.claude/settings.json` |
|
|
87
|
-
| Projet | `failproofai policies --install --scope project` | `.claude/settings.json` |
|
|
88
|
-
| Local | `failproofai policies --install --scope local` | `.claude/settings.local.json` |
|
|
89
|
-
|
|
90
|
-
### Installer des politiques spécifiques
|
|
91
|
-
|
|
92
|
-
```bash
|
|
93
|
-
failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
### Supprimer des politiques
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
failproofai policies --uninstall
|
|
100
|
-
# ou pour un niveau spécifique :
|
|
101
|
-
failproofai policies --uninstall --scope project
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## Configuration
|
|
107
|
-
|
|
108
|
-
La configuration des politiques se trouve dans `~/.failproofai/policies-config.json` (global) ou `.failproofai/policies-config.json` dans votre projet (par projet).
|
|
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": "Use apt-get directly without sudo."
|
|
124
|
-
},
|
|
125
|
-
"block-push-master": {
|
|
126
|
-
"protectedBranches": ["main", "release", "prod"],
|
|
127
|
-
"hint": "Try creating a fresh branch instead."
|
|
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
|
-
**Les trois niveaux de configuration** sont fusionnés automatiquement (projet → local → global). Consultez [docs/configuration.mdx](docs/configuration.mdx) pour les règles de fusion complètes.
|
|
142
|
-
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
## Politiques intégrées
|
|
146
|
-
|
|
147
|
-
| Politique | Description | Configurable |
|
|
148
|
-
|--------|-------------|:---:|
|
|
149
|
-
| `block-sudo` | Empêche les agents d'exécuter des commandes système privilégiées | `allowPatterns` |
|
|
150
|
-
| `block-rm-rf` | Empêche la suppression récursive accidentelle de fichiers | `allowPaths` |
|
|
151
|
-
| `block-curl-pipe-sh` | Empêche les agents de diriger des scripts non fiables vers le shell | |
|
|
152
|
-
| `block-failproofai-commands` | Empêche la désinstallation automatique | |
|
|
153
|
-
| `sanitize-jwt` | Empêche les jetons JWT de fuiter dans le contexte de l'agent | |
|
|
154
|
-
| `sanitize-api-keys` | Empêche les clés API de fuiter dans le contexte de l'agent | `additionalPatterns` |
|
|
155
|
-
| `sanitize-connection-strings` | Empêche les identifiants de base de données de fuiter dans le contexte de l'agent | |
|
|
156
|
-
| `sanitize-private-key-content` | Masque les blocs de clés privées PEM dans la sortie | |
|
|
157
|
-
| `sanitize-bearer-tokens` | Masque les jetons Authorization Bearer dans la sortie | |
|
|
158
|
-
| `block-env-files` | Empêche les agents de lire les fichiers .env | |
|
|
159
|
-
| `protect-env-vars` | Empêche les agents d'afficher les variables d'environnement | |
|
|
160
|
-
| `block-read-outside-cwd` | Maintient les agents dans les limites du projet | `allowPaths` |
|
|
161
|
-
| `block-secrets-write` | Empêche les écritures vers des fichiers de clés privées et de certificats | `additionalPatterns` |
|
|
162
|
-
| `block-push-master` | Empêche les push accidentels vers main/master | `protectedBranches` |
|
|
163
|
-
| `block-work-on-main` | Maintient les agents hors des branches protégées | `protectedBranches` |
|
|
164
|
-
| `block-force-push` | Empêche `git push --force` | |
|
|
165
|
-
| `warn-git-amend` | Avertit les agents avant de modifier des commits | |
|
|
166
|
-
| `warn-git-stash-drop` | Avertit les agents avant de supprimer des stashes | |
|
|
167
|
-
| `warn-all-files-staged` | Détecte les `git add -A` accidentels | |
|
|
168
|
-
| `warn-destructive-sql` | Détecte les instructions SQL DROP/DELETE avant exécution | |
|
|
169
|
-
| `warn-schema-alteration` | Détecte les ALTER TABLE avant exécution | |
|
|
170
|
-
| `warn-large-file-write` | Détecte les écritures de fichiers inopinément volumineux | `thresholdKb` |
|
|
171
|
-
| `warn-package-publish` | Détecte les `npm publish` accidentels | |
|
|
172
|
-
| `warn-background-process` | Détecte les lancements involontaires de processus en arrière-plan | |
|
|
173
|
-
| `warn-global-package-install` | Détecte les installations involontaires de paquets globaux | |
|
|
174
|
-
| …et d'autres | | |
|
|
175
|
-
|
|
176
|
-
Détails complets des politiques et référence des paramètres : [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
|
|
177
|
-
|
|
178
|
-
---
|
|
179
|
-
|
|
180
|
-
## Politiques personnalisées
|
|
181
|
-
|
|
182
|
-
Rédigez vos propres politiques pour maintenir les agents fiables et concentrés sur leurs tâches :
|
|
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
|
-
À installer avec :
|
|
201
|
-
|
|
202
|
-
```bash
|
|
203
|
-
failproofai policies --install --custom ./my-policies.js
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
### Fonctions de décision
|
|
207
|
-
|
|
208
|
-
| Fonction | Effet |
|
|
209
|
-
|----------|--------|
|
|
210
|
-
| `allow()` | Autorise l'opération |
|
|
211
|
-
| `allow(message)` | Autorise et envoie un contexte informatif à Claude |
|
|
212
|
-
| `deny(message)` | Bloque l'opération ; le message est transmis à Claude |
|
|
213
|
-
| `instruct(message)` | Ajoute du contexte à l'invite de Claude ; ne bloque pas |
|
|
214
|
-
|
|
215
|
-
### Objet de contexte (`ctx`)
|
|
216
|
-
|
|
217
|
-
| Champ | Type | Description |
|
|
218
|
-
|-------|------|-------------|
|
|
219
|
-
| `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
|
|
220
|
-
| `toolName` | `string` | Outil appelé (`"Bash"`, `"Write"`, `"Read"`, …) |
|
|
221
|
-
| `toolInput` | `object` | Paramètres d'entrée de l'outil |
|
|
222
|
-
| `payload` | `object` | Charge utile brute complète de l'événement |
|
|
223
|
-
| `session.cwd` | `string` | Répertoire de travail de la session Claude Code |
|
|
224
|
-
| `session.sessionId` | `string` | Identifiant de session |
|
|
225
|
-
| `session.transcriptPath` | `string` | Chemin vers le fichier de transcription de la session |
|
|
226
|
-
|
|
227
|
-
Les hooks personnalisés prennent en charge les imports locaux transitifs, async/await et l'accès à `process.env`. Les erreurs sont en mode fail-open (consignées dans `~/.failproofai/hook.log`, les politiques intégrées continuent de s'exécuter). Consultez [docs/custom-hooks.mdx](docs/custom-hooks.mdx) pour le guide complet.
|
|
228
|
-
|
|
229
|
-
### Politiques basées sur les conventions
|
|
230
|
-
|
|
231
|
-
Déposez des fichiers `*policies.{js,mjs,ts}` dans `.failproofai/policies/` et ils seront chargés automatiquement — aucun indicateur ni modification de configuration n'est nécessaire. Commitez le répertoire dans git et chaque membre de l'équipe bénéficie automatiquement des mêmes standards de qualité.
|
|
232
|
-
|
|
233
|
-
```text
|
|
234
|
-
# Niveau projet — commité dans git, partagé avec l'équipe
|
|
235
|
-
.failproofai/policies/security-policies.mjs
|
|
236
|
-
.failproofai/policies/workflow-policies.mjs
|
|
237
|
-
|
|
238
|
-
# Niveau utilisateur — personnel, s'applique à tous les projets
|
|
239
|
-
~/.failproofai/policies/my-policies.mjs
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
Les deux niveaux sont chargés (union). Les fichiers sont chargés par ordre alphabétique dans chaque répertoire. Préfixez avec `01-`, `02-`, etc. pour contrôler l'ordre. Au fur et à mesure que votre équipe découvre de nouveaux modes de défaillance, ajoutez une politique et poussez — tout le monde reçoit la mise à jour lors de leur prochain pull. Consultez [examples/convention-policies/](examples/convention-policies/) pour des exemples prêts à l'emploi.
|
|
243
|
-
|
|
244
|
-
---
|
|
245
|
-
|
|
246
|
-
## Télémétrie
|
|
247
|
-
|
|
248
|
-
Failproof AI collecte une télémétrie d'utilisation anonyme via PostHog afin de comprendre l'utilisation des fonctionnalités. Aucun contenu de session, nom de fichier, entrée d'outil ni information personnelle n'est jamais transmis.
|
|
249
|
-
|
|
250
|
-
Pour la désactiver :
|
|
251
|
-
|
|
252
|
-
```bash
|
|
253
|
-
FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
---
|
|
257
|
-
|
|
258
|
-
## Documentation
|
|
259
|
-
|
|
260
|
-
| Guide | Description |
|
|
261
|
-
|-------|-------------|
|
|
262
|
-
| [Démarrage](docs/getting-started.mdx) | Installation et premiers pas |
|
|
263
|
-
| [Politiques intégrées](docs/built-in-policies.mdx) | Les 30 politiques intégrées avec leurs paramètres |
|
|
264
|
-
| [Politiques personnalisées](docs/custom-policies.mdx) | Rédigez vos propres politiques |
|
|
265
|
-
| [Configuration](docs/configuration.mdx) | Format du fichier de configuration et fusion des niveaux |
|
|
266
|
-
| [Tableau de bord](docs/dashboard.mdx) | Surveillez les sessions et examinez l'activité des politiques |
|
|
267
|
-
| [Architecture](docs/architecture.mdx) | Fonctionnement du système de hooks |
|
|
268
|
-
| [Tests](docs/testing.mdx) | Exécuter les tests et en écrire de nouveaux |
|
|
269
|
-
|
|
270
|
-
### Lancer la documentation localement
|
|
271
|
-
|
|
272
|
-
```bash
|
|
273
|
-
docker build -f Dockerfile.docs -t failproofai-docs .
|
|
274
|
-
docker run --rm -p 3000:3000 failproofai-docs
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
Ouvre le site de documentation Mintlify à l'adresse `http://localhost:3000`. Le conteneur surveille les modifications si vous montez le répertoire docs :
|
|
278
|
-
|
|
279
|
-
```bash
|
|
280
|
-
docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
|
|
281
|
-
```
|
|
282
|
-
|
|
283
|
-
---
|
|
284
|
-
|
|
285
|
-
## Note à l'attention des contributeurs failproofai
|
|
286
|
-
|
|
287
|
-
Le fichier `.claude/settings.json` de ce dépôt utilise `bun ./bin/failproofai.mjs --hook <EventType>` au lieu de la commande standard `npx -y failproofai`. En effet, exécuter `npx -y failproofai` à l'intérieur du projet failproofai lui-même crée un conflit d'auto-référencement.
|
|
288
|
-
|
|
289
|
-
Pour tous les autres dépôts, l'approche recommandée est `npx -y failproofai`, installée via :
|
|
290
|
-
|
|
291
|
-
```bash
|
|
292
|
-
failproofai policies --install --scope project
|
|
293
|
-
```
|
|
294
|
-
|
|
295
|
-
## Contribution
|
|
296
|
-
|
|
297
|
-
Consultez [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
298
|
-
|
|
299
|
-
---
|
|
300
|
-
|
|
301
|
-
## Licence
|
|
302
|
-
|
|
303
|
-
Consultez [LICENSE](LICENSE).
|
|
304
|
-
|
|
305
|
-
---
|
|
306
|
-
|
|
307
|
-
Conçu et maintenu par **ExosphereHost : Reliability Research Lab for Your Agents**. Nous aidons les entreprises et les startups à améliorer la fiabilité de leurs agents IA grâce à nos propres agents, logiciels et expertises. En savoir plus sur [exosphere.host](https://exosphere.host).
|
|
@@ -1,312 +0,0 @@
|
|
|
1
|
-
> **⚠️** هذه ترجمة آلية. للاطلاع على أحدث إصدار، راجع [English README](../../README.md).
|
|
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.it.md) | [🇸🇦 العربية](README.ar.md) | **🇮🇱 עברית**
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
<div dir="rtl">
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
```
|
|
10
|
-
______ _ __ ____ ___ ____
|
|
11
|
-
/ ____/___ _(_) /___ _________ ____ / __/ / | / _/
|
|
12
|
-
/ /_ / __ `/ / / __ \/ ___/ __ \/ __ \/ /_ / /| | / /
|
|
13
|
-
/ __/ / /_/ / / / /_/ / / / /_/ / /_/ / __/ / ___ |_/ /
|
|
14
|
-
/_/ \__,_/_/_/ .___/_/ \____/\____/_/ /_/ |_/___/
|
|
15
|
-
/_/
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
# Failproof AI
|
|
19
|
-
|
|
20
|
-
[](https://befailproof.ai)
|
|
21
|
-
[](https://www.npmjs.com/package/failproofai)
|
|
22
|
-
[](LICENSE)
|
|
23
|
-
[](https://github.com/exospherehost/failproofai/actions)
|
|
24
|
-
[](https://join.slack.com/t/failproofai/shared_invite/zt-3v63b7k5e-O3NBHmj8X6n9gZSGDx6ggQ)
|
|
25
|
-
|
|
26
|
-
**תרגומים**: [简体中文](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)
|
|
27
|
-
|
|
28
|
-
הדרך הקלה ביותר לנהל מדיניות המשמרות על סוכני AI שלך בעלי אמינות, ממוקדי משימה, ופועלים באופן עצמאי - עבור **Claude Code** וה-**Agents SDK**.
|
|
29
|
-
|
|
30
|
-
- **30 מדיניות מובנות** - תפסו מצבי כישלון נפוצים של סוכנים מהותיבה. חסמו פקודות הרסניות, מנעו דליפת סודות, שמרו סוכנים בתוך גבולות הפרויקט, גלו לולאות, ועוד.
|
|
31
|
-
- **מדיניות מותאמות אישית** - כתבו את כללי האמינות שלכם ב-JavaScript. השתמשו ב-API `allow`/`deny`/`instruct` כדי לאכוף קונוונציות, למנוע סטייה, לשער פעולות, או להשתלב עם מערכות חיצוניות.
|
|
32
|
-
- **תצורה קלה** - כווננו כל מדיניות ללא כתיבת קוד. הגדרו רשימות מורשה, ענפים מוגנים, סף ליחידה לפרויקט או באופן גלובלי. שלוש-טווח תצורה מתמזגת באופן אוטומטי.
|
|
33
|
-
- **Agent Monitor** - ראו מה עשו הסוכנים שלכם בזמן שהייתם הרחוק. דפדפו בהפעלות, בדקו כל קריאת כלי, וסקרו בדיוק איפה מדיניויות הופעלו.
|
|
34
|
-
|
|
35
|
-
הכל פועל באופן מקומי - אף נתונים לא משאירים את המכונה שלך.
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## דרישות
|
|
40
|
-
|
|
41
|
-
- Node.js >= 20.9.0
|
|
42
|
-
- Bun >= 1.3.0 (אופציונלי - נדרש רק לפיתוח / בנייה מהקוד המקור)
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## התקנה
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
npm install -g failproofai
|
|
50
|
-
# או
|
|
51
|
-
bun add -g failproofai
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
---
|
|
55
|
-
|
|
56
|
-
## התחלה מהירה
|
|
57
|
-
|
|
58
|
-
### 1. הפעלת מדיניויות בגלובליות
|
|
59
|
-
|
|
60
|
-
```bash
|
|
61
|
-
failproofai policies --install
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
כותב ערכי hook ל-`~/.claude/settings.json`. Claude Code יזמן כעת את failproofai לפני ואחרי כל קריאת כלי.
|
|
65
|
-
|
|
66
|
-
### 2. הפעלת לוח הבקרה
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
failproofai
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
פותח את `http://localhost:8020` - דפדפו בהפעלות, בדקו יומנים, נהלו מדיניויות.
|
|
73
|
-
|
|
74
|
-
### 3. בדיקת מה הוא פעיל
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
failproofai policies
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
---
|
|
81
|
-
|
|
82
|
-
## התקנת מדיניות
|
|
83
|
-
|
|
84
|
-
### טווחים
|
|
85
|
-
|
|
86
|
-
| טווח | פקודה | היכן הוא כותב |
|
|
87
|
-
|-------|---------|-----------------|
|
|
88
|
-
| גלובלי (ברירת מחדל) | `failproofai policies --install` | `~/.claude/settings.json` |
|
|
89
|
-
| פרויקט | `failproofai policies --install --scope project` | `.claude/settings.json` |
|
|
90
|
-
| מקומי | `failproofai policies --install --scope local` | `.claude/settings.local.json` |
|
|
91
|
-
|
|
92
|
-
### התקנת מדיניויות ספציפיות
|
|
93
|
-
|
|
94
|
-
```bash
|
|
95
|
-
failproofai policies --install block-sudo block-rm-rf sanitize-api-keys
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
### הסרת מדיניויות
|
|
99
|
-
|
|
100
|
-
```bash
|
|
101
|
-
failproofai policies --uninstall
|
|
102
|
-
# או לטווח ספציפי:
|
|
103
|
-
failproofai policies --uninstall --scope project
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
---
|
|
107
|
-
|
|
108
|
-
## תצורה
|
|
109
|
-
|
|
110
|
-
תצורת מדיניות נמצאת ב-`~/.failproofai/policies-config.json` (גלובלי) או `.failproofai/policies-config.json` בפרויקט שלכם (לכל פרויקט).
|
|
111
|
-
|
|
112
|
-
```json
|
|
113
|
-
{
|
|
114
|
-
"enabledPolicies": [
|
|
115
|
-
"block-sudo",
|
|
116
|
-
"block-rm-rf",
|
|
117
|
-
"sanitize-api-keys",
|
|
118
|
-
"block-push-master",
|
|
119
|
-
"block-env-files",
|
|
120
|
-
"block-read-outside-cwd"
|
|
121
|
-
],
|
|
122
|
-
"policyParams": {
|
|
123
|
-
"block-sudo": {
|
|
124
|
-
"allowPatterns": ["sudo systemctl status", "sudo journalctl"],
|
|
125
|
-
"hint": "השתמשו ב-apt-get ישירות ללא sudo."
|
|
126
|
-
},
|
|
127
|
-
"block-push-master": {
|
|
128
|
-
"protectedBranches": ["main", "release", "prod"],
|
|
129
|
-
"hint": "נסו ליצור ענף טרי במקום."
|
|
130
|
-
},
|
|
131
|
-
"sanitize-api-keys": {
|
|
132
|
-
"additionalPatterns": [
|
|
133
|
-
{ "regex": "myco_[A-Za-z0-9]{32}", "label": "MyCo API key" }
|
|
134
|
-
]
|
|
135
|
-
},
|
|
136
|
-
"warn-large-file-write": {
|
|
137
|
-
"thresholdKb": 512
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
**שלוש טווחי תצורה** מתמזגים באופן אוטומטי (פרויקט → מקומי → גלובלי). ראו [docs/configuration.mdx](docs/configuration.mdx) לכללי מזג מלאים.
|
|
144
|
-
|
|
145
|
-
---
|
|
146
|
-
|
|
147
|
-
## מדיניויות מובנות
|
|
148
|
-
|
|
149
|
-
| מדיניות | תיאור | הניתן להגדרה |
|
|
150
|
-
|--------|-------------|:---:|
|
|
151
|
-
| `block-sudo` | מנעו סוכנים מהפעלת פקודות מערכת מעודכנות | `allowPatterns` |
|
|
152
|
-
| `block-rm-rf` | מנעו מחיקת קבצים רקורסיבית בשגגה | `allowPaths` |
|
|
153
|
-
| `block-curl-pipe-sh` | מנעו סוכנים מהובלת סקריפטים לא מהימנים לshell | |
|
|
154
|
-
| `block-failproofai-commands` | מנעו הסרה עצמית | |
|
|
155
|
-
| `sanitize-jwt` | עצרו דלפות JWT טוקנים להקשר סוכן | |
|
|
156
|
-
| `sanitize-api-keys` | עצרו דלפות API keys להקשר סוכן | `additionalPatterns` |
|
|
157
|
-
| `sanitize-connection-strings` | עצרו דלפות הנתונים של בסיס הנתונים להקשר סוכן | |
|
|
158
|
-
| `sanitize-private-key-content` | מחקו בלוקי PEM מפתח פרטי מהפלט | |
|
|
159
|
-
| `sanitize-bearer-tokens` | מחקו Bearer Token של Authorization מהפלט | |
|
|
160
|
-
| `block-env-files` | שמרו סוכנים מקריאת קבצי .env | |
|
|
161
|
-
| `protect-env-vars` | מנעו סוכנים מהדפסת משתנים סביבה | |
|
|
162
|
-
| `block-read-outside-cwd` | שמרו סוכנים בתוך גבולות הפרויקט | `allowPaths` |
|
|
163
|
-
| `block-secrets-write` | מנעו כתיבות לקבצי מפתח פרטי וקובצי אישור | `additionalPatterns` |
|
|
164
|
-
| `block-push-master` | מנעו דחפים בשגגה לmain/master | `protectedBranches` |
|
|
165
|
-
| `block-work-on-main` | שמרו סוכנים מענפים מוגנים | `protectedBranches` |
|
|
166
|
-
| `block-force-push` | מנעו `git push --force` | |
|
|
167
|
-
| `warn-git-amend` | הזכירו סוכנים לפני תיקון commits | |
|
|
168
|
-
| `warn-git-stash-drop` | הזכירו סוכנים לפני ירידת stashes | |
|
|
169
|
-
| `warn-all-files-staged` | תפסו בשגגה `git add -A` | |
|
|
170
|
-
| `warn-destructive-sql` | תפסו DROP/DELETE SQL לפני הביצוע | |
|
|
171
|
-
| `warn-schema-alteration` | תפסו ALTER TABLE לפני הביצוע | |
|
|
172
|
-
| `warn-large-file-write` | תפסו כתיבות קבצים גדולות בצורה בלתי צפויה | `thresholdKb` |
|
|
173
|
-
| `warn-package-publish` | תפסו בשגגה `npm publish` | |
|
|
174
|
-
| `warn-background-process` | תפסו הפעלות תהליך רקע בלתי מכוונות | |
|
|
175
|
-
| `warn-global-package-install` | תפסו התקנות חבילה גלובליות בלתי מכוונות | |
|
|
176
|
-
| … ועוד | | |
|
|
177
|
-
|
|
178
|
-
פרטי מדיניות מלא והפניה לפרמטר: [docs/built-in-policies.mdx](docs/built-in-policies.mdx)
|
|
179
|
-
|
|
180
|
-
---
|
|
181
|
-
|
|
182
|
-
## מדיניויות מותאמות אישית
|
|
183
|
-
|
|
184
|
-
כתבו את המדיניויות שלכם כדי להשאיר סוכנים אמינים וממוקדי משימה:
|
|
185
|
-
|
|
186
|
-
```js
|
|
187
|
-
import { customPolicies, allow, deny, instruct } from "failproofai";
|
|
188
|
-
|
|
189
|
-
customPolicies.add({
|
|
190
|
-
name: "no-production-writes",
|
|
191
|
-
description: "חסמו כתיבות לנתיבים המכילים 'production'",
|
|
192
|
-
match: { events: ["PreToolUse"] },
|
|
193
|
-
fn: async (ctx) => {
|
|
194
|
-
if (!["Write", "Edit"].includes(ctx.toolName ?? "")) return allow();
|
|
195
|
-
const path = ctx.toolInput?.file_path ?? "";
|
|
196
|
-
if (path.includes("production")) return deny("כתיבות לנתיבי production חסומות");
|
|
197
|
-
return allow();
|
|
198
|
-
},
|
|
199
|
-
});
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
התקינו עם:
|
|
203
|
-
|
|
204
|
-
```bash
|
|
205
|
-
failproofai policies --install --custom ./my-policies.js
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
### עוזרי החלטות
|
|
209
|
-
|
|
210
|
-
| פונקציה | השפעה |
|
|
211
|
-
|----------|--------|
|
|
212
|
-
| `allow()` | אפשרו את הפעולה |
|
|
213
|
-
| `allow(message)` | אפשרו ושלחו הקשר מידע ל-Claude |
|
|
214
|
-
| `deny(message)` | חסמו את הפעולה; ההודעה מוצגת ל-Claude |
|
|
215
|
-
| `instruct(message)` | הוסיפו הקשר להנמקת Claude; לא חוסמות |
|
|
216
|
-
|
|
217
|
-
### אובייקט הקשר (`ctx`)
|
|
218
|
-
|
|
219
|
-
| שדה | סוג | תיאור |
|
|
220
|
-
|-------|------|-------------|
|
|
221
|
-
| `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
|
|
222
|
-
| `toolName` | `string` | כלי שמקרא (`"Bash"`, `"Write"`, `"Read"`, …) |
|
|
223
|
-
| `toolInput` | `object` | פרמטרי קלט של הכלי |
|
|
224
|
-
| `payload` | `object` | עומס ईvévénement גולמי מלא |
|
|
225
|
-
| `session.cwd` | `string` | ספריית עבודה של הפעלת Claude Code |
|
|
226
|
-
| `session.sessionId` | `string` | מזהה הפעלה |
|
|
227
|
-
| `session.transcriptPath` | `string` | נתיב לקובץ תמלול של ההפעלה |
|
|
228
|
-
|
|
229
|
-
hook מותאמים תומכים ביבוא מקומי טרנזיטיבי, async/await, וגישה ל-`process.env`. שגיאות הן fail-open (logged ל-`~/.failproofai/hook.log`, מדיניויות מובנות ממשיכות). ראו [docs/custom-hooks.mdx](docs/custom-hooks.mdx) לעבור מלא.
|
|
230
|
-
|
|
231
|
-
### מדיניויות מבוססות קונוונציה
|
|
232
|
-
|
|
233
|
-
שימו `*policies.{js,mjs,ts}` קבצים ל-`.failproofai/policies/` והם נטענים באופן אוטומטי — ללא דגלים או שינויי תצורה. זרמו את הספרייה ל-git וכל חבר בצוות מקבל את אותם תקנים איכות באופן אוטומטי.
|
|
234
|
-
|
|
235
|
-
```text
|
|
236
|
-
# רמת הפרויקט — commited ל-git, משותף עם הצוות
|
|
237
|
-
.failproofai/policies/security-policies.mjs
|
|
238
|
-
.failproofai/policies/workflow-policies.mjs
|
|
239
|
-
|
|
240
|
-
# רמת משתמש — אישי, חל על כל הפרויקטים
|
|
241
|
-
~/.failproofai/policies/my-policies.mjs
|
|
242
|
-
```
|
|
243
|
-
|
|
244
|
-
שתי רמות נטענות (union). קבצים נטענים בסדר אלפביתי בתוך כל ספרייה. קדימו עם `01-`, `02-`, וכו' כדי לשלוט בסדר. כשהצוות שלך מגלה מצבי כישלון חדשים, הוסיפו מדיניות ודחפו — כולם מקבלים עדכון ב-pull הבא שלהם. ראו [examples/convention-policies/](examples/convention-policies/) לדוגמאות מוכנות לשימוש.
|
|
245
|
-
|
|
246
|
-
---
|
|
247
|
-
|
|
248
|
-
## טלמטריה
|
|
249
|
-
|
|
250
|
-
Failproof AI אוסף טלמטריית שימוש אנונימית דרך PostHog כדי להבין שימוש בתכונות. תוכן הפעלה, שמות קבצים, קלטי כלים, או מידע אישי לעולם לא נשלחים.
|
|
251
|
-
|
|
252
|
-
הסירו את זה:
|
|
253
|
-
|
|
254
|
-
```bash
|
|
255
|
-
FAILPROOFAI_TELEMETRY_DISABLED=1 failproofai
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
---
|
|
259
|
-
|
|
260
|
-
## תיעוד
|
|
261
|
-
|
|
262
|
-
| מדריך | תיאור |
|
|
263
|
-
|-------|-------------|
|
|
264
|
-
| [Getting Started](docs/getting-started.mdx) | התקנה וצעדים ראשונים |
|
|
265
|
-
| [Built-in Policies](docs/built-in-policies.mdx) | כל 30 המדיניויות המובנות עם פרמטרים |
|
|
266
|
-
| [Custom Policies](docs/custom-policies.mdx) | כתבו את המדיניויות שלכם |
|
|
267
|
-
| [Configuration](docs/configuration.mdx) | פורמט קובץ תצורה ומזג טווח |
|
|
268
|
-
| [Dashboard](docs/dashboard.mdx) | מעקב אחר הפעלות וסקירת פעילות מדיניות |
|
|
269
|
-
| [Architecture](docs/architecture.mdx) | איך מערכת ה-hook פועלת |
|
|
270
|
-
| [Testing](docs/testing.mdx) | הפעלת בדיקות וכתיבת חדשות |
|
|
271
|
-
|
|
272
|
-
### הפעלת תיעוד באופן מקומי
|
|
273
|
-
|
|
274
|
-
```bash
|
|
275
|
-
docker build -f Dockerfile.docs -t failproofai-docs .
|
|
276
|
-
docker run --rm -p 3000:3000 failproofai-docs
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
פותח את אתר Mintlify docs ב-`http://localhost:3000`. המכולה צופה בשינויים אם אתם מעגנים את ספריית התיעוד:
|
|
280
|
-
|
|
281
|
-
```bash
|
|
282
|
-
docker run --rm -p 3000:3000 -v $(pwd)/docs:/app/docs failproofai-docs
|
|
283
|
-
```
|
|
284
|
-
|
|
285
|
-
---
|
|
286
|
-
|
|
287
|
-
## הערה לתורמי failproofai
|
|
288
|
-
|
|
289
|
-
`~/.claude/settings.json` של repo זה משתמש ב-`bun ./bin/failproofai.mjs --hook <EventType>` במקום הפקודה הסטנדרטית `npx -y failproofai`. זה מכיוון שהפעלת `npx -y failproofai` בתוך פרויקט failproofai עצמו יוצרת סכסוך התייחסות עצמית.
|
|
290
|
-
|
|
291
|
-
לכל repos אחרים, הגישה המומלצת היא `npx -y failproofai`, מותקנת דרך:
|
|
292
|
-
|
|
293
|
-
```bash
|
|
294
|
-
failproofai policies --install --scope project
|
|
295
|
-
```
|
|
296
|
-
|
|
297
|
-
## תרומה
|
|
298
|
-
|
|
299
|
-
ראו [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
300
|
-
|
|
301
|
-
---
|
|
302
|
-
|
|
303
|
-
## רישיון
|
|
304
|
-
|
|
305
|
-
ראו [LICENSE](LICENSE).
|
|
306
|
-
|
|
307
|
-
---
|
|
308
|
-
|
|
309
|
-
בנוי ותחזוקה על ידי **ExosphereHost: Reliability Research Lab for Your Agents**. אנחנו עוזרים לחברות וסטארטאפים לשפר את האמינות של סוכני AI שלהם דרך סוכנים, תוכנה, וכישוריות שלנו. למידע נוסף בקרו ב-[exosphere.host](https://exosphere.host).
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
</div>
|