failproofai 0.0.6-beta.2 → 0.0.6-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +7 -1
- package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/.next/server/app/_not-found.rsc +17 -17
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +17 -17
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +16 -16
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +16 -16
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
- package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +1 -1
- package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0i5kvry._.js → [root-of-the-server]__0om-5pe._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__05akje6._.js → [root-of-the-server]__111.vxi._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/pages/404.html +2 -2
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
- package/.next/standalone/.next/static/chunks/{05j1px0r8yzh6.js → 02dqjyv6_9mhq.js} +2 -2
- package/.next/standalone/.next/static/chunks/{14cl9poem30dq.js → 070orfsl6.xal.js} +1 -1
- package/.next/standalone/.next/static/chunks/0mir9jdxn35~s.css +1 -0
- package/.next/standalone/.next/static/chunks/{00j0rr7rh8ef8.js → 0o547jv-k_k35.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0ijk_kek9_wyx.js → 0pk2h2.mjxy.m.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0xpl.oscrakvx.js → 0rcwkbh24w38b.js} +1 -1
- package/.next/standalone/.next/static/chunks/{1052sguyd-.ka.js → 140xx_tfr~lm_.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0npb~873.wvg3.js → 169_e4dq~1~b6.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0badv41uxa56..js → 17ne4p.1sw1jy.js} +1 -1
- package/.next/standalone/next.config.ts +6 -0
- package/.next/standalone/package.json +2 -2
- package/.next/standalone/server.js +1 -1
- package/bin/failproofai.mjs +91 -4
- package/dist/cli.mjs +1155 -54
- package/package.json +2 -2
- package/scripts/prune-standalone.mjs +128 -0
- package/src/auth/login.ts +104 -0
- package/src/auth/logout.ts +50 -0
- package/src/auth/token-store.ts +64 -0
- package/src/hooks/builtin-policies.ts +22 -20
- package/src/hooks/handler.ts +35 -15
- package/src/relay/daemon.ts +362 -0
- package/src/relay/pid.ts +76 -0
- package/src/relay/queue.ts +225 -0
- package/.next/standalone/.claude/settings.json +0 -316
- package/.next/standalone/.failproofai/policies/review-policies.mjs +0 -113
- package/.next/standalone/.failproofai/policies/workflow-policies.mjs +0 -63
- package/.next/standalone/.failproofai/policies-config.json +0 -39
- package/.next/standalone/.next/static/chunks/0gu_a.a80ritd.css +0 -1
- package/.next/standalone/AGENTS.md +0 -80
- package/.next/standalone/CHANGELOG.md +0 -151
- package/.next/standalone/CLAUDE.md +0 -165
- package/.next/standalone/CONTRIBUTING.md +0 -76
- package/.next/standalone/Dockerfile.docs +0 -12
- package/.next/standalone/LICENSE +0 -42
- package/.next/standalone/README.md +0 -301
- package/.next/standalone/bin/failproofai.mjs +0 -352
- package/.next/standalone/bun.lock +0 -1119
- package/.next/standalone/components.json +0 -23
- package/.next/standalone/dist/cli.mjs +0 -3595
- package/.next/standalone/dist/index.js +0 -80
- package/.next/standalone/docs/ar/architecture.mdx +0 -334
- package/.next/standalone/docs/ar/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/ar/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/ar/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/ar/cli/hook.mdx +0 -31
- package/.next/standalone/docs/ar/cli/install-policies.mdx +0 -48
- package/.next/standalone/docs/ar/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/ar/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/ar/cli/version.mdx +0 -13
- package/.next/standalone/docs/ar/configuration.mdx +0 -223
- package/.next/standalone/docs/ar/custom-policies.mdx +0 -354
- package/.next/standalone/docs/ar/dashboard.mdx +0 -142
- package/.next/standalone/docs/ar/examples.mdx +0 -307
- package/.next/standalone/docs/ar/for-agents.mdx +0 -39
- package/.next/standalone/docs/ar/getting-started.mdx +0 -187
- package/.next/standalone/docs/ar/introduction.mdx +0 -58
- package/.next/standalone/docs/ar/package-aliases.mdx +0 -82
- package/.next/standalone/docs/ar/testing.mdx +0 -261
- package/.next/standalone/docs/architecture.mdx +0 -332
- package/.next/standalone/docs/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/cli/hook.mdx +0 -30
- package/.next/standalone/docs/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/cli/version.mdx +0 -12
- package/.next/standalone/docs/configuration.mdx +0 -222
- package/.next/standalone/docs/custom-policies.mdx +0 -353
- package/.next/standalone/docs/dashboard.mdx +0 -142
- package/.next/standalone/docs/de/architecture.mdx +0 -332
- package/.next/standalone/docs/de/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/de/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/de/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/de/cli/hook.mdx +0 -30
- package/.next/standalone/docs/de/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/de/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/de/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/de/cli/version.mdx +0 -12
- package/.next/standalone/docs/de/configuration.mdx +0 -222
- package/.next/standalone/docs/de/custom-policies.mdx +0 -353
- package/.next/standalone/docs/de/dashboard.mdx +0 -142
- package/.next/standalone/docs/de/examples.mdx +0 -307
- package/.next/standalone/docs/de/for-agents.mdx +0 -38
- package/.next/standalone/docs/de/getting-started.mdx +0 -186
- package/.next/standalone/docs/de/introduction.mdx +0 -57
- package/.next/standalone/docs/de/package-aliases.mdx +0 -82
- package/.next/standalone/docs/de/testing.mdx +0 -260
- package/.next/standalone/docs/docs.json +0 -1002
- package/.next/standalone/docs/es/architecture.mdx +0 -332
- package/.next/standalone/docs/es/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/es/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/es/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/es/cli/hook.mdx +0 -30
- package/.next/standalone/docs/es/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/es/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/es/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/es/cli/version.mdx +0 -12
- package/.next/standalone/docs/es/configuration.mdx +0 -222
- package/.next/standalone/docs/es/custom-policies.mdx +0 -353
- package/.next/standalone/docs/es/dashboard.mdx +0 -142
- package/.next/standalone/docs/es/examples.mdx +0 -307
- package/.next/standalone/docs/es/for-agents.mdx +0 -38
- package/.next/standalone/docs/es/getting-started.mdx +0 -186
- package/.next/standalone/docs/es/introduction.mdx +0 -57
- package/.next/standalone/docs/es/package-aliases.mdx +0 -82
- package/.next/standalone/docs/es/testing.mdx +0 -260
- package/.next/standalone/docs/examples.mdx +0 -307
- package/.next/standalone/docs/favicon.ico +0 -0
- package/.next/standalone/docs/for-agents.mdx +0 -38
- package/.next/standalone/docs/fr/architecture.mdx +0 -332
- package/.next/standalone/docs/fr/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/fr/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/fr/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/fr/cli/hook.mdx +0 -30
- package/.next/standalone/docs/fr/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/fr/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/fr/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/fr/cli/version.mdx +0 -12
- package/.next/standalone/docs/fr/configuration.mdx +0 -222
- package/.next/standalone/docs/fr/custom-policies.mdx +0 -353
- package/.next/standalone/docs/fr/dashboard.mdx +0 -142
- package/.next/standalone/docs/fr/examples.mdx +0 -307
- package/.next/standalone/docs/fr/for-agents.mdx +0 -38
- package/.next/standalone/docs/fr/getting-started.mdx +0 -186
- package/.next/standalone/docs/fr/introduction.mdx +0 -57
- package/.next/standalone/docs/fr/package-aliases.mdx +0 -82
- package/.next/standalone/docs/fr/testing.mdx +0 -260
- package/.next/standalone/docs/getting-started.mdx +0 -186
- package/.next/standalone/docs/he/architecture.mdx +0 -333
- package/.next/standalone/docs/he/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/he/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/he/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/he/cli/hook.mdx +0 -30
- package/.next/standalone/docs/he/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/he/cli/list-policies.mdx +0 -32
- package/.next/standalone/docs/he/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/he/cli/version.mdx +0 -12
- package/.next/standalone/docs/he/configuration.mdx +0 -223
- package/.next/standalone/docs/he/custom-policies.mdx +0 -353
- package/.next/standalone/docs/he/dashboard.mdx +0 -142
- package/.next/standalone/docs/he/examples.mdx +0 -307
- package/.next/standalone/docs/he/for-agents.mdx +0 -38
- package/.next/standalone/docs/he/getting-started.mdx +0 -186
- package/.next/standalone/docs/he/introduction.mdx +0 -57
- package/.next/standalone/docs/he/package-aliases.mdx +0 -82
- package/.next/standalone/docs/he/testing.mdx +0 -260
- package/.next/standalone/docs/hi/architecture.mdx +0 -334
- package/.next/standalone/docs/hi/built-in-policies.mdx +0 -576
- package/.next/standalone/docs/hi/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/hi/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/hi/cli/hook.mdx +0 -30
- package/.next/standalone/docs/hi/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/hi/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/hi/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/hi/cli/version.mdx +0 -12
- package/.next/standalone/docs/hi/configuration.mdx +0 -222
- package/.next/standalone/docs/hi/custom-policies.mdx +0 -354
- package/.next/standalone/docs/hi/dashboard.mdx +0 -142
- package/.next/standalone/docs/hi/examples.mdx +0 -309
- package/.next/standalone/docs/hi/for-agents.mdx +0 -38
- package/.next/standalone/docs/hi/getting-started.mdx +0 -187
- package/.next/standalone/docs/hi/introduction.mdx +0 -57
- package/.next/standalone/docs/hi/package-aliases.mdx +0 -82
- package/.next/standalone/docs/hi/testing.mdx +0 -260
- package/.next/standalone/docs/i18n/README.ar.md +0 -312
- package/.next/standalone/docs/i18n/README.de.md +0 -307
- package/.next/standalone/docs/i18n/README.es.md +0 -307
- package/.next/standalone/docs/i18n/README.fr.md +0 -307
- package/.next/standalone/docs/i18n/README.he.md +0 -312
- package/.next/standalone/docs/i18n/README.hi.md +0 -307
- package/.next/standalone/docs/i18n/README.it.md +0 -307
- package/.next/standalone/docs/i18n/README.ja.md +0 -307
- package/.next/standalone/docs/i18n/README.ko.md +0 -307
- package/.next/standalone/docs/i18n/README.pt-br.md +0 -307
- package/.next/standalone/docs/i18n/README.ru.md +0 -308
- package/.next/standalone/docs/i18n/README.tr.md +0 -307
- package/.next/standalone/docs/i18n/README.vi.md +0 -307
- package/.next/standalone/docs/i18n/README.zh.md +0 -307
- package/.next/standalone/docs/introduction.mdx +0 -57
- package/.next/standalone/docs/it/architecture.mdx +0 -334
- package/.next/standalone/docs/it/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/it/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/it/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/it/cli/hook.mdx +0 -30
- package/.next/standalone/docs/it/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/it/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/it/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/it/cli/version.mdx +0 -12
- package/.next/standalone/docs/it/configuration.mdx +0 -222
- package/.next/standalone/docs/it/custom-policies.mdx +0 -353
- package/.next/standalone/docs/it/dashboard.mdx +0 -142
- package/.next/standalone/docs/it/examples.mdx +0 -307
- package/.next/standalone/docs/it/for-agents.mdx +0 -38
- package/.next/standalone/docs/it/getting-started.mdx +0 -186
- package/.next/standalone/docs/it/introduction.mdx +0 -57
- package/.next/standalone/docs/it/package-aliases.mdx +0 -82
- package/.next/standalone/docs/it/testing.mdx +0 -260
- package/.next/standalone/docs/ja/architecture.mdx +0 -332
- package/.next/standalone/docs/ja/built-in-policies.mdx +0 -572
- package/.next/standalone/docs/ja/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/ja/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/ja/cli/hook.mdx +0 -30
- package/.next/standalone/docs/ja/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/ja/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/ja/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/ja/cli/version.mdx +0 -12
- package/.next/standalone/docs/ja/configuration.mdx +0 -222
- package/.next/standalone/docs/ja/custom-policies.mdx +0 -353
- package/.next/standalone/docs/ja/dashboard.mdx +0 -142
- package/.next/standalone/docs/ja/examples.mdx +0 -307
- package/.next/standalone/docs/ja/for-agents.mdx +0 -38
- package/.next/standalone/docs/ja/getting-started.mdx +0 -186
- package/.next/standalone/docs/ja/introduction.mdx +0 -57
- package/.next/standalone/docs/ja/package-aliases.mdx +0 -82
- package/.next/standalone/docs/ja/testing.mdx +0 -260
- package/.next/standalone/docs/ko/architecture.mdx +0 -332
- package/.next/standalone/docs/ko/built-in-policies.mdx +0 -572
- package/.next/standalone/docs/ko/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/ko/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/ko/cli/hook.mdx +0 -30
- package/.next/standalone/docs/ko/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/ko/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/ko/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/ko/cli/version.mdx +0 -12
- package/.next/standalone/docs/ko/configuration.mdx +0 -222
- package/.next/standalone/docs/ko/custom-policies.mdx +0 -353
- package/.next/standalone/docs/ko/dashboard.mdx +0 -142
- package/.next/standalone/docs/ko/examples.mdx +0 -307
- package/.next/standalone/docs/ko/for-agents.mdx +0 -38
- package/.next/standalone/docs/ko/getting-started.mdx +0 -186
- package/.next/standalone/docs/ko/introduction.mdx +0 -57
- package/.next/standalone/docs/ko/package-aliases.mdx +0 -82
- package/.next/standalone/docs/ko/testing.mdx +0 -260
- package/.next/standalone/docs/logo/dark.svg +0 -21
- package/.next/standalone/docs/logo/exosphere-dark.png +0 -0
- package/.next/standalone/docs/logo/exosphere-light.png +0 -0
- package/.next/standalone/docs/logo/light.svg +0 -21
- package/.next/standalone/docs/package-aliases.mdx +0 -82
- package/.next/standalone/docs/pt-br/architecture.mdx +0 -332
- package/.next/standalone/docs/pt-br/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/pt-br/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/pt-br/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/pt-br/cli/hook.mdx +0 -30
- package/.next/standalone/docs/pt-br/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/pt-br/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/pt-br/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/pt-br/cli/version.mdx +0 -12
- package/.next/standalone/docs/pt-br/configuration.mdx +0 -222
- package/.next/standalone/docs/pt-br/custom-policies.mdx +0 -353
- package/.next/standalone/docs/pt-br/dashboard.mdx +0 -142
- package/.next/standalone/docs/pt-br/examples.mdx +0 -307
- package/.next/standalone/docs/pt-br/for-agents.mdx +0 -38
- package/.next/standalone/docs/pt-br/getting-started.mdx +0 -186
- package/.next/standalone/docs/pt-br/introduction.mdx +0 -57
- package/.next/standalone/docs/pt-br/package-aliases.mdx +0 -82
- package/.next/standalone/docs/pt-br/testing.mdx +0 -260
- package/.next/standalone/docs/ru/architecture.mdx +0 -333
- package/.next/standalone/docs/ru/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/ru/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/ru/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/ru/cli/hook.mdx +0 -30
- package/.next/standalone/docs/ru/cli/install-policies.mdx +0 -48
- package/.next/standalone/docs/ru/cli/list-policies.mdx +0 -32
- package/.next/standalone/docs/ru/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/ru/cli/version.mdx +0 -12
- package/.next/standalone/docs/ru/configuration.mdx +0 -222
- package/.next/standalone/docs/ru/custom-policies.mdx +0 -354
- package/.next/standalone/docs/ru/dashboard.mdx +0 -142
- package/.next/standalone/docs/ru/examples.mdx +0 -309
- package/.next/standalone/docs/ru/for-agents.mdx +0 -38
- package/.next/standalone/docs/ru/getting-started.mdx +0 -186
- package/.next/standalone/docs/ru/introduction.mdx +0 -57
- package/.next/standalone/docs/ru/package-aliases.mdx +0 -82
- package/.next/standalone/docs/ru/testing.mdx +0 -260
- package/.next/standalone/docs/testing.mdx +0 -260
- package/.next/standalone/docs/tr/architecture.mdx +0 -333
- package/.next/standalone/docs/tr/built-in-policies.mdx +0 -574
- package/.next/standalone/docs/tr/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/tr/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/tr/cli/hook.mdx +0 -30
- package/.next/standalone/docs/tr/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/tr/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/tr/cli/remove-policies.mdx +0 -44
- package/.next/standalone/docs/tr/cli/version.mdx +0 -12
- package/.next/standalone/docs/tr/configuration.mdx +0 -222
- package/.next/standalone/docs/tr/custom-policies.mdx +0 -353
- package/.next/standalone/docs/tr/dashboard.mdx +0 -142
- package/.next/standalone/docs/tr/examples.mdx +0 -308
- package/.next/standalone/docs/tr/for-agents.mdx +0 -38
- package/.next/standalone/docs/tr/getting-started.mdx +0 -186
- package/.next/standalone/docs/tr/introduction.mdx +0 -57
- package/.next/standalone/docs/tr/package-aliases.mdx +0 -82
- package/.next/standalone/docs/tr/testing.mdx +0 -260
- package/.next/standalone/docs/vi/architecture.mdx +0 -334
- package/.next/standalone/docs/vi/built-in-policies.mdx +0 -575
- package/.next/standalone/docs/vi/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/vi/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/vi/cli/hook.mdx +0 -30
- package/.next/standalone/docs/vi/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/vi/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/vi/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/vi/cli/version.mdx +0 -13
- package/.next/standalone/docs/vi/configuration.mdx +0 -222
- package/.next/standalone/docs/vi/custom-policies.mdx +0 -353
- package/.next/standalone/docs/vi/dashboard.mdx +0 -142
- package/.next/standalone/docs/vi/examples.mdx +0 -308
- package/.next/standalone/docs/vi/for-agents.mdx +0 -38
- package/.next/standalone/docs/vi/getting-started.mdx +0 -186
- package/.next/standalone/docs/vi/introduction.mdx +0 -57
- package/.next/standalone/docs/vi/package-aliases.mdx +0 -82
- package/.next/standalone/docs/vi/testing.mdx +0 -260
- package/.next/standalone/docs/zh/architecture.mdx +0 -332
- package/.next/standalone/docs/zh/built-in-policies.mdx +0 -572
- package/.next/standalone/docs/zh/cli/dashboard.mdx +0 -28
- package/.next/standalone/docs/zh/cli/environment-variables.mdx +0 -34
- package/.next/standalone/docs/zh/cli/hook.mdx +0 -30
- package/.next/standalone/docs/zh/cli/install-policies.mdx +0 -47
- package/.next/standalone/docs/zh/cli/list-policies.mdx +0 -31
- package/.next/standalone/docs/zh/cli/remove-policies.mdx +0 -43
- package/.next/standalone/docs/zh/cli/version.mdx +0 -12
- package/.next/standalone/docs/zh/configuration.mdx +0 -222
- package/.next/standalone/docs/zh/custom-policies.mdx +0 -353
- package/.next/standalone/docs/zh/dashboard.mdx +0 -142
- package/.next/standalone/docs/zh/examples.mdx +0 -307
- package/.next/standalone/docs/zh/for-agents.mdx +0 -38
- package/.next/standalone/docs/zh/getting-started.mdx +0 -186
- package/.next/standalone/docs/zh/introduction.mdx +0 -57
- package/.next/standalone/docs/zh/package-aliases.mdx +0 -82
- package/.next/standalone/docs/zh/testing.mdx +0 -260
- package/.next/standalone/eslint.config.mjs +0 -15
- package/.next/standalone/examples/convention-policies/security-policies.mjs +0 -40
- package/.next/standalone/examples/convention-policies/workflow-policies.mjs +0 -41
- package/.next/standalone/examples/policies-advanced/index.js +0 -103
- package/.next/standalone/examples/policies-advanced/utils.js +0 -35
- package/.next/standalone/examples/policies-basic.js +0 -77
- package/.next/standalone/examples/policies-notification.js +0 -104
- package/.next/standalone/node_modules/@img/colour/color.cjs +0 -1594
- package/.next/standalone/node_modules/@img/colour/index.cjs +0 -1
- package/.next/standalone/node_modules/@img/colour/package.json +0 -45
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/README.md +0 -46
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/glib-2.0/include/glibconfig.h +0 -221
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/index.js +0 -1
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 +0 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/package.json +0 -42
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/versions.json +0 -30
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +0 -46
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +0 -221
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +0 -1
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +0 -42
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +0 -30
- package/.next/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
- package/.next/standalone/node_modules/@img/sharp-linux-x64/package.json +0 -46
- package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
- package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +0 -46
- package/.next/standalone/node_modules/detect-libc/lib/detect-libc.js +0 -313
- package/.next/standalone/node_modules/detect-libc/lib/elf.js +0 -39
- package/.next/standalone/node_modules/detect-libc/lib/filesystem.js +0 -51
- package/.next/standalone/node_modules/detect-libc/lib/process.js +0 -24
- package/.next/standalone/node_modules/detect-libc/package.json +0 -44
- package/.next/standalone/node_modules/sharp/lib/channel.js +0 -177
- package/.next/standalone/node_modules/sharp/lib/colour.js +0 -195
- package/.next/standalone/node_modules/sharp/lib/composite.js +0 -212
- package/.next/standalone/node_modules/sharp/lib/constructor.js +0 -499
- package/.next/standalone/node_modules/sharp/lib/index.js +0 -16
- package/.next/standalone/node_modules/sharp/lib/input.js +0 -809
- package/.next/standalone/node_modules/sharp/lib/is.js +0 -143
- package/.next/standalone/node_modules/sharp/lib/libvips.js +0 -207
- package/.next/standalone/node_modules/sharp/lib/operation.js +0 -1016
- package/.next/standalone/node_modules/sharp/lib/output.js +0 -1666
- package/.next/standalone/node_modules/sharp/lib/resize.js +0 -595
- package/.next/standalone/node_modules/sharp/lib/sharp.js +0 -121
- package/.next/standalone/node_modules/sharp/lib/utility.js +0 -291
- package/.next/standalone/node_modules/sharp/node_modules/semver/classes/comparator.js +0 -143
- package/.next/standalone/node_modules/sharp/node_modules/semver/classes/range.js +0 -557
- package/.next/standalone/node_modules/sharp/node_modules/semver/classes/semver.js +0 -333
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/cmp.js +0 -54
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/coerce.js +0 -62
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/compare.js +0 -7
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/eq.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/gt.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/gte.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/lt.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/lte.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/neq.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/parse.js +0 -18
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/satisfies.js +0 -12
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/constants.js +0 -37
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/debug.js +0 -11
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/identifiers.js +0 -29
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/lrucache.js +0 -42
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/parse-options.js +0 -17
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/re.js +0 -223
- package/.next/standalone/node_modules/sharp/node_modules/semver/package.json +0 -78
- package/.next/standalone/node_modules/sharp/package.json +0 -202
- package/.next/standalone/scripts/alias-proxy.js +0 -18
- package/.next/standalone/scripts/dev.ts +0 -3
- package/.next/standalone/scripts/install-telemetry.mjs +0 -108
- package/.next/standalone/scripts/launch.ts +0 -83
- package/.next/standalone/scripts/parse-script-args.ts +0 -87
- package/.next/standalone/scripts/postinstall.mjs +0 -121
- package/.next/standalone/scripts/preuninstall.mjs +0 -131
- package/.next/standalone/scripts/publish-aliases.mjs +0 -87
- package/.next/standalone/scripts/start.ts +0 -3
- package/.next/standalone/scripts/sync-hook-events-prompt.md +0 -60
- package/.next/standalone/scripts/translate-docs/cache.ts +0 -62
- package/.next/standalone/scripts/translate-docs/cli.ts +0 -357
- package/.next/standalone/scripts/translate-docs/config.ts +0 -248
- package/.next/standalone/scripts/translate-docs/mdx-translator.ts +0 -153
- package/.next/standalone/scripts/translate-docs/mintlify-nav.ts +0 -107
- package/.next/standalone/scripts/translate-docs/readme-translator.ts +0 -154
- package/.next/standalone/scripts/translate-docs/translator.ts +0 -68
- package/.next/standalone/scripts/translate-docs/types.ts +0 -43
- package/.next/standalone/src/cli-error.ts +0 -18
- package/.next/standalone/src/hooks/builtin-policies.ts +0 -1613
- package/.next/standalone/src/hooks/custom-hooks-loader.ts +0 -205
- package/.next/standalone/src/hooks/custom-hooks-registry.ts +0 -30
- package/.next/standalone/src/hooks/handler.ts +0 -202
- package/.next/standalone/src/hooks/hook-activity-store.ts +0 -349
- package/.next/standalone/src/hooks/hook-logger.ts +0 -133
- package/.next/standalone/src/hooks/hook-telemetry.ts +0 -43
- package/.next/standalone/src/hooks/hooks-config.ts +0 -166
- package/.next/standalone/src/hooks/install-prompt.ts +0 -357
- package/.next/standalone/src/hooks/llm-client.ts +0 -90
- package/.next/standalone/src/hooks/loader-utils.ts +0 -178
- package/.next/standalone/src/hooks/manager.ts +0 -692
- package/.next/standalone/src/hooks/policy-evaluator.ts +0 -224
- package/.next/standalone/src/hooks/policy-helpers.ts +0 -16
- package/.next/standalone/src/hooks/policy-registry.ts +0 -90
- package/.next/standalone/src/hooks/policy-types.ts +0 -77
- package/.next/standalone/src/hooks/types.ts +0 -63
- package/.next/standalone/src/index.ts +0 -19
- package/.next/standalone/src/posthog-key.ts +0 -5
- package/.next/standalone/tailwind.config.ts +0 -11
- package/.next/standalone/tsconfig.json +0 -42
- package/.next/standalone/vitest.config.e2e.mts +0 -24
- package/.next/standalone/vitest.config.mts +0 -23
- /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → wOkJXoch1UmRAmyIuKZWc}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → wOkJXoch1UmRAmyIuKZWc}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → wOkJXoch1UmRAmyIuKZWc}/_ssgManifest.js +0 -0
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
# AGENTS.md — Codex / agent guidance for this repo
|
|
2
|
-
|
|
3
|
-
This file is read by AI coding agents (Codex, Claude Code, etc.). It duplicates the most
|
|
4
|
-
critical rules from CLAUDE.md in a format optimised for agent consumption.
|
|
5
|
-
|
|
6
|
-
## Non-negotiable rules
|
|
7
|
-
|
|
8
|
-
1. **Branch must contain all commits from main.** Before every push, run:
|
|
9
|
-
```bash
|
|
10
|
-
git fetch origin && git log --oneline origin/main ^HEAD
|
|
11
|
-
```
|
|
12
|
-
If that prints anything, rebase first: `git rebase origin/main`. Never push a branch
|
|
13
|
-
that is missing commits from `main`.
|
|
14
|
-
|
|
15
|
-
3. **One PR per branch.** Check `gh pr list --head <current-branch>` before creating a PR.
|
|
16
|
-
Push to the existing PR if one already exists.
|
|
17
|
-
|
|
18
|
-
4. **CI must be green before you stop.** After every push, poll `gh run list --limit 3`
|
|
19
|
-
until all checks complete. Fix failures before proceeding or declaring done.
|
|
20
|
-
|
|
21
|
-
5. **Never edit a test to make it pass.** Fix the code. Tests may only be changed when the
|
|
22
|
-
test itself is wrong or when the feature under test was intentionally changed.
|
|
23
|
-
|
|
24
|
-
6. **Always add unit tests for new behaviour.** Place tests in `__tests__/`. Unit tests live
|
|
25
|
-
in `__tests__/hooks/`, e2e tests in `__tests__/e2e/hooks/`.
|
|
26
|
-
|
|
27
|
-
7. **Docker is available.** Use `oven/bun:latest` with `--network=host` to do clean-install
|
|
28
|
-
end-to-end testing after every non-trivial implementation. See CLAUDE.md for the exact
|
|
29
|
-
Docker test recipe.
|
|
30
|
-
|
|
31
|
-
## Test commands
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
bun run test:run # unit tests (fast, run first)
|
|
35
|
-
bun run test:e2e # end-to-end hook tests (slower, run before push)
|
|
36
|
-
bun run lint # eslint
|
|
37
|
-
bunx tsc --noEmit # type check
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
## Docker smoke test (run after every change to src/hooks/ or package.json)
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
npm pack --ignore-scripts
|
|
44
|
-
docker run --rm --network=host \
|
|
45
|
-
-v $(pwd)/failproofai-*.tgz:/pkg.tgz \
|
|
46
|
-
oven/bun:latest bash -c "
|
|
47
|
-
apt-get update -qq && apt-get install -y -qq nodejs npm 2>&1 | tail -2
|
|
48
|
-
npm install -g /pkg.tgz --ignore-scripts 2>&1 | tail -3
|
|
49
|
-
cat > /tmp/tp.mjs << 'EOF'
|
|
50
|
-
import { customPolicies, allow } from 'failproofai';
|
|
51
|
-
customPolicies.add({ name: 't', description: 't', match: { events: ['PreToolUse'] }, fn: async () => allow() });
|
|
52
|
-
EOF
|
|
53
|
-
failproofai p -i -c /tmp/tp.mjs
|
|
54
|
-
"
|
|
55
|
-
rm failproofai-*.tgz
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
Expected: `Validated 1 custom hook(s): t`, exit 0.
|
|
59
|
-
|
|
60
|
-
## Regression checklist
|
|
61
|
-
|
|
62
|
-
Run through this mentally after any change to `src/hooks/` or `dist/` build:
|
|
63
|
-
|
|
64
|
-
- [ ] ESM import (`from 'failproofai'`) in custom policy resolves
|
|
65
|
-
- [ ] CJS require (`require('failproofai')`) in custom policy resolves
|
|
66
|
-
- [ ] Transitive local imports inside custom policy file work
|
|
67
|
-
- [ ] Builtin policies run when no custom file is configured
|
|
68
|
-
- [ ] `failproofai p -i -c <nonexistent>` fails gracefully (no crash)
|
|
69
|
-
- [ ] `bun run test:run` — all unit tests pass
|
|
70
|
-
- [ ] `bun run test:e2e` — all e2e tests pass
|
|
71
|
-
- [ ] CI is green
|
|
72
|
-
|
|
73
|
-
## Key files
|
|
74
|
-
|
|
75
|
-
| File | Purpose |
|
|
76
|
-
|------|---------|
|
|
77
|
-
| `src/hooks/loader-utils.ts` | `findDistIndex()`, ESM shim, import rewriting |
|
|
78
|
-
| `src/hooks/custom-hooks-loader.ts` | Top-level custom hook loading orchestrator |
|
|
79
|
-
| `src/index.ts` | Public API → `dist/index.js` bundle entry |
|
|
80
|
-
| `package.json` | `files` must include `dist/`; `build` must build `dist/index.js` |
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
## Unreleased
|
|
4
|
-
|
|
5
|
-
## 0.0.6-beta.2 — 2026-04-21
|
|
6
|
-
|
|
7
|
-
### Features
|
|
8
|
-
- Add `prefer-package-manager` builtin policy to enforce allowed package managers (e.g., uv instead of pip) (#126)
|
|
9
|
-
|
|
10
|
-
### Fixes
|
|
11
|
-
- Treat cancelled CI runs as non-failing in `require-ci-green-before-stop` policy (#129)
|
|
12
|
-
|
|
13
|
-
### Docs
|
|
14
|
-
- Emphasize convention-based policies as org-wide quality standards in getting-started, custom-policies, examples, and README (#126)
|
|
15
|
-
|
|
16
|
-
## 0.0.6-beta.1 — 2026-04-20
|
|
17
|
-
|
|
18
|
-
### Features
|
|
19
|
-
- Add `prefer-package-manager` builtin policy to enforce allowed package managers (e.g., uv instead of pip) (#126)
|
|
20
|
-
|
|
21
|
-
### Docs
|
|
22
|
-
- Emphasize convention-based policies as org-wide quality standards in getting-started, custom-policies, examples, and README (#126)
|
|
23
|
-
|
|
24
|
-
## 0.0.6-beta.0 — 2026-04-20
|
|
25
|
-
|
|
26
|
-
### Fixes
|
|
27
|
-
- Fix `require-pr-before-stop` falsely denying when PR is already merged and `origin/main` is stale (#112)
|
|
28
|
-
|
|
29
|
-
## 0.0.5 — 2026-04-17
|
|
30
|
-
|
|
31
|
-
### Fixes
|
|
32
|
-
- Strengthen Stop-event deny/instruct instructions with mandatory framing so agents execute required actions instead of asking for confirmation (#109)
|
|
33
|
-
- Include legacy commit statuses (CodeRabbit, etc.) in CI green check — previously only Check Runs API was queried (#109)
|
|
34
|
-
|
|
35
|
-
### Docs
|
|
36
|
-
- Remove beta version annotations from convention-based policies and allow(message) documentation (#110)
|
|
37
|
-
|
|
38
|
-
## 0.0.4 — 2026-04-16
|
|
39
|
-
|
|
40
|
-
### Features
|
|
41
|
-
- Graduate 4 workflow policies from beta to stable: `require-commit-before-stop`, `require-push-before-stop`, `require-pr-before-stop`, `require-ci-green-before-stop` (#105)
|
|
42
|
-
|
|
43
|
-
## 0.0.3 — 2026-04-15
|
|
44
|
-
|
|
45
|
-
### Features
|
|
46
|
-
- Use portable `npx -y failproofai` command for project-scope hooks, making `.claude/settings.json` committable to git (#96)
|
|
47
|
-
- Parallelize translation workflow across 14 languages with concurrent file translation for faster CI (#98)
|
|
48
|
-
- Add manual workflow dispatch for translations with `force` (ignore cache) and `languages` filter inputs (#98)
|
|
49
|
-
- Tier-based model selection for translations: Sonnet for Tier 1, Haiku for Tier 2/3; add prompt caching on system prompt (#98)
|
|
50
|
-
|
|
51
|
-
### Fixes
|
|
52
|
-
- Fix hooks not working in failproofai's own repo by using local binary instead of npx (#98)
|
|
53
|
-
- Fix translation workflow placing files at repo root instead of `docs/` by setting download artifact path (#100)
|
|
54
|
-
|
|
55
|
-
## 0.0.2-beta.8 — 2026-04-14
|
|
56
|
-
|
|
57
|
-
### Features
|
|
58
|
-
- Add `changelog-check`, `docs-check`, and `pr-description-check` convention policies
|
|
59
|
-
- Track `.claude/settings.json` in git
|
|
60
|
-
- Add multilingual documentation with 14 languages and automated translation tooling (#93)
|
|
61
|
-
- Add GitHub Actions workflow to auto-translate docs when English sources change (#95)
|
|
62
|
-
- Add Mintlify docs validation to CI (#95)
|
|
63
|
-
|
|
64
|
-
### Fixes
|
|
65
|
-
- Accumulate all `instruct` messages instead of only delivering the first one
|
|
66
|
-
- Rename convention policy prefix from `convention/` to `.failproofai-{scope}/` (e.g. `.failproofai-project/`, `.failproofai-user/`) and add `convention_scope` to telemetry
|
|
67
|
-
|
|
68
|
-
### Docs
|
|
69
|
-
- Document cross-cutting `hint` param in built-in policies reference and add `block-force-push` hint example
|
|
70
|
-
- Add `block-force-push` hint to project config suggesting fresh branch as alternative
|
|
71
|
-
|
|
72
|
-
## 0.0.2-beta.7 — 2026-04-14
|
|
73
|
-
|
|
74
|
-
### Features
|
|
75
|
-
- Check third-party bot statuses (CodeRabbit, SonarCloud, etc.) in `require-ci-green-before-stop` policy (#90)
|
|
76
|
-
- Convention-based policy auto-discovery: drop `*policies.{js,mjs,ts}` files into `.failproofai/policies/` at project or user level for automatic loading — no config changes needed (#91)
|
|
77
|
-
- Configurable `hint` field in `policyParams` — append custom guidance to deny/instruct messages without modifying policies (#91)
|
|
78
|
-
- Auto-bump version after release (#73)
|
|
79
|
-
|
|
80
|
-
### Fixes
|
|
81
|
-
- Write `policies-config.json` to scope-appropriate path (#57)
|
|
82
|
-
- Fix custom hooks loader cwd, ESM shim exports, and merged LLM config (#76)
|
|
83
|
-
|
|
84
|
-
### Docs
|
|
85
|
-
- Replace Discord links with Slack community invite (#87)
|
|
86
|
-
|
|
87
|
-
### Dependencies
|
|
88
|
-
- Bump `@types/node` 25.5.2 → 25.6.0 (#86)
|
|
89
|
-
- Bump `react-dom` 19.2.4 → 19.2.5 (#85)
|
|
90
|
-
- Bump `next` 16.2.2 → 16.2.3 (#84)
|
|
91
|
-
- Bump `posthog-node` 5.28.11 → 5.29.2 (#83)
|
|
92
|
-
- Bump `lucide-react` 1.7.0 → 1.8.0 (#82)
|
|
93
|
-
- Bump `eslint-config-next` 16.2.2 → 16.2.3 (#81)
|
|
94
|
-
- Bump `vitest` 4.1.2 → 4.1.4 (#80)
|
|
95
|
-
- Bump `react` 19.2.4 → 19.2.5 (#79)
|
|
96
|
-
- Bump `actions/checkout` 4 → 6 (#78)
|
|
97
|
-
|
|
98
|
-
## 0.0.2-beta.6 — 2026-04-09
|
|
99
|
-
|
|
100
|
-
### Fixes
|
|
101
|
-
- `require-push-before-stop` skips when no changes vs base branch (#71)
|
|
102
|
-
|
|
103
|
-
## 0.0.2-beta.5 — 2026-04-09
|
|
104
|
-
|
|
105
|
-
### Features
|
|
106
|
-
- Display package version in navbar (#66)
|
|
107
|
-
|
|
108
|
-
### Fixes
|
|
109
|
-
- `require-pr-before-stop` skips when no changes vs base branch (#67)
|
|
110
|
-
- Show plain Allow badge instead of blue Allow(note) (#68)
|
|
111
|
-
|
|
112
|
-
## 0.0.2-beta.4 — 2026-04-09
|
|
113
|
-
|
|
114
|
-
### Features
|
|
115
|
-
- Surface allow-with-message in terminal and dashboard (#65)
|
|
116
|
-
|
|
117
|
-
### Fixes
|
|
118
|
-
- Policy bypass gaps in `block-rm-rf`, `block-curl-pipe-sh`, `protect-env-vars` + Stop hook stderr bug (#64)
|
|
119
|
-
|
|
120
|
-
## 0.0.2-beta.3 — 2026-04-09
|
|
121
|
-
|
|
122
|
-
### Features
|
|
123
|
-
- 4 beta workflow policies + allow-with-message support (#63)
|
|
124
|
-
|
|
125
|
-
### Fixes
|
|
126
|
-
- Disable PostHog telemetry in all CI jobs and test configs (#62)
|
|
127
|
-
- README badge fixes — stable npm version, remove broken Discord (#53)
|
|
128
|
-
|
|
129
|
-
### Docs
|
|
130
|
-
- Rewrite README to focus on hooks management (#54)
|
|
131
|
-
- Rewrite docs for Mintlify, fix CLI parity, add agent skill page (#55)
|
|
132
|
-
- Rename custom-hooks to custom-policies, update Dockerfile for hot reload (#61)
|
|
133
|
-
|
|
134
|
-
## 0.0.2-beta.2 — 2026-04-08
|
|
135
|
-
|
|
136
|
-
### Features
|
|
137
|
-
- Add Mintlify documentation configuration (#43)
|
|
138
|
-
|
|
139
|
-
### Fixes
|
|
140
|
-
- Bundle CLI for Node.js compatibility, support `npm install -g` (#46)
|
|
141
|
-
- Correct CLI commands in README (#45)
|
|
142
|
-
- Clean CLI error handling, reject unknown args (#48)
|
|
143
|
-
|
|
144
|
-
## 0.0.1 — 2026-04-06
|
|
145
|
-
|
|
146
|
-
Initial open-source release of **Failproof AI** — formerly Claudeye.
|
|
147
|
-
|
|
148
|
-
Features included in this release:
|
|
149
|
-
- **Hooks & Policies**: 35+ built-in security policies for Claude Code hooks (PreToolUse, PostToolUse, etc.), custom policy support, activity logging
|
|
150
|
-
- **Projects**: Browse and search Claude Code projects and sessions
|
|
151
|
-
- **Session Viewer**: Inspect session logs, tool calls, and per-session hook activity
|
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
# CLAUDE.md — Agent guidance for this repo
|
|
2
|
-
|
|
3
|
-
## Environment
|
|
4
|
-
|
|
5
|
-
- **Runtime:** bun (≥1.3.0) and Node.js (≥20.9.0) are both present.
|
|
6
|
-
- **Docker CLI** is available. Use it to spin up clean containers that mimic real user
|
|
7
|
-
installs and validate every non-trivial change end-to-end before pushing.
|
|
8
|
-
- **Package manager:** bun (`bun install`, `bun run <script>`). Do not use npm/yarn to
|
|
9
|
-
install deps locally.
|
|
10
|
-
|
|
11
|
-
## Dev hooks (this repo only)
|
|
12
|
-
|
|
13
|
-
This repo's `.claude/settings.json` uses `bun ./bin/failproofai.mjs --hook <EventType>`
|
|
14
|
-
instead of the standard `npx -y failproofai` command. This is because `npx -y failproofai`
|
|
15
|
-
creates a self-referencing conflict when run inside the failproofai project itself.
|
|
16
|
-
|
|
17
|
-
For all other repos, the recommended approach is `npx -y failproofai`, installed via:
|
|
18
|
-
```bash
|
|
19
|
-
failproofai policies --install --scope project
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
Do **not** run `failproofai policies --install --scope project` from this repo — it will
|
|
23
|
-
overwrite the local binary path back to `npx -y failproofai`.
|
|
24
|
-
|
|
25
|
-
## Workflow rules
|
|
26
|
-
|
|
27
|
-
### One PR per branch
|
|
28
|
-
Each local branch maps to exactly one PR. Before opening a PR, check with
|
|
29
|
-
`gh pr list --head <branch>`. If one exists, push new commits to the same branch — never
|
|
30
|
-
open a second PR for the same branch.
|
|
31
|
-
|
|
32
|
-
### Branch must contain all commits from main
|
|
33
|
-
Before pushing, verify your branch is up to date with `main`:
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
git fetch origin
|
|
37
|
-
git log --oneline origin/main ^HEAD # should print nothing
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
If it prints commits, rebase before pushing:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
git rebase origin/main
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
Resolve any conflicts, then continue. Never push a branch that is missing commits from
|
|
47
|
-
`main` — the PR diff will be polluted and CI may test against a stale base.
|
|
48
|
-
|
|
49
|
-
### CI must be green after every commit you push
|
|
50
|
-
After every `git push`, run `gh run watch` or poll `gh run list --limit 3` until all checks
|
|
51
|
-
finish. If any job fails, **stop and fix it before continuing**. Never leave a red CI.
|
|
52
|
-
|
|
53
|
-
The CI runs four jobs — all must pass:
|
|
54
|
-
| Job | Command |
|
|
55
|
-
|-----|---------|
|
|
56
|
-
| quality | lint + tsc + version-consistency check |
|
|
57
|
-
| test | `bun run test:run` (unit, 4 env configs) |
|
|
58
|
-
| build | `bun run build` (Next.js + dist/index.js) |
|
|
59
|
-
| test-e2e | `bun run test:e2e` |
|
|
60
|
-
|
|
61
|
-
### Always add unit tests for new behaviour
|
|
62
|
-
When you add or change logic, add a corresponding test in `__tests__/`. Never modify
|
|
63
|
-
existing tests just to make them pass — if a test breaks, fix the code, not the test.
|
|
64
|
-
Exception: updating a test that explicitly tests the value you're changing (e.g. a version
|
|
65
|
-
string or an error message you intentionally changed).
|
|
66
|
-
|
|
67
|
-
## Testing protocol
|
|
68
|
-
|
|
69
|
-
### After every implementation change
|
|
70
|
-
|
|
71
|
-
1. **Unit tests first** — fast, in-process:
|
|
72
|
-
```bash
|
|
73
|
-
bun run test:run
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
2. **Local smoke test** — use the dev dist directly:
|
|
77
|
-
```bash
|
|
78
|
-
bun build --target=node --format=cjs --outfile=dist/index.js src/index.ts
|
|
79
|
-
FAILPROOFAI_DIST_PATH=$(pwd)/dist failproofai p -i -c <policy-file>
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
3. **Docker clean-install test** — mimics a real `npm install -g` from scratch.
|
|
83
|
-
Use the `oven/bun:latest` image (bun pre-installed) with `--network=host`:
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
# Pack without running the full build
|
|
87
|
-
npm pack --ignore-scripts
|
|
88
|
-
|
|
89
|
-
docker run --rm --network=host \
|
|
90
|
-
-v $(pwd)/failproofai-*.tgz:/pkg.tgz \
|
|
91
|
-
oven/bun:latest bash -c "
|
|
92
|
-
apt-get update -qq && apt-get install -y -qq nodejs npm 2>&1 | tail -2
|
|
93
|
-
npm install -g /pkg.tgz --ignore-scripts 2>&1 | tail -3
|
|
94
|
-
cat > /tmp/test-policy.mjs << 'EOF'
|
|
95
|
-
import { customPolicies, allow } from 'failproofai';
|
|
96
|
-
customPolicies.add({
|
|
97
|
-
name: 'smoke-test',
|
|
98
|
-
description: 'Smoke test',
|
|
99
|
-
match: { events: ['PreToolUse'] },
|
|
100
|
-
fn: async (ctx) => allow(),
|
|
101
|
-
});
|
|
102
|
-
EOF
|
|
103
|
-
failproofai --version
|
|
104
|
-
failproofai p -i -c /tmp/test-policy.mjs
|
|
105
|
-
"
|
|
106
|
-
|
|
107
|
-
rm failproofai-*.tgz
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
Expected output includes `Validated 1 custom hook(s): smoke-test` and exit 0.
|
|
111
|
-
|
|
112
|
-
4. **E2E tests** (before pushing):
|
|
113
|
-
```bash
|
|
114
|
-
bun run test:e2e
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
### Regression areas to always check
|
|
118
|
-
|
|
119
|
-
After any change to `src/hooks/`, verify these scenarios don't regress:
|
|
120
|
-
|
|
121
|
-
| Scenario | How to check |
|
|
122
|
-
|----------|-------------|
|
|
123
|
-
| Custom policy with `from 'failproofai'` ESM import | Docker clean-install test above |
|
|
124
|
-
| Custom policy with `require('failproofai')` CJS | Write a `.js` test file with `require` and run `p -i -c` |
|
|
125
|
-
| Transitive local imports in custom policy | Use `examples/policies-advanced/index.js` |
|
|
126
|
-
| Builtin policies still fire (no custom file) | `failproofai p -i` without `-c` |
|
|
127
|
-
| `findDistIndex()` fallback when `FAILPROOFAI_DIST_PATH` unset | Unset the var and test |
|
|
128
|
-
| `loadCustomHooks` fail-open (bad file path) | Pass a nonexistent file without `--strict` |
|
|
129
|
-
|
|
130
|
-
## Project structure cheatsheet
|
|
131
|
-
|
|
132
|
-
```
|
|
133
|
-
bin/failproofai.mjs Entry point (bun shebang); sets FAILPROOFAI_DIST_PATH
|
|
134
|
-
src/hooks/
|
|
135
|
-
custom-hooks-loader.ts Orchestrates temp-file creation + dynamic import
|
|
136
|
-
loader-utils.ts findDistIndex(), createEsmShim(), rewriteFileTree()
|
|
137
|
-
custom-hooks-registry.ts globalThis registry shared between loader and handler
|
|
138
|
-
policy-helpers.ts allow() / deny() / instruct()
|
|
139
|
-
handler.ts Called by Claude Code --hook events
|
|
140
|
-
manager.ts policies --install / --uninstall / list
|
|
141
|
-
src/index.ts Public API entry point → compiled to dist/index.js
|
|
142
|
-
dist/index.js CJS bundle (built by `bun run build`; shipped in npm pkg)
|
|
143
|
-
__tests__/ Unit + e2e tests (vitest)
|
|
144
|
-
examples/ Sample custom policy files
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
## Changelog
|
|
148
|
-
|
|
149
|
-
Every PR **must** include an update to `CHANGELOG.md`. Add your entry under the
|
|
150
|
-
`## Unreleased` section at the top. Use the appropriate subsection:
|
|
151
|
-
|
|
152
|
-
- **Features** for new functionality
|
|
153
|
-
- **Fixes** for bug fixes
|
|
154
|
-
- **Docs** for documentation-only changes
|
|
155
|
-
- **Dependencies** for dependency bumps
|
|
156
|
-
|
|
157
|
-
Each entry should be a single line: a short description followed by the PR number
|
|
158
|
-
(e.g. `- Add foo support (#123)`). When a release is cut, the `Unreleased` section gets
|
|
159
|
-
renamed to the version and date, and a fresh `## Unreleased` heading is added.
|
|
160
|
-
|
|
161
|
-
## Version bumps
|
|
162
|
-
|
|
163
|
-
When bumping the version, update **only** `package.json` (root). The CI version-consistency
|
|
164
|
-
check compares `packages/*/package.json` against root — that directory does not currently
|
|
165
|
-
exist, so no other files need updating.
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
# Contributing to Failproof AI
|
|
2
|
-
|
|
3
|
-
Thanks for your interest in contributing! Here's how to get started.
|
|
4
|
-
|
|
5
|
-
## Prerequisites
|
|
6
|
-
|
|
7
|
-
- Bun >= 1.3.0 (or Node.js >= 20.9.0)
|
|
8
|
-
|
|
9
|
-
## Development Setup
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
git clone https://github.com/exosphereHost/failproofai.git
|
|
13
|
-
cd failproofai
|
|
14
|
-
bun install
|
|
15
|
-
bun run dev
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
The dev server starts at `http://localhost:8020`.
|
|
19
|
-
|
|
20
|
-
## Available Scripts
|
|
21
|
-
|
|
22
|
-
| Script | Description |
|
|
23
|
-
|--------|-------------|
|
|
24
|
-
| `bun run dev` | Start the development server |
|
|
25
|
-
| `bun run lint` | Run ESLint |
|
|
26
|
-
| `bunx tsc --noEmit` | Type-check without emitting |
|
|
27
|
-
| `bun run test:run` | Run tests once (Vitest) |
|
|
28
|
-
| `bun run test` | Run tests in watch mode |
|
|
29
|
-
| `bun run build` | Production build (Next.js) |
|
|
30
|
-
|
|
31
|
-
## Project Structure
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
failproofai/
|
|
35
|
-
├── app/ # Next.js app router (pages, layouts, server actions)
|
|
36
|
-
├── bin/ # CLI entry point
|
|
37
|
-
├── components/ # Shared React components
|
|
38
|
-
├── contexts/ # React context providers
|
|
39
|
-
├── lib/ # Core logic (logging, telemetry, paths, URL utils)
|
|
40
|
-
├── src/hooks/ # Hook handler, built-in policies, custom hooks loader
|
|
41
|
-
├── scripts/ # Dev/start/build helper scripts
|
|
42
|
-
├── __tests__/ # Test files
|
|
43
|
-
├── examples/ # Example custom hook policies
|
|
44
|
-
└── public/ # Static assets
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
### Key Subsystems
|
|
48
|
-
|
|
49
|
-
| Directory | Description |
|
|
50
|
-
|-----------|-------------|
|
|
51
|
-
| `src/hooks/` | Hook handler, built-in policies, custom hooks loader |
|
|
52
|
-
| `app/actions/` | Next.js server actions |
|
|
53
|
-
| `app/components/` | Session viewer, project list, log viewer |
|
|
54
|
-
|
|
55
|
-
### Environment Variables
|
|
56
|
-
|
|
57
|
-
| Variable | Description |
|
|
58
|
-
|----------|-------------|
|
|
59
|
-
| `CLAUDE_PROJECTS_PATH` | Path to Claude projects directory |
|
|
60
|
-
| `FAILPROOFAI_LOG_LEVEL` | Log level: `info`, `warn`, `error` (default: `warn`) |
|
|
61
|
-
| `FAILPROOFAI_TELEMETRY_DISABLED` | Set to `1` to disable anonymous telemetry |
|
|
62
|
-
| `FAILPROOFAI_DISABLE_PAGES` | Comma-separated pages to disable: `policies`, `projects` |
|
|
63
|
-
|
|
64
|
-
## Pull Request Guidelines
|
|
65
|
-
|
|
66
|
-
1. Keep changes focused — one concern per PR.
|
|
67
|
-
2. Make sure all checks pass before requesting review:
|
|
68
|
-
```bash
|
|
69
|
-
bun run lint && bunx tsc --noEmit && bun run test:run && bun run build
|
|
70
|
-
```
|
|
71
|
-
3. Include a clear description of what the PR does and why.
|
|
72
|
-
4. Add tests for new functionality when applicable.
|
|
73
|
-
|
|
74
|
-
## Reporting Issues
|
|
75
|
-
|
|
76
|
-
Found a bug or have a feature idea? [Open an issue](https://github.com/exosphereHost/failproofai/issues). The issue templates will guide you through providing the right details.
|
package/.next/standalone/LICENSE
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2025 ExosphereHost Inc
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
22
|
-
|
|
23
|
-
Commons Clause License Condition v1.0
|
|
24
|
-
|
|
25
|
-
The Software is provided to you by the Licensor under the License, as defined
|
|
26
|
-
below, subject to the following condition.
|
|
27
|
-
|
|
28
|
-
Without limiting other conditions in the License, the grant of rights under
|
|
29
|
-
the License will not include, and the License does not grant to you, the right
|
|
30
|
-
to Sell the Software.
|
|
31
|
-
|
|
32
|
-
For purposes of the foregoing, "Sell" means practicing any or all of the
|
|
33
|
-
rights granted to you under the License to provide to third parties, for a
|
|
34
|
-
fee or other consideration (including without limitation fees for hosting or
|
|
35
|
-
consulting/support services related to the Software), a product or service
|
|
36
|
-
whose value derives, entirely or substantially, from the functionality of the
|
|
37
|
-
Software. Any license notice or attribution required by the License must also
|
|
38
|
-
include this Commons Clause License Condition notice.
|
|
39
|
-
|
|
40
|
-
Software: failproofai
|
|
41
|
-
License: MIT
|
|
42
|
-
Licensor: ExosphereHost Inc
|