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,353 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Özel İlkeler
|
|
3
|
-
description: "JavaScript'te kendi ilkelerinizi yazın - kuralları uygulayın, sapmaları önleyin, hataları tespit edin, dış sistemlerle entegre olun"
|
|
4
|
-
icon: code
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
Özel ilkeler, herhangi bir agent davranışı için kurallar yazmanızı sağlar: proje kurallarını uygulayın, sapmaları önleyin, yıkıcı işlemleri kontrol edin, takılı kalmış aracıları tespit edin veya Slack, onay iş akışları ve daha fazlası ile entegre olun. Yerleşik ilkeler ile aynı hook event sistemini ve `allow`, `deny`, `instruct` kararlarını kullanırlar.
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Hızlı örnek
|
|
12
|
-
|
|
13
|
-
```js
|
|
14
|
-
// my-policies.js
|
|
15
|
-
import { customPolicies, allow, deny, instruct } from "failproofai";
|
|
16
|
-
|
|
17
|
-
customPolicies.add({
|
|
18
|
-
name: "no-production-writes",
|
|
19
|
-
description: "Block writes to paths containing 'production'",
|
|
20
|
-
match: { events: ["PreToolUse"] },
|
|
21
|
-
fn: async (ctx) => {
|
|
22
|
-
if (ctx.toolName !== "Write" && ctx.toolName !== "Edit") return allow();
|
|
23
|
-
const path = ctx.toolInput?.file_path ?? "";
|
|
24
|
-
if (path.includes("production")) {
|
|
25
|
-
return deny("Writes to production paths are blocked");
|
|
26
|
-
}
|
|
27
|
-
return allow();
|
|
28
|
-
},
|
|
29
|
-
});
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
Yükleyin:
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
failproofai policies --install --custom ./my-policies.js
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## Özel ilkeleri yüklemenin iki yolu
|
|
41
|
-
|
|
42
|
-
### Seçenek 1: Kural tabanlı (önerilen)
|
|
43
|
-
|
|
44
|
-
`*policies.{js,mjs,ts}` dosyalarını `.failproofai/policies/` klasörüne koyun ve otomatik olarak yüklenir — hiçbir bayrak veya yapılandırma değişikliği gerekmez. Bu git hooks gibi çalışır: dosyayı koyun, işte bu kadar.
|
|
45
|
-
|
|
46
|
-
```
|
|
47
|
-
# Proje düzeyi — git'e kaydedilir, takım ile paylaşılır
|
|
48
|
-
.failproofai/policies/security-policies.mjs
|
|
49
|
-
.failproofai/policies/workflow-policies.mjs
|
|
50
|
-
|
|
51
|
-
# Kullanıcı düzeyi — kişisel, tüm projeler için geçerli
|
|
52
|
-
~/.failproofai/policies/my-policies.mjs
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
**Nasıl çalışır:**
|
|
56
|
-
- Hem proje hem de kullanıcı dizinleri taranır (birleşim — ilk kapsam kazanması değil)
|
|
57
|
-
- Dosyalar her klasöre alfabetik olarak yüklenir. Sırayı kontrol etmek için `01-`, `02-` ön ekini kullanın
|
|
58
|
-
- Sadece `*policies.{js,mjs,ts}` ile eşleşen dosyalar yüklenir; diğer dosyalar göz ardı edilir
|
|
59
|
-
- Her dosya bağımsız olarak yüklenir (dosya başına açık başarısızlık)
|
|
60
|
-
- Açık `--custom` ve yerleşik ilkeler ile yan yana çalışır
|
|
61
|
-
|
|
62
|
-
<Tip>
|
|
63
|
-
Kural tabanlı ilkeler, kuruluşunuz için bir kalite standardı oluşturmanın en kolay yoludur. `.failproofai/policies/` git'e kaydedin ve her takım üyesi otomatik olarak aynı kuralları alır — geliştirici başına kurulum gerekmez. Takımınız yeni hata modları keşfettikçe, bir ilke ekleyin ve gönderin. Zaman içinde bu, her katkıyla iyileşen canlı bir kalite standardı haline gelir.
|
|
64
|
-
</Tip>
|
|
65
|
-
|
|
66
|
-
### Seçenek 2: Açık dosya yolu
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
# Özel ilkeler dosyası ile yükleyin
|
|
70
|
-
failproofai policies --install --custom ./my-policies.js
|
|
71
|
-
|
|
72
|
-
# İlkeler dosya yolunu değiştirin
|
|
73
|
-
failproofai policies --install --custom ./new-policies.js
|
|
74
|
-
|
|
75
|
-
# Yapılandırmadan özel ilkeler yolunu kaldırın
|
|
76
|
-
failproofai policies --uninstall --custom
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
Çözümlenen mutlak yol, `policies-config.json` içinde `customPoliciesPath` olarak depolanır. Dosya her hook eventinde yeniden yüklenir - eventler arasında önbellekleme yoktur.
|
|
80
|
-
|
|
81
|
-
### Her ikisini birlikte kullanma
|
|
82
|
-
|
|
83
|
-
Kural tabanlı ilkeler ve açık `--custom` dosyası birlikte var olabilir. Yükleme sırası:
|
|
84
|
-
|
|
85
|
-
1. Açık `customPoliciesPath` dosyası (yapılandırıldıysa)
|
|
86
|
-
2. Proje kural tabanlı dosyaları (`{cwd}/.failproofai/policies/`, alfabetik)
|
|
87
|
-
3. Kullanıcı kural tabanlı dosyaları (`~/.failproofai/policies/`, alfabetik)
|
|
88
|
-
|
|
89
|
-
---
|
|
90
|
-
|
|
91
|
-
## API
|
|
92
|
-
|
|
93
|
-
### İçe aktar
|
|
94
|
-
|
|
95
|
-
```js
|
|
96
|
-
import { customPolicies, allow, deny, instruct } from "failproofai";
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
### `customPolicies.add(hook)`
|
|
100
|
-
|
|
101
|
-
Bir ilkeyi kaydeder. Aynı dosyada birden fazla ilke için gerektiği kadar çağırın.
|
|
102
|
-
|
|
103
|
-
```ts
|
|
104
|
-
customPolicies.add({
|
|
105
|
-
name: string; // required - unique identifier
|
|
106
|
-
description?: string; // shown in `failproofai policies` output
|
|
107
|
-
match?: { events?: HookEventType[] }; // filter by event type; omit to match all
|
|
108
|
-
fn: (ctx: PolicyContext) => PolicyResult | Promise<PolicyResult>;
|
|
109
|
-
});
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
### Karar yardımcıları
|
|
113
|
-
|
|
114
|
-
| İşlev | Etki | Ne zaman kullanılır |
|
|
115
|
-
|----------|--------|----------|
|
|
116
|
-
| `allow()` | İşlemi sessizce izin ver | İşlem güvenli, mesaj gerekmez |
|
|
117
|
-
| `deny(message)` | İşlemi engelle | Agent bu işlemi yapmamalı |
|
|
118
|
-
| `instruct(message)` | Bloklama olmaksızın bağlam ekle | Agent'a yolda kalmak için ek bağlam ver |
|
|
119
|
-
|
|
120
|
-
`deny(message)` - ileti Claude'a `"Blocked by failproofai:"` ön ekiyle görünür. Tek bir `deny` tüm diğer değerlendirmeleri kısa devre yapar.
|
|
121
|
-
|
|
122
|
-
`instruct(message)` - ileti Claude'un geçerli araç çağrısı için bağlamına eklenir. Tüm `instruct` iletileri birlikte biriktirilir ve gönderilir.
|
|
123
|
-
|
|
124
|
-
<Tip>
|
|
125
|
-
Kod değişikliği gerekmeksizin `deny` veya `instruct` iletisine ekstra rehberlik ekleyebilirsiniz — `policyParams` içine bir `hint` alanı ekleyerek. Bu özel (`custom/`), proje kural tabanlı (`.failproofai-project/`) ve kullanıcı kural tabanlı (`.failproofai-user/`) ilkeler için de çalışır. Ayrıntılar için [Yapılandırma → hint](/tr/configuration#hint-cross-cutting) bölümüne bakın.
|
|
126
|
-
</Tip>
|
|
127
|
-
|
|
128
|
-
### Bilgilendirme amaçlı izin iletileri
|
|
129
|
-
|
|
130
|
-
`allow(message)` işlemi izin verir **ve** Claude'a bilgilendirici bir ileti geri gönderir. İleti, hook işleyicisinin stdout yanıtında `additionalContext` olarak gönderilir — `instruct` ile aynı mekanizma kullanılır, ancak semantik olarak farklıdır: bu bir uyarı değil, durum güncellemesidir.
|
|
131
|
-
|
|
132
|
-
| İşlev | Etki | Ne zaman kullanılır |
|
|
133
|
-
|----------|--------|----------|
|
|
134
|
-
| `allow(message)` | İzin ver ve Claude'a bağlam gönder | Bir kontrol başarılı olduğunu onaylayın veya kontrol atlanışını açıklayın |
|
|
135
|
-
|
|
136
|
-
Kullanım durumları:
|
|
137
|
-
- **Durum onayları:** `allow("All CI checks passed.")` — Claude'a her şeyin yeşil olduğunu söyler
|
|
138
|
-
- **Açık başarısızlık açıklamaları:** `allow("GitHub CLI not installed, skipping CI check.")` — Claude'a kontrol atlanışını açıklar, böylece tam bağlama sahip olur
|
|
139
|
-
- **Birden fazla ileti birikir:** birden fazla ilke her biri `allow(message)` döndürürse, tüm iletiler satırbaşı ile birleştirilir ve birlikte gönderilir
|
|
140
|
-
|
|
141
|
-
```js
|
|
142
|
-
customPolicies.add({
|
|
143
|
-
name: "confirm-branch-status",
|
|
144
|
-
match: { events: ["Stop"] },
|
|
145
|
-
fn: async (ctx) => {
|
|
146
|
-
const cwd = ctx.session?.cwd;
|
|
147
|
-
if (!cwd) return allow("No working directory, skipping branch check.");
|
|
148
|
-
|
|
149
|
-
// ... check branch status ...
|
|
150
|
-
if (allPushed) {
|
|
151
|
-
return allow("Branch is up to date with remote.");
|
|
152
|
-
}
|
|
153
|
-
return deny("Unpushed changes detected.");
|
|
154
|
-
},
|
|
155
|
-
});
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
### `PolicyContext` alanları
|
|
159
|
-
|
|
160
|
-
| Alan | Tür | Açıklama |
|
|
161
|
-
|-------|------|-------------|
|
|
162
|
-
| `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
|
|
163
|
-
| `toolName` | `string \| undefined` | Çağrılan araç (ör. `"Bash"`, `"Write"`, `"Read"`) |
|
|
164
|
-
| `toolInput` | `Record<string, unknown> \| undefined` | Aracın giriş parametreleri |
|
|
165
|
-
| `payload` | `Record<string, unknown>` | Claude Code'dan gelen tam ham event payload'ı |
|
|
166
|
-
| `session` | `SessionMetadata \| undefined` | Oturum bağlamı (aşağıya bakın) |
|
|
167
|
-
|
|
168
|
-
### `SessionMetadata` alanları
|
|
169
|
-
|
|
170
|
-
| Alan | Tür | Açıklama |
|
|
171
|
-
|-------|------|-------------|
|
|
172
|
-
| `sessionId` | `string` | Claude Code oturum tanımlayıcısı |
|
|
173
|
-
| `cwd` | `string` | Claude Code oturumunun çalışma dizini |
|
|
174
|
-
| `transcriptPath` | `string` | Oturumun JSONL transkript dosyası yolu |
|
|
175
|
-
|
|
176
|
-
### Event türleri
|
|
177
|
-
|
|
178
|
-
| Event | Ne zaman tetiklenir | `toolInput` içeriği |
|
|
179
|
-
|-------|--------------|----------------------|
|
|
180
|
-
| `PreToolUse` | Claude bir araç çalıştırmadan önce | Aracın girdisi (ör. Bash için `{ command: "..." }`) |
|
|
181
|
-
| `PostToolUse` | Bir araç tamamlandıktan sonra | Aracın girdisi + `tool_result` (çıktı) |
|
|
182
|
-
| `Notification` | Claude bir bildirim gönderdiğinde | `{ message: "...", notification_type: "idle" \| "permission_prompt" \| ... }` - hook'lar her zaman `allow()` döndürmelidir, bildirimleri engelleyemezler |
|
|
183
|
-
| `Stop` | Claude oturumu sona erdiğinde | Boş |
|
|
184
|
-
|
|
185
|
-
---
|
|
186
|
-
|
|
187
|
-
## Değerlendirme sırası
|
|
188
|
-
|
|
189
|
-
İlkeler şu sırada değerlendirilir:
|
|
190
|
-
|
|
191
|
-
1. Yerleşik ilkeler (tanım sırasında)
|
|
192
|
-
2. `customPoliciesPath` adresinden açık özel ilkeler (`.add()` sırasında)
|
|
193
|
-
3. Proje `.failproofai/policies/` adresinden kural tabanlı ilkeler (dosyalar alfabetik, içinde `.add()` sırası)
|
|
194
|
-
4. Kullanıcı `~/.failproofai/policies/` adresinden kural tabanlı ilkeler (dosyalar alfabetik, içinde `.add()` sırası)
|
|
195
|
-
|
|
196
|
-
<Note>
|
|
197
|
-
İlk `deny` tüm sonraki ilkeleri kısa devre yapar. Tüm `instruct` iletileri biriktirilir ve birlikte gönderilir.
|
|
198
|
-
</Note>
|
|
199
|
-
|
|
200
|
-
---
|
|
201
|
-
|
|
202
|
-
## Geçişli içe aktarmalar
|
|
203
|
-
|
|
204
|
-
Özel ilke dosyaları, göreceli yollar kullanarak yerel modülleri içe aktarabilir:
|
|
205
|
-
|
|
206
|
-
```js
|
|
207
|
-
// my-policies.js
|
|
208
|
-
import { isBlockedPath } from "./utils.js";
|
|
209
|
-
import { checkApproval } from "./approval-client.js";
|
|
210
|
-
|
|
211
|
-
customPolicies.add({
|
|
212
|
-
name: "approval-gate",
|
|
213
|
-
fn: async (ctx) => {
|
|
214
|
-
if (ctx.toolName !== "Bash") return allow();
|
|
215
|
-
const approved = await checkApproval(ctx.toolInput?.command, ctx.session?.sessionId);
|
|
216
|
-
return approved ? allow() : deny("Approval required for this command");
|
|
217
|
-
},
|
|
218
|
-
});
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
Giriş dosyasından erişilebilen tüm göreceli içe aktarmalar çözümlenir. Bu, `from "failproofai"` içe aktarmalarını gerçek dist yoluna yeniden yazarak ve ESM uyumluluğu sağlamak için geçici `.mjs` dosyaları oluşturarak uygulanır.
|
|
222
|
-
|
|
223
|
-
---
|
|
224
|
-
|
|
225
|
-
## Event türü filtrelemesi
|
|
226
|
-
|
|
227
|
-
Bir ilkenin ne zaman tetiklendiğini sınırlandırmak için `match.events` kullanın:
|
|
228
|
-
|
|
229
|
-
```js
|
|
230
|
-
customPolicies.add({
|
|
231
|
-
name: "require-summary-on-stop",
|
|
232
|
-
match: { events: ["Stop"] },
|
|
233
|
-
fn: async (ctx) => {
|
|
234
|
-
// Sadece oturum sona erdiğinde tetiklenir
|
|
235
|
-
// ctx.session.transcriptPath tam oturum günlüğünü içerir
|
|
236
|
-
return allow();
|
|
237
|
-
},
|
|
238
|
-
});
|
|
239
|
-
```
|
|
240
|
-
|
|
241
|
-
Her event türüne tetiklenmek için `match` tamamen atlayın.
|
|
242
|
-
|
|
243
|
-
---
|
|
244
|
-
|
|
245
|
-
## Hata işleme ve başarısızlık modları
|
|
246
|
-
|
|
247
|
-
Özel ilkeler **açık başarısızlık** modundadır: hatalar yerleşik ilkeleri hiçbir zaman engelleme veya hook işleyiciyi kilitlemez.
|
|
248
|
-
|
|
249
|
-
| Başarısızlık | Davranış |
|
|
250
|
-
|---------|----------|
|
|
251
|
-
| `customPoliciesPath` ayarlanmamış | Açık özel ilke çalışmaz; kural tabanlı ve yerleşik ilkeler normal şekilde devam eder |
|
|
252
|
-
| Dosya bulunamadı | `~/.failproofai/hook.log` adresine uyarı yazılır; yerleşik ilkeler devam eder |
|
|
253
|
-
| Söz dizimi/içe aktarma hatası (açık) | `~/.failproofai/hook.log` adresine hata yazılır; açık özel ilkeler atlanır |
|
|
254
|
-
| Söz dizimi/içe aktarma hatası (kural tabanlı) | Hata yazılır; bu dosya atlanır, diğer kural tabanlı dosyalar yüklenir |
|
|
255
|
-
| `fn` çalışma zamanında hatanın atılması | Hata yazılır; bu hook `allow` olarak işlem görür; diğer hook'lar devam eder |
|
|
256
|
-
| `fn` 10 saniyeden uzun süre alması | Zaman aşımı yazılır; `allow` olarak işlem görür |
|
|
257
|
-
| Kural tabanlı dizin eksik | Kural tabanlı ilke çalışmaz; hata yok |
|
|
258
|
-
|
|
259
|
-
<Tip>
|
|
260
|
-
Özel ilke hatalarını ayıklamak için günlük dosyasını izleyin:
|
|
261
|
-
|
|
262
|
-
```bash
|
|
263
|
-
tail -f ~/.failproofai/hook.log
|
|
264
|
-
```
|
|
265
|
-
</Tip>
|
|
266
|
-
|
|
267
|
-
---
|
|
268
|
-
|
|
269
|
-
## Tam örnek: birden fazla ilke
|
|
270
|
-
|
|
271
|
-
```js
|
|
272
|
-
// my-policies.js
|
|
273
|
-
import { customPolicies, allow, deny, instruct } from "failproofai";
|
|
274
|
-
|
|
275
|
-
// Agent'ın secrets/ dizinine yazmasını engelle
|
|
276
|
-
customPolicies.add({
|
|
277
|
-
name: "block-secrets-dir",
|
|
278
|
-
description: "Prevent agent from writing to secrets/ directory",
|
|
279
|
-
match: { events: ["PreToolUse"] },
|
|
280
|
-
fn: async (ctx) => {
|
|
281
|
-
if (!["Write", "Edit"].includes(ctx.toolName ?? "")) return allow();
|
|
282
|
-
const path = ctx.toolInput?.file_path ?? "";
|
|
283
|
-
if (path.includes("secrets/")) return deny("Writing to secrets/ is not permitted");
|
|
284
|
-
return allow();
|
|
285
|
-
},
|
|
286
|
-
});
|
|
287
|
-
|
|
288
|
-
// Agent'ı yolda tut: commit etmeden önce testleri doğrula
|
|
289
|
-
customPolicies.add({
|
|
290
|
-
name: "remind-test-before-commit",
|
|
291
|
-
description: "Keep the agent on track: verify tests pass before committing",
|
|
292
|
-
match: { events: ["PreToolUse"] },
|
|
293
|
-
fn: async (ctx) => {
|
|
294
|
-
if (ctx.toolName !== "Bash") return allow();
|
|
295
|
-
const cmd = ctx.toolInput?.command ?? "";
|
|
296
|
-
if (/git\s+commit/.test(cmd)) {
|
|
297
|
-
return instruct("Verify all tests pass before committing. Run `bun test` if you haven't already.");
|
|
298
|
-
}
|
|
299
|
-
return allow();
|
|
300
|
-
},
|
|
301
|
-
});
|
|
302
|
-
|
|
303
|
-
// Donma döneminde planlanmamış bağımlılık değişikliklerini engelle
|
|
304
|
-
customPolicies.add({
|
|
305
|
-
name: "dependency-freeze",
|
|
306
|
-
description: "Prevent unplanned dependency changes during freeze period",
|
|
307
|
-
match: { events: ["PreToolUse"] },
|
|
308
|
-
fn: async (ctx) => {
|
|
309
|
-
if (ctx.toolName !== "Bash") return allow();
|
|
310
|
-
const cmd = ctx.toolInput?.command ?? "";
|
|
311
|
-
const isInstall = /^(npm install|yarn add|bun add|pnpm add)\s+\S/.test(cmd);
|
|
312
|
-
if (isInstall && process.env.DEPENDENCY_FREEZE === "1") {
|
|
313
|
-
return deny("Package installs are frozen. Unset DEPENDENCY_FREEZE to allow.");
|
|
314
|
-
}
|
|
315
|
-
return allow();
|
|
316
|
-
},
|
|
317
|
-
});
|
|
318
|
-
|
|
319
|
-
export { customPolicies };
|
|
320
|
-
```
|
|
321
|
-
|
|
322
|
-
---
|
|
323
|
-
|
|
324
|
-
## Örnekler
|
|
325
|
-
|
|
326
|
-
`examples/` dizini çalıştırmaya hazır ilke dosyaları içerir:
|
|
327
|
-
|
|
328
|
-
| Dosya | İçerik |
|
|
329
|
-
|------|----------|
|
|
330
|
-
| `examples/policies-basic.js` | Yaygın agent hata modlarını kapsayan beş başlatıcı ilke |
|
|
331
|
-
| `examples/policies-advanced/index.js` | Gelişmiş desenler: geçişli içe aktarmalar, zaman uyumsuz çağrılar, çıktı kazıyıcıları ve oturum sonu hook'ları |
|
|
332
|
-
| `examples/convention-policies/security-policies.mjs` | Kural tabanlı güvenlik ilkeleri (.env yazımları engelle, git geçmişi yeniden yazımını önle) |
|
|
333
|
-
| `examples/convention-policies/workflow-policies.mjs` | Kural tabanlı iş akışı ilkeleri (test anımsatıcıları, denetim dosya yazımları) |
|
|
334
|
-
|
|
335
|
-
### Açık dosya örneklerini kullanma
|
|
336
|
-
|
|
337
|
-
```bash
|
|
338
|
-
failproofai policies --install --custom ./examples/policies-basic.js
|
|
339
|
-
```
|
|
340
|
-
|
|
341
|
-
### Kural tabanlı örnekleri kullanma
|
|
342
|
-
|
|
343
|
-
```bash
|
|
344
|
-
# Proje düzeyine kopyala
|
|
345
|
-
mkdir -p .failproofai/policies
|
|
346
|
-
cp examples/convention-policies/*.mjs .failproofai/policies/
|
|
347
|
-
|
|
348
|
-
# Veya kullanıcı düzeyine kopyala
|
|
349
|
-
mkdir -p ~/.failproofai/policies
|
|
350
|
-
cp examples/convention-policies/*.mjs ~/.failproofai/policies/
|
|
351
|
-
```
|
|
352
|
-
|
|
353
|
-
Yükleme komutu gerekmez — dosyalar bir sonraki hook olayında otomatik olarak seçilir.
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Dashboard
|
|
3
|
-
description: "Aracı oturumlarını izleyin, araç çağrılarını gözden geçirin ve politikaları yönetin"
|
|
4
|
-
icon: chart-line
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
failproofai dashboard, AI aracı oturumlarınızı izlemek ve politikaları yönetmek için yerel bir web uygulamasıdır. Aracılarınızın yokken ne yaptığını görün.
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Dashboard'u başlatma
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
failproofai
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
`http://localhost:8020` adresinde açılır.
|
|
18
|
-
|
|
19
|
-
Dashboard doğrudan dosya sisteminden okur - Claude Code proje klasörleriniz ve failproofai yapılandırma dosyalarınız. Hiçbir şey uzak bir hizmete yazılmaz.
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## Sayfalar
|
|
24
|
-
|
|
25
|
-
### Projeler
|
|
26
|
-
|
|
27
|
-
Makinenizde bulunan tüm Claude Code projelerini listeler. Projeler `~/.claude/projects/` konumundan (veya `CLAUDE_PROJECTS_PATH` tarafından ayarlanan yoldan) keşfedilir.
|
|
28
|
-
|
|
29
|
-
Her proje şunları gösterir:
|
|
30
|
-
- Proje adı (klasör yolundan türetilmiş)
|
|
31
|
-
- Oturum sayısı
|
|
32
|
-
- En son oturum etkinliğinin tarihi
|
|
33
|
-
|
|
34
|
-
Oturumlarını görmek için bir projeye tıklayın.
|
|
35
|
-
|
|
36
|
-
### Oturumlar
|
|
37
|
-
|
|
38
|
-
Bir proje içindeki tüm oturumları listeler. Her oturum şunları gösterir:
|
|
39
|
-
- Oturum ID'si
|
|
40
|
-
- Başlangıç ve bitiş zaman damgaları
|
|
41
|
-
- Araç çağrısı sayısı
|
|
42
|
-
- Hook etkinlik sayısı (harekete geçen politikalar)
|
|
43
|
-
|
|
44
|
-
Listeyi daraltmak için tarih aralığı filtresini ve oturum ID'si aramasını kullanın. Oturumlar sayfalandırılmıştır.
|
|
45
|
-
|
|
46
|
-
Oturum görüntüleyiciyi açmak için bir oturuma tıklayın.
|
|
47
|
-
|
|
48
|
-
### Oturum görüntüleyici
|
|
49
|
-
|
|
50
|
-
Oturum görüntüleyici, otonom aracılar için temel soruyu yanıtlar: aracı ne yaptı ve yolunda mı kaldı? Bir oturumda gerçekleşen her şeyin bir zaman çizelgesini gösterir:
|
|
51
|
-
|
|
52
|
-
- **Mesajlar** - Claude'un metin yanıtları ve kullanıcı istemleri
|
|
53
|
-
- **Araç çağrıları** - Claude'un çağırdığı her araç, girişi ve çıkışıyla birlikte
|
|
54
|
-
- **Politika etkinliği** - Her araç çağrısı için, hangi politikaların harekete geçtiği ve ne karar döndürdükleri
|
|
55
|
-
|
|
56
|
-
Üstteki istatistik çubuğu oturum süresini, toplam araç çağrılarını ve kanca kararlarının bir özetini (allow / deny / instruct sayıları) gösterir.
|
|
57
|
-
|
|
58
|
-
İndirme düğmesini kullanarak oturumu ZIP veya JSONL dosyası olarak dışa aktarabilirsiniz.
|
|
59
|
-
|
|
60
|
-
### Politikalar
|
|
61
|
-
|
|
62
|
-
Politikaları yönetmek ve etkinliği gözden geçirmek için iki sekmeli bir sayfa.
|
|
63
|
-
|
|
64
|
-
<Tabs>
|
|
65
|
-
<Tab title="Politikalar sekmesi">
|
|
66
|
-
- Tek bir tıklamayla bireysel politikaları açıp kapatın (`~/.failproofai/policies-config.json` dosyasına yazılır)
|
|
67
|
-
- Parametrelerini yapılandırmak için bir politikayı genişletin (`policyParams` destekleyen politikalar için)
|
|
68
|
-
- Belirli bir kapsam için kancaları yükleyin veya kaldırın
|
|
69
|
-
- Özel bir politika dosya yolu ayarlayın
|
|
70
|
-
</Tab>
|
|
71
|
-
<Tab title="Etkinlik sekmesi">
|
|
72
|
-
- Tüm oturumlar arasında harekete geçen her kanca olayının tam sayfalı geçmişi
|
|
73
|
-
- Politika adı, oturum ID'si, araç adı veya karar ile arayın
|
|
74
|
-
- Her satır şunları gösterir: zaman damgası, politika adı, karar, araç adı, oturum ID'si ve deny/instruct kararlarının nedeni
|
|
75
|
-
</Tab>
|
|
76
|
-
</Tabs>
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## Otomatik yenileme
|
|
81
|
-
|
|
82
|
-
Dashboard'un üst gezintide bir otomatik yenileme geçişi vardır. Etkinleştirildiğinde, geçerli sayfa yeni oturumlar ve politika etkinlikleri görünürken periyodik olarak yenilenir. Uzun süreli otonom aracı oturumlarını izlemek için gereklidir.
|
|
83
|
-
|
|
84
|
-
---
|
|
85
|
-
|
|
86
|
-
## Sayfaları devre dışı bırakma
|
|
87
|
-
|
|
88
|
-
Dashboard'un yalnızca bazı bölümlerine ihtiyacınız varsa, `FAILPROOFAI_DISABLE_PAGES` değerini virgülle ayrılmış sayfa adları listesine ayarlayın:
|
|
89
|
-
|
|
90
|
-
```bash
|
|
91
|
-
FAILPROOFAI_DISABLE_PAGES=policies failproofai
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
Geçerli değerler: `policies`, `projects`.
|
|
95
|
-
|
|
96
|
-
---
|
|
97
|
-
|
|
98
|
-
## Tema
|
|
99
|
-
|
|
100
|
-
Dashboard açık ve koyu modu destekler. Gezinti çubuğundaki düğmeyle geçiş yapın. Tercih, tarayıcınızın yerel depolamada saklanır.
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
|
-
## Projeler yolunu yapılandırma
|
|
105
|
-
|
|
106
|
-
Varsayılan olarak, dashboard standart Claude Code projeleri dizininden okur. Özel kurulumlar için bunu geçersiz kılın:
|
|
107
|
-
|
|
108
|
-
```bash
|
|
109
|
-
CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
---
|
|
113
|
-
|
|
114
|
-
## Localhost dışı bir konaktan erişme
|
|
115
|
-
|
|
116
|
-
Dashboard **dev modunda** (`npm run dev`) çalıştırılırken ve `localhost` dışında bir ana bilgisayar adından erişilirken - örneğin, özel bir alan adı, uzak bir IP veya tünel içinden geçirilen bir URL - aşağıdaki gibi bir uyarı görebilirsiniz:
|
|
117
|
-
|
|
118
|
-
```text
|
|
119
|
-
⚠ Blocked cross-origin request to Next.js dev resource /_next/webpack-hmr from "dashboard.example.com".
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
Bu, Next.js'nin HMR (sıcak modül yeniden yüklemesi) websocket'ine cross-origin erişimi engellemesidir; bu dev-only bir özelliktir. Ana bilgisayarınıza izin vermek için `--allowed-origins` bayrağını kullanın:
|
|
123
|
-
|
|
124
|
-
```bash
|
|
125
|
-
npm run dev -- --allowed-origins dashboard.example.com
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
Birden fazla ana bilgisayar veya IP için, virgülle ayrılmış bir liste geçirin:
|
|
129
|
-
|
|
130
|
-
```bash
|
|
131
|
-
npm run dev -- --allowed-origins dashboard.example.com,192.168.1.5
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
Bunun yerine `FAILPROOFAI_ALLOWED_DEV_ORIGINS` ortam değişkenini de ayarlayabilirsiniz:
|
|
135
|
-
|
|
136
|
-
```bash
|
|
137
|
-
FAILPROOFAI_ALLOWED_DEV_ORIGINS=dashboard.example.com npm run dev
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
<Note>
|
|
141
|
-
Bu yalnızca dev moduna uygulanır. `failproofai` (production modu) çalıştırılırken HMR websocket'i ve cross-origin dev kaynak sorunu yoktur.
|
|
142
|
-
</Note>
|