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.
Files changed (511) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +3 -3
  3. package/.next/standalone/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/required-server-files.json +7 -1
  5. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  6. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  7. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
  10. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  11. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  12. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  13. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  14. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  16. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  19. package/.next/standalone/.next/server/app/_not-found.rsc +17 -17
  20. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +17 -17
  21. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  22. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
  23. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  24. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  25. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  26. package/.next/standalone/.next/server/app/index.html +1 -1
  27. package/.next/standalone/.next/server/app/index.rsc +16 -16
  28. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  29. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +16 -16
  30. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  31. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +11 -11
  32. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  33. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  34. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
  37. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  40. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  43. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  44. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  47. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +1 -1
  50. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
  51. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
  52. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
  53. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
  54. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
  55. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
  56. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0i5kvry._.js → [root-of-the-server]__0om-5pe._.js} +2 -2
  57. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +2 -2
  58. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__05akje6._.js → [root-of-the-server]__111.vxi._.js} +2 -2
  59. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
  60. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
  61. package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
  62. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
  63. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
  64. package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.js +1 -1
  65. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  66. package/.next/standalone/.next/server/pages/404.html +2 -2
  67. package/.next/standalone/.next/server/pages/500.html +1 -1
  68. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
  70. package/.next/standalone/.next/static/chunks/{05j1px0r8yzh6.js → 02dqjyv6_9mhq.js} +2 -2
  71. package/.next/standalone/.next/static/chunks/{14cl9poem30dq.js → 070orfsl6.xal.js} +1 -1
  72. package/.next/standalone/.next/static/chunks/0mir9jdxn35~s.css +1 -0
  73. package/.next/standalone/.next/static/chunks/{00j0rr7rh8ef8.js → 0o547jv-k_k35.js} +1 -1
  74. package/.next/standalone/.next/static/chunks/{0ijk_kek9_wyx.js → 0pk2h2.mjxy.m.js} +1 -1
  75. package/.next/standalone/.next/static/chunks/{0xpl.oscrakvx.js → 0rcwkbh24w38b.js} +1 -1
  76. package/.next/standalone/.next/static/chunks/{1052sguyd-.ka.js → 140xx_tfr~lm_.js} +1 -1
  77. package/.next/standalone/.next/static/chunks/{0npb~873.wvg3.js → 169_e4dq~1~b6.js} +1 -1
  78. package/.next/standalone/.next/static/chunks/{0badv41uxa56..js → 17ne4p.1sw1jy.js} +1 -1
  79. package/.next/standalone/next.config.ts +6 -0
  80. package/.next/standalone/package.json +2 -2
  81. package/.next/standalone/server.js +1 -1
  82. package/bin/failproofai.mjs +91 -4
  83. package/dist/cli.mjs +1155 -54
  84. package/package.json +2 -2
  85. package/scripts/prune-standalone.mjs +128 -0
  86. package/src/auth/login.ts +104 -0
  87. package/src/auth/logout.ts +50 -0
  88. package/src/auth/token-store.ts +64 -0
  89. package/src/hooks/builtin-policies.ts +22 -20
  90. package/src/hooks/handler.ts +35 -15
  91. package/src/relay/daemon.ts +362 -0
  92. package/src/relay/pid.ts +76 -0
  93. package/src/relay/queue.ts +225 -0
  94. package/.next/standalone/.claude/settings.json +0 -316
  95. package/.next/standalone/.failproofai/policies/review-policies.mjs +0 -113
  96. package/.next/standalone/.failproofai/policies/workflow-policies.mjs +0 -63
  97. package/.next/standalone/.failproofai/policies-config.json +0 -39
  98. package/.next/standalone/.next/static/chunks/0gu_a.a80ritd.css +0 -1
  99. package/.next/standalone/AGENTS.md +0 -80
  100. package/.next/standalone/CHANGELOG.md +0 -151
  101. package/.next/standalone/CLAUDE.md +0 -165
  102. package/.next/standalone/CONTRIBUTING.md +0 -76
  103. package/.next/standalone/Dockerfile.docs +0 -12
  104. package/.next/standalone/LICENSE +0 -42
  105. package/.next/standalone/README.md +0 -301
  106. package/.next/standalone/bin/failproofai.mjs +0 -352
  107. package/.next/standalone/bun.lock +0 -1119
  108. package/.next/standalone/components.json +0 -23
  109. package/.next/standalone/dist/cli.mjs +0 -3595
  110. package/.next/standalone/dist/index.js +0 -80
  111. package/.next/standalone/docs/ar/architecture.mdx +0 -334
  112. package/.next/standalone/docs/ar/built-in-policies.mdx +0 -574
  113. package/.next/standalone/docs/ar/cli/dashboard.mdx +0 -28
  114. package/.next/standalone/docs/ar/cli/environment-variables.mdx +0 -34
  115. package/.next/standalone/docs/ar/cli/hook.mdx +0 -31
  116. package/.next/standalone/docs/ar/cli/install-policies.mdx +0 -48
  117. package/.next/standalone/docs/ar/cli/list-policies.mdx +0 -31
  118. package/.next/standalone/docs/ar/cli/remove-policies.mdx +0 -43
  119. package/.next/standalone/docs/ar/cli/version.mdx +0 -13
  120. package/.next/standalone/docs/ar/configuration.mdx +0 -223
  121. package/.next/standalone/docs/ar/custom-policies.mdx +0 -354
  122. package/.next/standalone/docs/ar/dashboard.mdx +0 -142
  123. package/.next/standalone/docs/ar/examples.mdx +0 -307
  124. package/.next/standalone/docs/ar/for-agents.mdx +0 -39
  125. package/.next/standalone/docs/ar/getting-started.mdx +0 -187
  126. package/.next/standalone/docs/ar/introduction.mdx +0 -58
  127. package/.next/standalone/docs/ar/package-aliases.mdx +0 -82
  128. package/.next/standalone/docs/ar/testing.mdx +0 -261
  129. package/.next/standalone/docs/architecture.mdx +0 -332
  130. package/.next/standalone/docs/built-in-policies.mdx +0 -574
  131. package/.next/standalone/docs/cli/dashboard.mdx +0 -28
  132. package/.next/standalone/docs/cli/environment-variables.mdx +0 -34
  133. package/.next/standalone/docs/cli/hook.mdx +0 -30
  134. package/.next/standalone/docs/cli/install-policies.mdx +0 -47
  135. package/.next/standalone/docs/cli/list-policies.mdx +0 -31
  136. package/.next/standalone/docs/cli/remove-policies.mdx +0 -43
  137. package/.next/standalone/docs/cli/version.mdx +0 -12
  138. package/.next/standalone/docs/configuration.mdx +0 -222
  139. package/.next/standalone/docs/custom-policies.mdx +0 -353
  140. package/.next/standalone/docs/dashboard.mdx +0 -142
  141. package/.next/standalone/docs/de/architecture.mdx +0 -332
  142. package/.next/standalone/docs/de/built-in-policies.mdx +0 -574
  143. package/.next/standalone/docs/de/cli/dashboard.mdx +0 -28
  144. package/.next/standalone/docs/de/cli/environment-variables.mdx +0 -34
  145. package/.next/standalone/docs/de/cli/hook.mdx +0 -30
  146. package/.next/standalone/docs/de/cli/install-policies.mdx +0 -47
  147. package/.next/standalone/docs/de/cli/list-policies.mdx +0 -31
  148. package/.next/standalone/docs/de/cli/remove-policies.mdx +0 -43
  149. package/.next/standalone/docs/de/cli/version.mdx +0 -12
  150. package/.next/standalone/docs/de/configuration.mdx +0 -222
  151. package/.next/standalone/docs/de/custom-policies.mdx +0 -353
  152. package/.next/standalone/docs/de/dashboard.mdx +0 -142
  153. package/.next/standalone/docs/de/examples.mdx +0 -307
  154. package/.next/standalone/docs/de/for-agents.mdx +0 -38
  155. package/.next/standalone/docs/de/getting-started.mdx +0 -186
  156. package/.next/standalone/docs/de/introduction.mdx +0 -57
  157. package/.next/standalone/docs/de/package-aliases.mdx +0 -82
  158. package/.next/standalone/docs/de/testing.mdx +0 -260
  159. package/.next/standalone/docs/docs.json +0 -1002
  160. package/.next/standalone/docs/es/architecture.mdx +0 -332
  161. package/.next/standalone/docs/es/built-in-policies.mdx +0 -574
  162. package/.next/standalone/docs/es/cli/dashboard.mdx +0 -28
  163. package/.next/standalone/docs/es/cli/environment-variables.mdx +0 -34
  164. package/.next/standalone/docs/es/cli/hook.mdx +0 -30
  165. package/.next/standalone/docs/es/cli/install-policies.mdx +0 -47
  166. package/.next/standalone/docs/es/cli/list-policies.mdx +0 -31
  167. package/.next/standalone/docs/es/cli/remove-policies.mdx +0 -43
  168. package/.next/standalone/docs/es/cli/version.mdx +0 -12
  169. package/.next/standalone/docs/es/configuration.mdx +0 -222
  170. package/.next/standalone/docs/es/custom-policies.mdx +0 -353
  171. package/.next/standalone/docs/es/dashboard.mdx +0 -142
  172. package/.next/standalone/docs/es/examples.mdx +0 -307
  173. package/.next/standalone/docs/es/for-agents.mdx +0 -38
  174. package/.next/standalone/docs/es/getting-started.mdx +0 -186
  175. package/.next/standalone/docs/es/introduction.mdx +0 -57
  176. package/.next/standalone/docs/es/package-aliases.mdx +0 -82
  177. package/.next/standalone/docs/es/testing.mdx +0 -260
  178. package/.next/standalone/docs/examples.mdx +0 -307
  179. package/.next/standalone/docs/favicon.ico +0 -0
  180. package/.next/standalone/docs/for-agents.mdx +0 -38
  181. package/.next/standalone/docs/fr/architecture.mdx +0 -332
  182. package/.next/standalone/docs/fr/built-in-policies.mdx +0 -574
  183. package/.next/standalone/docs/fr/cli/dashboard.mdx +0 -28
  184. package/.next/standalone/docs/fr/cli/environment-variables.mdx +0 -34
  185. package/.next/standalone/docs/fr/cli/hook.mdx +0 -30
  186. package/.next/standalone/docs/fr/cli/install-policies.mdx +0 -47
  187. package/.next/standalone/docs/fr/cli/list-policies.mdx +0 -31
  188. package/.next/standalone/docs/fr/cli/remove-policies.mdx +0 -43
  189. package/.next/standalone/docs/fr/cli/version.mdx +0 -12
  190. package/.next/standalone/docs/fr/configuration.mdx +0 -222
  191. package/.next/standalone/docs/fr/custom-policies.mdx +0 -353
  192. package/.next/standalone/docs/fr/dashboard.mdx +0 -142
  193. package/.next/standalone/docs/fr/examples.mdx +0 -307
  194. package/.next/standalone/docs/fr/for-agents.mdx +0 -38
  195. package/.next/standalone/docs/fr/getting-started.mdx +0 -186
  196. package/.next/standalone/docs/fr/introduction.mdx +0 -57
  197. package/.next/standalone/docs/fr/package-aliases.mdx +0 -82
  198. package/.next/standalone/docs/fr/testing.mdx +0 -260
  199. package/.next/standalone/docs/getting-started.mdx +0 -186
  200. package/.next/standalone/docs/he/architecture.mdx +0 -333
  201. package/.next/standalone/docs/he/built-in-policies.mdx +0 -574
  202. package/.next/standalone/docs/he/cli/dashboard.mdx +0 -28
  203. package/.next/standalone/docs/he/cli/environment-variables.mdx +0 -34
  204. package/.next/standalone/docs/he/cli/hook.mdx +0 -30
  205. package/.next/standalone/docs/he/cli/install-policies.mdx +0 -47
  206. package/.next/standalone/docs/he/cli/list-policies.mdx +0 -32
  207. package/.next/standalone/docs/he/cli/remove-policies.mdx +0 -43
  208. package/.next/standalone/docs/he/cli/version.mdx +0 -12
  209. package/.next/standalone/docs/he/configuration.mdx +0 -223
  210. package/.next/standalone/docs/he/custom-policies.mdx +0 -353
  211. package/.next/standalone/docs/he/dashboard.mdx +0 -142
  212. package/.next/standalone/docs/he/examples.mdx +0 -307
  213. package/.next/standalone/docs/he/for-agents.mdx +0 -38
  214. package/.next/standalone/docs/he/getting-started.mdx +0 -186
  215. package/.next/standalone/docs/he/introduction.mdx +0 -57
  216. package/.next/standalone/docs/he/package-aliases.mdx +0 -82
  217. package/.next/standalone/docs/he/testing.mdx +0 -260
  218. package/.next/standalone/docs/hi/architecture.mdx +0 -334
  219. package/.next/standalone/docs/hi/built-in-policies.mdx +0 -576
  220. package/.next/standalone/docs/hi/cli/dashboard.mdx +0 -28
  221. package/.next/standalone/docs/hi/cli/environment-variables.mdx +0 -34
  222. package/.next/standalone/docs/hi/cli/hook.mdx +0 -30
  223. package/.next/standalone/docs/hi/cli/install-policies.mdx +0 -47
  224. package/.next/standalone/docs/hi/cli/list-policies.mdx +0 -31
  225. package/.next/standalone/docs/hi/cli/remove-policies.mdx +0 -43
  226. package/.next/standalone/docs/hi/cli/version.mdx +0 -12
  227. package/.next/standalone/docs/hi/configuration.mdx +0 -222
  228. package/.next/standalone/docs/hi/custom-policies.mdx +0 -354
  229. package/.next/standalone/docs/hi/dashboard.mdx +0 -142
  230. package/.next/standalone/docs/hi/examples.mdx +0 -309
  231. package/.next/standalone/docs/hi/for-agents.mdx +0 -38
  232. package/.next/standalone/docs/hi/getting-started.mdx +0 -187
  233. package/.next/standalone/docs/hi/introduction.mdx +0 -57
  234. package/.next/standalone/docs/hi/package-aliases.mdx +0 -82
  235. package/.next/standalone/docs/hi/testing.mdx +0 -260
  236. package/.next/standalone/docs/i18n/README.ar.md +0 -312
  237. package/.next/standalone/docs/i18n/README.de.md +0 -307
  238. package/.next/standalone/docs/i18n/README.es.md +0 -307
  239. package/.next/standalone/docs/i18n/README.fr.md +0 -307
  240. package/.next/standalone/docs/i18n/README.he.md +0 -312
  241. package/.next/standalone/docs/i18n/README.hi.md +0 -307
  242. package/.next/standalone/docs/i18n/README.it.md +0 -307
  243. package/.next/standalone/docs/i18n/README.ja.md +0 -307
  244. package/.next/standalone/docs/i18n/README.ko.md +0 -307
  245. package/.next/standalone/docs/i18n/README.pt-br.md +0 -307
  246. package/.next/standalone/docs/i18n/README.ru.md +0 -308
  247. package/.next/standalone/docs/i18n/README.tr.md +0 -307
  248. package/.next/standalone/docs/i18n/README.vi.md +0 -307
  249. package/.next/standalone/docs/i18n/README.zh.md +0 -307
  250. package/.next/standalone/docs/introduction.mdx +0 -57
  251. package/.next/standalone/docs/it/architecture.mdx +0 -334
  252. package/.next/standalone/docs/it/built-in-policies.mdx +0 -574
  253. package/.next/standalone/docs/it/cli/dashboard.mdx +0 -28
  254. package/.next/standalone/docs/it/cli/environment-variables.mdx +0 -34
  255. package/.next/standalone/docs/it/cli/hook.mdx +0 -30
  256. package/.next/standalone/docs/it/cli/install-policies.mdx +0 -47
  257. package/.next/standalone/docs/it/cli/list-policies.mdx +0 -31
  258. package/.next/standalone/docs/it/cli/remove-policies.mdx +0 -43
  259. package/.next/standalone/docs/it/cli/version.mdx +0 -12
  260. package/.next/standalone/docs/it/configuration.mdx +0 -222
  261. package/.next/standalone/docs/it/custom-policies.mdx +0 -353
  262. package/.next/standalone/docs/it/dashboard.mdx +0 -142
  263. package/.next/standalone/docs/it/examples.mdx +0 -307
  264. package/.next/standalone/docs/it/for-agents.mdx +0 -38
  265. package/.next/standalone/docs/it/getting-started.mdx +0 -186
  266. package/.next/standalone/docs/it/introduction.mdx +0 -57
  267. package/.next/standalone/docs/it/package-aliases.mdx +0 -82
  268. package/.next/standalone/docs/it/testing.mdx +0 -260
  269. package/.next/standalone/docs/ja/architecture.mdx +0 -332
  270. package/.next/standalone/docs/ja/built-in-policies.mdx +0 -572
  271. package/.next/standalone/docs/ja/cli/dashboard.mdx +0 -28
  272. package/.next/standalone/docs/ja/cli/environment-variables.mdx +0 -34
  273. package/.next/standalone/docs/ja/cli/hook.mdx +0 -30
  274. package/.next/standalone/docs/ja/cli/install-policies.mdx +0 -47
  275. package/.next/standalone/docs/ja/cli/list-policies.mdx +0 -31
  276. package/.next/standalone/docs/ja/cli/remove-policies.mdx +0 -43
  277. package/.next/standalone/docs/ja/cli/version.mdx +0 -12
  278. package/.next/standalone/docs/ja/configuration.mdx +0 -222
  279. package/.next/standalone/docs/ja/custom-policies.mdx +0 -353
  280. package/.next/standalone/docs/ja/dashboard.mdx +0 -142
  281. package/.next/standalone/docs/ja/examples.mdx +0 -307
  282. package/.next/standalone/docs/ja/for-agents.mdx +0 -38
  283. package/.next/standalone/docs/ja/getting-started.mdx +0 -186
  284. package/.next/standalone/docs/ja/introduction.mdx +0 -57
  285. package/.next/standalone/docs/ja/package-aliases.mdx +0 -82
  286. package/.next/standalone/docs/ja/testing.mdx +0 -260
  287. package/.next/standalone/docs/ko/architecture.mdx +0 -332
  288. package/.next/standalone/docs/ko/built-in-policies.mdx +0 -572
  289. package/.next/standalone/docs/ko/cli/dashboard.mdx +0 -28
  290. package/.next/standalone/docs/ko/cli/environment-variables.mdx +0 -34
  291. package/.next/standalone/docs/ko/cli/hook.mdx +0 -30
  292. package/.next/standalone/docs/ko/cli/install-policies.mdx +0 -47
  293. package/.next/standalone/docs/ko/cli/list-policies.mdx +0 -31
  294. package/.next/standalone/docs/ko/cli/remove-policies.mdx +0 -43
  295. package/.next/standalone/docs/ko/cli/version.mdx +0 -12
  296. package/.next/standalone/docs/ko/configuration.mdx +0 -222
  297. package/.next/standalone/docs/ko/custom-policies.mdx +0 -353
  298. package/.next/standalone/docs/ko/dashboard.mdx +0 -142
  299. package/.next/standalone/docs/ko/examples.mdx +0 -307
  300. package/.next/standalone/docs/ko/for-agents.mdx +0 -38
  301. package/.next/standalone/docs/ko/getting-started.mdx +0 -186
  302. package/.next/standalone/docs/ko/introduction.mdx +0 -57
  303. package/.next/standalone/docs/ko/package-aliases.mdx +0 -82
  304. package/.next/standalone/docs/ko/testing.mdx +0 -260
  305. package/.next/standalone/docs/logo/dark.svg +0 -21
  306. package/.next/standalone/docs/logo/exosphere-dark.png +0 -0
  307. package/.next/standalone/docs/logo/exosphere-light.png +0 -0
  308. package/.next/standalone/docs/logo/light.svg +0 -21
  309. package/.next/standalone/docs/package-aliases.mdx +0 -82
  310. package/.next/standalone/docs/pt-br/architecture.mdx +0 -332
  311. package/.next/standalone/docs/pt-br/built-in-policies.mdx +0 -574
  312. package/.next/standalone/docs/pt-br/cli/dashboard.mdx +0 -28
  313. package/.next/standalone/docs/pt-br/cli/environment-variables.mdx +0 -34
  314. package/.next/standalone/docs/pt-br/cli/hook.mdx +0 -30
  315. package/.next/standalone/docs/pt-br/cli/install-policies.mdx +0 -47
  316. package/.next/standalone/docs/pt-br/cli/list-policies.mdx +0 -31
  317. package/.next/standalone/docs/pt-br/cli/remove-policies.mdx +0 -43
  318. package/.next/standalone/docs/pt-br/cli/version.mdx +0 -12
  319. package/.next/standalone/docs/pt-br/configuration.mdx +0 -222
  320. package/.next/standalone/docs/pt-br/custom-policies.mdx +0 -353
  321. package/.next/standalone/docs/pt-br/dashboard.mdx +0 -142
  322. package/.next/standalone/docs/pt-br/examples.mdx +0 -307
  323. package/.next/standalone/docs/pt-br/for-agents.mdx +0 -38
  324. package/.next/standalone/docs/pt-br/getting-started.mdx +0 -186
  325. package/.next/standalone/docs/pt-br/introduction.mdx +0 -57
  326. package/.next/standalone/docs/pt-br/package-aliases.mdx +0 -82
  327. package/.next/standalone/docs/pt-br/testing.mdx +0 -260
  328. package/.next/standalone/docs/ru/architecture.mdx +0 -333
  329. package/.next/standalone/docs/ru/built-in-policies.mdx +0 -574
  330. package/.next/standalone/docs/ru/cli/dashboard.mdx +0 -28
  331. package/.next/standalone/docs/ru/cli/environment-variables.mdx +0 -34
  332. package/.next/standalone/docs/ru/cli/hook.mdx +0 -30
  333. package/.next/standalone/docs/ru/cli/install-policies.mdx +0 -48
  334. package/.next/standalone/docs/ru/cli/list-policies.mdx +0 -32
  335. package/.next/standalone/docs/ru/cli/remove-policies.mdx +0 -43
  336. package/.next/standalone/docs/ru/cli/version.mdx +0 -12
  337. package/.next/standalone/docs/ru/configuration.mdx +0 -222
  338. package/.next/standalone/docs/ru/custom-policies.mdx +0 -354
  339. package/.next/standalone/docs/ru/dashboard.mdx +0 -142
  340. package/.next/standalone/docs/ru/examples.mdx +0 -309
  341. package/.next/standalone/docs/ru/for-agents.mdx +0 -38
  342. package/.next/standalone/docs/ru/getting-started.mdx +0 -186
  343. package/.next/standalone/docs/ru/introduction.mdx +0 -57
  344. package/.next/standalone/docs/ru/package-aliases.mdx +0 -82
  345. package/.next/standalone/docs/ru/testing.mdx +0 -260
  346. package/.next/standalone/docs/testing.mdx +0 -260
  347. package/.next/standalone/docs/tr/architecture.mdx +0 -333
  348. package/.next/standalone/docs/tr/built-in-policies.mdx +0 -574
  349. package/.next/standalone/docs/tr/cli/dashboard.mdx +0 -28
  350. package/.next/standalone/docs/tr/cli/environment-variables.mdx +0 -34
  351. package/.next/standalone/docs/tr/cli/hook.mdx +0 -30
  352. package/.next/standalone/docs/tr/cli/install-policies.mdx +0 -47
  353. package/.next/standalone/docs/tr/cli/list-policies.mdx +0 -31
  354. package/.next/standalone/docs/tr/cli/remove-policies.mdx +0 -44
  355. package/.next/standalone/docs/tr/cli/version.mdx +0 -12
  356. package/.next/standalone/docs/tr/configuration.mdx +0 -222
  357. package/.next/standalone/docs/tr/custom-policies.mdx +0 -353
  358. package/.next/standalone/docs/tr/dashboard.mdx +0 -142
  359. package/.next/standalone/docs/tr/examples.mdx +0 -308
  360. package/.next/standalone/docs/tr/for-agents.mdx +0 -38
  361. package/.next/standalone/docs/tr/getting-started.mdx +0 -186
  362. package/.next/standalone/docs/tr/introduction.mdx +0 -57
  363. package/.next/standalone/docs/tr/package-aliases.mdx +0 -82
  364. package/.next/standalone/docs/tr/testing.mdx +0 -260
  365. package/.next/standalone/docs/vi/architecture.mdx +0 -334
  366. package/.next/standalone/docs/vi/built-in-policies.mdx +0 -575
  367. package/.next/standalone/docs/vi/cli/dashboard.mdx +0 -28
  368. package/.next/standalone/docs/vi/cli/environment-variables.mdx +0 -34
  369. package/.next/standalone/docs/vi/cli/hook.mdx +0 -30
  370. package/.next/standalone/docs/vi/cli/install-policies.mdx +0 -47
  371. package/.next/standalone/docs/vi/cli/list-policies.mdx +0 -31
  372. package/.next/standalone/docs/vi/cli/remove-policies.mdx +0 -43
  373. package/.next/standalone/docs/vi/cli/version.mdx +0 -13
  374. package/.next/standalone/docs/vi/configuration.mdx +0 -222
  375. package/.next/standalone/docs/vi/custom-policies.mdx +0 -353
  376. package/.next/standalone/docs/vi/dashboard.mdx +0 -142
  377. package/.next/standalone/docs/vi/examples.mdx +0 -308
  378. package/.next/standalone/docs/vi/for-agents.mdx +0 -38
  379. package/.next/standalone/docs/vi/getting-started.mdx +0 -186
  380. package/.next/standalone/docs/vi/introduction.mdx +0 -57
  381. package/.next/standalone/docs/vi/package-aliases.mdx +0 -82
  382. package/.next/standalone/docs/vi/testing.mdx +0 -260
  383. package/.next/standalone/docs/zh/architecture.mdx +0 -332
  384. package/.next/standalone/docs/zh/built-in-policies.mdx +0 -572
  385. package/.next/standalone/docs/zh/cli/dashboard.mdx +0 -28
  386. package/.next/standalone/docs/zh/cli/environment-variables.mdx +0 -34
  387. package/.next/standalone/docs/zh/cli/hook.mdx +0 -30
  388. package/.next/standalone/docs/zh/cli/install-policies.mdx +0 -47
  389. package/.next/standalone/docs/zh/cli/list-policies.mdx +0 -31
  390. package/.next/standalone/docs/zh/cli/remove-policies.mdx +0 -43
  391. package/.next/standalone/docs/zh/cli/version.mdx +0 -12
  392. package/.next/standalone/docs/zh/configuration.mdx +0 -222
  393. package/.next/standalone/docs/zh/custom-policies.mdx +0 -353
  394. package/.next/standalone/docs/zh/dashboard.mdx +0 -142
  395. package/.next/standalone/docs/zh/examples.mdx +0 -307
  396. package/.next/standalone/docs/zh/for-agents.mdx +0 -38
  397. package/.next/standalone/docs/zh/getting-started.mdx +0 -186
  398. package/.next/standalone/docs/zh/introduction.mdx +0 -57
  399. package/.next/standalone/docs/zh/package-aliases.mdx +0 -82
  400. package/.next/standalone/docs/zh/testing.mdx +0 -260
  401. package/.next/standalone/eslint.config.mjs +0 -15
  402. package/.next/standalone/examples/convention-policies/security-policies.mjs +0 -40
  403. package/.next/standalone/examples/convention-policies/workflow-policies.mjs +0 -41
  404. package/.next/standalone/examples/policies-advanced/index.js +0 -103
  405. package/.next/standalone/examples/policies-advanced/utils.js +0 -35
  406. package/.next/standalone/examples/policies-basic.js +0 -77
  407. package/.next/standalone/examples/policies-notification.js +0 -104
  408. package/.next/standalone/node_modules/@img/colour/color.cjs +0 -1594
  409. package/.next/standalone/node_modules/@img/colour/index.cjs +0 -1
  410. package/.next/standalone/node_modules/@img/colour/package.json +0 -45
  411. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/README.md +0 -46
  412. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/glib-2.0/include/glibconfig.h +0 -221
  413. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/index.js +0 -1
  414. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  415. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/package.json +0 -42
  416. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/versions.json +0 -30
  417. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +0 -46
  418. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +0 -221
  419. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +0 -1
  420. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  421. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +0 -42
  422. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +0 -30
  423. package/.next/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  424. package/.next/standalone/node_modules/@img/sharp-linux-x64/package.json +0 -46
  425. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  426. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +0 -46
  427. package/.next/standalone/node_modules/detect-libc/lib/detect-libc.js +0 -313
  428. package/.next/standalone/node_modules/detect-libc/lib/elf.js +0 -39
  429. package/.next/standalone/node_modules/detect-libc/lib/filesystem.js +0 -51
  430. package/.next/standalone/node_modules/detect-libc/lib/process.js +0 -24
  431. package/.next/standalone/node_modules/detect-libc/package.json +0 -44
  432. package/.next/standalone/node_modules/sharp/lib/channel.js +0 -177
  433. package/.next/standalone/node_modules/sharp/lib/colour.js +0 -195
  434. package/.next/standalone/node_modules/sharp/lib/composite.js +0 -212
  435. package/.next/standalone/node_modules/sharp/lib/constructor.js +0 -499
  436. package/.next/standalone/node_modules/sharp/lib/index.js +0 -16
  437. package/.next/standalone/node_modules/sharp/lib/input.js +0 -809
  438. package/.next/standalone/node_modules/sharp/lib/is.js +0 -143
  439. package/.next/standalone/node_modules/sharp/lib/libvips.js +0 -207
  440. package/.next/standalone/node_modules/sharp/lib/operation.js +0 -1016
  441. package/.next/standalone/node_modules/sharp/lib/output.js +0 -1666
  442. package/.next/standalone/node_modules/sharp/lib/resize.js +0 -595
  443. package/.next/standalone/node_modules/sharp/lib/sharp.js +0 -121
  444. package/.next/standalone/node_modules/sharp/lib/utility.js +0 -291
  445. package/.next/standalone/node_modules/sharp/node_modules/semver/classes/comparator.js +0 -143
  446. package/.next/standalone/node_modules/sharp/node_modules/semver/classes/range.js +0 -557
  447. package/.next/standalone/node_modules/sharp/node_modules/semver/classes/semver.js +0 -333
  448. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/cmp.js +0 -54
  449. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/coerce.js +0 -62
  450. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/compare.js +0 -7
  451. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/eq.js +0 -5
  452. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/gt.js +0 -5
  453. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/gte.js +0 -5
  454. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/lt.js +0 -5
  455. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/lte.js +0 -5
  456. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/neq.js +0 -5
  457. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/parse.js +0 -18
  458. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/satisfies.js +0 -12
  459. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/constants.js +0 -37
  460. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/debug.js +0 -11
  461. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/identifiers.js +0 -29
  462. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/lrucache.js +0 -42
  463. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/parse-options.js +0 -17
  464. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/re.js +0 -223
  465. package/.next/standalone/node_modules/sharp/node_modules/semver/package.json +0 -78
  466. package/.next/standalone/node_modules/sharp/package.json +0 -202
  467. package/.next/standalone/scripts/alias-proxy.js +0 -18
  468. package/.next/standalone/scripts/dev.ts +0 -3
  469. package/.next/standalone/scripts/install-telemetry.mjs +0 -108
  470. package/.next/standalone/scripts/launch.ts +0 -83
  471. package/.next/standalone/scripts/parse-script-args.ts +0 -87
  472. package/.next/standalone/scripts/postinstall.mjs +0 -121
  473. package/.next/standalone/scripts/preuninstall.mjs +0 -131
  474. package/.next/standalone/scripts/publish-aliases.mjs +0 -87
  475. package/.next/standalone/scripts/start.ts +0 -3
  476. package/.next/standalone/scripts/sync-hook-events-prompt.md +0 -60
  477. package/.next/standalone/scripts/translate-docs/cache.ts +0 -62
  478. package/.next/standalone/scripts/translate-docs/cli.ts +0 -357
  479. package/.next/standalone/scripts/translate-docs/config.ts +0 -248
  480. package/.next/standalone/scripts/translate-docs/mdx-translator.ts +0 -153
  481. package/.next/standalone/scripts/translate-docs/mintlify-nav.ts +0 -107
  482. package/.next/standalone/scripts/translate-docs/readme-translator.ts +0 -154
  483. package/.next/standalone/scripts/translate-docs/translator.ts +0 -68
  484. package/.next/standalone/scripts/translate-docs/types.ts +0 -43
  485. package/.next/standalone/src/cli-error.ts +0 -18
  486. package/.next/standalone/src/hooks/builtin-policies.ts +0 -1613
  487. package/.next/standalone/src/hooks/custom-hooks-loader.ts +0 -205
  488. package/.next/standalone/src/hooks/custom-hooks-registry.ts +0 -30
  489. package/.next/standalone/src/hooks/handler.ts +0 -202
  490. package/.next/standalone/src/hooks/hook-activity-store.ts +0 -349
  491. package/.next/standalone/src/hooks/hook-logger.ts +0 -133
  492. package/.next/standalone/src/hooks/hook-telemetry.ts +0 -43
  493. package/.next/standalone/src/hooks/hooks-config.ts +0 -166
  494. package/.next/standalone/src/hooks/install-prompt.ts +0 -357
  495. package/.next/standalone/src/hooks/llm-client.ts +0 -90
  496. package/.next/standalone/src/hooks/loader-utils.ts +0 -178
  497. package/.next/standalone/src/hooks/manager.ts +0 -692
  498. package/.next/standalone/src/hooks/policy-evaluator.ts +0 -224
  499. package/.next/standalone/src/hooks/policy-helpers.ts +0 -16
  500. package/.next/standalone/src/hooks/policy-registry.ts +0 -90
  501. package/.next/standalone/src/hooks/policy-types.ts +0 -77
  502. package/.next/standalone/src/hooks/types.ts +0 -63
  503. package/.next/standalone/src/index.ts +0 -19
  504. package/.next/standalone/src/posthog-key.ts +0 -5
  505. package/.next/standalone/tailwind.config.ts +0 -11
  506. package/.next/standalone/tsconfig.json +0 -42
  507. package/.next/standalone/vitest.config.e2e.mts +0 -24
  508. package/.next/standalone/vitest.config.mts +0 -23
  509. /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → wOkJXoch1UmRAmyIuKZWc}/_buildManifest.js +0 -0
  510. /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → wOkJXoch1UmRAmyIuKZWc}/_clientMiddlewareManifest.js +0 -0
  511. /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.
@@ -1,12 +0,0 @@
1
- FROM node:22-slim
2
-
3
- RUN npm install -g mintlify
4
-
5
- RUN useradd --create-home --uid 10001 docsuser
6
- WORKDIR /app/docs
7
- COPY --chown=docsuser:docsuser docs/ ./
8
-
9
- USER docsuser
10
- EXPOSE 3000
11
-
12
- CMD ["mintlify", "dev", "--host", "0.0.0.0"]
@@ -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