failproofai 0.0.1 → 0.0.2-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
- package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__02nt~6d._.js +1 -1
- package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09z7o2x._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0jvf9jj._.js → [root-of-the-server]__0a3kr67._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0osi8nq._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0~7bzp~._.js → [root-of-the-server]__0rbuarm._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_0rd0oc-._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/pages/404.html +2 -2
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
- package/.next/standalone/.next/static/chunks/{066e8ajzl234v.js → 0a08gn8709y98.js} +1 -1
- package/.next/standalone/.next/static/chunks/{15lp0u9f5fwae.js → 0gcz-jqgqz~9m.js} +1 -1
- package/.next/standalone/.next/static/chunks/{17q_c2.bbcoh1.js → 0jhw8ofx.5g_e.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0wmsi.tszy~9y.js → 0kob_5.phc~sk.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0eh2hq9~6bf53.js → 0mjc3aq2wxvlt.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0nwr.y4dwla00.js → 0mr-jhx402yci.js} +1 -1
- package/.next/standalone/.next/static/chunks/{056c865hodfe7.js → 0q7z97izctgrw.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0o04-obbhh9.s.js → 0qvj8bhl661lq.js} +1 -1
- package/.next/standalone/README.md +9 -1
- package/.next/standalone/dist/cli.mjs +2891 -0
- package/.next/standalone/docs/architecture.md +5 -1
- package/.next/standalone/docs/built-in-policies.md +5 -1
- package/.next/standalone/docs/cli-reference.md +5 -1
- package/.next/standalone/docs/configuration.md +5 -1
- package/.next/standalone/docs/custom-hooks.md +5 -1
- package/.next/standalone/docs/dashboard.md +5 -1
- package/.next/standalone/docs/docs.json +83 -0
- package/.next/standalone/docs/favicon.ico +0 -0
- package/.next/standalone/docs/getting-started.md +8 -2
- package/.next/standalone/docs/introduction.md +47 -0
- package/.next/standalone/docs/logo/exosphere-dark.png +0 -0
- package/.next/standalone/docs/logo/exosphere-light.png +0 -0
- package/.next/standalone/docs/package-aliases.md +7 -1
- package/.next/standalone/docs/testing.md +5 -1
- package/.next/standalone/package.json +6 -5
- package/.next/standalone/scripts/launch.ts +1 -1
- package/.next/standalone/scripts/postinstall.mjs +11 -0
- package/README.md +9 -1
- package/dist/cli.mjs +2891 -0
- package/package.json +6 -5
- package/scripts/launch.ts +1 -1
- package/scripts/postinstall.mjs +11 -0
- package/.next/standalone/docs/index.md +0 -48
- /package/.next/standalone/.next/static/{odPaRK23IkTvoPxqrn_8P → Dnk96sbMPjYOx1pdLdOH0}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{odPaRK23IkTvoPxqrn_8P → Dnk96sbMPjYOx1pdLdOH0}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{odPaRK23IkTvoPxqrn_8P → Dnk96sbMPjYOx1pdLdOH0}/_ssgManifest.js +0 -0
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "failproofai",
|
|
3
|
-
"version": "0.0.1",
|
|
3
|
+
"version": "0.0.2-beta.1",
|
|
4
4
|
"description": "Open-source hooks, policies, and project visualization for Claude Code & Agents SDK",
|
|
5
5
|
"bin": {
|
|
6
|
-
"failproofai": "./
|
|
6
|
+
"failproofai": "./dist/cli.mjs"
|
|
7
7
|
},
|
|
8
8
|
"files": [
|
|
9
9
|
"bin/",
|
|
@@ -19,10 +19,11 @@
|
|
|
19
19
|
"bun": ">=1.3.0"
|
|
20
20
|
},
|
|
21
21
|
"scripts": {
|
|
22
|
-
"predev": "bun link",
|
|
22
|
+
"predev": "bun run build:cli && bun link",
|
|
23
23
|
"dev": "FAILPROOFAI_TELEMETRY_DISABLED=1 bun scripts/dev.ts --port 8020",
|
|
24
|
-
"build": "bun build --target=node --format=
|
|
25
|
-
"
|
|
24
|
+
"build:cli": "bun build --target=node --format=esm --outfile=dist/cli.mjs bin/failproofai.mjs --external posthog-node && node -e \"const fs=require('fs');const c=fs.readFileSync('dist/cli.mjs','utf8');fs.writeFileSync('dist/cli.mjs',c.replace('#!/usr/bin/env bun','#!/usr/bin/env node').replace('// @bun\\n',''))\"",
|
|
25
|
+
"build": "bun build --target=node --format=cjs --outfile=dist/index.js src/index.ts && bun run build:cli && bun --bun next build && node -e \"const {cpSync}=require('fs');cpSync('.next/static','.next/standalone/.next/static',{recursive:true});\"",
|
|
26
|
+
"prestart": "bun run build:cli && bun link",
|
|
26
27
|
"start": "FAILPROOFAI_TELEMETRY_DISABLED=1 bun scripts/start.ts",
|
|
27
28
|
"test": "vitest",
|
|
28
29
|
"test:run": "vitest run",
|
package/scripts/launch.ts
CHANGED
|
@@ -49,7 +49,7 @@ export function launch(mode: "dev" | "start"): void {
|
|
|
49
49
|
const serverJsPath = resolve(packageRoot, ".next/standalone/server.js");
|
|
50
50
|
if (!existsSync(serverJsPath)) {
|
|
51
51
|
console.error(
|
|
52
|
-
`\nError: Cannot find server
|
|
52
|
+
`\nError: Cannot find server.js at:\n ${serverJsPath}\n\n` +
|
|
53
53
|
`The package may be missing its build output.\n` +
|
|
54
54
|
`Try reinstalling:\n npm install -g failproofai@latest\n`
|
|
55
55
|
);
|
package/scripts/postinstall.mjs
CHANGED
|
@@ -18,6 +18,17 @@ import { trackInstallEvent } from "./install-telemetry.mjs";
|
|
|
18
18
|
// from process.cwd() only when we are being installed as a dependency by someone else.
|
|
19
19
|
if (!process.env.INIT_CWD || process.env.INIT_CWD === process.cwd()) process.exit(0);
|
|
20
20
|
|
|
21
|
+
// Verify server.js exists — fail the install early if the dashboard build is missing.
|
|
22
|
+
const serverJsPath = resolve(process.cwd(), ".next", "standalone", "server.js");
|
|
23
|
+
if (!existsSync(serverJsPath)) {
|
|
24
|
+
console.error(
|
|
25
|
+
`\n[failproofai] Error: server.js not found at:\n ${serverJsPath}\n\n` +
|
|
26
|
+
` The package may not have been built correctly.\n` +
|
|
27
|
+
` Try reinstalling: npm install -g failproofai@latest\n`
|
|
28
|
+
);
|
|
29
|
+
process.exit(1);
|
|
30
|
+
}
|
|
31
|
+
|
|
21
32
|
const FAILPROOFAI_HOOK_MARKER = "__failproofai_hook__";
|
|
22
33
|
const NAMESPACE = "failproofai-telemetry-v1";
|
|
23
34
|
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
# Failproof AI — Documentation
|
|
2
|
-
|
|
3
|
-
Open-source hooks, policies, and session visualization for **Claude Code** and the **Agents SDK**. Runs entirely locally — no data leaves your machine.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Documentation
|
|
8
|
-
|
|
9
|
-
| Guide | Description |
|
|
10
|
-
|-------|-------------|
|
|
11
|
-
| [Getting Started](./getting-started.md) | Install failproofai, enable policies, and take it for a spin |
|
|
12
|
-
| [CLI Reference](./cli-reference.md) | All commands, flags, and environment variables |
|
|
13
|
-
| [Configuration](./configuration.md) | Config file format, three-scope system, and merge rules |
|
|
14
|
-
| [Built-in Policies](./built-in-policies.md) | All 35+ policies with descriptions and parameters |
|
|
15
|
-
| [Custom Hooks](./custom-hooks.md) | Write your own policies in JavaScript |
|
|
16
|
-
| [Dashboard](./dashboard.md) | Session viewer, policy management, and activity log |
|
|
17
|
-
| [Architecture](./architecture.md) | How the hook handler, config loading, and policy evaluation work |
|
|
18
|
-
| [Testing](./testing.md) | Unit tests, E2E tests, and test helpers |
|
|
19
|
-
| [Package Aliases](./package-aliases.md) | Registered typosquat-prevention aliases and how they work |
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## Quick reference
|
|
24
|
-
|
|
25
|
-
**Install:**
|
|
26
|
-
```bash
|
|
27
|
-
npm install -g failproofai
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
**Enable policies globally:**
|
|
31
|
-
```bash
|
|
32
|
-
failproofai --install-policies
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
**Launch dashboard:**
|
|
36
|
-
```bash
|
|
37
|
-
failproofai
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
**List active policies:**
|
|
41
|
-
```bash
|
|
42
|
-
failproofai --list-policies
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
**Add a custom policy file:**
|
|
46
|
-
```bash
|
|
47
|
-
failproofai --install-policies --custom ./my-policies.js
|
|
48
|
-
```
|
|
File without changes
|
|
File without changes
|
|
File without changes
|