failproofai 1.0.1-beta.0 → 1.0.1
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 +6 -6
- package/.next/standalone/.next/prerender-manifest.json +4 -4
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +3 -3
- 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 +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 +6 -6
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +3 -3
- 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 +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 +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +14 -14
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/api/audit/invite/route.js +1 -1
- package/.next/standalone/.next/server/app/api/audit/invite/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/audit/run/route.js +1 -1
- package/.next/standalone/.next/server/app/api/audit/run/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/audit/status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/login-request/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/login-request/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/login-verify/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/login-verify/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/logout/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/status/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/audit/page/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/audit/page/server-reference-manifest.json +2 -2
- package/.next/standalone/.next/server/app/audit/page.js +1 -1
- package/.next/standalone/.next/server/app/audit/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +14 -14
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/page/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page.js +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/policies/page/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +10 -10
- package/.next/standalone/.next/server/app/policies/page.js +1 -1
- package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page/build-manifest.json +3 -3
- 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 +2 -2
- package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/build-manifest.json +3 -3
- 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 +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/page/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/projects/page.js +2 -2
- 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/app/settings/page/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +4 -4
- package/.next/standalone/.next/server/app/settings/page.js +1 -1
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0nne229._.js → [root-of-the-server]__0_usx0j._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__1hstmft._.js → [root-of-the-server]__0_zk340._.js} +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d1u_na._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1adacul._.js +5 -5
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0ny9q5d._.js → [root-of-the-server]__1l-khtb._.js} +1 -1
- package/.next/standalone/.next/server/chunks/_0lxbzdq._.js +1 -1
- package/.next/standalone/.next/server/chunks/{_18ty6si._.js → _1ger0a2._.js} +1 -1
- package/.next/standalone/.next/server/chunks/_1vslkoe._.js +1 -1
- package/.next/standalone/.next/server/chunks/_1zuiiy3._.js +1 -1
- package/.next/standalone/.next/server/chunks/lib_telemetry_ts_0dctyyw._.js +1 -1
- package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_01r25oi._.js +2 -2
- package/.next/standalone/.next/server/chunks/{node_modules_posthog-node_dist_entrypoints_index_node_mjs_0f-x2b0._.js → node_modules_posthog-node_dist_entrypoints_index_node_mjs_09d5c79._.js} +1 -1
- package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_09z9-p7._.js +2 -2
- package/.next/standalone/.next/server/chunks/{node_modules_posthog-node_dist_entrypoints_index_node_mjs_0hwvl7e._.js → node_modules_posthog-node_dist_entrypoints_index_node_mjs_0el6rg8._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{node_modules_posthog-node_dist_entrypoints_index_node_mjs_1ctjdzl._.js → node_modules_posthog-node_dist_entrypoints_index_node_mjs_1d2g73o._.js} +1 -1
- package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_1nxcc4v._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__07tbbf3._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0cxe_2_._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__15c_z97._.js → [root-of-the-server]__0jzbk4_._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0kc8_v5._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0kgy9da._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0mhqk5a._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0oa1lav._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0pltpn8._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0qkcyf-._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0spkm68._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w0x_ok._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1_dfocn._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__03eykvd._.js → [root-of-the-server]__1bfex62._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__07oh8b5._.js → [root-of-the-server]__1ctpynv._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1kzapg5._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__11z_299._.js → [root-of-the-server]__1m84s36._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_08x1r5t._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_04j57fb._.js → _0h_douw._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0lvyuv4._.js +23 -0
- package/.next/standalone/.next/server/chunks/ssr/{_05enntk._.js → _0u5zauv._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_1_ozgif._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0hom1s1._.js → _1u8-lu2._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_1q7j05x._.js → _1zopuov._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/app_audit__components_audit-dashboard_tsx_0p9ud47._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_1kp6l3x._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_19dqvpc._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_settings_settings-client_tsx_20lq-mq._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_13n822a._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_1v8aef8._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuzn._.js +2 -2
- package/.next/standalone/.next/server/middleware-build-manifest.js +6 -6
- package/.next/standalone/.next/server/pages/404.html +1 -1
- 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 +15 -15
- package/.next/standalone/.next/static/chunks/{1o5sxp_mdaoci.js → 0k5050ezjvv49.js} +1 -1
- package/.next/standalone/.next/static/chunks/{054eg7y_cjyf9.js → 1ide1wl2f7zi1.js} +1 -1
- package/.next/standalone/.next/static/chunks/1oml7c7env4-g.js +31 -0
- package/.next/standalone/.next/static/chunks/1za08zjcctyil.js +22 -0
- package/.next/standalone/.next/static/chunks/2_2lhuojq2xop.js +1 -0
- package/.next/standalone/.next/static/chunks/{0mjufa_0xxz75.js → 2zpp1we2jv6tb.js} +1 -1
- package/.next/standalone/.next/static/chunks/{1-oz4co31nvc5.js → 31s1smp-g7gks.js} +1 -1
- package/.next/standalone/.next/static/chunks/36fw6yk1s6x_f.js +1 -0
- package/.next/standalone/.next/static/chunks/{2es4z1ei90vsv.js → 37fcpc36x9gpe.js} +1 -1
- package/.next/standalone/.next/static/chunks/{136ldjmzxhush.js → 3c808qrfcq0im.js} +1 -1
- package/.next/standalone/.next/static/chunks/3k7mxbp9hiom0.js +1 -0
- package/.next/standalone/.next/static/chunks/3tzq0260n17ae.js +6 -0
- package/.next/standalone/.next/static/chunks/{turbopack-0-gxz80mjds94.js → turbopack-3kjgdgwci4tqf.js} +1 -1
- package/.next/standalone/docs-old/agenteye/alerts.mdx +63 -0
- package/.next/standalone/docs-old/agenteye/api-keys.mdx +280 -0
- package/.next/standalone/docs-old/agenteye/assistant.mdx +63 -0
- package/.next/standalone/docs-old/agenteye/audits.mdx +54 -0
- package/.next/standalone/docs-old/agenteye/cli-and-agents.mdx +80 -0
- package/.next/standalone/docs-old/agenteye/cli-recipes.mdx +179 -0
- package/.next/standalone/docs-old/agenteye/cli-skill.mdx +159 -0
- package/.next/standalone/docs-old/agenteye/cli.mdx +350 -0
- package/.next/standalone/docs-old/agenteye/codex-capture.mdx +55 -0
- package/.next/standalone/docs-old/agenteye/concepts.mdx +87 -0
- package/.next/standalone/docs-old/agenteye/dashboards.mdx +46 -0
- package/.next/standalone/docs-old/agenteye/error-tracking.mdx +41 -0
- package/.next/standalone/docs-old/agenteye/evaluation-suite.mdx +402 -0
- package/.next/standalone/docs-old/agenteye/evaluations.mdx +51 -0
- package/.next/standalone/docs-old/agenteye/evaluator-skill.mdx +167 -0
- package/.next/standalone/docs-old/agenteye/event-stream.mdx +50 -0
- package/.next/standalone/docs-old/agenteye/hermes-capture.mdx +53 -0
- package/.next/standalone/docs-old/agenteye/images/alert-new.png +0 -0
- package/.next/standalone/docs-old/agenteye/images/alerts.png +0 -0
- package/.next/standalone/docs-old/agenteye/images/api-keys.png +0 -0
- package/.next/standalone/docs-old/agenteye/images/assistant.png +0 -0
- package/.next/standalone/docs-old/agenteye/images/audits.png +0 -0
- package/.next/standalone/docs-old/agenteye/images/dashboard-fleet.png +0 -0
- package/.next/standalone/docs-old/agenteye/images/dashboard-quality.png +0 -0
- package/.next/standalone/docs-old/agenteye/images/errors.png +0 -0
- package/.next/standalone/docs-old/agenteye/images/events-stream.png +0 -0
- package/.next/standalone/docs-old/agenteye/images/hooks.png +0 -0
- package/.next/standalone/docs-old/agenteye/images/incident-detail.png +0 -0
- package/.next/standalone/docs-old/agenteye/images/incidents.png +0 -0
- package/.next/standalone/docs-old/agenteye/images/login.png +0 -0
- package/.next/standalone/docs-old/agenteye/images/models.png +0 -0
- package/.next/standalone/docs-old/agenteye/images/queries.png +0 -0
- package/.next/standalone/docs-old/agenteye/images/query-lab.png +0 -0
- package/.next/standalone/docs-old/agenteye/images/session-detail.png +0 -0
- package/.next/standalone/docs-old/agenteye/images/sessions-list.png +0 -0
- package/.next/standalone/docs-old/agenteye/images/settings.png +0 -0
- package/.next/standalone/docs-old/agenteye/images/tools.png +0 -0
- package/.next/standalone/docs-old/agenteye/images/users.png +0 -0
- package/.next/standalone/docs-old/agenteye/images/video-audit.jpg +0 -0
- package/.next/standalone/docs-old/agenteye/images/video-tracing.jpg +0 -0
- package/.next/standalone/docs-old/agenteye/incidents.mdx +50 -0
- package/.next/standalone/docs-old/agenteye/observability.mdx +23 -0
- package/.next/standalone/docs-old/agenteye/openclaw-capture.mdx +49 -0
- package/.next/standalone/docs-old/agenteye/overview.mdx +108 -0
- package/.next/standalone/docs-old/agenteye/python-sdk-skill.mdx +131 -0
- package/.next/standalone/docs-old/agenteye/python-sdk.mdx +436 -0
- package/.next/standalone/docs-old/agenteye/queries.mdx +56 -0
- package/.next/standalone/docs-old/agenteye/security.mdx +68 -0
- package/.next/standalone/docs-old/agenteye/sessions.mdx +57 -0
- package/.next/standalone/docs-old/agenteye/telemetry.mdx +52 -0
- package/.next/standalone/docs-old/ar/agenteye/alerts.mdx +63 -0
- package/.next/standalone/docs-old/ar/agenteye/api-keys.mdx +279 -0
- package/.next/standalone/docs-old/ar/agenteye/assistant.mdx +62 -0
- package/.next/standalone/docs-old/ar/agenteye/audits.mdx +55 -0
- package/.next/standalone/docs-old/ar/agenteye/cli-and-agents.mdx +81 -0
- package/.next/standalone/docs-old/ar/agenteye/cli-recipes.mdx +178 -0
- package/.next/standalone/docs-old/ar/agenteye/cli-skill.mdx +160 -0
- package/.next/standalone/docs-old/ar/agenteye/cli.mdx +349 -0
- package/.next/standalone/docs-old/ar/agenteye/codex-capture.mdx +56 -0
- package/.next/standalone/docs-old/ar/agenteye/concepts.mdx +88 -0
- package/.next/standalone/docs-old/ar/agenteye/dashboards.mdx +46 -0
- package/.next/standalone/docs-old/ar/agenteye/error-tracking.mdx +41 -0
- package/.next/standalone/docs-old/ar/agenteye/evaluation-suite.mdx +299 -0
- package/.next/standalone/docs-old/ar/agenteye/evaluations.mdx +51 -0
- package/.next/standalone/docs-old/ar/agenteye/evaluator-skill.mdx +168 -0
- package/.next/standalone/docs-old/ar/agenteye/event-stream.mdx +50 -0
- package/.next/standalone/docs-old/ar/agenteye/hermes-capture.mdx +54 -0
- package/.next/standalone/docs-old/ar/agenteye/incidents.mdx +51 -0
- package/.next/standalone/docs-old/ar/agenteye/observability.mdx +24 -0
- package/.next/standalone/docs-old/ar/agenteye/openclaw-capture.mdx +50 -0
- package/.next/standalone/docs-old/ar/agenteye/overview.mdx +108 -0
- package/.next/standalone/docs-old/ar/agenteye/python-sdk-skill.mdx +129 -0
- package/.next/standalone/docs-old/ar/agenteye/python-sdk.mdx +435 -0
- package/.next/standalone/docs-old/ar/agenteye/queries.mdx +57 -0
- package/.next/standalone/docs-old/ar/agenteye/security.mdx +68 -0
- package/.next/standalone/docs-old/ar/agenteye/sessions.mdx +58 -0
- package/.next/standalone/docs-old/ar/agenteye/telemetry.mdx +52 -0
- package/.next/standalone/docs-old/ar/architecture.mdx +333 -0
- package/.next/standalone/docs-old/ar/built-in-policies.mdx +860 -0
- package/.next/standalone/docs-old/ar/cli/audit.mdx +120 -0
- package/.next/standalone/docs-old/ar/cli/dashboard.mdx +30 -0
- package/.next/standalone/docs-old/ar/cli/environment-variables.mdx +70 -0
- package/.next/standalone/docs-old/ar/cli/hook.mdx +31 -0
- package/.next/standalone/docs-old/ar/cli/install-policies.mdx +57 -0
- package/.next/standalone/docs-old/ar/cli/list-policies.mdx +32 -0
- package/.next/standalone/docs-old/ar/cli/migrate.mdx +110 -0
- package/.next/standalone/docs-old/ar/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs-old/ar/cli/update.mdx +79 -0
- package/.next/standalone/docs-old/ar/cli/version.mdx +13 -0
- package/.next/standalone/docs-old/ar/configuration.mdx +268 -0
- package/.next/standalone/docs-old/ar/custom-policies.mdx +359 -0
- package/.next/standalone/docs-old/ar/dashboard.mdx +152 -0
- package/.next/standalone/docs-old/ar/examples.mdx +307 -0
- package/.next/standalone/docs-old/ar/for-agents.mdx +38 -0
- package/.next/standalone/docs-old/ar/getting-started.mdx +199 -0
- package/.next/standalone/docs-old/ar/introduction.mdx +58 -0
- package/.next/standalone/docs-old/ar/package-aliases.mdx +83 -0
- package/.next/standalone/docs-old/ar/testing.mdx +260 -0
- package/.next/standalone/docs-old/architecture.mdx +332 -0
- package/.next/standalone/docs-old/built-in-policies.mdx +859 -0
- package/.next/standalone/docs-old/cli/audit.mdx +188 -0
- package/.next/standalone/docs-old/cli/dashboard.mdx +29 -0
- package/.next/standalone/docs-old/cli/environment-variables.mdx +75 -0
- package/.next/standalone/docs-old/cli/hook.mdx +30 -0
- package/.next/standalone/docs-old/cli/install-policies.mdx +57 -0
- package/.next/standalone/docs-old/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs-old/cli/migrate.mdx +117 -0
- package/.next/standalone/docs-old/cli/remove-policies.mdx +43 -0
- package/.next/standalone/docs-old/cli/update.mdx +94 -0
- package/.next/standalone/docs-old/cli/version.mdx +12 -0
- package/.next/standalone/docs-old/configuration.mdx +295 -0
- package/.next/standalone/docs-old/custom-policies.mdx +362 -0
- package/.next/standalone/docs-old/dashboard.mdx +176 -0
- package/.next/standalone/docs-old/de/agenteye/alerts.mdx +63 -0
- package/.next/standalone/docs-old/de/agenteye/api-keys.mdx +280 -0
- package/.next/standalone/docs-old/de/agenteye/assistant.mdx +63 -0
- package/.next/standalone/docs-old/de/agenteye/audits.mdx +54 -0
- package/.next/standalone/docs-old/de/agenteye/cli-and-agents.mdx +80 -0
- package/.next/standalone/docs-old/de/agenteye/cli-recipes.mdx +179 -0
- package/.next/standalone/docs-old/de/agenteye/cli-skill.mdx +159 -0
- package/.next/standalone/docs-old/de/agenteye/cli.mdx +350 -0
- package/.next/standalone/docs-old/de/agenteye/codex-capture.mdx +55 -0
- package/.next/standalone/docs-old/de/agenteye/concepts.mdx +87 -0
- package/.next/standalone/docs-old/de/agenteye/dashboards.mdx +46 -0
- package/.next/standalone/docs-old/de/agenteye/error-tracking.mdx +41 -0
- package/.next/standalone/docs-old/de/agenteye/evaluation-suite.mdx +300 -0
- package/.next/standalone/docs-old/de/agenteye/evaluations.mdx +50 -0
- package/.next/standalone/docs-old/de/agenteye/evaluator-skill.mdx +167 -0
- package/.next/standalone/docs-old/de/agenteye/event-stream.mdx +50 -0
- package/.next/standalone/docs-old/de/agenteye/hermes-capture.mdx +53 -0
- package/.next/standalone/docs-old/de/agenteye/incidents.mdx +50 -0
- package/.next/standalone/docs-old/de/agenteye/observability.mdx +23 -0
- package/.next/standalone/docs-old/de/agenteye/openclaw-capture.mdx +49 -0
- package/.next/standalone/docs-old/de/agenteye/overview.mdx +108 -0
- package/.next/standalone/docs-old/de/agenteye/python-sdk-skill.mdx +131 -0
- package/.next/standalone/docs-old/de/agenteye/python-sdk.mdx +436 -0
- package/.next/standalone/docs-old/de/agenteye/queries.mdx +56 -0
- package/.next/standalone/docs-old/de/agenteye/security.mdx +68 -0
- package/.next/standalone/docs-old/de/agenteye/sessions.mdx +57 -0
- package/.next/standalone/docs-old/de/agenteye/telemetry.mdx +52 -0
- package/.next/standalone/docs-old/de/architecture.mdx +332 -0
- package/.next/standalone/docs-old/de/built-in-policies.mdx +859 -0
- package/.next/standalone/docs-old/de/cli/audit.mdx +131 -0
- package/.next/standalone/docs-old/de/cli/dashboard.mdx +29 -0
- package/.next/standalone/docs-old/de/cli/environment-variables.mdx +72 -0
- package/.next/standalone/docs-old/de/cli/hook.mdx +30 -0
- package/.next/standalone/docs-old/de/cli/install-policies.mdx +57 -0
- package/.next/standalone/docs-old/de/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs-old/de/cli/migrate.mdx +122 -0
- package/.next/standalone/docs-old/de/cli/remove-policies.mdx +43 -0
- package/.next/standalone/docs-old/de/cli/update.mdx +75 -0
- package/.next/standalone/docs-old/de/cli/version.mdx +12 -0
- package/.next/standalone/docs-old/de/configuration.mdx +272 -0
- package/.next/standalone/docs-old/de/custom-policies.mdx +358 -0
- package/.next/standalone/docs-old/de/dashboard.mdx +151 -0
- package/.next/standalone/docs-old/de/examples.mdx +307 -0
- package/.next/standalone/docs-old/de/for-agents.mdx +38 -0
- package/.next/standalone/docs-old/de/getting-started.mdx +199 -0
- package/.next/standalone/docs-old/de/introduction.mdx +57 -0
- package/.next/standalone/docs-old/de/package-aliases.mdx +82 -0
- package/.next/standalone/docs-old/de/testing.mdx +260 -0
- package/.next/standalone/docs-old/docs.json +1830 -0
- package/.next/standalone/docs-old/es/agenteye/alerts.mdx +63 -0
- package/.next/standalone/docs-old/es/agenteye/api-keys.mdx +280 -0
- package/.next/standalone/docs-old/es/agenteye/assistant.mdx +63 -0
- package/.next/standalone/docs-old/es/agenteye/audits.mdx +54 -0
- package/.next/standalone/docs-old/es/agenteye/cli-and-agents.mdx +80 -0
- package/.next/standalone/docs-old/es/agenteye/cli-recipes.mdx +178 -0
- package/.next/standalone/docs-old/es/agenteye/cli-skill.mdx +159 -0
- package/.next/standalone/docs-old/es/agenteye/cli.mdx +350 -0
- package/.next/standalone/docs-old/es/agenteye/codex-capture.mdx +55 -0
- package/.next/standalone/docs-old/es/agenteye/concepts.mdx +87 -0
- package/.next/standalone/docs-old/es/agenteye/dashboards.mdx +46 -0
- package/.next/standalone/docs-old/es/agenteye/error-tracking.mdx +41 -0
- package/.next/standalone/docs-old/es/agenteye/evaluation-suite.mdx +300 -0
- package/.next/standalone/docs-old/es/agenteye/evaluations.mdx +50 -0
- package/.next/standalone/docs-old/es/agenteye/evaluator-skill.mdx +167 -0
- package/.next/standalone/docs-old/es/agenteye/event-stream.mdx +50 -0
- package/.next/standalone/docs-old/es/agenteye/hermes-capture.mdx +53 -0
- package/.next/standalone/docs-old/es/agenteye/incidents.mdx +50 -0
- package/.next/standalone/docs-old/es/agenteye/observability.mdx +23 -0
- package/.next/standalone/docs-old/es/agenteye/openclaw-capture.mdx +49 -0
- package/.next/standalone/docs-old/es/agenteye/overview.mdx +108 -0
- package/.next/standalone/docs-old/es/agenteye/python-sdk-skill.mdx +135 -0
- package/.next/standalone/docs-old/es/agenteye/python-sdk.mdx +436 -0
- package/.next/standalone/docs-old/es/agenteye/queries.mdx +56 -0
- package/.next/standalone/docs-old/es/agenteye/security.mdx +68 -0
- package/.next/standalone/docs-old/es/agenteye/sessions.mdx +56 -0
- package/.next/standalone/docs-old/es/agenteye/telemetry.mdx +52 -0
- package/.next/standalone/docs-old/es/architecture.mdx +332 -0
- package/.next/standalone/docs-old/es/built-in-policies.mdx +853 -0
- package/.next/standalone/docs-old/es/cli/audit.mdx +137 -0
- package/.next/standalone/docs-old/es/cli/dashboard.mdx +29 -0
- package/.next/standalone/docs-old/es/cli/environment-variables.mdx +72 -0
- package/.next/standalone/docs-old/es/cli/hook.mdx +30 -0
- package/.next/standalone/docs-old/es/cli/install-policies.mdx +57 -0
- package/.next/standalone/docs-old/es/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs-old/es/cli/migrate.mdx +86 -0
- package/.next/standalone/docs-old/es/cli/remove-policies.mdx +43 -0
- package/.next/standalone/docs-old/es/cli/update.mdx +64 -0
- package/.next/standalone/docs-old/es/cli/version.mdx +12 -0
- package/.next/standalone/docs-old/es/configuration.mdx +271 -0
- package/.next/standalone/docs-old/es/custom-policies.mdx +358 -0
- package/.next/standalone/docs-old/es/dashboard.mdx +151 -0
- package/.next/standalone/docs-old/es/examples.mdx +307 -0
- package/.next/standalone/docs-old/es/for-agents.mdx +38 -0
- package/.next/standalone/docs-old/es/getting-started.mdx +199 -0
- package/.next/standalone/docs-old/es/introduction.mdx +57 -0
- package/.next/standalone/docs-old/es/package-aliases.mdx +82 -0
- package/.next/standalone/docs-old/es/testing.mdx +260 -0
- package/.next/standalone/docs-old/examples.mdx +307 -0
- package/.next/standalone/docs-old/favicon.ico +0 -0
- package/.next/standalone/docs-old/for-agents.mdx +38 -0
- package/.next/standalone/docs-old/fr/agenteye/alerts.mdx +63 -0
- package/.next/standalone/docs-old/fr/agenteye/api-keys.mdx +280 -0
- package/.next/standalone/docs-old/fr/agenteye/assistant.mdx +63 -0
- package/.next/standalone/docs-old/fr/agenteye/audits.mdx +54 -0
- package/.next/standalone/docs-old/fr/agenteye/cli-and-agents.mdx +79 -0
- package/.next/standalone/docs-old/fr/agenteye/cli-recipes.mdx +179 -0
- package/.next/standalone/docs-old/fr/agenteye/cli-skill.mdx +159 -0
- package/.next/standalone/docs-old/fr/agenteye/cli.mdx +350 -0
- package/.next/standalone/docs-old/fr/agenteye/codex-capture.mdx +55 -0
- package/.next/standalone/docs-old/fr/agenteye/concepts.mdx +87 -0
- package/.next/standalone/docs-old/fr/agenteye/dashboards.mdx +46 -0
- package/.next/standalone/docs-old/fr/agenteye/error-tracking.mdx +40 -0
- package/.next/standalone/docs-old/fr/agenteye/evaluation-suite.mdx +401 -0
- package/.next/standalone/docs-old/fr/agenteye/evaluations.mdx +50 -0
- package/.next/standalone/docs-old/fr/agenteye/evaluator-skill.mdx +167 -0
- package/.next/standalone/docs-old/fr/agenteye/event-stream.mdx +50 -0
- package/.next/standalone/docs-old/fr/agenteye/hermes-capture.mdx +53 -0
- package/.next/standalone/docs-old/fr/agenteye/incidents.mdx +50 -0
- package/.next/standalone/docs-old/fr/agenteye/observability.mdx +23 -0
- package/.next/standalone/docs-old/fr/agenteye/openclaw-capture.mdx +49 -0
- package/.next/standalone/docs-old/fr/agenteye/overview.mdx +108 -0
- package/.next/standalone/docs-old/fr/agenteye/python-sdk-skill.mdx +135 -0
- package/.next/standalone/docs-old/fr/agenteye/python-sdk.mdx +436 -0
- package/.next/standalone/docs-old/fr/agenteye/queries.mdx +56 -0
- package/.next/standalone/docs-old/fr/agenteye/security.mdx +68 -0
- package/.next/standalone/docs-old/fr/agenteye/sessions.mdx +57 -0
- package/.next/standalone/docs-old/fr/agenteye/telemetry.mdx +52 -0
- package/.next/standalone/docs-old/fr/architecture.mdx +332 -0
- package/.next/standalone/docs-old/fr/built-in-policies.mdx +851 -0
- package/.next/standalone/docs-old/fr/cli/audit.mdx +126 -0
- package/.next/standalone/docs-old/fr/cli/dashboard.mdx +29 -0
- package/.next/standalone/docs-old/fr/cli/environment-variables.mdx +70 -0
- package/.next/standalone/docs-old/fr/cli/hook.mdx +30 -0
- package/.next/standalone/docs-old/fr/cli/install-policies.mdx +57 -0
- package/.next/standalone/docs-old/fr/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs-old/fr/cli/migrate.mdx +86 -0
- package/.next/standalone/docs-old/fr/cli/remove-policies.mdx +43 -0
- package/.next/standalone/docs-old/fr/cli/update.mdx +64 -0
- package/.next/standalone/docs-old/fr/cli/version.mdx +12 -0
- package/.next/standalone/docs-old/fr/configuration.mdx +271 -0
- package/.next/standalone/docs-old/fr/custom-policies.mdx +358 -0
- package/.next/standalone/docs-old/fr/dashboard.mdx +151 -0
- package/.next/standalone/docs-old/fr/examples.mdx +307 -0
- package/.next/standalone/docs-old/fr/for-agents.mdx +38 -0
- package/.next/standalone/docs-old/fr/getting-started.mdx +199 -0
- package/.next/standalone/docs-old/fr/introduction.mdx +57 -0
- package/.next/standalone/docs-old/fr/package-aliases.mdx +82 -0
- package/.next/standalone/docs-old/fr/testing.mdx +260 -0
- package/.next/standalone/docs-old/getting-started.mdx +201 -0
- package/.next/standalone/docs-old/he/agenteye/alerts.mdx +63 -0
- package/.next/standalone/docs-old/he/agenteye/api-keys.mdx +279 -0
- package/.next/standalone/docs-old/he/agenteye/assistant.mdx +63 -0
- package/.next/standalone/docs-old/he/agenteye/audits.mdx +53 -0
- package/.next/standalone/docs-old/he/agenteye/cli-and-agents.mdx +80 -0
- package/.next/standalone/docs-old/he/agenteye/cli-recipes.mdx +179 -0
- package/.next/standalone/docs-old/he/agenteye/cli-skill.mdx +160 -0
- package/.next/standalone/docs-old/he/agenteye/cli.mdx +349 -0
- package/.next/standalone/docs-old/he/agenteye/codex-capture.mdx +56 -0
- package/.next/standalone/docs-old/he/agenteye/concepts.mdx +87 -0
- package/.next/standalone/docs-old/he/agenteye/dashboards.mdx +46 -0
- package/.next/standalone/docs-old/he/agenteye/error-tracking.mdx +41 -0
- package/.next/standalone/docs-old/he/agenteye/evaluation-suite.mdx +299 -0
- package/.next/standalone/docs-old/he/agenteye/evaluations.mdx +51 -0
- package/.next/standalone/docs-old/he/agenteye/evaluator-skill.mdx +168 -0
- package/.next/standalone/docs-old/he/agenteye/event-stream.mdx +50 -0
- package/.next/standalone/docs-old/he/agenteye/hermes-capture.mdx +54 -0
- package/.next/standalone/docs-old/he/agenteye/incidents.mdx +50 -0
- package/.next/standalone/docs-old/he/agenteye/observability.mdx +23 -0
- package/.next/standalone/docs-old/he/agenteye/openclaw-capture.mdx +50 -0
- package/.next/standalone/docs-old/he/agenteye/overview.mdx +108 -0
- package/.next/standalone/docs-old/he/agenteye/python-sdk-skill.mdx +132 -0
- package/.next/standalone/docs-old/he/agenteye/python-sdk.mdx +436 -0
- package/.next/standalone/docs-old/he/agenteye/queries.mdx +56 -0
- package/.next/standalone/docs-old/he/agenteye/security.mdx +67 -0
- package/.next/standalone/docs-old/he/agenteye/sessions.mdx +58 -0
- package/.next/standalone/docs-old/he/agenteye/telemetry.mdx +52 -0
- package/.next/standalone/docs-old/he/architecture.mdx +332 -0
- package/.next/standalone/docs-old/he/built-in-policies.mdx +857 -0
- package/.next/standalone/docs-old/he/cli/audit.mdx +116 -0
- package/.next/standalone/docs-old/he/cli/dashboard.mdx +30 -0
- package/.next/standalone/docs-old/he/cli/environment-variables.mdx +69 -0
- package/.next/standalone/docs-old/he/cli/hook.mdx +30 -0
- package/.next/standalone/docs-old/he/cli/install-policies.mdx +58 -0
- package/.next/standalone/docs-old/he/cli/list-policies.mdx +32 -0
- package/.next/standalone/docs-old/he/cli/migrate.mdx +87 -0
- package/.next/standalone/docs-old/he/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs-old/he/cli/update.mdx +64 -0
- package/.next/standalone/docs-old/he/cli/version.mdx +13 -0
- package/.next/standalone/docs-old/he/configuration.mdx +264 -0
- package/.next/standalone/docs-old/he/custom-policies.mdx +359 -0
- package/.next/standalone/docs-old/he/dashboard.mdx +155 -0
- package/.next/standalone/docs-old/he/examples.mdx +308 -0
- package/.next/standalone/docs-old/he/for-agents.mdx +38 -0
- package/.next/standalone/docs-old/he/getting-started.mdx +200 -0
- package/.next/standalone/docs-old/he/introduction.mdx +58 -0
- package/.next/standalone/docs-old/he/package-aliases.mdx +82 -0
- package/.next/standalone/docs-old/he/testing.mdx +260 -0
- package/.next/standalone/docs-old/hi/agenteye/alerts.mdx +62 -0
- package/.next/standalone/docs-old/hi/agenteye/api-keys.mdx +279 -0
- package/.next/standalone/docs-old/hi/agenteye/assistant.mdx +63 -0
- package/.next/standalone/docs-old/hi/agenteye/audits.mdx +53 -0
- package/.next/standalone/docs-old/hi/agenteye/cli-and-agents.mdx +80 -0
- package/.next/standalone/docs-old/hi/agenteye/cli-recipes.mdx +178 -0
- package/.next/standalone/docs-old/hi/agenteye/cli-skill.mdx +159 -0
- package/.next/standalone/docs-old/hi/agenteye/cli.mdx +350 -0
- package/.next/standalone/docs-old/hi/agenteye/codex-capture.mdx +56 -0
- package/.next/standalone/docs-old/hi/agenteye/concepts.mdx +87 -0
- package/.next/standalone/docs-old/hi/agenteye/dashboards.mdx +47 -0
- package/.next/standalone/docs-old/hi/agenteye/error-tracking.mdx +42 -0
- package/.next/standalone/docs-old/hi/agenteye/evaluation-suite.mdx +299 -0
- package/.next/standalone/docs-old/hi/agenteye/evaluations.mdx +51 -0
- package/.next/standalone/docs-old/hi/agenteye/evaluator-skill.mdx +171 -0
- package/.next/standalone/docs-old/hi/agenteye/event-stream.mdx +49 -0
- package/.next/standalone/docs-old/hi/agenteye/hermes-capture.mdx +53 -0
- package/.next/standalone/docs-old/hi/agenteye/incidents.mdx +50 -0
- package/.next/standalone/docs-old/hi/agenteye/observability.mdx +23 -0
- package/.next/standalone/docs-old/hi/agenteye/openclaw-capture.mdx +50 -0
- package/.next/standalone/docs-old/hi/agenteye/overview.mdx +107 -0
- package/.next/standalone/docs-old/hi/agenteye/python-sdk-skill.mdx +133 -0
- package/.next/standalone/docs-old/hi/agenteye/python-sdk.mdx +434 -0
- package/.next/standalone/docs-old/hi/agenteye/queries.mdx +57 -0
- package/.next/standalone/docs-old/hi/agenteye/security.mdx +68 -0
- package/.next/standalone/docs-old/hi/agenteye/sessions.mdx +57 -0
- package/.next/standalone/docs-old/hi/agenteye/telemetry.mdx +51 -0
- package/.next/standalone/docs-old/hi/architecture.mdx +332 -0
- package/.next/standalone/docs-old/hi/built-in-policies.mdx +848 -0
- package/.next/standalone/docs-old/hi/cli/audit.mdx +117 -0
- package/.next/standalone/docs-old/hi/cli/dashboard.mdx +29 -0
- package/.next/standalone/docs-old/hi/cli/environment-variables.mdx +64 -0
- package/.next/standalone/docs-old/hi/cli/hook.mdx +30 -0
- package/.next/standalone/docs-old/hi/cli/install-policies.mdx +57 -0
- package/.next/standalone/docs-old/hi/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs-old/hi/cli/migrate.mdx +85 -0
- package/.next/standalone/docs-old/hi/cli/remove-policies.mdx +43 -0
- package/.next/standalone/docs-old/hi/cli/update.mdx +65 -0
- package/.next/standalone/docs-old/hi/cli/version.mdx +12 -0
- package/.next/standalone/docs-old/hi/configuration.mdx +264 -0
- package/.next/standalone/docs-old/hi/custom-policies.mdx +359 -0
- package/.next/standalone/docs-old/hi/dashboard.mdx +152 -0
- package/.next/standalone/docs-old/hi/examples.mdx +307 -0
- package/.next/standalone/docs-old/hi/for-agents.mdx +38 -0
- package/.next/standalone/docs-old/hi/getting-started.mdx +200 -0
- package/.next/standalone/docs-old/hi/introduction.mdx +58 -0
- package/.next/standalone/docs-old/hi/package-aliases.mdx +83 -0
- package/.next/standalone/docs-old/hi/testing.mdx +260 -0
- package/.next/standalone/docs-old/i18n/README.ar.md +230 -0
- package/.next/standalone/docs-old/i18n/README.de.md +225 -0
- package/.next/standalone/docs-old/i18n/README.es.md +225 -0
- package/.next/standalone/docs-old/i18n/README.fr.md +225 -0
- package/.next/standalone/docs-old/i18n/README.he.md +230 -0
- package/.next/standalone/docs-old/i18n/README.hi.md +222 -0
- package/.next/standalone/docs-old/i18n/README.it.md +225 -0
- package/.next/standalone/docs-old/i18n/README.ja.md +219 -0
- package/.next/standalone/docs-old/i18n/README.ko.md +225 -0
- package/.next/standalone/docs-old/i18n/README.pt-br.md +225 -0
- package/.next/standalone/docs-old/i18n/README.ru.md +222 -0
- package/.next/standalone/docs-old/i18n/README.tr.md +221 -0
- package/.next/standalone/docs-old/i18n/README.vi.md +225 -0
- package/.next/standalone/docs-old/i18n/README.zh.md +219 -0
- package/.next/standalone/docs-old/introduction.mdx +57 -0
- package/.next/standalone/docs-old/it/agenteye/alerts.mdx +62 -0
- package/.next/standalone/docs-old/it/agenteye/api-keys.mdx +279 -0
- package/.next/standalone/docs-old/it/agenteye/assistant.mdx +63 -0
- package/.next/standalone/docs-old/it/agenteye/audits.mdx +54 -0
- package/.next/standalone/docs-old/it/agenteye/cli-and-agents.mdx +80 -0
- package/.next/standalone/docs-old/it/agenteye/cli-recipes.mdx +179 -0
- package/.next/standalone/docs-old/it/agenteye/cli-skill.mdx +159 -0
- package/.next/standalone/docs-old/it/agenteye/cli.mdx +349 -0
- package/.next/standalone/docs-old/it/agenteye/codex-capture.mdx +56 -0
- package/.next/standalone/docs-old/it/agenteye/concepts.mdx +87 -0
- package/.next/standalone/docs-old/it/agenteye/dashboards.mdx +46 -0
- package/.next/standalone/docs-old/it/agenteye/error-tracking.mdx +41 -0
- package/.next/standalone/docs-old/it/agenteye/evaluation-suite.mdx +299 -0
- package/.next/standalone/docs-old/it/agenteye/evaluations.mdx +51 -0
- package/.next/standalone/docs-old/it/agenteye/evaluator-skill.mdx +170 -0
- package/.next/standalone/docs-old/it/agenteye/event-stream.mdx +50 -0
- package/.next/standalone/docs-old/it/agenteye/hermes-capture.mdx +53 -0
- package/.next/standalone/docs-old/it/agenteye/incidents.mdx +49 -0
- package/.next/standalone/docs-old/it/agenteye/observability.mdx +23 -0
- package/.next/standalone/docs-old/it/agenteye/openclaw-capture.mdx +49 -0
- package/.next/standalone/docs-old/it/agenteye/overview.mdx +107 -0
- package/.next/standalone/docs-old/it/agenteye/python-sdk-skill.mdx +132 -0
- package/.next/standalone/docs-old/it/agenteye/python-sdk.mdx +437 -0
- package/.next/standalone/docs-old/it/agenteye/queries.mdx +55 -0
- package/.next/standalone/docs-old/it/agenteye/security.mdx +68 -0
- package/.next/standalone/docs-old/it/agenteye/sessions.mdx +57 -0
- package/.next/standalone/docs-old/it/agenteye/telemetry.mdx +52 -0
- package/.next/standalone/docs-old/it/architecture.mdx +333 -0
- package/.next/standalone/docs-old/it/built-in-policies.mdx +853 -0
- package/.next/standalone/docs-old/it/cli/audit.mdx +126 -0
- package/.next/standalone/docs-old/it/cli/dashboard.mdx +30 -0
- package/.next/standalone/docs-old/it/cli/environment-variables.mdx +65 -0
- package/.next/standalone/docs-old/it/cli/hook.mdx +30 -0
- package/.next/standalone/docs-old/it/cli/install-policies.mdx +57 -0
- package/.next/standalone/docs-old/it/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs-old/it/cli/migrate.mdx +122 -0
- package/.next/standalone/docs-old/it/cli/remove-policies.mdx +43 -0
- package/.next/standalone/docs-old/it/cli/update.mdx +86 -0
- package/.next/standalone/docs-old/it/cli/version.mdx +12 -0
- package/.next/standalone/docs-old/it/configuration.mdx +269 -0
- package/.next/standalone/docs-old/it/custom-policies.mdx +359 -0
- package/.next/standalone/docs-old/it/dashboard.mdx +151 -0
- package/.next/standalone/docs-old/it/examples.mdx +307 -0
- package/.next/standalone/docs-old/it/for-agents.mdx +38 -0
- package/.next/standalone/docs-old/it/getting-started.mdx +199 -0
- package/.next/standalone/docs-old/it/introduction.mdx +58 -0
- package/.next/standalone/docs-old/it/package-aliases.mdx +82 -0
- package/.next/standalone/docs-old/it/testing.mdx +261 -0
- package/.next/standalone/docs-old/ja/agenteye/alerts.mdx +63 -0
- package/.next/standalone/docs-old/ja/agenteye/api-keys.mdx +280 -0
- package/.next/standalone/docs-old/ja/agenteye/assistant.mdx +63 -0
- package/.next/standalone/docs-old/ja/agenteye/audits.mdx +54 -0
- package/.next/standalone/docs-old/ja/agenteye/cli-and-agents.mdx +80 -0
- package/.next/standalone/docs-old/ja/agenteye/cli-recipes.mdx +179 -0
- package/.next/standalone/docs-old/ja/agenteye/cli-skill.mdx +159 -0
- package/.next/standalone/docs-old/ja/agenteye/cli.mdx +350 -0
- package/.next/standalone/docs-old/ja/agenteye/codex-capture.mdx +55 -0
- package/.next/standalone/docs-old/ja/agenteye/concepts.mdx +87 -0
- package/.next/standalone/docs-old/ja/agenteye/dashboards.mdx +46 -0
- package/.next/standalone/docs-old/ja/agenteye/error-tracking.mdx +41 -0
- package/.next/standalone/docs-old/ja/agenteye/evaluation-suite.mdx +300 -0
- package/.next/standalone/docs-old/ja/agenteye/evaluations.mdx +51 -0
- package/.next/standalone/docs-old/ja/agenteye/evaluator-skill.mdx +167 -0
- package/.next/standalone/docs-old/ja/agenteye/event-stream.mdx +50 -0
- package/.next/standalone/docs-old/ja/agenteye/hermes-capture.mdx +53 -0
- package/.next/standalone/docs-old/ja/agenteye/incidents.mdx +50 -0
- package/.next/standalone/docs-old/ja/agenteye/observability.mdx +23 -0
- package/.next/standalone/docs-old/ja/agenteye/openclaw-capture.mdx +49 -0
- package/.next/standalone/docs-old/ja/agenteye/overview.mdx +108 -0
- package/.next/standalone/docs-old/ja/agenteye/python-sdk-skill.mdx +131 -0
- package/.next/standalone/docs-old/ja/agenteye/python-sdk.mdx +433 -0
- package/.next/standalone/docs-old/ja/agenteye/queries.mdx +56 -0
- package/.next/standalone/docs-old/ja/agenteye/security.mdx +68 -0
- package/.next/standalone/docs-old/ja/agenteye/sessions.mdx +57 -0
- package/.next/standalone/docs-old/ja/agenteye/telemetry.mdx +52 -0
- package/.next/standalone/docs-old/ja/architecture.mdx +332 -0
- package/.next/standalone/docs-old/ja/built-in-policies.mdx +848 -0
- package/.next/standalone/docs-old/ja/cli/audit.mdx +116 -0
- package/.next/standalone/docs-old/ja/cli/dashboard.mdx +29 -0
- package/.next/standalone/docs-old/ja/cli/environment-variables.mdx +63 -0
- package/.next/standalone/docs-old/ja/cli/hook.mdx +30 -0
- package/.next/standalone/docs-old/ja/cli/install-policies.mdx +57 -0
- package/.next/standalone/docs-old/ja/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs-old/ja/cli/migrate.mdx +86 -0
- package/.next/standalone/docs-old/ja/cli/remove-policies.mdx +43 -0
- package/.next/standalone/docs-old/ja/cli/update.mdx +64 -0
- package/.next/standalone/docs-old/ja/cli/version.mdx +12 -0
- package/.next/standalone/docs-old/ja/configuration.mdx +264 -0
- package/.next/standalone/docs-old/ja/custom-policies.mdx +358 -0
- package/.next/standalone/docs-old/ja/dashboard.mdx +151 -0
- package/.next/standalone/docs-old/ja/examples.mdx +307 -0
- package/.next/standalone/docs-old/ja/for-agents.mdx +38 -0
- package/.next/standalone/docs-old/ja/getting-started.mdx +199 -0
- package/.next/standalone/docs-old/ja/introduction.mdx +57 -0
- package/.next/standalone/docs-old/ja/package-aliases.mdx +82 -0
- package/.next/standalone/docs-old/ja/testing.mdx +260 -0
- package/.next/standalone/docs-old/ko/agenteye/alerts.mdx +63 -0
- package/.next/standalone/docs-old/ko/agenteye/api-keys.mdx +280 -0
- package/.next/standalone/docs-old/ko/agenteye/assistant.mdx +63 -0
- package/.next/standalone/docs-old/ko/agenteye/audits.mdx +54 -0
- package/.next/standalone/docs-old/ko/agenteye/cli-and-agents.mdx +80 -0
- package/.next/standalone/docs-old/ko/agenteye/cli-recipes.mdx +179 -0
- package/.next/standalone/docs-old/ko/agenteye/cli-skill.mdx +159 -0
- package/.next/standalone/docs-old/ko/agenteye/cli.mdx +350 -0
- package/.next/standalone/docs-old/ko/agenteye/codex-capture.mdx +55 -0
- package/.next/standalone/docs-old/ko/agenteye/concepts.mdx +87 -0
- package/.next/standalone/docs-old/ko/agenteye/dashboards.mdx +46 -0
- package/.next/standalone/docs-old/ko/agenteye/error-tracking.mdx +40 -0
- package/.next/standalone/docs-old/ko/agenteye/evaluation-suite.mdx +303 -0
- package/.next/standalone/docs-old/ko/agenteye/evaluations.mdx +50 -0
- package/.next/standalone/docs-old/ko/agenteye/evaluator-skill.mdx +167 -0
- package/.next/standalone/docs-old/ko/agenteye/event-stream.mdx +50 -0
- package/.next/standalone/docs-old/ko/agenteye/hermes-capture.mdx +53 -0
- package/.next/standalone/docs-old/ko/agenteye/incidents.mdx +50 -0
- package/.next/standalone/docs-old/ko/agenteye/observability.mdx +23 -0
- package/.next/standalone/docs-old/ko/agenteye/openclaw-capture.mdx +49 -0
- package/.next/standalone/docs-old/ko/agenteye/overview.mdx +108 -0
- package/.next/standalone/docs-old/ko/agenteye/python-sdk-skill.mdx +130 -0
- package/.next/standalone/docs-old/ko/agenteye/python-sdk.mdx +433 -0
- package/.next/standalone/docs-old/ko/agenteye/queries.mdx +56 -0
- package/.next/standalone/docs-old/ko/agenteye/security.mdx +68 -0
- package/.next/standalone/docs-old/ko/agenteye/sessions.mdx +57 -0
- package/.next/standalone/docs-old/ko/agenteye/telemetry.mdx +52 -0
- package/.next/standalone/docs-old/ko/architecture.mdx +332 -0
- package/.next/standalone/docs-old/ko/built-in-policies.mdx +854 -0
- package/.next/standalone/docs-old/ko/cli/audit.mdx +131 -0
- package/.next/standalone/docs-old/ko/cli/dashboard.mdx +29 -0
- package/.next/standalone/docs-old/ko/cli/environment-variables.mdx +66 -0
- package/.next/standalone/docs-old/ko/cli/hook.mdx +30 -0
- package/.next/standalone/docs-old/ko/cli/install-policies.mdx +57 -0
- package/.next/standalone/docs-old/ko/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs-old/ko/cli/migrate.mdx +86 -0
- package/.next/standalone/docs-old/ko/cli/remove-policies.mdx +43 -0
- package/.next/standalone/docs-old/ko/cli/update.mdx +64 -0
- package/.next/standalone/docs-old/ko/cli/version.mdx +12 -0
- package/.next/standalone/docs-old/ko/configuration.mdx +267 -0
- package/.next/standalone/docs-old/ko/custom-policies.mdx +358 -0
- package/.next/standalone/docs-old/ko/dashboard.mdx +151 -0
- package/.next/standalone/docs-old/ko/examples.mdx +307 -0
- package/.next/standalone/docs-old/ko/for-agents.mdx +38 -0
- package/.next/standalone/docs-old/ko/getting-started.mdx +199 -0
- package/.next/standalone/docs-old/ko/introduction.mdx +57 -0
- package/.next/standalone/docs-old/ko/package-aliases.mdx +82 -0
- package/.next/standalone/docs-old/ko/testing.mdx +260 -0
- package/.next/standalone/docs-old/logo/Failproof_AI_logo.png +0 -0
- package/.next/standalone/docs-old/logo/Failproof_AI_logo_light.png +0 -0
- package/.next/standalone/docs-old/package-aliases.mdx +82 -0
- package/.next/standalone/docs-old/pt-br/agenteye/alerts.mdx +63 -0
- package/.next/standalone/docs-old/pt-br/agenteye/api-keys.mdx +280 -0
- package/.next/standalone/docs-old/pt-br/agenteye/assistant.mdx +63 -0
- package/.next/standalone/docs-old/pt-br/agenteye/audits.mdx +54 -0
- package/.next/standalone/docs-old/pt-br/agenteye/cli-and-agents.mdx +80 -0
- package/.next/standalone/docs-old/pt-br/agenteye/cli-recipes.mdx +179 -0
- package/.next/standalone/docs-old/pt-br/agenteye/cli-skill.mdx +159 -0
- package/.next/standalone/docs-old/pt-br/agenteye/cli.mdx +350 -0
- package/.next/standalone/docs-old/pt-br/agenteye/codex-capture.mdx +55 -0
- package/.next/standalone/docs-old/pt-br/agenteye/concepts.mdx +87 -0
- package/.next/standalone/docs-old/pt-br/agenteye/dashboards.mdx +45 -0
- package/.next/standalone/docs-old/pt-br/agenteye/error-tracking.mdx +40 -0
- package/.next/standalone/docs-old/pt-br/agenteye/evaluation-suite.mdx +401 -0
- package/.next/standalone/docs-old/pt-br/agenteye/evaluations.mdx +51 -0
- package/.next/standalone/docs-old/pt-br/agenteye/evaluator-skill.mdx +167 -0
- package/.next/standalone/docs-old/pt-br/agenteye/event-stream.mdx +50 -0
- package/.next/standalone/docs-old/pt-br/agenteye/hermes-capture.mdx +53 -0
- package/.next/standalone/docs-old/pt-br/agenteye/incidents.mdx +50 -0
- package/.next/standalone/docs-old/pt-br/agenteye/observability.mdx +23 -0
- package/.next/standalone/docs-old/pt-br/agenteye/openclaw-capture.mdx +49 -0
- package/.next/standalone/docs-old/pt-br/agenteye/overview.mdx +108 -0
- package/.next/standalone/docs-old/pt-br/agenteye/python-sdk-skill.mdx +136 -0
- package/.next/standalone/docs-old/pt-br/agenteye/python-sdk.mdx +436 -0
- package/.next/standalone/docs-old/pt-br/agenteye/queries.mdx +56 -0
- package/.next/standalone/docs-old/pt-br/agenteye/security.mdx +68 -0
- package/.next/standalone/docs-old/pt-br/agenteye/sessions.mdx +56 -0
- package/.next/standalone/docs-old/pt-br/agenteye/telemetry.mdx +52 -0
- package/.next/standalone/docs-old/pt-br/architecture.mdx +332 -0
- package/.next/standalone/docs-old/pt-br/built-in-policies.mdx +858 -0
- package/.next/standalone/docs-old/pt-br/cli/audit.mdx +132 -0
- package/.next/standalone/docs-old/pt-br/cli/dashboard.mdx +29 -0
- package/.next/standalone/docs-old/pt-br/cli/environment-variables.mdx +72 -0
- package/.next/standalone/docs-old/pt-br/cli/hook.mdx +30 -0
- package/.next/standalone/docs-old/pt-br/cli/install-policies.mdx +57 -0
- package/.next/standalone/docs-old/pt-br/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs-old/pt-br/cli/migrate.mdx +86 -0
- package/.next/standalone/docs-old/pt-br/cli/remove-policies.mdx +43 -0
- package/.next/standalone/docs-old/pt-br/cli/update.mdx +64 -0
- package/.next/standalone/docs-old/pt-br/cli/version.mdx +12 -0
- package/.next/standalone/docs-old/pt-br/configuration.mdx +268 -0
- package/.next/standalone/docs-old/pt-br/custom-policies.mdx +358 -0
- package/.next/standalone/docs-old/pt-br/dashboard.mdx +151 -0
- package/.next/standalone/docs-old/pt-br/examples.mdx +307 -0
- package/.next/standalone/docs-old/pt-br/for-agents.mdx +38 -0
- package/.next/standalone/docs-old/pt-br/getting-started.mdx +199 -0
- package/.next/standalone/docs-old/pt-br/introduction.mdx +57 -0
- package/.next/standalone/docs-old/pt-br/package-aliases.mdx +82 -0
- package/.next/standalone/docs-old/pt-br/testing.mdx +260 -0
- package/.next/standalone/docs-old/ru/agenteye/alerts.mdx +63 -0
- package/.next/standalone/docs-old/ru/agenteye/api-keys.mdx +280 -0
- package/.next/standalone/docs-old/ru/agenteye/assistant.mdx +63 -0
- package/.next/standalone/docs-old/ru/agenteye/audits.mdx +54 -0
- package/.next/standalone/docs-old/ru/agenteye/cli-and-agents.mdx +80 -0
- package/.next/standalone/docs-old/ru/agenteye/cli-recipes.mdx +179 -0
- package/.next/standalone/docs-old/ru/agenteye/cli-skill.mdx +159 -0
- package/.next/standalone/docs-old/ru/agenteye/cli.mdx +350 -0
- package/.next/standalone/docs-old/ru/agenteye/codex-capture.mdx +55 -0
- package/.next/standalone/docs-old/ru/agenteye/concepts.mdx +87 -0
- package/.next/standalone/docs-old/ru/agenteye/dashboards.mdx +46 -0
- package/.next/standalone/docs-old/ru/agenteye/error-tracking.mdx +41 -0
- package/.next/standalone/docs-old/ru/agenteye/evaluation-suite.mdx +401 -0
- package/.next/standalone/docs-old/ru/agenteye/evaluations.mdx +51 -0
- package/.next/standalone/docs-old/ru/agenteye/evaluator-skill.mdx +171 -0
- package/.next/standalone/docs-old/ru/agenteye/event-stream.mdx +51 -0
- package/.next/standalone/docs-old/ru/agenteye/hermes-capture.mdx +53 -0
- package/.next/standalone/docs-old/ru/agenteye/incidents.mdx +50 -0
- package/.next/standalone/docs-old/ru/agenteye/observability.mdx +23 -0
- package/.next/standalone/docs-old/ru/agenteye/openclaw-capture.mdx +49 -0
- package/.next/standalone/docs-old/ru/agenteye/overview.mdx +107 -0
- package/.next/standalone/docs-old/ru/agenteye/python-sdk-skill.mdx +131 -0
- package/.next/standalone/docs-old/ru/agenteye/python-sdk.mdx +437 -0
- package/.next/standalone/docs-old/ru/agenteye/queries.mdx +56 -0
- package/.next/standalone/docs-old/ru/agenteye/security.mdx +68 -0
- package/.next/standalone/docs-old/ru/agenteye/sessions.mdx +57 -0
- package/.next/standalone/docs-old/ru/agenteye/telemetry.mdx +52 -0
- package/.next/standalone/docs-old/ru/architecture.mdx +333 -0
- package/.next/standalone/docs-old/ru/built-in-policies.mdx +853 -0
- package/.next/standalone/docs-old/ru/cli/audit.mdx +132 -0
- package/.next/standalone/docs-old/ru/cli/dashboard.mdx +29 -0
- package/.next/standalone/docs-old/ru/cli/environment-variables.mdx +72 -0
- package/.next/standalone/docs-old/ru/cli/hook.mdx +30 -0
- package/.next/standalone/docs-old/ru/cli/install-policies.mdx +57 -0
- package/.next/standalone/docs-old/ru/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs-old/ru/cli/migrate.mdx +91 -0
- package/.next/standalone/docs-old/ru/cli/remove-policies.mdx +44 -0
- package/.next/standalone/docs-old/ru/cli/update.mdx +64 -0
- package/.next/standalone/docs-old/ru/cli/version.mdx +12 -0
- package/.next/standalone/docs-old/ru/configuration.mdx +269 -0
- package/.next/standalone/docs-old/ru/custom-policies.mdx +358 -0
- package/.next/standalone/docs-old/ru/dashboard.mdx +155 -0
- package/.next/standalone/docs-old/ru/examples.mdx +307 -0
- package/.next/standalone/docs-old/ru/for-agents.mdx +38 -0
- package/.next/standalone/docs-old/ru/getting-started.mdx +199 -0
- package/.next/standalone/docs-old/ru/introduction.mdx +58 -0
- package/.next/standalone/docs-old/ru/package-aliases.mdx +82 -0
- package/.next/standalone/docs-old/ru/testing.mdx +260 -0
- package/.next/standalone/docs-old/styles/config/vocabularies/Mintlify/accept.txt +52 -0
- package/.next/standalone/docs-old/superpowers/specs/2026-06-11-audit-poster-restructure-design.md +332 -0
- package/.next/standalone/docs-old/testing.mdx +260 -0
- package/.next/standalone/docs-old/tr/agenteye/alerts.mdx +63 -0
- package/.next/standalone/docs-old/tr/agenteye/api-keys.mdx +279 -0
- package/.next/standalone/docs-old/tr/agenteye/assistant.mdx +63 -0
- package/.next/standalone/docs-old/tr/agenteye/audits.mdx +54 -0
- package/.next/standalone/docs-old/tr/agenteye/cli-and-agents.mdx +80 -0
- package/.next/standalone/docs-old/tr/agenteye/cli-recipes.mdx +179 -0
- package/.next/standalone/docs-old/tr/agenteye/cli-skill.mdx +161 -0
- package/.next/standalone/docs-old/tr/agenteye/cli.mdx +350 -0
- package/.next/standalone/docs-old/tr/agenteye/codex-capture.mdx +56 -0
- package/.next/standalone/docs-old/tr/agenteye/concepts.mdx +87 -0
- package/.next/standalone/docs-old/tr/agenteye/dashboards.mdx +46 -0
- package/.next/standalone/docs-old/tr/agenteye/error-tracking.mdx +41 -0
- package/.next/standalone/docs-old/tr/agenteye/evaluation-suite.mdx +299 -0
- package/.next/standalone/docs-old/tr/agenteye/evaluations.mdx +51 -0
- package/.next/standalone/docs-old/tr/agenteye/evaluator-skill.mdx +167 -0
- package/.next/standalone/docs-old/tr/agenteye/event-stream.mdx +50 -0
- package/.next/standalone/docs-old/tr/agenteye/hermes-capture.mdx +53 -0
- package/.next/standalone/docs-old/tr/agenteye/incidents.mdx +50 -0
- package/.next/standalone/docs-old/tr/agenteye/observability.mdx +23 -0
- package/.next/standalone/docs-old/tr/agenteye/openclaw-capture.mdx +50 -0
- package/.next/standalone/docs-old/tr/agenteye/overview.mdx +107 -0
- package/.next/standalone/docs-old/tr/agenteye/python-sdk-skill.mdx +130 -0
- package/.next/standalone/docs-old/tr/agenteye/python-sdk.mdx +436 -0
- package/.next/standalone/docs-old/tr/agenteye/queries.mdx +55 -0
- package/.next/standalone/docs-old/tr/agenteye/security.mdx +69 -0
- package/.next/standalone/docs-old/tr/agenteye/sessions.mdx +57 -0
- package/.next/standalone/docs-old/tr/agenteye/telemetry.mdx +52 -0
- package/.next/standalone/docs-old/tr/architecture.mdx +332 -0
- package/.next/standalone/docs-old/tr/built-in-policies.mdx +848 -0
- package/.next/standalone/docs-old/tr/cli/audit.mdx +117 -0
- package/.next/standalone/docs-old/tr/cli/dashboard.mdx +29 -0
- package/.next/standalone/docs-old/tr/cli/environment-variables.mdx +65 -0
- package/.next/standalone/docs-old/tr/cli/hook.mdx +31 -0
- package/.next/standalone/docs-old/tr/cli/install-policies.mdx +57 -0
- package/.next/standalone/docs-old/tr/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs-old/tr/cli/migrate.mdx +87 -0
- package/.next/standalone/docs-old/tr/cli/remove-policies.mdx +43 -0
- package/.next/standalone/docs-old/tr/cli/update.mdx +88 -0
- package/.next/standalone/docs-old/tr/cli/version.mdx +12 -0
- package/.next/standalone/docs-old/tr/configuration.mdx +268 -0
- package/.next/standalone/docs-old/tr/custom-policies.mdx +358 -0
- package/.next/standalone/docs-old/tr/dashboard.mdx +152 -0
- package/.next/standalone/docs-old/tr/examples.mdx +307 -0
- package/.next/standalone/docs-old/tr/for-agents.mdx +38 -0
- package/.next/standalone/docs-old/tr/getting-started.mdx +199 -0
- package/.next/standalone/docs-old/tr/introduction.mdx +57 -0
- package/.next/standalone/docs-old/tr/package-aliases.mdx +82 -0
- package/.next/standalone/docs-old/tr/testing.mdx +261 -0
- package/.next/standalone/docs-old/vi/agenteye/alerts.mdx +63 -0
- package/.next/standalone/docs-old/vi/agenteye/api-keys.mdx +280 -0
- package/.next/standalone/docs-old/vi/agenteye/assistant.mdx +63 -0
- package/.next/standalone/docs-old/vi/agenteye/audits.mdx +54 -0
- package/.next/standalone/docs-old/vi/agenteye/cli-and-agents.mdx +80 -0
- package/.next/standalone/docs-old/vi/agenteye/cli-recipes.mdx +178 -0
- package/.next/standalone/docs-old/vi/agenteye/cli-skill.mdx +159 -0
- package/.next/standalone/docs-old/vi/agenteye/cli.mdx +349 -0
- package/.next/standalone/docs-old/vi/agenteye/codex-capture.mdx +55 -0
- package/.next/standalone/docs-old/vi/agenteye/concepts.mdx +88 -0
- package/.next/standalone/docs-old/vi/agenteye/dashboards.mdx +46 -0
- package/.next/standalone/docs-old/vi/agenteye/error-tracking.mdx +41 -0
- package/.next/standalone/docs-old/vi/agenteye/evaluation-suite.mdx +300 -0
- package/.next/standalone/docs-old/vi/agenteye/evaluations.mdx +51 -0
- package/.next/standalone/docs-old/vi/agenteye/evaluator-skill.mdx +171 -0
- package/.next/standalone/docs-old/vi/agenteye/event-stream.mdx +50 -0
- package/.next/standalone/docs-old/vi/agenteye/hermes-capture.mdx +53 -0
- package/.next/standalone/docs-old/vi/agenteye/incidents.mdx +50 -0
- package/.next/standalone/docs-old/vi/agenteye/observability.mdx +23 -0
- package/.next/standalone/docs-old/vi/agenteye/openclaw-capture.mdx +49 -0
- package/.next/standalone/docs-old/vi/agenteye/overview.mdx +109 -0
- package/.next/standalone/docs-old/vi/agenteye/python-sdk-skill.mdx +131 -0
- package/.next/standalone/docs-old/vi/agenteye/python-sdk.mdx +433 -0
- package/.next/standalone/docs-old/vi/agenteye/queries.mdx +55 -0
- package/.next/standalone/docs-old/vi/agenteye/security.mdx +68 -0
- package/.next/standalone/docs-old/vi/agenteye/sessions.mdx +57 -0
- package/.next/standalone/docs-old/vi/agenteye/telemetry.mdx +52 -0
- package/.next/standalone/docs-old/vi/architecture.mdx +332 -0
- package/.next/standalone/docs-old/vi/built-in-policies.mdx +853 -0
- package/.next/standalone/docs-old/vi/cli/audit.mdx +120 -0
- package/.next/standalone/docs-old/vi/cli/dashboard.mdx +29 -0
- package/.next/standalone/docs-old/vi/cli/environment-variables.mdx +69 -0
- package/.next/standalone/docs-old/vi/cli/hook.mdx +30 -0
- package/.next/standalone/docs-old/vi/cli/install-policies.mdx +57 -0
- package/.next/standalone/docs-old/vi/cli/list-policies.mdx +32 -0
- package/.next/standalone/docs-old/vi/cli/migrate.mdx +122 -0
- package/.next/standalone/docs-old/vi/cli/remove-policies.mdx +43 -0
- package/.next/standalone/docs-old/vi/cli/update.mdx +95 -0
- package/.next/standalone/docs-old/vi/cli/version.mdx +12 -0
- package/.next/standalone/docs-old/vi/configuration.mdx +268 -0
- package/.next/standalone/docs-old/vi/custom-policies.mdx +358 -0
- package/.next/standalone/docs-old/vi/dashboard.mdx +151 -0
- package/.next/standalone/docs-old/vi/examples.mdx +308 -0
- package/.next/standalone/docs-old/vi/for-agents.mdx +39 -0
- package/.next/standalone/docs-old/vi/getting-started.mdx +200 -0
- package/.next/standalone/docs-old/vi/introduction.mdx +57 -0
- package/.next/standalone/docs-old/vi/package-aliases.mdx +83 -0
- package/.next/standalone/docs-old/vi/testing.mdx +261 -0
- package/.next/standalone/docs-old/zh/agenteye/alerts.mdx +63 -0
- package/.next/standalone/docs-old/zh/agenteye/api-keys.mdx +280 -0
- package/.next/standalone/docs-old/zh/agenteye/assistant.mdx +63 -0
- package/.next/standalone/docs-old/zh/agenteye/audits.mdx +54 -0
- package/.next/standalone/docs-old/zh/agenteye/cli-and-agents.mdx +79 -0
- package/.next/standalone/docs-old/zh/agenteye/cli-recipes.mdx +179 -0
- package/.next/standalone/docs-old/zh/agenteye/cli-skill.mdx +159 -0
- package/.next/standalone/docs-old/zh/agenteye/cli.mdx +350 -0
- package/.next/standalone/docs-old/zh/agenteye/codex-capture.mdx +55 -0
- package/.next/standalone/docs-old/zh/agenteye/concepts.mdx +87 -0
- package/.next/standalone/docs-old/zh/agenteye/dashboards.mdx +46 -0
- package/.next/standalone/docs-old/zh/agenteye/error-tracking.mdx +40 -0
- package/.next/standalone/docs-old/zh/agenteye/evaluation-suite.mdx +300 -0
- package/.next/standalone/docs-old/zh/agenteye/evaluations.mdx +51 -0
- package/.next/standalone/docs-old/zh/agenteye/evaluator-skill.mdx +167 -0
- package/.next/standalone/docs-old/zh/agenteye/event-stream.mdx +50 -0
- package/.next/standalone/docs-old/zh/agenteye/hermes-capture.mdx +53 -0
- package/.next/standalone/docs-old/zh/agenteye/incidents.mdx +50 -0
- package/.next/standalone/docs-old/zh/agenteye/observability.mdx +23 -0
- package/.next/standalone/docs-old/zh/agenteye/openclaw-capture.mdx +49 -0
- package/.next/standalone/docs-old/zh/agenteye/overview.mdx +108 -0
- package/.next/standalone/docs-old/zh/agenteye/python-sdk-skill.mdx +131 -0
- package/.next/standalone/docs-old/zh/agenteye/python-sdk.mdx +433 -0
- package/.next/standalone/docs-old/zh/agenteye/queries.mdx +56 -0
- package/.next/standalone/docs-old/zh/agenteye/security.mdx +68 -0
- package/.next/standalone/docs-old/zh/agenteye/sessions.mdx +56 -0
- package/.next/standalone/docs-old/zh/agenteye/telemetry.mdx +52 -0
- package/.next/standalone/docs-old/zh/architecture.mdx +332 -0
- package/.next/standalone/docs-old/zh/built-in-policies.mdx +850 -0
- package/.next/standalone/docs-old/zh/cli/audit.mdx +115 -0
- package/.next/standalone/docs-old/zh/cli/dashboard.mdx +29 -0
- package/.next/standalone/docs-old/zh/cli/environment-variables.mdx +62 -0
- package/.next/standalone/docs-old/zh/cli/hook.mdx +30 -0
- package/.next/standalone/docs-old/zh/cli/install-policies.mdx +57 -0
- package/.next/standalone/docs-old/zh/cli/list-policies.mdx +31 -0
- package/.next/standalone/docs-old/zh/cli/migrate.mdx +86 -0
- package/.next/standalone/docs-old/zh/cli/remove-policies.mdx +43 -0
- package/.next/standalone/docs-old/zh/cli/update.mdx +65 -0
- package/.next/standalone/docs-old/zh/cli/version.mdx +12 -0
- package/.next/standalone/docs-old/zh/configuration.mdx +266 -0
- package/.next/standalone/docs-old/zh/custom-policies.mdx +358 -0
- package/.next/standalone/docs-old/zh/dashboard.mdx +151 -0
- package/.next/standalone/docs-old/zh/examples.mdx +307 -0
- package/.next/standalone/docs-old/zh/for-agents.mdx +38 -0
- package/.next/standalone/docs-old/zh/getting-started.mdx +199 -0
- package/.next/standalone/docs-old/zh/introduction.mdx +57 -0
- package/.next/standalone/docs-old/zh/package-aliases.mdx +82 -0
- package/.next/standalone/docs-old/zh/testing.mdx +260 -0
- package/.next/standalone/lib/telemetry.ts +45 -40
- package/.next/standalone/node_modules/@next/env/package.json +1 -1
- package/.next/standalone/node_modules/@swc/helpers/esm/_interop_require_default.js +4 -0
- package/.next/standalone/node_modules/@swc/helpers/esm/_interop_require_wildcard.js +36 -0
- package/.next/standalone/node_modules/@swc/helpers/package.json +703 -469
- package/.next/standalone/node_modules/next/dist/build/swc/index.js +1 -1
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js +8 -6
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/ppr-navigations.js +26 -20
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js +2 -1
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js +5 -2
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js +2 -1
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js +3 -1
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/cache.js +150 -169
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/navigation-testing-lock.js +16 -54
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/navigation.js +115 -23
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/optimistic-routes.js +61 -6
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/scheduler.js +53 -36
- package/.next/standalone/node_modules/next/dist/client/route-params.js +4 -8
- package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +26 -26
- package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +26 -26
- package/.next/standalone/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +2 -2
- package/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +9 -9
- package/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
- package/.next/standalone/node_modules/next/dist/lib/turbopack-cache-seed.js +15 -7
- package/.next/standalone/node_modules/next/dist/server/app-render/app-render.js +2 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/dev-validation-worker-snapshot.js +2 -1
- package/.next/standalone/node_modules/next/dist/server/async-storage/request-store.js +29 -20
- package/.next/standalone/node_modules/next/dist/server/async-storage/work-store.js +1 -0
- package/.next/standalone/node_modules/next/dist/server/config.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/dev/dev-validation-worker-pool.js +90 -11
- package/.next/standalone/node_modules/next/dist/server/dev/dev-validation-worker.js +51 -9
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +24 -4
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/dev/use-cache-probe-worker.js +1 -0
- package/.next/standalone/node_modules/next/dist/server/image-optimizer.js +1 -0
- package/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/lib/encode-header-safe.js +44 -0
- package/.next/standalone/node_modules/next/dist/server/lib/implicit-tags.js +3 -3
- package/.next/standalone/node_modules/next/dist/server/lib/patch-fetch.js +2 -2
- package/.next/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/use-cache/handlers.js +14 -0
- package/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-probe-scheduler.js +2 -1
- package/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-wrapper.js +100 -31
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/adapters/headers.js +88 -2
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/revalidate.js +12 -5
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/unstable-cache.js +13 -1
- package/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
- package/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
- package/.next/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
- package/.next/standalone/node_modules/next/package.json +11 -11
- package/.next/standalone/package.json +10 -10
- package/.next/standalone/server.js +1 -1
- package/README.md +11 -11
- package/dist/cli.mjs +81 -101
- package/dist/worker.mjs +1 -1
- package/lib/telemetry.ts +45 -40
- package/package.json +10 -10
- package/scripts/release-announcement.mjs +686 -0
- package/scripts/translate-docs/config.ts +19 -1
- package/src/audit/cli.ts +64 -49
- package/src/hooks/hook-telemetry.ts +3 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g2rg69._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0m98kzy._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0v5_91z._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1-a3135._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1e5g_ur._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1hmqefd._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/_1nq-35m._.js +0 -23
- package/.next/standalone/.next/server/chunks/ssr/node_modules_1j2z5jb._.js +0 -3
- package/.next/standalone/.next/static/chunks/00q6cfzuzpc85.js +0 -1
- package/.next/standalone/.next/static/chunks/13--2yvqek_s1.js +0 -1
- package/.next/standalone/.next/static/chunks/18fqy3doo2ial.js +0 -6
- package/.next/standalone/.next/static/chunks/2ts65czrjjd_k.js +0 -31
- package/.next/standalone/.next/static/chunks/31orv9uidm1fn.js +0 -22
- package/.next/standalone/.next/static/chunks/3peix2vxzj7eh.js +0 -1
- package/.next/standalone/node_modules/next/dist/server/lib/encode-cache-tag.js +0 -45
- /package/.next/standalone/.next/static/{jSKB7CQQSNTX-uSbY2bUs → ZklXxyA5ygsWSQz2u_zii}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{jSKB7CQQSNTX-uSbY2bUs → ZklXxyA5ygsWSQz2u_zii}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{jSKB7CQQSNTX-uSbY2bUs → ZklXxyA5ygsWSQz2u_zii}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Konfiguration
|
|
3
|
+
description: "Konfigurationsdateiformat, Drei-Ebenen-System und Zusammenführungsregeln"
|
|
4
|
+
icon: gear
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
failproofai verwendet JSON-Konfigurationsdateien, um zu steuern, welche Richtlinien aktiv sind, wie sie sich verhalten und woher benutzerdefinierte Richtlinien geladen werden. Die Konfiguration ist so gestaltet, dass sie sich leicht im Team teilen lässt – committen Sie sie in Ihr Repository und jeder Entwickler erhält dasselbe Sicherheitsnetz für den Agenten.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Konfigurationsebenen
|
|
12
|
+
|
|
13
|
+
Es gibt drei Konfigurationsebenen, die in Prioritätsreihenfolge ausgewertet werden:
|
|
14
|
+
|
|
15
|
+
| Ebene | Dateipfad | Zweck |
|
|
16
|
+
|-------|-----------|-------|
|
|
17
|
+
| **project** | `.failproofai/policies-config.json` | Repository-spezifische Einstellungen, in die Versionskontrolle eingecheckt |
|
|
18
|
+
| **local** | `.failproofai/policies-config.local.json` | Persönliche Überschreibungen pro Repository, per gitignore ausgeschlossen |
|
|
19
|
+
| **global** | `~/.failproofai/policies-config.json` | Benutzerweite Standardwerte für alle Projekte |
|
|
20
|
+
|
|
21
|
+
Wenn failproofai ein Hook-Ereignis empfängt, lädt und zusammenführt es alle drei Dateien, die für das aktuelle Arbeitsverzeichnis existieren.
|
|
22
|
+
|
|
23
|
+
### Zusammenführungsregeln
|
|
24
|
+
|
|
25
|
+
**`enabledPolicies`** – die Vereinigung aller drei Ebenen. Eine Richtlinie, die auf einer beliebigen Ebene aktiviert ist, ist aktiv.
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
project: ["block-sudo"]
|
|
29
|
+
local: ["block-rm-rf"]
|
|
30
|
+
global: ["block-sudo", "sanitize-api-keys"]
|
|
31
|
+
|
|
32
|
+
resolved: ["block-sudo", "block-rm-rf", "sanitize-api-keys"] ← deduplizierte Vereinigung
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**`policyParams`** – die erste Ebene, die Parameter für eine bestimmte Richtlinie definiert, gewinnt vollständig. Es findet keine tiefe Zusammenführung von Werten innerhalb der Parameter einer Richtlinie statt.
|
|
36
|
+
|
|
37
|
+
```text
|
|
38
|
+
project: block-sudo → { allowPatterns: ["sudo apt-get update"] }
|
|
39
|
+
global: block-sudo → { allowPatterns: ["sudo systemctl status"] }
|
|
40
|
+
|
|
41
|
+
resolved: { allowPatterns: ["sudo apt-get update"] } ← project gewinnt, global wird ignoriert
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
```text
|
|
45
|
+
project: (kein block-sudo-Eintrag)
|
|
46
|
+
local: (kein block-sudo-Eintrag)
|
|
47
|
+
global: block-sudo → { allowPatterns: ["sudo systemctl status"] }
|
|
48
|
+
|
|
49
|
+
resolved: { allowPatterns: ["sudo systemctl status"] } ← fällt auf global zurück
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**`customPoliciesPaths` / `customPoliciesPath`** – die erste Ebene, die eine der beiden Formen definiert, gewinnt.
|
|
53
|
+
|
|
54
|
+
**`disabledCustomPolicies`** – Vereinigung über alle Ebenen. Das Dashboard schreibt hier eine
|
|
55
|
+
quellenqualifizierte ID, wenn Sie eine einzelne Richtlinie aus einer expliziten oder konventionsbasierten
|
|
56
|
+
Richtliniendatei deaktivieren. Nicht aufgeführte Richtlinien bleiben standardmäßig aktiviert;
|
|
57
|
+
IDs enthalten die Quelldatei, sodass gleichnamige Richtlinien in mehreren Dateien
|
|
58
|
+
unabhängig voneinander gesteuert werden können.
|
|
59
|
+
|
|
60
|
+
**`llm`** – die erste Ebene, die es definiert, gewinnt.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Konfigurationsdateiformat
|
|
65
|
+
|
|
66
|
+
```json
|
|
67
|
+
{
|
|
68
|
+
"enabledPolicies": [
|
|
69
|
+
"block-sudo",
|
|
70
|
+
"block-rm-rf",
|
|
71
|
+
"block-push-master",
|
|
72
|
+
"sanitize-api-keys",
|
|
73
|
+
"sanitize-jwt",
|
|
74
|
+
"block-env-files",
|
|
75
|
+
"block-read-outside-cwd"
|
|
76
|
+
],
|
|
77
|
+
"policyParams": {
|
|
78
|
+
"block-sudo": {
|
|
79
|
+
"allowPatterns": ["sudo systemctl status", "sudo journalctl"]
|
|
80
|
+
},
|
|
81
|
+
"block-push-master": {
|
|
82
|
+
"protectedBranches": ["main", "release", "prod"]
|
|
83
|
+
},
|
|
84
|
+
"block-rm-rf": {
|
|
85
|
+
"allowPaths": ["/tmp"]
|
|
86
|
+
},
|
|
87
|
+
"block-read-outside-cwd": {
|
|
88
|
+
"allowPaths": ["/shared/data", "/opt/company"]
|
|
89
|
+
},
|
|
90
|
+
"sanitize-api-keys": {
|
|
91
|
+
"additionalPatterns": [
|
|
92
|
+
{ "regex": "myco_[A-Za-z0-9]{32}", "label": "MyCo API key" }
|
|
93
|
+
]
|
|
94
|
+
},
|
|
95
|
+
"warn-large-file-write": {
|
|
96
|
+
"thresholdKb": 512
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"customPoliciesPath": "/home/alice/myproject/my-policies.js"
|
|
100
|
+
}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Feldreferenz
|
|
106
|
+
|
|
107
|
+
### `enabledPolicies`
|
|
108
|
+
|
|
109
|
+
Typ: `string[]`
|
|
110
|
+
|
|
111
|
+
Liste der zu aktivierenden Richtliniennamen. Die Namen müssen exakt mit den Richtlinienkennungen übereinstimmen, die `failproofai policies` anzeigt. Die vollständige Liste finden Sie unter [Integrierte Richtlinien](/de/built-in-policies).
|
|
112
|
+
|
|
113
|
+
Richtlinien, die nicht in `enabledPolicies` aufgeführt sind, sind inaktiv, auch wenn sie Einträge in `policyParams` haben.
|
|
114
|
+
|
|
115
|
+
### `policyParams`
|
|
116
|
+
|
|
117
|
+
Typ: `Record<string, Record<string, unknown>>`
|
|
118
|
+
|
|
119
|
+
Parameterüberschreibungen pro Richtlinie. Der äußere Schlüssel ist der Richtlinienname; die inneren Schlüssel sind richtlinienspezifisch. Jede Richtlinie dokumentiert ihre verfügbaren Parameter unter [Integrierte Richtlinien](/de/built-in-policies).
|
|
120
|
+
|
|
121
|
+
Wenn eine Richtlinie Parameter hat, Sie diese aber nicht angeben, werden die integrierten Standardwerte der Richtlinie verwendet. Benutzer, die `policyParams` gar nicht konfigurieren, erhalten ein identisches Verhalten wie in früheren Versionen.
|
|
122
|
+
|
|
123
|
+
Unbekannte Schlüssel innerhalb des Parameterblocks einer Richtlinie werden zur Hook-Ausführungszeit stillschweigend ignoriert, aber als Warnungen ausgegeben, wenn Sie `failproofai policies` ausführen.
|
|
124
|
+
|
|
125
|
+
#### `hint` (übergreifend)
|
|
126
|
+
|
|
127
|
+
Typ: `string` (optional)
|
|
128
|
+
|
|
129
|
+
Eine Meldung, die an die Begründung angehängt wird, wenn eine Richtlinie `deny` oder `instruct` zurückgibt. Verwenden Sie dieses Feld, um Claude handlungsrelevante Hinweise zu geben, ohne die Richtlinie selbst zu ändern.
|
|
130
|
+
|
|
131
|
+
Funktioniert mit jedem Richtlinientyp – integriert, benutzerdefiniert (`custom/`), Projektkonfiguration (`.failproofai-project/`) oder Benutzerkonfiguration (`.failproofai-user/`).
|
|
132
|
+
|
|
133
|
+
```json
|
|
134
|
+
{
|
|
135
|
+
"policyParams": {
|
|
136
|
+
"block-force-push": {
|
|
137
|
+
"hint": "Try creating a fresh branch instead."
|
|
138
|
+
},
|
|
139
|
+
"block-sudo": {
|
|
140
|
+
"allowPatterns": ["sudo apt-get"],
|
|
141
|
+
"hint": "Use apt-get directly without sudo."
|
|
142
|
+
},
|
|
143
|
+
"custom/my-policy": {
|
|
144
|
+
"hint": "Ask the user for approval first."
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Wenn `block-force-push` ablehnt, sieht Claude: *„Force-Pushing ist blockiert. Try creating a fresh branch instead."*
|
|
151
|
+
|
|
152
|
+
Nicht-String-Werte und leere Zeichenketten werden stillschweigend ignoriert. Wenn `hint` nicht gesetzt ist, bleibt das Verhalten unverändert (abwärtskompatibel).
|
|
153
|
+
|
|
154
|
+
### `customPoliciesPath`
|
|
155
|
+
|
|
156
|
+
Typ: `string` (absoluter Pfad)
|
|
157
|
+
|
|
158
|
+
Pfad zu einer JavaScript-Datei mit benutzerdefinierten Hook-Richtlinien. Dieser wird automatisch durch `failproofai policies --install --custom <path>` gesetzt (der Pfad wird vor der Speicherung in einen absoluten Pfad aufgelöst).
|
|
159
|
+
|
|
160
|
+
Die Datei wird bei jedem Hook-Ereignis neu geladen – es gibt kein Caching. Details zur Erstellung finden Sie unter [Benutzerdefinierte Richtlinien](/de/custom-policies).
|
|
161
|
+
|
|
162
|
+
### Konventionsbasierte Richtlinien
|
|
163
|
+
|
|
164
|
+
Zusätzlich zum expliziten `customPoliciesPath` erkennt und lädt failproofai automatisch Richtliniendateien aus `.failproofai/policies/`-Verzeichnissen:
|
|
165
|
+
|
|
166
|
+
| Ebene | Verzeichnis | Geltungsbereich |
|
|
167
|
+
|-------|-------------|-----------------|
|
|
168
|
+
| Projekt | `.failproofai/policies/` | Gemeinsam mit dem Team über die Versionskontrolle |
|
|
169
|
+
| Benutzer | `~/.failproofai/policies/custom-policies/` | Persönlich, gilt für alle Projekte |
|
|
170
|
+
|
|
171
|
+
<Note>
|
|
172
|
+
Das Verzeichnis auf Benutzerebene wurde im Rahmen der Umstrukturierung des
|
|
173
|
+
Home-Verzeichnisses eine Ebene tiefer verschoben. Dateien, die noch am alten
|
|
174
|
+
Speicherort `~/.failproofai/policies/` liegen, werden beim ersten Ausführen
|
|
175
|
+
eines `failproofai`-Befehls nach dem Upgrade automatisch in `custom-policies/`
|
|
176
|
+
verschoben, und der Befehl zeigt Ihnen an, welche Dateien verschoben wurden.
|
|
177
|
+
</Note>
|
|
178
|
+
|
|
179
|
+
**Dateiabgleich:** Es werden nur Dateien geladen, die dem Muster `*policies.{js,mjs,ts}` entsprechen (z. B. `security-policies.mjs`, `workflow-policies.js`). Andere Dateien im Verzeichnis werden ignoriert.
|
|
180
|
+
|
|
181
|
+
**Keine Konfiguration erforderlich:** Konventionsbasierte Richtlinien benötigen keine Einträge in `policies-config.json`. Legen Sie die Dateien einfach im Verzeichnis ab und sie werden beim nächsten Hook-Ereignis aufgegriffen.
|
|
182
|
+
|
|
183
|
+
**Gemeinsames Laden:** Sowohl Projekt- als auch Benutzer-Konventionsverzeichnisse werden durchsucht. Alle übereinstimmenden Dateien aus beiden Ebenen werden geladen (im Gegensatz zu `customPoliciesPath`, das die Regel „erste Ebene gewinnt" verwendet).
|
|
184
|
+
|
|
185
|
+
Weitere Details und Beispiele finden Sie unter [Benutzerdefinierte Richtlinien](/de/custom-policies).
|
|
186
|
+
|
|
187
|
+
### `llm`
|
|
188
|
+
|
|
189
|
+
Typ: `object` (optional)
|
|
190
|
+
|
|
191
|
+
LLM-Client-Konfiguration für Richtlinien, die KI-Aufrufe durchführen. Für die meisten Setups nicht erforderlich.
|
|
192
|
+
|
|
193
|
+
```json
|
|
194
|
+
{
|
|
195
|
+
"llm": {
|
|
196
|
+
"model": "claude-sonnet-4-6",
|
|
197
|
+
"apiKey": "sk-ant-..."
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## Konfiguration über die CLI verwalten
|
|
205
|
+
|
|
206
|
+
Die Befehle `policies --install` und `policies --uninstall` schreiben in die Hook-Einstellungsdatei Ihrer Agenten-CLI (die Hook-Einstiegspunkte), während `policies-config.json` die Datei ist, die Sie direkt verwalten. Beides ist getrennt:
|
|
207
|
+
|
|
208
|
+
- **Agenten-CLI-Einstellungen** – weist den Agenten an, bei jeder Werkzeugverwendung `failproofai --hook <event>` aufzurufen:
|
|
209
|
+
- **Claude Code**: `~/.claude/settings.json` (Benutzer), `<cwd>/.claude/settings.json` (Projekt), `<cwd>/.claude/settings.local.json` (lokal)
|
|
210
|
+
- **OpenAI Codex**: `~/.codex/hooks.json` (Benutzer), `<cwd>/.codex/hooks.json` (Projekt) – Codex hat keinen `local`-Geltungsbereich
|
|
211
|
+
- **GitHub Copilot CLI _(Beta)_**: `~/.copilot/hooks/failproofai.json` (Benutzer), `<cwd>/.github/hooks/failproofai.json` (Projekt) – Copilot hat keinen `local`-Geltungsbereich. Hook-Einträge verwenden Copilots betriebssystemspezifische `bash`/`powershell`-Befehlsfelder mit `timeoutSec`; die Datei enthält einen `version: 1`-Marker auf oberster Ebene. Die Unterstützung für Copilot CLI ist **Beta**, während wir das `events.jsonl`-Datensatzschema (das in der öffentlichen Dokumentation nicht spezifiziert ist) gegen mehr reale Sitzungen verifizieren. **VS Code Copilot Chat Agent-Modus (Vorschau)** liest Hook-Konfigurationen aus `.github/hooks/*.json`, `~/.copilot/hooks/*.json` und `~/.claude/settings.json` (gesteuert durch die Einstellung `chat.hookFilesLocations`) unter Verwendung desselben Claude-förmigen `{hookSpecificOutput:{permissionDecision:"deny",…}}`-Vertrags – genau die Pfade, in die diese `copilot`-Integration und die `claude`-Integration (`~/.claude/settings.json`) bereits schreiben, sodass `failproofai policies --install --cli copilot` (oder `--cli claude`) **bereits im VS Code Agent-Modus durchgesetzt wird**, ohne eine separate `vscode`-Integration zu benötigen (bestätigt anhand der VS Code-Erkennungsprotokolle).
|
|
212
|
+
- **Cursor Agent _(Beta)_**: `~/.cursor/hooks.json` (Benutzer), `<cwd>/.cursor/hooks.json` (Projekt) – Cursor hat keinen `local`-Geltungsbereich. Hook-Einträge verwenden die Claude-förmige Form `{type, command, timeout}` (keine `bash`/`powershell`-Aufteilung), werden aber unter camelCase-Ereignisschlüsseln (`preToolUse`, `beforeSubmitPrompt`, …) in einem flachen Array gemäß Cursors [Hook-Schema](https://cursor.com/docs/hooks) gespeichert; die Datei enthält einen `version: 1`-Marker auf oberster Ebene. Der Handler kanonisiert camelCase → PascalCase über `CURSOR_EVENT_MAP`, sodass bestehende integrierte Richtlinien unverändert ausgelöst werden. Die Unterstützung für Cursor Agent ist **Beta**, während wir Cursors Transcript-Festplattenformat (in der öffentlichen Dokumentation nicht spezifiziert) gegen mehr reale Installationen verifizieren.
|
|
213
|
+
- **OpenCode _(Beta)_**: `~/.config/opencode/opencode.json` + `~/.config/opencode/plugins/failproofai.mjs` (Benutzer), `<cwd>/.opencode/opencode.json` + `<cwd>/.opencode/plugins/failproofai.mjs` (Projekt) – OpenCode hat keinen `local`-Geltungsbereich. Im Gegensatz zu den anderen fünf CLIs verfügt OpenCode über **kein externes Befehlshook-System**: Es lädt prozessinterne JS/TS-Plugins, die explizit über das `plugin: []`-Array in `opencode.json` registriert sind (die automatische Erkennung aus `.opencode/plugins/` ist **nicht** die Art, wie Plugins in opencode v1.14.33 geladen werden). Die Installation legt einen kleinen generierten Plugin-Shim ab, der das failproofai-Binary als Unterprozess aufruft und die Claude-förmige JSON-Antwort des Binärprogramms zurück in Plugin-Semantik übersetzt: `throw new Error()` für Werkzeugereigenis-Deny (bricht den Werkzeugaufruf ab), `client.session.prompt(...)` für instruct UND für `Stop` / `SubagentStop`-Deny (sendet den Ablehnungsgrund als nächste Benutzermeldung – der einzige Force-Retry-Kanal, da `session.idle` nur für Benachrichtigungen ist und ein Throw daraus ein No-op ist), und No-op für allow. Der Shim kanonisiert sowohl Werkzeugnamen (Kleinbuchstaben → PascalCase über `OPENCODE_TOOL_MAP`) als auch Werkzeugeingabe-Argumentschlüssel (camelCase → snake_case über `OPENCODE_TOOL_INPUT_MAP` für `Read` / `Write` / `Edit`, z. B. `filePath` → `file_path`, `oldString` → `old_string`), bevor er an das Binary weiterleitet, sodass pfadprüfende integrierte Richtlinien wie `block-read-outside-cwd`, `block-env-files` und `block-secrets-write` bei OpenCode-Werkzeugaufrufen unverändert ausgelöst werden. Sitzungen leben in OpenCodes SQLite-Datenbank unter `~/.local/share/opencode/opencode.db`; der Sitzungs-Viewer des Dashboards liest sie über `opencode db --format json` und `opencode export <id>`. Die Unterstützung für OpenCode ist **Beta**, während wir das Verhalten über Versionen hinweg und gegen mehr reale Sitzungen verifizieren. Siehe die [OpenCode-Plugins-Dokumentation](https://opencode.ai/docs/plugins/).
|
|
214
|
+
- **Pi _(Beta)_**: `~/.pi/agent/settings.json` (Benutzer), `<cwd>/.pi/settings.json` (Projekt) – Pi hat keinen `local`-Geltungsbereich. Pi lädt TypeScript-Erweiterungspakete beim Start; die Einstellungsdatei ist ein flaches String-Array `{"packages": ["./relative/path", …]}`. failproofai schreibt einen einzelnen Packages-Array-Eintrag, der auf sein gebündeltes `pi-extension/`-Verzeichnis zeigt. Die Erweiterung abonniert intern Pis `tool_call` / `user_bash` / `input` / `session_start`-Ereignisse und ruft `failproofai --hook <Event> --cli pi` auf; der Handler kanonisiert underscore_lower_snake_case → PascalCase über `PI_EVENT_MAP`, sodass bestehende integrierte Richtlinien unverändert ausgelöst werden. Werkzeugeingabeargumente werden ebenfalls über `PI_TOOL_INPUT_MAP` kanonisiert (Pis Read / Write / Edit liefern `path` statt `file_path`; die Zuordnung des Top-Level-Schlüssels ermöglicht das Auslösen von `block-env-files` und `block-secrets-write` – `block-read-outside-cwd` hatte bereits einen `path`-Fallback). Die Unterstützung für Pi ist **Beta**, während Pis Erweiterungs-API und Sitzungsprotokoll-Layout sich stabilisieren.
|
|
215
|
+
- **Hermes (hermes-agent)**: `~/.hermes/config.yaml` (**nur Benutzerebene** – Hermes hat keine Projekt-/lokale Konfiguration). Hermes ist ein Slack/Telegram-**Gateway**, sodass eine Installation Werkzeugaufrufe von jeder Plattform (Slack/Telegram/cli/cron) **und** internen Subagenten abfängt. Hook-Einträge sind ein `{command, timeout}`-Paar (Timeout in **Sekunden**) unter einer `hooks:`-Map, die durch Hermes' snake_case-Ereignisse (`pre_tool_call` / `post_tool_call` / `on_session_start` / `on_session_end` / `subagent_stop`) als Schlüssel indexiert ist; der Handler kanonisiert Ereignisse über `HERMES_EVENT_MAP` und Werkzeugnamen über `HERMES_TOOL_MAP`, sodass integrierte Richtlinien unverändert ausgelöst werden. Die Konfiguration wird durch einen kommentarerhaltenden YAML-`Document`-Round-Trip bearbeitet, sodass die anderen Einstellungen des Operators erhalten bleiben, und die Installation setzt `hooks_auto_accept: true`, damit das kopflose Gateway (kein TTY) die Hooks ohne Zustimmungsaufforderung ausführt. Der Evaluator gibt Hermes' `{"decision":"block","reason"}`-stdout-Vertrag aus (Hermes ignoriert Exit-Codes). **Einschränkungen:** Hermes hat kein Turn-End-`Stop`-Ereignis, sodass die `require-*-before-stop`-Integrierten nie dafür ausgelöst werden (nicht anwendbar, nicht kaputt); `instruct` degradiert zu allow-with-logged-note (kein Zusatzkontext-Kanal); und die Ausgabe-Geheimnis-Redaktion (`sanitize-*`) kann Werkzeugausgaben über den Shell-Hook-Vertrag nicht neu schreiben. Hermes ist **auch** eine Offline-**Audit**-Quelle – das Dashboard liest seine Gateway-Sitzungen direkt aus `~/.hermes/state.db`.
|
|
216
|
+
- **OpenClaw (openclaw gateway)**: `~/.openclaw/openclaw.json` (**nur Benutzerebene** – OpenClaw hat keine Projekt-/lokale Konfiguration). Wie Hermes ist OpenClaw ein selbst gehostetes Multi-Channel-**Gateway**, sodass eine Installation Werkzeugaufrufe von jedem Kanal und seinen internen Subagenten abfängt. Die Durchsetzung erfolgt über OpenClaws **prozessinterne Plugin-Hooks** (seine dateibasierten internen Hooks sind nur zur Beobachtung und können nicht blockieren), sodass – wie OpenCode/Pi – failproofai ein statisches `openclaw-plugin/`-Paket liefert, das das failproofai-Binary asynchron startet und das Urteil übersetzt. Die Installation registriert das mitgelieferte Plugin-Verzeichnis in `openclaw.json`'s `plugins.load.paths[]` und aktiviert es unter `plugins.entries.failproofai` (mit `hooks.allowConversationAccess: true`, erforderlich für die Raw-Conversation-Hooks). Der Evaluator gibt ein flaches `{permission, reason}`-Urteil aus und der Shim ordnet es der nativen Rückgabeform jedes Hooks zu: `before_tool_call → {block:true, blockReason}` (**PreToolUse**), `before_agent_run → {outcome:"block", reason}` (**UserPromptSubmit**) und `before_agent_finalize → {action:"revise", reason}` (**Stop** – ein echter Turn-End-Gate, sodass die `require-*-before-stop`-Integrierten bei OpenClaw **durchgesetzt werden**, anders als bei Hermes). Ereignisse und Werkzeugnamen kanonisieren binärseitig über `OPENCLAW_EVENT_MAP` / `OPENCLAW_TOOL_MAP` (`exec→Bash`, `read→Read`, …), sodass integrierte Richtlinien unverändert ausgelöst werden; der Shim schlägt bei Spawn-/Parse-/Timeout-Fehlern offen fehl. OpenClaw ist **auch** eine Offline-**Audit**-Quelle – das Dashboard liest seine JSONL-Sitzungen unter `~/.openclaw/agents/<agentId>/sessions/<uuid>.jsonl`.
|
|
217
|
+
- **Factory Droid (`droid`)**: `~/.factory/hooks.json` (Benutzer), `<cwd>/.factory/hooks.json` (Projekt) – Factory hat keinen `local`-Geltungsbereich. droid liefert ein Claude-ähnliches externes Befehlshook-System, jedoch mit zwei live gegen droid v0.171.0 verifizierten Besonderheiten: (1) Ereignisnamen befinden sich auf der **obersten Ebene** von `hooks.json` – es gibt **keinen `"hooks"`-Wrapper** (droid lehnt einen ab); Werkzeugereignisse (`PreToolUse`/`PostToolUse`) tragen `"matcher": "*"`, Nicht-Werkzeugereignisse lassen es weg. (2) Deny wird durch **Exit-Code 2 + stderr** gesteuert, nicht durch eine JSON-Entscheidung – der `factory`-Zweig des Evaluators gibt Exit 2 für Werkzeug-/Prompt-Ereignisse zurück und `{decision:"block", reason}` nur beim Turn-End-`Stop`-Ereignis (dem einzigen Force-Retry-Kanal von droid). Ereignisse sind bereits in PascalCase (keine Ereigniszuordnung) und die Payload ist Claude snake_case; nur Werkzeugnamen werden über `FACTORY_TOOL_MAP` kanonisiert (`Execute→Bash`, `Create→Write`, `FetchUrl→WebFetch`, …). Factory ist **auch** eine Offline-**Audit**-Quelle – das Dashboard liest seine JSONL-Sitzungen unter `~/.factory/sessions/<encoded-cwd>/<sessionId>.jsonl`.
|
|
218
|
+
- **Devin CLI (`devin`, Cognition)**: `~/.config/devin/config.json` (Benutzer), `<cwd>/.devin/config.json` (Projekt) – Devin hat keinen `local`-Geltungsbereich. Devin ist ein **reiner Claude-Klon**, live gegen devin v3000.1.27 verifiziert: Es verwendet das Standard-Claude-`"hooks"`-Wrapper-Schema (Schreibvorgänge sind merge-erhaltend, sodass die anderen Schlüssel der Konfigurationsdatei – `org_id`, `theme_mode`, … – erhalten bleiben), bereits PascalCase-Ereignisnamen (keine Ereigniszuordnung, kein Handler-Zweig) und eine Claude-snake_case-stdin-Payload (keine Normalisierung). Der `devin`-Zweig des Evaluators lehnt bei **jedem** Ereignis mit `{"decision":"block","reason"}` JSON auf stdout bei Exit 0 ab (verifiziert – der Block überschrieb `--permission-mode dangerous`); beim Turn-End-`Stop`-Ereignis enthält der Grund den MANDATORY-ACTION-Force-Retry-Wortlaut, sodass die `require-*-before-stop`-Integrierten durchgesetzt werden. Nur Werkzeugnamen werden über `DEVIN_TOOL_MAP` kanonisiert (`exec→Bash`; `tool_input.command` ist bereits kanonisch). Devin ist **auch** eine Offline-**Audit**-Quelle – das Dashboard liest seine SQLite-Sitzungen unter `~/.local/share/devin/cli/sessions.db` (jede `sessions`-Zeile enthält ein echtes `working_directory`, sodass Sitzungen wie bei Claude nach Projekt-cwd gruppiert werden).
|
|
219
|
+
- **Antigravity CLI (`agy`)**: `~/.gemini/config/hooks.json` (Benutzer), `<cwd>/.agents/hooks.json` (Projekt) – Antigravity hat keinen `local`-Geltungsbereich. Anders als Factory/Devin hat Antigravity seinen **eigenen** Vertrag (kein Claude-Klon), live gegen agy v1.1.2 verifiziert. `hooks.json` verwendet ein **benanntes-Hook**-Schema: Der Top-Level-Schlüssel ist ein Hook-*Name* (`"failproofai"`), dessen Wert eine Ereignis→Handler-Map ist – Werkzeugereignisse (`PreToolUse`/`PostToolUse`) wickeln Handler in `{matcher:"*", hooks:[…]}` ein, während `PreInvocation`/`Stop` **flache** Handler-Arrays sind (andere benannte Hooks bleiben erhalten). Die stdin-Payload ist **camelCase-Protojson** (`toolCall:{name,args}`, `conversationId`, `workspacePaths`, `transcriptPath`) – failproofai normalisiert sie vor der Richtlinienausführung zu snake_case und ordnet die PascalCase-Argumente von `run_command` (`CommandLine`/`Cwd`) über `ANTIGRAVITY_TOOL_INPUT_MAP` zu. Der `antigravity`-Zweig des Evaluators verwendet Antigravitys **eigene** Antwortformen: `{decision:"deny", reason}` blockiert ein Werkzeug/Prompt (Exit 0), `{decision:"continue", reason}` beim Turn-End-`Stop` betritt die Schleife erneut (sodass die `require-*-before-stop`-Integrierten durchgesetzt werden) und `{injectSteps:[{ephemeralMessage}]}` fügt eine Anweisung bei `PreInvocation` (→ `UserPromptSubmit`) ein. Werkzeugnamen kanonisieren über `ANTIGRAVITY_TOOL_MAP` (`run_command→Bash`, `view_file→Read`, …). Antigravity ist **auch** eine Offline-**Audit**-Quelle – das Dashboard liest seine Plain-JSONL-Transkripte unter `~/.gemini/antigravity-cli/brain/<conversationId>/.system_generated/logs/transcript_full.jsonl` (Gesprächsindex in `conversation_summaries.db`).
|
|
220
|
+
- **Goose (Codename goose, Block)**: `~/.agents/plugins/failproofai/hooks/hooks.json` (Benutzer), `<cwd>/.agents/plugins/failproofai/hooks/hooks.json` (Projekt) – Goose hat keinen `local`-Geltungsbereich. Die Durchsetzung verwendet Gooses **Hooks**-System, die agentenübergreifende **Open Plugins**-Spezifikation: Der Installer legt einfach das `failproofai`-Plugin-Verzeichnis ab und Goose erkennt es beim Start automatisch (und registriert es selbst in `~/.config/goose/config.yaml`). Die `hooks.json` verwendet ein Open-Plugins-Schema **mit** einem `"hooks"`-Wrapper auf oberster Ebene, und der Matcher wird bei jedem Ereignis **weggelassen** – ein bloßes `"*"` ist ein ungültiger Regex, der nichts übereinstimmt (live gegen goose v1.43.0 verifiziert). Ereignisnamen sind bereits in PascalCase (keine Ereigniszuordnung); die stdin-Payload verwendet `event`/`working_dir`, was der Handler zu `hook_event_name`/`cwd` normalisiert. Der `goose`-Zweig des Evaluators lehnt mit `{"decision":"block","reason"}` JSON auf stdout bei Exit 0 ab, was nur beim **`PreToolUse`**-Ereignis berücksichtigt wird (ab goose ≥ v1.37.0 ausgeliefert) – das sowohl für das Shell-Tool **als auch innerhalb delegierter Subagenten** ausgelöst wird und damit der einzige ausreichende Deny-Punkt ist; jeder andere Hook-Fehler schlägt **offen** fehl. Goose hat **kein `Stop`-Ereignis**, sodass die `require-*-before-stop`-Integrierten nicht anwendbar sind (wie bei Hermes). Werkzeugnamen kanonisieren über `GOOSE_TOOL_MAP` (`shell→Bash`, `write→Write`, `todo__todo_write→TodoWrite`, …) und Pfadschlüssel über `GOOSE_TOOL_INPUT_MAP` (`path`/`source` → `file_path`). Goose ist **auch** eine Offline-**Audit**-Quelle – das Dashboard liest seine SQLite-Sitzungen unter `~/.local/share/goose/sessions/sessions.db` (jede `sessions`-Zeile enthält ein echtes `working_dir`, sodass Sitzungen wie bei Devin nach Projekt-cwd gruppiert werden; `--no-session`-Scratch-Runs werden herausgefiltert).
|
|
221
|
+
- **`policies-config.json`** – teilt failproofai mit, welche Richtlinien ausgewertet werden sollen und mit welchen Parametern (wird von allen Agenten-CLIs gemeinsam genutzt)
|
|
222
|
+
|
|
223
|
+
Übergeben Sie `--cli claude|codex|copilot|cursor|opencode|pi|hermes|openclaw|factory|devin|antigravity|goose`, um einen bestimmten Agenten anzusteuern (durch Leerzeichen getrennt oder wiederholt für eine beliebige Teilmenge):
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
failproofai policies --install --cli codex --scope project
|
|
227
|
+
failproofai policies --install --cli copilot --scope project
|
|
228
|
+
failproofai policies --install --cli cursor --scope project
|
|
229
|
+
failproofai policies --install --cli opencode --scope project
|
|
230
|
+
failproofai policies --install --cli pi --scope project
|
|
231
|
+
failproofai policies --install --cli hermes --scope user
|
|
232
|
+
failproofai policies --install --cli openclaw --scope user
|
|
233
|
+
failproofai policies --install --cli factory --scope project
|
|
234
|
+
failproofai policies --install --cli devin --scope project
|
|
235
|
+
failproofai policies --install --cli antigravity --scope project
|
|
236
|
+
failproofai policies --install --cli goose --scope project
|
|
237
|
+
failproofai policies --install --cli claude codex copilot cursor opencode pi hermes openclaw factory devin antigravity goose
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
Wenn `--cli` weggelassen wird, erkennt `failproofai` automatisch, welche Agenten-CLIs installiert sind (`which claude` / `which codex` / `which copilot` / `which cursor-agent` / `which opencode` / `which pi` / `which hermes` / `which openclaw` / `which droid` / `which devin` / `which agy` / `which goose`):
|
|
241
|
+
|
|
242
|
+
- **Eine CLI erkannt** – wählt diese CLI automatisch aus, ohne nachzufragen.
|
|
243
|
+
- **Mehrere CLIs erkannt** in einem interaktiven Terminal – zeigt eine Einzelauswahl-Eingabeaufforderung mit Pfeiltastennavigation an, gegliedert in einen Abschnitt `Erkannt (N)` (mit einer aggregierten Zeile `Für alle N erkannten installieren` + jede erkannte CLI einzeln) und einen Abschnitt `Nicht installiert (M) · Hooks vorab installieren`, der jede nicht erkannte unterstützte CLI als Vorab-Installationsoption auflistet (↑↓ zum Bewegen, Eingabe zum Auswählen, ^C zum Beenden). Der Deinstallationsablauf zeigt nur den Erkannt-Abschnitt.
|
|
244
|
+
- **Mehrere CLIs erkannt** in einer nicht-interaktiven Ausführung (CI, kein TTY) – installiert für alle erkannten CLIs ohne Nachfrage.
|
|
245
|
+
- **Keine erkannt** – fällt auf `claude` zurück, mit einer Warnung, dass kein Agenten-Binary im PATH gefunden wurde; der Hook-Befehl wird trotzdem geschrieben, sodass er aktiviert wird, sobald Sie einen installieren.
|
|
246
|
+
|
|
247
|
+
Sie können `policies-config.json` jederzeit direkt bearbeiten; Änderungen werden sofort beim nächsten Hook-Ereignis wirksam, ohne dass ein Neustart erforderlich ist.
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
## Beispiel: Konfiguration auf Projektebene mit Team-Standardwerten
|
|
252
|
+
|
|
253
|
+
Committen Sie `.failproofai/policies-config.json` in Ihr Repository:
|
|
254
|
+
|
|
255
|
+
```json
|
|
256
|
+
{
|
|
257
|
+
"enabledPolicies": [
|
|
258
|
+
"block-sudo",
|
|
259
|
+
"block-rm-rf",
|
|
260
|
+
"block-push-master",
|
|
261
|
+
"sanitize-api-keys",
|
|
262
|
+
"block-env-files"
|
|
263
|
+
],
|
|
264
|
+
"policyParams": {
|
|
265
|
+
"block-push-master": {
|
|
266
|
+
"protectedBranches": ["main", "release", "hotfix"]
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
Jeder Entwickler kann dann `.failproofai/policies-config.local.json` (per gitignore ausgeschlossen) für persönliche Überschreibungen erstellen, ohne die Teamkollegen zu beeinflussen.
|
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Benutzerdefinierte Richtlinien
|
|
3
|
+
description: "Schreiben Sie eigene Richtlinien in JavaScript – Konventionen durchsetzen, Drift verhindern, Fehler erkennen, externe Systeme integrieren"
|
|
4
|
+
icon: code
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Benutzerdefinierte Richtlinien ermöglichen es Ihnen, Regeln für beliebige Agentverhalten zu schreiben: Projektkonventionen durchsetzen, Drift verhindern, destruktive Operationen absichern, feststeckende Agenten erkennen oder Integrationen mit Slack, Genehmigungsworkflows und mehr umsetzen. Sie nutzen dasselbe Hook-Event-System und dieselben `allow`-, `deny`- und `instruct`-Entscheidungen wie die integrierten Richtlinien.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Schnellbeispiel
|
|
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
|
+
Installieren:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
failproofai policies --install --custom ./my-policies.js
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Zwei Möglichkeiten, benutzerdefinierte Richtlinien zu laden
|
|
41
|
+
|
|
42
|
+
### Option 1: Konventionsbasiert (empfohlen)
|
|
43
|
+
|
|
44
|
+
Legen Sie `*policies.{js,mjs,ts}`-Dateien im Verzeichnis `.failproofai/policies/` ab – sie werden automatisch geladen, ohne Flags oder Konfigurationsänderungen. Dies funktioniert wie Git-Hooks: Datei ablegen, fertig.
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
# Projektebene — in Git eingecheckt, mit dem Team geteilt
|
|
48
|
+
.failproofai/policies/security-policies.mjs
|
|
49
|
+
.failproofai/policies/workflow-policies.mjs
|
|
50
|
+
|
|
51
|
+
# Benutzerebene — persönlich, gilt für alle Projekte
|
|
52
|
+
~/.failproofai/policies/my-policies.mjs
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**So funktioniert es:**
|
|
56
|
+
- Sowohl das Projekt- als auch das Benutzerverzeichnis werden durchsucht (Vereinigungsmenge – kein Erster-gewinnt-nach-Scope)
|
|
57
|
+
- Dateien werden alphabetisch innerhalb jedes Verzeichnisses geladen. Mit `01-`, `02-` als Präfix können Sie die Reihenfolge steuern
|
|
58
|
+
- Nur Dateien, die `*policies.{js,mjs,ts}` entsprechen, werden geladen; andere Dateien werden ignoriert
|
|
59
|
+
- Jede Datei wird unabhängig geladen (Fail-open pro Datei)
|
|
60
|
+
- Funktioniert zusammen mit explizitem `--custom` und integrierten Richtlinien
|
|
61
|
+
|
|
62
|
+
<Tip>
|
|
63
|
+
Konventionsrichtlinien sind der einfachste Weg, einen Qualitätsstandard für Ihre Organisation aufzubauen. Checken Sie `.failproofai/policies/` in Git ein, und jedes Teammitglied erhält automatisch dieselben Regeln – kein Setup pro Entwickler erforderlich. Wenn Ihr Team neue Fehlermuster entdeckt, fügen Sie eine Richtlinie hinzu und pushen Sie. Mit der Zeit werden diese zu einem lebendigen Qualitätsstandard, der sich mit jedem Beitrag weiterentwickelt.
|
|
64
|
+
</Tip>
|
|
65
|
+
|
|
66
|
+
### Option 2: Expliziter Dateipfad
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# Installation mit einer benutzerdefinierten Richtliniendatei
|
|
70
|
+
failproofai policies --install --custom ./my-policies.js
|
|
71
|
+
|
|
72
|
+
# Benutzerdefinierte Richtlinienpfade ersetzen
|
|
73
|
+
failproofai policies --install --custom ./new-policies.js
|
|
74
|
+
|
|
75
|
+
# Mehrere explizite Dateien konfigurieren (in Flag-Reihenfolge geladen)
|
|
76
|
+
failproofai policies --install --custom ./security.js --custom ./workflow.js
|
|
77
|
+
|
|
78
|
+
# Alle expliziten benutzerdefinierten Richtlinienpfade aus der Konfiguration entfernen
|
|
79
|
+
failproofai policies --uninstall --custom
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Aufgelöste absolute Pfade werden in `policies-config.json` als `customPoliciesPaths` gespeichert. Wiederholen Sie `--custom`, um mehrere Dateien zu konfigurieren. Bestehende Konfigurationen mit dem veralteten Feld `customPoliciesPath` funktionieren weiterhin. Dateien werden bei jedem Hook-Event neu geladen – es gibt kein Caching zwischen Events.
|
|
83
|
+
|
|
84
|
+
Jede registrierte Richtlinie erscheint mit einem eigenen Umschalter im Dashboard. Das Deaktivieren einer Richtlinie speichert ihre quellenqualifizierte ID in `disabledCustomPolicies`; die Datei und ihre anderen Richtlinien werden weiterhin geladen, während die deaktivierte Richtlinie vor dem Event-Matching ausgeschlossen wird. Richtliniennamen, die über mehrere Dateien hinweg doppelt vorkommen, haben unabhängige Umschalter.
|
|
85
|
+
|
|
86
|
+
### Beide Methoden kombinieren
|
|
87
|
+
|
|
88
|
+
Konventionsrichtlinien und explizite `--custom`-Dateien können nebeneinander existieren. Ladereihenfolge:
|
|
89
|
+
|
|
90
|
+
1. Explizite `customPoliciesPaths`-Dateien (in konfigurierter Reihenfolge)
|
|
91
|
+
2. Projektkonventionsdateien (`{cwd}/.failproofai/policies/`, alphabetisch)
|
|
92
|
+
3. Benutzerkonventionsdateien (`~/.failproofai/policies/`, alphabetisch)
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## API
|
|
97
|
+
|
|
98
|
+
### Import
|
|
99
|
+
|
|
100
|
+
```js
|
|
101
|
+
import { customPolicies, allow, deny, instruct } from "failproofai";
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### `customPolicies.add(hook)`
|
|
105
|
+
|
|
106
|
+
Registriert eine Richtlinie. Rufen Sie diese Methode beliebig oft auf, um mehrere Richtlinien in derselben Datei zu definieren.
|
|
107
|
+
|
|
108
|
+
```ts
|
|
109
|
+
customPolicies.add({
|
|
110
|
+
name: string; // erforderlich – eindeutige Kennung
|
|
111
|
+
description?: string; // wird in der Ausgabe von `failproofai policies` angezeigt
|
|
112
|
+
match?: { events?: HookEventType[] }; // nach Eventtyp filtern; weglassen, um alle zu erfassen
|
|
113
|
+
fn: (ctx: PolicyContext) => PolicyResult | Promise<PolicyResult>;
|
|
114
|
+
});
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Entscheidungs-Hilfsfunktionen
|
|
118
|
+
|
|
119
|
+
| Funktion | Wirkung | Wann verwenden |
|
|
120
|
+
|----------|--------|----------|
|
|
121
|
+
| `allow()` | Operation stillschweigend erlauben | Die Aktion ist sicher, keine Meldung erforderlich |
|
|
122
|
+
| `deny(message)` | Operation blockieren | Der Agent sollte diese Aktion nicht ausführen |
|
|
123
|
+
| `instruct(message)` | Kontext hinzufügen, ohne zu blockieren | Dem Agenten zusätzlichen Kontext geben, um ihn auf Kurs zu halten |
|
|
124
|
+
|
|
125
|
+
`deny(message)` – die Nachricht erscheint für Claude mit dem Präfix `"Blocked by failproofai:"`. Ein einzelnes `deny` bricht alle weiteren Auswertungen ab.
|
|
126
|
+
|
|
127
|
+
`instruct(message)` – die Nachricht wird dem Kontext von Claude für den aktuellen Tool-Aufruf hinzugefügt. Alle `instruct`-Nachrichten werden gesammelt und gemeinsam übermittelt.
|
|
128
|
+
|
|
129
|
+
<Tip>
|
|
130
|
+
Sie können jedem `deny`- oder `instruct`-Message zusätzliche Hinweise anfügen, indem Sie ein `hint`-Feld in `policyParams` angeben – ohne Codeänderungen. Dies funktioniert auch für benutzerdefinierte (`custom/`), Projektkonventions- (`.failproofai-project/`) und Benutzerkonventionsrichtlinien (`.failproofai-user/`). Weitere Details finden Sie unter [Konfiguration → hint](/de/configuration#hint-cross-cutting).
|
|
131
|
+
</Tip>
|
|
132
|
+
|
|
133
|
+
### Informative Allow-Nachrichten
|
|
134
|
+
|
|
135
|
+
`allow(message)` erlaubt die Operation **und** sendet eine informative Nachricht an Claude. Die Nachricht wird als `additionalContext` in der stdout-Antwort des Hook-Handlers übermittelt – derselbe Mechanismus wie bei `instruct`, aber semantisch anders: Es handelt sich um ein Statusupdate, nicht um eine Warnung.
|
|
136
|
+
|
|
137
|
+
| Funktion | Wirkung | Wann verwenden |
|
|
138
|
+
|----------|--------|----------|
|
|
139
|
+
| `allow(message)` | Erlauben und Kontext an Claude senden | Bestätigen, dass eine Prüfung erfolgreich war, oder erklären, warum eine Prüfung übersprungen wurde |
|
|
140
|
+
|
|
141
|
+
Anwendungsfälle:
|
|
142
|
+
- **Statusbestätigungen:** `allow("All CI checks passed.")` – teilt Claude mit, dass alles in Ordnung ist
|
|
143
|
+
- **Fail-open-Erklärungen:** `allow("GitHub CLI not installed, skipping CI check.")` – erklärt Claude, warum eine Prüfung übersprungen wurde, damit es den vollen Kontext hat
|
|
144
|
+
- **Mehrere Nachrichten werden gesammelt:** Wenn mehrere Richtlinien jeweils `allow(message)` zurückgeben, werden alle Nachrichten mit Zeilenumbrüchen verbunden und gemeinsam übermittelt
|
|
145
|
+
|
|
146
|
+
```js
|
|
147
|
+
customPolicies.add({
|
|
148
|
+
name: "confirm-branch-status",
|
|
149
|
+
match: { events: ["Stop"] },
|
|
150
|
+
fn: async (ctx) => {
|
|
151
|
+
const cwd = ctx.session?.cwd;
|
|
152
|
+
if (!cwd) return allow("No working directory, skipping branch check.");
|
|
153
|
+
|
|
154
|
+
// ... check branch status ...
|
|
155
|
+
if (allPushed) {
|
|
156
|
+
return allow("Branch is up to date with remote.");
|
|
157
|
+
}
|
|
158
|
+
return deny("Unpushed changes detected.");
|
|
159
|
+
},
|
|
160
|
+
});
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### `PolicyContext`-Felder
|
|
164
|
+
|
|
165
|
+
| Feld | Typ | Beschreibung |
|
|
166
|
+
|-------|------|-------------|
|
|
167
|
+
| `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
|
|
168
|
+
| `toolName` | `string \| undefined` | Das aufgerufene Tool (z. B. `"Bash"`, `"Write"`, `"Read"`) |
|
|
169
|
+
| `toolInput` | `Record<string, unknown> \| undefined` | Die Eingabeparameter des Tools |
|
|
170
|
+
| `payload` | `Record<string, unknown>` | Vollständige rohe Event-Nutzlast von Claude Code |
|
|
171
|
+
| `session` | `SessionMetadata \| undefined` | Sitzungskontext (siehe unten) |
|
|
172
|
+
|
|
173
|
+
### `SessionMetadata`-Felder
|
|
174
|
+
|
|
175
|
+
| Feld | Typ | Beschreibung |
|
|
176
|
+
|-------|------|-------------|
|
|
177
|
+
| `sessionId` | `string` | Claude Code-Sitzungskennung |
|
|
178
|
+
| `cwd` | `string` | Arbeitsverzeichnis der Claude Code-Sitzung |
|
|
179
|
+
| `transcriptPath` | `string` | Pfad zur JSONL-Transkriptdatei der Sitzung |
|
|
180
|
+
|
|
181
|
+
### Eventtypen
|
|
182
|
+
|
|
183
|
+
| Event | Wann es ausgelöst wird | `toolInput`-Inhalt |
|
|
184
|
+
|-------|--------------|----------------------|
|
|
185
|
+
| `PreToolUse` | Bevor Claude ein Tool ausführt | Die Eingabe des Tools (z. B. `{ command: "..." }` für Bash) |
|
|
186
|
+
| `PostToolUse` | Nachdem ein Tool abgeschlossen wurde | Die Eingabe des Tools + `tool_result` (die Ausgabe) |
|
|
187
|
+
| `Notification` | Wenn Claude eine Benachrichtigung sendet | `{ message: "...", notification_type: "idle" \| "permission_prompt" \| ... }` – Hooks müssen immer `allow()` zurückgeben, sie können Benachrichtigungen nicht blockieren |
|
|
188
|
+
| `Stop` | Wenn die Claude-Sitzung endet | Leer |
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Auswertungsreihenfolge
|
|
193
|
+
|
|
194
|
+
Richtlinien werden in dieser Reihenfolge ausgewertet:
|
|
195
|
+
|
|
196
|
+
1. Integrierte Richtlinien (in Definitionsreihenfolge)
|
|
197
|
+
2. Explizite benutzerdefinierte Richtlinien aus `customPoliciesPath` (in `.add()`-Reihenfolge)
|
|
198
|
+
3. Konventionsrichtlinien aus dem Projekt `.failproofai/policies/` (Dateien alphabetisch, `.add()`-Reihenfolge innerhalb)
|
|
199
|
+
4. Konventionsrichtlinien aus dem Benutzerverzeichnis `~/.failproofai/policies/` (Dateien alphabetisch, `.add()`-Reihenfolge innerhalb)
|
|
200
|
+
|
|
201
|
+
<Note>
|
|
202
|
+
Das erste `deny` bricht alle nachfolgenden Richtlinien ab. Alle `instruct`-Nachrichten werden gesammelt und gemeinsam übermittelt.
|
|
203
|
+
</Note>
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## Transitive Imports
|
|
208
|
+
|
|
209
|
+
Benutzerdefinierte Richtliniendateien können lokale Module über relative Pfade importieren:
|
|
210
|
+
|
|
211
|
+
```js
|
|
212
|
+
// my-policies.js
|
|
213
|
+
import { isBlockedPath } from "./utils.js";
|
|
214
|
+
import { checkApproval } from "./approval-client.js";
|
|
215
|
+
|
|
216
|
+
customPolicies.add({
|
|
217
|
+
name: "approval-gate",
|
|
218
|
+
fn: async (ctx) => {
|
|
219
|
+
if (ctx.toolName !== "Bash") return allow();
|
|
220
|
+
const approved = await checkApproval(ctx.toolInput?.command, ctx.session?.sessionId);
|
|
221
|
+
return approved ? allow() : deny("Approval required for this command");
|
|
222
|
+
},
|
|
223
|
+
});
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
Alle relativen Imports, die von der Einstiegsdatei aus erreichbar sind, werden aufgelöst. Dies wird implementiert, indem `from "failproofai"`-Imports auf den tatsächlichen dist-Pfad umgeschrieben und temporäre `.mjs`-Dateien erstellt werden, um ESM-Kompatibilität sicherzustellen.
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## Eventtyp-Filterung
|
|
231
|
+
|
|
232
|
+
Verwenden Sie `match.events`, um einzuschränken, wann eine Richtlinie ausgelöst wird:
|
|
233
|
+
|
|
234
|
+
```js
|
|
235
|
+
customPolicies.add({
|
|
236
|
+
name: "require-summary-on-stop",
|
|
237
|
+
match: { events: ["Stop"] },
|
|
238
|
+
fn: async (ctx) => {
|
|
239
|
+
// Wird nur ausgelöst, wenn die Sitzung endet
|
|
240
|
+
// ctx.session.transcriptPath enthält das vollständige Sitzungsprotokoll
|
|
241
|
+
return allow();
|
|
242
|
+
},
|
|
243
|
+
});
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
Lassen Sie `match` vollständig weg, um bei jedem Eventtyp ausgelöst zu werden.
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## Fehlerbehandlung und Fehlermodi
|
|
251
|
+
|
|
252
|
+
Benutzerdefinierte Richtlinien sind **fail-open**: Fehler blockieren niemals integrierte Richtlinien oder bringen den Hook-Handler zum Absturz.
|
|
253
|
+
|
|
254
|
+
| Fehler | Verhalten |
|
|
255
|
+
|---------|----------|
|
|
256
|
+
| `customPoliciesPath` nicht gesetzt | Keine expliziten benutzerdefinierten Richtlinien werden ausgeführt; Konventionsrichtlinien und integrierte Richtlinien laufen normal weiter |
|
|
257
|
+
| Datei nicht gefunden | Warnung in `~/.failproofai/hook.log` protokolliert; integrierte Richtlinien laufen weiter |
|
|
258
|
+
| Syntax-/Importfehler (explizit) | Fehler in `~/.failproofai/hook.log` protokolliert; explizite benutzerdefinierte Richtlinien werden übersprungen |
|
|
259
|
+
| Syntax-/Importfehler (Konvention) | Fehler protokolliert; diese Datei wird übersprungen, andere Konventionsdateien werden weiterhin geladen |
|
|
260
|
+
| `fn` wirft zur Laufzeit | Fehler protokolliert; dieser Hook wird als `allow` behandelt; andere Hooks laufen weiter |
|
|
261
|
+
| `fn` dauert länger als 10 Sekunden | Timeout protokolliert; wird als `allow` behandelt |
|
|
262
|
+
| Konventionsverzeichnis fehlt | Keine Konventionsrichtlinien werden ausgeführt; kein Fehler |
|
|
263
|
+
|
|
264
|
+
<Tip>
|
|
265
|
+
Um Fehler in benutzerdefinierten Richtlinien zu debuggen, beobachten Sie die Logdatei:
|
|
266
|
+
|
|
267
|
+
```bash
|
|
268
|
+
tail -f ~/.failproofai/hook.log
|
|
269
|
+
```
|
|
270
|
+
</Tip>
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## Vollständiges Beispiel: Mehrere Richtlinien
|
|
275
|
+
|
|
276
|
+
```js
|
|
277
|
+
// my-policies.js
|
|
278
|
+
import { customPolicies, allow, deny, instruct } from "failproofai";
|
|
279
|
+
|
|
280
|
+
// Prevent agent from writing to secrets/ directory
|
|
281
|
+
customPolicies.add({
|
|
282
|
+
name: "block-secrets-dir",
|
|
283
|
+
description: "Prevent agent from writing to secrets/ directory",
|
|
284
|
+
match: { events: ["PreToolUse"] },
|
|
285
|
+
fn: async (ctx) => {
|
|
286
|
+
if (!["Write", "Edit"].includes(ctx.toolName ?? "")) return allow();
|
|
287
|
+
const path = ctx.toolInput?.file_path ?? "";
|
|
288
|
+
if (path.includes("secrets/")) return deny("Writing to secrets/ is not permitted");
|
|
289
|
+
return allow();
|
|
290
|
+
},
|
|
291
|
+
});
|
|
292
|
+
|
|
293
|
+
// Keep the agent on track: verify tests before committing
|
|
294
|
+
customPolicies.add({
|
|
295
|
+
name: "remind-test-before-commit",
|
|
296
|
+
description: "Keep the agent on track: verify tests pass before committing",
|
|
297
|
+
match: { events: ["PreToolUse"] },
|
|
298
|
+
fn: async (ctx) => {
|
|
299
|
+
if (ctx.toolName !== "Bash") return allow();
|
|
300
|
+
const cmd = ctx.toolInput?.command ?? "";
|
|
301
|
+
if (/git\s+commit/.test(cmd)) {
|
|
302
|
+
return instruct("Verify all tests pass before committing. Run `bun test` if you haven't already.");
|
|
303
|
+
}
|
|
304
|
+
return allow();
|
|
305
|
+
},
|
|
306
|
+
});
|
|
307
|
+
|
|
308
|
+
// Prevent unplanned dependency changes during freeze
|
|
309
|
+
customPolicies.add({
|
|
310
|
+
name: "dependency-freeze",
|
|
311
|
+
description: "Prevent unplanned dependency changes during freeze period",
|
|
312
|
+
match: { events: ["PreToolUse"] },
|
|
313
|
+
fn: async (ctx) => {
|
|
314
|
+
if (ctx.toolName !== "Bash") return allow();
|
|
315
|
+
const cmd = ctx.toolInput?.command ?? "";
|
|
316
|
+
const isInstall = /^(npm install|yarn add|bun add|pnpm add)\s+\S/.test(cmd);
|
|
317
|
+
if (isInstall && process.env.DEPENDENCY_FREEZE === "1") {
|
|
318
|
+
return deny("Package installs are frozen. Unset DEPENDENCY_FREEZE to allow.");
|
|
319
|
+
}
|
|
320
|
+
return allow();
|
|
321
|
+
},
|
|
322
|
+
});
|
|
323
|
+
|
|
324
|
+
export { customPolicies };
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
---
|
|
328
|
+
|
|
329
|
+
## Beispiele
|
|
330
|
+
|
|
331
|
+
Das Verzeichnis `examples/` enthält sofort ausführbare Richtliniendateien:
|
|
332
|
+
|
|
333
|
+
| Datei | Inhalt |
|
|
334
|
+
|------|----------|
|
|
335
|
+
| `examples/policies-basic.js` | Fünf Einstiegsrichtlinien für häufige Agentfehlermodi |
|
|
336
|
+
| `examples/policies-advanced/index.js` | Fortgeschrittene Muster: transitive Imports, asynchrone Aufrufe, Output-Bereinigung und Sitzungsende-Hooks |
|
|
337
|
+
| `examples/convention-policies/security-policies.mjs` | Konventionsbasierte Sicherheitsrichtlinien (Block .env-Schreibvorgänge, Git-Historienschreiben verhindern) |
|
|
338
|
+
| `examples/convention-policies/workflow-policies.mjs` | Konventionsbasierte Workflow-Richtlinien (Testeinstufungen, Audit-Dateischreibvorgänge) |
|
|
339
|
+
|
|
340
|
+
### Explizite Dateibeispiele verwenden
|
|
341
|
+
|
|
342
|
+
```bash
|
|
343
|
+
failproofai policies --install --custom ./examples/policies-basic.js
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
### Konventionsbasierte Beispiele verwenden
|
|
347
|
+
|
|
348
|
+
```bash
|
|
349
|
+
# Auf Projektebene kopieren
|
|
350
|
+
mkdir -p .failproofai/policies
|
|
351
|
+
cp examples/convention-policies/*.mjs .failproofai/policies/
|
|
352
|
+
|
|
353
|
+
# Oder auf Benutzerebene kopieren
|
|
354
|
+
mkdir -p ~/.failproofai/policies
|
|
355
|
+
cp examples/convention-policies/*.mjs ~/.failproofai/policies/
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
Kein Installationsbefehl erforderlich – die Dateien werden beim nächsten Hook-Event automatisch erkannt.
|