@exulu/frontend 1.0.3 → 1.1.0
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/dist/.next/BUILD_ID +1 -1
- package/dist/.next/app-build-manifest.json +192 -192
- package/dist/.next/app-path-routes-manifest.json +1 -1
- package/dist/.next/build-manifest.json +3 -3
- package/dist/.next/prerender-manifest.json +1 -1
- package/dist/.next/required-server-files.json +1 -1
- package/dist/.next/server/app/(application)/agents/edit/[id]/page.js +1 -1
- package/dist/.next/server/app/(application)/agents/edit/[id]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/agents/edit/[id]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/agents/page.js +2 -2
- package/dist/.next/server/app/(application)/agents/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/agents/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/chat/[agent]/[session]/page.js +2 -2
- package/dist/.next/server/app/(application)/chat/[agent]/[session]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/chat/[agent]/[session]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/chat/[agent]/page.js +1 -1
- package/dist/.next/server/app/(application)/chat/[agent]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/chat/[agent]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/chat/page.js +1 -1
- package/dist/.next/server/app/(application)/chat/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/chat/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/configuration/page.js +1 -1
- package/dist/.next/server/app/(application)/configuration/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/configuration/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/dashboard/page.js +2 -2
- package/dist/.next/server/app/(application)/dashboard/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/dashboard/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/data/[[...query]]/page.js +2 -2
- package/dist/.next/server/app/(application)/data/[[...query]]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/data/[[...query]]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/evals/[id]/page.js +1 -1
- package/dist/.next/server/app/(application)/evals/[id]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/evals/[id]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/evals/[id]/runs/page.js +1 -1
- package/dist/.next/server/app/(application)/evals/[id]/runs/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/evals/[id]/runs/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/evals/cases/page.js +1 -1
- package/dist/.next/server/app/(application)/evals/cases/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/evals/cases/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/evals/page.js +1 -1
- package/dist/.next/server/app/(application)/evals/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/evals/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/explorer/page.js +9 -9
- package/dist/.next/server/app/(application)/explorer/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/explorer/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/jobs/page.js +1 -1
- package/dist/.next/server/app/(application)/jobs/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/jobs/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/keys/page.js +1 -1
- package/dist/.next/server/app/(application)/keys/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/keys/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/page.js +1 -1
- package/dist/.next/server/app/(application)/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/projects/[project]/page.js +1 -1
- package/dist/.next/server/app/(application)/projects/[project]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/projects/[project]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/projects/page.js +1 -1
- package/dist/.next/server/app/(application)/projects/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/projects/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/roles/page.js +1 -1
- package/dist/.next/server/app/(application)/roles/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/roles/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/token/page.js +1 -1
- package/dist/.next/server/app/(application)/token/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/token/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/users/page.js +1 -1
- package/dist/.next/server/app/(application)/users/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/users/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/variables/create/page.js +1 -1
- package/dist/.next/server/app/(application)/variables/create/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/variables/create/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page.js +1 -1
- package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/variables/page.js +1 -1
- package/dist/.next/server/app/(application)/variables/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/variables/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page.js +1 -1
- package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/workflows/page.js +1 -1
- package/dist/.next/server/app/(application)/workflows/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/workflows/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(authentication)/login/page.js +3 -3
- package/dist/.next/server/app/(authentication)/login/page.js.nft.json +1 -1
- package/dist/.next/server/app/(authentication)/login/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/_not-found/page.js +1 -1
- package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/_not-found.html +1 -1
- package/dist/.next/server/app/_not-found.rsc +1 -1
- package/dist/.next/server/app/api/auth/[...nextauth]/route.js +2 -2
- package/dist/.next/server/app/api/config/route.js +2 -2
- package/dist/.next/server/app-paths-manifest.json +9 -9
- package/dist/.next/server/chunks/{2711.js → 3575.js} +1 -1
- package/dist/.next/server/chunks/{1558.js → 5192.js} +1 -1
- package/dist/.next/server/chunks/{9762.js → 7223.js} +5 -5
- package/dist/.next/server/chunks/{4470.js → 7944.js} +2 -2
- package/dist/.next/server/chunks/9049.js +2 -2
- package/dist/.next/server/middleware-build-manifest.js +1 -1
- package/dist/.next/server/middleware-manifest.json +5 -5
- package/dist/.next/server/middleware.js +2 -2
- package/dist/.next/server/next-font-manifest.js +1 -1
- package/dist/.next/server/next-font-manifest.json +1 -1
- package/dist/.next/server/pages/404.html +1 -1
- package/dist/.next/server/pages/500.html +1 -1
- package/dist/.next/server/pages-manifest.json +1 -1
- package/dist/.next/server/server-reference-manifest.json +1 -1
- package/dist/.next/static/chunks/2117-7e0e97ffa5867cf9.js.map +1 -1
- package/dist/.next/static/chunks/6111-5ab0e72a466543ea.js.map +1 -1
- package/dist/.next/static/chunks/7648-be88d7a414ab6394.js.map +1 -1
- package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/{page-7737da0d7329baf0.js → page-e622860a59223955.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-e622860a59223955.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/agents/{page-58d7ecbf04b75ef3.js → page-fe256553444f6e6f.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/agents/page-fe256553444f6e6f.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-beaa99a35c9e9bfc.js +2 -0
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-beaa99a35c9e9bfc.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/{layout-a701083f64a86849.js → layout-1736d0931ae3f866.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/layout-1736d0931ae3f866.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/{page-2f7e3126e0e76d70.js → page-1538a952e1e99f94.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/page-1538a952e1e99f94.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/chat/{layout-b934ba4c0a125683.js → layout-3fbafd811d12ed10.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/chat/layout-3fbafd811d12ed10.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/configuration/{page-3aa96486933ae5dd.js → page-876d1d43a9cc36e4.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/configuration/page-876d1d43a9cc36e4.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/dashboard/{page-2436e355871758ba.js → page-ca746e824cb97052.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/dashboard/page-ca746e824cb97052.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/{layout-e073c74bd194e8cc.js → layout-47ad558a66e699c7.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-47ad558a66e699c7.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/{page-375a978d25ee3a65.js → page-edcdd8944daaaef8.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-edcdd8944daaaef8.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/evals/[id]/{page-b668fca1ba6993e2.js → page-5d4b8e351ee3265f.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/evals/[id]/page-5d4b8e351ee3265f.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/{page-07969d6e5fb01d7b.js → page-4f0d1524fc7936d1.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/page-4f0d1524fc7936d1.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/evals/cases/{page-0f25ee5d9498cbc5.js → page-47274d92d3daf16b.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/evals/cases/page-47274d92d3daf16b.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/evals/page-e25d76c28076b126.js +2 -0
- package/dist/.next/static/chunks/app/(application)/evals/page-e25d76c28076b126.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/explorer/{page-d1580ece2ff5ba64.js → page-9f8ab38b5cd68c45.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/explorer/page-9f8ab38b5cd68c45.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/jobs/{page-1f32c5e7202301b2.js → page-2d9a06a9959e7977.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/jobs/page-2d9a06a9959e7977.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/keys/page-6ecb8218f18773b9.js +2 -0
- package/dist/.next/static/chunks/app/(application)/keys/page-6ecb8218f18773b9.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/layout-73d93420d0c6661c.js +2 -0
- package/dist/.next/static/chunks/app/(application)/layout-73d93420d0c6661c.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/{page-661f24beb316dabf.js → page-16a518c5864e6963.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/page-16a518c5864e6963.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/projects/[project]/{page-cc6f6786682fd877.js → page-870b48a3e7f64f7d.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/projects/[project]/page-870b48a3e7f64f7d.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/projects/{layout-3ef4b8519966eee7.js → layout-aa5baaf5cc644e70.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/projects/layout-aa5baaf5cc644e70.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/projects/{page-6a38fd92beb3b45a.js → page-055a048a107095ed.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/projects/page-055a048a107095ed.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/roles/page-b30682514e63b3f8.js +2 -0
- package/dist/.next/static/chunks/app/(application)/roles/page-b30682514e63b3f8.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/token/{page-19921b235606b9f3.js → page-f86eaf8c51fdbe52.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/token/page-f86eaf8c51fdbe52.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/users/page-1a686fd83f765d8e.js +2 -0
- package/dist/.next/static/chunks/app/(application)/users/page-1a686fd83f765d8e.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/variables/create/{page-3d0e1788a92cba52.js → page-16582f525a24dd45.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/variables/create/page-16582f525a24dd45.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/variables/edit/[variable_id]/{page-ad12a1419856c280.js → page-b37d9320812bb8f6.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/variables/edit/[variable_id]/page-b37d9320812bb8f6.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/variables/{page-530fff39006ba055.js → page-9b438ce239c07987.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/variables/page-9b438ce239c07987.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/variables/usage/[variable_id]/{page-11fc31486ee7764e.js → page-b1fe1791701d361e.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/variables/usage/[variable_id]/page-b1fe1791701d361e.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/workflows/{page-feb479eaa043e041.js → page-93969baedc6f38ff.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/workflows/page-93969baedc6f38ff.js.map +1 -0
- package/dist/.next/static/chunks/app/(authentication)/{layout-ed3d63f0ade93b47.js → layout-2dfa18ea6e6dc5cd.js} +2 -2
- package/dist/.next/static/chunks/app/(authentication)/layout-2dfa18ea6e6dc5cd.js.map +1 -0
- package/dist/.next/static/chunks/app/(authentication)/login/{error-65d2315c483bed81.js → error-c5f516f76e374400.js} +2 -2
- package/dist/.next/static/chunks/app/(authentication)/login/error-c5f516f76e374400.js.map +1 -0
- package/dist/.next/static/chunks/app/(authentication)/login/{page-3233ca86dc3297c3.js → page-4de4d6f64507c919.js} +2 -2
- package/dist/.next/static/chunks/app/(authentication)/login/page-4de4d6f64507c919.js.map +1 -0
- package/dist/.next/static/chunks/app/_not-found/page-3832d1eb6511168a.js.map +1 -1
- package/dist/.next/static/chunks/main-83299e0cc175f2ed.js.map +1 -1
- package/dist/.next/static/chunks/{main-app-e4276b9c44f225cb.js → main-app-da1df2757744a2ea.js} +2 -2
- package/dist/.next/static/chunks/main-app-da1df2757744a2ea.js.map +1 -0
- package/dist/.next/static/css/e3f2a16ab7676b05.css.map +1 -1
- package/dist/node_modules/sharp/build/Release/sharp-linux-x64.node +0 -0
- package/dist/node_modules/sharp/vendor/8.14.5/{darwin-arm64v8/lib/libvips-cpp.42.dylib → linux-x64/lib/libvips-cpp.so.42} +0 -0
- package/dist/node_modules/sharp/vendor/8.14.5/linux-x64/platform.json +1 -0
- package/dist/node_modules/sharp/vendor/8.14.5/{darwin-arm64v8 → linux-x64}/versions.json +1 -1
- package/dist/package.json +3 -2
- package/dist/server.js +1 -1
- package/index.js +37 -0
- package/package.json +7 -6
- package/release.config.cjs +30 -0
- package/dist/.env +0 -32
- package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-7737da0d7329baf0.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/agents/page-58d7ecbf04b75ef3.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-fb7ea4dc4cdb350b.js +0 -2
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-fb7ea4dc4cdb350b.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/layout-a701083f64a86849.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/page-2f7e3126e0e76d70.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/chat/layout-b934ba4c0a125683.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/configuration/page-3aa96486933ae5dd.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/dashboard/page-2436e355871758ba.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-e073c74bd194e8cc.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-375a978d25ee3a65.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/evals/[id]/page-b668fca1ba6993e2.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/page-07969d6e5fb01d7b.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/evals/cases/page-0f25ee5d9498cbc5.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/evals/page-78bbdcf2c04a4ef9.js +0 -2
- package/dist/.next/static/chunks/app/(application)/evals/page-78bbdcf2c04a4ef9.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/explorer/page-d1580ece2ff5ba64.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/jobs/page-1f32c5e7202301b2.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/keys/page-9b13ab99042d606c.js +0 -2
- package/dist/.next/static/chunks/app/(application)/keys/page-9b13ab99042d606c.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/layout-cff96ce5805f0772.js +0 -2
- package/dist/.next/static/chunks/app/(application)/layout-cff96ce5805f0772.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/page-661f24beb316dabf.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/projects/[project]/page-cc6f6786682fd877.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/projects/layout-3ef4b8519966eee7.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/projects/page-6a38fd92beb3b45a.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/roles/page-d4a925d823a3c66c.js +0 -2
- package/dist/.next/static/chunks/app/(application)/roles/page-d4a925d823a3c66c.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/token/page-19921b235606b9f3.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/users/page-7cddc0528218c5c8.js +0 -2
- package/dist/.next/static/chunks/app/(application)/users/page-7cddc0528218c5c8.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/variables/create/page-3d0e1788a92cba52.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/variables/edit/[variable_id]/page-ad12a1419856c280.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/variables/page-530fff39006ba055.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/variables/usage/[variable_id]/page-11fc31486ee7764e.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/workflows/page-feb479eaa043e041.js.map +0 -1
- package/dist/.next/static/chunks/app/(authentication)/layout-ed3d63f0ade93b47.js.map +0 -1
- package/dist/.next/static/chunks/app/(authentication)/login/error-65d2315c483bed81.js.map +0 -1
- package/dist/.next/static/chunks/app/(authentication)/login/page-3233ca86dc3297c3.js.map +0 -1
- package/dist/.next/static/chunks/main-app-e4276b9c44f225cb.js.map +0 -1
- package/dist/node_modules/sharp/build/Release/sharp-darwin-arm64v8.node +0 -0
- package/dist/node_modules/sharp/vendor/8.14.5/darwin-arm64v8/include/harfbuzz/hb-cplusplus.hh +0 -223
- package/dist/node_modules/sharp/vendor/8.14.5/darwin-arm64v8/include/vips/vips8 +0 -60
- package/dist/node_modules/sharp/vendor/8.14.5/darwin-arm64v8/platform.json +0 -1
- /package/dist/.next/static/{5Vf-v5wyENpLUvLzma2J6 → Wt4IDtB-Xwfc0Z_CpMmtm}/_buildManifest.js +0 -0
- /package/dist/.next/static/{5Vf-v5wyENpLUvLzma2J6 → Wt4IDtB-Xwfc0Z_CpMmtm}/_ssgManifest.js +0 -0
- /package/dist/node_modules/sharp/vendor/8.14.5/{darwin-arm64v8 → linux-x64}/THIRD-PARTY-NOTICES.md +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6208,7598],{16677:function(e,t,s){Promise.resolve().then(s.bind(s,52489))},52489:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return Q},dynamic:function(){return H}});var l=s(57437),n=s(2265),a=s(20653),r=s(94508),i=s(62869),c=s(84190);function o(e){let{column:t,title:s,className:n}=e;return t.getCanSort()?(0,l.jsx)("div",{className:(0,r.cn)("flex items-center space-x-2",n),children:(0,l.jsxs)(c.h_,{children:[(0,l.jsx)(c.$F,{asChild:!0,children:(0,l.jsxs)(i.z,{variant:"ghost",size:"sm",className:"-ml-3 h-8 data-[state=open]:bg-accent",children:[(0,l.jsx)("span",{children:s}),"desc"===t.getIsSorted()?(0,l.jsx)(a.veu,{className:"ml-2 h-4 w-4"}):"asc"===t.getIsSorted()?(0,l.jsx)(a.Hf3,{className:"ml-2 h-4 w-4"}):(0,l.jsx)(a.jnn,{className:"ml-2 h-4 w-4"})]})}),(0,l.jsxs)(c.AW,{align:"start",children:[(0,l.jsxs)(c.Xi,{onClick:()=>t.toggleSorting(!1),children:[(0,l.jsx)(a.Hf3,{className:"mr-2 h-3.5 w-3.5 text-muted-foreground/70"}),"Asc"]}),(0,l.jsxs)(c.Xi,{onClick:()=>t.toggleSorting(!0),children:[(0,l.jsx)(a.veu,{className:"mr-2 h-3.5 w-3.5 text-muted-foreground/70"}),"Desc"]}),(0,l.jsx)(c.VD,{}),(0,l.jsxs)(c.Xi,{onClick:()=>t.toggleVisibility(!1),children:[(0,l.jsx)(a.L52,{className:"mr-2 h-3.5 w-3.5 text-muted-foreground/70"}),"Hide"]})]})]})}):(0,l.jsx)("div",{className:(0,r.cn)(n),children:s})}var d=s(12199),u=s(45675),x=s(18930),m=s(27689),h=s(77992),f=s(37099);function g(e){var t;let{row:s,user:r,edit:o}=e,{toast:g}=(0,h.pm)(),[j,p]=(0,n.useState)(!1),v=s.original,N=r.super_admin||(null===(t=r.role)||void 0===t?void 0:t.evals)==="write",[w,{loading:C}]=(0,d.D)(m.lW,{onCompleted:()=>{g({title:"Test case deleted",description:"The test case has been successfully deleted."}),p(!1),window.location.reload()},onError:e=>{g({title:"Failed to delete test case",description:e.message,variant:"destructive"})}});return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(c.h_,{children:[(0,l.jsx)(c.$F,{asChild:!0,children:(0,l.jsxs)(i.z,{variant:"ghost",className:"flex h-8 w-8 p-0 data-[state=open]:bg-muted",onClick:e=>e.stopPropagation(),children:[(0,l.jsx)(a.nWS,{className:"h-4 w-4"}),(0,l.jsx)("span",{className:"sr-only",children:"Open menu"})]})}),(0,l.jsxs)(c.AW,{align:"end",className:"w-[160px]",children:[(0,l.jsxs)(c.Xi,{onClick:e=>{e.stopPropagation(),o()},children:[(0,l.jsx)(u.Z,{className:"mr-2 h-4 w-4"}),"Edit"]}),N&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c.VD,{}),(0,l.jsxs)(c.Xi,{onClick:e=>{e.stopPropagation(),p(!0)},className:"text-destructive",children:[(0,l.jsx)(x.Z,{className:"mr-2 h-4 w-4"}),"Delete"]})]})]})]}),(0,l.jsx)(f.aR,{open:j,onOpenChange:p,children:(0,l.jsxs)(f._T,{onClick:e=>e.stopPropagation(),children:[(0,l.jsxs)(f.fY,{children:[(0,l.jsx)(f.f$,{children:"Are you sure?"}),(0,l.jsxs)(f.yT,{children:['This will permanently delete the test case "',v.name,'". This action cannot be undone.']})]}),(0,l.jsxs)(f.xo,{children:[(0,l.jsx)(f.le,{children:"Cancel"}),(0,l.jsx)(f.OL,{onClick:e=>{e.stopPropagation(),w({variables:{id:v.id}})},disabled:C,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:C?"Deleting...":"Delete"})]})]})})]})}var j=s(35974),p=s(7598);let v=(e,t)=>[{accessorKey:"name",header:e=>{let{column:t}=e;return(0,l.jsx)(o,{column:t,title:"Name"})},cell:e=>{let{row:t}=e;return(0,l.jsx)("div",{className:"flex space-x-2",children:(0,l.jsx)("span",{className:"max-w-[400px] truncate font-medium",children:t.getValue("name")})})}},{accessorKey:"description",header:e=>{let{column:t}=e;return(0,l.jsx)(o,{column:t,title:"Description"})},cell:e=>{let{row:t}=e,s=t.getValue("description");return(0,l.jsx)("div",{className:"flex space-x-2",children:(0,l.jsx)("span",{className:"max-w-[300px] truncate text-muted-foreground",children:s||"—"})})}},{accessorKey:"inputs",header:e=>{let{column:t}=e;return(0,l.jsx)(o,{column:t,title:"Messages"})},cell:e=>{let{row:t}=e,s=t.getValue("inputs");return(0,l.jsxs)(j.C,{variant:"secondary",children:[(null==s?void 0:s.length)||0," messages"]})}},{accessorKey:"expected_tools",header:e=>{let{column:t}=e;return(0,l.jsx)(o,{column:t,title:"Expected Tools"})},cell:e=>{let{row:t}=e,s=t.getValue("expected_tools");return s&&0!==s.length?(0,l.jsxs)(j.C,{variant:"outline",children:[s.length," tools"]}):(0,l.jsx)("span",{className:"text-muted-foreground",children:"—"})}},{accessorKey:"expected_knowledge_sources",header:e=>{let{column:t}=e;return(0,l.jsx)(o,{column:t,title:"Expected Contexts"})},cell:e=>{let{row:t}=e,s=t.getValue("expected_knowledge_sources");return s&&0!==s.length?(0,l.jsxs)(j.C,{variant:"outline",children:[s.length," contexts"]}):(0,l.jsx)("span",{className:"text-muted-foreground",children:"—"})}},{accessorKey:"expected_agent_tools",header:e=>{let{column:t}=e;return(0,l.jsx)(o,{column:t,title:"Expected Agents"})},cell:e=>{let{row:t}=e,s=t.getValue("expected_agent_tools");return s&&0!==s.length?(0,l.jsxs)(j.C,{variant:"outline",children:[s.length," agents"]}):(0,l.jsx)("span",{className:"text-muted-foreground",children:"—"})}},{accessorKey:"updatedAt",header:e=>{let{column:t}=e;return(0,l.jsx)(o,{column:t,title:"Updated"})},cell:e=>{let{row:t}=e,s=t.getValue("updatedAt");return(0,l.jsx)("div",{className:"flex w-[100px] items-center",children:(0,l.jsx)("span",{className:"text-sm text-muted-foreground",children:(0,p.Q)(new Date(s),{addSuffix:!0})})})}},{id:"actions",cell:s=>{let{row:n}=s;return(0,l.jsx)(g,{row:n,user:e,edit:()=>{t(n.original)}})}}];var N=s(7211),w=s(71594),C=s(24525),b=s(99397);function y(e){let{table:t}=e;return(0,l.jsxs)(c.h_,{children:[(0,l.jsx)(c.$F,{asChild:!0,children:(0,l.jsxs)(i.z,{variant:"outline",size:"sm",className:"ml-auto hidden h-8 lg:flex",children:[(0,l.jsx)(a.hsZ,{className:"mr-2 h-4 w-4"}),"View"]})}),(0,l.jsxs)(c.AW,{align:"end",className:"w-[150px]",children:[(0,l.jsx)(c.Ju,{children:"Toggle columns"}),(0,l.jsx)(c.VD,{}),t.getAllColumns().filter(e=>void 0!==e.accessorFn&&e.getCanHide()).map(e=>(0,l.jsx)(c.bO,{className:"capitalize",checked:e.getIsVisible(),onCheckedChange:t=>e.toggleVisibility(!!t),children:(0,l.jsx)("span",{className:"w-[200px] truncate",children:e.id})},e.id))]})]})}var D=s(95186),k=s(93022),M=s(73578),S=s(82534);function T(e){var t,s,r,c,o,u;let{columns:x,testCase:f}=e,{toast:g}=(0,h.pm)(),[j,p]=n.useState({}),[v,T]=n.useState({}),[_,F]=n.useState([]),[R,V]=(0,n.useState)([]),[P,H]=(0,n.useState)(1),[Q,X]=n.useState([]),[z,A]=(0,n.useState)(!1),[E,Z]=(0,n.useState)(f||null);n.useEffect(()=>{f?(Z(f),A(!0)):(A(!1),Z(null))},[f]);let{loading:Y,error:I,data:O,refetch:G}=(0,N.aM)(m.RV,{fetchPolicy:"no-cache",nextFetchPolicy:"network-only",variables:{page:P,limit:10,filters:R},pollInterval:3e4}),[K]=(0,d.D)(m.lW,{onCompleted:()=>{g({title:"Test case deleted",description:"The test case has been successfully deleted."}),G()},onError:e=>{g({title:"Failed to delete test case",description:e.message,variant:"destructive"})}}),W=null==O?void 0:null===(t=O.test_casesPagination)||void 0===t?void 0:t.pageInfo,L=(null==O?void 0:null===(s=O.test_casesPagination)||void 0===s?void 0:s.items)||[],$=(0,w.b7)({data:L,columns:x,state:{sorting:Q,columnVisibility:v,rowSelection:j,columnFilters:_},enableRowSelection:!0,onRowSelectionChange:p,onSortingChange:X,onColumnFiltersChange:F,onColumnVisibilityChange:T,getCoreRowModel:(0,C.sC)(),getFilteredRowModel:(0,C.vL)(),getPaginationRowModel:(0,C.G_)(),getSortedRowModel:(0,C.tj)(),getFacetedRowModel:(0,C.o6)(),getFacetedUniqueValues:(0,C.JG)()});n.useEffect(()=>{var e;let t=null===(e=$.getColumn("name"))||void 0===e?void 0:e.getFilterValue();t?V([{name:{contains:t}}]):V([])},[null===(r=$.getColumn("name"))||void 0===r?void 0:r.getFilterValue()]);let q=e=>{e?(Z(e),A(!0)):(A(!1),Z(null))},J=()=>{A(!1),Z(null)};return(0,l.jsxs)("div",{className:"space-y-4",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsx)("div",{className:"flex flex-1 items-center space-x-2",children:(0,l.jsx)(D.I,{placeholder:"Filter by name...",value:null!==(u=null===(c=$.getColumn("name"))||void 0===c?void 0:c.getFilterValue())&&void 0!==u?u:"",onChange:e=>{var t;return null===(t=$.getColumn("name"))||void 0===t?void 0:t.setFilterValue(e.target.value)},className:"h-8 w-[150px] lg:w-[250px]"})}),(0,l.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,l.jsx)(y,{table:$}),(0,l.jsxs)(i.z,{variant:"default",size:"sm",className:"ml-auto h-8",onClick:()=>A(!0),children:[(0,l.jsx)(b.Z,{className:"mr-2 h-4 w-4"}),"New Test Case"]})]})]}),(0,l.jsx)("div",{className:"rounded-md border",children:(0,l.jsxs)(M.iA,{children:[(0,l.jsx)(M.xD,{children:$.getHeaderGroups().map(e=>(0,l.jsx)(M.SC,{children:e.headers.map(e=>(0,l.jsx)(M.ss,{children:e.isPlaceholder?null:(0,w.ie)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,l.jsx)(M.RM,{children:Y?Array.from({length:5}).map((e,t)=>(0,l.jsx)(M.SC,{children:x.map((e,t)=>(0,l.jsx)(M.pj,{children:(0,l.jsx)(k.O,{className:"h-6 w-full"})},t))},t)):(null===(o=$.getRowModel().rows)||void 0===o?void 0:o.length)?$.getRowModel().rows.map(e=>(0,l.jsx)(M.SC,{"data-state":e.getIsSelected()&&"selected",className:"cursor-pointer",onClick:()=>{q(e.original)},children:e.getVisibleCells().map(e=>(0,l.jsx)(M.pj,{children:(0,w.ie)(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):(0,l.jsx)(M.SC,{children:(0,l.jsx)(M.pj,{colSpan:x.length,className:"h-24 text-center",children:"No test cases found."})})})]})}),(0,l.jsxs)("div",{className:"flex items-center justify-between px-2",children:[(0,l.jsx)("div",{className:"flex-1 text-sm text-muted-foreground",children:W&&(0,l.jsxs)(l.Fragment,{children:["Page ",W.currentPage," of ",W.pageCount," (",W.itemCount," total)"]})}),(0,l.jsx)("div",{className:"flex items-center space-x-6 lg:space-x-8",children:(0,l.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,l.jsxs)(i.z,{variant:"outline",className:"hidden h-8 w-8 p-0 lg:flex",onClick:()=>H(1),disabled:!(null==W?void 0:W.hasPreviousPage),children:[(0,l.jsx)("span",{className:"sr-only",children:"Go to first page"}),(0,l.jsx)(a.kRt,{className:"h-4 w-4"})]}),(0,l.jsxs)(i.z,{variant:"outline",className:"h-8 w-8 p-0",onClick:()=>H(P-1),disabled:!(null==W?void 0:W.hasPreviousPage),children:[(0,l.jsx)("span",{className:"sr-only",children:"Go to previous page"}),(0,l.jsx)(a.wyc,{className:"h-4 w-4"})]}),(0,l.jsxs)(i.z,{variant:"outline",className:"h-8 w-8 p-0",onClick:()=>H(P+1),disabled:!(null==W?void 0:W.hasNextPage),children:[(0,l.jsx)("span",{className:"sr-only",children:"Go to next page"}),(0,l.jsx)(a.XCv,{className:"h-4 w-4"})]}),(0,l.jsxs)(i.z,{variant:"outline",className:"hidden h-8 w-8 p-0 lg:flex",onClick:()=>H((null==W?void 0:W.pageCount)||1),disabled:!(null==W?void 0:W.hasNextPage),children:[(0,l.jsx)("span",{className:"sr-only",children:"Go to last page"}),(0,l.jsx)(a.yr4,{className:"h-4 w-4"})]})]})})]}),(0,l.jsx)(S.F,{open:z,onClose:J,onSuccess:()=>{G(),J()},testCase:E})]})}var _=s(13832),F=s(64972),R=s(32660),V=s(65613),P=s(99376);let H="force-dynamic";function Q(){var e,t;let{user:s}=(0,n.useContext)(_.S),[a,r]=(0,n.useState)(null),c=v(s,e=>{r(e)}),o=(0,P.useRouter)();return s.super_admin||(null===(e=s.role)||void 0===e?void 0:e.evals)==="read"||(null===(t=s.role)||void 0===t?void 0:t.evals)==="write"?(0,l.jsx)(l.Fragment,{children:(0,l.jsxs)("div",{className:"hidden h-full flex-1 flex-col space-y-8 p-8 md:flex",children:[(0,l.jsx)("div",{className:"flex items-center justify-between space-y-2",children:(0,l.jsxs)("div",{className:"flex items-center gap-4",children:[(0,l.jsx)(i.z,{variant:"ghost",size:"icon",onClick:()=>o.push("/evals"),children:(0,l.jsx)(R.Z,{className:"h-4 w-4"})}),(0,l.jsxs)("div",{children:[(0,l.jsx)("h2",{className:"text-2xl font-bold tracking-tight",children:"Test Cases"}),(0,l.jsx)("p",{className:"text-muted-foreground",children:"Create and manage test cases for evaluating agent performance."})]})]})}),(0,l.jsx)(T,{columns:c,testCase:a||void 0})]})}):(0,l.jsx)("div",{className:"flex h-full flex-1 flex-col space-y-8 p-8",children:(0,l.jsxs)(V.bZ,{variant:"destructive",children:[(0,l.jsx)(F.Z,{className:"h-4 w-4"}),(0,l.jsx)(V.X,{children:"You don't have permission to access Test Cases. Contact your administrator to request access."})]})})}},73578:function(e,t,s){"use strict";s.d(t,{RM:function(){return c},Rn:function(){return x},SC:function(){return o},iA:function(){return r},pj:function(){return u},ss:function(){return d},xD:function(){return i}});var l=s(57437),n=s(2265),a=s(94508);let r=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,l.jsx)("div",{className:"relative w-full overflow-auto",children:(0,l.jsx)("table",{ref:t,className:(0,a.cn)("w-full caption-bottom text-sm",s),...n})})});r.displayName="Table";let i=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,l.jsx)("thead",{ref:t,className:(0,a.cn)("[&_tr]:border-b",s),...n})});i.displayName="TableHeader";let c=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,l.jsx)("tbody",{ref:t,className:(0,a.cn)("[&_tr:last-child]:border-0",s),...n})});c.displayName="TableBody",n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,l.jsx)("tfoot",{ref:t,className:(0,a.cn)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",s),...n})}).displayName="TableFooter";let o=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,l.jsx)("tr",{ref:t,className:(0,a.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",s),...n})});o.displayName="TableRow";let d=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,l.jsx)("th",{ref:t,className:(0,a.cn)("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&:has([role=checkbox])]:w-[40px]",s),...n})});d.displayName="TableHead";let u=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,l.jsx)("td",{ref:t,className:(0,a.cn)("p-4 align-middle [&:has([role=checkbox])]:pr-0 [&:has([role=checkbox])]:w-[40px]",s),...n})});u.displayName="TableCell";let x=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,l.jsx)("caption",{ref:t,className:(0,a.cn)("mt-4 text-sm text-muted-foreground",s),...n})});x.displayName="TableCaption"},45675:function(e,t,s){"use strict";s.d(t,{Z:function(){return l}});let l=(0,s(39763).Z)("Pencil",[["path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z",key:"5qss01"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]])},18930:function(e,t,s){"use strict";s.d(t,{Z:function(){return l}});let l=(0,s(39763).Z)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]])},81363:function(e,t,s){"use strict";s.d(t,{T:function(){return n}});var l=s(99649);function n(e,t){let s=(0,l.Q)(e),n=(0,l.Q)(t);return 12*(s.getFullYear()-n.getFullYear())+(s.getMonth()-n.getMonth())}},27742:function(e,t,s){"use strict";s.d(t,{V:function(){return n}});var l=s(99649);function n(e){let t=(0,l.Q)(e),s=t.getMonth();return t.setFullYear(t.getFullYear(),s+1,0),t.setHours(23,59,59,999),t}},7598:function(e,t,s){"use strict";s.d(t,{Q:function(){return x}});var l=s(63497),n=s(99649);function a(e,t){let s=(0,n.Q)(e),l=(0,n.Q)(t),a=s.getTime()-l.getTime();return a<0?-1:a>0?1:a}var r=s(78198),i=s(81363),c=s(27742),o=s(5654),d=s(55528),u=s(9340);function x(e,t){return function(e,t,s){var l,x,m,h,f,g;let j,p,v;let N=(0,d.j)(),w=null!==(x=null!==(l=null==s?void 0:s.locale)&&void 0!==l?l:N.locale)&&void 0!==x?x:o._,C=a(e,t);if(isNaN(C))throw RangeError("Invalid time value");let b=Object.assign({},s,{addSuffix:null==s?void 0:s.addSuffix,comparison:C});C>0?(j=(0,n.Q)(t),p=(0,n.Q)(e)):(j=(0,n.Q)(e),p=(0,n.Q)(t));let y=(m=p,h=j,(g=null==void 0?void 0:(void 0).roundingMethod,e=>{let t=(g?Math[g]:Math.trunc)(e);return 0===t?0:t})((+(0,n.Q)(m)-+(0,n.Q)(h))/1e3)),D=Math.round((y-((0,u.D)(p)-(0,u.D)(j))/1e3)/60);if(D<2){if(null==s?void 0:s.includeSeconds){if(y<5)return w.formatDistance("lessThanXSeconds",5,b);if(y<10)return w.formatDistance("lessThanXSeconds",10,b);if(y<20)return w.formatDistance("lessThanXSeconds",20,b);if(y<40)return w.formatDistance("halfAMinute",0,b);else if(y<60)return w.formatDistance("lessThanXMinutes",1,b);else return w.formatDistance("xMinutes",1,b)}return 0===D?w.formatDistance("lessThanXMinutes",1,b):w.formatDistance("xMinutes",D,b)}if(D<45)return w.formatDistance("xMinutes",D,b);if(D<90)return w.formatDistance("aboutXHours",1,b);if(D<r.H_)return w.formatDistance("aboutXHours",Math.round(D/60),b);if(D<2520)return w.formatDistance("xDays",1,b);if(D<r.fH){let e=Math.round(D/r.H_);return w.formatDistance("xDays",e,b)}if(D<2*r.fH)return v=Math.round(D/r.fH),w.formatDistance("aboutXMonths",v,b);if((v=function(e,t){let s;let l=(0,n.Q)(e),r=(0,n.Q)(t),o=a(l,r),d=Math.abs((0,i.T)(l,r));if(d<1)s=0;else{1===l.getMonth()&&l.getDate()>27&&l.setDate(30),l.setMonth(l.getMonth()-o*d);let t=a(l,r)===-o;(function(e){let t=(0,n.Q)(e);return+function(e){let t=(0,n.Q)(e);return t.setHours(23,59,59,999),t}(t)==+(0,c.V)(t)})((0,n.Q)(e))&&1===d&&1===a(e,r)&&(t=!1),s=o*(d-Number(t))}return 0===s?0:s}(p,j))<12){let e=Math.round(D/r.fH);return w.formatDistance("xMonths",e,b)}{let e=v%12,t=Math.trunc(v/12);return e<3?w.formatDistance("aboutXYears",t,b):e<9?w.formatDistance("overXYears",t,b):w.formatDistance("almostXYears",t+1,b)}}(e,(0,l.L)(e,Date.now()),t)}}},function(e){e.O(0,[6840,329,8310,3954,9851,7629,7093,6148,847,1942,7648,7823,8068,5799,4567,605,85,4957,7398,3825,1785,3397,1594,9141,1713,6152,3145,428,6373,3832,1002,5978,2971,2117,1744],function(){return e(e.s=16677)}),_N_E=e.O()}]);
|
|
2
|
-
//# sourceMappingURL=page-
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6208,7598],{95094:function(e,t,s){Promise.resolve().then(s.bind(s,52489))},52489:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return Q},dynamic:function(){return H}});var l=s(57437),n=s(2265),a=s(20653),r=s(94508),i=s(62869),c=s(84190);function o(e){let{column:t,title:s,className:n}=e;return t.getCanSort()?(0,l.jsx)("div",{className:(0,r.cn)("flex items-center space-x-2",n),children:(0,l.jsxs)(c.h_,{children:[(0,l.jsx)(c.$F,{asChild:!0,children:(0,l.jsxs)(i.z,{variant:"ghost",size:"sm",className:"-ml-3 h-8 data-[state=open]:bg-accent",children:[(0,l.jsx)("span",{children:s}),"desc"===t.getIsSorted()?(0,l.jsx)(a.veu,{className:"ml-2 h-4 w-4"}):"asc"===t.getIsSorted()?(0,l.jsx)(a.Hf3,{className:"ml-2 h-4 w-4"}):(0,l.jsx)(a.jnn,{className:"ml-2 h-4 w-4"})]})}),(0,l.jsxs)(c.AW,{align:"start",children:[(0,l.jsxs)(c.Xi,{onClick:()=>t.toggleSorting(!1),children:[(0,l.jsx)(a.Hf3,{className:"mr-2 h-3.5 w-3.5 text-muted-foreground/70"}),"Asc"]}),(0,l.jsxs)(c.Xi,{onClick:()=>t.toggleSorting(!0),children:[(0,l.jsx)(a.veu,{className:"mr-2 h-3.5 w-3.5 text-muted-foreground/70"}),"Desc"]}),(0,l.jsx)(c.VD,{}),(0,l.jsxs)(c.Xi,{onClick:()=>t.toggleVisibility(!1),children:[(0,l.jsx)(a.L52,{className:"mr-2 h-3.5 w-3.5 text-muted-foreground/70"}),"Hide"]})]})]})}):(0,l.jsx)("div",{className:(0,r.cn)(n),children:s})}var d=s(12199),u=s(45675),x=s(18930),m=s(27689),h=s(77992),f=s(37099);function g(e){var t;let{row:s,user:r,edit:o}=e,{toast:g}=(0,h.pm)(),[j,p]=(0,n.useState)(!1),v=s.original,N=r.super_admin||(null===(t=r.role)||void 0===t?void 0:t.evals)==="write",[w,{loading:C}]=(0,d.D)(m.lW,{onCompleted:()=>{g({title:"Test case deleted",description:"The test case has been successfully deleted."}),p(!1),window.location.reload()},onError:e=>{g({title:"Failed to delete test case",description:e.message,variant:"destructive"})}});return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(c.h_,{children:[(0,l.jsx)(c.$F,{asChild:!0,children:(0,l.jsxs)(i.z,{variant:"ghost",className:"flex h-8 w-8 p-0 data-[state=open]:bg-muted",onClick:e=>e.stopPropagation(),children:[(0,l.jsx)(a.nWS,{className:"h-4 w-4"}),(0,l.jsx)("span",{className:"sr-only",children:"Open menu"})]})}),(0,l.jsxs)(c.AW,{align:"end",className:"w-[160px]",children:[(0,l.jsxs)(c.Xi,{onClick:e=>{e.stopPropagation(),o()},children:[(0,l.jsx)(u.Z,{className:"mr-2 h-4 w-4"}),"Edit"]}),N&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c.VD,{}),(0,l.jsxs)(c.Xi,{onClick:e=>{e.stopPropagation(),p(!0)},className:"text-destructive",children:[(0,l.jsx)(x.Z,{className:"mr-2 h-4 w-4"}),"Delete"]})]})]})]}),(0,l.jsx)(f.aR,{open:j,onOpenChange:p,children:(0,l.jsxs)(f._T,{onClick:e=>e.stopPropagation(),children:[(0,l.jsxs)(f.fY,{children:[(0,l.jsx)(f.f$,{children:"Are you sure?"}),(0,l.jsxs)(f.yT,{children:['This will permanently delete the test case "',v.name,'". This action cannot be undone.']})]}),(0,l.jsxs)(f.xo,{children:[(0,l.jsx)(f.le,{children:"Cancel"}),(0,l.jsx)(f.OL,{onClick:e=>{e.stopPropagation(),w({variables:{id:v.id}})},disabled:C,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:C?"Deleting...":"Delete"})]})]})})]})}var j=s(35974),p=s(7598);let v=(e,t)=>[{accessorKey:"name",header:e=>{let{column:t}=e;return(0,l.jsx)(o,{column:t,title:"Name"})},cell:e=>{let{row:t}=e;return(0,l.jsx)("div",{className:"flex space-x-2",children:(0,l.jsx)("span",{className:"max-w-[400px] truncate font-medium",children:t.getValue("name")})})}},{accessorKey:"description",header:e=>{let{column:t}=e;return(0,l.jsx)(o,{column:t,title:"Description"})},cell:e=>{let{row:t}=e,s=t.getValue("description");return(0,l.jsx)("div",{className:"flex space-x-2",children:(0,l.jsx)("span",{className:"max-w-[300px] truncate text-muted-foreground",children:s||"—"})})}},{accessorKey:"inputs",header:e=>{let{column:t}=e;return(0,l.jsx)(o,{column:t,title:"Messages"})},cell:e=>{let{row:t}=e,s=t.getValue("inputs");return(0,l.jsxs)(j.C,{variant:"secondary",children:[(null==s?void 0:s.length)||0," messages"]})}},{accessorKey:"expected_tools",header:e=>{let{column:t}=e;return(0,l.jsx)(o,{column:t,title:"Expected Tools"})},cell:e=>{let{row:t}=e,s=t.getValue("expected_tools");return s&&0!==s.length?(0,l.jsxs)(j.C,{variant:"outline",children:[s.length," tools"]}):(0,l.jsx)("span",{className:"text-muted-foreground",children:"—"})}},{accessorKey:"expected_knowledge_sources",header:e=>{let{column:t}=e;return(0,l.jsx)(o,{column:t,title:"Expected Contexts"})},cell:e=>{let{row:t}=e,s=t.getValue("expected_knowledge_sources");return s&&0!==s.length?(0,l.jsxs)(j.C,{variant:"outline",children:[s.length," contexts"]}):(0,l.jsx)("span",{className:"text-muted-foreground",children:"—"})}},{accessorKey:"expected_agent_tools",header:e=>{let{column:t}=e;return(0,l.jsx)(o,{column:t,title:"Expected Agents"})},cell:e=>{let{row:t}=e,s=t.getValue("expected_agent_tools");return s&&0!==s.length?(0,l.jsxs)(j.C,{variant:"outline",children:[s.length," agents"]}):(0,l.jsx)("span",{className:"text-muted-foreground",children:"—"})}},{accessorKey:"updatedAt",header:e=>{let{column:t}=e;return(0,l.jsx)(o,{column:t,title:"Updated"})},cell:e=>{let{row:t}=e,s=t.getValue("updatedAt");return(0,l.jsx)("div",{className:"flex w-[100px] items-center",children:(0,l.jsx)("span",{className:"text-sm text-muted-foreground",children:(0,p.Q)(new Date(s),{addSuffix:!0})})})}},{id:"actions",cell:s=>{let{row:n}=s;return(0,l.jsx)(g,{row:n,user:e,edit:()=>{t(n.original)}})}}];var N=s(7211),w=s(71594),C=s(24525),b=s(99397);function y(e){let{table:t}=e;return(0,l.jsxs)(c.h_,{children:[(0,l.jsx)(c.$F,{asChild:!0,children:(0,l.jsxs)(i.z,{variant:"outline",size:"sm",className:"ml-auto hidden h-8 lg:flex",children:[(0,l.jsx)(a.hsZ,{className:"mr-2 h-4 w-4"}),"View"]})}),(0,l.jsxs)(c.AW,{align:"end",className:"w-[150px]",children:[(0,l.jsx)(c.Ju,{children:"Toggle columns"}),(0,l.jsx)(c.VD,{}),t.getAllColumns().filter(e=>void 0!==e.accessorFn&&e.getCanHide()).map(e=>(0,l.jsx)(c.bO,{className:"capitalize",checked:e.getIsVisible(),onCheckedChange:t=>e.toggleVisibility(!!t),children:(0,l.jsx)("span",{className:"w-[200px] truncate",children:e.id})},e.id))]})]})}var D=s(95186),k=s(93022),M=s(73578),S=s(82534);function T(e){var t,s,r,c,o,u;let{columns:x,testCase:f}=e,{toast:g}=(0,h.pm)(),[j,p]=n.useState({}),[v,T]=n.useState({}),[_,F]=n.useState([]),[R,V]=(0,n.useState)([]),[P,H]=(0,n.useState)(1),[Q,X]=n.useState([]),[z,A]=(0,n.useState)(!1),[E,Z]=(0,n.useState)(f||null);n.useEffect(()=>{f?(Z(f),A(!0)):(A(!1),Z(null))},[f]);let{loading:Y,error:I,data:O,refetch:G}=(0,N.aM)(m.RV,{fetchPolicy:"no-cache",nextFetchPolicy:"network-only",variables:{page:P,limit:10,filters:R},pollInterval:3e4}),[K]=(0,d.D)(m.lW,{onCompleted:()=>{g({title:"Test case deleted",description:"The test case has been successfully deleted."}),G()},onError:e=>{g({title:"Failed to delete test case",description:e.message,variant:"destructive"})}}),W=null==O?void 0:null===(t=O.test_casesPagination)||void 0===t?void 0:t.pageInfo,L=(null==O?void 0:null===(s=O.test_casesPagination)||void 0===s?void 0:s.items)||[],$=(0,w.b7)({data:L,columns:x,state:{sorting:Q,columnVisibility:v,rowSelection:j,columnFilters:_},enableRowSelection:!0,onRowSelectionChange:p,onSortingChange:X,onColumnFiltersChange:F,onColumnVisibilityChange:T,getCoreRowModel:(0,C.sC)(),getFilteredRowModel:(0,C.vL)(),getPaginationRowModel:(0,C.G_)(),getSortedRowModel:(0,C.tj)(),getFacetedRowModel:(0,C.o6)(),getFacetedUniqueValues:(0,C.JG)()});n.useEffect(()=>{var e;let t=null===(e=$.getColumn("name"))||void 0===e?void 0:e.getFilterValue();t?V([{name:{contains:t}}]):V([])},[null===(r=$.getColumn("name"))||void 0===r?void 0:r.getFilterValue()]);let q=e=>{e?(Z(e),A(!0)):(A(!1),Z(null))},J=()=>{A(!1),Z(null)};return(0,l.jsxs)("div",{className:"space-y-4",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsx)("div",{className:"flex flex-1 items-center space-x-2",children:(0,l.jsx)(D.I,{placeholder:"Filter by name...",value:null!==(u=null===(c=$.getColumn("name"))||void 0===c?void 0:c.getFilterValue())&&void 0!==u?u:"",onChange:e=>{var t;return null===(t=$.getColumn("name"))||void 0===t?void 0:t.setFilterValue(e.target.value)},className:"h-8 w-[150px] lg:w-[250px]"})}),(0,l.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,l.jsx)(y,{table:$}),(0,l.jsxs)(i.z,{variant:"default",size:"sm",className:"ml-auto h-8",onClick:()=>A(!0),children:[(0,l.jsx)(b.Z,{className:"mr-2 h-4 w-4"}),"New Test Case"]})]})]}),(0,l.jsx)("div",{className:"rounded-md border",children:(0,l.jsxs)(M.iA,{children:[(0,l.jsx)(M.xD,{children:$.getHeaderGroups().map(e=>(0,l.jsx)(M.SC,{children:e.headers.map(e=>(0,l.jsx)(M.ss,{children:e.isPlaceholder?null:(0,w.ie)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,l.jsx)(M.RM,{children:Y?Array.from({length:5}).map((e,t)=>(0,l.jsx)(M.SC,{children:x.map((e,t)=>(0,l.jsx)(M.pj,{children:(0,l.jsx)(k.O,{className:"h-6 w-full"})},t))},t)):(null===(o=$.getRowModel().rows)||void 0===o?void 0:o.length)?$.getRowModel().rows.map(e=>(0,l.jsx)(M.SC,{"data-state":e.getIsSelected()&&"selected",className:"cursor-pointer",onClick:()=>{q(e.original)},children:e.getVisibleCells().map(e=>(0,l.jsx)(M.pj,{children:(0,w.ie)(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):(0,l.jsx)(M.SC,{children:(0,l.jsx)(M.pj,{colSpan:x.length,className:"h-24 text-center",children:"No test cases found."})})})]})}),(0,l.jsxs)("div",{className:"flex items-center justify-between px-2",children:[(0,l.jsx)("div",{className:"flex-1 text-sm text-muted-foreground",children:W&&(0,l.jsxs)(l.Fragment,{children:["Page ",W.currentPage," of ",W.pageCount," (",W.itemCount," total)"]})}),(0,l.jsx)("div",{className:"flex items-center space-x-6 lg:space-x-8",children:(0,l.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,l.jsxs)(i.z,{variant:"outline",className:"hidden h-8 w-8 p-0 lg:flex",onClick:()=>H(1),disabled:!(null==W?void 0:W.hasPreviousPage),children:[(0,l.jsx)("span",{className:"sr-only",children:"Go to first page"}),(0,l.jsx)(a.kRt,{className:"h-4 w-4"})]}),(0,l.jsxs)(i.z,{variant:"outline",className:"h-8 w-8 p-0",onClick:()=>H(P-1),disabled:!(null==W?void 0:W.hasPreviousPage),children:[(0,l.jsx)("span",{className:"sr-only",children:"Go to previous page"}),(0,l.jsx)(a.wyc,{className:"h-4 w-4"})]}),(0,l.jsxs)(i.z,{variant:"outline",className:"h-8 w-8 p-0",onClick:()=>H(P+1),disabled:!(null==W?void 0:W.hasNextPage),children:[(0,l.jsx)("span",{className:"sr-only",children:"Go to next page"}),(0,l.jsx)(a.XCv,{className:"h-4 w-4"})]}),(0,l.jsxs)(i.z,{variant:"outline",className:"hidden h-8 w-8 p-0 lg:flex",onClick:()=>H((null==W?void 0:W.pageCount)||1),disabled:!(null==W?void 0:W.hasNextPage),children:[(0,l.jsx)("span",{className:"sr-only",children:"Go to last page"}),(0,l.jsx)(a.yr4,{className:"h-4 w-4"})]})]})})]}),(0,l.jsx)(S.F,{open:z,onClose:J,onSuccess:()=>{G(),J()},testCase:E})]})}var _=s(13832),F=s(64972),R=s(32660),V=s(65613),P=s(99376);let H="force-dynamic";function Q(){var e,t;let{user:s}=(0,n.useContext)(_.S),[a,r]=(0,n.useState)(null),c=v(s,e=>{r(e)}),o=(0,P.useRouter)();return s.super_admin||(null===(e=s.role)||void 0===e?void 0:e.evals)==="read"||(null===(t=s.role)||void 0===t?void 0:t.evals)==="write"?(0,l.jsx)(l.Fragment,{children:(0,l.jsxs)("div",{className:"hidden h-full flex-1 flex-col space-y-8 p-8 md:flex",children:[(0,l.jsx)("div",{className:"flex items-center justify-between space-y-2",children:(0,l.jsxs)("div",{className:"flex items-center gap-4",children:[(0,l.jsx)(i.z,{variant:"ghost",size:"icon",onClick:()=>o.push("/evals"),children:(0,l.jsx)(R.Z,{className:"h-4 w-4"})}),(0,l.jsxs)("div",{children:[(0,l.jsx)("h2",{className:"text-2xl font-bold tracking-tight",children:"Test Cases"}),(0,l.jsx)("p",{className:"text-muted-foreground",children:"Create and manage test cases for evaluating agent performance."})]})]})}),(0,l.jsx)(T,{columns:c,testCase:a||void 0})]})}):(0,l.jsx)("div",{className:"flex h-full flex-1 flex-col space-y-8 p-8",children:(0,l.jsxs)(V.bZ,{variant:"destructive",children:[(0,l.jsx)(F.Z,{className:"h-4 w-4"}),(0,l.jsx)(V.X,{children:"You don't have permission to access Test Cases. Contact your administrator to request access."})]})})}},73578:function(e,t,s){"use strict";s.d(t,{RM:function(){return c},Rn:function(){return x},SC:function(){return o},iA:function(){return r},pj:function(){return u},ss:function(){return d},xD:function(){return i}});var l=s(57437),n=s(2265),a=s(94508);let r=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,l.jsx)("div",{className:"relative w-full overflow-auto",children:(0,l.jsx)("table",{ref:t,className:(0,a.cn)("w-full caption-bottom text-sm",s),...n})})});r.displayName="Table";let i=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,l.jsx)("thead",{ref:t,className:(0,a.cn)("[&_tr]:border-b",s),...n})});i.displayName="TableHeader";let c=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,l.jsx)("tbody",{ref:t,className:(0,a.cn)("[&_tr:last-child]:border-0",s),...n})});c.displayName="TableBody",n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,l.jsx)("tfoot",{ref:t,className:(0,a.cn)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",s),...n})}).displayName="TableFooter";let o=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,l.jsx)("tr",{ref:t,className:(0,a.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",s),...n})});o.displayName="TableRow";let d=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,l.jsx)("th",{ref:t,className:(0,a.cn)("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&:has([role=checkbox])]:w-[40px]",s),...n})});d.displayName="TableHead";let u=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,l.jsx)("td",{ref:t,className:(0,a.cn)("p-4 align-middle [&:has([role=checkbox])]:pr-0 [&:has([role=checkbox])]:w-[40px]",s),...n})});u.displayName="TableCell";let x=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,l.jsx)("caption",{ref:t,className:(0,a.cn)("mt-4 text-sm text-muted-foreground",s),...n})});x.displayName="TableCaption"},45675:function(e,t,s){"use strict";s.d(t,{Z:function(){return l}});let l=(0,s(39763).Z)("Pencil",[["path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z",key:"5qss01"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]])},18930:function(e,t,s){"use strict";s.d(t,{Z:function(){return l}});let l=(0,s(39763).Z)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]])},81363:function(e,t,s){"use strict";s.d(t,{T:function(){return n}});var l=s(99649);function n(e,t){let s=(0,l.Q)(e),n=(0,l.Q)(t);return 12*(s.getFullYear()-n.getFullYear())+(s.getMonth()-n.getMonth())}},27742:function(e,t,s){"use strict";s.d(t,{V:function(){return n}});var l=s(99649);function n(e){let t=(0,l.Q)(e),s=t.getMonth();return t.setFullYear(t.getFullYear(),s+1,0),t.setHours(23,59,59,999),t}},7598:function(e,t,s){"use strict";s.d(t,{Q:function(){return x}});var l=s(63497),n=s(99649);function a(e,t){let s=(0,n.Q)(e),l=(0,n.Q)(t),a=s.getTime()-l.getTime();return a<0?-1:a>0?1:a}var r=s(78198),i=s(81363),c=s(27742),o=s(5654),d=s(55528),u=s(9340);function x(e,t){return function(e,t,s){var l,x,m,h,f,g;let j,p,v;let N=(0,d.j)(),w=null!==(x=null!==(l=null==s?void 0:s.locale)&&void 0!==l?l:N.locale)&&void 0!==x?x:o._,C=a(e,t);if(isNaN(C))throw RangeError("Invalid time value");let b=Object.assign({},s,{addSuffix:null==s?void 0:s.addSuffix,comparison:C});C>0?(j=(0,n.Q)(t),p=(0,n.Q)(e)):(j=(0,n.Q)(e),p=(0,n.Q)(t));let y=(m=p,h=j,(g=null==void 0?void 0:(void 0).roundingMethod,e=>{let t=(g?Math[g]:Math.trunc)(e);return 0===t?0:t})((+(0,n.Q)(m)-+(0,n.Q)(h))/1e3)),D=Math.round((y-((0,u.D)(p)-(0,u.D)(j))/1e3)/60);if(D<2){if(null==s?void 0:s.includeSeconds){if(y<5)return w.formatDistance("lessThanXSeconds",5,b);if(y<10)return w.formatDistance("lessThanXSeconds",10,b);if(y<20)return w.formatDistance("lessThanXSeconds",20,b);if(y<40)return w.formatDistance("halfAMinute",0,b);else if(y<60)return w.formatDistance("lessThanXMinutes",1,b);else return w.formatDistance("xMinutes",1,b)}return 0===D?w.formatDistance("lessThanXMinutes",1,b):w.formatDistance("xMinutes",D,b)}if(D<45)return w.formatDistance("xMinutes",D,b);if(D<90)return w.formatDistance("aboutXHours",1,b);if(D<r.H_)return w.formatDistance("aboutXHours",Math.round(D/60),b);if(D<2520)return w.formatDistance("xDays",1,b);if(D<r.fH){let e=Math.round(D/r.H_);return w.formatDistance("xDays",e,b)}if(D<2*r.fH)return v=Math.round(D/r.fH),w.formatDistance("aboutXMonths",v,b);if((v=function(e,t){let s;let l=(0,n.Q)(e),r=(0,n.Q)(t),o=a(l,r),d=Math.abs((0,i.T)(l,r));if(d<1)s=0;else{1===l.getMonth()&&l.getDate()>27&&l.setDate(30),l.setMonth(l.getMonth()-o*d);let t=a(l,r)===-o;(function(e){let t=(0,n.Q)(e);return+function(e){let t=(0,n.Q)(e);return t.setHours(23,59,59,999),t}(t)==+(0,c.V)(t)})((0,n.Q)(e))&&1===d&&1===a(e,r)&&(t=!1),s=o*(d-Number(t))}return 0===s?0:s}(p,j))<12){let e=Math.round(D/r.fH);return w.formatDistance("xMonths",e,b)}{let e=v%12,t=Math.trunc(v/12);return e<3?w.formatDistance("aboutXYears",t,b):e<9?w.formatDistance("overXYears",t,b):w.formatDistance("almostXYears",t+1,b)}}(e,(0,l.L)(e,Date.now()),t)}}},function(e){e.O(0,[6840,329,8310,3954,9851,7629,7093,6148,847,1942,7648,7823,8068,5799,4567,605,85,4957,7398,3825,1785,3397,1594,9141,1713,6152,3145,428,6373,3832,1002,5978,2971,2117,1744],function(){return e(e.s=95094)}),_N_E=e.O()}]);
|
|
2
|
+
//# sourceMappingURL=page-47274d92d3daf16b.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static/chunks/app/(application)/evals/cases/page-47274d92d3daf16b.js","mappings":"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","sources":["webpack://_N_E/?1e6c","webpack://_N_E/./app/(application)/evals/cases/components/data-table-column-header.tsx","webpack://_N_E/./app/(application)/evals/cases/components/data-table-row-actions.tsx","webpack://_N_E/./app/(application)/evals/cases/components/columns.tsx","webpack://_N_E/./app/(application)/evals/cases/components/data-table-view-options.tsx","webpack://_N_E/./app/(application)/evals/cases/components/data-table.tsx","webpack://_N_E/./app/(application)/evals/cases/page.tsx","webpack://_N_E/./components/ui/table.tsx","webpack://_N_E/../../../src/icons/pencil.ts","webpack://_N_E/../../../src/icons/trash-2.ts","webpack://_N_E/./node_modules/date-fns/differenceInCalendarMonths.mjs","webpack://_N_E/./node_modules/date-fns/endOfMonth.mjs","webpack://_N_E/./node_modules/date-fns/constructNow.mjs","webpack://_N_E/./node_modules/date-fns/compareAsc.mjs","webpack://_N_E/./node_modules/date-fns/endOfDay.mjs","webpack://_N_E/./node_modules/date-fns/isLastDayOfMonth.mjs","webpack://_N_E/./node_modules/date-fns/differenceInMonths.mjs","webpack://_N_E/./node_modules/date-fns/_lib/getRoundingMethod.mjs","webpack://_N_E/./node_modules/date-fns/differenceInMilliseconds.mjs","webpack://_N_E/./node_modules/date-fns/differenceInSeconds.mjs","webpack://_N_E/./node_modules/date-fns/formatDistance.mjs","webpack://_N_E/./node_modules/date-fns/formatDistanceToNow.mjs"],"sourcesContent":["import(/* webpackMode: \"eager\" */ \"/home/runner/work/exulu-frontend/exulu-frontend/app/(application)/evals/cases/page.tsx\");\n","\"use client\";\n\nimport {\n ArrowDownIcon,\n ArrowUpIcon,\n CaretSortIcon,\n EyeNoneIcon,\n} from \"@radix-ui/react-icons\";\nimport { Column } from \"@tanstack/react-table\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu\";\n\ninterface DataTableColumnHeaderProps<TData, TValue>\n extends React.HTMLAttributes<HTMLDivElement> {\n column: Column<TData, TValue>;\n title: string;\n}\n\nexport function DataTableColumnHeader<TData, TValue>({\n column,\n title,\n className,\n}: DataTableColumnHeaderProps<TData, TValue>) {\n if (!column.getCanSort()) {\n return <div className={cn(className)}>{title}</div>;\n }\n\n return (\n <div className={cn(\"flex items-center space-x-2\", className)}>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"sm\"\n className=\"-ml-3 h-8 data-[state=open]:bg-accent\"\n >\n <span>{title}</span>\n {column.getIsSorted() === \"desc\" ? (\n <ArrowDownIcon className=\"ml-2 h-4 w-4\" />\n ) : column.getIsSorted() === \"asc\" ? (\n <ArrowUpIcon className=\"ml-2 h-4 w-4\" />\n ) : (\n <CaretSortIcon className=\"ml-2 h-4 w-4\" />\n )}\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\">\n <DropdownMenuItem onClick={() => column.toggleSorting(false)}>\n <ArrowUpIcon className=\"mr-2 h-3.5 w-3.5 text-muted-foreground/70\" />\n Asc\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => column.toggleSorting(true)}>\n <ArrowDownIcon className=\"mr-2 h-3.5 w-3.5 text-muted-foreground/70\" />\n Desc\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem onClick={() => column.toggleVisibility(false)}>\n <EyeNoneIcon className=\"mr-2 h-3.5 w-3.5 text-muted-foreground/70\" />\n Hide\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n );\n}\n","\"use client\";\n\nimport { DotsHorizontalIcon } from \"@radix-ui/react-icons\";\nimport { Row } from \"@tanstack/react-table\";\nimport { useMutation } from \"@apollo/client\";\nimport { Pencil, Trash2 } from \"lucide-react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu\";\nimport { DELETE_TEST_CASE } from \"@/queries/queries\";\nimport { useToast } from \"@/components/ui/use-toast\";\nimport { User, UserWithRole } from \"@EXULU_SHARED/models/user\";\nimport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n} from \"@/components/ui/alert-dialog\";\nimport { useState } from \"react\";\n\ninterface DataTableRowActionsProps<TData> {\n row: Row<TData>;\n user: UserWithRole;\n edit: () => void;\n}\n\nexport function DataTableRowActions<TData>({\n row,\n user,\n edit\n}: DataTableRowActionsProps<TData>) {\n const { toast } = useToast();\n const [showDeleteDialog, setShowDeleteDialog] = useState(false);\n const testCase = row.original as any;\n\n const canWrite = user.super_admin || user.role?.evals === \"write\";\n\n const [deleteTestCase, { loading: deleteLoading }] = useMutation(DELETE_TEST_CASE, {\n onCompleted: () => {\n toast({\n title: \"Test case deleted\",\n description: \"The test case has been successfully deleted.\",\n });\n setShowDeleteDialog(false);\n window.location.reload();\n },\n onError: (error) => {\n toast({\n title: \"Failed to delete test case\",\n description: error.message,\n variant: \"destructive\",\n });\n },\n });\n\n const handleDelete = (e: React.MouseEvent) => {\n e.stopPropagation();\n deleteTestCase({\n variables: {\n id: testCase.id,\n },\n });\n };\n\n return (\n <>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"ghost\"\n className=\"flex h-8 w-8 p-0 data-[state=open]:bg-muted\"\n onClick={(e) => e.stopPropagation()}\n >\n <DotsHorizontalIcon className=\"h-4 w-4\" />\n <span className=\"sr-only\">Open menu</span>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-[160px]\">\n <DropdownMenuItem\n onClick={(e) => {\n e.stopPropagation();\n edit()\n // Edit is handled by the row click in data-table.tsx\n }}\n >\n <Pencil className=\"mr-2 h-4 w-4\" />\n Edit\n </DropdownMenuItem>\n {canWrite && (\n <>\n <DropdownMenuSeparator />\n <DropdownMenuItem\n onClick={(e) => {\n e.stopPropagation();\n setShowDeleteDialog(true);\n }}\n className=\"text-destructive\"\n >\n <Trash2 className=\"mr-2 h-4 w-4\" />\n Delete\n </DropdownMenuItem>\n </>\n )}\n </DropdownMenuContent>\n </DropdownMenu>\n\n <AlertDialog open={showDeleteDialog} onOpenChange={setShowDeleteDialog}>\n <AlertDialogContent onClick={(e) => e.stopPropagation()}>\n <AlertDialogHeader>\n <AlertDialogTitle>Are you sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This will permanently delete the test case \"{testCase.name}\".\n This action cannot be undone.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction\n onClick={handleDelete}\n disabled={deleteLoading}\n className=\"bg-destructive text-destructive-foreground hover:bg-destructive/90\"\n >\n {deleteLoading ? \"Deleting...\" : \"Delete\"}\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n </>\n );\n}\n","\"use client\";\n\nimport { ColumnDef } from \"@tanstack/react-table\";\nimport { DataTableColumnHeader } from \"./data-table-column-header\";\nimport { DataTableRowActions } from \"./data-table-row-actions\";\nimport { TestCase } from \"@/types/models/test-case\";\nimport { UserWithRole } from \"@EXULU_SHARED/models/user\";\nimport { Badge } from \"@/components/ui/badge\";\nimport { formatDistanceToNow } from \"date-fns\";\n\nexport const createColumns = (user: UserWithRole, edit: (test: TestCase) => void): ColumnDef<TestCase>[] => [\n {\n accessorKey: \"name\",\n header: ({ column }) => (\n <DataTableColumnHeader column={column} title=\"Name\" />\n ),\n cell: ({ row }) => {\n return (\n <div className=\"flex space-x-2\">\n <span className=\"max-w-[400px] truncate font-medium\">\n {row.getValue(\"name\")}\n </span>\n </div>\n );\n },\n },\n {\n accessorKey: \"description\",\n header: ({ column }) => (\n <DataTableColumnHeader column={column} title=\"Description\" />\n ),\n cell: ({ row }) => {\n const description = row.getValue(\"description\") as string;\n return (\n <div className=\"flex space-x-2\">\n <span className=\"max-w-[300px] truncate text-muted-foreground\">\n {description || \"—\"}\n </span>\n </div>\n );\n },\n },\n {\n accessorKey: \"inputs\",\n header: ({ column }) => (\n <DataTableColumnHeader column={column} title=\"Messages\" />\n ),\n cell: ({ row }) => {\n const inputs = row.getValue(\"inputs\") as any[];\n return (\n <Badge variant=\"secondary\">\n {inputs?.length || 0} messages\n </Badge>\n );\n },\n },\n {\n accessorKey: \"expected_tools\",\n header: ({ column }) => (\n <DataTableColumnHeader column={column} title=\"Expected Tools\" />\n ),\n cell: ({ row }) => {\n const tools = row.getValue(\"expected_tools\") as string[];\n if (!tools || tools.length === 0) return <span className=\"text-muted-foreground\">—</span>;\n return (\n <Badge variant=\"outline\">\n {tools.length} tools\n </Badge>\n );\n },\n },\n {\n accessorKey: \"expected_knowledge_sources\",\n header: ({ column }) => (\n <DataTableColumnHeader column={column} title=\"Expected Contexts\" />\n ),\n cell: ({ row }) => {\n const contexts = row.getValue(\"expected_knowledge_sources\") as string[];\n if (!contexts || contexts.length === 0) return <span className=\"text-muted-foreground\">—</span>;\n return (\n <Badge variant=\"outline\">\n {contexts.length} contexts\n </Badge>\n );\n },\n },\n {\n accessorKey: \"expected_agent_tools\",\n header: ({ column }) => (\n <DataTableColumnHeader column={column} title=\"Expected Agents\" />\n ),\n cell: ({ row }) => {\n const agents = row.getValue(\"expected_agent_tools\") as string[];\n if (!agents || agents.length === 0) return <span className=\"text-muted-foreground\">—</span>;\n return (\n <Badge variant=\"outline\">\n {agents.length} agents\n </Badge>\n );\n },\n },\n {\n accessorKey: \"updatedAt\",\n header: ({ column }) => (\n <DataTableColumnHeader column={column} title=\"Updated\" />\n ),\n cell: ({ row }) => {\n const date = row.getValue(\"updatedAt\") as string;\n return (\n <div className=\"flex w-[100px] items-center\">\n <span className=\"text-sm text-muted-foreground\">\n {formatDistanceToNow(new Date(date), { addSuffix: true })}\n </span>\n </div>\n );\n },\n },\n {\n id: \"actions\",\n cell: ({ row }) => <DataTableRowActions row={row} user={user} edit={() => {\n const testCase = row.original as TestCase;\n edit(testCase);\n }} />,\n },\n];\n","\"use client\";\n\nimport { MixerHorizontalIcon } from \"@radix-ui/react-icons\";\nimport { Table } from \"@tanstack/react-table\";\n\nimport { Button } from \"@/components/ui/button\";\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu\";\n\ninterface DataTableViewOptionsProps<TData> {\n table: Table<TData>;\n}\n\nexport function DataTableViewOptions<TData>({\n table,\n}: DataTableViewOptionsProps<TData>) {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"outline\"\n size=\"sm\"\n className=\"ml-auto hidden h-8 lg:flex\"\n >\n <MixerHorizontalIcon className=\"mr-2 h-4 w-4\" />\n View\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-[150px]\">\n <DropdownMenuLabel>Toggle columns</DropdownMenuLabel>\n <DropdownMenuSeparator />\n {table\n .getAllColumns()\n .filter(\n (column) =>\n typeof column.accessorFn !== \"undefined\" && column.getCanHide(),\n )\n .map((column) => {\n return (\n <DropdownMenuCheckboxItem\n key={column.id}\n className=\"capitalize\"\n checked={column.getIsVisible()}\n onCheckedChange={(value) => column.toggleVisibility(!!value)}\n >\n <span className=\"w-[200px] truncate\">{column.id}</span>\n </DropdownMenuCheckboxItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n","\"use client\";\n\nimport { useMutation, useQuery } from \"@apollo/client\";\nimport {\n ChevronLeftIcon,\n ChevronRightIcon,\n DoubleArrowLeftIcon,\n DoubleArrowRightIcon,\n} from \"@radix-ui/react-icons\";\nimport {\n ColumnDef,\n ColumnFiltersState,\n flexRender,\n getCoreRowModel,\n getFacetedRowModel,\n getFacetedUniqueValues,\n getFilteredRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n SortingState,\n useReactTable,\n VisibilityState,\n} from \"@tanstack/react-table\";\nimport { Plus } from \"lucide-react\";\nimport { useState } from \"react\";\nimport * as React from \"react\";\nimport {\n GET_TEST_CASES,\n DELETE_TEST_CASE,\n} from \"@/queries/queries\";\nimport { DataTableViewOptions } from \"./data-table-view-options\";\nimport { Button } from \"@/components/ui/button\";\nimport { Input } from \"@/components/ui/input\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@/components/ui/table\";\nimport { useToast } from \"@/components/ui/use-toast\";\nimport { FilterOperator } from \"@/components/custom/recent-jobs\";\nimport { TestCaseModal } from \"./test-case-modal\";\nimport { TestCase } from \"@/types/models/test-case\";\n\nexport type TestCaseFilters = {\n name?: FilterOperator;\n createdAt?: FilterOperator;\n updatedAt?: FilterOperator;\n};\n\ninterface DataTableProps<TData, TValue> {\n columns: ColumnDef<TData, TValue>[];\n testCase?: TestCase;\n}\n\nexport function DataTable<TData, TValue>({\n columns,\n testCase,\n}: DataTableProps<TData, TValue>) {\n const { toast } = useToast();\n const [rowSelection, setRowSelection] = React.useState({});\n const [columnVisibility, setColumnVisibility] =\n React.useState<VisibilityState>({});\n const [columnFilters, setColumnFilters] = React.useState<ColumnFiltersState>(\n [],\n );\n\n const [filters, setFilters] = useState<TestCaseFilters[]>([]);\n const [page, setPage] = useState(1);\n const [sorting, setSorting] = React.useState<SortingState>([]);\n const [showModal, setShowModal] = useState(false);\n const [editingTestCase, setEditingTestCase] = useState<TestCase | null>(testCase || null);\n\n React.useEffect(() => {\n if (testCase) {\n setEditingTestCase(testCase);\n setShowModal(true);\n } else {\n setShowModal(false);\n setEditingTestCase(null);\n }\n }, [testCase]);\n\n const { loading, error, data, refetch } = useQuery(GET_TEST_CASES, {\n fetchPolicy: \"no-cache\",\n nextFetchPolicy: \"network-only\",\n variables: {\n page: page,\n limit: 10,\n filters: filters,\n },\n pollInterval: 30000,\n });\n\n const [deleteTestCase] = useMutation(DELETE_TEST_CASE, {\n onCompleted: () => {\n toast({\n title: \"Test case deleted\",\n description: \"The test case has been successfully deleted.\",\n });\n refetch();\n },\n onError: (error) => {\n toast({\n title: \"Failed to delete test case\",\n description: error.message,\n variant: \"destructive\",\n });\n },\n });\n\n const pageInfo = data?.test_casesPagination?.pageInfo;\n const testCases = data?.test_casesPagination?.items || [];\n\n const table = useReactTable({\n data: testCases as TData[],\n columns,\n state: {\n sorting,\n columnVisibility,\n rowSelection,\n columnFilters,\n },\n enableRowSelection: true,\n onRowSelectionChange: setRowSelection,\n onSortingChange: setSorting,\n onColumnFiltersChange: setColumnFilters,\n onColumnVisibilityChange: setColumnVisibility,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getPaginationRowModel: getPaginationRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getFacetedRowModel: getFacetedRowModel(),\n getFacetedUniqueValues: getFacetedUniqueValues(),\n });\n\n React.useEffect(() => {\n const nameFilter = table.getColumn(\"name\")?.getFilterValue() as string;\n if (nameFilter) {\n setFilters([{ name: { contains: nameFilter } }]);\n } else {\n setFilters([]);\n }\n }, [table.getColumn(\"name\")?.getFilterValue()]);\n\n const handleEdit = (testCase: TestCase) => {\n if (testCase) {\n setEditingTestCase(testCase);\n setShowModal(true);\n } else {\n setShowModal(false);\n setEditingTestCase(null);\n }\n };\n\n const handleCloseModal = () => {\n setShowModal(false);\n setEditingTestCase(null);\n };\n\n return (\n <div className=\"space-y-4\">\n <div className=\"flex items-center justify-between\">\n <div className=\"flex flex-1 items-center space-x-2\">\n <Input\n placeholder=\"Filter by name...\"\n value={(table.getColumn(\"name\")?.getFilterValue() as string) ?? \"\"}\n onChange={(event) =>\n table.getColumn(\"name\")?.setFilterValue(event.target.value)\n }\n className=\"h-8 w-[150px] lg:w-[250px]\"\n />\n </div>\n <div className=\"flex items-center space-x-2\">\n <DataTableViewOptions table={table} />\n <Button\n variant=\"default\"\n size=\"sm\"\n className=\"ml-auto h-8\"\n onClick={() => setShowModal(true)}\n >\n <Plus className=\"mr-2 h-4 w-4\" />\n New Test Case\n </Button>\n </div>\n </div>\n\n <div className=\"rounded-md border\">\n <Table>\n <TableHeader>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header) => {\n return (\n <TableHead key={header.id}>\n {header.isPlaceholder\n ? null\n : flexRender(\n header.column.columnDef.header,\n header.getContext(),\n )}\n </TableHead>\n );\n })}\n </TableRow>\n ))}\n </TableHeader>\n <TableBody>\n {loading ? (\n Array.from({ length: 5 }).map((_, i) => (\n <TableRow key={i}>\n {columns.map((_, j) => (\n <TableCell key={j}>\n <Skeleton className=\"h-6 w-full\" />\n </TableCell>\n ))}\n </TableRow>\n ))\n ) : table.getRowModel().rows?.length ? (\n table.getRowModel().rows.map((row) => (\n <TableRow\n key={row.id}\n data-state={row.getIsSelected() && \"selected\"}\n className=\"cursor-pointer\"\n onClick={() => {\n const testCase = row.original as TestCase;\n handleEdit(testCase);\n }}\n >\n {row.getVisibleCells().map((cell) => (\n <TableCell key={cell.id}>\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext(),\n )}\n </TableCell>\n ))}\n </TableRow>\n ))\n ) : (\n <TableRow>\n <TableCell\n colSpan={columns.length}\n className=\"h-24 text-center\"\n >\n No test cases found.\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n </div>\n\n <div className=\"flex items-center justify-between px-2\">\n <div className=\"flex-1 text-sm text-muted-foreground\">\n {pageInfo && (\n <>\n Page {pageInfo.currentPage} of {pageInfo.pageCount} ({pageInfo.itemCount} total)\n </>\n )}\n </div>\n <div className=\"flex items-center space-x-6 lg:space-x-8\">\n <div className=\"flex items-center space-x-2\">\n <Button\n variant=\"outline\"\n className=\"hidden h-8 w-8 p-0 lg:flex\"\n onClick={() => setPage(1)}\n disabled={!pageInfo?.hasPreviousPage}\n >\n <span className=\"sr-only\">Go to first page</span>\n <DoubleArrowLeftIcon className=\"h-4 w-4\" />\n </Button>\n <Button\n variant=\"outline\"\n className=\"h-8 w-8 p-0\"\n onClick={() => setPage(page - 1)}\n disabled={!pageInfo?.hasPreviousPage}\n >\n <span className=\"sr-only\">Go to previous page</span>\n <ChevronLeftIcon className=\"h-4 w-4\" />\n </Button>\n <Button\n variant=\"outline\"\n className=\"h-8 w-8 p-0\"\n onClick={() => setPage(page + 1)}\n disabled={!pageInfo?.hasNextPage}\n >\n <span className=\"sr-only\">Go to next page</span>\n <ChevronRightIcon className=\"h-4 w-4\" />\n </Button>\n <Button\n variant=\"outline\"\n className=\"hidden h-8 w-8 p-0 lg:flex\"\n onClick={() => setPage(pageInfo?.pageCount || 1)}\n disabled={!pageInfo?.hasNextPage}\n >\n <span className=\"sr-only\">Go to last page</span>\n <DoubleArrowRightIcon className=\"h-4 w-4\" />\n </Button>\n </div>\n </div>\n </div>\n\n <TestCaseModal\n open={showModal}\n onClose={handleCloseModal}\n onSuccess={() => {\n refetch();\n handleCloseModal();\n }}\n testCase={editingTestCase}\n />\n </div>\n );\n}\n","\"use client\";\n\nimport { useContext, useState } from \"react\";\nimport { createColumns } from \"./components/columns\";\nimport { DataTable } from \"./components/data-table\";\nimport { UserContext } from \"@/app/(application)/authenticated\";\nimport { ArrowLeft, Brain } from \"lucide-react\";\nimport { Alert, AlertDescription } from \"@/components/ui/alert\";\nimport { Button } from \"@/components/ui/button\";\nimport { useRouter } from \"next/navigation\";\nimport { TestCase } from \"@/types/models/test-case\";\n\nexport const dynamic = \"force-dynamic\";\n\nexport default function TestCasesPage() {\n\n const { user } = useContext(UserContext);\n const [editingTestCase, setEditingTestCase] = useState<TestCase | null>(null);\n const columns = createColumns(user, (testCase) => {\n setEditingTestCase(testCase);\n });\n const router = useRouter();\n\n // Check if user has evals access\n const hasEvalsAccess = user.super_admin || user.role?.evals === \"read\" || user.role?.evals === \"write\";\n\n if (!hasEvalsAccess) {\n return (\n <div className=\"flex h-full flex-1 flex-col space-y-8 p-8\">\n <Alert variant=\"destructive\">\n <Brain className=\"h-4 w-4\" />\n <AlertDescription>\n You don't have permission to access Test Cases. Contact your administrator to request access.\n </AlertDescription>\n </Alert>\n </div>\n );\n }\n\n return (\n <>\n <div className=\"hidden h-full flex-1 flex-col space-y-8 p-8 md:flex\">\n <div className=\"flex items-center justify-between space-y-2\">\n <div className=\"flex items-center gap-4\">\n <Button\n variant=\"ghost\"\n size=\"icon\"\n onClick={() => router.push(\"/evals\")}>\n <ArrowLeft className=\"h-4 w-4\" />\n </Button>\n <div>\n <h2 className=\"text-2xl font-bold tracking-tight\">Test Cases</h2>\n <p className=\"text-muted-foreground\">\n Create and manage test cases for evaluating agent performance.\n </p>\n </div>\n </div>\n </div>\n <DataTable columns={columns} testCase={editingTestCase || undefined} />\n </div>\n </>\n );\n}\n","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <div className=\"relative w-full overflow-auto\">\n <table\n ref={ref}\n className={cn(\"w-full caption-bottom text-sm\", className)}\n {...props}\n />\n </div>\n));\nTable.displayName = \"Table\";\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead ref={ref} className={cn(\"[&_tr]:border-b\", className)} {...props} />\n));\nTableHeader.displayName = \"TableHeader\";\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n className={cn(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n />\n));\nTableBody.displayName = \"TableBody\";\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n \"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0\",\n className,\n )}\n {...props}\n />\n));\nTableFooter.displayName = \"TableFooter\";\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n \"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted\",\n className,\n )}\n {...props}\n />\n));\nTableRow.displayName = \"TableRow\";\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n \"h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&:has([role=checkbox])]:w-[40px]\",\n className,\n )}\n {...props}\n />\n));\nTableHead.displayName = \"TableHead\";\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn(\n \"p-4 align-middle [&:has([role=checkbox])]:pr-0 [&:has([role=checkbox])]:w-[40px]\",\n className,\n )}\n {...props}\n />\n));\nTableCell.displayName = \"TableCell\";\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn(\"mt-4 text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nTableCaption.displayName = \"TableCaption\";\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n};\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Pencil\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/pencil\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Pencil = createLucideIcon('Pencil', [\n ['path', { d: 'M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z', key: '5qss01' }],\n ['path', { d: 'm15 5 4 4', key: '1mk7zo' }],\n]);\n\nexport default Pencil;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Trash2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/trash-2\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Trash2 = createLucideIcon('Trash2', [\n ['path', { d: 'M3 6h18', key: 'd0wm0j' }],\n ['path', { d: 'M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6', key: '4alrt4' }],\n ['path', { d: 'M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2', key: 'v07s0e' }],\n ['line', { x1: '10', x2: '10', y1: '11', y2: '17', key: '1uufr5' }],\n ['line', { x1: '14', x2: '14', y1: '11', y2: '17', key: 'xtxkd' }],\n]);\n\nexport default Trash2;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name differenceInCalendarMonths\n * @category Month Helpers\n * @summary Get the number of calendar months between the given dates.\n *\n * @description\n * Get the number of calendar months between the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of calendar months\n *\n * @example\n * // How many calendar months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInCalendarMonths(\n * new Date(2014, 8, 1),\n * new Date(2014, 0, 31)\n * )\n * //=> 8\n */\nexport function differenceInCalendarMonths(dateLeft, dateRight) {\n const _dateLeft = toDate(dateLeft);\n const _dateRight = toDate(dateRight);\n\n const yearDiff = _dateLeft.getFullYear() - _dateRight.getFullYear();\n const monthDiff = _dateLeft.getMonth() - _dateRight.getMonth();\n\n return yearDiff * 12 + monthDiff;\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarMonths;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name endOfMonth\n * @category Month Helpers\n * @summary Return the end of a month for the given date.\n *\n * @description\n * Return the end of a month for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The end of a month\n *\n * @example\n * // The end of a month for 2 September 2014 11:55:00:\n * const result = endOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 23:59:59.999\n */\nexport function endOfMonth(date) {\n const _date = toDate(date);\n const month = _date.getMonth();\n _date.setFullYear(_date.getFullYear(), month + 1, 0);\n _date.setHours(23, 59, 59, 999);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfMonth;\n","import { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name constructNow\n * @category Generic Helpers\n * @summary Constructs a new current date using the passed value constructor.\n * @pure false\n *\n * @description\n * The function constructs a new current date using the constructor from\n * the reference date. It helps to build generic functions that accept date\n * extensions and use the current date.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n *\n * @returns Current date initialized using the given date constructor\n *\n * @example\n * import { constructNow, isSameDay } from 'date-fns'\n *\n * function isToday<DateType extends Date>(\n * date: DateType | number | string,\n * ): boolean {\n * // If we were to use `new Date()` directly, the function would behave\n * // differently in different timezones and return false for the same date.\n * return isSameDay(date, constructNow(date));\n * }\n */\nexport function constructNow(date) {\n return constructFrom(date, Date.now());\n}\n\n// Fallback for modularized imports:\nexport default constructNow;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name compareAsc\n * @category Common Helpers\n * @summary Compare the two dates and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return 1 if the first date is after the second,\n * -1 if the first date is before the second or 0 if dates are equal.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The first date to compare\n * @param dateRight - The second date to compare\n *\n * @returns The result of the comparison\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989:\n * const result = compareAsc(new Date(1987, 1, 11), new Date(1989, 6, 10))\n * //=> -1\n *\n * @example\n * // Sort the array of dates:\n * const result = [\n * new Date(1995, 6, 2),\n * new Date(1987, 1, 11),\n * new Date(1989, 6, 10)\n * ].sort(compareAsc)\n * //=> [\n * // Wed Feb 11 1987 00:00:00,\n * // Mon Jul 10 1989 00:00:00,\n * // Sun Jul 02 1995 00:00:00\n * // ]\n */\nexport function compareAsc(dateLeft, dateRight) {\n const _dateLeft = toDate(dateLeft);\n const _dateRight = toDate(dateRight);\n\n const diff = _dateLeft.getTime() - _dateRight.getTime();\n\n if (diff < 0) {\n return -1;\n } else if (diff > 0) {\n return 1;\n // Return 0 if diff is 0; return NaN if diff is NaN\n } else {\n return diff;\n }\n}\n\n// Fallback for modularized imports:\nexport default compareAsc;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name endOfDay\n * @category Day Helpers\n * @summary Return the end of a day for the given date.\n *\n * @description\n * Return the end of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The end of a day\n *\n * @example\n * // The end of a day for 2 September 2014 11:55:00:\n * const result = endOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 23:59:59.999\n */\nexport function endOfDay(date) {\n const _date = toDate(date);\n _date.setHours(23, 59, 59, 999);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfDay;\n","import { endOfDay } from \"./endOfDay.mjs\";\nimport { endOfMonth } from \"./endOfMonth.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isLastDayOfMonth\n * @category Month Helpers\n * @summary Is the given date the last day of a month?\n *\n * @description\n * Is the given date the last day of a month?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to check\n\n * @returns The date is the last day of a month\n *\n * @example\n * // Is 28 February 2014 the last day of a month?\n * const result = isLastDayOfMonth(new Date(2014, 1, 28))\n * //=> true\n */\nexport function isLastDayOfMonth(date) {\n const _date = toDate(date);\n return +endOfDay(_date) === +endOfMonth(_date);\n}\n\n// Fallback for modularized imports:\nexport default isLastDayOfMonth;\n","import { compareAsc } from \"./compareAsc.mjs\";\nimport { differenceInCalendarMonths } from \"./differenceInCalendarMonths.mjs\";\nimport { isLastDayOfMonth } from \"./isLastDayOfMonth.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name differenceInMonths\n * @category Month Helpers\n * @summary Get the number of full months between the given dates.\n *\n * @description\n * Get the number of full months between the given dates using trunc as a default rounding method.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of full months\n *\n * @example\n * // How many full months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInMonths(new Date(2014, 8, 1), new Date(2014, 0, 31))\n * //=> 7\n */\nexport function differenceInMonths(dateLeft, dateRight) {\n const _dateLeft = toDate(dateLeft);\n const _dateRight = toDate(dateRight);\n\n const sign = compareAsc(_dateLeft, _dateRight);\n const difference = Math.abs(\n differenceInCalendarMonths(_dateLeft, _dateRight),\n );\n let result;\n\n // Check for the difference of less than month\n if (difference < 1) {\n result = 0;\n } else {\n if (_dateLeft.getMonth() === 1 && _dateLeft.getDate() > 27) {\n // This will check if the date is end of Feb and assign a higher end of month date\n // to compare it with Jan\n _dateLeft.setDate(30);\n }\n\n _dateLeft.setMonth(_dateLeft.getMonth() - sign * difference);\n\n // Math.abs(diff in full months - diff in calendar months) === 1 if last calendar month is not full\n // If so, result must be decreased by 1 in absolute value\n let isLastMonthNotFull = compareAsc(_dateLeft, _dateRight) === -sign;\n\n // Check for cases of one full calendar month\n if (\n isLastDayOfMonth(toDate(dateLeft)) &&\n difference === 1 &&\n compareAsc(dateLeft, _dateRight) === 1\n ) {\n isLastMonthNotFull = false;\n }\n\n result = sign * (difference - Number(isLastMonthNotFull));\n }\n\n // Prevent negative zero\n return result === 0 ? 0 : result;\n}\n\n// Fallback for modularized imports:\nexport default differenceInMonths;\n","export function getRoundingMethod(method) {\n return (number) => {\n const round = method ? Math[method] : Math.trunc;\n const result = round(number);\n // Prevent negative zero\n return result === 0 ? 0 : result;\n };\n}\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name differenceInMilliseconds\n * @category Millisecond Helpers\n * @summary Get the number of milliseconds between the given dates.\n *\n * @description\n * Get the number of milliseconds between the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of milliseconds\n *\n * @example\n * // How many milliseconds are between\n * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700?\n * const result = differenceInMilliseconds(\n * new Date(2014, 6, 2, 12, 30, 21, 700),\n * new Date(2014, 6, 2, 12, 30, 20, 600)\n * )\n * //=> 1100\n */\nexport function differenceInMilliseconds(dateLeft, dateRight) {\n return +toDate(dateLeft) - +toDate(dateRight);\n}\n\n// Fallback for modularized imports:\nexport default differenceInMilliseconds;\n","import { getRoundingMethod } from \"./_lib/getRoundingMethod.mjs\";\nimport { differenceInMilliseconds } from \"./differenceInMilliseconds.mjs\";\n\n/**\n * The {@link differenceInSeconds} function options.\n */\n\n/**\n * @name differenceInSeconds\n * @category Second Helpers\n * @summary Get the number of seconds between the given dates.\n *\n * @description\n * Get the number of seconds between the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n * @param options - An object with options.\n *\n * @returns The number of seconds\n *\n * @example\n * // How many seconds are between\n * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000?\n * const result = differenceInSeconds(\n * new Date(2014, 6, 2, 12, 30, 20, 0),\n * new Date(2014, 6, 2, 12, 30, 7, 999)\n * )\n * //=> 12\n */\nexport function differenceInSeconds(dateLeft, dateRight, options) {\n const diff = differenceInMilliseconds(dateLeft, dateRight) / 1000;\n return getRoundingMethod(options?.roundingMethod)(diff);\n}\n\n// Fallback for modularized imports:\nexport default differenceInSeconds;\n","import { compareAsc } from \"./compareAsc.mjs\";\nimport { minutesInDay, minutesInMonth } from \"./constants.mjs\";\nimport { differenceInMonths } from \"./differenceInMonths.mjs\";\nimport { differenceInSeconds } from \"./differenceInSeconds.mjs\";\nimport { toDate } from \"./toDate.mjs\";\nimport { defaultLocale } from \"./_lib/defaultLocale.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\nimport { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.mjs\";\n\n/**\n * The {@link formatDistance} function options.\n */\n\n/**\n * @name formatDistance\n * @category Common Helpers\n * @summary Return the distance between the given dates in words.\n *\n * @description\n * Return the distance between the given dates in words.\n *\n * | Distance between dates | Result |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs | less than a minute |\n * | 30 secs ... 1 min 30 secs | 1 minute |\n * | 1 min 30 secs ... 44 mins 30 secs | [2..44] minutes |\n * | 44 mins ... 30 secs ... 89 mins 30 secs | about 1 hour |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs | 1 day |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs | [2..30] days |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr | [2..12] months |\n * | 1 yr ... 1 yr 3 months | about 1 year |\n * | 1 yr 3 months ... 1 yr 9 month s | over 1 year |\n * | 1 yr 9 months ... 2 yrs | almost 2 years |\n * | N yrs ... N yrs 3 months | about N years |\n * | N yrs 3 months ... N yrs 9 months | over N years |\n * | N yrs 9 months ... N+1 yrs | almost N+1 years |\n *\n * With `options.includeSeconds == true`:\n * | Distance between dates | Result |\n * |------------------------|----------------------|\n * | 0 secs ... 5 secs | less than 5 seconds |\n * | 5 secs ... 10 secs | less than 10 seconds |\n * | 10 secs ... 20 secs | less than 20 seconds |\n * | 20 secs ... 40 secs | half a minute |\n * | 40 secs ... 60 secs | less than a minute |\n * | 60 secs ... 90 secs | 1 minute |\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date\n * @param baseDate - The date to compare with\n * @param options - An object with options\n *\n * @returns The distance in words\n *\n * @throws `date` must not be Invalid Date\n * @throws `baseDate` must not be Invalid Date\n * @throws `options.locale` must contain `formatDistance` property\n *\n * @example\n * // What is the distance between 2 July 2014 and 1 January 2015?\n * const result = formatDistance(new Date(2014, 6, 2), new Date(2015, 0, 1))\n * //=> '6 months'\n *\n * @example\n * // What is the distance between 1 January 2015 00:00:15\n * // and 1 January 2015 00:00:00, including seconds?\n * const result = formatDistance(\n * new Date(2015, 0, 1, 0, 0, 15),\n * new Date(2015, 0, 1, 0, 0, 0),\n * { includeSeconds: true }\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, with a suffix?\n * const result = formatDistance(new Date(2015, 0, 1), new Date(2016, 0, 1), {\n * addSuffix: true\n * })\n * //=> 'about 1 year ago'\n *\n * @example\n * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = formatDistance(new Date(2016, 7, 1), new Date(2015, 0, 1), {\n * locale: eoLocale\n * })\n * //=> 'pli ol 1 jaro'\n */\n\nexport function formatDistance(date, baseDate, options) {\n const defaultOptions = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n const minutesInAlmostTwoDays = 2520;\n\n const comparison = compareAsc(date, baseDate);\n\n if (isNaN(comparison)) {\n throw new RangeError(\"Invalid time value\");\n }\n\n const localizeOptions = Object.assign({}, options, {\n addSuffix: options?.addSuffix,\n comparison: comparison,\n });\n\n let dateLeft;\n let dateRight;\n if (comparison > 0) {\n dateLeft = toDate(baseDate);\n dateRight = toDate(date);\n } else {\n dateLeft = toDate(date);\n dateRight = toDate(baseDate);\n }\n\n const seconds = differenceInSeconds(dateRight, dateLeft);\n const offsetInSeconds =\n (getTimezoneOffsetInMilliseconds(dateRight) -\n getTimezoneOffsetInMilliseconds(dateLeft)) /\n 1000;\n const minutes = Math.round((seconds - offsetInSeconds) / 60);\n let months;\n\n // 0 up to 2 mins\n if (minutes < 2) {\n if (options?.includeSeconds) {\n if (seconds < 5) {\n return locale.formatDistance(\"lessThanXSeconds\", 5, localizeOptions);\n } else if (seconds < 10) {\n return locale.formatDistance(\"lessThanXSeconds\", 10, localizeOptions);\n } else if (seconds < 20) {\n return locale.formatDistance(\"lessThanXSeconds\", 20, localizeOptions);\n } else if (seconds < 40) {\n return locale.formatDistance(\"halfAMinute\", 0, localizeOptions);\n } else if (seconds < 60) {\n return locale.formatDistance(\"lessThanXMinutes\", 1, localizeOptions);\n } else {\n return locale.formatDistance(\"xMinutes\", 1, localizeOptions);\n }\n } else {\n if (minutes === 0) {\n return locale.formatDistance(\"lessThanXMinutes\", 1, localizeOptions);\n } else {\n return locale.formatDistance(\"xMinutes\", minutes, localizeOptions);\n }\n }\n\n // 2 mins up to 0.75 hrs\n } else if (minutes < 45) {\n return locale.formatDistance(\"xMinutes\", minutes, localizeOptions);\n\n // 0.75 hrs up to 1.5 hrs\n } else if (minutes < 90) {\n return locale.formatDistance(\"aboutXHours\", 1, localizeOptions);\n\n // 1.5 hrs up to 24 hrs\n } else if (minutes < minutesInDay) {\n const hours = Math.round(minutes / 60);\n return locale.formatDistance(\"aboutXHours\", hours, localizeOptions);\n\n // 1 day up to 1.75 days\n } else if (minutes < minutesInAlmostTwoDays) {\n return locale.formatDistance(\"xDays\", 1, localizeOptions);\n\n // 1.75 days up to 30 days\n } else if (minutes < minutesInMonth) {\n const days = Math.round(minutes / minutesInDay);\n return locale.formatDistance(\"xDays\", days, localizeOptions);\n\n // 1 month up to 2 months\n } else if (minutes < minutesInMonth * 2) {\n months = Math.round(minutes / minutesInMonth);\n return locale.formatDistance(\"aboutXMonths\", months, localizeOptions);\n }\n\n months = differenceInMonths(dateRight, dateLeft);\n\n // 2 months up to 12 months\n if (months < 12) {\n const nearestMonth = Math.round(minutes / minutesInMonth);\n return locale.formatDistance(\"xMonths\", nearestMonth, localizeOptions);\n\n // 1 year up to max Date\n } else {\n const monthsSinceStartOfYear = months % 12;\n const years = Math.trunc(months / 12);\n\n // N years up to 1 years 3 months\n if (monthsSinceStartOfYear < 3) {\n return locale.formatDistance(\"aboutXYears\", years, localizeOptions);\n\n // N years 3 months up to N years 9 months\n } else if (monthsSinceStartOfYear < 9) {\n return locale.formatDistance(\"overXYears\", years, localizeOptions);\n\n // N years 9 months up to N year 12 months\n } else {\n return locale.formatDistance(\"almostXYears\", years + 1, localizeOptions);\n }\n }\n}\n\n// Fallback for modularized imports:\nexport default formatDistance;\n","import { constructNow } from \"./constructNow.mjs\";\nimport { formatDistance } from \"./formatDistance.mjs\";\n\n/**\n * The {@link formatDistanceToNow} function options.\n */\n\n/**\n * @name formatDistanceToNow\n * @category Common Helpers\n * @summary Return the distance between the given date and now in words.\n * @pure false\n *\n * @description\n * Return the distance between the given date and now in words.\n *\n * | Distance to now | Result |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs | less than a minute |\n * | 30 secs ... 1 min 30 secs | 1 minute |\n * | 1 min 30 secs ... 44 mins 30 secs | [2..44] minutes |\n * | 44 mins ... 30 secs ... 89 mins 30 secs | about 1 hour |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs | 1 day |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs | [2..30] days |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr | [2..12] months |\n * | 1 yr ... 1 yr 3 months | about 1 year |\n * | 1 yr 3 months ... 1 yr 9 month s | over 1 year |\n * | 1 yr 9 months ... 2 yrs | almost 2 years |\n * | N yrs ... N yrs 3 months | about N years |\n * | N yrs 3 months ... N yrs 9 months | over N years |\n * | N yrs 9 months ... N+1 yrs | almost N+1 years |\n *\n * With `options.includeSeconds == true`:\n * | Distance to now | Result |\n * |---------------------|----------------------|\n * | 0 secs ... 5 secs | less than 5 seconds |\n * | 5 secs ... 10 secs | less than 10 seconds |\n * | 10 secs ... 20 secs | less than 20 seconds |\n * | 20 secs ... 40 secs | half a minute |\n * | 40 secs ... 60 secs | less than a minute |\n * | 60 secs ... 90 secs | 1 minute |\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n * @param options - The object with options\n *\n * @returns The distance in words\n *\n * @throws `date` must not be Invalid Date\n * @throws `options.locale` must contain `formatDistance` property\n *\n * @example\n * // If today is 1 January 2015, what is the distance to 2 July 2014?\n * const result = formatDistanceToNow(\n * new Date(2014, 6, 2)\n * )\n * //=> '6 months'\n *\n * @example\n * // If now is 1 January 2015 00:00:00,\n * // what is the distance to 1 January 2015 00:00:15, including seconds?\n * const result = formatDistanceToNow(\n * new Date(2015, 0, 1, 0, 0, 15),\n * {includeSeconds: true}\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 January 2016, with a suffix?\n * const result = formatDistanceToNow(\n * new Date(2016, 0, 1),\n * {addSuffix: true}\n * )\n * //=> 'in about 1 year'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 August 2016 in Esperanto?\n * const eoLocale = require('date-fns/locale/eo')\n * const result = formatDistanceToNow(\n * new Date(2016, 7, 1),\n * {locale: eoLocale}\n * )\n * //=> 'pli ol 1 jaro'\n */\nexport function formatDistanceToNow(date, options) {\n return formatDistance(date, constructNow(date), options);\n}\n\n// Fallback for modularized imports:\nexport default formatDistanceToNow;\n"],"names":["Promise","resolve","then","__webpack_require__","bind","DataTableColumnHeader","param","column","title","className","getCanSort","jsx_runtime","jsx","div","cn","jsxs","DropdownMenu","DropdownMenuTrigger","asChild","Button","variant","size","span","getIsSorted","ArrowDownIcon","ArrowUpIcon","CaretSortIcon","DropdownMenuContent","align","DropdownMenuItem","onClick","toggleSorting","DropdownMenuSeparator","toggleVisibility","EyeNoneIcon","DataTableRowActions","user","row","edit","toast","useToast","showDeleteDialog","setShowDeleteDialog","useState","testCase","original","canWrite","super_admin","role","evals","deleteTestCase","loading","deleteLoading","useMutation","DELETE_TEST_CASE","onCompleted","description","window","location","reload","onError","error","message","Fragment","e","stopPropagation","DotsHorizontalIcon","Pencil","Trash2","AlertDialog","open","onOpenChange","AlertDialogContent","AlertDialogHeader","AlertDialogTitle","AlertDialogDescription","name","AlertDialogFooter","AlertDialogCancel","AlertDialogAction","variables","id","disabled","createColumns","accessorKey","header","cell","getValue","inputs","Badge","length","tools","contexts","agents","date","formatDistanceToNow","Date","addSuffix","DataTableViewOptions","table","MixerHorizontalIcon","DropdownMenuLabel","getAllColumns","filter","accessorFn","getCanHide","map","DropdownMenuCheckboxItem","checked","getIsVisible","onCheckedChange","value","DataTable","data","columns","rowSelection","setRowSelection","React","columnVisibility","setColumnVisibility","columnFilters","setColumnFilters","filters","setFilters","page","setPage","sorting","setSorting","showModal","setShowModal","editingTestCase","setEditingTestCase","refetch","useQuery","GET_TEST_CASES","fetchPolicy","nextFetchPolicy","limit","pollInterval","pageInfo","test_casesPagination","testCases","items","useReactTable","state","enableRowSelection","onRowSelectionChange","onSortingChange","onColumnFiltersChange","onColumnVisibilityChange","getCoreRowModel","getFilteredRowModel","getPaginationRowModel","getSortedRowModel","getFacetedRowModel","getFacetedUniqueValues","nameFilter","getColumn","getFilterValue","contains","handleEdit","handleCloseModal","Input","placeholder","onChange","setFilterValue","event","target","Plus","Table","TableHeader","getHeaderGroups","TableRow","headerGroup","headers","TableHead","isPlaceholder","flexRender","columnDef","getContext","TableBody","Array","from","_","i","j","TableCell","Skeleton","getRowModel","rows","data-state","getIsSelected","getVisibleCells","colSpan","currentPage","pageCount","itemCount","hasPreviousPage","DoubleArrowLeftIcon","ChevronLeftIcon","hasNextPage","ChevronRightIcon","DoubleArrowRightIcon","TestCaseModal","onClose","onSuccess","dynamic","TestCasesPage","useContext","UserContext","router","useRouter","push","ArrowLeft","h2","p","undefined","Alert","Brain","AlertDescription","ref","props","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","displayName","thead","tbody","TableFooter","tfoot","tr","th","td","TableCaption","caption","createLucideIcon","d","key","x1","x2","y1","y2","differenceInCalendarMonths","dateLeft","dateRight","_dateLeft","toDate","_dateRight","yearDiff","getFullYear","getMonth","endOfMonth","_date","month","setFullYear","setHours","compareAsc","diff","getTime","options","formatDistance","baseDate","method","months","defaultOptions","getDefaultOptions","locale","defaultLocale","comparison","isNaN","localizeOptions","Object","assign","seconds","getRoundingMethod","roundingMethod","result","round","Math","trunc","number","minutes","getTimezoneOffsetInMilliseconds","offsetInSeconds","includeSeconds","minutesInDay","minutesInMonth","days","differenceInMonths","sign","difference","abs","getDate","setDate","setMonth","isLastMonthNotFull","isLastDayOfMonth","endOfDay","Number","nearestMonth","monthsSinceStartOfYear","years","constructFrom","now"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8973],{1157:function(e,t,s){Promise.resolve().then(s.bind(s,92814))},92814:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return F},dynamic:function(){return O}});var a=s(57437),n=s(2265),r=s(20653),l=s(94508),i=s(62869),o=s(84190);function d(e){let{column:t,title:s,className:n}=e;return t.getCanSort()?(0,a.jsx)("div",{className:(0,l.cn)("flex items-center space-x-2",n),children:(0,a.jsxs)(o.h_,{children:[(0,a.jsx)(o.$F,{asChild:!0,children:(0,a.jsxs)(i.z,{variant:"ghost",size:"sm",className:"-ml-3 h-8 data-[state=open]:bg-accent",children:[(0,a.jsx)("span",{children:s}),"desc"===t.getIsSorted()?(0,a.jsx)(r.veu,{className:"ml-2 h-4 w-4"}):"asc"===t.getIsSorted()?(0,a.jsx)(r.Hf3,{className:"ml-2 h-4 w-4"}):(0,a.jsx)(r.jnn,{className:"ml-2 h-4 w-4"})]})}),(0,a.jsxs)(o.AW,{align:"start",children:[(0,a.jsxs)(o.Xi,{onClick:()=>t.toggleSorting(!1),children:[(0,a.jsx)(r.Hf3,{className:"mr-2 h-3.5 w-3.5 text-muted-foreground/70"}),"Asc"]}),(0,a.jsxs)(o.Xi,{onClick:()=>t.toggleSorting(!0),children:[(0,a.jsx)(r.veu,{className:"mr-2 h-3.5 w-3.5 text-muted-foreground/70"}),"Desc"]}),(0,a.jsx)(o.VD,{}),(0,a.jsxs)(o.Xi,{onClick:()=>t.toggleVisibility(!1),children:[(0,a.jsx)(r.L52,{className:"mr-2 h-3.5 w-3.5 text-muted-foreground/70"}),"Hide"]})]})]})}):(0,a.jsx)("div",{className:(0,l.cn)(n),children:s})}var c=s(12199),u=s(45675),m=s(33276),f=s(18930),x=s(99376),p=s(27689),h=s(77992),g=s(37099);function v(e){var t;let{row:s,user:l}=e,d=(0,x.useRouter)(),{toast:v}=(0,h.pm)(),[j,N]=(0,n.useState)(!1),b=s.original,y=l.super_admin||(null===(t=l.role)||void 0===t?void 0:t.evals)==="write",[w,{loading:C}]=(0,c.D)(p.s5,{onCompleted:()=>{v({title:"Eval set deleted",description:"The eval set has been successfully deleted."}),N(!1),window.location.reload()},onError:e=>{v({title:"Failed to delete eval set",description:e.message,variant:"destructive"})}});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(o.h_,{children:[(0,a.jsx)(o.$F,{asChild:!0,children:(0,a.jsxs)(i.z,{variant:"ghost",className:"flex h-8 w-8 p-0 data-[state=open]:bg-muted",onClick:e=>e.stopPropagation(),children:[(0,a.jsx)(r.nWS,{className:"h-4 w-4"}),(0,a.jsx)("span",{className:"sr-only",children:"Open menu"})]})}),(0,a.jsxs)(o.AW,{align:"end",className:"w-[160px]",children:[(0,a.jsxs)(o.Xi,{onClick:e=>{e.stopPropagation(),d.push("/evals/".concat(b.id))},children:[(0,a.jsx)(u.Z,{className:"mr-2 h-4 w-4"}),"Edit"]}),(0,a.jsxs)(o.Xi,{onClick:e=>{e.stopPropagation(),d.push("/evals/".concat(b.id,"/runs"))},children:[(0,a.jsx)(m.Z,{className:"mr-2 h-4 w-4"}),"View Runs"]}),y&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.VD,{}),(0,a.jsxs)(o.Xi,{onClick:e=>{e.stopPropagation(),N(!0)},className:"text-destructive",children:[(0,a.jsx)(f.Z,{className:"mr-2 h-4 w-4"}),"Delete"]})]})]})]}),(0,a.jsx)(g.aR,{open:j,onOpenChange:N,children:(0,a.jsxs)(g._T,{onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)(g.fY,{children:[(0,a.jsx)(g.f$,{children:"Are you sure?"}),(0,a.jsxs)(g.yT,{children:['This will permanently delete the eval set "',b.name,'". This action cannot be undone.']})]}),(0,a.jsxs)(g.xo,{children:[(0,a.jsx)(g.le,{children:"Cancel"}),(0,a.jsx)(g.OL,{onClick:e=>{e.stopPropagation(),w({variables:{id:b.id}})},disabled:C,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:C?"Deleting...":"Delete"})]})]})})]})}var j=s(7598);let N=e=>[{accessorKey:"name",header:e=>{let{column:t}=e;return(0,a.jsx)(d,{column:t,title:"Name"})},cell:e=>{let{row:t}=e;return(0,a.jsx)("div",{className:"flex space-x-2",children:(0,a.jsx)("span",{className:"max-w-[500px] truncate font-medium",children:t.getValue("name")})})}},{accessorKey:"description",header:e=>{let{column:t}=e;return(0,a.jsx)(d,{column:t,title:"Description"})},cell:e=>{let{row:t}=e,s=t.getValue("description");return(0,a.jsx)("div",{className:"flex space-x-2",children:(0,a.jsx)("span",{className:"max-w-[300px] truncate text-muted-foreground",children:s||"—"})})}},{accessorKey:"updatedAt",header:e=>{let{column:t}=e;return(0,a.jsx)(d,{column:t,title:"Updated"})},cell:e=>{let{row:t}=e,s=t.getValue("updatedAt");return(0,a.jsx)("div",{className:"flex w-[100px] items-center",children:(0,a.jsx)("span",{className:"text-sm text-muted-foreground",children:(0,j.Q)(new Date(s),{addSuffix:!0})})})}},{id:"actions",cell:t=>{let{row:s}=t;return(0,a.jsx)(v,{row:s,user:e})}}];var b=s(7211),y=s(71594),w=s(24525);function C(e){let{table:t}=e;return(0,a.jsxs)(o.h_,{children:[(0,a.jsx)(o.$F,{asChild:!0,children:(0,a.jsxs)(i.z,{variant:"outline",size:"sm",className:"ml-auto hidden h-8 lg:flex",children:[(0,a.jsx)(r.hsZ,{className:"mr-2 h-4 w-4"}),"View"]})}),(0,a.jsxs)(o.AW,{align:"end",className:"w-[150px]",children:[(0,a.jsx)(o.Ju,{children:"Toggle columns"}),(0,a.jsx)(o.VD,{}),t.getAllColumns().filter(e=>void 0!==e.accessorFn&&e.getCanHide()).map(e=>(0,a.jsx)(o.bO,{className:"capitalize",checked:e.getIsVisible(),onCheckedChange:t=>e.toggleVisibility(!!t),children:e.id},e.id))]})]})}var k=s(95186),S=s(93022),R=s(73578),D=s(99397),T=s(15863),M=s(26110),E=s(26815),_=s(76818);function A(e){let{onSuccess:t}=e;console.log("CreateEvalSetModal rendered.");let[s,r]=(0,n.useState)(""),[l,o]=(0,n.useState)(!1),[d,u]=(0,n.useState)(""),[m,{loading:f}]=(0,c.D)(p.$W,{onCompleted:e=>{console.log("Mutation completed:",e),r(""),u(""),t(),o(!1)},onError:e=>{console.log("Mutation error:",e)}});return(0,a.jsxs)(M.Vq,{open:l,onOpenChange:o,children:[(0,a.jsx)(M.hg,{asChild:!0,children:(0,a.jsxs)(i.z,{variant:"default",size:"sm",className:"ml-auto h-8",children:[(0,a.jsx)(D.Z,{className:"mr-2 h-4 w-4"}),"New Eval Set"]})}),(0,a.jsxs)(M.cZ,{className:"sm:max-w-[525px]",children:[(0,a.jsxs)(M.fK,{children:[(0,a.jsx)(M.$N,{children:"Create Eval Set"}),(0,a.jsx)(M.Be,{children:"Create a new evaluation set. You can add test cases after creation."})]}),(0,a.jsxs)("form",{onSubmit:e=>{e.preventDefault(),m({variables:{data:{name:s.trim(),description:d.trim()||null}}})},children:[(0,a.jsxs)("div",{className:"grid gap-4 py-4",children:[(0,a.jsxs)("div",{className:"grid gap-2",children:[(0,a.jsx)(E._,{htmlFor:"name",children:"Name *"}),(0,a.jsx)(k.I,{id:"name",placeholder:"e.g., Customer Support Scenarios",value:s,onChange:e=>r(e.target.value),disabled:f,required:!0})]}),(0,a.jsxs)("div",{className:"grid gap-2",children:[(0,a.jsx)(E._,{htmlFor:"description",children:"Description"}),(0,a.jsx)(_.g,{id:"description",placeholder:"Describe what this eval set tests...",value:d,onChange:e=>u(e.target.value),disabled:f,rows:3})]})]}),(0,a.jsxs)(M.cN,{children:[(0,a.jsx)(i.z,{type:"button",variant:"outline",onClick:()=>o(!1),disabled:f,children:"Cancel"}),(0,a.jsxs)(i.z,{type:"submit",disabled:f||!s.trim(),children:[f&&(0,a.jsx)(T.Z,{className:"mr-2 h-4 w-4 animate-spin"}),"Create Eval Set"]})]})]})]})]})}function V(e){var t,s,l;let{columns:o}=e,d=(0,x.useRouter)(),[c,u]=n.useState({}),[m,f]=n.useState({}),[h,g]=n.useState([]),[v,j]=(0,n.useState)(1),[N,D]=n.useState([]),[T,M]=(0,n.useState)(""),{loading:E,error:_,data:V,refetch:z}=(0,b.aM)(p.jm,{fetchPolicy:"no-cache",nextFetchPolicy:"network-only",variables:{page:v,limit:10,filters:T?[{name:{contains:T}}]:[]},pollInterval:3e4}),P=null==V?void 0:null===(t=V.eval_setsPagination)||void 0===t?void 0:t.pageInfo,Z=(null==V?void 0:null===(s=V.eval_setsPagination)||void 0===s?void 0:s.items)||[],I=(0,y.b7)({data:Z,columns:o,state:{sorting:N,columnVisibility:m,rowSelection:c,columnFilters:h},enableRowSelection:!0,onRowSelectionChange:u,onSortingChange:D,onColumnFiltersChange:g,onColumnVisibilityChange:f,getCoreRowModel:(0,w.sC)(),getFilteredRowModel:(0,w.vL)(),getPaginationRowModel:(0,w.G_)(),getSortedRowModel:(0,w.tj)(),getFacetedRowModel:(0,w.o6)(),getFacetedUniqueValues:(0,w.JG)()});return n.useEffect(()=>{z()},[T]),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("div",{className:"flex flex-1 items-center space-x-2",children:(0,a.jsx)(k.I,{placeholder:"Filter by name...",value:T,onChange:e=>{M(e.target.value)},className:"h-8 w-[150px] lg:w-[250px]"})}),(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsx)(C,{table:I}),(0,a.jsx)(i.z,{variant:"secondary",size:"sm",onClick:()=>{d.push("/evals/cases")},className:"mr-2 h-8",children:"Test cases"}),(0,a.jsx)(A,{onSuccess:()=>{console.log("Eval set created, refetching"),z()}})]})]}),(0,a.jsx)("div",{className:"rounded-md border",children:(0,a.jsxs)(R.iA,{children:[(0,a.jsx)(R.xD,{children:I.getHeaderGroups().map(e=>(0,a.jsx)(R.SC,{children:e.headers.map(e=>(0,a.jsx)(R.ss,{children:e.isPlaceholder?null:(0,y.ie)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,a.jsx)(R.RM,{children:E?Array.from({length:5}).map((e,t)=>(0,a.jsx)(R.SC,{children:o.map((e,t)=>(0,a.jsx)(R.pj,{children:(0,a.jsx)(S.O,{className:"h-6 w-full"})},t))},t)):(null===(l=I.getRowModel().rows)||void 0===l?void 0:l.length)?I.getRowModel().rows.map(e=>(0,a.jsx)(R.SC,{"data-state":e.getIsSelected()&&"selected",className:"cursor-pointer",onClick:()=>{let t=e.original;d.push("/evals/".concat(t.id))},children:e.getVisibleCells().map(e=>(0,a.jsx)(R.pj,{children:(0,y.ie)(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):(0,a.jsx)(R.SC,{children:(0,a.jsx)(R.pj,{colSpan:o.length,className:"h-24 text-center",children:"No eval sets found."})})})]})}),(0,a.jsxs)("div",{className:"flex items-center justify-between px-2",children:[(0,a.jsx)("div",{className:"flex-1 text-sm text-muted-foreground",children:P&&(0,a.jsxs)(a.Fragment,{children:["Page ",P.currentPage," of ",P.pageCount," (",P.itemCount," total)"]})}),(0,a.jsx)("div",{className:"flex items-center space-x-6 lg:space-x-8",children:(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsxs)(i.z,{variant:"outline",className:"hidden h-8 w-8 p-0 lg:flex",onClick:()=>j(1),disabled:!(null==P?void 0:P.hasPreviousPage),children:[(0,a.jsx)("span",{className:"sr-only",children:"Go to first page"}),(0,a.jsx)(r.kRt,{className:"h-4 w-4"})]}),(0,a.jsxs)(i.z,{variant:"outline",className:"h-8 w-8 p-0",onClick:()=>j(v-1),disabled:!(null==P?void 0:P.hasPreviousPage),children:[(0,a.jsx)("span",{className:"sr-only",children:"Go to previous page"}),(0,a.jsx)(r.wyc,{className:"h-4 w-4"})]}),(0,a.jsxs)(i.z,{variant:"outline",className:"h-8 w-8 p-0",onClick:()=>j(v+1),disabled:!(null==P?void 0:P.hasNextPage),children:[(0,a.jsx)("span",{className:"sr-only",children:"Go to next page"}),(0,a.jsx)(r.XCv,{className:"h-4 w-4"})]}),(0,a.jsxs)(i.z,{variant:"outline",className:"hidden h-8 w-8 p-0 lg:flex",onClick:()=>j((null==P?void 0:P.pageCount)||1),disabled:!(null==P?void 0:P.hasNextPage),children:[(0,a.jsx)("span",{className:"sr-only",children:"Go to last page"}),(0,a.jsx)(r.yr4,{className:"h-4 w-4"})]})]})})]})]})}var z=s(13832),P=s(64972),Z=s(65613),I=s(44045);let O="force-dynamic";function F(){var e,t,s,r;let{user:l}=(0,n.useContext)(z.S),i=(0,n.useContext)(I.E),o=N(l);return l.super_admin||(null===(e=l.role)||void 0===e?void 0:e.evals)==="read"||(null===(t=l.role)||void 0===t?void 0:t.evals)==="write"?(0,a.jsxs)("div",{className:"hidden h-full flex-1 flex-col space-y-8 p-8 md:flex",children:[(0,a.jsx)("div",{className:"flex items-center justify-between space-y-2",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-2xl font-bold tracking-tight",children:"Eval Sets"}),(0,a.jsx)("p",{className:"text-muted-foreground",children:"Create and manage evaluation sets for testing your agents' performance."})]})}),(!(null==i?void 0:null===(s=i.workers)||void 0===s?void 0:s.enabled)||!(null==i?void 0:null===(r=i.workers)||void 0===r?void 0:r.redisHost))&&(0,a.jsxs)(Z.bZ,{variant:"destructive",children:[(0,a.jsx)(P.Z,{className:"h-4 w-4"}),(0,a.jsx)(Z.X,{children:"Workers are not enabled. You can view eval sets but cannot run evaluations. Configure Redis to enable running eval runs."})]}),(0,a.jsx)(V,{columns:o})]}):(0,a.jsx)("div",{className:"flex h-full flex-1 flex-col space-y-8 p-8",children:(0,a.jsxs)(Z.bZ,{variant:"destructive",children:[(0,a.jsx)(P.Z,{className:"h-4 w-4"}),(0,a.jsx)(Z.X,{children:"You don't have permission to access Evals. Contact your administrator to request access."})]})})}},37099:function(e,t,s){"use strict";s.d(t,{OL:function(){return h},_T:function(){return u},aR:function(){return o},f$:function(){return x},fY:function(){return m},le:function(){return g},xo:function(){return f},yT:function(){return p}});var a=s(57437),n=s(23619),r=s(2265),l=s(62869),i=s(94508);let o=n.fC;n.xz;let d=n.h_,c=r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)(n.aV,{className:(0,i.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",s),...r,ref:t})});c.displayName=n.aV.displayName;let u=r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsxs)(d,{children:[(0,a.jsx)(c,{}),(0,a.jsx)(n.VY,{ref:t,className:(0,i.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",s),...r})]})});u.displayName=n.VY.displayName;let m=e=>{let{className:t,...s}=e;return(0,a.jsx)("div",{className:(0,i.cn)("flex flex-col space-y-2 text-center sm:text-left",t),...s})};m.displayName="AlertDialogHeader";let f=e=>{let{className:t,...s}=e;return(0,a.jsx)("div",{className:(0,i.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...s})};f.displayName="AlertDialogFooter";let x=r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)(n.Dx,{ref:t,className:(0,i.cn)("text-lg font-semibold",s),...r})});x.displayName=n.Dx.displayName;let p=r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)(n.dk,{ref:t,className:(0,i.cn)("text-sm text-muted-foreground",s),...r})});p.displayName=n.dk.displayName;let h=r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)(n.aU,{ref:t,className:(0,i.cn)((0,l.d)(),s),...r})});h.displayName=n.aU.displayName;let g=r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)(n.$j,{ref:t,className:(0,i.cn)((0,l.d)({variant:"outline"}),"mt-2 sm:mt-0",s),...r})});g.displayName=n.$j.displayName},65613:function(e,t,s){"use strict";s.d(t,{Cd:function(){return d},X:function(){return c},bZ:function(){return o}});var a=s(57437),n=s(90535),r=s(2265),l=s(94508);let i=(0,n.j)("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive",info:"border-info/50 text-info dark:border-info [&>svg]:text-info"}},defaultVariants:{variant:"default"}}),o=r.forwardRef((e,t)=>{let{className:s,variant:n,...r}=e;return(0,a.jsx)("div",{ref:t,role:"alert",className:(0,l.cn)(i({variant:n}),s),...r})});o.displayName="Alert";let d=r.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,a.jsx)("h5",{ref:t,className:(0,l.cn)("mb-1 font-medium leading-none tracking-tight",s),...n})});d.displayName="AlertTitle";let c=r.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,a.jsx)("div",{ref:t,className:(0,l.cn)("text-sm [&_p]:leading-relaxed",s),...n})});c.displayName="AlertDescription"},26110:function(e,t,s){"use strict";s.d(t,{$N:function(){return p},Be:function(){return h},Vq:function(){return o},cN:function(){return x},cZ:function(){return m},fK:function(){return f},hg:function(){return d}});var a=s(57437),n=s(34567),r=s(32489),l=s(2265),i=s(94508);let o=n.fC,d=n.xz,c=n.h_;n.x8;let u=l.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)(n.aV,{ref:t,className:(0,i.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",s),...r})});u.displayName=n.aV.displayName;let m=l.forwardRef((e,t)=>{let{className:s,children:l,...o}=e;return(0,a.jsxs)(c,{children:[(0,a.jsx)(u,{}),(0,a.jsxs)(n.VY,{ref:t,className:(0,i.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",s),...o,children:[l,(0,a.jsxs)(n.x8,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,a.jsx)(r.Z,{className:"size-4"}),(0,a.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})});m.displayName=n.VY.displayName;let f=e=>{let{className:t,...s}=e;return(0,a.jsx)("div",{className:(0,i.cn)("flex flex-col space-y-1.5 text-center sm:text-left",t),...s})};f.displayName="DialogHeader";let x=e=>{let{className:t,...s}=e;return(0,a.jsx)("div",{className:(0,i.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...s})};x.displayName="DialogFooter";let p=l.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)(n.Dx,{ref:t,className:(0,i.cn)("text-lg font-semibold leading-none tracking-tight",s),...r})});p.displayName=n.Dx.displayName;let h=l.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)(n.dk,{ref:t,className:(0,i.cn)("text-sm text-muted-foreground",s),...r})});h.displayName=n.dk.displayName},26815:function(e,t,s){"use strict";s.d(t,{_:function(){return d}});var a=s(57437),n=s(6394),r=s(90535),l=s(2265),i=s(94508);let o=(0,r.j)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),d=l.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)(n.f,{ref:t,className:(0,i.cn)(o(),s),...r})});d.displayName=n.f.displayName},73578:function(e,t,s){"use strict";s.d(t,{RM:function(){return o},Rn:function(){return m},SC:function(){return d},iA:function(){return l},pj:function(){return u},ss:function(){return c},xD:function(){return i}});var a=s(57437),n=s(2265),r=s(94508);let l=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,a.jsx)("div",{className:"relative w-full overflow-auto",children:(0,a.jsx)("table",{ref:t,className:(0,r.cn)("w-full caption-bottom text-sm",s),...n})})});l.displayName="Table";let i=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,a.jsx)("thead",{ref:t,className:(0,r.cn)("[&_tr]:border-b",s),...n})});i.displayName="TableHeader";let o=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,a.jsx)("tbody",{ref:t,className:(0,r.cn)("[&_tr:last-child]:border-0",s),...n})});o.displayName="TableBody",n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,a.jsx)("tfoot",{ref:t,className:(0,r.cn)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",s),...n})}).displayName="TableFooter";let d=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,a.jsx)("tr",{ref:t,className:(0,r.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",s),...n})});d.displayName="TableRow";let c=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,a.jsx)("th",{ref:t,className:(0,r.cn)("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&:has([role=checkbox])]:w-[40px]",s),...n})});c.displayName="TableHead";let u=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,a.jsx)("td",{ref:t,className:(0,r.cn)("p-4 align-middle [&:has([role=checkbox])]:pr-0 [&:has([role=checkbox])]:w-[40px]",s),...n})});u.displayName="TableCell";let m=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,a.jsx)("caption",{ref:t,className:(0,r.cn)("mt-4 text-sm text-muted-foreground",s),...n})});m.displayName="TableCaption"},76818:function(e,t,s){"use strict";s.d(t,{g:function(){return l}});var a=s(57437),n=s(2265),r=s(94508);let l=n.forwardRef((e,t)=>{let{className:s,...n}=e;return(0,a.jsx)("textarea",{className:(0,r.cn)("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",s),ref:t,...n})});l.displayName="Textarea"},77992:function(e,t,s){"use strict";s.d(t,{Am:function(){return u},pm:function(){return m}});var a=s(2265);let n=0,r=new Map,l=e=>{if(r.has(e))return;let t=setTimeout(()=>{r.delete(e),c({type:"REMOVE_TOAST",toastId:e})},1e6);r.set(e,t)},i=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:s}=t;return s?l(s):e.toasts.forEach(e=>{l(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===s||void 0===s?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},o=[],d={toasts:[]};function c(e){d=i(d,e),o.forEach(e=>{e(d)})}function u(e){let{...t}=e,s=(n=(n+1)%Number.MAX_SAFE_INTEGER).toString(),a=()=>c({type:"DISMISS_TOAST",toastId:s});return c({type:"ADD_TOAST",toast:{...t,id:s,open:!0,onOpenChange:e=>{e||a()}}}),{id:s,dismiss:a,update:e=>c({type:"UPDATE_TOAST",toast:{...e,id:s}})}}function m(){let[e,t]=a.useState(d);return a.useEffect(()=>(o.push(t),()=>{let e=o.indexOf(t);e>-1&&o.splice(e,1)}),[e]),{...e,toast:u,dismiss:e=>c({type:"DISMISS_TOAST",toastId:e})}}},15863:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(39763).Z)("Loader2",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},45675:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(39763).Z)("Pencil",[["path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z",key:"5qss01"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]])},33276:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(39763).Z)("Play",[["polygon",{points:"5 3 19 12 5 21 5 3",key:"191637"}]])},99397:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(39763).Z)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},18930:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(39763).Z)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]])},12199:function(e,t,s){"use strict";s.d(t,{D:function(){return u}});var a=s(5853),n=s(79285),r=s(49466),l=s(36628),i=s(59058),o=s(77828),d=s(63251),c=s(59394).Nq?n.useLayoutEffect:n.useEffect;function u(e,t){var s=(0,d.x)(null==t?void 0:t.client);(0,i.Vp)(e,i.n_.Mutation);var u=n.useState({called:!1,loading:!1,client:s}),m=u[0],f=u[1],x=n.useRef({result:m,mutationId:0,isMounted:!0,client:s,mutation:e,options:t});c(function(){Object.assign(x.current,{client:s,options:t,mutation:e})});var p=n.useCallback(function(e){void 0===e&&(e={});var t=x.current,s=t.options,n=t.mutation,i=(0,a.pi)((0,a.pi)({},s),{mutation:n}),d=e.client||x.current.client;x.current.result.loading||i.ignoreResults||!x.current.isMounted||f(x.current.result={loading:!0,error:void 0,data:void 0,called:!0,client:d});var c=++x.current.mutationId,u=(0,r.J)(i,e);return d.mutate(u).then(function(t){var s,a,n=t.data,r=t.errors,i=r&&r.length>0?new o.cA({graphQLErrors:r}):void 0,m=e.onError||(null===(s=x.current.options)||void 0===s?void 0:s.onError);if(i&&m&&m(i,u),c===x.current.mutationId&&!u.ignoreResults){var p={called:!0,loading:!1,data:n,error:i,client:d};x.current.isMounted&&!(0,l.D)(x.current.result,p)&&f(x.current.result=p)}var h=e.onCompleted||(null===(a=x.current.options)||void 0===a?void 0:a.onCompleted);return i||null==h||h(t.data,u),t},function(t){if(c===x.current.mutationId&&x.current.isMounted){var s,a={loading:!1,error:t,data:void 0,called:!0,client:d};(0,l.D)(x.current.result,a)||f(x.current.result=a)}var n=e.onError||(null===(s=x.current.options)||void 0===s?void 0:s.onError);if(n)return n(t,u),{data:void 0,errors:t};throw t})},[]),h=n.useCallback(function(){if(x.current.isMounted){var e={called:!1,loading:!1,client:x.current.client};Object.assign(x.current,{mutationId:0,result:e}),f(e)}},[]);return n.useEffect(function(){var e=x.current;return e.isMounted=!0,function(){e.isMounted=!1}},[]),[p,(0,a.pi)({reset:h},m)]}},6394:function(e,t,s){"use strict";s.d(t,{f:function(){return i}});var a=s(2265),n=s(66840),r=s(57437),l=a.forwardRef((e,t)=>(0,r.jsx)(n.WV.label,{...e,ref:t,onMouseDown:t=>{var s;t.target.closest("button, input, select, textarea")||(null===(s=e.onMouseDown)||void 0===s||s.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));l.displayName="Label";var i=l}},function(e){e.O(0,[8310,9851,7629,7093,6148,847,1942,7648,7823,8068,5799,4567,605,85,4957,7398,3825,1594,7598,3619,6373,3832,2971,2117,1744],function(){return e(e.s=1157)}),_N_E=e.O()}]);
|
|
2
|
+
//# sourceMappingURL=page-e25d76c28076b126.js.map
|