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,269 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
title: Configurazione
|
|
4
|
+
description: "Formato del file di configurazione, sistema a tre scope e regole di unione"
|
|
5
|
+
icon: gear
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
failproofai utilizza file di configurazione JSON per controllare quali politiche sono attive, come si comportano e da dove vengono caricate le politiche personalizzate. La configurazione è progettata per essere facile da condividere con il tuo team - commitla nel tuo repo e ogni sviluppatore ottiene la stessa rete di sicurezza per gli agent.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Ambiti di configurazione
|
|
13
|
+
|
|
14
|
+
Esistono tre ambiti di configurazione, valutati in ordine di priorità:
|
|
15
|
+
|
|
16
|
+
| Ambito | Percorso file | Scopo |
|
|
17
|
+
|-------|-----------|---------|
|
|
18
|
+
| **project** | `.failproofai/policies-config.json` | Impostazioni per-repo, commitmate nel controllo versione |
|
|
19
|
+
| **local** | `.failproofai/policies-config.local.json` | Override personali per-repo, gitignored |
|
|
20
|
+
| **global** | `~/.failproofai/policies-config.json` | Impostazioni predefinite a livello utente per tutti i progetti |
|
|
21
|
+
|
|
22
|
+
Quando failproofai riceve un evento hook, carica e unisce tutti e tre i file che esistono per la directory di lavoro corrente.
|
|
23
|
+
|
|
24
|
+
### Regole di unione
|
|
25
|
+
|
|
26
|
+
**`enabledPolicies`** - l'unione di tutti e tre gli ambiti. Una politica abilitata a qualsiasi livello è attiva.
|
|
27
|
+
|
|
28
|
+
```text
|
|
29
|
+
project: ["block-sudo"]
|
|
30
|
+
local: ["block-rm-rf"]
|
|
31
|
+
global: ["block-sudo", "sanitize-api-keys"]
|
|
32
|
+
|
|
33
|
+
resolved: ["block-sudo", "block-rm-rf", "sanitize-api-keys"] ← unione con deduplica
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**`policyParams`** - il primo ambito che definisce i parametri per una determinata politica vince completamente. Non c'è fusione profonda dei valori all'interno dei parametri di una politica.
|
|
37
|
+
|
|
38
|
+
```text
|
|
39
|
+
project: block-sudo → { allowPatterns: ["sudo apt-get update"] }
|
|
40
|
+
global: block-sudo → { allowPatterns: ["sudo systemctl status"] }
|
|
41
|
+
|
|
42
|
+
resolved: { allowPatterns: ["sudo apt-get update"] } ← project vince, global ignorato
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
```text
|
|
46
|
+
project: (nessuna voce block-sudo)
|
|
47
|
+
local: (nessuna voce block-sudo)
|
|
48
|
+
global: block-sudo → { allowPatterns: ["sudo systemctl status"] }
|
|
49
|
+
|
|
50
|
+
resolved: { allowPatterns: ["sudo systemctl status"] } ← ricade su global
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**`customPoliciesPaths` / `customPoliciesPath`** - il primo ambito che definisce una delle due forme vince.
|
|
54
|
+
|
|
55
|
+
**`disabledCustomPolicies`** - unione tra tutti gli ambiti. Il dashboard scrive un ID qualificato di origine qui quando disattivi una politica individuale da un file di politiche esplicite o per convenzione. Le politiche non elencate rimangono abilitate per impostazione predefinita; gli ID includono il file di origine in modo che politiche con lo stesso nome in più file possano essere controllate indipendentemente.
|
|
56
|
+
|
|
57
|
+
**`llm`** - il primo ambito che lo definisce vince.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Formato del file di configurazione
|
|
62
|
+
|
|
63
|
+
```json
|
|
64
|
+
{
|
|
65
|
+
"enabledPolicies": [
|
|
66
|
+
"block-sudo",
|
|
67
|
+
"block-rm-rf",
|
|
68
|
+
"block-push-master",
|
|
69
|
+
"sanitize-api-keys",
|
|
70
|
+
"sanitize-jwt",
|
|
71
|
+
"block-env-files",
|
|
72
|
+
"block-read-outside-cwd"
|
|
73
|
+
],
|
|
74
|
+
"policyParams": {
|
|
75
|
+
"block-sudo": {
|
|
76
|
+
"allowPatterns": ["sudo systemctl status", "sudo journalctl"]
|
|
77
|
+
},
|
|
78
|
+
"block-push-master": {
|
|
79
|
+
"protectedBranches": ["main", "release", "prod"]
|
|
80
|
+
},
|
|
81
|
+
"block-rm-rf": {
|
|
82
|
+
"allowPaths": ["/tmp"]
|
|
83
|
+
},
|
|
84
|
+
"block-read-outside-cwd": {
|
|
85
|
+
"allowPaths": ["/shared/data", "/opt/company"]
|
|
86
|
+
},
|
|
87
|
+
"sanitize-api-keys": {
|
|
88
|
+
"additionalPatterns": [
|
|
89
|
+
{ "regex": "myco_[A-Za-z0-9]{32}", "label": "MyCo API key" }
|
|
90
|
+
]
|
|
91
|
+
},
|
|
92
|
+
"warn-large-file-write": {
|
|
93
|
+
"thresholdKb": 512
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
"customPoliciesPath": "/home/alice/myproject/my-policies.js"
|
|
97
|
+
}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Riferimento dei campi
|
|
103
|
+
|
|
104
|
+
### `enabledPolicies`
|
|
105
|
+
|
|
106
|
+
Tipo: `string[]`
|
|
107
|
+
|
|
108
|
+
Elenco dei nomi delle politiche da abilitare. I nomi devono corrispondere esattamente agli identificatori delle politiche mostrati da `failproofai policies`. Vedi [Built-in Policies](/it/built-in-policies) per l'elenco completo.
|
|
109
|
+
|
|
110
|
+
Le politiche non in `enabledPolicies` sono inattive, anche se hanno voci in `policyParams`.
|
|
111
|
+
|
|
112
|
+
### `policyParams`
|
|
113
|
+
|
|
114
|
+
Tipo: `Record<string, Record<string, unknown>>`
|
|
115
|
+
|
|
116
|
+
Override dei parametri per-politica. La chiave esterna è il nome della politica; le chiavi interne sono specifiche della politica. Ogni politica documenta i suoi parametri disponibili in [Built-in Policies](/it/built-in-policies).
|
|
117
|
+
|
|
118
|
+
Se una politica ha parametri ma non li specifichi, vengono utilizzati i valori predefiniti incorporati della politica. Gli utenti che non configurano affatto `policyParams` ottengono un comportamento identico alle versioni precedenti.
|
|
119
|
+
|
|
120
|
+
Le chiavi sconosciute all'interno del blocco dei parametri di una politica vengono silenziosamente ignorate al momento dell'attivazione dell'hook, ma segnalate come avvisi quando esegui `failproofai policies`.
|
|
121
|
+
|
|
122
|
+
#### `hint` (trasversale)
|
|
123
|
+
|
|
124
|
+
Tipo: `string` (opzionale)
|
|
125
|
+
|
|
126
|
+
Un messaggio aggiunto al motivo quando una politica restituisce `deny` o `instruct`. Usalo per dare a Claude una guida attuabile senza modificare la politica stessa.
|
|
127
|
+
|
|
128
|
+
Funziona con qualsiasi tipo di politica — incorporata, personalizzata (`custom/`), convenzione di progetto (`.failproofai-project/`), o convenzione utente (`.failproofai-user/`).
|
|
129
|
+
|
|
130
|
+
```json
|
|
131
|
+
{
|
|
132
|
+
"policyParams": {
|
|
133
|
+
"block-force-push": {
|
|
134
|
+
"hint": "Prova a creare un nuovo branch."
|
|
135
|
+
},
|
|
136
|
+
"block-sudo": {
|
|
137
|
+
"allowPatterns": ["sudo apt-get"],
|
|
138
|
+
"hint": "Usa apt-get direttamente senza sudo."
|
|
139
|
+
},
|
|
140
|
+
"custom/my-policy": {
|
|
141
|
+
"hint": "Chiedi l'approvazione dell'utente per primo."
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Quando `block-force-push` nega, Claude vede: *"Il force-push è bloccato. Prova a creare un nuovo branch."*
|
|
148
|
+
|
|
149
|
+
I valori non stringa e le stringhe vuote vengono silenziosamente ignorate. Se `hint` non è impostato, il comportamento è invariato (retrocompatibile).
|
|
150
|
+
|
|
151
|
+
### `customPoliciesPath`
|
|
152
|
+
|
|
153
|
+
Tipo: `string` (percorso assoluto)
|
|
154
|
+
|
|
155
|
+
Percorso di un file JavaScript contenente politiche di hook personalizzate. Questo viene impostato automaticamente da `failproofai policies --install --custom <path>` (il percorso viene risolto in assoluto prima di essere archiviato).
|
|
156
|
+
|
|
157
|
+
Il file viene caricato di nuovo su ogni evento hook - non c'è caching. Vedi [Custom Policies](/it/custom-policies) per i dettagli di creazione.
|
|
158
|
+
|
|
159
|
+
### Politiche basate su convenzione
|
|
160
|
+
|
|
161
|
+
Oltre a `customPoliciesPath` esplicito, failproofai scopre e carica automaticamente file di politiche dalle directory `.failproofai/policies/`:
|
|
162
|
+
|
|
163
|
+
| Livello | Directory | Ambito |
|
|
164
|
+
|-------|-----------|-------|
|
|
165
|
+
| Progetto | `.failproofai/policies/` | Condiviso con il team tramite controllo versione |
|
|
166
|
+
| Utente | `~/.failproofai/policies/custom-policies/` | Personale, si applica a tutti i progetti |
|
|
167
|
+
|
|
168
|
+
<Note>
|
|
169
|
+
La directory a livello utente si è spostata di un livello nella riorganizzazione
|
|
170
|
+
della home-directory. I file lasciati nel vecchio percorso `~/.failproofai/policies/`
|
|
171
|
+
vengono spostati automaticamente in `custom-policies/` la prima volta che esegui
|
|
172
|
+
un comando `failproofai` dopo l'aggiornamento, e il comando ti dice quali file
|
|
173
|
+
sono stati spostati.
|
|
174
|
+
</Note>
|
|
175
|
+
|
|
176
|
+
**Corrispondenza file:** Solo i file che corrispondono a `*policies.{js,mjs,ts}` vengono caricati (ad es. `security-policies.mjs`, `workflow-policies.js`). Gli altri file nella directory vengono ignorati.
|
|
177
|
+
|
|
178
|
+
**Nessuna configurazione necessaria:** Le politiche per convenzione non richiedono voci in `policies-config.json`. Basta rilasciare file nella directory e verranno ripresi sul prossimo evento hook.
|
|
179
|
+
|
|
180
|
+
**Caricamento unione:** Entrambe le directory di convenzione di progetto e utente vengono scansionate. Tutti i file corrispondenti da entrambi i livelli vengono caricati (a differenza di `customPoliciesPath` che utilizza il primo ambito che vince).
|
|
181
|
+
|
|
182
|
+
Vedi [Custom Policies](/it/custom-policies) per ulteriori dettagli ed esempi.
|
|
183
|
+
|
|
184
|
+
### `llm`
|
|
185
|
+
|
|
186
|
+
Tipo: `object` (opzionale)
|
|
187
|
+
|
|
188
|
+
Configurazione del client LLM per le politiche che effettuano chiamate AI. Non richiesto per la maggior parte delle configurazioni.
|
|
189
|
+
|
|
190
|
+
```json
|
|
191
|
+
{
|
|
192
|
+
"llm": {
|
|
193
|
+
"model": "claude-sonnet-4-6",
|
|
194
|
+
"apiKey": "sk-ant-..."
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## Gestione della configurazione dalla CLI
|
|
202
|
+
|
|
203
|
+
I comandi `policies --install` e `policies --uninstall` scrivono nel file delle impostazioni hook della tua CLI agent (i punti di ingresso dell'hook), mentre `policies-config.json` è il file che gestisci direttamente. I due sono separati:
|
|
204
|
+
|
|
205
|
+
- **Impostazioni CLI Agent** — dice all'agent di chiamare `failproofai --hook <event>` su ogni uso dello strumento:
|
|
206
|
+
- **Claude Code**: `~/.claude/settings.json` (utente), `<cwd>/.claude/settings.json` (progetto), `<cwd>/.claude/settings.local.json` (locale)
|
|
207
|
+
- **OpenAI Codex**: `~/.codex/hooks.json` (utente), `<cwd>/.codex/hooks.json` (progetto) — Codex non ha un ambito `local`
|
|
208
|
+
- **GitHub Copilot CLI _(beta)_**: `~/.copilot/hooks/failproofai.json` (utente), `<cwd>/.github/hooks/failproofai.json` (progetto) — Copilot non ha un ambito `local`. Le voci dell'hook utilizzano i campi di comando keyed da SO di Copilot `bash`/`powershell` con `timeoutSec`; il file contiene un marcatore `version: 1` di livello superiore. Il supporto di Copilot CLI è **beta** mentre verifichiamo lo schema del record `events.jsonl` (che i documenti pubblici non specificano) rispetto a più sessioni del mondo reale. **VS Code Copilot Chat agent mode (Preview)** legge le configurazioni dell'hook da `.github/hooks/*.json`, `~/.copilot/hooks/*.json`, e `~/.claude/settings.json` (governato dall'impostazione `chat.hookFilesLocations`) utilizzando lo stesso contratto Claude-shaped `{hookSpecificOutput:{permissionDecision:"deny",…}}` — i percorsi esatti che questa integrazione `copilot` e l'integrazione `claude` (`~/.claude/settings.json`) già scrivono, quindi `failproofai policies --install --cli copilot` (o `--cli claude`) **già applica in VS Code agent mode** senza bisogno di un'integrazione `vscode` separata (confermato in diretta dai log di discovery di VS Code).
|
|
209
|
+
- **Cursor Agent _(beta)_**: `~/.cursor/hooks.json` (utente), `<cwd>/.cursor/hooks.json` (progetto) — Cursor non ha un ambito `local`. Le voci dell'hook utilizzano il modulo Claude-shaped `{type, command, timeout}` (nessuna divisione `bash`/`powershell`), ma archiviate sotto chiavi di evento camelCase (`preToolUse`, `beforeSubmitPrompt`, …) in un array piatto per lo schema degli hook di Cursor; il file contiene un marcatore `version: 1` di livello superiore. Il gestore canonicalizza camelCase → PascalCase tramite `CURSOR_EVENT_MAP` in modo che le politiche incorporate esistenti si attivino invariate. Il supporto di Cursor Agent è **beta** mentre verifichiamo il trascritto su disco di Cursor (non specificato nei documenti pubblici) rispetto a più installazioni del mondo reale.
|
|
210
|
+
- **OpenCode _(beta)_**: `~/.config/opencode/opencode.json` + `~/.config/opencode/plugins/failproofai.mjs` (utente), `<cwd>/.opencode/opencode.json` + `<cwd>/.opencode/plugins/failproofai.mjs` (progetto) — OpenCode non ha un ambito `local`. A differenza degli altri cinque CLI, OpenCode **non ha un sistema di hook con comando esterno**: carica plugin JS/TS in-process esplicitamente registrati tramite l'array `plugin: []` in `opencode.json` (l'auto-discovery da `.opencode/plugins/` **non** è il modo in cui i plugin si caricano su opencode v1.14.33). L'installazione rilascia un piccolo shim di plugin generato che chiama il binario failproofai in subprocess e traduce la risposta JSON di shape Claude del binario di nuovo in semantica di plugin: `throw new Error()` per la negazione di evento di strumento (annulla la chiamata dello strumento), `client.session.prompt(...)` per `instruct` E per `Stop` / `SubagentStop` negazione (invia il motivo della negazione come prossimo messaggio utente — l'unico canale di ritentatività forzata poiché `session.idle` è solo notifica e lanciare da esso è un no-op), e no-op per allow. Lo shim canonicalizza sia i nomi degli strumenti (minuscolo → PascalCase tramite `OPENCODE_TOOL_MAP`) che le chiavi degli argomenti di input dello strumento (camelCase → snake_case tramite `OPENCODE_TOOL_INPUT_MAP` per `Read` / `Write` / `Edit`, ad es. `filePath` → `file_path`, `oldString` → `old_string`) prima di inoltrarsi al binario, così i builtin di controllo del percorso come `block-read-outside-cwd`, `block-env-files`, e `block-secrets-write` si attivano invariati su chiamate di strumento OpenCode. Le sessioni vivono nel DB SQLite di opencode in `~/.local/share/opencode/opencode.db`; il visualizzatore di sessioni del dashboard le legge tramite `opencode db --format json` e `opencode export <id>`. Il supporto di OpenCode è **beta** mentre verifichiamo il comportamento tra versioni e rispetto a più sessioni del mondo reale. Vedi la [documentazione dei plugin OpenCode](https://opencode.ai/docs/plugins/).
|
|
211
|
+
- **Pi _(beta)_**: `~/.pi/agent/settings.json` (utente), `<cwd>/.pi/settings.json` (progetto) — Pi non ha un ambito `local`. Pi carica pacchetti di estensione TypeScript all'avvio; il file delle impostazioni è un array di stringhe piatto `{"packages": ["./relative/path", …]}`. failproofai scrive una singola voce di array di pacchetti che punta alla directory `pi-extension/` in bundle. L'estensione internamente si sottoscrive agli eventi `tool_call` / `user_bash` / `input` / `session_start` di Pi e chiama il shell a `failproofai --hook <Event> --cli pi`; il gestore canonicalizza underscore_lower_snake_case → PascalCase tramite `PI_EVENT_MAP` in modo che le politiche incorporate esistenti si attivino invariate. Gli argomenti di input dello strumento vengono anche canonicalizzati tramite `PI_TOOL_INPUT_MAP` (Pi's Read / Write / Edit forniscono `path` piuttosto che `file_path`; mappare la chiave di livello superiore consente a `block-env-files` e `block-secrets-write` di attivarsi — `block-read-outside-cwd` già aveva un fallback `path`). Il supporto di Pi è **beta** mentre l'API di estensione di Pi e il layout del log di sessione si stabilizzano.
|
|
212
|
+
- **Hermes (hermes-agent)**: `~/.hermes/config.yaml` (**solo ambito utente** — Hermes non ha configurazione di progetto/locale). Hermes è un **gateway** Slack/Telegram, quindi un'installazione intercetta le chiamate agli strumenti da ogni piattaforma (Slack/Telegram/cli/cron) **e** subagent interni. Le voci dell'hook sono una coppia `{command, timeout}` (timeout in **secondi**) sotto una mappa `hooks:` keyed da eventi snake_case di Hermes (`pre_tool_call` / `post_tool_call` / `on_session_start` / `on_session_end` / `subagent_stop`); il gestore canonicalizza gli eventi tramite `HERMES_EVENT_MAP` e i nomi degli strumenti tramite `HERMES_TOOL_MAP` in modo che le politiche incorporate si attivino invariate. La configurazione viene modificata tramite un roundtrip YAML `Document` che preserva i commenti in modo che le altre impostazioni dell'operatore sopravvivano, e l'installazione imposta `hooks_auto_accept: true` in modo che il gateway headless (nessun TTY) esegua gli hook senza una richiesta di consenso. L'evaluatore emette il contratto stdout di Hermes `{"decision":"block","reason"}` (Hermes ignora i codici di uscita). **Limitazioni:** Hermes non ha un evento di fine turno `Stop`, quindi i builtin `require-*-before-stop` mai si attivano per esso (inapplicabile, non rotto); `instruct` si degrada a allow-with-logged-note (nessun canale di contesto aggiuntivo); e la redazione di output-secret (`sanitize-*`) non può riscrivere l'output dello strumento sul contratto shell-hook. Hermes è **anche** una fonte di audit **offline** — il dashboard legge le sue sessioni di gateway direttamente da `~/.hermes/state.db`.
|
|
213
|
+
- **OpenClaw (openclaw gateway)**: `~/.openclaw/openclaw.json` (**solo ambito utente** — OpenClaw non ha configurazione di progetto/locale). Come Hermes, OpenClaw è un **gateway** multi-canale auto-hosted, quindi un'installazione intercetta le chiamate agli strumenti da ogni canale e dai suoi subagent interni. L'applicazione viene eseguita tramite gli **hook di plugin in-process** di OpenClaw (i suoi hook basati su file interni sono solo osservativi e non possono bloccare), quindi — come OpenCode/Pi — failproofai spedisce un pacchetto `openclaw-plugin/` statico che spawn async il binario failproofai e traduce il verdetto. L'installazione registra la directory del plugin fornito in `openclaw.json`'s `plugins.load.paths[]` e lo abilita sotto `plugins.entries.failproofai` (con `hooks.allowConversationAccess: true`, richiesto per gli hook di conversazione grezzi). L'evaluatore emette un verdetto piatto `{permission, reason}` e lo shim lo mappa alla forma di ritorno nativa di ogni hook: `before_tool_call → {block:true, blockReason}` (**PreToolUse**), `before_agent_run → {outcome:"block", reason}` (**UserPromptSubmit**), e `before_agent_finalize → {action:"revise", reason}` (**Stop** — un vero gate di fine turno, quindi i builtin `require-*-before-stop` **appliano** su OpenClaw, a differenza di Hermes). Gli eventi e i nomi degli strumenti canonicalizzano il lato binario tramite `OPENCLAW_EVENT_MAP` / `OPENCLAW_TOOL_MAP` (`exec→Bash`, `read→Read`, …) in modo che le politiche incorporate si attivino invariate; lo shim fallisce open su qualsiasi errore di spawn/parse/timeout. OpenClaw è **anche** una fonte di audit **offline** — il dashboard legge le sue sessioni JSONL in `~/.openclaw/agents/<agentId>/sessions/<uuid>.jsonl`.
|
|
214
|
+
- **Factory Droid (`droid`)**: `~/.factory/hooks.json` (utente), `<cwd>/.factory/hooks.json` (progetto) — Factory non ha un ambito `local`. droid spedisce un sistema di hook con comando esterno di stile Claude, ma con due stranezze verificate in diretta rispetto a droid v0.171.0: (1) i nomi degli eventi vivono al **livello superiore** di `hooks.json` — non c'è **nessun wrapper `"hooks"`** (droid lo rifiuta); gli eventi dello strumento (`PreToolUse`/`PostToolUse`) trasportano `"matcher": "*"`, gli eventi non-strumento lo omettono. (2) Deny è guidato dal codice di uscita dell'hook **2 + stderr**, non da una decisione JSON — il ramo `factory` dell'evaluatore restituisce uscita 2 per eventi di strumento/prompt e `{decision:"block", reason}` solo sull'evento di fine turno `Stop` (l'unico canale di ritentatività forzata di droid). Gli eventi sono già PascalCase (nessuna mappa di eventi) e il payload è snake_case di Claude; solo i nomi degli strumenti vengono canonicalizzati tramite `FACTORY_TOOL_MAP` (`Execute→Bash`, `Create→Write`, `FetchUrl→WebFetch`, …). Factory è **anche** una fonte di audit **offline** — il dashboard legge le sue sessioni JSONL su disco in `~/.factory/sessions/<encoded-cwd>/<sessionId>.jsonl`.
|
|
215
|
+
- **Devin CLI (`devin`, Cognition)**: `~/.config/devin/config.json` (utente), `<cwd>/.devin/config.json` (progetto) — Devin non ha un ambito `local`. Devin è un **clone puro di Claude** verificato in diretta rispetto a devin v3000.1.27: utilizza lo schema dello schema Claude standard `"hooks"` (i write preservano la fusione in modo che le altre chiavi del file di configurazione — `org_id`, `theme_mode`, … — sopravvivano), nomi di eventi già PascalCase (nessuna mappa di eventi, nessun ramo di gestore), e un payload stdin snake_case di Claude (nessuna normalizzazione). Il ramo `devin` dell'evaluatore nega con JSON `{"decision":"block","reason"}` su stdout all'uscita 0 per **ogni** evento (verificato — il blocco ha ignorato `--permission-mode dangerous`); sull'evento di fine turno `Stop` il motivo trasporta il wording di ritentatività forzata OBBLIGATORIO in modo che i builtin `require-*-before-stop` applino. Solo i nomi degli strumenti vengono canonicalizzati tramite `DEVIN_TOOL_MAP` (`exec→Bash`; `tool_input.command` è già canonico). Devin è **anche** una fonte di audit **offline** — il dashboard legge le sue sessioni SQLite in `~/.local/share/devin/cli/sessions.db` (ogni riga `sessions` trasporta una vera `working_directory`, quindi le sessioni si raggruppano per progetto cwd come Claude).
|
|
216
|
+
- **Antigravity CLI (`agy`)**: `~/.gemini/config/hooks.json` (utente), `<cwd>/.agents/hooks.json` (progetto) — Antigravity non ha un ambito `local`. A differenza di Factory/Devin, Antigravity ha il **suo** contratto (non un clone di Claude), verificato in diretta rispetto a agy v1.1.2. `hooks.json` utilizza uno schema **named-hook**: la chiave di livello superiore è un nome di hook (*"failproofai"*) il cui valore è una mappa evento→gestori — gli eventi dello strumento (`PreToolUse`/`PostToolUse`) avvolgono i gestori in `{matcher:"*", hooks:[…]}`, mentre `PreInvocation`/`Stop` sono array di gestori **piatti** (altri hook nominati vengono preservati). Il payload stdin è **camelCase protojson** (`toolCall:{name,args}`, `conversationId`, `workspacePaths`, `transcriptPath`) — failproofai lo normalizza a snake_case prima che le politiche si eseguano, e mappa gli argomenti PascalCase di `run_command` (`CommandLine`/`Cwd`) tramite `ANTIGRAVITY_TOOL_INPUT_MAP`. Il ramo `antigravity` dell'evaluatore utilizza le forme di risposta **proprie** di Antigravity: `{decision:"deny", reason}` blocca uno strumento/prompt (uscita 0), `{decision:"continue", reason}` sull'evento di fine turno `Stop` rientra nel loop (quindi i builtin `require-*-before-stop` applino), e `{injectSteps:[{ephemeralMessage}]}` inietta un'istruzione su `PreInvocation` (→ `UserPromptSubmit`). I nomi degli strumenti canonicalizzano tramite `ANTIGRAVITY_TOOL_MAP` (`run_command→Bash`, `view_file→Read`, …). Antigravity è **anche** una fonte di audit **offline** — il dashboard legge i suoi trascritti plain-JSONL in `~/.gemini/antigravity-cli/brain/<conversationId>/.system_generated/logs/transcript_full.jsonl` (indice di conversazione in `conversation_summaries.db`).
|
|
217
|
+
- **Goose (codename goose, Block)**: `~/.agents/plugins/failproofai/hooks/hooks.json` (utente), `<cwd>/.agents/plugins/failproofai/hooks/hooks.json` (progetto) — Goose non ha un ambito `local`. L'applicazione utilizza il sistema **hooks** di Goose, la specifica **Open Plugins** tra agent: l'installatore basta rilascia la directory del plugin `failproofai` e Goose lo auto-scopre all'avvio (auto-registrandolo in `~/.config/goose/config.yaml`). `hooks.json` utilizza uno schema Open Plugins **con** un wrapper `"hooks"` di livello superiore, e il matcher è **omesso** su ogni evento — un `"*"` nudo è un regex non valido che non corrisponde a nulla (verificato in diretta rispetto a goose v1.43.0). I nomi degli eventi sono già PascalCase (nessuna mappa di eventi); il payload stdin utilizza `event`/`working_dir`, che il gestore normalizza in `hook_event_name`/`cwd`. Il ramo `goose` dell'evaluatore nega con JSON `{"decision":"block","reason"}` su stdout all'uscita 0, onorato sull'evento **`PreToolUse`** solo (spedito in goose ≥ v1.37.0) — che si attiva per lo strumento shell **e all'interno dei subagent delegati**, quindi è il singolo punto di negazione sufficiente; qualsiasi altro errore di hook fallisce **open**. Goose non ha un evento **`Stop`**, quindi i builtin `require-*-before-stop` non si applicano (come con Hermes). I nomi degli strumenti canonicalizzano tramite `GOOSE_TOOL_MAP` (`shell→Bash`, `write→Write`, `todo__todo_write→TodoWrite`, …) e le chiavi del percorso tramite `GOOSE_TOOL_INPUT_MAP` (`path`/`source` → `file_path`). Goose è **anche** una fonte di audit **offline** — il dashboard legge le sue sessioni SQLite in `~/.local/share/goose/sessions/sessions.db` (ogni riga `sessions` trasporta una vera `working_dir`, quindi le sessioni si raggruppano per progetto cwd come Devin; le esecuzioni `--no-session` scratch vengono filtrate).
|
|
218
|
+
- **`policies-config.json`** — dice a failproofai quali politiche valutare e con quali parametri (condiviso tra tutti i CLI agent)
|
|
219
|
+
|
|
220
|
+
Passa `--cli claude|codex|copilot|cursor|opencode|pi|hermes|openclaw|factory|devin|antigravity|goose` per indirizzare un agent specifico (separati da spazio o ripetuti per qualsiasi sottoinsieme):
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
failproofai policies --install --cli codex --scope project
|
|
224
|
+
failproofai policies --install --cli copilot --scope project
|
|
225
|
+
failproofai policies --install --cli cursor --scope project
|
|
226
|
+
failproofai policies --install --cli opencode --scope project
|
|
227
|
+
failproofai policies --install --cli pi --scope project
|
|
228
|
+
failproofai policies --install --cli hermes --scope user
|
|
229
|
+
failproofai policies --install --cli openclaw --scope user
|
|
230
|
+
failproofai policies --install --cli factory --scope project
|
|
231
|
+
failproofai policies --install --cli devin --scope project
|
|
232
|
+
failproofai policies --install --cli antigravity --scope project
|
|
233
|
+
failproofai policies --install --cli goose --scope project
|
|
234
|
+
failproofai policies --install --cli claude codex copilot cursor opencode pi hermes openclaw factory devin antigravity goose
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
Quando `--cli` viene omesso, `failproofai` rileva quali CLI agent sono installati (`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`):
|
|
238
|
+
|
|
239
|
+
- **Un CLI rilevato** — seleziona automaticamente quel CLI senza chiedere.
|
|
240
|
+
- **Più CLI rilevati** in un terminale interattivo — mostra un prompt di selezione singola con tasti freccia raggruppato in una sezione `Detected (N)` (con una riga aggregata `Install for all N detected` + ogni CLI rilevato individualmente) e una sezione `Not installed (M) · install hooks ahead of time` che elenca ogni CLI non rilevato supportato come opzione di installazione anticipata (↑↓ per spostare, Invio per selezionare, ^C per uscire). Il flusso di disinstallazione mostra solo la sezione Rilevato.
|
|
241
|
+
- **Più CLI rilevati** in un'esecuzione non interattiva (CI, nessun TTY) — installa per tutti i CLI rilevati senza chiedere.
|
|
242
|
+
- **Nessuno rilevato** — ricade su `claude`, con un avviso che nessun binario agent è stato trovato in PATH; il comando dell'hook viene comunque scritto in modo che si attivi non appena installi uno.
|
|
243
|
+
|
|
244
|
+
Puoi modificare `policies-config.json` direttamente in qualsiasi momento; le modifiche hanno effetto immediato sul prossimo evento hook senza bisogno di riavvio.
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## Esempio: configurazione a livello di progetto con impostazioni predefinite del team
|
|
249
|
+
|
|
250
|
+
Committa `.failproofai/policies-config.json` nel tuo repo:
|
|
251
|
+
|
|
252
|
+
```json
|
|
253
|
+
{
|
|
254
|
+
"enabledPolicies": [
|
|
255
|
+
"block-sudo",
|
|
256
|
+
"block-rm-rf",
|
|
257
|
+
"block-push-master",
|
|
258
|
+
"sanitize-api-keys",
|
|
259
|
+
"block-env-files"
|
|
260
|
+
],
|
|
261
|
+
"policyParams": {
|
|
262
|
+
"block-push-master": {
|
|
263
|
+
"protectedBranches": ["main", "release", "hotfix"]
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
Ogni sviluppatore può quindi creare `.failproofai/policies-config.local.json` (gitignored) per override personali senza influenzare i compagni di squadra.
|
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
title: Politiche Personalizzate
|
|
4
|
+
description: "Scrivi le tue regole in JavaScript - applica convenzioni, previeni derive, rileva errori, integrati con sistemi esterni"
|
|
5
|
+
icon: code
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Le politiche personalizzate ti permettono di scrivere regole per qualsiasi comportamento dell'agente: applica convenzioni di progetto, previeni derive, blocca operazioni distruttive, rileva agenti bloccati, o integrati con Slack, flussi di approvazione e altro ancora. Utilizzano lo stesso sistema di hook event e le decisioni `allow`, `deny`, `instruct` delle politiche incorporate.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Esempio rapido
|
|
13
|
+
|
|
14
|
+
```js
|
|
15
|
+
// my-policies.js
|
|
16
|
+
import { customPolicies, allow, deny, instruct } from "failproofai";
|
|
17
|
+
|
|
18
|
+
customPolicies.add({
|
|
19
|
+
name: "no-production-writes",
|
|
20
|
+
description: "Block writes to paths containing 'production'",
|
|
21
|
+
match: { events: ["PreToolUse"] },
|
|
22
|
+
fn: async (ctx) => {
|
|
23
|
+
if (ctx.toolName !== "Write" && ctx.toolName !== "Edit") return allow();
|
|
24
|
+
const path = ctx.toolInput?.file_path ?? "";
|
|
25
|
+
if (path.includes("production")) {
|
|
26
|
+
return deny("Writes to production paths are blocked");
|
|
27
|
+
}
|
|
28
|
+
return allow();
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Installala:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
failproofai policies --install --custom ./my-policies.js
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Due modi per caricare le politiche personalizzate
|
|
42
|
+
|
|
43
|
+
### Opzione 1: Basata su convenzione (consigliata)
|
|
44
|
+
|
|
45
|
+
Inserisci i file `*policies.{js,mjs,ts}` in `.failproofai/policies/` e verranno caricati automaticamente — nessun flag o modifica di configurazione necessaria. Funziona come i git hook: inserisci un file e basta.
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
# Livello di progetto — salvato in git, condiviso con il team
|
|
49
|
+
.failproofai/policies/security-policies.mjs
|
|
50
|
+
.failproofai/policies/workflow-policies.mjs
|
|
51
|
+
|
|
52
|
+
# Livello utente — personale, si applica a tutti i progetti
|
|
53
|
+
~/.failproofai/policies/my-policies.mjs
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Come funziona:**
|
|
57
|
+
- Entrambe le directory di progetto e utente vengono scansionate (unione — non first-scope-wins)
|
|
58
|
+
- I file vengono caricati alfabeticamente all'interno di ogni directory. Prefissi con `01-`, `02-` per controllare l'ordine
|
|
59
|
+
- Solo i file che corrispondono a `*policies.{js,mjs,ts}` vengono caricati; gli altri file vengono ignorati
|
|
60
|
+
- Ogni file viene caricato indipendentemente (fail-open per file)
|
|
61
|
+
- Funziona insieme alle politiche esplicite `--custom` e incorporate
|
|
62
|
+
|
|
63
|
+
<Tip>
|
|
64
|
+
Le politiche di convenzione sono il modo più semplice per costruire uno standard di qualità per la tua organizzazione. Salva `.failproofai/policies/` in git e ogni membro del team ottiene automaticamente le stesse regole — nessuna configurazione per sviluppatore necessaria. Man mano che il tuo team scopre nuove modalità di errore, aggiungi una politica e fai il push. Nel tempo questi diventano uno standard di qualità dinamico che continua a migliorare con ogni contributo.
|
|
65
|
+
</Tip>
|
|
66
|
+
|
|
67
|
+
### Opzione 2: Percorso file esplicito
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Installa con un file di politiche personalizzate
|
|
71
|
+
failproofai policies --install --custom ./my-policies.js
|
|
72
|
+
|
|
73
|
+
# Sostituisci i percorsi della politica personalizzata
|
|
74
|
+
failproofai policies --install --custom ./new-policies.js
|
|
75
|
+
|
|
76
|
+
# Configura più file espliciti (caricati nell'ordine del flag)
|
|
77
|
+
failproofai policies --install --custom ./security.js --custom ./workflow.js
|
|
78
|
+
|
|
79
|
+
# Rimuovi tutti i percorsi della politica personalizzata esplicita dalla configurazione
|
|
80
|
+
failproofai policies --uninstall --custom
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
I percorsi assoluti risolti vengono archiviati in `policies-config.json` come `customPoliciesPaths`. Ripeti `--custom` per configurare più file. Le configurazioni esistenti che utilizzano il campo legacy `customPoliciesPath` continuano a funzionare. I file vengono caricati di nuovo a ogni evento hook — non c'è caching tra gli eventi.
|
|
84
|
+
|
|
85
|
+
Ogni politica registrata appare con il proprio interruttore nel dashboard. Lo spegnimento di una politica registra il suo ID qualificato con la fonte in `disabledCustomPolicies`; il file e le altre sue politiche continuano a caricarsi, mentre la politica disabilitata viene esclusa prima della corrispondenza degli eventi. I nomi di politica duplicati tra i file hanno interruttori indipendenti.
|
|
86
|
+
|
|
87
|
+
### Usarli insieme
|
|
88
|
+
|
|
89
|
+
Le politiche di convenzione e i file espliciti `--custom` possono coesistere. Ordine di caricamento:
|
|
90
|
+
|
|
91
|
+
1. File `customPoliciesPaths` espliciti (nell'ordine configurato)
|
|
92
|
+
2. File di convenzione di progetto (`{cwd}/.failproofai/policies/`, alfabetici)
|
|
93
|
+
3. File di convenzione utente (`~/.failproofai/policies/`, alfabetici)
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## API
|
|
98
|
+
|
|
99
|
+
### Importazione
|
|
100
|
+
|
|
101
|
+
```js
|
|
102
|
+
import { customPolicies, allow, deny, instruct } from "failproofai";
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### `customPolicies.add(hook)`
|
|
106
|
+
|
|
107
|
+
Registra una politica. Chiama questo quanto necessario per più politiche nello stesso file.
|
|
108
|
+
|
|
109
|
+
```ts
|
|
110
|
+
customPolicies.add({
|
|
111
|
+
name: string; // richiesto - identificatore univoco
|
|
112
|
+
description?: string; // mostrato nell'output di `failproofai policies`
|
|
113
|
+
match?: { events?: HookEventType[] }; // filtra per tipo di evento; ometti per abbinare tutti
|
|
114
|
+
fn: (ctx: PolicyContext) => PolicyResult | Promise<PolicyResult>;
|
|
115
|
+
});
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Aiutanti per le decisioni
|
|
119
|
+
|
|
120
|
+
| Funzione | Effetto | Usa quando |
|
|
121
|
+
|----------|--------|----------|
|
|
122
|
+
| `allow()` | Consenti l'operazione silenziosamente | L'azione è sicura, nessun messaggio necessario |
|
|
123
|
+
| `deny(message)` | Blocca l'operazione | L'agente non dovrebbe eseguire questa azione |
|
|
124
|
+
| `instruct(message)` | Aggiungi contesto senza bloccare | Dai all'agente contesto extra per rimanere in traccia |
|
|
125
|
+
|
|
126
|
+
`deny(message)` - il messaggio appare a Claude con prefisso `"Blocked by failproofai:"`. Un singolo `deny` interrompe tutta la valutazione successiva.
|
|
127
|
+
|
|
128
|
+
`instruct(message)` - il messaggio viene aggiunto al contesto di Claude per la chiamata dello strumento corrente. Tutti i messaggi `instruct` vengono accumulati e consegnati insieme.
|
|
129
|
+
|
|
130
|
+
<Tip>
|
|
131
|
+
Puoi aggiungere indicazioni aggiuntive a qualsiasi messaggio `deny` o `instruct` aggiungendo un campo `hint` in `policyParams` — nessuna modifica del codice necessaria. Questo funziona anche per le politiche personalizzate (`custom/`), di convenzione di progetto (`.failproofai-project/`), e di convenzione utente (`.failproofai-user/`). Vedi [Configuration → hint](/it/configuration#hint-cross-cutting) per i dettagli.
|
|
132
|
+
</Tip>
|
|
133
|
+
|
|
134
|
+
### Messaggi allow informativi
|
|
135
|
+
|
|
136
|
+
`allow(message)` consente l'operazione **e** invia un messaggio informativo a Claude. Il messaggio viene consegnato come `additionalContext` nella risposta stdout del gestore hook — lo stesso meccanismo utilizzato da `instruct`, ma semanticamente diverso: è un aggiornamento di stato, non un avvertimento.
|
|
137
|
+
|
|
138
|
+
| Funzione | Effetto | Usa quando |
|
|
139
|
+
|----------|--------|----------|
|
|
140
|
+
| `allow(message)` | Consenti e invia contesto a Claude | Conferma che un controllo è passato, o spiega perché un controllo è stato saltato |
|
|
141
|
+
|
|
142
|
+
Casi di utilizzo:
|
|
143
|
+
- **Conferme di stato:** `allow("All CI checks passed.")` — dice a Claude che tutto è verde
|
|
144
|
+
- **Spiegazioni fail-open:** `allow("GitHub CLI not installed, skipping CI check.")` — dice a Claude perché un controllo è stato saltato in modo da avere il contesto completo
|
|
145
|
+
- **Più messaggi si accumulano:** se diverse politiche restituiscono ciascuna `allow(message)`, tutti i messaggi vengono uniti con newline e consegnati insieme
|
|
146
|
+
|
|
147
|
+
```js
|
|
148
|
+
customPolicies.add({
|
|
149
|
+
name: "confirm-branch-status",
|
|
150
|
+
match: { events: ["Stop"] },
|
|
151
|
+
fn: async (ctx) => {
|
|
152
|
+
const cwd = ctx.session?.cwd;
|
|
153
|
+
if (!cwd) return allow("No working directory, skipping branch check.");
|
|
154
|
+
|
|
155
|
+
// ... check branch status ...
|
|
156
|
+
if (allPushed) {
|
|
157
|
+
return allow("Branch is up to date with remote.");
|
|
158
|
+
}
|
|
159
|
+
return deny("Unpushed changes detected.");
|
|
160
|
+
},
|
|
161
|
+
});
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Campi `PolicyContext`
|
|
165
|
+
|
|
166
|
+
| Campo | Tipo | Descrizione |
|
|
167
|
+
|-------|------|-------------|
|
|
168
|
+
| `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
|
|
169
|
+
| `toolName` | `string \| undefined` | Lo strumento chiamato (ad es. `"Bash"`, `"Write"`, `"Read"`) |
|
|
170
|
+
| `toolInput` | `Record<string, unknown> \| undefined` | I parametri di input dello strumento |
|
|
171
|
+
| `payload` | `Record<string, unknown>` | Payload di evento grezzo completo da Claude Code |
|
|
172
|
+
| `session` | `SessionMetadata \| undefined` | Contesto di sessione (vedi sotto) |
|
|
173
|
+
|
|
174
|
+
### Campi `SessionMetadata`
|
|
175
|
+
|
|
176
|
+
| Campo | Tipo | Descrizione |
|
|
177
|
+
|-------|------|-------------|
|
|
178
|
+
| `sessionId` | `string` | Identificatore di sessione Claude Code |
|
|
179
|
+
| `cwd` | `string` | Directory di lavoro della sessione Claude Code |
|
|
180
|
+
| `transcriptPath` | `string` | Percorso del file trascrizione JSONL della sessione |
|
|
181
|
+
|
|
182
|
+
### Tipi di evento
|
|
183
|
+
|
|
184
|
+
| Evento | Quando si attiva | Contenuti `toolInput` |
|
|
185
|
+
|-------|--------------|----------------------|
|
|
186
|
+
| `PreToolUse` | Prima che Claude esegua uno strumento | L'input dello strumento (ad es. `{ command: "..." }` per Bash) |
|
|
187
|
+
| `PostToolUse` | Dopo il completamento di uno strumento | L'input dello strumento + `tool_result` (l'output) |
|
|
188
|
+
| `Notification` | Quando Claude invia una notifica | `{ message: "...", notification_type: "idle" \| "permission_prompt" \| ... }` - gli hook devono sempre restituire `allow()`, non possono bloccare le notifiche |
|
|
189
|
+
| `Stop` | Quando la sessione Claude termina | Vuoto |
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## Ordine di valutazione
|
|
194
|
+
|
|
195
|
+
Le politiche vengono valutate in questo ordine:
|
|
196
|
+
|
|
197
|
+
1. Politiche incorporate (nell'ordine di definizione)
|
|
198
|
+
2. Politiche personalizzate esplicite da `customPoliciesPath` (nell'ordine di `.add()`)
|
|
199
|
+
3. Politiche di convenzione da `.failproofai/policies/` di progetto (file alfabetici, ordine di `.add()` all'interno)
|
|
200
|
+
4. Politiche di convenzione da `~/.failproofai/policies/` utente (file alfabetici, ordine di `.add()` all'interno)
|
|
201
|
+
|
|
202
|
+
<Note>
|
|
203
|
+
Il primo `deny` interrompe tutte le politiche successive. Tutti i messaggi `instruct` vengono accumulati e consegnati insieme.
|
|
204
|
+
</Note>
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## Importazioni transitive
|
|
209
|
+
|
|
210
|
+
I file di politica personalizzata possono importare moduli locali utilizzando percorsi relativi:
|
|
211
|
+
|
|
212
|
+
```js
|
|
213
|
+
// my-policies.js
|
|
214
|
+
import { isBlockedPath } from "./utils.js";
|
|
215
|
+
import { checkApproval } from "./approval-client.js";
|
|
216
|
+
|
|
217
|
+
customPolicies.add({
|
|
218
|
+
name: "approval-gate",
|
|
219
|
+
fn: async (ctx) => {
|
|
220
|
+
if (ctx.toolName !== "Bash") return allow();
|
|
221
|
+
const approved = await checkApproval(ctx.toolInput?.command, ctx.session?.sessionId);
|
|
222
|
+
return approved ? allow() : deny("Approval required for this command");
|
|
223
|
+
},
|
|
224
|
+
});
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
Tutti gli import relativi raggiungibili dal file di entry vengono risolti. Questo è implementato riscrivendo gli import `from "failproofai"` al percorso dist effettivo e creando file `.mjs` temporanei per garantire la compatibilità ESM.
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Filtraggio del tipo di evento
|
|
232
|
+
|
|
233
|
+
Usa `match.events` per limitare quando una politica si attiva:
|
|
234
|
+
|
|
235
|
+
```js
|
|
236
|
+
customPolicies.add({
|
|
237
|
+
name: "require-summary-on-stop",
|
|
238
|
+
match: { events: ["Stop"] },
|
|
239
|
+
fn: async (ctx) => {
|
|
240
|
+
// Si attiva solo quando la sessione termina
|
|
241
|
+
// ctx.session.transcriptPath contiene il log di sessione completo
|
|
242
|
+
return allow();
|
|
243
|
+
},
|
|
244
|
+
});
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
Ometti completamente `match` per attivare su ogni tipo di evento.
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
## Gestione degli errori e modalità di errore
|
|
252
|
+
|
|
253
|
+
Le politiche personalizzate sono **fail-open**: gli errori non blocchiano mai le politiche incorporate o causano il crash del gestore hook.
|
|
254
|
+
|
|
255
|
+
| Errore | Comportamento |
|
|
256
|
+
|---------|----------|
|
|
257
|
+
| `customPoliciesPath` non impostato | Nessuna politica personalizzata esplicita viene eseguita; le politiche di convenzione e incorporate continuano normalmente |
|
|
258
|
+
| File non trovato | Avviso registrato in `~/.failproofai/hook.log`; le incorporate continuano |
|
|
259
|
+
| Errore di sintassi/importazione (esplicito) | Errore registrato in `~/.failproofai/hook.log`; le politiche personalizzate esplicite saltate |
|
|
260
|
+
| Errore di sintassi/importazione (convenzione) | Errore registrato; quel file saltato, altri file di convenzione ancora caricati |
|
|
261
|
+
| `fn` butta a runtime | Errore registrato; quel hook trattato come `allow`; altri hook continuano |
|
|
262
|
+
| `fn` impiega più di 10s | Timeout registrato; trattato come `allow` |
|
|
263
|
+
| Directory di convenzione mancante | Nessuna politica di convenzione viene eseguita; nessun errore |
|
|
264
|
+
|
|
265
|
+
<Tip>
|
|
266
|
+
Per debuggare gli errori di politica personalizzata, guarda il file di log:
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
tail -f ~/.failproofai/hook.log
|
|
270
|
+
```
|
|
271
|
+
</Tip>
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## Esempio completo: più politiche
|
|
276
|
+
|
|
277
|
+
```js
|
|
278
|
+
// my-policies.js
|
|
279
|
+
import { customPolicies, allow, deny, instruct } from "failproofai";
|
|
280
|
+
|
|
281
|
+
// Impedisci all'agente di scrivere nella directory secrets/
|
|
282
|
+
customPolicies.add({
|
|
283
|
+
name: "block-secrets-dir",
|
|
284
|
+
description: "Prevent agent from writing to secrets/ directory",
|
|
285
|
+
match: { events: ["PreToolUse"] },
|
|
286
|
+
fn: async (ctx) => {
|
|
287
|
+
if (!["Write", "Edit"].includes(ctx.toolName ?? "")) return allow();
|
|
288
|
+
const path = ctx.toolInput?.file_path ?? "";
|
|
289
|
+
if (path.includes("secrets/")) return deny("Writing to secrets/ is not permitted");
|
|
290
|
+
return allow();
|
|
291
|
+
},
|
|
292
|
+
});
|
|
293
|
+
|
|
294
|
+
// Mantieni l'agente in traccia: verifica i test prima di eseguire il commit
|
|
295
|
+
customPolicies.add({
|
|
296
|
+
name: "remind-test-before-commit",
|
|
297
|
+
description: "Keep the agent on track: verify tests pass before committing",
|
|
298
|
+
match: { events: ["PreToolUse"] },
|
|
299
|
+
fn: async (ctx) => {
|
|
300
|
+
if (ctx.toolName !== "Bash") return allow();
|
|
301
|
+
const cmd = ctx.toolInput?.command ?? "";
|
|
302
|
+
if (/git\s+commit/.test(cmd)) {
|
|
303
|
+
return instruct("Verify all tests pass before committing. Run `bun test` if you haven't already.");
|
|
304
|
+
}
|
|
305
|
+
return allow();
|
|
306
|
+
},
|
|
307
|
+
});
|
|
308
|
+
|
|
309
|
+
// Impedisci i cambiamenti di dipendenza non pianificati durante il congelamento
|
|
310
|
+
customPolicies.add({
|
|
311
|
+
name: "dependency-freeze",
|
|
312
|
+
description: "Prevent unplanned dependency changes during freeze period",
|
|
313
|
+
match: { events: ["PreToolUse"] },
|
|
314
|
+
fn: async (ctx) => {
|
|
315
|
+
if (ctx.toolName !== "Bash") return allow();
|
|
316
|
+
const cmd = ctx.toolInput?.command ?? "";
|
|
317
|
+
const isInstall = /^(npm install|yarn add|bun add|pnpm add)\s+\S/.test(cmd);
|
|
318
|
+
if (isInstall && process.env.DEPENDENCY_FREEZE === "1") {
|
|
319
|
+
return deny("Package installs are frozen. Unset DEPENDENCY_FREEZE to allow.");
|
|
320
|
+
}
|
|
321
|
+
return allow();
|
|
322
|
+
},
|
|
323
|
+
});
|
|
324
|
+
|
|
325
|
+
export { customPolicies };
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
---
|
|
329
|
+
|
|
330
|
+
## Esempi
|
|
331
|
+
|
|
332
|
+
La directory `examples/` contiene file di politica pronti all'uso:
|
|
333
|
+
|
|
334
|
+
| File | Contenuti |
|
|
335
|
+
|------|----------|
|
|
336
|
+
| `examples/policies-basic.js` | Cinque politiche iniziali che coprono modalità di errore dell'agente comuni |
|
|
337
|
+
| `examples/policies-advanced/index.js` | Pattern avanzati: importazioni transitive, chiamate asincrone, scrubbing dell'output, e hook di fine sessione |
|
|
338
|
+
| `examples/convention-policies/security-policies.mjs` | Politiche di sicurezza basate su convenzione (blocca scritture .env, previeni la riscrittura della cronologia git) |
|
|
339
|
+
| `examples/convention-policies/workflow-policies.mjs` | Politiche di flusso di lavoro basate su convenzione (promemoria dei test, file di audit writes) |
|
|
340
|
+
|
|
341
|
+
### Utilizzo di esempi di file espliciti
|
|
342
|
+
|
|
343
|
+
```bash
|
|
344
|
+
failproofai policies --install --custom ./examples/policies-basic.js
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
### Utilizzo di esempi basati su convenzione
|
|
348
|
+
|
|
349
|
+
```bash
|
|
350
|
+
# Copia a livello di progetto
|
|
351
|
+
mkdir -p .failproofai/policies
|
|
352
|
+
cp examples/convention-policies/*.mjs .failproofai/policies/
|
|
353
|
+
|
|
354
|
+
# O copia a livello di utente
|
|
355
|
+
mkdir -p ~/.failproofai/policies
|
|
356
|
+
cp examples/convention-policies/*.mjs ~/.failproofai/policies/
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
Nessun comando di installazione necessario — i file vengono raccolti automaticamente al prossimo evento hook.
|