failproofai 0.0.11 → 0.0.12
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/.codex/hooks.json +6 -7
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +5 -5
- 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/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 +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/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 +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/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +9 -9
- 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/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 +14 -14
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +9 -9
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- 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 +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/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/chunks/[root-of-the-server]__0dwpg-h._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0lnenda._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__13i_sva._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1_mqemn._.js +1 -1
- package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_01r25oi._.js +1 -1
- package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_09z9-p7._.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]__0808sha._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e4-6d8._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ehe24g._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g253ve._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0kjb_s4._.js → [root-of-the-server]__0ntd0fz._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__00uwqi6._.js → [root-of-the-server]__0vh88nr._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0vxf0_g._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12mcauo._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1mt35_w._.js +7 -7
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1pcxxwg._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1uvfwgr._.js +2 -2
- 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/{node_modules_html-to-image_es_index_0ihmbv4.js → node_modules_html-to-image_es_index_0bppeyf.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/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 +10 -10
- package/.next/standalone/.next/static/chunks/{3eik_d9qrvoft.js → 00_ypuitb29l0.js} +1 -1
- package/.next/standalone/.next/static/chunks/09l7dfsd4xapi.js +1 -0
- package/.next/standalone/.next/static/chunks/{15csyj1_rf0-w.js → 0qw65r3wfs089.js} +1 -1
- package/.next/standalone/.next/static/chunks/{02fywjt0by40a.js → 0ys-mwok1j9kp.js} +1 -1
- package/.next/standalone/.next/static/chunks/1ua5armwfph8o.js +31 -0
- package/.next/standalone/.next/static/chunks/{2y-jmvrjxz60x.js → 2ey-m4-p9z7e0.js} +1 -1
- package/.next/standalone/.next/static/chunks/{3v61675vr6jav.js → 3-veva26100-4.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0xdx2ehtbdoeg.js → 36yb_gsfgfga4.js} +1 -1
- package/.next/standalone/.next/static/chunks/{2n_s8v1ae38_a.js → 3jk5y-qgnnti_.js} +1 -1
- package/.next/standalone/.next/static/chunks/{1-a5rvq67k7ed.js → 3pb3m-89k7ts2.js} +1 -1
- package/.next/standalone/.next/static/chunks/{turbopack-3lrm4f20fz89b.js → turbopack-0vavqo2d-tlt3.js} +1 -1
- package/.next/standalone/node_modules/@next/env/package.json +7 -8
- 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/shared/lib/errors/canary-only-config-error.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 -252
- package/.next/standalone/package.json +3 -3
- package/.next/standalone/server.js +1 -1
- package/dist/cli.mjs +20 -11
- package/package.json +3 -3
- package/src/hooks/integrations.ts +22 -9
- package/src/hooks/types.ts +2 -2
- package/.next/standalone/.next/static/chunks/24cv31x607n7k.js +0 -1
- package/.next/standalone/.next/static/chunks/2h0dkzyy0vocp.js +0 -31
- /package/.next/standalone/.next/static/{P_MIRSeoE296wkbE-Icin → PdZTBvCBXzDRLe-duL9yC}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{P_MIRSeoE296wkbE-Icin → PdZTBvCBXzDRLe-duL9yC}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{P_MIRSeoE296wkbE-Icin → PdZTBvCBXzDRLe-duL9yC}/_ssgManifest.js +0 -0
|
@@ -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.2.
|
|
237
|
+
version: "16.2.10"
|
|
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.
|
|
@@ -85,7 +85,7 @@ function logStartInfo({ networkUrl, appUrl, envInfo, logBundler }) {
|
|
|
85
85
|
if (parts.length > 0) {
|
|
86
86
|
versionSuffix = ` (${parts.join(', ')})`;
|
|
87
87
|
}
|
|
88
|
-
_log.bootstrap(`${(0, _picocolors.bold)((0, _picocolors.purple)(`${_log.prefixes.ready} Next.js ${"16.2.
|
|
88
|
+
_log.bootstrap(`${(0, _picocolors.bold)((0, _picocolors.purple)(`${_log.prefixes.ready} Next.js ${"16.2.10"}`))}${versionSuffix}`);
|
|
89
89
|
if (appUrl) {
|
|
90
90
|
_log.bootstrap(`- Local: ${appUrl}`);
|
|
91
91
|
}
|
|
@@ -178,7 +178,7 @@ async function getRequestHandlers({ dir, port, isDev, onDevServerCleanup, server
|
|
|
178
178
|
async function startServer(serverOptions) {
|
|
179
179
|
const { dir, isDev, hostname, minimalMode, allowRetry, keepAliveTimeout, selfSignedCertificate, serverFastRefresh } = serverOptions;
|
|
180
180
|
let { port } = serverOptions;
|
|
181
|
-
process.title = `next-server (v${"16.2.
|
|
181
|
+
process.title = `next-server (v${"16.2.10"})`;
|
|
182
182
|
let handlersReady = ()=>{};
|
|
183
183
|
let handlersError = ()=>{};
|
|
184
184
|
let handlersPromise = new Promise((resolve, reject)=>{
|
package/.next/standalone/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js
CHANGED
|
@@ -21,7 +21,7 @@ _export(exports, {
|
|
|
21
21
|
}
|
|
22
22
|
});
|
|
23
23
|
function isStableBuild() {
|
|
24
|
-
return !"16.2.
|
|
24
|
+
return !"16.2.10"?.includes('canary') && !process.env.__NEXT_TEST_MODE && !process.env.NEXT_PRIVATE_LOCAL_DEV;
|
|
25
25
|
}
|
|
26
26
|
class CanaryOnlyConfigError extends Error {
|
|
27
27
|
constructor(arg){
|
|
@@ -12,12 +12,12 @@ const EVENT_VERSION = 'NEXT_CLI_SESSION_STARTED';
|
|
|
12
12
|
function eventCliSession(nextConfig, event) {
|
|
13
13
|
var _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.2.
|
|
15
|
+
if (typeof "16.2.10" !== 'string') {
|
|
16
16
|
return [];
|
|
17
17
|
}
|
|
18
18
|
const { images, i18n } = nextConfig || {};
|
|
19
19
|
const payload = {
|
|
20
|
-
nextVersion: "16.2.
|
|
20
|
+
nextVersion: "16.2.10",
|
|
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.2.
|
|
3
|
+
"version": "16.2.10",
|
|
4
4
|
"description": "The React Framework",
|
|
5
5
|
"main": "./dist/server/next.js",
|
|
6
6
|
"license": "MIT",
|
|
@@ -77,27 +77,8 @@
|
|
|
77
77
|
"bin": {
|
|
78
78
|
"next": "./dist/bin/next"
|
|
79
79
|
},
|
|
80
|
-
"scripts": {
|
|
81
|
-
"dev": "cross-env NEXT_SERVER_NO_MANGLE=1 taskr",
|
|
82
|
-
"build": "taskr release",
|
|
83
|
-
"prepublishOnly": "cd ../../ && turbo run build",
|
|
84
|
-
"types": "tsc --project tsconfig.build.json --declaration --emitDeclarationOnly --stripInternal --declarationDir dist",
|
|
85
|
-
"typescript": "tsec --noEmit",
|
|
86
|
-
"ncc-compiled": "taskr ncc",
|
|
87
|
-
"storybook": "BROWSER=none storybook dev -p 6006",
|
|
88
|
-
"build-storybook": "storybook build",
|
|
89
|
-
"test-storybook": "test-storybook"
|
|
90
|
-
},
|
|
91
|
-
"taskr": {
|
|
92
|
-
"requires": [
|
|
93
|
-
"./taskfile-webpack.js",
|
|
94
|
-
"./taskfile-ncc.js",
|
|
95
|
-
"./taskfile-swc.js",
|
|
96
|
-
"./taskfile-watch.js"
|
|
97
|
-
]
|
|
98
|
-
},
|
|
99
80
|
"dependencies": {
|
|
100
|
-
"@next/env": "16.2.
|
|
81
|
+
"@next/env": "16.2.10",
|
|
101
82
|
"@swc/helpers": "0.5.15",
|
|
102
83
|
"baseline-browser-mapping": "^2.9.19",
|
|
103
84
|
"caniuse-lite": "^1.0.30001579",
|
|
@@ -128,237 +109,14 @@
|
|
|
128
109
|
},
|
|
129
110
|
"optionalDependencies": {
|
|
130
111
|
"sharp": "^0.34.5",
|
|
131
|
-
"@next/swc-darwin-arm64": "16.2.
|
|
132
|
-
"@next/swc-darwin-x64": "16.2.
|
|
133
|
-
"@next/swc-linux-arm64-gnu": "16.2.
|
|
134
|
-
"@next/swc-linux-arm64-musl": "16.2.
|
|
135
|
-
"@next/swc-linux-x64-gnu": "16.2.
|
|
136
|
-
"@next/swc-linux-x64-musl": "16.2.
|
|
137
|
-
"@next/swc-win32-arm64-msvc": "16.2.
|
|
138
|
-
"@next/swc-win32-x64-msvc": "16.2.
|
|
139
|
-
},
|
|
140
|
-
"devDependencies": {
|
|
141
|
-
"@babel/core": "7.26.10",
|
|
142
|
-
"@babel/eslint-parser": "7.24.6",
|
|
143
|
-
"@babel/generator": "7.27.0",
|
|
144
|
-
"@babel/plugin-syntax-bigint": "7.8.3",
|
|
145
|
-
"@babel/plugin-syntax-dynamic-import": "7.8.3",
|
|
146
|
-
"@babel/plugin-syntax-import-attributes": "7.26.0",
|
|
147
|
-
"@babel/plugin-syntax-jsx": "7.25.9",
|
|
148
|
-
"@babel/plugin-syntax-typescript": "7.25.4",
|
|
149
|
-
"@babel/plugin-transform-class-properties": "7.25.9",
|
|
150
|
-
"@babel/plugin-transform-export-namespace-from": "7.25.9",
|
|
151
|
-
"@babel/plugin-transform-modules-commonjs": "7.26.3",
|
|
152
|
-
"@babel/plugin-transform-numeric-separator": "7.25.9",
|
|
153
|
-
"@babel/plugin-transform-object-rest-spread": "7.25.9",
|
|
154
|
-
"@babel/plugin-transform-runtime": "7.26.10",
|
|
155
|
-
"@babel/preset-env": "7.26.9",
|
|
156
|
-
"@babel/preset-react": "7.26.3",
|
|
157
|
-
"@babel/preset-typescript": "7.27.0",
|
|
158
|
-
"@babel/runtime": "7.27.0",
|
|
159
|
-
"@babel/traverse": "7.27.0",
|
|
160
|
-
"@babel/types": "7.27.0",
|
|
161
|
-
"@base-ui-components/react": "1.0.0-beta.2",
|
|
162
|
-
"@capsizecss/metrics": "3.4.0",
|
|
163
|
-
"@edge-runtime/cookies": "6.0.0",
|
|
164
|
-
"@edge-runtime/ponyfill": "4.0.0",
|
|
165
|
-
"@edge-runtime/primitives": "6.0.0",
|
|
166
|
-
"@hapi/accept": "5.0.2",
|
|
167
|
-
"@jest/transform": "29.5.0",
|
|
168
|
-
"@jest/types": "29.5.0",
|
|
169
|
-
"@modelcontextprotocol/sdk": "1.18.1",
|
|
170
|
-
"@mswjs/interceptors": "0.23.0",
|
|
171
|
-
"@napi-rs/triples": "1.2.0",
|
|
172
|
-
"@next/font": "16.2.9",
|
|
173
|
-
"@next/polyfill-module": "16.2.9",
|
|
174
|
-
"@next/polyfill-nomodule": "16.2.9",
|
|
175
|
-
"@next/react-refresh-utils": "16.2.9",
|
|
176
|
-
"@next/swc": "16.2.9",
|
|
177
|
-
"@opentelemetry/api": "1.6.0",
|
|
178
|
-
"@playwright/test": "1.58.2",
|
|
179
|
-
"@rspack/core": "1.6.7",
|
|
180
|
-
"@storybook/addon-a11y": "8.6.0",
|
|
181
|
-
"@storybook/addon-essentials": "8.6.0",
|
|
182
|
-
"@storybook/addon-interactions": "8.6.0",
|
|
183
|
-
"@storybook/addon-webpack5-compiler-swc": "3.0.0",
|
|
184
|
-
"@storybook/blocks": "8.6.0",
|
|
185
|
-
"@storybook/react": "8.6.0",
|
|
186
|
-
"@storybook/react-webpack5": "8.6.0",
|
|
187
|
-
"@storybook/test": "8.6.0",
|
|
188
|
-
"@storybook/test-runner": "0.21.0",
|
|
189
|
-
"@swc/core": "1.11.24",
|
|
190
|
-
"@swc/types": "0.1.7",
|
|
191
|
-
"@taskr/clear": "1.1.0",
|
|
192
|
-
"@taskr/esnext": "1.1.0",
|
|
193
|
-
"@types/babel__code-frame": "7.0.6",
|
|
194
|
-
"@types/babel__core": "7.20.5",
|
|
195
|
-
"@types/babel__generator": "7.27.0",
|
|
196
|
-
"@types/babel__template": "7.4.4",
|
|
197
|
-
"@types/babel__traverse": "7.20.7",
|
|
198
|
-
"@types/bytes": "3.1.1",
|
|
199
|
-
"@types/ci-info": "2.0.0",
|
|
200
|
-
"@types/compression": "0.0.36",
|
|
201
|
-
"@types/content-disposition": "0.5.4",
|
|
202
|
-
"@types/content-type": "1.1.3",
|
|
203
|
-
"@types/cookie": "0.3.3",
|
|
204
|
-
"@types/cross-spawn": "6.0.0",
|
|
205
|
-
"@types/debug": "4.1.5",
|
|
206
|
-
"@types/express-serve-static-core": "4.17.33",
|
|
207
|
-
"@types/fresh": "0.5.0",
|
|
208
|
-
"@types/glob": "7.1.1",
|
|
209
|
-
"@types/jsonwebtoken": "9.0.0",
|
|
210
|
-
"@types/lodash": "4.14.198",
|
|
211
|
-
"@types/lodash.curry": "4.1.6",
|
|
212
|
-
"@types/path-to-regexp": "1.7.0",
|
|
213
|
-
"@types/picomatch": "2.3.3",
|
|
214
|
-
"@types/platform": "1.3.4",
|
|
215
|
-
"@types/react": "19.0.8",
|
|
216
|
-
"@types/react-dom": "19.0.3",
|
|
217
|
-
"@types/react-is": "18.2.4",
|
|
218
|
-
"@types/semver": "7.3.1",
|
|
219
|
-
"@types/send": "0.14.4",
|
|
220
|
-
"@types/serve-handler": "6.1.4",
|
|
221
|
-
"@types/shell-quote": "1.7.1",
|
|
222
|
-
"@types/text-table": "0.2.1",
|
|
223
|
-
"@types/ua-parser-js": "0.7.36",
|
|
224
|
-
"@types/webpack-sources1": "npm:@types/webpack-sources@0.1.5",
|
|
225
|
-
"@types/ws": "8.2.0",
|
|
226
|
-
"@vercel/ncc": "0.34.0",
|
|
227
|
-
"@vercel/nft": "0.27.1",
|
|
228
|
-
"@vercel/routing-utils": "5.2.0",
|
|
229
|
-
"@vercel/turbopack-ecmascript-runtime": "*",
|
|
230
|
-
"acorn": "8.14.0",
|
|
231
|
-
"anser": "1.4.9",
|
|
232
|
-
"arg": "4.1.0",
|
|
233
|
-
"assert": "2.0.0",
|
|
234
|
-
"async-retry": "1.2.3",
|
|
235
|
-
"async-sema": "3.0.0",
|
|
236
|
-
"axe-playwright": "2.0.3",
|
|
237
|
-
"babel-loader": "10.0.0",
|
|
238
|
-
"babel-plugin-react-compiler": "0.0.0-experimental-1371fcb-20260227",
|
|
239
|
-
"babel-plugin-transform-define": "2.0.0",
|
|
240
|
-
"babel-plugin-transform-react-remove-prop-types": "0.4.24",
|
|
241
|
-
"browserify-zlib": "0.2.0",
|
|
242
|
-
"browserslist": "4.28.1",
|
|
243
|
-
"buffer": "5.6.0",
|
|
244
|
-
"busboy": "1.6.0",
|
|
245
|
-
"bytes": "3.1.1",
|
|
246
|
-
"ci-info": "watson/ci-info#f43f6a1cefff47fb361c88cf4b943fdbcaafe540",
|
|
247
|
-
"cli-select": "1.1.2",
|
|
248
|
-
"client-only": "0.0.1",
|
|
249
|
-
"commander": "12.1.0",
|
|
250
|
-
"comment-json": "3.0.3",
|
|
251
|
-
"compression": "1.7.4",
|
|
252
|
-
"conf": "5.0.0",
|
|
253
|
-
"constants-browserify": "1.0.0",
|
|
254
|
-
"content-disposition": "0.5.3",
|
|
255
|
-
"content-type": "1.0.4",
|
|
256
|
-
"cookie": "0.4.1",
|
|
257
|
-
"cross-env": "6.0.3",
|
|
258
|
-
"cross-spawn": "7.0.3",
|
|
259
|
-
"crypto-browserify": "3.12.0",
|
|
260
|
-
"css-loader": "7.1.2",
|
|
261
|
-
"css.escape": "1.5.1",
|
|
262
|
-
"cssnano-preset-default": "7.0.6",
|
|
263
|
-
"data-uri-to-buffer": "3.0.1",
|
|
264
|
-
"debug": "4.1.1",
|
|
265
|
-
"devalue": "2.0.1",
|
|
266
|
-
"domain-browser": "4.19.0",
|
|
267
|
-
"edge-runtime": "4.0.1",
|
|
268
|
-
"events": "3.3.0",
|
|
269
|
-
"find-up": "4.1.0",
|
|
270
|
-
"fresh": "0.5.2",
|
|
271
|
-
"glob": "7.1.7",
|
|
272
|
-
"gzip-size": "5.1.1",
|
|
273
|
-
"http-proxy": "1.18.1",
|
|
274
|
-
"http-proxy-agent": "5.0.0",
|
|
275
|
-
"https-browserify": "1.0.0",
|
|
276
|
-
"https-proxy-agent": "5.0.1",
|
|
277
|
-
"icss-utils": "5.1.0",
|
|
278
|
-
"ignore-loader": "0.1.2",
|
|
279
|
-
"image-size": "1.2.1",
|
|
280
|
-
"ipaddr.js": "2.2.0",
|
|
281
|
-
"is-docker": "2.0.0",
|
|
282
|
-
"is-wsl": "2.2.0",
|
|
283
|
-
"jest-worker": "27.5.1",
|
|
284
|
-
"json5": "2.2.3",
|
|
285
|
-
"jsonwebtoken": "9.0.0",
|
|
286
|
-
"loader-runner": "4.3.0",
|
|
287
|
-
"loader-utils2": "npm:loader-utils@2.0.4",
|
|
288
|
-
"loader-utils3": "npm:loader-utils@3.1.3",
|
|
289
|
-
"lodash.curry": "4.1.1",
|
|
290
|
-
"mini-css-extract-plugin": "2.4.4",
|
|
291
|
-
"msw": "2.3.0",
|
|
292
|
-
"nanoid": "3.1.32",
|
|
293
|
-
"native-url": "0.3.4",
|
|
294
|
-
"neo-async": "2.6.1",
|
|
295
|
-
"node-html-parser": "5.3.3",
|
|
296
|
-
"ora": "4.0.4",
|
|
297
|
-
"os-browserify": "0.3.0",
|
|
298
|
-
"p-limit": "3.1.0",
|
|
299
|
-
"p-queue": "6.6.2",
|
|
300
|
-
"path-browserify": "1.0.1",
|
|
301
|
-
"path-to-regexp": "6.3.0",
|
|
302
|
-
"picomatch": "4.0.1",
|
|
303
|
-
"postcss-flexbugs-fixes": "5.0.2",
|
|
304
|
-
"postcss-modules-extract-imports": "3.0.0",
|
|
305
|
-
"postcss-modules-local-by-default": "4.2.0",
|
|
306
|
-
"postcss-modules-scope": "3.0.0",
|
|
307
|
-
"postcss-modules-values": "4.0.0",
|
|
308
|
-
"postcss-preset-env": "7.4.3",
|
|
309
|
-
"postcss-safe-parser": "6.0.0",
|
|
310
|
-
"postcss-scss": "4.0.3",
|
|
311
|
-
"postcss-value-parser": "4.2.0",
|
|
312
|
-
"process": "0.11.10",
|
|
313
|
-
"punycode": "2.1.1",
|
|
314
|
-
"querystring-es3": "0.2.1",
|
|
315
|
-
"raw-body": "2.4.1",
|
|
316
|
-
"react-refresh": "0.12.0",
|
|
317
|
-
"recast": "0.23.11",
|
|
318
|
-
"regenerator-runtime": "0.13.4",
|
|
319
|
-
"safe-stable-stringify": "2.5.0",
|
|
320
|
-
"sass-loader": "16.0.5",
|
|
321
|
-
"schema-utils2": "npm:schema-utils@2.7.1",
|
|
322
|
-
"schema-utils3": "npm:schema-utils@3.0.0",
|
|
323
|
-
"semver": "7.3.2",
|
|
324
|
-
"send": "0.18.0",
|
|
325
|
-
"serve-handler": "6.1.6",
|
|
326
|
-
"server-only": "0.0.1",
|
|
327
|
-
"setimmediate": "1.0.5",
|
|
328
|
-
"shell-quote": "1.7.3",
|
|
329
|
-
"source-map": "0.6.1",
|
|
330
|
-
"source-map-loader": "5.0.0",
|
|
331
|
-
"source-map08": "npm:source-map@0.8.0-beta.0",
|
|
332
|
-
"stacktrace-parser": "0.1.10",
|
|
333
|
-
"storybook": "8.6.0",
|
|
334
|
-
"stream-browserify": "3.0.0",
|
|
335
|
-
"stream-http": "3.1.1",
|
|
336
|
-
"strict-event-emitter": "0.5.0",
|
|
337
|
-
"string-hash": "1.1.3",
|
|
338
|
-
"string_decoder": "1.3.0",
|
|
339
|
-
"strip-ansi": "6.0.0",
|
|
340
|
-
"style-loader": "4.0.0",
|
|
341
|
-
"superstruct": "1.0.3",
|
|
342
|
-
"tar": "7.5.11",
|
|
343
|
-
"taskr": "1.1.0",
|
|
344
|
-
"terser": "5.27.0",
|
|
345
|
-
"terser-webpack-plugin": "5.3.9",
|
|
346
|
-
"text-table": "0.2.0",
|
|
347
|
-
"timers-browserify": "2.0.12",
|
|
348
|
-
"tty-browserify": "0.0.1",
|
|
349
|
-
"typescript": "5.9.2",
|
|
350
|
-
"ua-parser-js": "1.0.35",
|
|
351
|
-
"unistore": "3.4.1",
|
|
352
|
-
"util": "0.12.4",
|
|
353
|
-
"vm-browserify": "1.1.2",
|
|
354
|
-
"watchpack": "2.4.0",
|
|
355
|
-
"web-vitals": "4.2.1",
|
|
356
|
-
"webpack": "5.98.0",
|
|
357
|
-
"webpack-sources1": "npm:webpack-sources@1.4.3",
|
|
358
|
-
"webpack-sources3": "npm:webpack-sources@3.2.3",
|
|
359
|
-
"ws": "8.2.3",
|
|
360
|
-
"zod": "3.25.76",
|
|
361
|
-
"zod-validation-error": "3.4.0"
|
|
112
|
+
"@next/swc-darwin-arm64": "16.2.10",
|
|
113
|
+
"@next/swc-darwin-x64": "16.2.10",
|
|
114
|
+
"@next/swc-linux-arm64-gnu": "16.2.10",
|
|
115
|
+
"@next/swc-linux-arm64-musl": "16.2.10",
|
|
116
|
+
"@next/swc-linux-x64-gnu": "16.2.10",
|
|
117
|
+
"@next/swc-linux-x64-musl": "16.2.10",
|
|
118
|
+
"@next/swc-win32-arm64-msvc": "16.2.10",
|
|
119
|
+
"@next/swc-win32-x64-msvc": "16.2.10"
|
|
362
120
|
},
|
|
363
121
|
"keywords": [
|
|
364
122
|
"react",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "failproofai",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.12",
|
|
4
4
|
"description": "The easiest way to manage policies that keep your AI agents reliable, on-task, and running autonomously — for Claude Code & the Agents SDK",
|
|
5
5
|
"bin": {
|
|
6
6
|
"failproofai": "./dist/cli.mjs"
|
|
@@ -72,14 +72,14 @@
|
|
|
72
72
|
"access": "public"
|
|
73
73
|
},
|
|
74
74
|
"devDependencies": {
|
|
75
|
-
"@anthropic-ai/sdk": "^0.
|
|
75
|
+
"@anthropic-ai/sdk": "^0.110.0",
|
|
76
76
|
"@mdx-js/mdx": "^3.1.1",
|
|
77
77
|
"@tailwindcss/postcss": "^4.3.1",
|
|
78
78
|
"@tanstack/react-virtual": "^3.14.3",
|
|
79
79
|
"@testing-library/jest-dom": "^6.9.1",
|
|
80
80
|
"@testing-library/react": "^16.3.2",
|
|
81
81
|
"@testing-library/user-event": "^14.6.1",
|
|
82
|
-
"@types/node": "26.
|
|
82
|
+
"@types/node": "26.1.0",
|
|
83
83
|
"@types/react": "19.2.17",
|
|
84
84
|
"@types/react-dom": "^19.2.3",
|
|
85
85
|
"@vitejs/plugin-react": "^6.0.1",
|
|
@@ -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":"0.0.
|
|
12
|
+
const nextConfig = {"env":{"NEXT_PUBLIC_APP_VERSION":"0.0.12"},"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"],"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","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":false,"useSkewCookie":false,"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"cachedNavigations":false,"partialFallbacks":false,"dynamicOnHover":false,"varyParams":false,"prefetchInlining":false,"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","proxyPrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":3,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"imgOptSkipMetadata":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"strictRouteTypes":false,"viewTransition":false,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":false,"staleTimes":{"dynamic":0,"static":300},"reactDebugChannel":true,"serverComponentsHmrCache":true,"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":false,"turbopackInferModuleSideEffects":true,"turbopackPluginRuntimeStrategy":"childProcesses","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"],"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"},"distDirRoot":".next"}
|
|
13
13
|
|
|
14
14
|
process.env.__NEXT_PRIVATE_STANDALONE_CONFIG = JSON.stringify(nextConfig)
|
|
15
15
|
|
package/dist/cli.mjs
CHANGED
|
@@ -16,7 +16,7 @@ var __export = (target, all) => {
|
|
|
16
16
|
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
17
17
|
|
|
18
18
|
// package.json
|
|
19
|
-
var version2 = "0.0.
|
|
19
|
+
var version2 = "0.0.12";
|
|
20
20
|
var init_package = () => {};
|
|
21
21
|
|
|
22
22
|
// src/posthog-key.ts
|
|
@@ -6437,6 +6437,13 @@ function isMarkedHook(hook) {
|
|
|
6437
6437
|
const cmd = typeof h.command === "string" ? h.command : "";
|
|
6438
6438
|
return cmd.includes("failproofai") && cmd.includes("--hook");
|
|
6439
6439
|
}
|
|
6440
|
+
function stripLegacyVersion(settings) {
|
|
6441
|
+
if ("version" in settings) {
|
|
6442
|
+
delete settings.version;
|
|
6443
|
+
return true;
|
|
6444
|
+
}
|
|
6445
|
+
return false;
|
|
6446
|
+
}
|
|
6440
6447
|
function binaryExists(name) {
|
|
6441
6448
|
try {
|
|
6442
6449
|
const cmd = process.platform === "win32" ? `where ${name}` : `which ${name}`;
|
|
@@ -6831,10 +6838,7 @@ var init_integrations = __esm(() => {
|
|
|
6831
6838
|
}
|
|
6832
6839
|
},
|
|
6833
6840
|
readSettings(settingsPath) {
|
|
6834
|
-
|
|
6835
|
-
if (raw.version === undefined)
|
|
6836
|
-
raw.version = 1;
|
|
6837
|
-
return raw;
|
|
6841
|
+
return readJsonFile(settingsPath);
|
|
6838
6842
|
},
|
|
6839
6843
|
writeSettings(settingsPath, settings) {
|
|
6840
6844
|
writeJsonFile(settingsPath, settings);
|
|
@@ -6844,15 +6848,14 @@ var init_integrations = __esm(() => {
|
|
|
6844
6848
|
return {
|
|
6845
6849
|
type: "command",
|
|
6846
6850
|
command,
|
|
6847
|
-
timeout:
|
|
6851
|
+
timeout: 60,
|
|
6848
6852
|
[FAILPROOFAI_HOOK_MARKER]: true
|
|
6849
6853
|
};
|
|
6850
6854
|
},
|
|
6851
6855
|
isFailproofaiHook: isMarkedHook,
|
|
6852
6856
|
writeHookEntries(settings, binaryPath, scope) {
|
|
6853
6857
|
const s = settings;
|
|
6854
|
-
|
|
6855
|
-
s.version = 1;
|
|
6858
|
+
stripLegacyVersion(s);
|
|
6856
6859
|
if (!s.hooks)
|
|
6857
6860
|
s.hooks = {};
|
|
6858
6861
|
for (const eventType of CODEX_HOOK_EVENT_TYPES) {
|
|
@@ -6878,8 +6881,12 @@ var init_integrations = __esm(() => {
|
|
|
6878
6881
|
},
|
|
6879
6882
|
removeHooksFromFile(settingsPath) {
|
|
6880
6883
|
const settings = this.readSettings(settingsPath);
|
|
6881
|
-
|
|
6884
|
+
const hadVersion = stripLegacyVersion(settings);
|
|
6885
|
+
if (!settings.hooks) {
|
|
6886
|
+
if (hadVersion)
|
|
6887
|
+
this.writeSettings(settingsPath, settings);
|
|
6882
6888
|
return 0;
|
|
6889
|
+
}
|
|
6883
6890
|
let removed = 0;
|
|
6884
6891
|
for (const eventType of Object.keys(settings.hooks)) {
|
|
6885
6892
|
const matchers = settings.hooks[eventType];
|
|
@@ -6900,7 +6907,9 @@ var init_integrations = __esm(() => {
|
|
|
6900
6907
|
}
|
|
6901
6908
|
if (Object.keys(settings.hooks).length === 0)
|
|
6902
6909
|
delete settings.hooks;
|
|
6903
|
-
|
|
6910
|
+
if (removed > 0 || hadVersion) {
|
|
6911
|
+
this.writeSettings(settingsPath, settings);
|
|
6912
|
+
}
|
|
6904
6913
|
return removed;
|
|
6905
6914
|
},
|
|
6906
6915
|
hooksInstalledInSettings(scope, cwd) {
|
|
@@ -11836,7 +11845,7 @@ import { realpathSync as realpathSync4 } from "fs";
|
|
|
11836
11845
|
import { dirname as dirname9, resolve as resolve17 } from "path";
|
|
11837
11846
|
import { fileURLToPath as fileURLToPath4 } from "url";
|
|
11838
11847
|
// package.json
|
|
11839
|
-
var version = "0.0.
|
|
11848
|
+
var version = "0.0.12";
|
|
11840
11849
|
|
|
11841
11850
|
// bin/failproofai.mjs
|
|
11842
11851
|
if (!process.env.FAILPROOFAI_PACKAGE_ROOT) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "failproofai",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.12",
|
|
4
4
|
"description": "The easiest way to manage policies that keep your AI agents reliable, on-task, and running autonomously — for Claude Code & the Agents SDK",
|
|
5
5
|
"bin": {
|
|
6
6
|
"failproofai": "./dist/cli.mjs"
|
|
@@ -72,14 +72,14 @@
|
|
|
72
72
|
"access": "public"
|
|
73
73
|
},
|
|
74
74
|
"devDependencies": {
|
|
75
|
-
"@anthropic-ai/sdk": "^0.
|
|
75
|
+
"@anthropic-ai/sdk": "^0.110.0",
|
|
76
76
|
"@mdx-js/mdx": "^3.1.1",
|
|
77
77
|
"@tailwindcss/postcss": "^4.3.1",
|
|
78
78
|
"@tanstack/react-virtual": "^3.14.3",
|
|
79
79
|
"@testing-library/jest-dom": "^6.9.1",
|
|
80
80
|
"@testing-library/react": "^16.3.2",
|
|
81
81
|
"@testing-library/user-event": "^14.6.1",
|
|
82
|
-
"@types/node": "26.
|
|
82
|
+
"@types/node": "26.1.0",
|
|
83
83
|
"@types/react": "19.2.17",
|
|
84
84
|
"@types/react-dom": "^19.2.3",
|
|
85
85
|
"@vitejs/plugin-react": "^6.0.1",
|
|
@@ -59,6 +59,14 @@ function isMarkedHook(hook: unknown): boolean {
|
|
|
59
59
|
return cmd.includes("failproofai") && cmd.includes("--hook");
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
+
function stripLegacyVersion(settings: Record<string, unknown>): boolean {
|
|
63
|
+
if ("version" in settings) {
|
|
64
|
+
delete settings.version;
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
|
|
62
70
|
function binaryExists(name: string): boolean {
|
|
63
71
|
try {
|
|
64
72
|
const cmd = process.platform === "win32" ? `where ${name}` : `which ${name}`;
|
|
@@ -232,10 +240,9 @@ export const claudeCode: Integration = {
|
|
|
232
240
|
// • Settings paths: ~/.codex/hooks.json (user) and <cwd>/.codex/hooks.json (project)
|
|
233
241
|
// • Stdin event names arrive snake_case (pre_tool_use); we canonicalize to PascalCase before policy lookup
|
|
234
242
|
// • No "local" scope
|
|
235
|
-
// • Settings file
|
|
243
|
+
// • Settings file does NOT carry a top-level "version" marker (Codex strictly expects only `hooks`)
|
|
236
244
|
|
|
237
245
|
interface CodexSettingsFile {
|
|
238
|
-
version?: number;
|
|
239
246
|
hooks?: Record<string, ClaudeHookMatcher[]>;
|
|
240
247
|
[key: string]: unknown;
|
|
241
248
|
}
|
|
@@ -261,9 +268,7 @@ export const codex: Integration = {
|
|
|
261
268
|
},
|
|
262
269
|
|
|
263
270
|
readSettings(settingsPath) {
|
|
264
|
-
|
|
265
|
-
if (raw.version === undefined) raw.version = 1;
|
|
266
|
-
return raw;
|
|
271
|
+
return readJsonFile(settingsPath);
|
|
267
272
|
},
|
|
268
273
|
|
|
269
274
|
writeSettings(settingsPath, settings) {
|
|
@@ -280,8 +285,10 @@ export const codex: Integration = {
|
|
|
280
285
|
: `"${binaryPath}" --hook ${eventType} --cli codex`;
|
|
281
286
|
return {
|
|
282
287
|
type: "command",
|
|
288
|
+
// Codex reads `timeout` in SECONDS (its `timeout_sec` field, default 600) —
|
|
289
|
+
// NOT milliseconds like Claude/Cursor/Gemini. 60 = 60s, not 60000ms (~16.7h).
|
|
283
290
|
command,
|
|
284
|
-
timeout:
|
|
291
|
+
timeout: 60,
|
|
285
292
|
[FAILPROOFAI_HOOK_MARKER]: true,
|
|
286
293
|
};
|
|
287
294
|
},
|
|
@@ -290,7 +297,7 @@ export const codex: Integration = {
|
|
|
290
297
|
|
|
291
298
|
writeHookEntries(settings, binaryPath, scope) {
|
|
292
299
|
const s = settings as CodexSettingsFile;
|
|
293
|
-
|
|
300
|
+
stripLegacyVersion(s as Record<string, unknown>);
|
|
294
301
|
if (!s.hooks) s.hooks = {};
|
|
295
302
|
|
|
296
303
|
for (const eventType of CODEX_HOOK_EVENT_TYPES) {
|
|
@@ -315,7 +322,11 @@ export const codex: Integration = {
|
|
|
315
322
|
|
|
316
323
|
removeHooksFromFile(settingsPath) {
|
|
317
324
|
const settings = this.readSettings(settingsPath) as CodexSettingsFile;
|
|
318
|
-
|
|
325
|
+
const hadVersion = stripLegacyVersion(settings as Record<string, unknown>);
|
|
326
|
+
if (!settings.hooks) {
|
|
327
|
+
if (hadVersion) this.writeSettings(settingsPath, settings as Record<string, unknown>);
|
|
328
|
+
return 0;
|
|
329
|
+
}
|
|
319
330
|
|
|
320
331
|
let removed = 0;
|
|
321
332
|
for (const eventType of Object.keys(settings.hooks)) {
|
|
@@ -333,7 +344,9 @@ export const codex: Integration = {
|
|
|
333
344
|
}
|
|
334
345
|
if (Object.keys(settings.hooks).length === 0) delete settings.hooks;
|
|
335
346
|
|
|
336
|
-
|
|
347
|
+
if (removed > 0 || hadVersion) {
|
|
348
|
+
this.writeSettings(settingsPath, settings as Record<string, unknown>);
|
|
349
|
+
}
|
|
337
350
|
return removed;
|
|
338
351
|
},
|
|
339
352
|
|
package/src/hooks/types.ts
CHANGED
|
@@ -79,7 +79,7 @@ export const CODEX_TOOL_MAP: Record<string, string> = {
|
|
|
79
79
|
// Settings paths:
|
|
80
80
|
// user → ~/.copilot/hooks/failproofai.json
|
|
81
81
|
// project → <cwd>/.github/hooks/failproofai.json (also where the cloud agent reads)
|
|
82
|
-
// Settings file carries `version: 1
|
|
82
|
+
// Settings file carries `version: 1`.
|
|
83
83
|
|
|
84
84
|
export const COPILOT_HOOK_SCOPES = ["user", "project"] as const;
|
|
85
85
|
export type CopilotHookScope = (typeof COPILOT_HOOK_SCOPES)[number];
|
|
@@ -159,7 +159,7 @@ export const COPILOT_TOOL_MAP: Record<string, string> = {
|
|
|
159
159
|
// Settings paths:
|
|
160
160
|
// user → ~/.cursor/hooks.json
|
|
161
161
|
// project → <cwd>/.cursor/hooks.json
|
|
162
|
-
// Settings file carries `version: 1` like
|
|
162
|
+
// Settings file carries `version: 1` like Copilot.
|
|
163
163
|
|
|
164
164
|
export const CURSOR_HOOK_SCOPES = ["user", "project"] as const;
|
|
165
165
|
export type CursorHookScope = (typeof CURSOR_HOOK_SCOPES)[number];
|