failproofai 0.0.11-beta.9 → 0.0.11

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 (152) 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 +1 -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 +1 -1
  19. package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
  20. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
  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 +10 -10
  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/api/audit/invite/route.js +1 -1
  27. package/.next/standalone/.next/server/app/api/audit/invite/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/audit/run/route.js +1 -1
  29. package/.next/standalone/.next/server/app/api/audit/run/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/auth/login-request/route.js +1 -1
  31. package/.next/standalone/.next/server/app/api/auth/login-request/route.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/api/auth/login-verify/route.js +1 -1
  33. package/.next/standalone/.next/server/app/api/auth/login-verify/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/auth/logout/route.js +1 -1
  35. package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/auth/reminder/route.js +1 -1
  37. package/.next/standalone/.next/server/app/api/auth/reminder/route.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/api/auth/status/route.js +1 -1
  39. package/.next/standalone/.next/server/app/api/auth/status/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/audit/page/server-reference-manifest.json +2 -2
  42. package/.next/standalone/.next/server/app/audit/page.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/index.html +1 -1
  45. package/.next/standalone/.next/server/app/index.rsc +15 -15
  46. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  47. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
  48. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  49. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
  50. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  51. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  52. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
  55. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  56. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  58. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  61. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  62. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  63. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  65. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  66. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/chunks/[externals]__1_g_b3t._.js +3 -0
  68. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0dwpg-h._.js +3 -0
  69. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0lnenda._.js +3 -0
  70. package/.next/standalone/.next/server/chunks/[root-of-the-server]__13i_sva._.js +3 -0
  71. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1_mqemn._.js +1 -1
  72. package/.next/standalone/.next/server/chunks/node_modules_0-tu4ot._.js +1 -1
  73. package/.next/standalone/.next/server/chunks/node_modules_1bnh1y0._.js +1 -1
  74. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_17k9e3w.js +3 -3
  75. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_01r25oi._.js +1 -1
  76. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_09z9-p7._.js +1 -1
  77. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_1nxcc4v._.js +1 -1
  78. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0e446gb._.js → [root-of-the-server]__00uwqi6._.js} +2 -2
  79. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0808sha._.js +2 -2
  80. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e4-6d8._.js +2 -2
  81. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ehe24g._.js +2 -2
  82. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g253ve._.js +2 -2
  83. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0k65l27._.js +1 -1
  84. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0wprfyc._.js → [root-of-the-server]__0kjb_s4._.js} +2 -2
  85. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0vxf0_g._.js +2 -2
  86. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12mcauo._.js +2 -2
  87. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1mt35_w._.js +1 -1
  88. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1pcxxwg._.js +2 -2
  89. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1uvfwgr._.js +2 -2
  90. package/.next/standalone/.next/server/chunks/ssr/_11_p9y8._.js +1 -1
  91. package/.next/standalone/.next/server/chunks/ssr/app_audit__components_audit-dashboard_tsx_0p9ud47._.js +49 -21
  92. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_1kp6l3x._.js +1 -1
  93. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_19dqvpc._.js +1 -1
  94. package/.next/standalone/.next/server/chunks/ssr/{node_modules_html-to-image_es_index_0y4a-0q.js → node_modules_html-to-image_es_index_0ihmbv4.js} +1 -1
  95. package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuzn._.js +1 -1
  96. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  97. package/.next/standalone/.next/server/pages/404.html +1 -1
  98. package/.next/standalone/.next/server/pages/500.html +1 -1
  99. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/server-reference-manifest.json +10 -10
  101. package/.next/standalone/.next/static/chunks/{3ty6dhcuogout.js → 02fywjt0by40a.js} +1 -1
  102. package/.next/standalone/.next/static/chunks/0xdx2ehtbdoeg.js +1 -0
  103. package/.next/standalone/.next/static/chunks/{07_d165p5h5ys.js → 1-a5rvq67k7ed.js} +1 -1
  104. package/.next/standalone/.next/static/chunks/{3nj6g3xu9uy78.js → 15csyj1_rf0-w.js} +1 -1
  105. package/.next/standalone/.next/static/chunks/1o0xa47736gi9.css +2 -0
  106. package/.next/standalone/.next/static/chunks/24cv31x607n7k.js +1 -0
  107. package/.next/standalone/.next/static/chunks/2n_s8v1ae38_a.js +69 -0
  108. package/.next/standalone/.next/static/chunks/{277oc363p56n6.js → 2y-jmvrjxz60x.js} +2 -2
  109. package/.next/standalone/.next/static/chunks/{1kvadxkgnapyj.js → 3eik_d9qrvoft.js} +1 -1
  110. package/.next/standalone/.next/static/chunks/{168k-8z6k7e8z.css → 3i27c3hcriawq.css} +1 -1
  111. package/.next/standalone/.next/static/chunks/{2z42u62k-8-_q.js → 3v61675vr6jav.js} +1 -1
  112. package/.next/standalone/app/api/audit/invite/route.ts +10 -1
  113. package/.next/standalone/app/api/audit/run/route.ts +35 -0
  114. package/.next/standalone/app/api/auth/login-request/route.ts +2 -2
  115. package/.next/standalone/app/api/auth/login-verify/route.ts +10 -2
  116. package/.next/standalone/app/audit/_components/audit-dashboard.tsx +9 -1
  117. package/.next/standalone/app/audit/_components/audit-poster.tsx +11 -7
  118. package/.next/standalone/app/audit/_components/auth-dialog.tsx +6 -4
  119. package/.next/standalone/app/audit/_components/come-back-better-section.tsx +23 -3
  120. package/.next/standalone/app/audit/_components/invite-dialog.tsx +6 -3
  121. package/.next/standalone/app/audit/_components/share-templates.ts +58 -28
  122. package/.next/standalone/app/audit/audit-styles.css +17 -22
  123. package/.next/standalone/app/globals.css +27 -2
  124. package/.next/standalone/app/policies/hooks-client.tsx +33 -24
  125. package/.next/standalone/components/reach-developers.tsx +10 -25
  126. package/.next/standalone/lib/auth/api-server-client.ts +5 -2
  127. package/.next/standalone/lib/client-telemetry.ts +4 -0
  128. package/.next/standalone/package.json +6 -4
  129. package/.next/standalone/server.js +1 -1
  130. package/README.md +2 -2
  131. package/bin/failproofai.mjs +24 -5
  132. package/dist/cli.mjs +2328 -381
  133. package/lib/auth/api-server-client.ts +5 -2
  134. package/lib/client-telemetry.ts +4 -0
  135. package/package.json +6 -4
  136. package/scripts/launch.ts +30 -4
  137. package/scripts/postinstall.mjs +10 -1
  138. package/scripts/skew-log-filter.ts +46 -0
  139. package/scripts/validate-mdx.ts +139 -0
  140. package/src/audit/cli.ts +330 -0
  141. package/src/audit/open-browser.ts +69 -0
  142. package/src/auth/cli.ts +16 -13
  143. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1r1h8v9._.js +0 -3
  144. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1uatkiv._.js +0 -3
  145. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1y6gxxb._.js +0 -3
  146. package/.next/standalone/.next/static/chunks/28mkxkl_d91-l.js +0 -1
  147. package/.next/standalone/.next/static/chunks/28x7jvo3kxd3u.js +0 -41
  148. package/.next/standalone/.next/static/chunks/29nrs5xs9c4hx.css +0 -2
  149. package/.next/standalone/.next/static/chunks/29tg7deqmq32l.js +0 -1
  150. /package/.next/standalone/.next/static/{NYPiJP6Rv_exQdSFVS8HP → P_MIRSeoE296wkbE-Icin}/_buildManifest.js +0 -0
  151. /package/.next/standalone/.next/static/{NYPiJP6Rv_exQdSFVS8HP → P_MIRSeoE296wkbE-Icin}/_clientMiddlewareManifest.js +0 -0
  152. /package/.next/standalone/.next/static/{NYPiJP6Rv_exQdSFVS8HP → P_MIRSeoE296wkbE-Icin}/_ssgManifest.js +0 -0
@@ -108,7 +108,7 @@ if (hookIdx >= 0) {
108
108
  */
109
109
  async function runCli() {
110
110
  // --help / -h (only when not inside a subcommand that handles its own --help)
111
- const SUBCOMMANDS = ["policies", "policy", "auth"];
111
+ const SUBCOMMANDS = ["policies", "policy", "auth", "audit"];
112
112
  if ((args.includes("--help") || args.includes("-h")) && !SUBCOMMANDS.includes(args[0])) {
113
113
  const extraArgs = args.filter((a) => a !== "--help" && a !== "-h");
114
114
  if (extraArgs.length > 0) {
@@ -154,6 +154,10 @@ COMMANDS
154
154
  whoami Print the currently authenticated identity
155
155
  auth --help, -h Show this help for the auth command
156
156
 
157
+ audit Audit your agent's behavior, then open the
158
+ dashboard at http://localhost:8020/audit
159
+ audit --help, -h Show this help for the audit command
160
+
157
161
  --version, -v Print version and exit
158
162
  --help, -h Show this help message
159
163
 
@@ -186,8 +190,8 @@ EXAMPLES
186
190
 
187
191
  LINKS
188
192
  ⭐ Star us: https://github.com/failproofai/failproofai
189
- 📖 Docs: https://befailproof.ai
190
- 💬 Slack: https://join.slack.com/t/failproofai/shared_invite/zt-3v63b7k5e-O3NBHmj8X6n9gZSGDx6ggQ
193
+ 📖 Docs: https://docs.befailproof.ai/introduction
194
+ 💬 Discord: https://discord.gg/2zjBZP7yQJ
191
195
  `.trimStart());
192
196
  process.exit(0);
193
197
  }
@@ -470,10 +474,25 @@ EXAMPLES
470
474
  lastSubcommand = "auth";
471
475
  const { runAuthCli } = await import("../src/auth/cli");
472
476
  await runAuthCli(args.slice(1));
473
- await track("cli_auth_invoked", { args_count: args.length - 1 });
477
+ await track("cli_auth_invoked", {
478
+ args_count: args.length - 1,
479
+ subcommand: args[1] ?? "help",
480
+ exit_code: process.exitCode ?? 0,
481
+ });
474
482
  process.exit(process.exitCode ?? 0);
475
483
  }
476
484
 
485
+ // audit — scan local agent-CLI history, then launch the dashboard at /audit.
486
+ if (args[0] === "audit") {
487
+ lastSubcommand = "audit";
488
+ const { runAuditCli } = await import("../src/audit/cli");
489
+ await runAuditCli(args.slice(1));
490
+ // No process.exit(): on the success path runAuditCli calls launch(), which
491
+ // keeps this process alive running the dashboard. The --help / no-sessions
492
+ // paths exit inside runAuditCli; failures throw a CliError handled below.
493
+ return;
494
+ }
495
+
477
496
  // policy — single-policy shortcut over `policies --install <name>`.
478
497
  // failproofai policy add <name> enable one policy (defaults: claude/user)
479
498
  // failproofai policy remove <name> disable one policy
@@ -650,7 +669,7 @@ EXAMPLES
650
669
  return dp[m][n];
651
670
  }
652
671
 
653
- const primary = ["--version", "--help", "--hook", "policies", "policy", "auth"];
672
+ const primary = ["--version", "--help", "--hook", "policies", "policy", "auth", "audit"];
654
673
  const closest = primary.reduce((best, flag) => {
655
674
  const dist = levenshtein(unknownFlag, flag);
656
675
  return dist < best.dist ? { flag, dist } : best;