failproofai 1.0.7-beta.1 → 1.0.7
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 +4 -4
- 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 +4 -4
- 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 +4 -4
- 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 +7 -8
- 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 +5 -7
- 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/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page.js +6 -6
- 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 +11 -13
- 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 +7 -8
- 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 +7 -7
- 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 +6 -7
- 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 +8 -41
- package/.next/standalone/.next/server/app/settings/page.js +9 -12
- 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/{[externals]__1j-zsg5._.js → [externals]__1_bftcl._.js} +1 -1
- package/.next/standalone/.next/server/chunks/{[externals]__19_pzeq._.js → [externals]__1msfs-h._.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]__1bf34x4._.js → [root-of-the-server]__1_r2rbg._.js} +7 -5
- package/.next/standalone/.next/server/chunks/_09dz7xv._.js +21 -21
- 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/{_1q5i8mb._.js → _1c3k-8x._.js} +2 -2
- package/.next/standalone/.next/server/chunks/_1ek68ln._.js +16 -16
- 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/src_hooks_0iu54mz._.js +3 -0
- package/.next/standalone/.next/server/chunks/src_hooks_custom-hooks-loader_ts_0lnb3n3._.js +2 -4
- 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 +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01wy8d-._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__02npjtd._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0yxwl6j._.js → [root-of-the-server]__0bd3mje._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0cg-bgc._.js +5 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0cpu_mj._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1mf3zp6._.js → [root-of-the-server]__0cxe_2_._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0da85px._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ftmoxc._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0p-5p8u._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0u3w0ll._.js +22 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__17d_ffl._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__19d9tgz._.js +5 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1ctpynv._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1jiwfsj._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1p2otjt._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1phc187._.js +3 -0
- 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/{_1w_5l7t._.js → _0h_douw._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_214wgrp._.js → _1-i_gzc._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0bn2oo8._.js → _166t73i._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_1q46vxx._.js → _1_qswah._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_1gb0ifp._.js → _1es2j7i._.js} +5 -5
- package/.next/standalone/.next/server/chunks/ssr/_1u8-lu2._.js +3 -0
- 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 +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 +2 -2
- package/.next/standalone/.next/server/chunks/ssr/app_settings_settings-client_tsx_20lq-mq._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_next_dist_18_d8l1._.js → node_modules_next_dist_0drixxt._.js} +4 -4
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_1cv9_c4._.js +10 -0
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_builtin-policies_ts_09j2ndl._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_fp-home_ts_0je3xkv._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_pack-cli_ts_0t7me65._.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 +23 -56
- package/.next/standalone/.next/static/chunks/094xgi4owxaqf.js +1 -0
- package/.next/standalone/.next/static/chunks/0__8a7m868fvf.js +1 -0
- package/.next/standalone/.next/static/chunks/{12tvm75t5ffui.js → 0o6qlkgubtoex.js} +1 -1
- package/.next/standalone/.next/static/chunks/13i7-9is-vhys.js +1 -0
- package/.next/standalone/.next/static/chunks/1rz20_pz828f3.js +6 -0
- package/.next/standalone/.next/static/chunks/2k9f4tyv04809.css +1 -0
- package/.next/standalone/.next/static/chunks/{0vmd180qfntfb.js → 2klitrtzpaoe0.js} +1 -1
- package/.next/standalone/.next/static/chunks/{258668t68du6b.js → 2mdh397ghgnvv.js} +1 -1
- package/.next/standalone/.next/static/chunks/2rshywgeqsyzk.css +2 -0
- package/.next/standalone/.next/static/chunks/3pzx4chkhko9k.js +1 -0
- package/.next/standalone/.next/static/chunks/{0qrbdkv9qmvli.js → 3rh5o7e16irrm.js} +1 -1
- package/.next/standalone/.next/static/chunks/{29fql3nbnfc9q.js → 43ufqrz8qo3h-.js} +1 -1
- package/.next/standalone/SECURITY.md +53 -0
- package/.next/standalone/app/actions/pack-actions.ts +0 -12
- package/.next/standalone/app/policies/hooks-client.tsx +0 -9
- package/.next/standalone/app/settings/page.tsx +1 -20
- package/.next/standalone/app/settings/settings-client.tsx +1 -27
- package/.next/standalone/app/settings/settings.css +0 -79
- package/.next/standalone/package.json +9 -9
- package/.next/standalone/sdk/python/skill/SKILL.md +60 -14
- package/.next/standalone/sdk/python/skill/agents/openai.yaml +2 -1
- package/.next/standalone/sdk/python/skill/references/evaluator.md +255 -0
- package/.next/standalone/sdk/python/skill/references/events.md +17 -8
- package/.next/standalone/sdk/python/skill/references/frameworks.md +3 -0
- package/.next/standalone/sdk/python/skill/references/install.md +3 -0
- package/.next/standalone/sdk/python/skill/references/integration.md +6 -2
- package/.next/standalone/sdk/python/skill/references/typescript.md +568 -0
- package/.next/standalone/sdk/typescript/CHANGELOG.md +133 -0
- package/.next/standalone/sdk/typescript/LICENSE +42 -0
- package/.next/standalone/sdk/typescript/README.md +552 -0
- package/.next/standalone/sdk/typescript/eslint.config.mjs +59 -0
- package/.next/standalone/sdk/typescript/examples/research-agent.ts +197 -0
- package/.next/standalone/sdk/typescript/integration/ai.test.ts +920 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/ai-4/agent.ts +337 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/ai-4/package-lock.json +261 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/ai-4/package.json +16 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/ai-4/surfaces.ts +605 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/ai-4/tsconfig.json +12 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/ai-4/tsconfig.surfaces.json +4 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/ai-5/agent.ts +342 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/ai-5/package-lock.json +156 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/ai-5/package.json +16 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/ai-5/surfaces.ts +628 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/ai-5/tsconfig.json +12 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/ai-5/tsconfig.surfaces.json +4 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/ai-6/agent.ts +346 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/ai-6/package-lock.json +156 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/ai-6/package.json +13 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/ai-6/surfaces.ts +651 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/ai-6/tsconfig.json +12 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/ai-6/tsconfig.surfaces.json +4 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/ai-7/agent.ts +350 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/ai-7/package-lock.json +153 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/ai-7/package.json +13 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/ai-7/surfaces.ts +651 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/ai-7/tsconfig.json +12 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/ai-7/tsconfig.surfaces.json +4 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/langchain-0.3/agent.ts +623 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/langchain-0.3/package-lock.json +344 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/langchain-0.3/package.json +19 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/langchain-0.3/tsconfig.json +12 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/langchain-1/agent-v1.ts +99 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/langchain-1/agent.ts +623 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/langchain-1/package-lock.json +336 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/langchain-1/package.json +15 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/langchain-1/tsconfig.json +12 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/langchain-dup-core/agent.ts +96 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/langchain-dup-core/package-lock.json +441 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/langchain-dup-core/package.json +19 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/langchain-dup-core/tsconfig.json +12 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/langchain-dup-core/vendor/lc-weather-provider/index.cjs +53 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/langchain-dup-core/vendor/lc-weather-provider/index.mjs +55 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/langchain-dup-core/vendor/lc-weather-provider/package.json +18 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/llamaindex-0.11/agent.ts +659 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/llamaindex-0.11/package-lock.json +635 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/llamaindex-0.11/package.json +15 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/llamaindex-0.11/tsconfig.json +12 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/llamaindex-0.12/agent.ts +659 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/llamaindex-0.12/package-lock.json +553 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/llamaindex-0.12/package.json +15 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/llamaindex-0.12/tsconfig.json +12 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/mastra-0/agent.ts +877 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/mastra-0/mcp-server.mjs +66 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/mastra-0/package-lock.json +6797 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/mastra-0/package.json +24 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/mastra-0/tsconfig.json +12 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/mastra-1/agent.ts +872 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/mastra-1/mcp-server.mjs +66 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/mastra-1/package-lock.json +2540 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/mastra-1/package.json +15 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/mastra-1/tsconfig.json +12 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/nextjs/app/actions.ts +18 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/nextjs/app/api/ai/route.ts +42 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/nextjs/app/api/edge/route.ts +29 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/nextjs/app/api/langgraph/route.ts +21 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/nextjs/app/api/llamaindex/route.ts +11 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/nextjs/app/api/mastra/route.ts +19 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/nextjs/app/api/status/route.ts +7 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/nextjs/app/layout.tsx +9 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/nextjs/app/page.tsx +15 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/nextjs/instrumentation.ts +15 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/nextjs/lib/ai.ts +61 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/nextjs/lib/langgraph.ts +68 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/nextjs/lib/llamaindex.ts +98 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/nextjs/lib/mastra.ts +90 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/nextjs/next.config.ts +52 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/nextjs/package-lock.json +4343 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/nextjs/package.json +28 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/runtimes/agent.ts +51 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/runtimes/deno-npm.ts +76 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/runtimes/package-lock.json +484 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/runtimes/package.json +15 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/types/agent.ts +79 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/types/package-lock.json +740 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/types/package.json +11 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/vanilla/agent.ts +197 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/vanilla/package-lock.json +70 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/vanilla/package.json +12 -0
- package/.next/standalone/sdk/typescript/integration/fixtures/vanilla/tsconfig.json +12 -0
- package/.next/standalone/sdk/typescript/integration/global-setup.ts +29 -0
- package/.next/standalone/sdk/typescript/integration/harness.ts +451 -0
- package/.next/standalone/sdk/typescript/integration/langchain.test.ts +682 -0
- package/.next/standalone/sdk/typescript/integration/llamaindex.test.ts +709 -0
- package/.next/standalone/sdk/typescript/integration/mastra-coverage.test.ts +386 -0
- package/.next/standalone/sdk/typescript/integration/mastra.test.ts +311 -0
- package/.next/standalone/sdk/typescript/integration/nextjs.test.ts +341 -0
- package/.next/standalone/sdk/typescript/integration/runtime-parity.ts +180 -0
- package/.next/standalone/sdk/typescript/integration/runtimes.bun.test.ts +15 -0
- package/.next/standalone/sdk/typescript/integration/runtimes.core.test.ts +113 -0
- package/.next/standalone/sdk/typescript/integration/runtimes.deno.test.ts +19 -0
- package/.next/standalone/sdk/typescript/integration/types.test.ts +141 -0
- package/.next/standalone/sdk/typescript/integration/vanilla.test.ts +255 -0
- package/.next/standalone/sdk/typescript/package-lock.json +2640 -0
- package/.next/standalone/sdk/typescript/package.json +401 -0
- package/.next/standalone/sdk/typescript/scripts/finalize-build.mjs +123 -0
- package/.next/standalone/sdk/typescript/scripts/release.mjs +177 -0
- package/.next/standalone/sdk/typescript/src/clock.ts +58 -0
- package/.next/standalone/sdk/typescript/src/context.ts +214 -0
- package/.next/standalone/sdk/typescript/src/edge/adapter.ts +18 -0
- package/.next/standalone/sdk/typescript/src/edge/ai.ts +116 -0
- package/.next/standalone/sdk/typescript/src/edge/index.ts +238 -0
- package/.next/standalone/sdk/typescript/src/edge/langchain.ts +18 -0
- package/.next/standalone/sdk/typescript/src/edge/llamaindex.ts +12 -0
- package/.next/standalone/sdk/typescript/src/edge/mastra.ts +17 -0
- package/.next/standalone/sdk/typescript/src/edge/notice.ts +33 -0
- package/.next/standalone/sdk/typescript/src/environment.ts +75 -0
- package/.next/standalone/sdk/typescript/src/evaluator/authoring.ts +480 -0
- package/.next/standalone/sdk/typescript/src/evaluator/cli.ts +96 -0
- package/.next/standalone/sdk/typescript/src/evaluator/client.ts +421 -0
- package/.next/standalone/sdk/typescript/src/evaluator/expression.ts +1292 -0
- package/.next/standalone/sdk/typescript/src/evaluator/index.ts +144 -0
- package/.next/standalone/sdk/typescript/src/evaluator/protocol.ts +747 -0
- package/.next/standalone/sdk/typescript/src/evaluator/runtime.ts +930 -0
- package/.next/standalone/sdk/typescript/src/evaluator/sandbox-worker.ts +171 -0
- package/.next/standalone/sdk/typescript/src/evaluator/source-limits.ts +27 -0
- package/.next/standalone/sdk/typescript/src/evaluator/source.ts +509 -0
- package/.next/standalone/sdk/typescript/src/events.ts +879 -0
- package/.next/standalone/sdk/typescript/src/exit.ts +117 -0
- package/.next/standalone/sdk/typescript/src/index.ts +186 -0
- package/.next/standalone/sdk/typescript/src/integrations/ai.ts +1566 -0
- package/.next/standalone/sdk/typescript/src/integrations/compat.ts +322 -0
- package/.next/standalone/sdk/typescript/src/integrations/core.ts +1321 -0
- package/.next/standalone/sdk/typescript/src/integrations/index.ts +355 -0
- package/.next/standalone/sdk/typescript/src/integrations/langchain.ts +2340 -0
- package/.next/standalone/sdk/typescript/src/integrations/llamaindex.ts +2111 -0
- package/.next/standalone/sdk/typescript/src/integrations/mastra.ts +1802 -0
- package/.next/standalone/sdk/typescript/src/logger.ts +98 -0
- package/.next/standalone/sdk/typescript/src/next.ts +115 -0
- package/.next/standalone/sdk/typescript/src/node-require.ts +446 -0
- package/.next/standalone/sdk/typescript/src/redact.ts +305 -0
- package/.next/standalone/sdk/typescript/src/resolver.ts +120 -0
- package/.next/standalone/sdk/typescript/src/runtime.ts +29 -0
- package/.next/standalone/sdk/typescript/src/schema.ts +410 -0
- package/.next/standalone/sdk/typescript/src/scopes.ts +701 -0
- package/.next/standalone/sdk/typescript/src/shared.ts +33 -0
- package/.next/standalone/sdk/typescript/src/version.ts +5 -0
- package/.next/standalone/sdk/typescript/src/writer.ts +934 -0
- package/.next/standalone/sdk/typescript/test/adapters.test.ts +397 -0
- package/.next/standalone/sdk/typescript/test/ai.test.ts +1076 -0
- package/.next/standalone/sdk/typescript/test/copies.test.ts +204 -0
- package/.next/standalone/sdk/typescript/test/edge.test.ts +183 -0
- package/.next/standalone/sdk/typescript/test/evaluator-client.test.ts +234 -0
- package/.next/standalone/sdk/typescript/test/evaluator-protocol.test.ts +225 -0
- package/.next/standalone/sdk/typescript/test/events.test.ts +193 -0
- package/.next/standalone/sdk/typescript/test/expression.test.ts +181 -0
- package/.next/standalone/sdk/typescript/test/global-setup.ts +26 -0
- package/.next/standalone/sdk/typescript/test/helpers.ts +130 -0
- package/.next/standalone/sdk/typescript/test/integrations.test.ts +369 -0
- package/.next/standalone/sdk/typescript/test/langchain-copies.test.ts +204 -0
- package/.next/standalone/sdk/typescript/test/langchain.test.ts +999 -0
- package/.next/standalone/sdk/typescript/test/llamaindex.test.ts +1760 -0
- package/.next/standalone/sdk/typescript/test/mastra-coverage.test.ts +501 -0
- package/.next/standalone/sdk/typescript/test/mastra-lifecycle.test.ts +479 -0
- package/.next/standalone/sdk/typescript/test/mastra.test.ts +285 -0
- package/.next/standalone/sdk/typescript/test/next.test.ts +109 -0
- package/.next/standalone/sdk/typescript/test/packaging.test.ts +312 -0
- package/.next/standalone/sdk/typescript/test/redaction.test.ts +171 -0
- package/.next/standalone/sdk/typescript/test/runtimes.test.ts +101 -0
- package/.next/standalone/sdk/typescript/test/sandbox.test.ts +189 -0
- package/.next/standalone/sdk/typescript/test/scopes.test.ts +271 -0
- package/.next/standalone/sdk/typescript/test/setup.ts +19 -0
- package/.next/standalone/sdk/typescript/test/skill-snippets.test.ts +73 -0
- package/.next/standalone/sdk/typescript/test/spool-contract.test.ts +124 -0
- package/.next/standalone/sdk/typescript/test/tracker-bounds.test.ts +191 -0
- package/.next/standalone/sdk/typescript/test/wire-format.test.ts +214 -0
- package/.next/standalone/sdk/typescript/test/writer.test.ts +407 -0
- package/.next/standalone/sdk/typescript/tsconfig.build.json +15 -0
- package/.next/standalone/sdk/typescript/tsconfig.cjs.json +19 -0
- package/.next/standalone/sdk/typescript/tsconfig.json +28 -0
- package/.next/standalone/sdk/typescript/vitest.config.ts +33 -0
- package/.next/standalone/sdk/typescript/vitest.integration.config.ts +23 -0
- package/.next/standalone/server.js +1 -1
- package/bin/failproofai.mjs +2 -115
- package/dist/cli.mjs +6538 -13686
- package/dist/index.js +1 -19
- package/dist/worker.mjs +2085 -8012
- package/package.json +9 -9
- package/pi-extension/index.ts +0 -11
- package/scripts/build-policy-pack.mjs +2 -39
- package/src/hooks/builtin-policies.ts +3 -21
- package/src/hooks/cloud-enrollment-cli.ts +1 -1
- package/src/hooks/cloud-managed-policies.ts +0 -22
- package/src/hooks/custom-hooks-loader.ts +7 -45
- package/src/hooks/custom-hooks-registry.ts +1 -45
- package/src/hooks/first-run-gate.ts +0 -5
- package/src/hooks/fp-home.ts +0 -23
- package/src/hooks/handler.ts +6 -265
- package/src/hooks/hook-activity-store.ts +1 -105
- package/src/hooks/hook-telemetry.ts +0 -41
- package/src/hooks/loader-utils.ts +0 -6
- package/src/hooks/pack-cli.ts +17 -278
- package/src/hooks/pack-manifest.ts +7 -479
- package/src/hooks/pack-store.ts +10 -156
- package/src/hooks/policy-catalog.ts +0 -65
- package/src/hooks/policy-evaluator.ts +796 -940
- package/src/hooks/policy-registry.ts +0 -25
- package/src/hooks/policy-types.ts +0 -126
- package/src/hooks/worker-server.ts +26 -119
- package/src/index.ts +0 -6
- package/.next/standalone/.next/server/chunks/src_hooks_01frwmb._.js +0 -5
- package/.next/standalone/.next/server/chunks/src_hooks_18qtd42._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01bmjsj._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__04usis8._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__056wjo4._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__059yza8._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0eip4_k._.js +0 -22
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0n0xg95._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0qcb0mg._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0qxnccm._.js +0 -5
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0rwtwpm._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0s_yomn._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0soxz2z._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0yrsbd_._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11mayhe._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__13d-wb6._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1dinjii._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1pprgri._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1q4p5b8._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1qiz0e4._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_042cgl1._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0bqoto4._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0uyu3jf._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_1feuvhb._.js +0 -5
- package/.next/standalone/.next/server/chunks/ssr/app_actions_get-scheduled-audit_ts_0ei9sni._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/app_settings_02tf1h4._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_0w6mzq5._.js +0 -151
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_095a_79._.js +0 -5
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_15t8kqj._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_18k8rl0._.js +0 -12
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_1fm2w5z._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_hooks_1j0zy3v._.js +0 -3
- package/.next/standalone/.next/static/chunks/0cd-_8-c-m1ea.js +0 -6
- package/.next/standalone/.next/static/chunks/0uldbut9y2-e8.js +0 -1
- package/.next/standalone/.next/static/chunks/1u5zsejmgrir_.js +0 -1
- package/.next/standalone/.next/static/chunks/285spx855h_3r.css +0 -2
- package/.next/standalone/.next/static/chunks/2qv4hshejedtx.css +0 -1
- package/.next/standalone/.next/static/chunks/2vkvu9-opa_1z.js +0 -1
- package/.next/standalone/.next/static/chunks/37lhv7wa3ywt6.js +0 -1
- package/.next/standalone/app/actions/get-jev-config.ts +0 -409
- package/.next/standalone/app/actions/update-jev-config.ts +0 -420
- package/.next/standalone/app/components/jev-notices.tsx +0 -96
- package/.next/standalone/app/settings/jev-panel.tsx +0 -469
- package/src/hooks/effective-reviewers.ts +0 -79
- package/src/hooks/jev-activity.ts +0 -385
- package/src/hooks/jev-cli.ts +0 -1193
- package/src/hooks/policy-authority.ts +0 -333
- package/src/hooks/policy-reviewability.ts +0 -229
- package/src/hooks/semantic/combine.ts +0 -541
- package/src/hooks/semantic/compile.ts +0 -176
- package/src/hooks/semantic/decide.ts +0 -392
- package/src/hooks/semantic/envelope.ts +0 -1296
- package/src/hooks/semantic/evaluator.ts +0 -547
- package/src/hooks/semantic/facts.ts +0 -292
- package/src/hooks/semantic/intent.ts +0 -1190
- package/src/hooks/semantic/jev-client.ts +0 -643
- package/src/hooks/semantic/jev-config.ts +0 -594
- package/src/hooks/semantic/jev-review.ts +0 -374
- package/src/hooks/semantic/jev-stats.ts +0 -289
- package/src/hooks/semantic/jev-throttle.ts +0 -421
- package/src/hooks/semantic/pack-policies.ts +0 -251
- package/src/hooks/semantic/policies.ts +0 -596
- package/src/hooks/semantic/precondition-names.ts +0 -60
- package/src/hooks/semantic/preconditions.ts +0 -58
- package/src/hooks/semantic/redact.ts +0 -2910
- package/src/hooks/semantic/types.ts +0 -145
- package/src/hooks/semver-precedence.ts +0 -128
- /package/.next/standalone/.next/static/{T8YAYM9h_64fKv705vug7 → PgeWCHmyVbjRznv2VO7KF}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{T8YAYM9h_64fKv705vug7 → PgeWCHmyVbjRznv2VO7KF}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{T8YAYM9h_64fKv705vug7 → PgeWCHmyVbjRznv2VO7KF}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@failproofai/sdk` for runtimes with no filesystem: the Edge runtime (Next.js
|
|
3
|
+
* `export const runtime = "edge"`, Vercel Edge Functions), Cloudflare Workers,
|
|
4
|
+
* and browser bundles. Selected by the package's `exports` conditions
|
|
5
|
+
* (`edge-light`, `workerd`, `worker`, `browser`), so an application's own
|
|
6
|
+
* `import "@failproofai/sdk"` lands here without a code change.
|
|
7
|
+
*
|
|
8
|
+
* ## Why a separate build
|
|
9
|
+
*
|
|
10
|
+
* The real entry statically imports `node:fs`, `node:os`, `node:module` and
|
|
11
|
+
* `node:crypto`. An ES module cannot catch a failed static import, so in the
|
|
12
|
+
* Edge runtime the IMPORT itself failed — and because Next evaluates a route
|
|
13
|
+
* module while building, `next build` failed ("Native module not found:
|
|
14
|
+
* node:fs"), taking the whole application down over a telemetry import.
|
|
15
|
+
*
|
|
16
|
+
* ## What it does instead
|
|
17
|
+
*
|
|
18
|
+
* The same public surface, recording nothing: scopes run their bodies and
|
|
19
|
+
* return their values, `event.*` accepts and drops, `flush()` resolves,
|
|
20
|
+
* `instrument()` returns `[]`. The first use logs ONE line to stderr saying
|
|
21
|
+
* so. These runtimes are not a deployment target — the SDK ships beside the
|
|
22
|
+
* `failproofaid` daemon on a machine with a filesystem — so this build exists
|
|
23
|
+
* only so that a shared module importing the SDK cannot break an Edge route.
|
|
24
|
+
*
|
|
25
|
+
* Type declarations stay the real ones (the `types` condition), so code that
|
|
26
|
+
* compiles against Node compiles here too.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
import type { Identity } from "../context.js";
|
|
30
|
+
import type { EventNamespace } from "../events.js";
|
|
31
|
+
import type {
|
|
32
|
+
AgentFn,
|
|
33
|
+
AgentOptions,
|
|
34
|
+
SessionFn,
|
|
35
|
+
SessionOptions,
|
|
36
|
+
ToolCallFn,
|
|
37
|
+
ToolCallOptions,
|
|
38
|
+
} from "../scopes.js";
|
|
39
|
+
import { VERSION } from "../version.js";
|
|
40
|
+
import { notice } from "./notice.js";
|
|
41
|
+
|
|
42
|
+
export { VERSION as version };
|
|
43
|
+
|
|
44
|
+
export const DEFAULT_AGENT_ID = "main";
|
|
45
|
+
/** The same registered symbol as the Node build's, so comparisons still hold. */
|
|
46
|
+
export const AUTO: unique symbol = Symbol.for("failproofai.AUTO") as never;
|
|
47
|
+
|
|
48
|
+
// `Symbol.dispose` is not in every Edge runtime. A missing one must not become
|
|
49
|
+
// the property key "undefined".
|
|
50
|
+
const DISPOSE: symbol =
|
|
51
|
+
(Symbol as unknown as { dispose?: symbol }).dispose ?? Symbol.for("nodejs.dispose");
|
|
52
|
+
|
|
53
|
+
let counter = 0;
|
|
54
|
+
function newId(): string {
|
|
55
|
+
try {
|
|
56
|
+
const uuid = (globalThis as { crypto?: { randomUUID?: () => string } }).crypto?.randomUUID?.();
|
|
57
|
+
if (typeof uuid === "string") return uuid.replace(/-/g, "");
|
|
58
|
+
} catch {
|
|
59
|
+
/* fall through */
|
|
60
|
+
}
|
|
61
|
+
counter += 1;
|
|
62
|
+
return `edge${Date.now().toString(16)}${counter.toString(16)}`;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const identityOf = (sessionId: string | null, agentId: string | null): Identity =>
|
|
66
|
+
Object.freeze({ sessionId, agentId, parentId: null, depth: agentId === null ? 0 : 1 });
|
|
67
|
+
|
|
68
|
+
export function current(): Identity {
|
|
69
|
+
return identityOf(null, null);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export function propagate<Args extends unknown[], Result>(
|
|
73
|
+
fn: (...args: Args) => Result,
|
|
74
|
+
): (...args: Args) => Result {
|
|
75
|
+
return fn;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/** The handle a `toolCall` body receives. Set `.output`; read `.id`. */
|
|
79
|
+
export class ToolCall {
|
|
80
|
+
readonly id: string;
|
|
81
|
+
output: unknown = undefined;
|
|
82
|
+
private assigned = false;
|
|
83
|
+
|
|
84
|
+
constructor(toolCallId: string) {
|
|
85
|
+
this.id = toolCallId;
|
|
86
|
+
let stored: unknown;
|
|
87
|
+
Object.defineProperty(this, "output", {
|
|
88
|
+
get: () => stored,
|
|
89
|
+
set: (value: unknown) => {
|
|
90
|
+
stored = value;
|
|
91
|
+
this.assigned = true;
|
|
92
|
+
},
|
|
93
|
+
enumerable: true,
|
|
94
|
+
configurable: true,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
get outputAssigned(): boolean {
|
|
99
|
+
return this.assigned;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
class Handle {
|
|
104
|
+
dispose(): void {}
|
|
105
|
+
fail(): void {}
|
|
106
|
+
[DISPOSE](): void {}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
class SessionHandle extends Handle {
|
|
110
|
+
constructor(readonly id: string) {
|
|
111
|
+
super();
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
class AgentHandle extends Handle {
|
|
116
|
+
readonly identity: Identity;
|
|
117
|
+
constructor(
|
|
118
|
+
readonly agentId: string,
|
|
119
|
+
readonly sessionId: string,
|
|
120
|
+
) {
|
|
121
|
+
super();
|
|
122
|
+
this.identity = identityOf(sessionId, agentId);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
class ToolCallHandle extends Handle {
|
|
127
|
+
constructor(readonly call: ToolCall) {
|
|
128
|
+
super();
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
type Body<A, T> = (arg: A) => T;
|
|
133
|
+
|
|
134
|
+
function split<O, A, T>(optionsOrBody: O | Body<A, T> | undefined, body: Body<A, T> | undefined) {
|
|
135
|
+
return typeof optionsOrBody === "function"
|
|
136
|
+
? { options: {} as O, body: optionsOrBody as Body<A, T> }
|
|
137
|
+
: { options: (optionsOrBody ?? {}) as O, body: body! };
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
function sessionImpl<T>(optionsOrBody: SessionOptions | Body<string, T>, maybeBody?: Body<string, T>): T {
|
|
141
|
+
notice();
|
|
142
|
+
const { options, body } = split(optionsOrBody, maybeBody);
|
|
143
|
+
return body(options.sessionId ?? newId());
|
|
144
|
+
}
|
|
145
|
+
sessionImpl.open = (options: SessionOptions = {}) => {
|
|
146
|
+
notice();
|
|
147
|
+
return new SessionHandle(options.sessionId ?? newId());
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
function agentImpl<T>(
|
|
151
|
+
agentId: string,
|
|
152
|
+
optionsOrBody: AgentOptions | Body<Identity, T>,
|
|
153
|
+
maybeBody?: Body<Identity, T>,
|
|
154
|
+
): T {
|
|
155
|
+
notice();
|
|
156
|
+
const { options, body } = split(optionsOrBody, maybeBody);
|
|
157
|
+
return body(identityOf(options.sessionId ?? null, agentId));
|
|
158
|
+
}
|
|
159
|
+
agentImpl.open = (agentId = DEFAULT_AGENT_ID, options: AgentOptions = {}) => {
|
|
160
|
+
notice();
|
|
161
|
+
return new AgentHandle(agentId, options.sessionId ?? newId());
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
function toolCallImpl<T>(
|
|
165
|
+
toolName: string,
|
|
166
|
+
optionsOrBody: ToolCallOptions | Body<ToolCall, T>,
|
|
167
|
+
maybeBody?: Body<ToolCall, T>,
|
|
168
|
+
): T {
|
|
169
|
+
notice();
|
|
170
|
+
void toolName;
|
|
171
|
+
const { options, body } = split(optionsOrBody, maybeBody);
|
|
172
|
+
return body(new ToolCall(options.toolCallId ?? newId()));
|
|
173
|
+
}
|
|
174
|
+
toolCallImpl.open = (toolName: string, options: ToolCallOptions = {}) => {
|
|
175
|
+
void toolName;
|
|
176
|
+
notice();
|
|
177
|
+
return new ToolCallHandle(new ToolCall(options.toolCallId ?? newId()));
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
export const session = sessionImpl as unknown as SessionFn;
|
|
181
|
+
export const agent = agentImpl as unknown as AgentFn;
|
|
182
|
+
export const toolCall = toolCallImpl as unknown as ToolCallFn;
|
|
183
|
+
|
|
184
|
+
const EVENT_METHODS = [
|
|
185
|
+
"toolUse",
|
|
186
|
+
"toolResult",
|
|
187
|
+
"modelRequest",
|
|
188
|
+
"modelResponse",
|
|
189
|
+
"agentStart",
|
|
190
|
+
"agentEnd",
|
|
191
|
+
"agentPause",
|
|
192
|
+
"agentResume",
|
|
193
|
+
"hookTriggered",
|
|
194
|
+
"hookCompleted",
|
|
195
|
+
"error",
|
|
196
|
+
"humanWait",
|
|
197
|
+
"humanInput",
|
|
198
|
+
"humanPause",
|
|
199
|
+
"humanInterrupt",
|
|
200
|
+
] as const;
|
|
201
|
+
|
|
202
|
+
/** The 15 event methods, each accepting its options and recording nothing. */
|
|
203
|
+
export const event: EventNamespace = Object.freeze(
|
|
204
|
+
Object.fromEntries(EVENT_METHODS.map((name) => [name, () => notice()])),
|
|
205
|
+
) as unknown as EventNamespace;
|
|
206
|
+
|
|
207
|
+
export function configure(): void {
|
|
208
|
+
notice();
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
export function flush(): Promise<void> {
|
|
212
|
+
notice();
|
|
213
|
+
return Promise.resolve();
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
export function flushSync(): void {
|
|
217
|
+
notice();
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
export function setLogger(): void {}
|
|
221
|
+
export function setLogLevel(): void {}
|
|
222
|
+
|
|
223
|
+
export function instrument(): Promise<never[]> {
|
|
224
|
+
notice();
|
|
225
|
+
return Promise.resolve([]);
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
export function uninstrument(): never[] {
|
|
229
|
+
return [];
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
export function availableFrameworks(): never[] {
|
|
233
|
+
return [];
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
export function activeFrameworks(): never[] {
|
|
237
|
+
return [];
|
|
238
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** `@failproofai/sdk/langchain` for runtimes with no filesystem — see `./index.ts`. */
|
|
2
|
+
|
|
3
|
+
import { noopAdapter } from "./adapter.js";
|
|
4
|
+
import { notice } from "./notice.js";
|
|
5
|
+
|
|
6
|
+
export const SESSION_METADATA_KEY = "failproofai_sdk_session_id";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* A callback handler with no callbacks. LangChain accepts any object as a
|
|
10
|
+
* handler (`BaseCallbackHandler.fromMethods`), so passing this where the Node
|
|
11
|
+
* build's handler goes is valid and inert.
|
|
12
|
+
*/
|
|
13
|
+
export function langchainHandler(): Record<string, unknown> {
|
|
14
|
+
notice();
|
|
15
|
+
return { name: "failproofai_noop" };
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export const adapter = noopAdapter("langchain");
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** `@failproofai/sdk/llamaindex` for runtimes with no filesystem — see `./index.ts`. */
|
|
2
|
+
|
|
3
|
+
import { noopAdapter } from "./adapter.js";
|
|
4
|
+
import { notice } from "./notice.js";
|
|
5
|
+
|
|
6
|
+
/** Attaching to a LlamaIndex object records nothing here; returns a detach. */
|
|
7
|
+
export function attach(): () => void {
|
|
8
|
+
notice();
|
|
9
|
+
return () => {};
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export const adapter = noopAdapter("llamaindex");
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** `@failproofai/sdk/mastra` for runtimes with no filesystem — see `./index.ts`. */
|
|
2
|
+
|
|
3
|
+
import { noopAdapter } from "./adapter.js";
|
|
4
|
+
import { notice } from "./notice.js";
|
|
5
|
+
|
|
6
|
+
export function wrapTool<T>(tool: T): T {
|
|
7
|
+
notice();
|
|
8
|
+
return tool;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export function workflow<T>(workflowName: string, body: () => T): T {
|
|
12
|
+
void workflowName;
|
|
13
|
+
notice();
|
|
14
|
+
return body();
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export const adapter = noopAdapter("mastra");
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one line an Edge / Worker build says, once per isolate.
|
|
3
|
+
*
|
|
4
|
+
* Deliberately self-contained: it imports nothing, not even `logger.ts`,
|
|
5
|
+
* because that module reads environment variables at import time and a Cloudflare
|
|
6
|
+
* Worker without `nodejs_compat` has no `process` at all. Everything under
|
|
7
|
+
* `src/edge/` holds to the same rule — the whole point of these modules is that
|
|
8
|
+
* importing them cannot fail anywhere JavaScript runs.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
let said = false;
|
|
12
|
+
|
|
13
|
+
export const EDGE_NOTICE =
|
|
14
|
+
"@failproofai/sdk loaded its no-op build: this runtime (an Edge / Worker runtime, " +
|
|
15
|
+
"or a browser bundle) has no filesystem for the local failproofaid spool, so NOTHING " +
|
|
16
|
+
"is recorded here; your code runs unchanged. Record from the Node.js runtime " +
|
|
17
|
+
'(Next.js: drop `export const runtime = "edge"` from the route).';
|
|
18
|
+
|
|
19
|
+
/** Say it once. Never throws: a diagnostic must not take the host down. */
|
|
20
|
+
export function notice(): void {
|
|
21
|
+
if (said) return;
|
|
22
|
+
said = true;
|
|
23
|
+
try {
|
|
24
|
+
console.warn(`[failproofai-sdk] ${EDGE_NOTICE}`);
|
|
25
|
+
} catch {
|
|
26
|
+
/* empty */
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/** Forget that the notice was given (tests). */
|
|
31
|
+
export function resetNotice(): void {
|
|
32
|
+
said = false;
|
|
33
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { logger } from "./logger.js";
|
|
2
|
+
import { shared } from "./shared.js";
|
|
3
|
+
|
|
4
|
+
const DEFAULT_ENVIRONMENT = "dev";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Set once the comma warning below has been emitted. `getEnvironment()` runs
|
|
9
|
+
* from `build()`, i.e. once per event on the caller's own stack, and the
|
|
10
|
+
* warning had no once-flag at all in an early draft — so an
|
|
11
|
+
* `AGENTEYE_ENVIRONMENT` with a comma put one WARN line into the host
|
|
12
|
+
* application's log for every event emitted, for the life of the process. At
|
|
13
|
+
* the SDK's documented ceiling that is a logging-driven throughput collapse in
|
|
14
|
+
* a library whose first constraint is not to disrupt the host agent.
|
|
15
|
+
*/
|
|
16
|
+
let warnedComma = false;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* A comma in `environment` makes ingest skip EVERY event carrying it.
|
|
20
|
+
*
|
|
21
|
+
* The endpoint splits this field on commas to build its filter facets, so a
|
|
22
|
+
* line whose `environment` contains one is discarded — the whole line, not the
|
|
23
|
+
* field. It answers 200 with `{"accepted":0,"skipped":N}`, the daemon deletes
|
|
24
|
+
* the delivered batch, and the run that produced it is simply never in the
|
|
25
|
+
* dashboard: no exception here, nothing in the agent's output, and an empty
|
|
26
|
+
* session list that looks exactly like an agent nobody ran.
|
|
27
|
+
*
|
|
28
|
+
* `failproofaid` already refuses a comma in `collector.environment` for this
|
|
29
|
+
* reason (`crates/fpai-collect/src/config.rs`). The SDK is the other writer of
|
|
30
|
+
* the same field, so `AGENTEYE_ENVIRONMENT="prod,eu"` — a wholly reasonable
|
|
31
|
+
* thing to type — would silently throw away everything the process emitted.
|
|
32
|
+
*/
|
|
33
|
+
export function rejectComma(env: string, source: string): void {
|
|
34
|
+
if (env.includes(",")) {
|
|
35
|
+
throw new Error(
|
|
36
|
+
`environment must not contain a comma (got ${JSON.stringify(env)} from ${source}). ` +
|
|
37
|
+
"The ingest endpoint skips every event whose environment has one, so this would " +
|
|
38
|
+
"silently discard all telemetry from this process. Use a single label, e.g. 'prod-eu'.",
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export function getEnvironment(): string {
|
|
44
|
+
const environment = shared().environment;
|
|
45
|
+
if (environment !== null) return environment;
|
|
46
|
+
|
|
47
|
+
const raw = process.env.AGENTEYE_ENVIRONMENT;
|
|
48
|
+
if (!raw) return DEFAULT_ENVIRONMENT;
|
|
49
|
+
if (raw.includes(",")) {
|
|
50
|
+
// Throwing here would blow up inside `build()` on an arbitrary event, far
|
|
51
|
+
// from the thing that set it, and take the caller's agent down with it — a
|
|
52
|
+
// telemetry library must not do that. Warn once and fall back to a label
|
|
53
|
+
// ingest will actually accept, so the events land under a visibly-wrong
|
|
54
|
+
// environment instead of vanishing.
|
|
55
|
+
if (!warnedComma) {
|
|
56
|
+
warnedComma = true;
|
|
57
|
+
logger.warn(
|
|
58
|
+
`AGENTEYE_ENVIRONMENT=${JSON.stringify(raw)} contains a comma, which makes the ingest ` +
|
|
59
|
+
`endpoint skip every event carrying it. Falling back to ${JSON.stringify(DEFAULT_ENVIRONMENT)}. ` +
|
|
60
|
+
"Use a single label, e.g. 'prod-eu'.",
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
return DEFAULT_ENVIRONMENT;
|
|
64
|
+
}
|
|
65
|
+
return raw;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export function setEnvironment(env: string | null | undefined): void {
|
|
69
|
+
if (env) rejectComma(env, "configure({ environment })");
|
|
70
|
+
shared().environment = env ? env : null;
|
|
71
|
+
// A new label means the env var may be worth complaining about again.
|
|
72
|
+
warnedComma = false;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export { DEFAULT_ENVIRONMENT };
|