failproofai 1.0.8 → 1.0.9-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 +5 -5
- package/.next/standalone/.next/prerender-manifest.json +4 -4
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +2 -2
- 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/build-manifest.json +2 -2
- 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 +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/_not-found/__PAGE__.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- 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.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/build-manifest.json +2 -2
- 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 +15 -15
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/page/build-manifest.json +2 -2
- 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/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +14 -14
- package/.next/standalone/.next/server/app/policies/page.js +4 -4
- 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/build-manifest.json +2 -2
- 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/build-manifest.json +2 -2
- 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/build-manifest.json +2 -2
- 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/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +8 -8
- 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/_09dz7xv._.js +20 -20
- 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/_1ek68ln._.js +2 -2
- package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_01r25oi._.js +2 -2
- package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_09z9-p7._.js +2 -2
- package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_1nxcc4v._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_hooks_1aveq0u._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__03m2iw6._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__04usis8._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__056wjo4._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0n0xg95._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0rwtwpm._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__12e7nhs._.js → [root-of-the-server]__1-bm5zf._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11mayhe._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__15578wp._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1m_svbe._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1pprgri._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1q4p5b8._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_042cgl1._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_08x1r5t._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0bqoto4._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_11ilmst._.js +23 -0
- package/.next/standalone/.next/server/chunks/ssr/_1gb0ifp._.js +3 -3
- package/.next/standalone/.next/server/chunks/ssr/{_0-vcssj._.js → _1jatlmf._.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 +3 -3
- package/.next/standalone/.next/server/chunks/ssr/app_actions_get-scheduled-audit_ts_0ei9sni._.js +1 -1
- 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_02tf1h4._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuzn._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_effective-reviewers_ts_1h4wtvo._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_semantic_pack-policies_ts_0gh_bu_._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +5 -5
- 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 +23 -23
- package/.next/standalone/.next/static/chunks/{06jxjnw8bfczc.js → 0542cuk_va8g1.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0wbjy0zo-m7is.js → 08ckontevw-0w.js} +1 -1
- package/.next/standalone/.next/static/chunks/0pefjgvu4x-sx.js +1 -0
- package/.next/standalone/.next/static/chunks/{21uv-uusw329x.js → 1-d48e9k-7e1a.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0m-9d6yn9hx4j.js → 1r74hmr1wm_sd.js} +1 -1
- package/.next/standalone/.next/static/chunks/1uec0n0lcx5h1.js +1 -0
- package/.next/standalone/.next/static/chunks/21-pqc3-l9ak2.js +6 -0
- package/.next/standalone/.next/static/chunks/21qlo00jis4w-.js +1 -0
- package/.next/standalone/.next/static/chunks/2n00c3zqyloy9.js +1 -0
- package/.next/standalone/.next/static/chunks/{0bhidk90e-07f.css → 3_e_wg5_oay87.css} +1 -1
- package/.next/standalone/.next/static/chunks/{3c3qbmosdjl6w.js → 3tv107_for_n7.js} +1 -1
- package/.next/standalone/.next/static/chunks/{2qdpj67x6ifk_.js → 3vp54x0dyrrm6.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-38nzuvp95_2rv.js → turbopack-11dn2pegmg9_9.js} +1 -1
- package/.next/standalone/app/actions/get-jev-config.ts +2 -2
- package/.next/standalone/app/actions/update-jev-config.ts +12 -9
- package/.next/standalone/app/components/jev-notices.tsx +10 -10
- package/.next/standalone/app/settings/jev-panel.tsx +11 -11
- package/.next/standalone/fp-cloud-cli/CHANGELOG.md +2 -0
- package/.next/standalone/fp-cloud-cli/fp_cli/output.py +26 -0
- package/.next/standalone/fp-cloud-cli/tests/test_output.py +27 -0
- package/.next/standalone/fp-cloud-cli/uv.lock +3 -3
- package/.next/standalone/hermes-plugin/README.md +18 -8
- package/.next/standalone/node_modules/@next/env/package.json +1 -1
- package/.next/standalone/node_modules/next/dist/build/swc/index.js +1 -1
- package/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +1 -1
- package/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
- package/.next/standalone/node_modules/next/dist/server/config.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
- package/.next/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
- package/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
- package/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
- package/.next/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
- package/.next/standalone/node_modules/next/package.json +10 -10
- package/.next/standalone/package.json +12 -12
- package/.next/standalone/sdk/python/uv.lock +18 -18
- package/.next/standalone/server.js +1 -1
- package/bin/failproofai.mjs +33 -7
- package/dist/cli.mjs +1385 -1158
- package/dist/worker.mjs +59 -375
- package/hermes-plugin/README.md +18 -8
- package/package.json +12 -12
- package/scripts/build-policy-pack.mjs +6 -9
- package/src/hooks/cloud-connection.ts +12 -6
- package/src/hooks/custom-hooks-loader.ts +1 -1
- package/src/hooks/effective-reviewers.ts +50 -43
- package/src/hooks/handler.ts +25 -16
- package/src/hooks/hermes-update.ts +74 -0
- package/src/hooks/hook-activity-store.ts +3 -3
- package/src/hooks/integrations.ts +472 -68
- package/src/hooks/jev-activity.ts +8 -3
- package/src/hooks/jev-cli.ts +17 -17
- package/src/hooks/jev-cloud-connection.ts +4 -4
- package/src/hooks/manager.ts +3 -2
- package/src/hooks/pack-cli.ts +24 -23
- package/src/hooks/pack-manifest.ts +25 -2
- package/src/hooks/pack-store.ts +2 -2
- package/src/hooks/policy-authority.ts +51 -32
- package/src/hooks/policy-evaluator.ts +5 -5
- package/src/hooks/policy-registry.ts +5 -7
- package/src/hooks/policy-reviewability.ts +30 -12
- package/src/hooks/policy-types.ts +4 -4
- package/src/hooks/safe-config-write.ts +119 -0
- package/src/hooks/semantic/combine.ts +13 -13
- package/src/hooks/semantic/evaluator.ts +5 -5
- package/src/hooks/semantic/jev-client.ts +1 -1
- package/src/hooks/semantic/jev-config.ts +21 -12
- package/src/hooks/semantic/jev-review.ts +3 -3
- package/src/hooks/semantic/jev-stats.ts +17 -17
- package/src/hooks/semantic/pack-policies.ts +48 -48
- package/src/hooks/semantic/policies.ts +13 -425
- package/src/hooks/semantic/precondition-names.ts +1 -1
- package/src/hooks/semantic/preconditions.ts +1 -1
- package/src/hooks/semantic/types.ts +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__13t1zkw._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_13kfn90._.js +0 -23
- package/.next/standalone/.next/static/chunks/06dnzbolj00mc.js +0 -6
- package/.next/standalone/.next/static/chunks/16f3fa-lx38hk.js +0 -1
- package/.next/standalone/.next/static/chunks/2g2tki08kdhie.js +0 -1
- package/.next/standalone/.next/static/chunks/3-nbtkhg9y-1j.js +0 -1
- package/.next/standalone/.next/static/chunks/355km0ihuqo1p.js +0 -1
- /package/.next/standalone/.next/static/{5yKM8NoTOpUI0MoQl8eo5 → ozuWoyIwOTqeUUjKqOKiH}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{5yKM8NoTOpUI0MoQl8eo5 → ozuWoyIwOTqeUUjKqOKiH}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{5yKM8NoTOpUI0MoQl8eo5 → ozuWoyIwOTqeUUjKqOKiH}/_ssgManifest.js +0 -0
|
@@ -72,7 +72,7 @@ async function fetchPkgInfo(pkg) {
|
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
74
|
const data = await res.json();
|
|
75
|
-
const versionData = data.versions["16.3.
|
|
75
|
+
const versionData = data.versions["16.3.6"];
|
|
76
76
|
return {
|
|
77
77
|
os: versionData.os,
|
|
78
78
|
cpu: versionData.cpu,
|
|
@@ -100,7 +100,7 @@ async function patchIncorrectLockfile(dir) {
|
|
|
100
100
|
const expectedSwcPkgs = Object.keys(_packagejson.optionalDependencies || {}).filter((pkg)=>pkg.startsWith('@next/swc-'));
|
|
101
101
|
const patchDependency = (pkg, pkgData)=>{
|
|
102
102
|
lockfileParsed.dependencies[pkg] = {
|
|
103
|
-
version: "16.3.
|
|
103
|
+
version: "16.3.6",
|
|
104
104
|
resolved: pkgData.tarball,
|
|
105
105
|
integrity: pkgData.integrity,
|
|
106
106
|
optional: true
|
|
@@ -108,7 +108,7 @@ async function patchIncorrectLockfile(dir) {
|
|
|
108
108
|
};
|
|
109
109
|
const patchPackage = (pkg, pkgData)=>{
|
|
110
110
|
lockfileParsed.packages[pkg] = {
|
|
111
|
-
version: "16.3.
|
|
111
|
+
version: "16.3.6",
|
|
112
112
|
resolved: pkgData.tarball,
|
|
113
113
|
integrity: pkgData.integrity,
|
|
114
114
|
cpu: pkgData.cpu,
|
|
@@ -302,7 +302,7 @@ async function createHotReloaderTurbopack(opts, serverFields, distDir, resetFetc
|
|
|
302
302
|
}
|
|
303
303
|
const hasRewrites = opts.fsChecker.rewrites.afterFiles.length > 0 || opts.fsChecker.rewrites.beforeFiles.length > 0 || opts.fsChecker.rewrites.fallback.length > 0;
|
|
304
304
|
const hotReloaderSpan = (0, _trace.trace)('hot-reloader', undefined, {
|
|
305
|
-
version: "16.3.
|
|
305
|
+
version: "16.3.6"
|
|
306
306
|
});
|
|
307
307
|
// Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
|
|
308
308
|
// of the current `next dev` invocation.
|
|
@@ -362,7 +362,7 @@ async function createHotReloaderTurbopack(opts, serverFields, distDir, resetFetc
|
|
|
362
362
|
writeRoutesHashesManifest: false,
|
|
363
363
|
currentNodeJsVersion,
|
|
364
364
|
isPersistentCachingEnabled: (0, _utils2.isFileSystemCacheEnabledForDev)(opts.nextConfig),
|
|
365
|
-
nextVersion: "16.3.
|
|
365
|
+
nextVersion: "16.3.6",
|
|
366
366
|
serverHmr: serverFastRefresh
|
|
367
367
|
}, {
|
|
368
368
|
turbopackMemoryEviction: opts.nextConfig.experimental.turbopackMemoryEvictionMode,
|
|
@@ -234,7 +234,7 @@ class HotReloaderWebpack {
|
|
|
234
234
|
this.previewProps = previewProps;
|
|
235
235
|
this.rewrites = rewrites;
|
|
236
236
|
this.hotReloaderSpan = (0, _trace.trace)('hot-reloader', undefined, {
|
|
237
|
-
version: "16.3.
|
|
237
|
+
version: "16.3.6"
|
|
238
238
|
});
|
|
239
239
|
// Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
|
|
240
240
|
// of the current `next dev` invocation.
|
|
@@ -79,7 +79,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
79
79
|
}
|
|
80
80
|
function logStartInfo({ networkUrl, appUrl, envInfo, logBundler }) {
|
|
81
81
|
const versionSuffix = logBundler ? ` (${(0, _bundler.bundlerName)((0, _bundler.getBundlerFromEnv)())})` : '';
|
|
82
|
-
_log.bootstrap(`${(0, _picocolors.bold)((0, _picocolors.purple)(`${_log.prefixes.ready} Next.js ${"16.3.
|
|
82
|
+
_log.bootstrap(`${(0, _picocolors.bold)((0, _picocolors.purple)(`${_log.prefixes.ready} Next.js ${"16.3.6"}`))}${versionSuffix}`);
|
|
83
83
|
if (appUrl) {
|
|
84
84
|
_log.bootstrap(`- Local: ${appUrl}`);
|
|
85
85
|
}
|
|
@@ -177,7 +177,7 @@ async function getRequestHandlers({ dir, port, isDev, onDevServerCleanup, server
|
|
|
177
177
|
async function startServer(serverOptions) {
|
|
178
178
|
const { dir, isDev, hostname, minimalMode, allowRetry, keepAliveTimeout, selfSignedCertificate, serverFastRefresh } = serverOptions;
|
|
179
179
|
let { port } = serverOptions;
|
|
180
|
-
process.title = `next-server (v${"16.3.
|
|
180
|
+
process.title = `next-server (v${"16.3.6"})`;
|
|
181
181
|
let handlersReady = ()=>{};
|
|
182
182
|
let handlersError = ()=>{};
|
|
183
183
|
let handlersPromise = new Promise((resolve, reject)=>{
|
|
@@ -82,7 +82,7 @@ async function getAnonymousMeta() {
|
|
|
82
82
|
isWsl: _iswsl.default,
|
|
83
83
|
isCI: _ciinfo.isCI,
|
|
84
84
|
ciName: _ciinfo.isCI && _ciinfo.name || null,
|
|
85
|
-
nextVersion: "16.3.
|
|
85
|
+
nextVersion: "16.3.6",
|
|
86
86
|
agentName: await (0, _agentname.getAgentName)()
|
|
87
87
|
};
|
|
88
88
|
return traits;
|
|
@@ -12,12 +12,12 @@ const EVENT_VERSION = 'NEXT_CLI_SESSION_STARTED';
|
|
|
12
12
|
function eventCliSession(nextConfig, event) {
|
|
13
13
|
var _nextConfig_experimental, _nextConfig_experimental_staleTimes, _nextConfig_experimental_staleTimes1, _nextConfig_reactCompiler, _nextConfig_reactCompiler1;
|
|
14
14
|
// This should be an invariant, if it fails our build tooling is broken.
|
|
15
|
-
if (typeof "16.3.
|
|
15
|
+
if (typeof "16.3.6" !== 'string') {
|
|
16
16
|
return [];
|
|
17
17
|
}
|
|
18
18
|
const { images, i18n } = nextConfig || {};
|
|
19
19
|
const payload = {
|
|
20
|
-
nextVersion: "16.3.
|
|
20
|
+
nextVersion: "16.3.6",
|
|
21
21
|
nodeVersion: process.version,
|
|
22
22
|
cliCommand: event.cliCommand,
|
|
23
23
|
isSrcDir: event.isSrcDir,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "next",
|
|
3
|
-
"version": "16.3.
|
|
3
|
+
"version": "16.3.6",
|
|
4
4
|
"description": "The React Framework",
|
|
5
5
|
"main": "./dist/server/next.js",
|
|
6
6
|
"license": "MIT",
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"next": "./dist/bin/next"
|
|
82
82
|
},
|
|
83
83
|
"dependencies": {
|
|
84
|
-
"@next/env": "16.3.
|
|
84
|
+
"@next/env": "16.3.6",
|
|
85
85
|
"@swc/helpers": "0.5.23",
|
|
86
86
|
"baseline-browser-mapping": "^2.9.19",
|
|
87
87
|
"caniuse-lite": "^1.0.30001579",
|
|
@@ -112,14 +112,14 @@
|
|
|
112
112
|
},
|
|
113
113
|
"optionalDependencies": {
|
|
114
114
|
"sharp": "^0.35.4",
|
|
115
|
-
"@next/swc-darwin-arm64": "16.3.
|
|
116
|
-
"@next/swc-darwin-x64": "16.3.
|
|
117
|
-
"@next/swc-linux-arm64-gnu": "16.3.
|
|
118
|
-
"@next/swc-linux-arm64-musl": "16.3.
|
|
119
|
-
"@next/swc-linux-x64-gnu": "16.3.
|
|
120
|
-
"@next/swc-linux-x64-musl": "16.3.
|
|
121
|
-
"@next/swc-win32-arm64-msvc": "16.3.
|
|
122
|
-
"@next/swc-win32-x64-msvc": "16.3.
|
|
115
|
+
"@next/swc-darwin-arm64": "16.3.6",
|
|
116
|
+
"@next/swc-darwin-x64": "16.3.6",
|
|
117
|
+
"@next/swc-linux-arm64-gnu": "16.3.6",
|
|
118
|
+
"@next/swc-linux-arm64-musl": "16.3.6",
|
|
119
|
+
"@next/swc-linux-x64-gnu": "16.3.6",
|
|
120
|
+
"@next/swc-linux-x64-musl": "16.3.6",
|
|
121
|
+
"@next/swc-win32-arm64-msvc": "16.3.6",
|
|
122
|
+
"@next/swc-win32-x64-msvc": "16.3.6"
|
|
123
123
|
},
|
|
124
124
|
"keywords": [
|
|
125
125
|
"react",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "failproofai",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.9-beta.1",
|
|
4
4
|
"description": "Observability and enforcement for AI agent harnesses. 40 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",
|
|
@@ -81,14 +81,14 @@
|
|
|
81
81
|
"access": "public"
|
|
82
82
|
},
|
|
83
83
|
"devDependencies": {
|
|
84
|
-
"@anthropic-ai/sdk": "^0.
|
|
84
|
+
"@anthropic-ai/sdk": "^0.128.0",
|
|
85
85
|
"@mdx-js/mdx": "^3.1.1",
|
|
86
86
|
"@tailwindcss/postcss": "^4.3.1",
|
|
87
87
|
"@tanstack/react-virtual": "^3.14.10",
|
|
88
88
|
"@testing-library/jest-dom": "^7.0.0",
|
|
89
89
|
"@testing-library/react": "^16.3.2",
|
|
90
90
|
"@testing-library/user-event": "^14.6.5",
|
|
91
|
-
"@types/node": "26.6.
|
|
91
|
+
"@types/node": "26.6.2",
|
|
92
92
|
"@types/react": "19.3.0",
|
|
93
93
|
"@types/react-dom": "^19.2.3",
|
|
94
94
|
"@vitejs/plugin-react": "^6.1.0",
|
|
@@ -116,21 +116,21 @@
|
|
|
116
116
|
"postcss": "8.5.26",
|
|
117
117
|
"eslint-plugin-react-hooks": "7.0.1",
|
|
118
118
|
"vite": "8.0.16",
|
|
119
|
-
"undici": "7.29.
|
|
119
|
+
"undici": "7.29.1",
|
|
120
120
|
"brace-expansion": "5.0.9",
|
|
121
121
|
"sharp": "0.35.4",
|
|
122
122
|
"browserslist": "4.28.8"
|
|
123
123
|
},
|
|
124
124
|
"optionalDependencies": {
|
|
125
|
-
"@failproofai/failproofaid-linux-x64": "1.0.
|
|
126
|
-
"@failproofai/failproofaid-linux-arm64": "1.0.
|
|
127
|
-
"@failproofai/failproofaid-darwin-x64": "1.0.
|
|
128
|
-
"@failproofai/failproofaid-darwin-arm64": "1.0.
|
|
125
|
+
"@failproofai/failproofaid-linux-x64": "1.0.9-beta.1",
|
|
126
|
+
"@failproofai/failproofaid-linux-arm64": "1.0.9-beta.1",
|
|
127
|
+
"@failproofai/failproofaid-darwin-x64": "1.0.9-beta.1",
|
|
128
|
+
"@failproofai/failproofaid-darwin-arm64": "1.0.9-beta.1"
|
|
129
129
|
},
|
|
130
130
|
"failproofaidBinaries": {
|
|
131
|
-
"linux-x64": "
|
|
132
|
-
"linux-arm64": "
|
|
133
|
-
"darwin-x64": "
|
|
134
|
-
"darwin-arm64": "
|
|
131
|
+
"linux-x64": "a0db1ad28bc0584bb4554b1dc60b55353fad9d982354880f9cc1e1ee567e5d36",
|
|
132
|
+
"linux-arm64": "b8d2797db8d93ce0deec86707093dd22ecd2d3fe2b137944938f4851d31718f1",
|
|
133
|
+
"darwin-x64": "94dc7ea33121c884736eadafc8281b0b752824b5c7fbe1726745bd1fa2b2a577",
|
|
134
|
+
"darwin-arm64": "8da18bbede18b8c112e8c46b6f0de798e84445c163a91a80edeef6d9e21da8ad"
|
|
135
135
|
}
|
|
136
136
|
}
|
|
@@ -1200,15 +1200,15 @@ wheels = [
|
|
|
1200
1200
|
|
|
1201
1201
|
[[package]]
|
|
1202
1202
|
name = "genai-prices"
|
|
1203
|
-
version = "0.1.
|
|
1203
|
+
version = "0.1.9"
|
|
1204
1204
|
source = { registry = "https://pypi.org/simple" }
|
|
1205
1205
|
dependencies = [
|
|
1206
1206
|
{ name = "httpx2" },
|
|
1207
1207
|
{ name = "pydantic" },
|
|
1208
1208
|
]
|
|
1209
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1209
|
+
sdist = { url = "https://files.pythonhosted.org/packages/d6/f0/4b4c7f63de6d558714d2207808080dd0988d0317a54ebcde790e4f6c1b6e/genai_prices-0.1.9.tar.gz", hash = "sha256:20ec774d32ec5d345510877fac415f2560bbfeb081bc4cd4e7ebce57a5503e8d", size = 118447, upload-time = "2026-09-25T03:47:27.569Z" }
|
|
1210
1210
|
wheels = [
|
|
1211
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1211
|
+
{ url = "https://files.pythonhosted.org/packages/1b/e0/57d07f653813b7ea9e3a82064a2b6a112f63004530ac665e0934829473c7/genai_prices-0.1.9-py3-none-any.whl", hash = "sha256:3da8faa0a126e4df7be36696b90abe2be1fea8826bfcf45d39d91bc397fa9d1d", size = 125549, upload-time = "2026-09-25T03:47:26.483Z" },
|
|
1212
1212
|
]
|
|
1213
1213
|
|
|
1214
1214
|
[[package]]
|
|
@@ -2003,7 +2003,7 @@ wheels = [
|
|
|
2003
2003
|
|
|
2004
2004
|
[[package]]
|
|
2005
2005
|
name = "langchain-core"
|
|
2006
|
-
version = "1.6.
|
|
2006
|
+
version = "1.6.5"
|
|
2007
2007
|
source = { registry = "https://pypi.org/simple" }
|
|
2008
2008
|
dependencies = [
|
|
2009
2009
|
{ name = "httpx" },
|
|
@@ -2017,9 +2017,9 @@ dependencies = [
|
|
|
2017
2017
|
{ name = "typing-extensions" },
|
|
2018
2018
|
{ name = "uuid-utils" },
|
|
2019
2019
|
]
|
|
2020
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2020
|
+
sdist = { url = "https://files.pythonhosted.org/packages/ed/ed/ceecd3bfcfc77a94cf30a9f1506e907fdea447458825e01914a72d2d1a6f/langchain_core-1.6.5.tar.gz", hash = "sha256:bdb059fef65473fd444558dbb18f50901657402c43ceed9dc0fdc7b76a393c6b", size = 1007041, upload-time = "2026-09-24T18:11:06.487Z" }
|
|
2021
2021
|
wheels = [
|
|
2022
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2022
|
+
{ url = "https://files.pythonhosted.org/packages/59/68/447ac7e734990b7ed9dcfc3b6dee9a4cd4d4169e296429fa71a9a47c1c7b/langchain_core-1.6.5-py3-none-any.whl", hash = "sha256:54c7b0e9314b9084fb04405bb33dc5d32986d512d92b7b8863899cd5f6267556", size = 572136, upload-time = "2026-09-24T18:11:04.837Z" },
|
|
2023
2023
|
]
|
|
2024
2024
|
|
|
2025
2025
|
[[package]]
|
|
@@ -2036,7 +2036,7 @@ wheels = [
|
|
|
2036
2036
|
|
|
2037
2037
|
[[package]]
|
|
2038
2038
|
name = "langgraph"
|
|
2039
|
-
version = "1.2.
|
|
2039
|
+
version = "1.2.12"
|
|
2040
2040
|
source = { registry = "https://pypi.org/simple" }
|
|
2041
2041
|
dependencies = [
|
|
2042
2042
|
{ name = "langchain-core" },
|
|
@@ -2046,9 +2046,9 @@ dependencies = [
|
|
|
2046
2046
|
{ name = "pydantic" },
|
|
2047
2047
|
{ name = "xxhash" },
|
|
2048
2048
|
]
|
|
2049
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2049
|
+
sdist = { url = "https://files.pythonhosted.org/packages/99/7e/c9e4431adb5eb78d15f0035aae162a113c80d037ceb433ddd78835217848/langgraph-1.2.12.tar.gz", hash = "sha256:5fae9fa4ce771e90f10ff19ce0d5aaef4b41d7632c713d769e89cbce1241a4b9", size = 734541, upload-time = "2026-09-21T14:43:29.684Z" }
|
|
2050
2050
|
wheels = [
|
|
2051
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2051
|
+
{ url = "https://files.pythonhosted.org/packages/52/27/5a02054c535ed6fcfb2ab1e5c33c51c810cf1e773194ad28c928f0473509/langgraph-1.2.12-py3-none-any.whl", hash = "sha256:95403af7b510de8d79164742f71daaf866c69ca804a8cb72bef2cc1fa1ab9813", size = 250206, upload-time = "2026-09-21T14:43:28.196Z" },
|
|
2052
2052
|
]
|
|
2053
2053
|
|
|
2054
2054
|
[[package]]
|
|
@@ -2141,7 +2141,7 @@ wheels = [
|
|
|
2141
2141
|
|
|
2142
2142
|
[[package]]
|
|
2143
2143
|
name = "llama-index-core"
|
|
2144
|
-
version = "0.14.
|
|
2144
|
+
version = "0.14.25"
|
|
2145
2145
|
source = { registry = "https://pypi.org/simple" }
|
|
2146
2146
|
dependencies = [
|
|
2147
2147
|
{ name = "aiohttp" },
|
|
@@ -2176,9 +2176,9 @@ dependencies = [
|
|
|
2176
2176
|
{ name = "typing-inspect" },
|
|
2177
2177
|
{ name = "wrapt" },
|
|
2178
2178
|
]
|
|
2179
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2179
|
+
sdist = { url = "https://files.pythonhosted.org/packages/d8/70/fe1f0a92459c3692075875c1e09fc51494602daaeb71734045e1d9d815d3/llama_index_core-0.14.25.tar.gz", hash = "sha256:4ebfdc5317f0382501fa80262d7a7382715f80741cf41a7b11a52d4335e6f696", size = 11591384, upload-time = "2026-09-21T16:21:51.975Z" }
|
|
2180
2180
|
wheels = [
|
|
2181
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2181
|
+
{ url = "https://files.pythonhosted.org/packages/8c/20/60be179aaba858981edbe18eab106ff485967a9d3b198f8c58496cad9e32/llama_index_core-0.14.25-py3-none-any.whl", hash = "sha256:caa7d9c5ac9b13dc33400cf8d5e92e689b6d1e4497eb9bfa50d6f52ca2eb22a1", size = 11928254, upload-time = "2026-09-21T16:21:48.626Z" },
|
|
2182
2182
|
]
|
|
2183
2183
|
|
|
2184
2184
|
[[package]]
|
|
@@ -3906,7 +3906,7 @@ wheels = [
|
|
|
3906
3906
|
|
|
3907
3907
|
[[package]]
|
|
3908
3908
|
name = "pydantic-ai-slim"
|
|
3909
|
-
version = "2.
|
|
3909
|
+
version = "2.50.0"
|
|
3910
3910
|
source = { registry = "https://pypi.org/simple" }
|
|
3911
3911
|
dependencies = [
|
|
3912
3912
|
{ name = "anyio" },
|
|
@@ -3919,9 +3919,9 @@ dependencies = [
|
|
|
3919
3919
|
{ name = "pydantic-graph" },
|
|
3920
3920
|
{ name = "typing-inspection" },
|
|
3921
3921
|
]
|
|
3922
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
3922
|
+
sdist = { url = "https://files.pythonhosted.org/packages/27/9a/a5a37121adfc6771aefc0d84a41b8fec690ee0951403925cb7cff9452c21/pydantic_ai_slim-2.50.0.tar.gz", hash = "sha256:aa1ab6bfca4590e09e70c9147c4712bdc3e435a6e38d63a4c84a30254b80965f", size = 1630594, upload-time = "2026-09-25T05:03:32.812Z" }
|
|
3923
3923
|
wheels = [
|
|
3924
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3924
|
+
{ url = "https://files.pythonhosted.org/packages/d8/91/a91b43280c24f2fb014eed24ce3ac305d87b00721247741109a48803d569/pydantic_ai_slim-2.50.0-py3-none-any.whl", hash = "sha256:50bd9a355d31698f191b50070f5ab9c57faea2a59a5bd67715c1e23aa1d2a3b3", size = 1928462, upload-time = "2026-09-25T05:03:24.765Z" },
|
|
3925
3925
|
]
|
|
3926
3926
|
|
|
3927
3927
|
[[package]]
|
|
@@ -4044,7 +4044,7 @@ wheels = [
|
|
|
4044
4044
|
|
|
4045
4045
|
[[package]]
|
|
4046
4046
|
name = "pydantic-graph"
|
|
4047
|
-
version = "2.
|
|
4047
|
+
version = "2.50.0"
|
|
4048
4048
|
source = { registry = "https://pypi.org/simple" }
|
|
4049
4049
|
dependencies = [
|
|
4050
4050
|
{ name = "anyio" },
|
|
@@ -4052,9 +4052,9 @@ dependencies = [
|
|
|
4052
4052
|
{ name = "pydantic" },
|
|
4053
4053
|
{ name = "typing-inspection" },
|
|
4054
4054
|
]
|
|
4055
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
4055
|
+
sdist = { url = "https://files.pythonhosted.org/packages/ad/bf/230e4c04be14ed0f9c677210e375e4c65e9dac35781601cacdbde7f9fcce/pydantic_graph-2.50.0.tar.gz", hash = "sha256:15a4ab9594baec4c6ce74e7af1b7742f8e546d79c9896a4fea18c1bd83b2b536", size = 45254, upload-time = "2026-09-25T05:03:35.146Z" }
|
|
4056
4056
|
wheels = [
|
|
4057
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
4057
|
+
{ url = "https://files.pythonhosted.org/packages/9b/3e/4ae59d3988f342bb8dd4a1f23b7add85cce879dffb75c1ab5ef4be35fc55/pydantic_graph-2.50.0-py3-none-any.whl", hash = "sha256:e43d9742a9924e1e5344fe3cf81a7f8c55d7a524fbc83bec523f284d0f1a31e5", size = 52763, upload-time = "2026-09-25T05:03:28.221Z" },
|
|
4058
4058
|
]
|
|
4059
4059
|
|
|
4060
4060
|
[[package]]
|
|
@@ -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.
|
|
12
|
+
const nextConfig = {"env":{"NEXT_PUBLIC_APP_VERSION":"1.0.9-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
|
|
package/bin/failproofai.mjs
CHANGED
|
@@ -965,7 +965,7 @@ async function runCli() {
|
|
|
965
965
|
"",
|
|
966
966
|
"FailproofAI Cloud needs no setup here: `failproofai config --token",
|
|
967
967
|
"<key>` with a key that carries jev:evaluate (the \"machine\" preset)",
|
|
968
|
-
"turns it on in
|
|
968
|
+
"turns it on in observe mode when there is no jev.json yet — except",
|
|
969
969
|
"with --no-transcripts, which only stores the key; then",
|
|
970
970
|
"`failproofai jev setup --provider failproofai` switches it on. Its",
|
|
971
971
|
"key stays in credentials.json; no --url ever selects it.",
|
|
@@ -982,7 +982,7 @@ async function runCli() {
|
|
|
982
982
|
["--account-id <id>", "Cloudflare account id (32 hex characters)."],
|
|
983
983
|
["--base-url <url>", "Override the API base; `default` clears it."],
|
|
984
984
|
["--model <id>", "Override the model id; `default` clears it."],
|
|
985
|
-
["--mode <m>", "enforce (default),
|
|
985
|
+
["--mode <m>", "enforce (default), observe (log Jev, enforce regex), or off."],
|
|
986
986
|
["--timeout-ms <n>", "Per-call budget before falling back. Default 3000."],
|
|
987
987
|
],
|
|
988
988
|
},
|
|
@@ -993,7 +993,7 @@ async function runCli() {
|
|
|
993
993
|
" else can read — or one in a directory anyone else can WRITE, who",
|
|
994
994
|
" could replace it — is refused; a repository can never set it.",
|
|
995
995
|
"• Re-running setup for the same provider keeps the key, so",
|
|
996
|
-
" `failproofai jev setup --mode
|
|
996
|
+
" `failproofai jev setup --mode observe` just switches the mode.",
|
|
997
997
|
"• The daemon does not see your shell's environment: keep the key in",
|
|
998
998
|
" the file on a machine set up with `failproofai config`.",
|
|
999
999
|
"• --token is the fast path, not the safe one: your shell history keeps",
|
|
@@ -1007,7 +1007,7 @@ async function runCli() {
|
|
|
1007
1007
|
"failproofai jev --url https://openrouter.ai/api/v1 --token <token>",
|
|
1008
1008
|
"failproofai jev setup --provider typesafe --key-stdin < ~/typesafe.key",
|
|
1009
1009
|
"failproofai jev setup --provider cloudflare --account-id <id> --key-stdin",
|
|
1010
|
-
"failproofai config --token <key> (FailproofAI Cloud,
|
|
1010
|
+
"failproofai config --token <key> (FailproofAI Cloud, observe mode)",
|
|
1011
1011
|
"failproofai jev setup --mode enforce (switch the configured route's mode)",
|
|
1012
1012
|
"failproofai jev setup --mode off (keep the config, stop asking Jev)",
|
|
1013
1013
|
"failproofai jev test",
|
|
@@ -1180,6 +1180,9 @@ async function runCli() {
|
|
|
1180
1180
|
"",
|
|
1181
1181
|
"This does the rest of the upgrade: runs any pending layout migrations,",
|
|
1182
1182
|
"puts the matching daemon binary in place, and restarts the service.",
|
|
1183
|
+
"Hermes profiles already using failproofai are moved to the linked",
|
|
1184
|
+
"native plugin (legacy shell hooks never checked Hermes cron jobs).",
|
|
1185
|
+
"Exits non-zero when any half could not be brought current.",
|
|
1183
1186
|
],
|
|
1184
1187
|
},
|
|
1185
1188
|
{
|
|
@@ -1270,17 +1273,40 @@ async function runCli() {
|
|
|
1270
1273
|
}
|
|
1271
1274
|
}
|
|
1272
1275
|
|
|
1276
|
+
// Hermes is migrated AFTER the daemon, and gated on what the daemon that is
|
|
1277
|
+
// now running can do: the native plugin needs `policyEvaluation`, which
|
|
1278
|
+
// ≤1.0.5 daemons lack, so when the swap above could not happen (a sudo
|
|
1279
|
+
// system service with no sudo) the shell hooks stay and this fails loudly.
|
|
1280
|
+
let hermesOk = true;
|
|
1281
|
+
let hermesMigrated = 0;
|
|
1282
|
+
try {
|
|
1283
|
+
const { runHermesUpdateMigration } = await import("../src/hooks/hermes-update");
|
|
1284
|
+
const svc = await import("../src/hooks/daemon-service");
|
|
1285
|
+
const hermesResult = await runHermesUpdateMigration({
|
|
1286
|
+
daemonSupportsPolicyEvaluation: () => svc.probeDaemonPolicyEvaluation(),
|
|
1287
|
+
});
|
|
1288
|
+
if (hermesResult.lines.length > 0) report.push("", ...hermesResult.lines);
|
|
1289
|
+
hermesOk = hermesResult.ok;
|
|
1290
|
+
hermesMigrated = hermesResult.profiles.filter((p) => p.status === "migrated").length;
|
|
1291
|
+
} catch (err) {
|
|
1292
|
+
report.push("", `Hermes migration failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
1293
|
+
hermesOk = false;
|
|
1294
|
+
}
|
|
1295
|
+
|
|
1296
|
+
const updateOk = daemonOk && !migrationFailed && hermesOk;
|
|
1273
1297
|
await printReport("update", report, {
|
|
1274
|
-
ok:
|
|
1298
|
+
ok: updateOk,
|
|
1275
1299
|
meta: `v${version}`,
|
|
1276
1300
|
});
|
|
1277
1301
|
await track("cli_update", {
|
|
1278
|
-
ok:
|
|
1302
|
+
ok: updateOk,
|
|
1279
1303
|
migrations: migrationsRan,
|
|
1280
1304
|
migration_failed: migrationFailed,
|
|
1305
|
+
hermes_ok: hermesOk,
|
|
1306
|
+
hermes_migrated: hermesMigrated,
|
|
1281
1307
|
});
|
|
1282
1308
|
lastSubcommand = null;
|
|
1283
|
-
await exitAfterFlush(
|
|
1309
|
+
await exitAfterFlush(updateOk ? 0 : 1);
|
|
1284
1310
|
return;
|
|
1285
1311
|
}
|
|
1286
1312
|
|