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,353 +0,0 @@
1
- ---
2
- title: מדיניויות מותאמות אישית
3
- description: "כתוב כללים משלך ב-JavaScript - אכוף קונבנציות, מנע סטיות, גלה כשלים, שלב עם מערכות חיצוניות"
4
- icon: code
5
- ---
6
-
7
- מדיניויות מותאמות אישית מאפשרות לך לכתוב כללים לכל התנהגות של סוכן: אכוף קונבנציות פרויקט, מנע סטיות, חסום פעולות הרסניות, גלה סוכנים תקועים, או שלב עם Slack, זרימות אישור ועוד. הם משתמשים באותה מערכת אירועי hook וקבלות החלטות `allow`, `deny`, `instruct` כמו מדיניויות מובנות.
8
-
9
- ---
10
-
11
- ## דוגמה מהירה
12
-
13
- ```js
14
- // my-policies.js
15
- import { customPolicies, allow, deny, instruct } from "failproofai";
16
-
17
- customPolicies.add({
18
- name: "no-production-writes",
19
- description: "Block writes to paths containing 'production'",
20
- match: { events: ["PreToolUse"] },
21
- fn: async (ctx) => {
22
- if (ctx.toolName !== "Write" && ctx.toolName !== "Edit") return allow();
23
- const path = ctx.toolInput?.file_path ?? "";
24
- if (path.includes("production")) {
25
- return deny("Writes to production paths are blocked");
26
- }
27
- return allow();
28
- },
29
- });
30
- ```
31
-
32
- התקן אותה:
33
-
34
- ```bash
35
- failproofai policies --install --custom ./my-policies.js
36
- ```
37
-
38
- ---
39
-
40
- ## שתי דרכים לטעון מדיניויות מותאמות אישית
41
-
42
- ### אפשרות 1: מבוססת קונבנציה (מומלץ)
43
-
44
- שם קבצי `*policies.{js,mjs,ts}` ב-`.failproofai/policies/` והם נטענים באופן אוטומטי — אין צורך בדגלים או שינויי תצורה. זה פועל כמו git hooks: שם קובץ, זה פשוט עובד.
45
-
46
- ```
47
- # ברמת פרויקט — מחויב ב-git, משותף עם הצוות
48
- .failproofai/policies/security-policies.mjs
49
- .failproofai/policies/workflow-policies.mjs
50
-
51
- # ברמת משתמש — אישי, חל על כל הפרויקטים
52
- ~/.failproofai/policies/my-policies.mjs
53
- ```
54
-
55
- **איך זה עובד:**
56
- - שני הספריות של פרויקט ומשתמש סורקות (איחוד — לא first-scope-wins)
57
- - קבצים נטענים באופן אלפביתי בכל ספרייה. הוסף קידומת עם `01-`, `02-` כדי לשלוט בסדר
58
- - רק קבצים התואמים `*policies.{js,mjs,ts}` נטענים; קבצים אחרים מתעלמים
59
- - כל קובץ נטען בנפרד (fail-open לכל קובץ)
60
- - עובד לצד `--custom` מפורש ומדיניויות מובנות
61
-
62
- <Tip>
63
- מדיניויות קונבנציה הן הדרך הקלה ביותר לבנות תקן איכות עבור הארגון שלך. קבע `.failproofai/policies/` ל-git וכל חברי הצוות יקבלו את אותם כללים באופן אוטומטי — אין צורך בהתקנה לכל מפתח. כאשר הצוות שלך גוקל מצבי כשל חדשים, הוסף מדיניות ודחוף. עם הזמן אלה הופכים לתקן איכות חי המשתפר עם כל תרומה.
64
- </Tip>
65
-
66
- ### אפשרות 2: נתיב קובץ מפורש
67
-
68
- ```bash
69
- # התקן עם קובץ מדיניויות מותאם אישית
70
- failproofai policies --install --custom ./my-policies.js
71
-
72
- # החלף את נתיב קובץ המדיניויות
73
- failproofai policies --install --custom ./new-policies.js
74
-
75
- # הסר את נתיב המדיניויות המותאמות אישית מהתצורה
76
- failproofai policies --uninstall --custom
77
- ```
78
-
79
- הנתיב המוחלט שנפתר מאוחסן ב-`policies-config.json` כ-`customPoliciesPath`. הקובץ נטען מחדש בכל אירוע hook - אין caching בין אירועים.
80
-
81
- ### שימוש בשניהם יחד
82
-
83
- מדיניויות קונבנציה וקובץ `--custom` מפורש יכולים להתקיים. סדר הטעינה:
84
-
85
- 1. קובץ `customPoliciesPath` מפורש (אם מוגדר)
86
- 2. קבצי קונבנציה של פרויקט (`{cwd}/.failproofai/policies/`, אלפביתי)
87
- 3. קבצי קונבנציה של משתמש (`~/.failproofai/policies/`, אלפביתי)
88
-
89
- ---
90
-
91
- ## API
92
-
93
- ### ייבוא
94
-
95
- ```js
96
- import { customPolicies, allow, deny, instruct } from "failproofai";
97
- ```
98
-
99
- ### `customPolicies.add(hook)`
100
-
101
- רושם מדיניות. קרא לפונקציה זו כמה פעמים שנדרש עבור מדיניויות מרובות באותו קובץ.
102
-
103
- ```ts
104
- customPolicies.add({
105
- name: string; // required - unique identifier
106
- description?: string; // shown in `failproofai policies` output
107
- match?: { events?: HookEventType[] }; // filter by event type; omit to match all
108
- fn: (ctx: PolicyContext) => PolicyResult | Promise<PolicyResult>;
109
- });
110
- ```
111
-
112
- ### עוזרי החלטה
113
-
114
- | פונקציה | השפעה | השתמש כאשר |
115
- |----------|--------|----------|
116
- | `allow()` | אפשר את הפעולה בשקט | הפעולה בטוחה, לא צריך הודעה |
117
- | `deny(message)` | חסום את הפעולה | הסוכן לא צריך לבצע פעולה זו |
118
- | `instruct(message)` | הוסף הקשר ללא חסימה | תן לסוכן הקשר נוסף להישארות על המסלול |
119
-
120
- `deny(message)` - ההודעה מופיעה לClaude עם קידומת `"Blocked by failproofai:"`. `deny` יחיד מקצר את כל ההערכה הנוספת.
121
-
122
- `instruct(message)` - ההודעה מצורפת להקשר של Claude לקריאת הכלי הנוכחית. כל הודעות `instruct` מצטברות ומועברות ביחד.
123
-
124
- <Tip>
125
- אתה יכול להוסיף הנחיה נוספת לכל הודעת `deny` או `instruct` על ידי הוספת שדה `hint` ב-`policyParams` — אין צורך בשינוי קוד. זה עובד עבור מדיניויות מותאמות אישית (`custom/`), קונבנציה של פרויקט (`.failproofai-project/`), וקונבנציה של משתמש (`.failproofai-user/`) גם כן. ראה [Configuration → hint](/he/configuration#hint-cross-cutting) לפרטים.
126
- </Tip>
127
-
128
- ### הודעות allow מידע
129
-
130
- `allow(message)` מאפשרת את הפעולה **וגם** שולחת הודעה מידע חזרה לClaude. ההודעה מועברת כ-`additionalContext` בתגובת stdout של מטפל ה-hook — אותה מנגנון המשמש `instruct`, אך שונה מבחינה סמנטית: זהו עדכון סטטוס, לא אזהרה.
131
-
132
- | פונקציה | השפעה | השתמש כאשר |
133
- |----------|--------|----------|
134
- | `allow(message)` | אפשר ושלח הקשר לClaude | אשר שצ'ק עבר, או הסבר למה צ'ק דולג |
135
-
136
- מקרי שימוש:
137
- - **אישורי סטטוס:** `allow("All CI checks passed.")` — אומר לClaude שהכל ירוק
138
- - **הסברי fail-open:** `allow("GitHub CLI not installed, skipping CI check.")` — אומר לClaude למה צ'ק דולג כדי שיהיה לו הקשר מלא
139
- - **הודעות מרובות מצטברות:** אם מספר מדיניויות כל אחת החזר `allow(message)`, כל ההודעות מחוברות עם שורות חדשות ומועברות ביחד
140
-
141
- ```js
142
- customPolicies.add({
143
- name: "confirm-branch-status",
144
- match: { events: ["Stop"] },
145
- fn: async (ctx) => {
146
- const cwd = ctx.session?.cwd;
147
- if (!cwd) return allow("No working directory, skipping branch check.");
148
-
149
- // ... check branch status ...
150
- if (allPushed) {
151
- return allow("Branch is up to date with remote.");
152
- }
153
- return deny("Unpushed changes detected.");
154
- },
155
- });
156
- ```
157
-
158
- ### שדות `PolicyContext`
159
-
160
- | שדה | סוג | תיאור |
161
- |-------|------|-------------|
162
- | `eventType` | `string` | `"PreToolUse"`, `"PostToolUse"`, `"Notification"`, `"Stop"` |
163
- | `toolName` | `string \| undefined` | הכלי שנקרא (למשל `"Bash"`, `"Write"`, `"Read"`) |
164
- | `toolInput` | `Record<string, unknown> \| undefined` | פרמטרי הקלט של הכלי |
165
- | `payload` | `Record<string, unknown>` | כל payload האירוע הגולמי מClaude Code |
166
- | `session` | `SessionMetadata \| undefined` | הקשר הסשן (ראה להלן) |
167
-
168
- ### שדות `SessionMetadata`
169
-
170
- | שדה | סוג | תיאור |
171
- |-------|------|-------------|
172
- | `sessionId` | `string` | מזהה סשן של Claude Code |
173
- | `cwd` | `string` | ספריית העבודה של סשן Claude Code |
174
- | `transcriptPath` | `string` | נתיב לקובץ תמליל JSONL של הסשן |
175
-
176
- ### סוגי אירועים
177
-
178
- | אירוע | מתי זה נוסק | תוכן `toolInput` |
179
- |-------|--------------|----------------------|
180
- | `PreToolUse` | לפני שClaude מריץ כלי | הקלט של הכלי (למשל `{ command: "..." }` עבור Bash) |
181
- | `PostToolUse` | אחרי שכלי משתלם | קלט הכלי + `tool_result` (הפלט) |
182
- | `Notification` | כשClaude שולח התראה | `{ message: "...", notification_type: "idle" \| "permission_prompt" \| ... }` - hooks חייבים תמיד להחזיר `allow()`, הם לא יכולים לחסום התראות |
183
- | `Stop` | כשסשן Claude מסתיים | ריק |
184
-
185
- ---
186
-
187
- ## סדר הערכה
188
-
189
- מדיניויות מוערכות בסדר זה:
190
-
191
- 1. מדיניויות מובנות (בסדר הגדרה)
192
- 2. מדיניויות מותאמות אישית מפורשות מ-`customPoliciesPath` (בסדר `.add()`)
193
- 3. מדיניויות קונבנציה מפרויקט `.failproofai/policies/` (קבצים אלפביתיים, סדר `.add()` בתוך)
194
- 4. מדיניויות קונבנציה ממשתמש `~/.failproofai/policies/` (קבצים אלפביתיים, סדר `.add()` בתוך)
195
-
196
- <Note>
197
- `deny` הראשון מקצר את כל המדיניויות הלאחרונות. כל הודעות `instruct` מצטברות ומועברות ביחד.
198
- </Note>
199
-
200
- ---
201
-
202
- ## ייבואים טרנזיטיביים
203
-
204
- קבצי מדיניות מותאמות אישית יכולים לייבא מודולים מקומיים באמצעות נתיבים יחסיים:
205
-
206
- ```js
207
- // my-policies.js
208
- import { isBlockedPath } from "./utils.js";
209
- import { checkApproval } from "./approval-client.js";
210
-
211
- customPolicies.add({
212
- name: "approval-gate",
213
- fn: async (ctx) => {
214
- if (ctx.toolName !== "Bash") return allow();
215
- const approved = await checkApproval(ctx.toolInput?.command, ctx.session?.sessionId);
216
- return approved ? allow() : deny("Approval required for this command");
217
- },
218
- });
219
- ```
220
-
221
- כל הייבואים היחסיים הניתנים להשגה מקובץ הכניסה נפתרים. זה מיושם על ידי שכתוב `from "failproofai"` ייבואים לנתיב dist בפועל וליצירת קבצי `.mjs` זמניים כדי להבטיח תאימות ESM.
222
-
223
- ---
224
-
225
- ## סינון סוג אירוע
226
-
227
- השתמש ב-`match.events` כדי להגביל מתי מדיניות נוסקת:
228
-
229
- ```js
230
- customPolicies.add({
231
- name: "require-summary-on-stop",
232
- match: { events: ["Stop"] },
233
- fn: async (ctx) => {
234
- // Only fires when the session ends
235
- // ctx.session.transcriptPath contains the full session log
236
- return allow();
237
- },
238
- });
239
- ```
240
-
241
- השמט `match` לחלוטין כדי לנוקוב בכל סוג אירוע.
242
-
243
- ---
244
-
245
- ## טיפול בשגיאות ומצבי כשל
246
-
247
- מדיניויות מותאמות אישית הן **fail-open**: שגיאות לעולם לא חוסמות מדיניויות מובנות או קורעות מטפל hook.
248
-
249
- | כשל | התנהגות |
250
- |---------|----------|
251
- | `customPoliciesPath` לא מוגדר | אין מדיניויות מותאמות אישית מפורשות פועלות; מדיניויות קונבנציה ומובנות ממשיכות כרגיל |
252
- | קובץ לא נמצא | אזהרה רשומה ל-`~/.failproofai/hook.log`; מובנות ממשיכות |
253
- | שגיאה syntax/import (מפורשת) | שגיאה רשומה ל-`~/.failproofai/hook.log`; מדיניויות מותאמות אישית מפורשות דלג |
254
- | שגיאה syntax/import (קונבנציה) | שגיאה רשומה; הקובץ הזה דלג, קבצי קונבנציה אחרים עדיין נטענים |
255
- | `fn` זורק בזמן ריצה | שגיאה רשומה; ה-hook הזה מטופל כ-`allow`; hooks אחרים ממשיכים |
256
- | `fn` לוקח יותר מ-10 שניות | Timeout רשום; מטופל כ-`allow` |
257
- | ספריית קונבנציה חסרה | אין מדיניויות קונבנציה פועלות; אין שגיאה |
258
-
259
- <Tip>
260
- כדי לבצע ניפוי שגיאות של מדיניויות מותאמות אישית, צפה בקובץ היומן:
261
-
262
- ```bash
263
- tail -f ~/.failproofai/hook.log
264
- ```
265
- </Tip>
266
-
267
- ---
268
-
269
- ## דוגמה מלאה: מדיניויות מרובות
270
-
271
- ```js
272
- // my-policies.js
273
- import { customPolicies, allow, deny, instruct } from "failproofai";
274
-
275
- // Prevent agent from writing to secrets/ directory
276
- customPolicies.add({
277
- name: "block-secrets-dir",
278
- description: "Prevent agent from writing to secrets/ directory",
279
- match: { events: ["PreToolUse"] },
280
- fn: async (ctx) => {
281
- if (!["Write", "Edit"].includes(ctx.toolName ?? "")) return allow();
282
- const path = ctx.toolInput?.file_path ?? "";
283
- if (path.includes("secrets/")) return deny("Writing to secrets/ is not permitted");
284
- return allow();
285
- },
286
- });
287
-
288
- // Keep the agent on track: verify tests before committing
289
- customPolicies.add({
290
- name: "remind-test-before-commit",
291
- description: "Keep the agent on track: verify tests pass before committing",
292
- match: { events: ["PreToolUse"] },
293
- fn: async (ctx) => {
294
- if (ctx.toolName !== "Bash") return allow();
295
- const cmd = ctx.toolInput?.command ?? "";
296
- if (/git\s+commit/.test(cmd)) {
297
- return instruct("Verify all tests pass before committing. Run `bun test` if you haven't already.");
298
- }
299
- return allow();
300
- },
301
- });
302
-
303
- // Prevent unplanned dependency changes during freeze
304
- customPolicies.add({
305
- name: "dependency-freeze",
306
- description: "Prevent unplanned dependency changes during freeze period",
307
- match: { events: ["PreToolUse"] },
308
- fn: async (ctx) => {
309
- if (ctx.toolName !== "Bash") return allow();
310
- const cmd = ctx.toolInput?.command ?? "";
311
- const isInstall = /^(npm install|yarn add|bun add|pnpm add)\s+\S/.test(cmd);
312
- if (isInstall && process.env.DEPENDENCY_FREEZE === "1") {
313
- return deny("Package installs are frozen. Unset DEPENDENCY_FREEZE to allow.");
314
- }
315
- return allow();
316
- },
317
- });
318
-
319
- export { customPolicies };
320
- ```
321
-
322
- ---
323
-
324
- ## דוגמאות
325
-
326
- ספריית `examples/` מכילה קבצי מדיניות שמוכנים להרצה:
327
-
328
- | קובץ | תוכן |
329
- |------|----------|
330
- | `examples/policies-basic.js` | חמש מדיניויות הפעלה המכסות מצבי כשל סוכן נפוצים |
331
- | `examples/policies-advanced/index.js` | דפוסים מתקדמים: ייבואים טרנזיטיביים, קריאות אסינכרוניות, scrubbing פלט וhooks סיום סשן |
332
- | `examples/convention-policies/security-policies.mjs` | מדיניויות אבטחה מבוססות קונבנציה (חסום כתיבות .env, מנע שכתוב היסטוריית git) |
333
- | `examples/convention-policies/workflow-policies.mjs` | מדיניויות זרימת עבודה מבוססות קונבנציה (תזכורות בדיקה, ביקורת כתיבות קובץ) |
334
-
335
- ### שימוש בדוגמאות קובץ מפורשות
336
-
337
- ```bash
338
- failproofai policies --install --custom ./examples/policies-basic.js
339
- ```
340
-
341
- ### שימוש בדוגמאות מבוססות קונבנציה
342
-
343
- ```bash
344
- # Copy to project level
345
- mkdir -p .failproofai/policies
346
- cp examples/convention-policies/*.mjs .failproofai/policies/
347
-
348
- # Or copy to user level
349
- mkdir -p ~/.failproofai/policies
350
- cp examples/convention-policies/*.mjs ~/.failproofai/policies/
351
- ```
352
-
353
- אין צורך בפקודת התקנה — הקבצים נוקטים באופן אוטומטי באירוע hook הבא.
@@ -1,142 +0,0 @@
1
- ---
2
- title: לוח בקרה
3
- description: "ניטור סשנים של סוכנים, בדיקת קריאות כלים וניהול מדיניות"
4
- icon: chart-line
5
- ---
6
-
7
- לוח הבקרה של failproofai היא אפליקציית ווב מקומית לניטור סשנים של סוכנים AI שלך וניהול מדיניות. ראה מה עשו הסוכנים שלך בזמן שלא היית.
8
-
9
- ---
10
-
11
- ## הפעלת לוח הבקרה
12
-
13
- ```bash
14
- failproofai
15
- ```
16
-
17
- נפתח ב-`http://localhost:8020`.
18
-
19
- לוח הבקרה קורא ישירות מקובץ המערכת - תיקיות פרויקטי Claude Code שלך וקבצי הקונפיגורציה של failproofai. לא נכתב כלום לשירות מרחוק.
20
-
21
- ---
22
-
23
- ## עמודים
24
-
25
- ### Projects
26
-
27
- מוצג רשימה של כל פרויקטי Claude Code שנמצאו במכונה שלך. פרויקטים מגוקלים מ-`~/.claude/projects/` (או הנתיב שהוגדר על ידי `CLAUDE_PROJECTS_PATH`).
28
-
29
- כל פרויקט מוצג עם:
30
- - שם הפרויקט (נגזר מנתיב התיקייה)
31
- - מספר סשנים
32
- - תאריך של פעילות הסשן הקודם
33
-
34
- לחץ על פרויקט כדי לראות את הסשנים שלו.
35
-
36
- ### Sessions
37
-
38
- מוצג רשימה של כל הסשנים בתוך פרויקט. כל סשן מוצג עם:
39
- - מזהה סשן
40
- - חותמות זמן של התחלה וסיום
41
- - מספר קריאות כלים
42
- - ספירת פעילות hook (מדיניות שהופעלו)
43
-
44
- השתמש בסינון טווח התאריכים וחיפוש מזהה סשן כדי לצמצם את הרשימה. סשנים מחולקים לעמודים.
45
-
46
- לחץ על סשן כדי לפתוח את מציג הסשן.
47
-
48
- ### Session viewer
49
-
50
- מציג הסשן עונה על השאלה המרכזית עבור סוכנים עצמאיים: מה עשה הסוכן, והאם הוא נשאר בנתיב? הוא מוצג בציר הזמן של כל מה שקרה בסשן:
51
-
52
- - **Messages** - תגובות הטקסט של Claude והנושאים של המשתמש
53
- - **Tool calls** - כל כלי שClaude הפעיל, עם הקלט והפלט שלו
54
- - **Policy activity** - לכל קריאת כלים, איזו מדיניות הופעלה ואיזה החלטה היא החזירה
55
-
56
- פס הסטטיסטיקה בחלק העליון מציג משך הסשן, סה"כ קריאות כלים וסיכום של החלטות hook (מספרי allow / deny / instruct).
57
-
58
- אתה יכול לייצא את הסשן כקובץ ZIP או JSONL באמצעות כפתור ההורדה.
59
-
60
- ### Policies
61
-
62
- עמוד דו-לשוני לניהול מדיניות ובדיקת פעילות.
63
-
64
- <Tabs>
65
- <Tab title="Policies tab">
66
- - הפוך מדיניות בודדות או כבויה בלחיצה יחידה (כותב ל-`~/.failproofai/policies-config.json`)
67
- - הרחב מדיניות כדי להגדיר את הפרמטרים שלה (עבור מדיניות התומכת ב-`policyParams`)
68
- - התקן או הסר hook עבור scope מסוים
69
- - הגדר נתיב קובץ מדיניות מותאם אישית
70
- </Tab>
71
- <Tab title="Activity tab">
72
- - היסטוריה מחולקת לעמודים מלאה של כל אירוע hook שהופעל על פני כל הסשנים
73
- - חיפוש לפי שם מדיניות, מזהה סשן, שם כלי או החלטה
74
- - כל שורה מציגה: חותמת זמן, שם מדיניות, החלטה, שם כלי, מזהה סשן והסיבה להחלטות deny/instruct
75
- </Tab>
76
- </Tabs>
77
-
78
- ---
79
-
80
- ## רענון אוטומטי
81
-
82
- לוח הבקרה יש כפתור רענון אוטומטי בניווט העליון. כאשר הוא מופעל, הדף הנוכחי מרענן בתדירות קבועה כדי להציג סשנים חדשים ופעילות מדיניות כפי שהם מופיעים. חיוני לניטור סשנים של סוכן עצמאי שרץ לפי זמן.
83
-
84
- ---
85
-
86
- ## השבתת עמודים
87
-
88
- אם אתה צריך רק חלקים מסוימים של לוח הבקרה, הגדר את `FAILPROOFAI_DISABLE_PAGES` לרשימה מופרדת בפסיקים של שמות עמודים:
89
-
90
- ```bash
91
- FAILPROOFAI_DISABLE_PAGES=policies failproofai
92
- ```
93
-
94
- ערכים חוקיים: `policies`, `projects`.
95
-
96
- ---
97
-
98
- ## ערכת נושאים
99
-
100
- לוח הבקרה תומך במצב בהיר וכהה. הפוך דרך הכפתור בסרגל הניווט. ההעדפה מאוחסנת בפחיות האחסון המקומי של הדפדפן שלך.
101
-
102
- ---
103
-
104
- ## הגדרת נתיב הפרויקטים
105
-
106
- כברירת מחדל, לוח הבקרה קורא מספרייה הפרויקטים הסטנדרטית של Claude Code. עקוף אותו להגדרות מותאמות אישית:
107
-
108
- ```bash
109
- CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai
110
- ```
111
-
112
- ---
113
-
114
- ## גישה מחשב יחידה שלא localhost
115
-
116
- כאשר מפעילים את לוח הבקרה ב-**dev mode** (`npm run dev`) וגישה אליו מ-hostname שאינו `localhost` - לדוגמה, דומיין מותאם אישית, IP מרחוק או URL מנהור - ייתכן שתראה אזהרה כמו:
117
-
118
- ```text
119
- ⚠ Blocked cross-origin request to Next.js dev resource /_next/webpack-hmr from "dashboard.example.com".
120
- ```
121
-
122
- זה Next.js חוסם גישה חוצה-origin ל-websocket HMR (hot module reload) שלו, שהיא תכונה dev-only. כדי לאפשר את ה-host שלך, השתמש בדגל `--allowed-origins`:
123
-
124
- ```bash
125
- npm run dev -- --allowed-origins dashboard.example.com
126
- ```
127
-
128
- עבור מספר hosts או IPs, העבר רשימה מופרדת בפסיקים:
129
-
130
- ```bash
131
- npm run dev -- --allowed-origins dashboard.example.com,192.168.1.5
132
- ```
133
-
134
- אתה יכול גם להגדיר את משתנה הסביבה `FAILPROOFAI_ALLOWED_DEV_ORIGINS` במקום:
135
-
136
- ```bash
137
- FAILPROOFAI_ALLOWED_DEV_ORIGINS=dashboard.example.com npm run dev
138
- ```
139
-
140
- <Note>
141
- זה חל רק על dev mode. כאשר מפעילים `failproofai` (production mode), אין websocket HMR ואין בעיית משאב dev cross-origin.
142
- </Note>