failproofai 1.0.6-beta.0 → 1.0.6-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/required-server-files.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- 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 +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +14 -14
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/api/audit/invite/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/audit/run/route.js +4 -4
- package/.next/standalone/.next/server/app/api/audit/run/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/audit/status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/login-request/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/login-verify/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/audit/page/server-reference-manifest.json +2 -2
- package/.next/standalone/.next/server/app/audit/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +14 -14
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +14 -14
- 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 +14 -14
- package/.next/standalone/.next/server/app/policies/page.js +6 -5
- 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 +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 +1 -1
- 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/app/settings/page/server-reference-manifest.json +4 -4
- package/.next/standalone/.next/server/app/settings/page.js +3 -2
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o07qi9._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0zlqo2t._.js +1 -1
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__112b4go._.js → [root-of-the-server]__1_r2rbg._.js} +4 -4
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1anxb5k._.js +1 -1
- package/.next/standalone/.next/server/chunks/_0tovk6q._.js +1 -1
- package/.next/standalone/.next/server/chunks/_0trp3yc._.js +1 -1
- package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_1nxcc4v._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0-_ki57._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__013jr2b._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01wy8d-._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__02npjtd._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0576iuy._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0bym1os._.js → [root-of-the-server]__0cg-bgc._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0da85px._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ftmoxc._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0p-5p8u._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__00y9ww2._.js → [root-of-the-server]__0u3w0ll._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1p2otjt._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1py795m._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1i26dsw._.js → [root-of-the-server]__1x3j9mj._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_06imw3p._.js +5 -0
- package/.next/standalone/.next/server/chunks/ssr/_08x1r5t._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0lbwa8m._.js → _0qlygw6._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_09hs6ms._.js → _1_ddpm3._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_14c6q09._.js → _1_qswah._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_1es2j7i._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_1u8-lu2._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_1zopuov._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_policies_page_actions_1sp2-yo.js +12 -11
- package/.next/standalone/.next/server/chunks/ssr/app_audit__components_audit-dashboard_tsx_0p9ud47._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_1kp6l3x._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_19dqvpc._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_settings_settings-client_tsx_20lq-mq._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/pages/404.html +1 -1
- 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 +19 -19
- package/.next/standalone/.next/static/chunks/{03n_qjih7-w6q.js → 02vwr5js1x28j.js} +1 -1
- package/.next/standalone/.next/static/chunks/{3d3hzhcnns6ww.js → 06fjx8-0_qufs.js} +1 -1
- package/.next/standalone/.next/static/chunks/{17pjz_h45j10c.js → 0cbvytf8epn34.js} +1 -1
- package/.next/standalone/.next/static/chunks/{1ekh-hj_iom84.js → 0y227_ohdqwvn.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0vanab2g65op_.js → 1p4xauf-zu6zk.js} +1 -1
- package/.next/standalone/.next/static/chunks/{1so_3s0q4c4j1.js → 1qf2uiipatr80.js} +1 -1
- package/.next/standalone/.next/static/chunks/{3iasus89n8mg1.js → 1uc_s_dftgxiq.js} +1 -1
- package/.next/standalone/.next/static/chunks/{44_cj1_i_aa2z.js → 27_bwbg8sv6vj.js} +1 -1
- package/.next/standalone/.next/static/chunks/{2u0kol_boahtv.js → 2x776s0x3n_tu.js} +1 -1
- package/.next/standalone/.next/static/chunks/{3_vesf83-0903.js → 3ht0xsco46pul.js} +1 -1
- package/.next/standalone/hermes-plugin/README.md +6 -1
- package/.next/standalone/hermes-plugin/client.py +22 -6
- package/.next/standalone/lib/hermes-profiles.ts +67 -19
- package/.next/standalone/lib/hermes-sessions.ts +3 -2
- package/.next/standalone/package.json +9 -9
- package/.next/standalone/server.js +1 -1
- package/dist/cli.mjs +273 -220
- package/dist/worker.mjs +62 -32
- package/hermes-plugin/README.md +6 -1
- package/hermes-plugin/client.py +22 -6
- package/lib/hermes-profiles.ts +67 -19
- package/lib/hermes-sessions.ts +3 -2
- package/package.json +9 -9
- package/src/hooks/integrations.ts +7 -0
- package/src/hooks/manager.ts +24 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0oa1lav._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0s740oi._.js +0 -6
- /package/.next/standalone/.next/static/{-7OT2NwGPxAu-skEL_Xee → QCNYz2yCxxdeggg1k0iEq}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{-7OT2NwGPxAu-skEL_Xee → QCNYz2yCxxdeggg1k0iEq}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{-7OT2NwGPxAu-skEL_Xee → QCNYz2yCxxdeggg1k0iEq}/_ssgManifest.js +0 -0
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
*
|
|
4
4
|
* A Hermes "profile" is not a column or a flag: it is a whole separate Hermes
|
|
5
5
|
* home directory, each with its own `config.yaml`, `.env`, `SOUL.md`, and
|
|
6
|
-
* `state.db`. The default profile lives at `~/.hermes`;
|
|
7
|
-
* `~/.hermes/profiles/<name
|
|
8
|
-
*
|
|
9
|
-
*
|
|
6
|
+
* `state.db`. The default profile lives at `~/.hermes`; upstream named profiles
|
|
7
|
+
* live at `~/.hermes/profiles/<name>/`, while older/custom multi-install setups
|
|
8
|
+
* may use sibling homes such as `~/.hermes-work`. Selection is `hermes -p
|
|
9
|
+
* <name>`, a generated `~/.local/bin/<name>` alias that exports `HERMES_HOME`,
|
|
10
|
+
* or a sticky default recorded in `<root>/active_profile`.
|
|
10
11
|
*
|
|
11
12
|
* Upstream's own contributor guide warns that hardcoding `~/.hermes` breaks
|
|
12
13
|
* profiles — which is exactly what both pillars used to do:
|
|
@@ -21,12 +22,14 @@
|
|
|
21
22
|
* Home override: set `HERMES_HOME` (Hermes's own env var — respected here so a
|
|
22
23
|
* profile-scoped shell and failproofai agree on what "all profiles" means).
|
|
23
24
|
*/
|
|
24
|
-
import { readdirSync } from "node:fs";
|
|
25
|
+
import { existsSync, readdirSync } from "node:fs";
|
|
25
26
|
import { homedir } from "node:os";
|
|
26
27
|
import { basename, dirname, join, resolve } from "node:path";
|
|
27
28
|
|
|
28
29
|
/** Directory under the Hermes root that holds non-default profiles. */
|
|
29
30
|
const PROFILES_DIR = "profiles";
|
|
31
|
+
const STANDARD_HOME = ".hermes";
|
|
32
|
+
const SIBLING_HOME_PREFIX = ".hermes-";
|
|
30
33
|
|
|
31
34
|
/** Name we give the root home (`~/.hermes`), which Hermes itself leaves unnamed. */
|
|
32
35
|
export const HERMES_DEFAULT_PROFILE = "default";
|
|
@@ -41,28 +44,45 @@ export interface HermesProfile {
|
|
|
41
44
|
/**
|
|
42
45
|
* The Hermes ROOT home — the directory that owns `profiles/`.
|
|
43
46
|
*
|
|
44
|
-
* `HERMES_HOME` may point AT
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
47
|
+
* `HERMES_HOME` may point AT an upstream profile (`<root>/profiles/<name>`) or
|
|
48
|
+
* at a sibling installation (`~/.hermes-<name>`). We normalize either standard
|
|
49
|
+
* layout back to `~/.hermes` so discovery covers every installation. A custom
|
|
50
|
+
* non-standard path remains authoritative; scanning arbitrary sibling paths
|
|
51
|
+
* would risk treating backups and unrelated directories as live agents.
|
|
48
52
|
*/
|
|
49
53
|
export function hermesRoot(): string {
|
|
50
54
|
const env = (process.env.HERMES_HOME || "").trim();
|
|
51
55
|
if (env) {
|
|
52
|
-
|
|
56
|
+
let home = resolve(env);
|
|
53
57
|
const parent = dirname(home);
|
|
54
|
-
if (basename(parent) === PROFILES_DIR)
|
|
58
|
+
if (basename(parent) === PROFILES_DIR) home = dirname(parent);
|
|
59
|
+
const base = basename(home);
|
|
60
|
+
if (base === STANDARD_HOME || base.startsWith(SIBLING_HOME_PREFIX)) {
|
|
61
|
+
return join(dirname(home), STANDARD_HOME);
|
|
62
|
+
}
|
|
55
63
|
return home;
|
|
56
64
|
}
|
|
57
|
-
return join(homedir(),
|
|
65
|
+
return join(homedir(), STANDARD_HOME);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function uniqueProfileName(preferred: string, seen: Set<string>): string {
|
|
69
|
+
if (!seen.has(preferred)) return preferred;
|
|
70
|
+
const base = `${preferred}-home`;
|
|
71
|
+
if (!seen.has(base)) return base;
|
|
72
|
+
let suffix = 2;
|
|
73
|
+
while (seen.has(`${base}-${suffix}`)) suffix += 1;
|
|
74
|
+
return `${base}-${suffix}`;
|
|
58
75
|
}
|
|
59
76
|
|
|
60
77
|
/**
|
|
61
78
|
* Every Hermes profile on disk: the root home first (as `"default"`), then each
|
|
62
|
-
* `<root>/profiles/<name
|
|
79
|
+
* `<root>/profiles/<name>/`, then valid `~/.hermes-<name>` sibling homes, in
|
|
80
|
+
* name order within each layout.
|
|
63
81
|
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
82
|
+
* A sibling home counts only when it contains `config.yaml`, matching OpenClaw
|
|
83
|
+
* discovery and avoiding arbitrary `.hermes-*` backup directories. Upstream
|
|
84
|
+
* `profiles/` directories are authoritative and remain discoverable before
|
|
85
|
+
* their config is first written.
|
|
66
86
|
*
|
|
67
87
|
* A profile directory literally named `default` would collide with the root's
|
|
68
88
|
* reserved name; the root wins and the directory is skipped (dedup by name keeps
|
|
@@ -73,22 +93,50 @@ export function listHermesProfiles(): HermesProfile[] {
|
|
|
73
93
|
const out: HermesProfile[] = [{ name: HERMES_DEFAULT_PROFILE, home: root }];
|
|
74
94
|
const seen = new Set<string>([HERMES_DEFAULT_PROFILE]);
|
|
75
95
|
|
|
76
|
-
let names: string[];
|
|
96
|
+
let names: string[] = [];
|
|
77
97
|
try {
|
|
78
98
|
names = readdirSync(join(root, PROFILES_DIR), { withFileTypes: true })
|
|
79
99
|
// Symlinked profile dirs are legitimate, and `isDirectory()` is false for them.
|
|
80
100
|
.filter((e) => (e.isDirectory() || e.isSymbolicLink()) && !e.name.startsWith("."))
|
|
81
101
|
.map((e) => e.name)
|
|
82
102
|
.sort();
|
|
83
|
-
} catch {
|
|
84
|
-
return out;
|
|
85
|
-
}
|
|
103
|
+
} catch {}
|
|
86
104
|
|
|
87
105
|
for (const name of names) {
|
|
88
106
|
if (seen.has(name)) continue;
|
|
89
107
|
seen.add(name);
|
|
90
108
|
out.push({ name, home: join(root, PROFILES_DIR, name) });
|
|
91
109
|
}
|
|
110
|
+
|
|
111
|
+
// Only the standard ~/.hermes layout defines `.hermes-*` sibling homes.
|
|
112
|
+
// A custom HERMES_HOME is intentionally not used as a prefix convention.
|
|
113
|
+
if (basename(root) !== STANDARD_HOME) return out;
|
|
114
|
+
|
|
115
|
+
let siblings: HermesProfile[] = [];
|
|
116
|
+
const parent = dirname(root);
|
|
117
|
+
try {
|
|
118
|
+
siblings = readdirSync(parent, { withFileTypes: true })
|
|
119
|
+
.filter(
|
|
120
|
+
(entry) =>
|
|
121
|
+
(entry.isDirectory() || entry.isSymbolicLink()) &&
|
|
122
|
+
entry.name.startsWith(SIBLING_HOME_PREFIX) &&
|
|
123
|
+
entry.name.length > SIBLING_HOME_PREFIX.length &&
|
|
124
|
+
existsSync(join(parent, entry.name, "config.yaml")),
|
|
125
|
+
)
|
|
126
|
+
.map((entry) => ({
|
|
127
|
+
name: entry.name.slice(SIBLING_HOME_PREFIX.length),
|
|
128
|
+
home: join(parent, entry.name),
|
|
129
|
+
}))
|
|
130
|
+
.sort((a, b) => a.name.localeCompare(b.name));
|
|
131
|
+
} catch {
|
|
132
|
+
return out;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
for (const sibling of siblings) {
|
|
136
|
+
const name = uniqueProfileName(sibling.name, seen);
|
|
137
|
+
seen.add(name);
|
|
138
|
+
out.push({ name, home: sibling.home });
|
|
139
|
+
}
|
|
92
140
|
return out;
|
|
93
141
|
}
|
|
94
142
|
|
|
@@ -14,8 +14,9 @@
|
|
|
14
14
|
*
|
|
15
15
|
* PROFILES: Hermes profiles are separate home dirs, each with its OWN state.db
|
|
16
16
|
* (`~/.hermes/state.db` for the default, `~/.hermes/profiles/<name>/state.db`
|
|
17
|
-
*
|
|
18
|
-
* profiles
|
|
17
|
+
* for upstream profiles, and `~/.hermes-<name>/state.db` for sibling homes) —
|
|
18
|
+
* see lib/hermes-profiles.ts. So every read here fans out across profiles
|
|
19
|
+
* instead of assuming one DB.
|
|
19
20
|
*
|
|
20
21
|
* DB path override: set `HERMES_DB_PATH` (used by tests and to point at a copied
|
|
21
22
|
* or remote state.db) — it collapses discovery to that single file. Set
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "failproofai",
|
|
3
|
-
"version": "1.0.6-beta.
|
|
3
|
+
"version": "1.0.6-beta.1",
|
|
4
4
|
"description": "Observability and enforcement for AI agent harnesses. 39 built-in policies hooked into 12 of them — Claude Code, Codex, Cursor, Hermes, OpenClaw and more — blocking the tool call before it runs. Local dashboard included, no account needed.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"failproofai": "./dist/cli.mjs",
|
|
@@ -122,15 +122,15 @@
|
|
|
122
122
|
"browserslist": "4.28.8"
|
|
123
123
|
},
|
|
124
124
|
"optionalDependencies": {
|
|
125
|
-
"@failproofai/failproofaid-linux-x64": "1.0.6-beta.
|
|
126
|
-
"@failproofai/failproofaid-linux-arm64": "1.0.6-beta.
|
|
127
|
-
"@failproofai/failproofaid-darwin-x64": "1.0.6-beta.
|
|
128
|
-
"@failproofai/failproofaid-darwin-arm64": "1.0.6-beta.
|
|
125
|
+
"@failproofai/failproofaid-linux-x64": "1.0.6-beta.1",
|
|
126
|
+
"@failproofai/failproofaid-linux-arm64": "1.0.6-beta.1",
|
|
127
|
+
"@failproofai/failproofaid-darwin-x64": "1.0.6-beta.1",
|
|
128
|
+
"@failproofai/failproofaid-darwin-arm64": "1.0.6-beta.1"
|
|
129
129
|
},
|
|
130
130
|
"failproofaidBinaries": {
|
|
131
|
-
"linux-x64": "
|
|
132
|
-
"linux-arm64": "
|
|
133
|
-
"darwin-x64": "
|
|
134
|
-
"darwin-arm64": "
|
|
131
|
+
"linux-x64": "b6f877cd407c3322ff8ad2f98a096b6ea15b0bd1d63de6276c689368345c1cd2",
|
|
132
|
+
"linux-arm64": "0da90a816b9dc707efe9b82176923cbf0f00026179c816e34eaad362ce2c0fa4",
|
|
133
|
+
"darwin-x64": "bcbec488353fa04a1953a87cad15054e4796117cac4fd60b17fb1c87d62b7b1e",
|
|
134
|
+
"darwin-arm64": "6830989a91a27642cdcc63fcfad529c69c0deb3f3abcf5ad40fd3516289b451d"
|
|
135
135
|
}
|
|
136
136
|
}
|
|
@@ -9,7 +9,7 @@ const currentPort = parseInt(process.env.PORT, 10) || 3000
|
|
|
9
9
|
const hostname = process.env.HOSTNAME || '0.0.0.0'
|
|
10
10
|
|
|
11
11
|
let keepAliveTimeout = parseInt(process.env.KEEP_ALIVE_TIMEOUT, 10)
|
|
12
|
-
const nextConfig = {"env":{"NEXT_PUBLIC_APP_VERSION":"1.0.6-beta.
|
|
12
|
+
const nextConfig = {"env":{"NEXT_PUBLIC_APP_VERSION":"1.0.6-beta.1"},"typescript":{"ignoreBuildErrors":false},"typedRoutes":false,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.ts","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"instrumentationClientInject":[],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":14400,"formats":["image/webp"],"maximumRedirects":3,"maximumResponseBody":50000000,"dangerouslyAllowLocalIP":false,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","localPatterns":[{"pathname":"**","search":""}],"remotePatterns":[],"qualities":[75],"unoptimized":true,"customCacheHandler":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"reactProductionProfiling":false,"reactStrictMode":null,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{"serverFunctions":true,"browserToTerminal":"warn"},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/home/runner/work/failproofai/failproofai","enablePrerenderSourceMaps":true,"cacheComponents":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":31536000}},"cacheHandlers":{},"experimental":{"appNewScrollHandler":true,"coldCacheBadge":false,"devValidationWorker":true,"useSkewCookie":false,"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"cachedNavigations":false,"dynamicOnHover":false,"useOffline":false,"varyParams":true,"optimisticRouting":true,"instrumentationClientRouterTransitionEvents":false,"prefetchInlining":{"maxSize":2048,"maxBundleSize":10240},"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","proxyPrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":3,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptOperationCache":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"devMemoryThresholdRestart":true,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"requestInsights":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"strictRouteTypes":false,"useTypeScriptCli":true,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":true,"staleTimes":{"dynamic":0,"static":300},"reactDebugChannel":true,"serverComponentsHmrCache":true,"serverComponentsHmrCancellation":false,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"transitionIndicator":false,"gestureTransition":false,"inlineCss":false,"useCache":false,"globalNotFound":false,"browserDebugInfoInTerminal":"warn","lockDistDir":true,"proxyClientMaxBodySize":10485760,"hideLogsAfterAbort":false,"mcpServer":true,"turbopackFileSystemCacheForDev":true,"turbopackFileSystemCacheForBuild":true,"turbopackInferModuleSideEffects":true,"turbopackPluginRuntimeStrategy":"childProcesses","turbopackMemoryEvictionMode":"auto","optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"useCacheTimeout":54,"instantInsights":{"validationLevel":"warning"},"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":false,"configFileName":"next.config.ts","outputFileTracingExcludes":{"*":["node_modules/@img/**","node_modules/sharp/**"]},"turbopack":{"root":"/home/runner/work/failproofai/failproofai"},"repoRoot":"/home/runner/work/failproofai/failproofai","distDirRoot":".next"}
|
|
13
13
|
|
|
14
14
|
process.env.__NEXT_PRIVATE_STANDALONE_CONFIG = JSON.stringify(nextConfig)
|
|
15
15
|
|