@exulu/frontend 1.3.2 → 1.4.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 +185 -174
- package/dist/.next/app-path-routes-manifest.json +1 -1
- package/dist/.next/build-manifest.json +2 -2
- package/dist/.next/prerender-manifest.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 +1 -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 +1 -1
- 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 +5 -1
- 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 +5 -1
- 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 +1 -1
- 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_client-reference-manifest.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 +9 -9
- package/dist/.next/server/app-paths-manifest.json +5 -5
- package/dist/.next/server/chunks/1051.js +16 -16
- package/dist/.next/server/chunks/2270.js +188 -100
- package/dist/.next/server/chunks/{8838.js → 2875.js} +1 -1
- package/dist/.next/server/chunks/2916.js +1 -1
- package/dist/.next/server/chunks/3503.js +1 -0
- package/dist/.next/server/chunks/{7544.js → 4552.js} +1 -1
- package/dist/.next/server/chunks/{3393.js → 4739.js} +1 -1
- package/dist/.next/server/chunks/5192.js +1 -1
- package/dist/.next/server/chunks/5999.js +2 -0
- package/dist/.next/server/chunks/6282.js +1 -0
- package/dist/.next/server/chunks/6623.js +1 -0
- package/dist/.next/server/chunks/7721.js +1 -0
- package/dist/.next/server/chunks/7944.js +2 -2
- package/dist/.next/server/chunks/8050.js +1 -0
- package/dist/.next/server/chunks/8206.js +1 -0
- package/dist/.next/server/chunks/8679.js +5 -0
- package/dist/.next/server/middleware-manifest.json +5 -5
- package/dist/.next/server/pages/404.html +1 -1
- package/dist/.next/server/pages/500.html +1 -1
- package/dist/.next/server/server-reference-manifest.json +1 -1
- package/dist/.next/static/chunks/1294-368dc8ec59054da4.js +2 -0
- package/dist/.next/static/chunks/1294-368dc8ec59054da4.js.map +1 -0
- package/dist/.next/static/chunks/{1645-e5fd10236c0183ce.js → 1645-570e014100772437.js} +1 -1
- package/dist/.next/static/chunks/{1645-e5fd10236c0183ce.js.map → 1645-570e014100772437.js.map} +1 -1
- package/dist/.next/static/chunks/1957-5867716304ecd208.js +2 -0
- package/dist/.next/static/chunks/1957-5867716304ecd208.js.map +1 -0
- package/dist/.next/static/chunks/{2293-59b4bbce0c5bd2f2.js → 2293-1681cdef5b8c0c0b.js} +1 -1
- package/dist/.next/static/chunks/{2293-59b4bbce0c5bd2f2.js.map → 2293-1681cdef5b8c0c0b.js.map} +1 -1
- package/dist/.next/static/chunks/3475-28ce4fce960656bd.js +2 -0
- package/dist/.next/static/chunks/3475-28ce4fce960656bd.js.map +1 -0
- package/dist/.next/static/chunks/3832-a5e8fc6647e2be65.js +2 -0
- package/dist/.next/static/chunks/3832-a5e8fc6647e2be65.js.map +1 -0
- package/dist/.next/static/chunks/{4386-a36fe9c65884f025.js → 4386-c7690667749bff6a.js} +1 -1
- package/dist/.next/static/chunks/{4386-a36fe9c65884f025.js.map → 4386-c7690667749bff6a.js.map} +1 -1
- package/dist/.next/static/chunks/4750-4d5c13bbc96bc19b.js +2 -0
- package/dist/.next/static/chunks/4750-4d5c13bbc96bc19b.js.map +1 -0
- package/dist/.next/static/chunks/5243-1aaa41b2cd0ea87c.js +2 -0
- package/dist/.next/static/chunks/5243-1aaa41b2cd0ea87c.js.map +1 -0
- package/dist/.next/static/chunks/5978-814d6900645d2fcc.js +2 -0
- package/dist/.next/static/chunks/5978-814d6900645d2fcc.js.map +1 -0
- package/dist/.next/static/chunks/6373-651cb258c9e2b57b.js +2 -0
- package/dist/.next/static/chunks/6373-651cb258c9e2b57b.js.map +1 -0
- package/dist/.next/static/chunks/{7564-44a20b31206685e1.js → 6545-5a1d7cf4d5ca770e.js} +21 -21
- package/dist/.next/static/chunks/6545-5a1d7cf4d5ca770e.js.map +1 -0
- package/dist/.next/static/chunks/6839-0f4cfb48058a5ab6.js +2 -0
- package/dist/.next/static/chunks/6839-0f4cfb48058a5ab6.js.map +1 -0
- package/dist/.next/static/chunks/723-94e596796cbf911d.js +2 -0
- package/dist/.next/static/chunks/723-94e596796cbf911d.js.map +1 -0
- package/dist/.next/static/chunks/8202-db2cc384c66bc1be.js +2 -0
- package/dist/.next/static/chunks/8202-db2cc384c66bc1be.js.map +1 -0
- package/dist/.next/static/chunks/8269-37dd07515eb44201.js +2 -0
- package/dist/.next/static/chunks/8269-37dd07515eb44201.js.map +1 -0
- package/dist/.next/static/chunks/8469-ba31cbd7acab5f94.js +2 -0
- package/dist/.next/static/chunks/8469-ba31cbd7acab5f94.js.map +1 -0
- package/dist/.next/static/chunks/8824-20030459012376a3.js +2 -0
- package/dist/.next/static/chunks/8824-20030459012376a3.js.map +1 -0
- package/dist/.next/static/chunks/9105-3800f721d38e2b9a.js +2 -0
- package/dist/.next/static/chunks/9105-3800f721d38e2b9a.js.map +1 -0
- package/dist/.next/static/chunks/9183-a51605ff26b92fed.js +41 -0
- package/dist/.next/static/chunks/9183-a51605ff26b92fed.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-511f168123f85285.js +2 -0
- package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-511f168123f85285.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/agents/{page-499ac3bd1044306c.js → page-63643deabdaa6b2c.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/agents/{page-499ac3bd1044306c.js.map → page-63643deabdaa6b2c.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/{page-3807a8bc2ae87548.js → page-62c7321ba26632af.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-62c7321ba26632af.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/chat/{layout-53796525bd3e2443.js → layout-5eb1d22ddcbc0b55.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/chat/{layout-53796525bd3e2443.js.map → layout-5eb1d22ddcbc0b55.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/configuration/{page-2d8a0e2664ab9a94.js → page-8f92af5318feb84f.js} +1 -1
- package/dist/.next/static/chunks/app/(application)/configuration/{page-2d8a0e2664ab9a94.js.map → page-8f92af5318feb84f.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/dashboard/page-00e425d942e0d769.js +2 -0
- package/dist/.next/static/chunks/app/(application)/dashboard/page-00e425d942e0d769.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-a460a56d3efac658.js +2 -0
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-a460a56d3efac658.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-bb06a9553c9ed178.js +2 -0
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-bb06a9553c9ed178.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/evals/[id]/{page-2238f1fb73d93328.js → page-ef82e92ca7d0da6c.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/evals/[id]/{page-2238f1fb73d93328.js.map → page-ef82e92ca7d0da6c.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/page-6622dd1b22a7885d.js +2 -0
- package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/page-6622dd1b22a7885d.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/evals/cases/{page-ea5faf58b368feae.js → page-6246be9d6592d1d3.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/evals/cases/{page-ea5faf58b368feae.js.map → page-6246be9d6592d1d3.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/evals/{page-f79e1a90384ba618.js → page-b1e1fd7dba1e675f.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/evals/{page-f79e1a90384ba618.js.map → page-b1e1fd7dba1e675f.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/jobs/{page-e6f02a338bec4806.js → page-a96441a0bc654d68.js} +1 -1
- package/dist/.next/static/chunks/app/(application)/jobs/{page-e6f02a338bec4806.js.map → page-a96441a0bc654d68.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/keys/{page-59ee4e0281131cbc.js → page-163aadfe9ad0d794.js} +1 -1
- package/dist/.next/static/chunks/app/(application)/keys/{page-59ee4e0281131cbc.js.map → page-163aadfe9ad0d794.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/{layout-73d93420d0c6661c.js → layout-694c53aca85ef437.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/{layout-73d93420d0c6661c.js.map → layout-694c53aca85ef437.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/projects/[project]/page-e69828fde85c50af.js +2 -0
- package/dist/.next/static/chunks/app/(application)/projects/[project]/page-e69828fde85c50af.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/projects/{layout-f73ad7daf4825f1b.js → layout-d7642b25bf6d33b3.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/projects/{layout-f73ad7daf4825f1b.js.map → layout-d7642b25bf6d33b3.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/roles/page-5d5e5142f0997122.js +2 -0
- package/dist/.next/static/chunks/app/(application)/roles/page-5d5e5142f0997122.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/users/{page-e0a04fda52138aa0.js → page-b862cb199fd72525.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/users/{page-e0a04fda52138aa0.js.map → page-b862cb199fd72525.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/variables/create/{page-6c6076f3f253190d.js → page-d79d5c1c1ecabdb5.js} +1 -1
- package/dist/.next/static/chunks/app/(application)/variables/create/{page-6c6076f3f253190d.js.map → page-d79d5c1c1ecabdb5.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/variables/edit/[variable_id]/{page-a3fa477fead5609a.js → page-72cf3aa95776ab96.js} +1 -1
- package/dist/.next/static/chunks/app/(application)/variables/edit/[variable_id]/{page-a3fa477fead5609a.js.map → page-72cf3aa95776ab96.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/variables/{page-ddeff54a8b19bdbe.js → page-67864b471b48c950.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/variables/{page-ddeff54a8b19bdbe.js.map → page-67864b471b48c950.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/variables/usage/[variable_id]/{page-ed6d136e7ee3a591.js → page-208b4c9cc64abf2e.js} +1 -1
- package/dist/.next/static/chunks/app/(application)/variables/usage/[variable_id]/{page-ed6d136e7ee3a591.js.map → page-208b4c9cc64abf2e.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/workflows/page-5b1ffc7c5012fdf6.js +2 -0
- package/dist/.next/static/chunks/app/(application)/workflows/page-5b1ffc7c5012fdf6.js.map +1 -0
- package/dist/.next/static/css/006966ab2edd0ebc.css +4 -0
- package/dist/.next/static/css/006966ab2edd0ebc.css.map +1 -0
- package/dist/.next/static/css/e3f2a16ab7676b05.css.map +1 -1
- package/dist/package.json +4 -1
- package/package.json +1 -1
- package/dist/.next/server/chunks/3743.js +0 -1
- package/dist/.next/server/chunks/4375.js +0 -1
- package/dist/.next/server/chunks/4680.js +0 -1
- package/dist/.next/server/chunks/7203.js +0 -5
- package/dist/.next/server/chunks/7598.js +0 -5
- package/dist/.next/server/chunks/8806.js +0 -1
- package/dist/.next/static/chunks/1957-670ddf66742d95f2.js +0 -2
- package/dist/.next/static/chunks/1957-670ddf66742d95f2.js.map +0 -1
- package/dist/.next/static/chunks/3397-5a704b2e12e9e883.js +0 -2
- package/dist/.next/static/chunks/3397-5a704b2e12e9e883.js.map +0 -1
- package/dist/.next/static/chunks/3832-10b779e2f89f162f.js +0 -2
- package/dist/.next/static/chunks/3832-10b779e2f89f162f.js.map +0 -1
- package/dist/.next/static/chunks/3998-c1c5bec61ce07357.js +0 -2
- package/dist/.next/static/chunks/3998-c1c5bec61ce07357.js.map +0 -1
- package/dist/.next/static/chunks/428-61741966c36f4f72.js +0 -2
- package/dist/.next/static/chunks/428-61741966c36f4f72.js.map +0 -1
- package/dist/.next/static/chunks/5585-4f0c084850210a82.js +0 -2
- package/dist/.next/static/chunks/5585-4f0c084850210a82.js.map +0 -1
- package/dist/.next/static/chunks/5615-042f927b657e6db1.js +0 -41
- package/dist/.next/static/chunks/5615-042f927b657e6db1.js.map +0 -1
- package/dist/.next/static/chunks/5978-f3b8475a2d9f9299.js +0 -2
- package/dist/.next/static/chunks/5978-f3b8475a2d9f9299.js.map +0 -1
- package/dist/.next/static/chunks/6242-c1c2f1479529e9d4.js +0 -2
- package/dist/.next/static/chunks/6242-c1c2f1479529e9d4.js.map +0 -1
- package/dist/.next/static/chunks/6373-fc4799cc7a13474a.js +0 -2
- package/dist/.next/static/chunks/6373-fc4799cc7a13474a.js.map +0 -1
- package/dist/.next/static/chunks/7398-c6de1642586049cd.js +0 -2
- package/dist/.next/static/chunks/7398-c6de1642586049cd.js.map +0 -1
- package/dist/.next/static/chunks/7564-44a20b31206685e1.js.map +0 -1
- package/dist/.next/static/chunks/79-1d568f3c4cd45bd4.js +0 -2
- package/dist/.next/static/chunks/79-1d568f3c4cd45bd4.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-b66390eb4a95ac1a.js +0 -2
- package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-b66390eb4a95ac1a.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-3807a8bc2ae87548.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/dashboard/page-85d3f8d2bd28ae4b.js +0 -2
- package/dist/.next/static/chunks/app/(application)/dashboard/page-85d3f8d2bd28ae4b.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-822dad4cb57f62e2.js +0 -2
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-822dad4cb57f62e2.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-3efd7701534078ea.js +0 -2
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-3efd7701534078ea.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/page-b6a3cb8435be3ade.js +0 -2
- package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/page-b6a3cb8435be3ade.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/projects/[project]/page-19382bb263f85fda.js +0 -2
- package/dist/.next/static/chunks/app/(application)/projects/[project]/page-19382bb263f85fda.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/roles/page-acd9ef282bc53557.js +0 -2
- package/dist/.next/static/chunks/app/(application)/roles/page-acd9ef282bc53557.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/workflows/page-38488c44d89b32f4.js +0 -2
- package/dist/.next/static/chunks/app/(application)/workflows/page-38488c44d89b32f4.js.map +0 -1
- package/dist/.next/static/css/a7092ddec8ffd4fb.css +0 -4
- package/dist/.next/static/css/a7092ddec8ffd4fb.css.map +0 -1
- /package/dist/.next/static/{HHwzgh0RLIMeodnSs4vIv → soJPoIxCmlpJ75t9n-Q9V}/_buildManifest.js +0 -0
- /package/dist/.next/static/{HHwzgh0RLIMeodnSs4vIv → soJPoIxCmlpJ75t9n-Q9V}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5978],{82534:function(e,s,t){t.d(s,{F:function(){return A}});var a=t(57437),l=t(2265),n=t(7211),d=t(12199),r=t(33245),i=t(53417),c=t(10866),o=t(82023),m=t(99397),x=t(22252),u=t(48736),h=t(15863),p=t(26110),g=t(62869),f=t(95186),j=t(26815),N=t(76818),v=t(27689),b=t(77992),w=t(12339),y=t(66070),C=t(35974),S=t(19378),k=t(53647),T=t(78361),Z=t(77256),_=t(27182);function A(e){let{open:s,onClose:t,evalSetId:A,onSuccess:D,testCase:E}=e,{toast:F}=(0,b.pm)(),O=!!E,{data:z}=(0,n.aM)(v.Ul,{variables:{page:1,limit:100}}),{regularTools:R,agentTools:P,knowledgeSourceTools:U}=(0,l.useMemo)(()=>{var e;let s=(null==z?void 0:null===(e=z.tools)||void 0===e?void 0:e.items)||[];return console.log("tools",s),{regularTools:s.filter(e=>"function"===e.type),agentTools:s.filter(e=>"agent"===e.type),knowledgeSourceTools:s.filter(e=>"context"===e.type)}},[z]),[V,K]=(0,l.useState)(""),[Y,M]=(0,l.useState)(""),[q,B]=(0,l.useState)(""),[I,Q]=(0,l.useState)([]),[$,L]=(0,l.useState)(""),[G,H]=(0,l.useState)(null),[J,W]=(0,l.useState)([]),[X,ee]=(0,l.useState)([]),[es,et]=(0,l.useState)([]),[ea,el]=(0,l.useState)([]),[en,ed]=(0,l.useState)(""),[er,ei]=(0,l.useState)(""),[ec,eo]=(0,l.useState)("");(0,l.useEffect)(()=>{E&&s?(K(E.name),M(E.description||""),B(E.expected_output),Q(E.inputs||[]),ee(E.expected_tools||[]),et(E.expected_knowledge_sources||[]),el(E.expected_agent_tools||[])):s||(K(""),M(""),B(""),Q([]),L(""),H(null),W([]),ee([]),et([]),el([]),ed(""),ei(""),eo(""))},[E,s]);let em=async e=>{W(await Promise.all(e.map(async e=>({type:"file",mediaType:e.split(".").pop()||"",filename:e,url:await (0,T.NF)(e)}))))};(0,l.useEffect)(()=>{if(!G||0===G.length){W([]);return}em(G)},[G]);let[ex,{loading:eu}]=(0,d.D)(v.hx,{onCompleted:()=>{F({title:"Test case created",description:"The test case has been successfully created."}),D()},onError:e=>{F({title:"Failed to create test case",description:e.message,variant:"destructive"})}}),[eh,{loading:ep}]=(0,d.D)(v.Mh,{onCompleted:()=>{F({title:"Test case updated",description:"The test case has been successfully updated."}),D()},onError:e=>{F({title:"Failed to update test case",description:e.message,variant:"destructive"})}}),eg=()=>{if(!$.trim()&&0===J.length)return;let e=[];$.trim()&&e.push({type:"text",text:$.trim()}),J.length>0&&e.push(...J),Q([...I,{id:"msg-".concat(Date.now()),role:"user",parts:e},{id:"msg-".concat(Date.now()),role:"assistant",metadata:{type:"placeholder"},parts:[{type:"text",text:"\uD83D\uDCAC Placeholder, generated agent response will be added here when the test case is run..."}]}]),L(""),H(null),W([])},ef=eu||ep,ej=e=>{let s=R.find(s=>s.id===e);return(null==s?void 0:s.name)||e},eN=e=>{let s=U.find(s=>s.id===e);return(null==s?void 0:s.name)||e},ev=e=>{let s=P.find(s=>s.id===e);return(null==s?void 0:s.name)||e};return(0,a.jsx)(p.Vq,{open:s,onOpenChange:t,children:(0,a.jsxs)(p.cZ,{className:"max-w-4xl max-h-[90vh] overflow-hidden flex flex-col",children:[(0,a.jsxs)(p.fK,{children:[(0,a.jsxs)(p.$N,{children:[O?"Edit Test Case":"Create Test Case"," ",A?"for Eval Set: ".concat(A):""]}),(0,a.jsx)(p.Be,{children:O?"Update the test case details.":"Create a new test case with conversation inputs and expected outputs."})]}),(0,a.jsxs)("form",{onSubmit:e=>{if(e.preventDefault(),!V.trim()||!q.trim()||0===I.length){F({title:"Validation error",description:"Name, at least one input message, and expected output are required.",variant:"destructive"});return}let s={name:V.trim(),description:Y.trim()||null,inputs:I,expected_output:q.trim(),expected_tools:X.length>0?X:null,expected_knowledge_sources:es.length>0?es:null,expected_agent_tools:ea.length>0?ea:null,...A?{eval_set_id:A}:{}};O?eh({variables:{id:E.id,data:s}}):ex({variables:{data:s}})},className:"flex-1 overflow-hidden flex flex-col",children:[(0,a.jsxs)(w.mQ,{defaultValue:"basic",className:"flex-1 overflow-hidden flex flex-col",children:[(0,a.jsxs)(w.dr,{className:"grid w-full grid-cols-3",children:[(0,a.jsxs)(w.SP,{value:"basic",className:"gap-2",children:[(0,a.jsx)(r.Z,{className:"h-4 w-4"}),"Basic Info"]}),(0,a.jsxs)(w.SP,{value:"conversation",className:"gap-2",children:[(0,a.jsx)(i.Z,{className:"h-4 w-4"}),"Conversation"]}),(0,a.jsxs)(w.SP,{value:"expected",className:"gap-2",children:[(0,a.jsx)(c.Z,{className:"h-4 w-4"}),"Expected Tools"]})]}),(0,a.jsxs)(S.x,{className:"flex-1",children:[(0,a.jsx)(w.nU,{value:"basic",className:"space-y-4 p-1 mt-4",children:(0,a.jsxs)("div",{className:"grid gap-5",children:[(0,a.jsxs)("div",{className:"grid gap-2",children:[(0,a.jsx)(j._,{htmlFor:"name",children:"Name *"}),(0,a.jsx)(f.I,{id:"name",placeholder:"e.g., Customer Support - Refund Request",value:V,onChange:e=>K(e.target.value),disabled:ef,required:!0})]}),(0,a.jsxs)("div",{className:"grid gap-2",children:[(0,a.jsx)(j._,{htmlFor:"description",children:"Description"}),(0,a.jsx)(N.g,{id:"description",placeholder:"Describe what this test case evaluates...",value:Y,onChange:e=>M(e.target.value),disabled:ef,rows:3})]}),(0,a.jsxs)("div",{className:"grid gap-2",children:[(0,a.jsx)(j._,{htmlFor:"expectedOutput",children:"Expected Output *"}),(0,a.jsx)(N.g,{id:"expectedOutput",placeholder:"Describe the expected final output (e.g., 'A JSON object containing refund details', 'An empathetic response offering alternatives')",value:q,onChange:e=>B(e.target.value),disabled:ef,rows:4,required:!0}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"This can be an exact expected response or a description of what the output should contain."})]})]})}),(0,a.jsx)(w.nU,{value:"conversation",className:"space-y-4 p-1 mt-4",children:(0,a.jsxs)(y.Zb,{children:[(0,a.jsx)(y.Ol,{className:"pb-3",children:(0,a.jsx)("div",{className:"flex items-start justify-between",children:(0,a.jsxs)("div",{children:[(0,a.jsxs)(y.ll,{className:"text-sm flex items-center gap-2",children:[(0,a.jsx)(i.Z,{className:"h-4 w-4"}),"Conversation Flow",I.length>0&&(0,a.jsxs)(C.C,{variant:"secondary",className:"ml-2",children:[I.length," ",1===I.length?"message":"messages"]})]}),(0,a.jsx)(y.SZ,{className:"mt-1.5",children:"Add user messages in order. The agent will run through this conversation flow and respond between each message automatically."})]})})}),(0,a.jsxs)(y.aY,{className:"space-y-6",children:[(null==I?void 0:I.length)===0?(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 px-4 text-center border-2 border-dashed border-muted rounded-lg",children:[(0,a.jsx)(o.Z,{className:"h-12 w-12 text-muted-foreground/50 mb-4"}),(0,a.jsx)("h3",{className:"font-semibold text-lg mb-2",children:"No messages yet"}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground max-w-sm",children:"Start building your test conversation by adding user messages below."})]}):(0,a.jsx)(_.ri,{className:"max-h-[350px] overflow-y-auto border rounded-lg bg-muted/30 transition-all duration-300 ease-in-out",children:(0,a.jsx)(_.iG,{className:"px-6 py-4",children:(0,a.jsx)("div",{className:"animate-in fade-in duration-500",children:(0,a.jsx)(Z.K,{messages:I,config:{marginTopFirstMessage:"mt-0",customAssistantClassnames:"bg-secondary/50 rounded-lg px-3 py-1 border-l-2 border-primary/30"},status:"ready",showActions:!1,writeAccess:!1})})})}),(0,a.jsxs)("div",{className:"space-y-3 pt-2 border-t",children:[(0,a.jsx)(j._,{htmlFor:"currentInput",className:"text-sm font-semibold",children:"Add User Message"}),(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsx)(N.g,{id:"currentInput",placeholder:"Type the user's message...",value:$,onChange:e=>L(e.target.value),disabled:ef,rows:2,onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),eg())}}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(T.ZP,{id:"test-case-files",selectionLimit:10,allowedFileTypes:[".png",".jpg",".jpeg",".gif",".webp",".pdf",".docx",".xlsx",".xls",".csv",".pptx",".ppt",".mp3",".wav",".m4a",".mp4",".mpeg"],dependencies:[],onConfirm:e=>{H(e)}}),(0,a.jsxs)(g.z,{type:"button",variant:"outline",onClick:eg,disabled:ef||!$.trim()&&0===J.length,className:"ml-auto",size:"default",children:[(0,a.jsx)(m.Z,{className:"h-4 w-4 mr-2"}),"Add Message"]})]}),G&&G.length>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"grid grid-cols-3 gap-2",children:G.map(e=>(0,a.jsx)(T.jU,{s3Key:e,disabled:!0,active:!1,onRemove:()=>{H(null==G?void 0:G.filter(s=>s!==e))}}))}),(0,a.jsxs)("div",{className:"flex items-start gap-2 p-3 bg-amber-500/10 border border-amber-500/20 rounded-lg",children:[(0,a.jsx)(x.Z,{className:"h-4 w-4 text-amber-600 dark:text-amber-500 mt-0.5 flex-shrink-0"}),(0,a.jsxs)("p",{className:"text-xs text-amber-900 dark:text-amber-200",children:[(0,a.jsx)("strong",{children:"Note:"})," When running this test case, ensure the selected agent supports the file types you've attached here (images, documents, audio, etc.)."]})]})]})]}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"Press Enter to add, Shift+Enter for new line. You can attach files to messages."})]})]})]})}),(0,a.jsx)(w.nU,{value:"expected",className:"space-y-4 p-1 mt-4",children:(0,a.jsxs)("div",{className:"grid gap-5",children:[(0,a.jsxs)(y.Zb,{className:"border-l-2 border-l-blue-500/30",children:[(0,a.jsxs)(y.Ol,{className:"pb-3",children:[(0,a.jsxs)(y.ll,{className:"text-sm flex items-center gap-2",children:[(0,a.jsx)(c.Z,{className:"h-4 w-4"}),"Expected Tools (Optional)",X.length>0&&(0,a.jsx)(C.C,{variant:"secondary",className:"ml-2",children:X.length})]}),(0,a.jsx)(y.SZ,{children:"Regular tools that should be used during the conversation"})]}),(0,a.jsxs)(y.aY,{className:"space-y-2",children:[(0,a.jsx)("div",{className:"flex gap-2 flex-wrap",children:X.map((e,s)=>(0,a.jsxs)(C.C,{variant:"secondary",children:[ej(e),(0,a.jsx)("button",{type:"button",onClick:()=>ee(X.filter((e,t)=>t!==s)),className:"ml-2 hover:text-destructive",children:"\xd7"})]},s))}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsxs)(k.Ph,{value:en,onValueChange:ed,disabled:ef,children:[(0,a.jsx)(k.i4,{className:"flex-1",children:(0,a.jsx)(k.ki,{placeholder:"Select a tool to add..."})}),(0,a.jsx)(k.Bw,{children:R.map(e=>(0,a.jsx)(k.Ql,{value:e.id,children:e.name},e.id))})]}),(0,a.jsxs)(g.z,{type:"button",onClick:()=>{console.log("selectedTool",en),console.log("expectedTools",X),en&&!X.includes(en)&&(console.log("adding tool",en),console.log("new expectedTools",[...X,en]),ee([...X,en]),ed(""))},disabled:ef||!en,className:"gap-1.5",variant:en?"default":"outline",children:[(0,a.jsx)(m.Z,{className:"h-4 w-4"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"Add"})]})]}),!en&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground/75 italic",children:"Select a tool from the dropdown, then click Add"})]})]}),(0,a.jsxs)(y.Zb,{className:"border-l-2 border-l-purple-500/30",children:[(0,a.jsxs)(y.Ol,{className:"pb-3",children:[(0,a.jsxs)(y.ll,{className:"text-sm flex items-center gap-2",children:[(0,a.jsx)(u.Z,{className:"h-4 w-4"}),"Expected Knowledge Sources (Optional)",es.length>0&&(0,a.jsx)(C.C,{variant:"secondary",className:"ml-2",children:es.length})]}),(0,a.jsx)(y.SZ,{children:"Context/knowledge sources that should be used"})]}),(0,a.jsxs)(y.aY,{className:"space-y-2",children:[(0,a.jsx)("div",{className:"flex gap-2 flex-wrap",children:es.map((e,s)=>(0,a.jsxs)(C.C,{variant:"secondary",children:[eN(e),(0,a.jsx)("button",{type:"button",onClick:()=>et(es.filter((e,t)=>t!==s)),className:"ml-2 hover:text-destructive",children:"\xd7"})]},s))}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsxs)(k.Ph,{value:er,onValueChange:ei,disabled:ef,children:[(0,a.jsx)(k.i4,{className:"flex-1",children:(0,a.jsx)(k.ki,{placeholder:"Select a knowledge source to add..."})}),(0,a.jsx)(k.Bw,{children:U.map(e=>(0,a.jsx)(k.Ql,{value:e.id,children:e.name},e.id))})]}),(0,a.jsxs)(g.z,{type:"button",onClick:()=>{console.log("selectedContext",er),console.log("expectedKnowledgeSources",es),er&&!es.includes(er)&&(console.log("adding context",er),console.log("new expectedKnowledgeSources",[...es,er]),et([...es,er]),ei(""))},disabled:ef||!er,className:"gap-1.5",variant:er?"default":"outline",children:[(0,a.jsx)(m.Z,{className:"h-4 w-4"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"Add"})]})]}),!er&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground/75 italic",children:"Select a knowledge source from the dropdown, then click Add"})]})]}),(0,a.jsxs)(y.Zb,{className:"border-l-2 border-l-green-500/30",children:[(0,a.jsxs)(y.Ol,{className:"pb-3",children:[(0,a.jsxs)(y.ll,{className:"text-sm flex items-center gap-2",children:[(0,a.jsx)(o.Z,{className:"h-4 w-4"}),"Expected Agent Tools (Optional)",ea.length>0&&(0,a.jsx)(C.C,{variant:"secondary",className:"ml-2",children:ea.length})]}),(0,a.jsx)(y.SZ,{children:"Agents that should be called as tools"})]}),(0,a.jsxs)(y.aY,{className:"space-y-2",children:[(0,a.jsx)("div",{className:"flex gap-2 flex-wrap",children:ea.map((e,s)=>(0,a.jsxs)(C.C,{variant:"secondary",children:[ev(e),(0,a.jsx)("button",{type:"button",onClick:()=>el(ea.filter((e,t)=>t!==s)),className:"ml-2 hover:text-destructive",children:"\xd7"})]},s))}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsxs)(k.Ph,{value:ec,onValueChange:eo,disabled:ef,children:[(0,a.jsx)(k.i4,{className:"flex-1",children:(0,a.jsx)(k.ki,{placeholder:"Select an agent to add..."})}),(0,a.jsx)(k.Bw,{children:P.map(e=>(0,a.jsx)(k.Ql,{value:e.id,children:e.name},e.id))})]}),(0,a.jsxs)(g.z,{type:"button",onClick:()=>{console.log("selectedAgent",ec),console.log("expectedAgentTools",ea),ec&&!ea.includes(ec)&&(console.log("adding agent",ec),console.log("new expectedAgentTools",[...ea,ec]),el([...ea,ec]),eo(""))},disabled:ef||!ec,className:"gap-1.5",variant:ec?"default":"outline",children:[(0,a.jsx)(m.Z,{className:"h-4 w-4"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"Add"})]})]}),!ec&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground/75 italic",children:"Select an agent from the dropdown, then click Add"})]})]})]})})]})]}),(0,a.jsxs)(p.cN,{className:"mt-4 gap-2",children:[(0,a.jsx)(g.z,{type:"button",variant:"outline",onClick:t,disabled:ef,children:"Cancel"}),(0,a.jsxs)(g.z,{type:"submit",disabled:ef||!V.trim()||!q.trim()||0===I.length,className:"shadow-sm hover:shadow-md transition-all",children:[ef&&(0,a.jsx)(h.Z,{className:"mr-2 h-4 w-4 animate-spin"}),O?"Update Test Case":"Create Test Case"]})]})]})]})})}},37099:function(e,s,t){t.d(s,{OL:function(){return g},_T:function(){return m},aR:function(){return i},f$:function(){return h},fY:function(){return x},le:function(){return f},xo:function(){return u},yT:function(){return p}});var a=t(57437),l=t(23619),n=t(2265),d=t(62869),r=t(94508);let i=l.fC;l.xz;let c=l.h_,o=n.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,a.jsx)(l.aV,{className:(0,r.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",t),...n,ref:s})});o.displayName=l.aV.displayName;let m=n.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,a.jsxs)(c,{children:[(0,a.jsx)(o,{}),(0,a.jsx)(l.VY,{ref:s,className:(0,r.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",t),...n})]})});m.displayName=l.VY.displayName;let x=e=>{let{className:s,...t}=e;return(0,a.jsx)("div",{className:(0,r.cn)("flex flex-col space-y-2 text-center sm:text-left",s),...t})};x.displayName="AlertDialogHeader";let u=e=>{let{className:s,...t}=e;return(0,a.jsx)("div",{className:(0,r.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",s),...t})};u.displayName="AlertDialogFooter";let h=n.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,a.jsx)(l.Dx,{ref:s,className:(0,r.cn)("text-lg font-semibold",t),...n})});h.displayName=l.Dx.displayName;let p=n.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,a.jsx)(l.dk,{ref:s,className:(0,r.cn)("text-sm text-muted-foreground",t),...n})});p.displayName=l.dk.displayName;let g=n.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,a.jsx)(l.aU,{ref:s,className:(0,r.cn)((0,d.d)(),t),...n})});g.displayName=l.aU.displayName;let f=n.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,a.jsx)(l.$j,{ref:s,className:(0,r.cn)((0,d.d)({variant:"outline"}),"mt-2 sm:mt-0",t),...n})});f.displayName=l.$j.displayName}}]);
|
|
2
|
+
//# sourceMappingURL=5978-814d6900645d2fcc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static/chunks/5978-814d6900645d2fcc.js","mappings":"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","sources":["webpack://_N_E/./app/(application)/evals/cases/components/test-case-modal.tsx","webpack://_N_E/./components/ui/alert-dialog.tsx"],"sourcesContent":["\"use client\";\n\nimport { useState, useEffect, useMemo } from \"react\";\nimport { useMutation, useQuery } from \"@apollo/client\";\nimport { Loader2, Plus, MessageSquare, Info, Sparkles, Settings2, FileText, AlertCircle } from \"lucide-react\";\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from \"@/components/ui/dialog\";\nimport { Button } from \"@/components/ui/button\";\nimport { Input } from \"@/components/ui/input\";\nimport { Label } from \"@/components/ui/label\";\nimport { Textarea } from \"@/components/ui/textarea\";\nimport { CREATE_TEST_CASE, UPDATE_TEST_CASE, GET_TOOLS } from \"@/queries/queries\";\nimport { useToast } from \"@/components/ui/use-toast\";\nimport { TestCase } from \"@/types/models/test-case\";\nimport { Tool } from \"@EXULU_SHARED/models/tool\";\nimport { UIMessage, FileUIPart } from \"ai\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"@/components/ui/tabs\";\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { Badge } from \"@/components/ui/badge\";\nimport { ScrollArea } from \"@/components/ui/scroll-area\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\";\nimport UppyDashboard, { FileItem, getPresignedUrl } from \"@/components/uppy-dashboard\";\nimport { MessageRenderer } from \"@/components/message-renderer\";\nimport { Conversation, ConversationContent } from \"@/components/ai-elements/conversation\";\n\ninterface TestCaseModalProps {\n open: boolean;\n onClose: () => void;\n onSuccess: () => void;\n testCase?: TestCase | null;\n evalSetId?: string;\n}\n\nexport function TestCaseModal({\n open,\n onClose,\n evalSetId,\n onSuccess,\n testCase,\n}: TestCaseModalProps) {\n const { toast } = useToast();\n const isEditing = !!testCase;\n\n // Fetch tools from server\n const { data: toolsData } = useQuery<{\n tools: {\n items: Tool[]\n }\n }>(GET_TOOLS, {\n variables: { page: 1, limit: 100 },\n });\n\n // Split tools by type\n const { regularTools, agentTools, knowledgeSourceTools } = useMemo(() => {\n const tools = toolsData?.tools?.items || [];\n console.log(\"tools\", tools);\n return {\n regularTools: tools.filter(t => t.type === \"function\"),\n agentTools: tools.filter(t => t.type === \"agent\"),\n knowledgeSourceTools: tools.filter(t => t.type === \"context\"),\n };\n }, [toolsData]);\n\n // Basic fields\n const [name, setName] = useState(\"\");\n const [description, setDescription] = useState(\"\");\n const [expectedOutput, setExpectedOutput] = useState(\"\");\n\n // Conversation inputs (UIMessage array)\n const [inputs, setInputs] = useState<UIMessage[]>([]);\n const [currentInput, setCurrentInput] = useState(\"\");\n const [currentFiles, setCurrentFiles] = useState<string[] | null>(null);\n const [currentFileParts, setCurrentFileParts] = useState<FileUIPart[]>([]);\n\n // Optional expected fields\n const [expectedTools, setExpectedTools] = useState<string[]>([]);\n const [expectedKnowledgeSources, setExpectedKnowledgeSources] = useState<string[]>([]);\n const [expectedAgentTools, setExpectedAgentTools] = useState<string[]>([]);\n\n // Temp selectors\n const [selectedTool, setSelectedTool] = useState<string>(\"\");\n const [selectedContext, setSelectedContext] = useState<string>(\"\");\n const [selectedAgent, setSelectedAgent] = useState<string>(\"\");\n\n useEffect(() => {\n if (testCase && open) {\n setName(testCase.name);\n setDescription(testCase.description || \"\");\n setExpectedOutput(testCase.expected_output);\n setInputs(testCase.inputs || []);\n setExpectedTools(testCase.expected_tools || []);\n setExpectedKnowledgeSources(testCase.expected_knowledge_sources || []);\n setExpectedAgentTools(testCase.expected_agent_tools || []);\n } else if (!open) {\n // Reset when closing\n setName(\"\");\n setDescription(\"\");\n setExpectedOutput(\"\");\n setInputs([]);\n setCurrentInput(\"\");\n setCurrentFiles(null);\n setCurrentFileParts([]);\n setExpectedTools([]);\n setExpectedKnowledgeSources([]);\n setExpectedAgentTools([]);\n setSelectedTool(\"\");\n setSelectedContext(\"\");\n setSelectedAgent(\"\");\n }\n }, [testCase, open]);\n\n // Convert items to FileUIPart when files are selected\n const updateMessageFiles = async (keys: string[]) => {\n const files = await Promise.all(keys.map(async (key) => {\n /* if (!item.s3key) {\n // Take all item fields and turn into a data url\n let content = \"\";\n Object.entries(item).forEach(([key, value]) => {\n content += `${key}: ${value}\\n`\n })\n return {\n type: \"file\" as const,\n mediaType: item.type,\n filename: item.name,\n url: `data:text/plain;base64,${btoa(content)}`\n }\n } */\n\n return {\n type: \"file\" as const,\n mediaType: key.split(\".\").pop() || \"\",\n filename: key,\n url: await getPresignedUrl(key)\n }\n }))\n setCurrentFileParts(files)\n }\n\n useEffect(() => {\n if (!currentFiles || currentFiles.length === 0) {\n setCurrentFileParts([])\n return;\n }\n updateMessageFiles(currentFiles)\n }, [currentFiles])\n\n const [createTestCase, { loading: creating }] = useMutation(CREATE_TEST_CASE, {\n onCompleted: () => {\n toast({\n title: \"Test case created\",\n description: \"The test case has been successfully created.\",\n });\n onSuccess();\n },\n onError: (error) => {\n toast({\n title: \"Failed to create test case\",\n description: error.message,\n variant: \"destructive\",\n });\n },\n });\n\n const [updateTestCase, { loading: updating }] = useMutation(UPDATE_TEST_CASE, {\n onCompleted: () => {\n toast({\n title: \"Test case updated\",\n description: \"The test case has been successfully updated.\",\n });\n onSuccess();\n },\n onError: (error) => {\n toast({\n title: \"Failed to update test case\",\n description: error.message,\n variant: \"destructive\",\n });\n },\n });\n\n const handleAddMessage = () => {\n if (!currentInput.trim() && currentFileParts.length === 0) return;\n\n const parts: any[] = [];\n\n if (currentInput.trim()) {\n parts.push({\n type: \"text\",\n text: currentInput.trim(),\n });\n }\n\n // Add file parts\n if (currentFileParts.length > 0) {\n parts.push(...currentFileParts);\n }\n\n const newMessage: UIMessage = {\n id: `msg-${Date.now()}`,\n role: \"user\",\n parts,\n };\n\n const placeholderMessage: UIMessage = {\n id: `msg-${Date.now()}`,\n role: \"assistant\",\n metadata: {\n type: \"placeholder\",\n },\n parts: [{\n type: \"text\",\n text: \"💬 Placeholder, generated agent response will be added here when the test case is run...\",\n }],\n };\n\n setInputs([...inputs, newMessage, placeholderMessage]);\n setCurrentInput(\"\");\n setCurrentFiles(null);\n setCurrentFileParts([]);\n };\n\n const handleRemoveMessage = (index: number) => {\n setInputs(inputs.filter((_, i) => i !== index));\n };\n\n const handleAddTool = () => {\n console.log(\"selectedTool\", selectedTool);\n console.log(\"expectedTools\", expectedTools);\n if (selectedTool && !expectedTools.includes(selectedTool)) {\n console.log(\"adding tool\", selectedTool);\n console.log(\"new expectedTools\", [...expectedTools, selectedTool]);\n setExpectedTools([...expectedTools, selectedTool]);\n setSelectedTool(\"\");\n }\n };\n\n const handleAddContext = () => {\n console.log(\"selectedContext\", selectedContext);\n console.log(\"expectedKnowledgeSources\", expectedKnowledgeSources);\n if (selectedContext && !expectedKnowledgeSources.includes(selectedContext)) {\n console.log(\"adding context\", selectedContext);\n console.log(\"new expectedKnowledgeSources\", [...expectedKnowledgeSources, selectedContext]);\n setExpectedKnowledgeSources([...expectedKnowledgeSources, selectedContext]);\n setSelectedContext(\"\");\n }\n };\n\n const handleAddAgent = () => {\n console.log(\"selectedAgent\", selectedAgent);\n console.log(\"expectedAgentTools\", expectedAgentTools);\n if (selectedAgent && !expectedAgentTools.includes(selectedAgent)) {\n console.log(\"adding agent\", selectedAgent);\n console.log(\"new expectedAgentTools\", [...expectedAgentTools, selectedAgent]);\n setExpectedAgentTools([...expectedAgentTools, selectedAgent]);\n setSelectedAgent(\"\");\n }\n };\n\n const handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n if (!name.trim() || !expectedOutput.trim() || inputs.length === 0) {\n toast({\n title: \"Validation error\",\n description: \"Name, at least one input message, and expected output are required.\",\n variant: \"destructive\",\n });\n return;\n }\n\n const data = {\n name: name.trim(),\n description: description.trim() || null,\n inputs,\n expected_output: expectedOutput.trim(),\n expected_tools: expectedTools.length > 0 ? expectedTools : null,\n expected_knowledge_sources: expectedKnowledgeSources.length > 0 ? expectedKnowledgeSources : null,\n expected_agent_tools: expectedAgentTools.length > 0 ? expectedAgentTools : null,\n ...(evalSetId ? { eval_set_id: evalSetId } : {}),\n };\n\n if (isEditing) {\n updateTestCase({\n variables: {\n id: testCase.id,\n data,\n },\n });\n } else {\n createTestCase({\n variables: {\n data,\n },\n });\n }\n };\n\n const loading = creating || updating;\n\n const getToolName = (id: string) => {\n const tool = regularTools.find(t => t.id === id);\n return tool?.name || id;\n };\n\n const getContextName = (id: string) => {\n const context = knowledgeSourceTools.find(t => t.id === id);\n return context?.name || id;\n };\n\n const getAgentName = (id: string) => {\n const agent = agentTools.find(t => t.id === id);\n return agent?.name || id;\n };\n\n const getFileCount = (message: UIMessage) => {\n return message.parts.filter(part => part.type === \"file\").length;\n };\n\n return (\n <Dialog open={open} onOpenChange={onClose}>\n <DialogContent className=\"max-w-4xl max-h-[90vh] overflow-hidden flex flex-col\">\n <DialogHeader>\n <DialogTitle>{isEditing ? \"Edit Test Case\" : \"Create Test Case\"} {evalSetId ? `for Eval Set: ${evalSetId}` : \"\"}</DialogTitle>\n <DialogDescription>\n {isEditing ? \"Update the test case details.\" : \"Create a new test case with conversation inputs and expected outputs.\"}\n </DialogDescription>\n </DialogHeader>\n\n <form onSubmit={handleSubmit} className=\"flex-1 overflow-hidden flex flex-col\">\n <Tabs defaultValue=\"basic\" className=\"flex-1 overflow-hidden flex flex-col\">\n <TabsList className=\"grid w-full grid-cols-3\">\n <TabsTrigger value=\"basic\" className=\"gap-2\">\n <Info className=\"h-4 w-4\" />\n Basic Info\n </TabsTrigger>\n <TabsTrigger value=\"conversation\" className=\"gap-2\">\n <MessageSquare className=\"h-4 w-4\" />\n Conversation\n </TabsTrigger>\n <TabsTrigger value=\"expected\" className=\"gap-2\">\n <Settings2 className=\"h-4 w-4\" />\n Expected Tools\n </TabsTrigger>\n </TabsList>\n\n <ScrollArea className=\"flex-1\">\n <TabsContent value=\"basic\" className=\"space-y-4 p-1 mt-4\">\n <div className=\"grid gap-5\">\n <div className=\"grid gap-2\">\n <Label htmlFor=\"name\">Name *</Label>\n <Input\n id=\"name\"\n placeholder=\"e.g., Customer Support - Refund Request\"\n value={name}\n onChange={(e) => setName(e.target.value)}\n disabled={loading}\n required\n />\n </div>\n <div className=\"grid gap-2\">\n <Label htmlFor=\"description\">Description</Label>\n <Textarea\n id=\"description\"\n placeholder=\"Describe what this test case evaluates...\"\n value={description}\n onChange={(e) => setDescription(e.target.value)}\n disabled={loading}\n rows={3}\n />\n </div>\n <div className=\"grid gap-2\">\n <Label htmlFor=\"expectedOutput\">Expected Output *</Label>\n <Textarea\n id=\"expectedOutput\"\n placeholder=\"Describe the expected final output (e.g., 'A JSON object containing refund details', 'An empathetic response offering alternatives')\"\n value={expectedOutput}\n onChange={(e) => setExpectedOutput(e.target.value)}\n disabled={loading}\n rows={4}\n required\n />\n <p className=\"text-xs text-muted-foreground\">\n This can be an exact expected response or a description of what the output should contain.\n </p>\n </div>\n </div>\n </TabsContent>\n\n <TabsContent value=\"conversation\" className=\"space-y-4 p-1 mt-4\">\n <Card>\n <CardHeader className=\"pb-3\">\n <div className=\"flex items-start justify-between\">\n <div>\n <CardTitle className=\"text-sm flex items-center gap-2\">\n <MessageSquare className=\"h-4 w-4\" />\n Conversation Flow\n {inputs.length > 0 && (\n <Badge variant=\"secondary\" className=\"ml-2\">\n {inputs.length} {inputs.length === 1 ? 'message' : 'messages'}\n </Badge>\n )}\n </CardTitle>\n <CardDescription className=\"mt-1.5\">\n Add user messages in order. The agent will run through this conversation flow and respond between each message automatically.\n </CardDescription>\n </div>\n </div>\n </CardHeader>\n <CardContent className=\"space-y-6\">\n\n {inputs?.length === 0 ? (\n <div className=\"flex flex-col items-center justify-center py-12 px-4 text-center border-2 border-dashed border-muted rounded-lg\">\n <Sparkles className=\"h-12 w-12 text-muted-foreground/50 mb-4\" />\n <h3 className=\"font-semibold text-lg mb-2\">No messages yet</h3>\n <p className=\"text-sm text-muted-foreground max-w-sm\">\n Start building your test conversation by adding user messages below.\n </p>\n </div>\n ) : (\n /* @ts-ignore */\n <Conversation className=\"max-h-[350px] overflow-y-auto border rounded-lg bg-muted/30 transition-all duration-300 ease-in-out\">\n {/* @ts-ignore */}\n <ConversationContent className=\"px-6 py-4\">\n <div className=\"animate-in fade-in duration-500\">\n <MessageRenderer\n messages={inputs}\n config={{\n marginTopFirstMessage: 'mt-0',\n customAssistantClassnames: 'bg-secondary/50 rounded-lg px-3 py-1 border-l-2 border-primary/30'\n }}\n status={\"ready\"}\n showActions={false}\n writeAccess={false}\n />\n </div>\n </ConversationContent>\n </Conversation>\n )}\n\n <div className=\"space-y-3 pt-2 border-t\">\n <Label htmlFor=\"currentInput\" className=\"text-sm font-semibold\">Add User Message</Label>\n <div className=\"space-y-3\">\n <Textarea\n id=\"currentInput\"\n placeholder=\"Type the user's message...\"\n value={currentInput}\n onChange={(e) => setCurrentInput(e.target.value)}\n disabled={loading}\n rows={2}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" && !e.shiftKey) {\n e.preventDefault();\n handleAddMessage();\n }\n }}\n />\n\n <div className=\"flex items-center gap-2\">\n <UppyDashboard\n id=\"test-case-files\"\n selectionLimit={10}\n allowedFileTypes={[\n '.png', '.jpg', '.jpeg', '.gif', '.webp',\n '.pdf', '.docx', '.xlsx', '.xls', '.csv', '.pptx', '.ppt',\n '.mp3', '.wav', '.m4a', '.mp4', '.mpeg'\n ]}\n dependencies={[]}\n onConfirm={(items) => {\n setCurrentFiles(items)\n }}\n />\n\n <Button\n type=\"button\"\n variant=\"outline\"\n onClick={handleAddMessage}\n disabled={loading || (!currentInput.trim() && currentFileParts.length === 0)}\n className=\"ml-auto\"\n size=\"default\"\n >\n <Plus className=\"h-4 w-4 mr-2\" />\n Add Message\n </Button>\n </div>\n\n {currentFiles && currentFiles.length > 0 && (\n <>\n <div className=\"grid grid-cols-3 gap-2\">\n {currentFiles.map((item) => (\n <FileItem\n s3Key={item}\n disabled={true}\n active={false}\n onRemove={() => {\n setCurrentFiles(currentFiles?.filter((i) => i !== item))\n }}\n />\n ))}\n </div>\n <div className=\"flex items-start gap-2 p-3 bg-amber-500/10 border border-amber-500/20 rounded-lg\">\n <AlertCircle className=\"h-4 w-4 text-amber-600 dark:text-amber-500 mt-0.5 flex-shrink-0\" />\n <p className=\"text-xs text-amber-900 dark:text-amber-200\">\n <strong>Note:</strong> When running this test case, ensure the selected agent supports the file types you've attached here (images, documents, audio, etc.).\n </p>\n </div>\n </>\n )}\n </div>\n <p className=\"text-xs text-muted-foreground\">\n Press Enter to add, Shift+Enter for new line. You can attach files to messages.\n </p>\n </div>\n </CardContent>\n </Card>\n </TabsContent>\n\n <TabsContent value=\"expected\" className=\"space-y-4 p-1 mt-4\">\n <div className=\"grid gap-5\">\n <Card className=\"border-l-2 border-l-blue-500/30\">\n <CardHeader className=\"pb-3\">\n <CardTitle className=\"text-sm flex items-center gap-2\">\n <Settings2 className=\"h-4 w-4\" />\n Expected Tools (Optional)\n {expectedTools.length > 0 && (\n <Badge variant=\"secondary\" className=\"ml-2\">\n {expectedTools.length}\n </Badge>\n )}\n </CardTitle>\n <CardDescription>Regular tools that should be used during the conversation</CardDescription>\n </CardHeader>\n <CardContent className=\"space-y-2\">\n <div className=\"flex gap-2 flex-wrap\">\n {expectedTools.map((toolId, index) => (\n <Badge key={index} variant=\"secondary\">\n {getToolName(toolId)}\n <button\n type=\"button\"\n onClick={() => setExpectedTools(expectedTools.filter((_, i) => i !== index))}\n className=\"ml-2 hover:text-destructive\">\n ×\n </button>\n </Badge>\n ))}\n </div>\n <div className=\"flex gap-2\">\n <Select value={selectedTool} onValueChange={setSelectedTool} disabled={loading}>\n <SelectTrigger className=\"flex-1\">\n <SelectValue placeholder=\"Select a tool to add...\" />\n </SelectTrigger>\n <SelectContent>\n {regularTools.map((tool) => (\n <SelectItem key={tool.id} value={tool.id}>\n {tool.name}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n <Button\n type=\"button\"\n onClick={handleAddTool}\n disabled={loading || !selectedTool}\n className=\"gap-1.5\"\n variant={selectedTool ? \"default\" : \"outline\"}\n >\n <Plus className=\"h-4 w-4\" />\n <span className=\"hidden sm:inline\">Add</span>\n </Button>\n </div>\n {!selectedTool && (\n <p className=\"text-xs text-muted-foreground/75 italic\">\n Select a tool from the dropdown, then click Add\n </p>\n )}\n </CardContent>\n </Card>\n\n <Card className=\"border-l-2 border-l-purple-500/30\">\n <CardHeader className=\"pb-3\">\n <CardTitle className=\"text-sm flex items-center gap-2\">\n <FileText className=\"h-4 w-4\" />\n Expected Knowledge Sources (Optional)\n {expectedKnowledgeSources.length > 0 && (\n <Badge variant=\"secondary\" className=\"ml-2\">\n {expectedKnowledgeSources.length}\n </Badge>\n )}\n </CardTitle>\n <CardDescription>Context/knowledge sources that should be used</CardDescription>\n </CardHeader>\n <CardContent className=\"space-y-2\">\n <div className=\"flex gap-2 flex-wrap\">\n {expectedKnowledgeSources.map((contextId, index) => (\n <Badge key={index} variant=\"secondary\">\n {getContextName(contextId)}\n <button\n type=\"button\"\n onClick={() => setExpectedKnowledgeSources(expectedKnowledgeSources.filter((_, i) => i !== index))}\n className=\"ml-2 hover:text-destructive\"\n >\n ×\n </button>\n </Badge>\n ))}\n </div>\n <div className=\"flex gap-2\">\n <Select value={selectedContext} onValueChange={setSelectedContext} disabled={loading}>\n <SelectTrigger className=\"flex-1\">\n <SelectValue placeholder=\"Select a knowledge source to add...\" />\n </SelectTrigger>\n <SelectContent>\n {knowledgeSourceTools.map((context) => (\n <SelectItem key={context.id} value={context.id}>\n {context.name}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n <Button\n type=\"button\"\n onClick={handleAddContext}\n disabled={loading || !selectedContext}\n className=\"gap-1.5\"\n variant={selectedContext ? \"default\" : \"outline\"}\n >\n <Plus className=\"h-4 w-4\" />\n <span className=\"hidden sm:inline\">Add</span>\n </Button>\n </div>\n {!selectedContext && (\n <p className=\"text-xs text-muted-foreground/75 italic\">\n Select a knowledge source from the dropdown, then click Add\n </p>\n )}\n </CardContent>\n </Card>\n\n <Card className=\"border-l-2 border-l-green-500/30\">\n <CardHeader className=\"pb-3\">\n <CardTitle className=\"text-sm flex items-center gap-2\">\n <Sparkles className=\"h-4 w-4\" />\n Expected Agent Tools (Optional)\n {expectedAgentTools.length > 0 && (\n <Badge variant=\"secondary\" className=\"ml-2\">\n {expectedAgentTools.length}\n </Badge>\n )}\n </CardTitle>\n <CardDescription>Agents that should be called as tools</CardDescription>\n </CardHeader>\n <CardContent className=\"space-y-2\">\n <div className=\"flex gap-2 flex-wrap\">\n {expectedAgentTools.map((agentId, index) => (\n <Badge key={index} variant=\"secondary\">\n {getAgentName(agentId)}\n <button\n type=\"button\"\n onClick={() => setExpectedAgentTools(expectedAgentTools.filter((_, i) => i !== index))}\n className=\"ml-2 hover:text-destructive\"\n >\n ×\n </button>\n </Badge>\n ))}\n </div>\n <div className=\"flex gap-2\">\n <Select value={selectedAgent} onValueChange={setSelectedAgent} disabled={loading}>\n <SelectTrigger className=\"flex-1\">\n <SelectValue placeholder=\"Select an agent to add...\" />\n </SelectTrigger>\n <SelectContent>\n {agentTools.map((agent) => (\n <SelectItem key={agent.id} value={agent.id}>\n {agent.name}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n <Button\n type=\"button\"\n onClick={handleAddAgent}\n disabled={loading || !selectedAgent}\n className=\"gap-1.5\"\n variant={selectedAgent ? \"default\" : \"outline\"}\n >\n <Plus className=\"h-4 w-4\" />\n <span className=\"hidden sm:inline\">Add</span>\n </Button>\n </div>\n {!selectedAgent && (\n <p className=\"text-xs text-muted-foreground/75 italic\">\n Select an agent from the dropdown, then click Add\n </p>\n )}\n </CardContent>\n </Card>\n </div>\n </TabsContent>\n </ScrollArea>\n </Tabs>\n\n <DialogFooter className=\"mt-4 gap-2\">\n <Button\n type=\"button\"\n variant=\"outline\"\n onClick={onClose}\n disabled={loading}\n >\n Cancel\n </Button>\n <Button\n type=\"submit\"\n disabled={loading || !name.trim() || !expectedOutput.trim() || inputs.length === 0}\n className=\"shadow-sm hover:shadow-md transition-all\"\n >\n {loading && <Loader2 className=\"mr-2 h-4 w-4 animate-spin\" />}\n {isEditing ? \"Update Test Case\" : \"Create Test Case\"}\n </Button>\n </DialogFooter>\n </form>\n </DialogContent>\n </Dialog >\n );\n}\n","\"use client\";\n\nimport * as AlertDialogPrimitive from \"@radix-ui/react-alert-dialog\";\nimport * as React from \"react\";\n\nimport { buttonVariants } from \"@/components/ui/button\";\nimport { cn } from \"@/lib/utils\";\n\nconst AlertDialog = AlertDialogPrimitive.Root;\n\nconst AlertDialogTrigger = AlertDialogPrimitive.Trigger;\n\nconst AlertDialogPortal = AlertDialogPrimitive.Portal;\n\nconst AlertDialogOverlay = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Overlay\n className={cn(\n \"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\",\n className,\n )}\n {...props}\n ref={ref}\n />\n));\nAlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;\n\nconst AlertDialogContent = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n ref={ref}\n className={cn(\n \"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\",\n className,\n )}\n {...props}\n />\n </AlertDialogPortal>\n));\nAlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;\n\nconst AlertDialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-2 text-center sm:text-left\",\n className,\n )}\n {...props}\n />\n);\nAlertDialogHeader.displayName = \"AlertDialogHeader\";\n\nconst AlertDialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className,\n )}\n {...props}\n />\n);\nAlertDialogFooter.displayName = \"AlertDialogFooter\";\n\nconst AlertDialogTitle = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Title\n ref={ref}\n className={cn(\"text-lg font-semibold\", className)}\n {...props}\n />\n));\nAlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;\n\nconst AlertDialogDescription = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nAlertDialogDescription.displayName =\n AlertDialogPrimitive.Description.displayName;\n\nconst AlertDialogAction = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Action>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Action\n ref={ref}\n className={cn(buttonVariants(), className)}\n {...props}\n />\n));\nAlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;\n\nconst AlertDialogCancel = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Cancel>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Cancel\n ref={ref}\n className={cn(\n buttonVariants({ variant: \"outline\" }),\n \"mt-2 sm:mt-0\",\n className,\n )}\n {...props}\n />\n));\nAlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;\n\nexport {\n AlertDialog,\n AlertDialogPortal,\n AlertDialogOverlay,\n AlertDialogTrigger,\n AlertDialogContent,\n AlertDialogHeader,\n AlertDialogFooter,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogAction,\n AlertDialogCancel,\n};\n"],"names":["TestCaseModal","param","open","onClose","evalSetId","onSuccess","testCase","toast","useToast","isEditing","data","toolsData","useQuery","GET_TOOLS","variables","page","limit","regularTools","agentTools","knowledgeSourceTools","useMemo","tools","items","console","log","filter","t","type","name","setName","useState","description","setDescription","expectedOutput","setExpectedOutput","inputs","setInputs","currentInput","setCurrentInput","currentFiles","setCurrentFiles","currentFileParts","setCurrentFileParts","expectedTools","setExpectedTools","expectedKnowledgeSources","setExpectedKnowledgeSources","expectedAgentTools","setExpectedAgentTools","selectedTool","setSelectedTool","selectedContext","setSelectedContext","selectedAgent","setSelectedAgent","useEffect","expected_output","expected_tools","expected_knowledge_sources","expected_agent_tools","updateMessageFiles","keys","Promise","all","map","key","mediaType","split","pop","filename","url","getPresignedUrl","length","createTestCase","loading","creating","useMutation","CREATE_TEST_CASE","onCompleted","title","onError","error","message","variant","updateTestCase","updating","UPDATE_TEST_CASE","handleAddMessage","trim","parts","push","text","id","concat","Date","now","role","metadata","getToolName","tool","find","getContextName","context","getAgentName","agent","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","Dialog","onOpenChange","jsxs","DialogContent","className","DialogHeader","DialogTitle","DialogDescription","form","onSubmit","e","preventDefault","eval_set_id","Tabs","defaultValue","TabsList","TabsTrigger","value","Info","MessageSquare","Settings2","ScrollArea","TabsContent","div","Label","htmlFor","Input","placeholder","onChange","target","disabled","required","Textarea","rows","p","Card","CardHeader","CardTitle","Badge","CardDescription","CardContent","Sparkles","h3","Conversation","ConversationContent","MessageRenderer","messages","config","marginTopFirstMessage","customAssistantClassnames","status","showActions","writeAccess","onKeyDown","shiftKey","UppyDashboard","selectionLimit","allowedFileTypes","dependencies","onConfirm","Button","onClick","size","Plus","Fragment","FileItem","s3Key","item","active","onRemove","i","AlertCircle","strong","toolId","index","button","_","Select","onValueChange","SelectTrigger","SelectValue","SelectContent","SelectItem","includes","span","FileText","contextId","agentId","DialogFooter","Loader2","AlertDialog","AlertDialogPrimitive","AlertDialogPortal","AlertDialogOverlay","React","ref","props","cn","displayName","AlertDialogContent","AlertDialogHeader","AlertDialogFooter","AlertDialogTitle","AlertDialogDescription","AlertDialogAction","buttonVariants","AlertDialogCancel"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6373],{62869:function(n,t,e){e.d(t,{d:function(){return s},z:function(){return d}});var r=e(57437),i=e(37053),u=e(90535),o=e(2265),a=e(94508);let s=(0,u.j)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"size-10"}},defaultVariants:{variant:"default",size:"default"}}),d=o.forwardRef((n,t)=>{let{className:e,variant:u,size:o,asChild:d=!1,...c}=n,l=d?i.g7:"button";return(0,r.jsx)(l,{className:(0,a.cn)(s({variant:u,size:o,className:e})),ref:t,...c})});d.displayName="Button"},94508:function(n,t,e){e.d(t,{cn:function(){return u}});var r=e(61994),i=e(53335);function u(){for(var n=arguments.length,t=Array(n),e=0;e<n;e++)t[e]=arguments[e];return(0,i.m6)((0,r.W)(t))}},27689:function(n,t,e){e.d(t,{$6:function(){return tz},$W:function(){return e$},A1:function(){return tu},Ak:function(){return t8},Au:function(){return t1},Az:function(){return tN},B4:function(){return eC},BK:function(){return tW},B_:function(){return tL},C3:function(){return td},CN:function(){return t3},Dt:function(){return tj},E3:function(){return tw},Ep:function(){return ej},Eq:function(){return ts},GJ:function(){return tn},Hk:function(){return t0},JL:function(){return tp},JM:function(){return tU},Jq:function(){return eI},L5:function(){return tQ},MU:function(){return tm},Md:function(){return n5},Mh:function(){return ed},Mp:function(){return tT},N:function(){return tg},Nu:function(){return eB},OP:function(){return eD},P3:function(){return tr},Pe:function(){return th},QW:function(){return eA},Qf:function(){return tE},RV:function(){return ea},S9:function(){return tG},Tj:function(){return tH},Tp:function(){return tD},Ts:function(){return ef},Ul:function(){return tb},W6:function(){return tZ},W9:function(){return tI},Wc:function(){return n3},Wr:function(){return ev},YH:function(){return t2},Yr:function(){return er},ZA:function(){return t5},ZX:function(){return tA},Zy:function(){return tV},_J:function(){return tM},as:function(){return tP},b2:function(){return ee},bI:function(){return t$},ci:function(){return tJ},d5:function(){return en},dc:function(){return ti},eY:function(){return tO},fA:function(){return eq},fB:function(){return tC},fG:function(){return tx},fM:function(){return t4},fV:function(){return te},fc:function(){return eh},fo:function(){return ty},hx:function(){return es},i9:function(){return e_},iA:function(){return em},iC:function(){return eS},j9:function(){return t9},jL:function(){return t7},jm:function(){return el},k9:function(){return eP},kH:function(){return tq},kZ:function(){return tY},kk:function(){return tK},kp:function(){return et},l1:function(){return t_},lU:function(){return tF},lW:function(){return ec},lk:function(){return tv},mN:function(){return tl},oo:function(){return ey},ps:function(){return ta},qK:function(){return tk},r1:function(){return tf},rR:function(){return tB},s5:function(){return ep},tK:function(){return tX},tO:function(){return to},ty:function(){return tc},ui:function(){return tR},uw:function(){return tt},vP:function(){return eg},ve:function(){return tS},ym:function(){return n7}});var r=e(45008),i=e(70080);function u(){let n=(0,r._)(['\n query GetAgents(\n $page: Int!\n $limit: Int!\n $filters: [FilterAgent]\n $sort: SortBy = { field: "updatedAt", direction: DESC }\n ) {\n agentsPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ',"\n }\n }\n }\n"]);return u=function(){return n},n}function o(){let n=(0,r._)(['\n query GetAgentSessions(\n $page: Int!\n $limit: Int!\n $filters: [FilterAgent_session]\n $sort: SortBy = { field: "updatedAt", direction: DESC }\n ) {\n agent_sessionsPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n createdAt\n updatedAt\n user\n title\n agent\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n projects {\n id\n rights\n }\n }\n id\n }\n }\n }\n']);return o=function(){return n},n}function a(){let n=(0,r._)(["\n query GetContexts {\n contexts {\n items {\n ","\n }\n }\n }\n"]);return a=function(){return n},n}function s(){let n=(0,r._)(["\n query GetContextById($id: ID!) {\n contextById(id: $id) {\n ","\n }\n }\n"]);return s=function(){return n},n}function d(){let n=(0,r._)(["\n query ","Pagination($page: Int!, $limit: Int!, $filters: [Filter",'_items], $sort: SortBy = { field: "updatedAt", direction: DESC }) {\n ',"","(page: $page, limit: $limit, filters: $filters, sort: $sort) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ","\n }\n }\n }\n "]);return d=function(){return n},n}function c(){let n=(0,r._)(["\n mutation ProcessItemField","($item: ID!, $field: ","_itemsProcessorFieldEnum!) {\n ","_itemsProcessItemField(item: $item, field: $field) {\n message\n result\n job\n }\n }\n "]);return c=function(){return n},n}function l(){let n=(0,r._)(["\n query ","ById($id: ID!) {\n ","_itemsById(id: $id) {\n ","\n ","\n }\n }\n "]);return l=function(){return n},n}function f(){let n=(0,r._)(["\n mutation CreateOne","($input: ","_itemsInput!) {\n ","_itemsCreateOne(input: $input) {\n item {\n id\n }\n job\n }\n }\n "]);return f=function(){return n},n}function m(){let n=(0,r._)(["\n mutation DeleteChunks","($where: [Filter","_items]) {\n ","_itemsDeleteChunks(where: $where) {\n items\n jobs\n }\n }\n "]);return m=function(){return n},n}function $(){let n=(0,r._)(["\n mutation GenerateChunks","($where: [Filter","_items]) {\n ","_itemsGenerateChunks(where: $where) {\n items\n jobs\n }\n }\n "]);return $=function(){return n},n}function g(){let n=(0,r._)(["\n mutation ExecuteSource","($source: ID!, $inputs: JSON!) {\n ","_itemsExecuteSource(source: $source, inputs: $inputs) {\n message\n jobs\n items\n }\n }\n "]);return g=function(){return n},n}function p(){let n=(0,r._)(["\n mutation UpdateOneById","($id: ID!, $input: ","_itemsInput!) {\n ","_itemsUpdateOneById(id: $id, input: $input) {\n item {\n id\n }\n job\n }\n }\n "]);return p=function(){return n},n}function _(){let n=(0,r._)(["\n mutation DeleteOneById","($id: ID!) {\n ","_itemsRemoveOneById(id: $id) {\n id\n ","\n }\n }\n "]);return _=function(){return n},n}function y(){let n=(0,r._)(["\n mutation UpdateAgentSessionRbac(\n $id: ID!\n $RBAC: RBACInput\n $rights_mode: String\n ) {\n agent_sessionsUpdateOneById(id: $id, input: { rights_mode: $rights_mode, RBAC: $RBAC }) {\n item {\n id\n }\n }\n }\n"]);return y=function(){return n},n}function P(){let n=(0,r._)(["\n mutation UpdateAgentSessionProject(\n $id: ID!\n $project: String\n ) {\n agent_sessionsUpdateOneById(id: $id, input: {project: $project}) {\n item {\n id\n }\n }\n }\n"]);return P=function(){return n},n}function I(){let n=(0,r._)(["\n mutation UpdateAgentSessionTitle(\n $id: ID!\n $title: String\n ) {\n agent_sessionsUpdateOneById(id: $id, input: {title: $title}) {\n item {\n id\n title\n }\n }\n }\n"]);return I=function(){return n},n}function v(){let n=(0,r._)(['\n query GetAgentSessionMessages(\n $page: Int!\n $limit: Int!\n $filters: [FilterAgent_message]\n $sort: SortBy = { field: "createdAt", direction: ASC }\n ) {\n agent_messagesPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n id\n session\n content\n createdAt\n }\n }\n }\n']);return v=function(){return n},n}function h(){let n=(0,r._)(['\n query GetJobResults(\n $page: Int!\n $limit: Int!\n $filters: [FilterJob_result]\n $sort: SortBy = {\n field: "createdAt",\n direction: DESC\n }\n ) {\n job_resultsPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n items {\n job_id\n state\n error\n label\n result\n metadata\n createdAt\n updatedAt\n id\n }\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n }\n }\n']);return h=function(){return n},n}function S(){let n=(0,r._)(["\n query GetUserRoles($page: Int!, $limit: Int!) {\n rolesPagination(page: $page, limit: $limit) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n id\n createdAt\n updatedAt\n agents\n workflows\n api\n variables\n users\n name\n }\n }\n }\n"]);return S=function(){return n},n}function A(){let n=(0,r._)(["\n query GetUsers(\n $page: Int!\n $limit: Int!\n $filters: [FilterUser]\n $sort: SortBy\n ) {\n usersPagination(page: $page, limit: $limit, filters: $filters, sort: $sort) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n id\n name\n firstname\n lastname\n email\n last_used\n createdAt\n type\n apikey\n emailVerified\n anthropic_token\n super_admin\n role\n }\n }\n }\n"]);return A=function(){return n},n}function C(){let n=(0,r._)(["\n query GetUserRoleById($id: ID!) {\n roleById(id: $id) {\n id\n name\n agents\n workflows\n api\n variables\n users\n createdAt\n updatedAt\n }\n }\n"]);return C=function(){return n},n}function B(){let n=(0,r._)(["\n query GetJobResultById($id: ID!) {\n job_resultById(id: $id) {\n id\n job_id\n state\n error\n label\n result\n metadata\n createdAt\n updatedAt\n }\n }\n"]);return B=function(){return n},n}function b(){let n=(0,r._)(["\n query GetAgentById($id: ID!) {\n agentById(id: $id) {\n ","\n }\n }\n"]);return b=function(){return n},n}function D(){let n=(0,r._)(["\n query GetAgentsByIds($ids: [ID!]!) {\n agentByIds(ids: $ids) {\n ","\n }\n }\n"]);return D=function(){return n},n}function j(){let n=(0,r._)(["\n query GetAgentSessionById($id: ID!) {\n agent_sessionById(id: $id) {\n createdAt\n updatedAt\n user\n title\n agent\n created_by\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n projects {\n id\n rights\n }\n }\n id\n }\n }\n"]);return j=function(){return n},n}function q(){let n=(0,r._)(["\n query GetAgentSession($filters: [FilterAgent_session]) {\n agent_sessionOne(filters: $filters) {\n createdAt\n updatedAt\n user\n title\n agent\n id\n }\n }\n"]);return q=function(){return n},n}function k(){let n=(0,r._)(["\n mutation UpdateUser(\n $email: String,\n $firstname: String,\n $anthropic_token: String,\n $super_admin: Boolean,\n $lastname: String,\n $role: String,\n $favourite_agents: JSON,\n $id: ID!\n ) {\n usersUpdateOneById(id: $id, input: {\n email: $email,\n firstname: $firstname,\n anthropic_token: $anthropic_token,\n super_admin: $super_admin,\n lastname: $lastname,\n role: $role,\n favourite_agents: $favourite_agents\n }) {\n item {\n ","\n }\n }\n }\n"]);return k=function(){return n},n}function R(){let n=(0,r._)(["\n mutation CreateUser(\n $firstname: String,\n $type: String,\n $apikey: String,\n $email: String,\n $role: String\n ) {\n usersCreateOne(input: {\n firstname: $firstname,\n type: $type,\n apikey: $apikey,\n email: $email,\n role: $role\n }) {\n item {\n id\n }\n }\n }\n"]);return R=function(){return n},n}function w(){let n=(0,r._)(["\n mutation UpdateUserRole(\n $id: ID!\n $name: String\n $agents: String\n $workflows: String\n $api: String\n $variables: String\n $users: String\n ) {\n rolesUpdateOneById(\n id: $id\n input: {\n name: $name\n agents: $agents\n workflows: $workflows\n api: $api\n variables: $variables\n users: $users\n }\n ) {\n item {\n id\n createdAt\n agents\n api\n workflows\n variables\n users\n }\n }\n }\n"]);return w=function(){return n},n}function O(){let n=(0,r._)(["\n query GetUserByEmail($email: String!) {\n userOne(filters: {email: $email}) {\n ","\n }\n }\n"]);return O=function(){return n},n}function U(){let n=(0,r._)(["\n mutation createAgentSession(\n $title: String,\n $user: Float\n $agent: String\n $project: String\n $rights_mode: String\n $RBAC: RBACInput\n ) {\n agent_sessionsCreateOne(\n input: { agent: $agent, user: $user, title: $title, project: $project, rights_mode: $rights_mode, RBAC: $RBAC }\n ) {\n item {\n id\n }\n }\n }\n"]);return U=function(){return n},n}function x(){let n=(0,r._)(["\n mutation createAgent(\n $name: String!\n $description: String!\n $rights_mode: String!\n $backend: String!\n $image: String\n $RBAC: RBACInput\n ) {\n agentsCreateOne(\n input: {\n name: $name\n description: $description\n rights_mode: $rights_mode\n backend: $backend\n image: $image\n RBAC: $RBAC\n }\n ) {\n item {\n id\n name\n description\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n projects {\n id\n rights\n }\n }\n createdAt\n }\n }\n }\n"]);return x=function(){return n},n}function G(){let n=(0,r._)(["\n query GetTools($search: String, $category: String, $limit: Int, $page: Int) {\n tools(search: $search, category: $category, limit: $limit, page: $page) {\n items {\n id\n name\n category\n description\n config\n type\n }\n total\n page\n limit\n }\n }\n"]);return G=function(){return n},n}function N(){let n=(0,r._)(["\n query GetToolCategories {\n toolCategories\n }\n"]);return N=function(){return n},n}function E(){let n=(0,r._)(["\n mutation UpdateAgent(\n $id: ID!\n $name: String\n $backend: String\n $description: String\n $instructions: String\n $rights_mode: String\n $animation_idle: String\n $animation_responding: String\n $category: String\n $tools: JSON\n $active: Boolean\n $providerapikey: String\n $RBAC: RBACInput\n ) {\n agentsUpdateOneById(\n input: { \n name: $name\n backend: $backend\n description: $description\n category: $category\n instructions: $instructions\n animation_idle: $animation_idle\n animation_responding: $animation_responding\n rights_mode: $rights_mode\n active: $active\n tools: $tools\n providerapikey: $providerapikey\n RBAC: $RBAC\n }\n id: $id\n ) {\n item {\n id\n name\n description\n instructions\n category\n animation_idle\n animation_responding\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n projects {\n id\n rights\n }\n }\n }\n }\n }\n"]);return E=function(){return n},n}function J(){let n=(0,r._)(["\n mutation CreateUserRole($name: String!, $agents: String, $workflows: String, $variables: String, $users: String, $api: String) {\n rolesCreateOne(input: { name: $name, agents: $agents, workflows: $workflows, variables: $variables, users: $users, api: $api}) {\n item {\n id\n createdAt\n agents\n api\n workflows\n variables\n users\n name\n }\n }\n }\n"]);return J=function(){return n},n}function F(){let n=(0,r._)(["\n mutation CreateUser($email: String!, $password: String, $type: String, $emailVerified: String) {\n usersCreateOne(input: { email: $email, password: $password, type: $type, emailVerified: $emailVerified }) {\n item {\n id\n createdAt\n emailVerified\n type\n name\n }\n }\n }\n"]);return F=function(){return n},n}function T(){let n=(0,r._)(["\n mutation ResetUserPassword($id: ID!, $password: String!) {\n usersUpdateOneById(id: $id, input: { password: $password }) {\n item {\n id\n }\n }\n }\n"]);return T=function(){return n},n}function Q(){let n=(0,r._)(["\n query GetProviders {\n providers {\n items {\n id\n name\n description\n provider\n modelName\n providerName\n }\n }\n }\n"]);return Q=function(){return n},n}function W(){let n=(0,r._)(["\n mutation RemoveUserById($id: ID!) {\n usersRemoveOneById(id: $id) {\n id\n }\n }\n"]);return W=function(){return n},n}function V(){let n=(0,r._)(["\n mutation RemoveJobResultById($id: ID!) {\n job_resultsRemoveOneById(id: $id) {\n id\n }\n }\n"]);return V=function(){return n},n}function L(){let n=(0,r._)(["\n mutation RemoveUserRoleById($id: ID!) {\n rolesRemoveOneById(id: $id) {\n id\n }\n }\n"]);return L=function(){return n},n}function M(){let n=(0,r._)(["\n mutation RemoveAgentById($id: ID!) {\n agentsRemoveOneById(id: $id) {\n id\n }\n }\n"]);return M=function(){return n},n}function z(){let n=(0,r._)(["\n mutation RemoveAgentSessionById($id: ID!) {\n agent_sessionsRemoveOneById(id: $id) {\n id\n }\n }\n"]);return z=function(){return n},n}function K(){let n=(0,r._)(["\n query GetJobStatistics($user: Float, $agent: String, $from: String, $to: String) {\n jobStatistics(user: $user, agent: $agent, from: $from, to: $to) {\n completedCount\n failedCount\n averageDuration\n }\n }\n"]);return K=function(){return n},n}function Z(){let n=(0,r._)(['\n query GetVariables(\n $page: Int!\n $limit: Int!\n $filters: [FilterVariable]\n $sort: SortBy = { field: "updatedAt", direction: DESC }\n ) {\n variablesPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n id\n name\n value\n encrypted\n createdAt\n updatedAt\n }\n }\n }\n']);return Z=function(){return n},n}function H(){let n=(0,r._)(["\n query GetVariableById($id: ID!) {\n variableById(id: $id) {\n id\n name\n value\n encrypted\n createdAt\n updatedAt\n }\n }\n"]);return H=function(){return n},n}function Y(){let n=(0,r._)(["\n mutation CreateVariable(\n $name: String!\n $value: String!\n $encrypted: Boolean\n ) {\n variablesCreateOne(\n input: {\n name: $name\n value: $value\n encrypted: $encrypted\n }\n ) {\n item {\n id\n name\n value\n encrypted\n createdAt\n updatedAt\n }\n }\n }\n"]);return Y=function(){return n},n}function X(){let n=(0,r._)(["\n mutation UpdateVariable(\n $id: ID!\n $name: String\n $value: String\n $encrypted: Boolean\n ) {\n variablesUpdateOneById(\n id: $id\n input: {\n name: $name\n value: $value\n encrypted: $encrypted\n }\n ) {\n id\n name\n value\n encrypted\n createdAt\n updatedAt\n }\n }\n"]);return X=function(){return n},n}function nn(){let n=(0,r._)(["\n mutation RemoveVariableById($id: ID!) {\n variablesRemoveOneById(id: $id) {\n id\n }\n }\n"]);return nn=function(){return n},n}function nt(){let n=(0,r._)(["\n query GetUserById($id: ID!) {\n userById(id: $id) {\n id\n name\n firstname\n lastname\n email\n }\n }\n"]);return nt=function(){return n},n}function ne(){let n=(0,r._)(["\n query GetUsersByIds($ids: [ID!]!) {\n userByIds(ids: $ids) {\n id\n name\n firstname\n lastname\n email\n }\n }\n"]);return ne=function(){return n},n}function nr(){let n=(0,r._)(['\n query GetWorkflowTemplates(\n $page: Int!\n $limit: Int!\n $filters: [FilterWorkflow_template]\n $sort: SortBy = { field: "updatedAt", direction: DESC }\n ) {\n workflow_templatesPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n id\n name\n description\n owner\n rights_mode\n variables\n steps_json\n example_metadata_json\n createdAt\n updatedAt\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n projects {\n id\n rights\n }\n }\n }\n }\n }\n']);return nr=function(){return n},n}function ni(){let n=(0,r._)(["\n query GetWorkflowTemplateById($id: ID!) {\n workflow_templateById(id: $id) {\n id\n name\n description\n owner\n rights_mode\n variables\n steps_json\n example_metadata_json\n createdAt\n updatedAt\n }\n }\n"]);return ni=function(){return n},n}function nu(){let n=(0,r._)(["\n mutation CreateWorkflowTemplate(\n $name: String!\n $description: String\n $owner: Float!\n $rights_mode: String!\n $RBAC: RBACInput\n $variables: JSON\n $steps_json: JSON!\n $example_metadata_json: JSON\n ) {\n workflow_templatesCreateOne(\n input: {\n name: $name\n description: $description\n owner: $owner\n rights_mode: $rights_mode\n RBAC: $RBAC\n variables: $variables\n steps_json: $steps_json\n example_metadata_json: $example_metadata_json\n }\n ) {\n id\n name\n description\n owner\n rights_mode\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n projects {\n id\n rights\n }\n }\n variables\n steps_json\n example_metadata_json\n createdAt\n updatedAt\n }\n }\n"]);return nu=function(){return n},n}function no(){let n=(0,r._)(["\n mutation UpdateWorkflowTemplate(\n $id: ID!\n $name: String\n $description: String\n $rights_mode: String\n $RBAC: RBACInput\n $variables: JSON\n $steps_json: JSON\n $example_metadata_json: JSON\n ) {\n workflow_templatesUpdateOneById(\n id: $id\n input: {\n name: $name\n description: $description\n rights_mode: $rights_mode\n RBAC: $RBAC\n variables: $variables\n steps_json: $steps_json\n example_metadata_json: $example_metadata_json\n }\n ) {\n id\n name\n description\n owner\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n projects {\n id\n rights\n }\n }\n variables\n steps_json\n example_metadata_json\n createdAt\n updatedAt\n }\n }\n"]);return no=function(){return n},n}function na(){let n=(0,r._)(["\n mutation RemoveWorkflowTemplateById($id: ID!) {\n workflow_templatesRemoveOneById(id: $id) {\n id\n }\n }\n"]);return na=function(){return n},n}function ns(){let n=(0,r._)(["\n query GetJobStatisticsEnhanced($user: Float, $agent: String, $from: String, $to: String) {\n jobStatistics(user: $user, agent: $agent, from: $from, to: $to) {\n runningCount\n erroredCount\n completedCount\n failedCount\n averageDuration\n }\n }\n"]);return ns=function(){return n},n}function nd(){let n=(0,r._)(["\n query AgentSessionsStatistics($from: Date!, $to: Date!) {\n agent_sessionsStatistics(filters: {\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }) {\n group\n count\n }\n }\n"]);return nd=function(){return n},n}function nc(){let n=(0,r._)(['\n query WorkflowRunsStatistics($from: Date!, $to: Date!) {\n jobsStatistics(filters: {\n type: { eq: "workflow" }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }) {\n group\n count\n }\n }\n']);return nc=function(){return n},n}function nl(){let n=(0,r._)(['\n query EmbeddingJobsStatistics($from: Date!, $to: Date!) {\n jobsStatistics(filters: {\n type: { eq: "embedder" }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }) {\n group\n count\n }\n }\n']);return nl=function(){return n},n}function nf(){let n=(0,r._)(["\n query FunctionCallsStatistics($from: Date!, $to: Date!) {\n trackingStatistics(filters: {\n type: { eq: TOOL_CALL }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }) {\n group\n count\n }\n }\n"]);return nf=function(){return n},n}function nm(){let n=(0,r._)([' \n query AgentCallsStatistics($from: Date!, $to: Date!) {\n trackingStatistics(filters: {\n type: { eq: AGENT_RUN }\n name: { eq: "count" }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }) {\n group\n count\n }\n }\n']);return nm=function(){return n},n}function n$(){let n=(0,r._)([' \n query AgentCallsStatistics($from: Date!, $to: Date!) {\n trackingStatistics(filters: {\n name: { in: ["inputTokens", "outputTokens"] }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }) {\n group\n count\n }\n }\n']);return n$=function(){return n},n}function ng(){let n=(0,r._)(['\n query TimeSeriesStatistics($type: typeEnum!, $from: Date!, $to: Date!, $names: [String!]) {\n trackingStatistics(\n groupBy: "createdAt"\n filters: {\n type: { eq: $type }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n name: { in: $names }\n }\n ) {\n group\n count\n }\n }\n']);return ng=function(){return n},n}function np(){let n=(0,r._)(['\nquery UserStatistics($from: Date!, $to: Date!, $names: [String!]) {\n trackingStatistics(\n groupBy: "user"\n filters: {\n type: { eq: AGENT_RUN }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n name: { in: $names }\n }\n ) {\n group\n count\n }\n}\n']);return np=function(){return n},n}function n_(){let n=(0,r._)(['\nquery ProjectStatistics($from: Date!, $to: Date!, $names: [String!]) {\n trackingStatistics(\n groupBy: "project"\n filters: {\n type: { eq: AGENT_RUN }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n name: { in: $names }\n }\n ) {\n group\n count\n }\n}\n']);return n_=function(){return n},n}function ny(){let n=(0,r._)(['\nquery AgentStatistics($from: Date!, $to: Date!, $names: [String!]) {\n trackingStatistics(\n groupBy: "label"\n filters: {\n type: { eq: AGENT_RUN }\n name: { in: $names }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }\n ) {\n group\n count\n }\n}\n']);return ny=function(){return n},n}function nP(){let n=(0,r._)(["\n query GetUserNameById($id: ID!) {\n userById(id: $id) {\n name\n }\n }\n"]);return nP=function(){return n},n}function nI(){let n=(0,r._)(["\n query GetProjectNameById($id: ID!) {\n projectById(id: $id) {\n name\n }\n }\n"]);return nI=function(){return n},n}function nv(){let n=(0,r._)(["\n query DonutStatistics($type: typeEnum!, $groupBy: String!, $from: Date!, $to: Date!, $names: [String!]) {\n trackingStatistics(\n groupBy: $groupBy\n filters: {\n type: { eq: $type }\n name: { in: $names }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }\n ) {\n group\n count\n }\n }\n"]);return nv=function(){return n},n}function nh(){let n=(0,r._)(['\n query GetProjects(\n $page: Int!\n $limit: Int!\n $filters: [FilterProject]\n $sort: SortBy = { field: "updatedAt", direction: DESC }\n ) {\n projectsPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ',"\n }\n }\n }\n"]);return nh=function(){return n},n}function nS(){let n=(0,r._)(["\n query GetProjectsByIds($ids: [ID!]!) {\n projectByIds(ids: $ids) {\n ","\n }\n }\n"]);return nS=function(){return n},n}function nA(){let n=(0,r._)(["\n query GetProjectById($id: ID!) {\n projectById(id: $id) {\n ","\n }\n }\n"]);return nA=function(){return n},n}function nC(){let n=(0,r._)(["\n mutation UpdateUserFavouriteProjects($id: ID!, $favourite_projects: JSON) {\n userUpdateById(input: { favourite_projects: $favourite_projects }, filter: { id: $id }) {\n item {\n id\n favourite_projects\n }\n }\n }\n"]);return nC=function(){return n},n}function nB(){let n=(0,r._)(["\n mutation CreateProject($input: projectInput!) {\n projectsCreateOne(input: $input) {\n item {\n ","\n }\n }\n }\n"]);return nB=function(){return n},n}function nb(){let n=(0,r._)(["\n mutation UpdateProject($id: ID!, $input: projectInput!) {\n projectsUpdateOneById(id: $id, input: $input) {\n item {\n ","\n }\n }\n }\n"]);return nb=function(){return n},n}function nD(){let n=(0,r._)(["\n mutation DeleteProject($id: ID!) {\n projectsRemoveOneById(id: $id) {\n id\n name\n }\n }\n"]);return nD=function(){return n},n}function nj(){let n=(0,r._)(["\n query GetTestCases(\n $page: Int!\n $limit: Int!\n $filters: [FilterTest_case]\n ) {\n test_casesPagination(page: $page, limit: $limit, filters: $filters) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ","\n }\n }\n }\n"]);return nj=function(){return n},n}function nq(){let n=(0,r._)(["\n query GetTestCaseById($id: ID!) {\n test_caseById(id: $id) {\n ","\n }\n }\n"]);return nq=function(){return n},n}function nk(){let n=(0,r._)(["\n mutation CreateTestCase($data: test_caseInput!) {\n test_casesCreateOne(input: $data) {\n item {\n ","\n }\n }\n }\n"]);return nk=function(){return n},n}function nR(){let n=(0,r._)(["\n mutation UpdateTestCase($id: ID!, $data: test_caseInput!) {\n test_casesUpdateOneById(id: $id, input: $data) {\n item {\n ","\n }\n }\n }\n"]);return nR=function(){return n},n}function nw(){let n=(0,r._)(["\n mutation DeleteTestCase($id: ID!) {\n test_casesRemoveOneById(id: $id) {\n id\n name\n }\n }\n"]);return nw=function(){return n},n}function nO(){let n=(0,r._)(["\n query GetEvalSets(\n $page: Int!\n $limit: Int!\n $filters: [FilterEval_set]\n ) {\n eval_setsPagination(page: $page, limit: $limit, filters: $filters) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ","\n }\n }\n }\n"]);return nO=function(){return n},n}function nU(){let n=(0,r._)(["\n query GetEvals {\n evals {\n items {\n ","\n }\n }\n }\n"]);return nU=function(){return n},n}function nx(){let n=(0,r._)(["\n query GetEvalSetById($id: ID!) {\n eval_setById(id: $id) {\n ","\n }\n }\n"]);return nx=function(){return n},n}function nG(){let n=(0,r._)(["\n mutation CreateEvalSet($data: eval_setInput!) {\n eval_setsCreateOne(input: $data) {\n item {\n ","\n }\n }\n }\n"]);return nG=function(){return n},n}function nN(){let n=(0,r._)(["\n mutation UpdateEvalSet($id: ID!, $data: eval_setInput!) {\n eval_setsUpdateOneById(id: $id, input: $data) {\n item {\n ","\n }\n }\n }\n"]);return nN=function(){return n},n}function nE(){let n=(0,r._)(["\n mutation DeleteEvalSet($id: ID!) {\n eval_setsRemoveOneById(id: $id) {\n id\n name\n }\n }\n"]);return nE=function(){return n},n}function nJ(){let n=(0,r._)(["\n query GetEvalRuns(\n $page: Int!\n $limit: Int!\n $filters: [FilterEval_run]\n ) {\n eval_runsPagination(page: $page, limit: $limit, filters: $filters) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ","\n }\n }\n }\n"]);return nJ=function(){return n},n}function nF(){let n=(0,r._)(["\n query GetEvalRunById($id: ID!) {\n eval_runById(id: $id) {\n ","\n }\n }\n"]);return nF=function(){return n},n}function nT(){let n=(0,r._)(["\n mutation CreateEvalRun($data: eval_runInput!) {\n eval_runsCreateOne(input: $data) {\n item {\n ","\n }\n }\n }\n"]);return nT=function(){return n},n}function nQ(){let n=(0,r._)(["\n query GetQueue($queue: QueueEnum!) {\n queue(queue: $queue) {\n name\n concurrency\n ratelimit\n isMaxed\n isPaused\n jobs {\n paused\n completed\n failed\n waiting\n active\n delayed\n }\n }\n }\n"]);return nQ=function(){return n},n}function nW(){let n=(0,r._)(["\n query GetJobs($queue: QueueEnum!, $statusses: [JobStateEnum!], $page: Int, $limit: Int) {\n jobs(queue: $queue, statusses: $statusses, page: $page, limit: $limit) {\n items {\n name\n id\n returnvalue\n stacktrace\n failedReason\n state\n data\n timestamp\n }\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n }\n }\n"]);return nW=function(){return n},n}function nV(){let n=(0,r._)(["\n mutation DeleteJob($queue: QueueEnum!, $id: String!) {\n deleteJob(queue: $queue, id: $id) {\n success\n }\n }\n"]);return nV=function(){return n},n}function nL(){let n=(0,r._)(["\n mutation PauseQueue($queue: QueueEnum!) {\n pauseQueue(queue: $queue) {\n success\n }\n }\n"]);return nL=function(){return n},n}function nM(){let n=(0,r._)(["\n mutation ResumeQueue($queue: QueueEnum!) {\n resumeQueue(queue: $queue) {\n success\n }\n }\n"]);return nM=function(){return n},n}function nz(){let n=(0,r._)(["\n mutation DrainQueue($queue: QueueEnum!) {\n drainQueue(queue: $queue) {\n success\n }\n }\n"]);return nz=function(){return n},n}function nK(){let n=(0,r._)(["\n mutation RunEval($id: ID!) {\n runEval(id: $id) {\n jobs\n count\n }\n }\n"]);return nK=function(){return n},n}function nZ(){let n=(0,r._)(["\n mutation UpdateEvalRun($id: ID!, $data: eval_runInput!) {\n eval_runsUpdateOneById(id: $id, input: $data) {\n item {\n ","\n }\n }\n }\n"]);return nZ=function(){return n},n}function nH(){let n=(0,r._)(["\n mutation DeleteEvalRun($id: ID!) {\n eval_runsRemoveOneById(id: $id) {\n id\n }\n }\n"]);return nH=function(){return n},n}function nY(){let n=(0,r._)(["\n query GetPlatformConfigurations {\n platform_configurationsPagination {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ","\n }\n }\n }\n"]);return nY=function(){return n},n}function nX(){let n=(0,r._)(["\n query GetPlatformConfigurationByKey($config_key: FilterOperatorString!) {\n platform_configurationsPagination(page: 1, limit: 1, filters: { config_key: $config_key }) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ","\n }\n }\n }\n"]);return nX=function(){return n},n}function n0(){let n=(0,r._)(["\n mutation CreatePlatformConfiguration($data: platform_configurationInput!) {\n platform_configurationsCreateOne(input: $data) {\n item {\n ","\n }\n }\n }\n"]);return n0=function(){return n},n}function n9(){let n=(0,r._)(["\n mutation UpdatePlatformConfiguration($id: ID!, $data: platform_configurationInput!) {\n platform_configurationsUpdateOneById(id: $id, input: $data) {\n item {\n ","\n }\n }\n }\n"]);return n9=function(){return n},n}function n1(){let n=(0,r._)(["\n mutation DeletePlatformConfiguration($id: ID!) {\n platform_configurationsRemoveOneById(id: $id) {\n id\n }\n }\n"]);return n1=function(){return n},n}let n5="_itemsPagination",n3="_itemsCreateOne",n2="\n id\n name\n description\n embedder\n slug\n active\n fields\n configuration\n sources {\n id\n name\n description\n config {\n schedule\n queue\n retries\n backoff {\n type\n delay\n }\n }\n }\n",n6=n=>"\nid\nname\ndescription\ntags\nexternal_id\ncreatedAt\nembeddings_updated_at\nupdatedAt\nrights_mode\nRBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n projects {\n id\n rights\n }\n}\n".concat(n.join("\n"),"\n"),n4="\nid\nfirstname\nlastname\nemail\nsuper_admin\napikey\nanthropic_token\ntype\nrole\nfavourite_agents\n",n8="\nid\nname\nproviderapikey\ninstructions\ndescription\nactive\nimage\nanimation_idle\nanimation_responding\ntools\nproviderName\nmodelName\nmaxContextLength\nprovider\nslug\ncategory\nrateLimit {\n name\n rate_limit {\n time\n limit\n }\n}\nstreaming\ncapabilities {\n text\n images\n files\n audio\n video\n}\nbackend\nrights_mode\nRBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n projects {\n id\n rights\n }\n}\ncreatedAt\nupdatedAt\n",n7=(0,i.Ps)(u(),n8),tn=(0,i.Ps)(o()),tt=(0,i.Ps)(a(),n2),te=(0,i.Ps)(s(),n2),tr=(n,t)=>{let e=n.charAt(0).toUpperCase()+n.slice(1);return(0,i.Ps)(d(),n,e,n,n5,n6(t))},ti=n=>(0,i.Ps)(c(),n,n,n),tu=function(n,t){let e=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return(0,i.Ps)(l(),n,n,n6(t),e?"chunks { fts_rank hybrid_score content source chunk_index chunk_id chunk_created_at chunk_updated_at embedding_size }":"")},to=n=>(0,i.Ps)(f(),n,n,n),ta=n=>{let t=n.charAt(0).toUpperCase()+n.slice(1);return(0,i.Ps)(m(),n,t,n)},ts=n=>{let t=n.charAt(0).toUpperCase()+n.slice(1);return(0,i.Ps)($(),n,t,n)},td=n=>(0,i.Ps)(g(),n,n),tc=n=>(0,i.Ps)(p(),n,n,n),tl=(n,t)=>(0,i.Ps)(_(),n,n,t.join("\n")),tf=(0,i.Ps)(y()),tm=(0,i.Ps)(P()),t$=(0,i.Ps)(I()),tg=(0,i.Ps)(v()),tp=(0,i.Ps)(h()),t_=(0,i.Ps)(S()),ty=(0,i.Ps)(A());(0,i.Ps)(C()),(0,i.Ps)(B());let tP=(0,i.Ps)(b(),n8),tI=(0,i.Ps)(D(),n8),tv=(0,i.Ps)(j());(0,i.Ps)(q());let th=(0,i.Ps)(k(),n4),tS=(0,i.Ps)(R()),tA=(0,i.Ps)(w());(0,i.Ps)(O(),n4);let tC=(0,i.Ps)(U()),tB=(0,i.Ps)(x()),tb=(0,i.Ps)(G()),tD=(0,i.Ps)(N()),tj=(0,i.Ps)(E()),tq=(0,i.Ps)(J()),tk=(0,i.Ps)(F()),tR=(0,i.Ps)(T()),tw=(0,i.Ps)(Q()),tO=(0,i.Ps)(W());(0,i.Ps)(V());let tU=(0,i.Ps)(L()),tx=(0,i.Ps)(M()),tG=(0,i.Ps)(z());(0,i.Ps)(K());let tN=(0,i.Ps)(Z()),tE=(0,i.Ps)(H()),tJ=(0,i.Ps)(Y()),tF=(0,i.Ps)(X()),tT=(0,i.Ps)(nn()),tQ=(0,i.Ps)(nt()),tW=(0,i.Ps)(ne()),tV=(0,i.Ps)(nr());(0,i.Ps)(ni());let tL=(0,i.Ps)(nu()),tM=(0,i.Ps)(no()),tz=(0,i.Ps)(na()),tK=(0,i.Ps)(ns()),tZ=(0,i.Ps)(nd()),tH=(0,i.Ps)(nc());(0,i.Ps)(nl());let tY=(0,i.Ps)(nf()),tX=(0,i.Ps)(nm()),t0=(0,i.Ps)(n$()),t9=(0,i.Ps)(ng()),t1=(0,i.Ps)(np()),t5=(0,i.Ps)(n_()),t3=(0,i.Ps)(ny());(0,i.Ps)(nP()),(0,i.Ps)(nI());let t2=(0,i.Ps)(nv()),t6="\n id\n name\n description\n image\n custom_instructions\n rights_mode\n created_by\n createdAt\n updatedAt\n project_items\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n }\n",t4=(0,i.Ps)(nh(),t6),t8=(0,i.Ps)(nS(),t6),t7=(0,i.Ps)(nA(),t6),en=(0,i.Ps)(nC()),et=(0,i.Ps)(nB(),t6),ee=(0,i.Ps)(nb(),t6),er=(0,i.Ps)(nD()),ei="\n id\n name\n description\n inputs\n expected_output\n expected_tools\n expected_knowledge_sources\n expected_agent_tools\n eval_set_id\n createdAt\n updatedAt\n",eu="\n id\n name\n description\n createdAt\n updatedAt\n",eo="\n id\n name\n eval_set_id\n agent_id\n eval_functions\n config\n scoring_method\n pass_threshold\n test_case_ids\n createdAt\n updatedAt\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n projects {\n id\n rights\n }\n }\n",ea=(0,i.Ps)(nj(),ei);(0,i.Ps)(nq(),ei);let es=(0,i.Ps)(nk(),ei),ed=(0,i.Ps)(nR(),ei),ec=(0,i.Ps)(nw()),el=(0,i.Ps)(nO(),eu),ef=(0,i.Ps)(nU(),"\n id\n name\n description\n config {\n name\n description\n }\n llm\n"),em=(0,i.Ps)(nx(),eu),e$=(0,i.Ps)(nG(),eu),eg=(0,i.Ps)(nN(),eu),ep=(0,i.Ps)(nE()),e_=(0,i.Ps)(nJ(),eo);(0,i.Ps)(nF(),eo);let ey=(0,i.Ps)(nT(),eo),eP=(0,i.Ps)(nQ()),eI=(0,i.Ps)(nW()),ev=(0,i.Ps)(nV()),eh=(0,i.Ps)(nL()),eS=(0,i.Ps)(nM()),eA=(0,i.Ps)(nz()),eC=(0,i.Ps)(nK()),eB=(0,i.Ps)(nZ(),eo);(0,i.Ps)(nH());let eb="\n id\n config_key\n config_value\n description\n createdAt\n updatedAt\n",eD=(0,i.Ps)(nY(),eb);(0,i.Ps)(nX(),eb);let ej=(0,i.Ps)(n0(),eb),eq=(0,i.Ps)(n9(),eb);(0,i.Ps)(n1())}}]);
|
|
2
|
+
//# sourceMappingURL=6373-651cb258c9e2b57b.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static/chunks/6373-651cb258c9e2b57b.js","mappings":"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","sources":["webpack://_N_E/./components/ui/button.tsx","webpack://_N_E/./lib/utils.ts","webpack://_N_E/./queries/queries.ts"],"sourcesContent":["import { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n outline:\n \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-9 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8\",\n icon: \"size-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\";\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n {...props}\n />\n );\n },\n);\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport function formatDuration(seconds: number): string {\n if (!seconds) return '0s';\n \n const hours = Math.floor(seconds / 3600);\n const minutes = Math.floor((seconds % 3600) / 60);\n const remainingSeconds = Math.round(seconds % 60);\n\n if (hours > 0) {\n return `${hours}h ${minutes}m`;\n } else if (minutes > 0) {\n return `${minutes}m ${remainingSeconds}s`;\n } else {\n return `${remainingSeconds}s`;\n }\n}","import { gql } from \"@apollo/client\";\n\nexport const PAGINATION_POSTFIX = \"_itemsPagination\";\nexport const CREATE_ONE_POSTFIX = \"_itemsCreateOne\";\n\nconst CONTEXT_FIELDS = `\n id\n name\n description\n embedder\n slug\n active\n fields\n configuration\n sources {\n id\n name\n description\n config {\n schedule\n queue\n retries\n backoff {\n type\n delay\n }\n }\n }\n`;\n\nconst ITEM_FIELDS = (fields: string[]) => `\nid\nname\ndescription\ntags\nexternal_id\ncreatedAt\nembeddings_updated_at\nupdatedAt\nrights_mode\nRBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n projects {\n id\n rights\n }\n}\n${fields.join(\"\\n\")}\n`;\n\nconst USER_FIELDS = `\nid\nfirstname\nlastname\nemail\nsuper_admin\napikey\nanthropic_token\ntype\nrole\nfavourite_agents\n`;\n\nconst AGENT_FIELDS = `\nid\nname\nproviderapikey\ninstructions\ndescription\nactive\nimage\nanimation_idle\nanimation_responding\ntools\nproviderName\nmodelName\nmaxContextLength\nprovider\nslug\ncategory\nrateLimit {\n name\n rate_limit {\n time\n limit\n }\n}\nstreaming\ncapabilities {\n text\n images\n files\n audio\n video\n}\nbackend\nrights_mode\nRBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n projects {\n id\n rights\n }\n}\ncreatedAt\nupdatedAt\n`;\n\nexport const GET_AGENTS = gql`\n query GetAgents(\n $page: Int!\n $limit: Int!\n $filters: [FilterAgent]\n $sort: SortBy = { field: \"updatedAt\", direction: DESC }\n ) {\n agentsPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ${AGENT_FIELDS}\n }\n }\n }\n`;\n\nexport const GET_AGENT_SESSIONS = gql`\n query GetAgentSessions(\n $page: Int!\n $limit: Int!\n $filters: [FilterAgent_session]\n $sort: SortBy = { field: \"updatedAt\", direction: DESC }\n ) {\n agent_sessionsPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n createdAt\n updatedAt\n user\n title\n agent\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n projects {\n id\n rights\n }\n }\n id\n }\n }\n }\n`;\n\nexport const GET_CONTEXTS = gql`\n query GetContexts {\n contexts {\n items {\n ${CONTEXT_FIELDS}\n }\n }\n }\n`;\n\nexport const GET_CONTEXT_BY_ID = gql`\n query GetContextById($id: ID!) {\n contextById(id: $id) {\n ${CONTEXT_FIELDS}\n }\n }\n`;\n\nexport const GET_ITEMS = (context: string, fields: string[]) => {\n const upperCaseContext = context.charAt(0).toUpperCase() + context.slice(1)\n return gql`\n query ${context}Pagination($page: Int!, $limit: Int!, $filters: [Filter${upperCaseContext}_items], $sort: SortBy = { field: \"updatedAt\", direction: DESC }) {\n ${context}${PAGINATION_POSTFIX}(page: $page, limit: $limit, filters: $filters, sort: $sort) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ${ITEM_FIELDS(fields)}\n }\n }\n }\n `;\n};\n\nexport const PROCESS_ITEM_FIELD = (context: string) => {\n return gql`\n mutation ProcessItemField${context}($item: ID!, $field: ${context}_itemsProcessorFieldEnum!) {\n ${context}_itemsProcessItemField(item: $item, field: $field) {\n message\n result\n job\n }\n }\n `;\n};\n\nexport const GET_ITEM_BY_ID = (context: string, fields: string[], chunks: boolean = false) => {\n return gql`\n query ${context}ById($id: ID!) {\n ${context}_itemsById(id: $id) {\n ${ITEM_FIELDS(fields)}\n ${chunks ? \"chunks { fts_rank hybrid_score content source chunk_index chunk_id chunk_created_at chunk_updated_at embedding_size }\" : \"\"}\n }\n }\n `;\n};\n\nexport const CREATE_ITEM = (context: string) => {\n return gql`\n mutation CreateOne${context}($input: ${context}_itemsInput!) {\n ${context}_itemsCreateOne(input: $input) {\n item {\n id\n }\n job\n }\n }\n `;\n};\n\nexport const DELETE_CHUNKS = (context: string) => {\n const upperCaseContext = context.charAt(0).toUpperCase() + context.slice(1)\n return gql`\n mutation DeleteChunks${context}($where: [Filter${upperCaseContext}_items]) {\n ${context}_itemsDeleteChunks(where: $where) {\n items\n jobs\n }\n }\n `;\n};\n\n\nexport const GENERATE_CHUNKS = (context: string) => {\n const upperCaseContext = context.charAt(0).toUpperCase() + context.slice(1)\n return gql`\n mutation GenerateChunks${context}($where: [Filter${upperCaseContext}_items]) {\n ${context}_itemsGenerateChunks(where: $where) {\n items\n jobs\n }\n }\n `;\n};\n\nexport const EXECUTE_SOURCE = (context: string) => {\n return gql`\n mutation ExecuteSource${context}($source: ID!, $inputs: JSON!) {\n ${context}_itemsExecuteSource(source: $source, inputs: $inputs) {\n message\n jobs\n items\n }\n }\n `;\n};\n\nexport const UPDATE_ITEM = (context: string) => {\n return gql`\n mutation UpdateOneById${context}($id: ID!, $input: ${context}_itemsInput!) {\n ${context}_itemsUpdateOneById(id: $id, input: $input) {\n item {\n id\n }\n job\n }\n }\n `;\n};\n\nexport const DELETE_ITEM = (context: string, fields: string[]) => {\n return gql`\n mutation DeleteOneById${context}($id: ID!) {\n ${context}_itemsRemoveOneById(id: $id) {\n id\n ${fields.join(\"\\n\")}\n }\n }\n `;\n};\n\nexport const UPDATE_AGENT_SESSION_RBAC = gql`\n mutation UpdateAgentSessionRbac(\n $id: ID!\n $RBAC: RBACInput\n $rights_mode: String\n ) {\n agent_sessionsUpdateOneById(id: $id, input: { rights_mode: $rights_mode, RBAC: $RBAC }) {\n item {\n id\n }\n }\n }\n`;\n\nexport const UPDATE_AGENT_SESSION_PROJECT = gql`\n mutation UpdateAgentSessionProject(\n $id: ID!\n $project: String\n ) {\n agent_sessionsUpdateOneById(id: $id, input: {project: $project}) {\n item {\n id\n }\n }\n }\n`;\n\nexport const UPDATE_AGENT_SESSION_TITLE = gql`\n mutation UpdateAgentSessionTitle(\n $id: ID!\n $title: String\n ) {\n agent_sessionsUpdateOneById(id: $id, input: {title: $title}) {\n item {\n id\n title\n }\n }\n }\n`;\n\nexport const GET_AGENT_MESSAGES = gql`\n query GetAgentSessionMessages(\n $page: Int!\n $limit: Int!\n $filters: [FilterAgent_message]\n $sort: SortBy = { field: \"createdAt\", direction: ASC }\n ) {\n agent_messagesPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n id\n session\n content\n createdAt\n }\n }\n }\n`;\n\nexport const GET_JOB_RESULTS = gql`\n query GetJobResults(\n $page: Int!\n $limit: Int!\n $filters: [FilterJob_result]\n $sort: SortBy = {\n field: \"createdAt\",\n direction: DESC\n }\n ) {\n job_resultsPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n items {\n job_id\n state\n error\n label\n result\n metadata\n createdAt\n updatedAt\n id\n }\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n }\n }\n`;\nexport const GET_USER_ROLES = gql`\n query GetUserRoles($page: Int!, $limit: Int!) {\n rolesPagination(page: $page, limit: $limit) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n id\n createdAt\n updatedAt\n agents\n workflows\n api\n variables\n users\n name\n }\n }\n }\n`;\nexport const GET_USERS = gql`\n query GetUsers(\n $page: Int!\n $limit: Int!\n $filters: [FilterUser]\n $sort: SortBy\n ) {\n usersPagination(page: $page, limit: $limit, filters: $filters, sort: $sort) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n id\n name\n firstname\n lastname\n email\n last_used\n createdAt\n type\n apikey\n emailVerified\n anthropic_token\n super_admin\n role\n }\n }\n }\n`;\nexport const GET_USER_ROLE_BY_ID = gql`\n query GetUserRoleById($id: ID!) {\n roleById(id: $id) {\n id\n name\n agents\n workflows\n api\n variables\n users\n createdAt\n updatedAt\n }\n }\n`;\nexport const GET_JOB_RESULT_BY_ID = gql`\n query GetJobResultById($id: ID!) {\n job_resultById(id: $id) {\n id\n job_id\n state\n error\n label\n result\n metadata\n createdAt\n updatedAt\n }\n }\n`;\nexport const GET_AGENT_BY_ID = gql`\n query GetAgentById($id: ID!) {\n agentById(id: $id) {\n ${AGENT_FIELDS}\n }\n }\n`;\nexport const GET_AGENTS_BY_IDS = gql`\n query GetAgentsByIds($ids: [ID!]!) {\n agentByIds(ids: $ids) {\n ${AGENT_FIELDS}\n }\n }\n`;\nexport const GET_AGENT_SESSION_BY_ID = gql`\n query GetAgentSessionById($id: ID!) {\n agent_sessionById(id: $id) {\n createdAt\n updatedAt\n user\n title\n agent\n created_by\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n projects {\n id\n rights\n }\n }\n id\n }\n }\n`;\nexport const GET_AGENT_SESSION = gql`\n query GetAgentSession($filters: [FilterAgent_session]) {\n agent_sessionOne(filters: $filters) {\n createdAt\n updatedAt\n user\n title\n agent\n id\n }\n }\n`;\n\nexport const UPDATE_USER_BY_ID = gql`\n mutation UpdateUser(\n $email: String,\n $firstname: String,\n $anthropic_token: String,\n $super_admin: Boolean,\n $lastname: String,\n $role: String,\n $favourite_agents: JSON,\n $id: ID!\n ) {\n usersUpdateOneById(id: $id, input: {\n email: $email,\n firstname: $firstname,\n anthropic_token: $anthropic_token,\n super_admin: $super_admin,\n lastname: $lastname,\n role: $role,\n favourite_agents: $favourite_agents\n }) {\n item {\n ${USER_FIELDS}\n }\n }\n }\n`;\nexport const CREATE_API_USER = gql`\n mutation CreateUser(\n $firstname: String,\n $type: String,\n $apikey: String,\n $email: String,\n $role: String\n ) {\n usersCreateOne(input: {\n firstname: $firstname,\n type: $type,\n apikey: $apikey,\n email: $email,\n role: $role\n }) {\n item {\n id\n }\n }\n }\n`;\nexport const UPDATE_USER_ROLE_BY_ID = gql`\n mutation UpdateUserRole(\n $id: ID!\n $name: String\n $agents: String\n $workflows: String\n $api: String\n $variables: String\n $users: String\n ) {\n rolesUpdateOneById(\n id: $id\n input: {\n name: $name\n agents: $agents\n workflows: $workflows\n api: $api\n variables: $variables\n users: $users\n }\n ) {\n item {\n id\n createdAt\n agents\n api\n workflows\n variables\n users\n }\n }\n }\n`;\nexport const GET_USER_BY_EMAIL = gql`\n query GetUserByEmail($email: String!) {\n userOne(filters: {email: $email}) {\n ${USER_FIELDS}\n }\n }\n`;\n\nexport const CREATE_AGENT_SESSION = gql`\n mutation createAgentSession(\n $title: String,\n $user: Float\n $agent: String\n $project: String\n $rights_mode: String\n $RBAC: RBACInput\n ) {\n agent_sessionsCreateOne(\n input: { agent: $agent, user: $user, title: $title, project: $project, rights_mode: $rights_mode, RBAC: $RBAC }\n ) {\n item {\n id\n }\n }\n }\n`;\nexport const CREATE_AGENT = gql`\n mutation createAgent(\n $name: String!\n $description: String!\n $rights_mode: String!\n $backend: String!\n $image: String\n $RBAC: RBACInput\n ) {\n agentsCreateOne(\n input: {\n name: $name\n description: $description\n rights_mode: $rights_mode\n backend: $backend\n image: $image\n RBAC: $RBAC\n }\n ) {\n item {\n id\n name\n description\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n projects {\n id\n rights\n }\n }\n createdAt\n }\n }\n }\n`;\n\nexport const GET_TOOLS = gql`\n query GetTools($search: String, $category: String, $limit: Int, $page: Int) {\n tools(search: $search, category: $category, limit: $limit, page: $page) {\n items {\n id\n name\n category\n description\n config\n type\n }\n total\n page\n limit\n }\n }\n`;\n\nexport const GET_TOOL_CATEGORIES = gql`\n query GetToolCategories {\n toolCategories\n }\n`;\n\nexport const UPDATE_AGENT_BY_ID = gql`\n mutation UpdateAgent(\n $id: ID!\n $name: String\n $backend: String\n $description: String\n $instructions: String\n $rights_mode: String\n $animation_idle: String\n $animation_responding: String\n $category: String\n $tools: JSON\n $active: Boolean\n $providerapikey: String\n $RBAC: RBACInput\n ) {\n agentsUpdateOneById(\n input: { \n name: $name\n backend: $backend\n description: $description\n category: $category\n instructions: $instructions\n animation_idle: $animation_idle\n animation_responding: $animation_responding\n rights_mode: $rights_mode\n active: $active\n tools: $tools\n providerapikey: $providerapikey\n RBAC: $RBAC\n }\n id: $id\n ) {\n item {\n id\n name\n description\n instructions\n category\n animation_idle\n animation_responding\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n projects {\n id\n rights\n }\n }\n }\n }\n }\n`;\nexport const CREATE_USER_ROLE = gql`\n mutation CreateUserRole($name: String!, $agents: String, $workflows: String, $variables: String, $users: String, $api: String) {\n rolesCreateOne(input: { name: $name, agents: $agents, workflows: $workflows, variables: $variables, users: $users, api: $api}) {\n item {\n id\n createdAt\n agents\n api\n workflows\n variables\n users\n name\n }\n }\n }\n`;\n\nexport const CREATE_USER = gql`\n mutation CreateUser($email: String!, $password: String, $type: String, $emailVerified: String) {\n usersCreateOne(input: { email: $email, password: $password, type: $type, emailVerified: $emailVerified }) {\n item {\n id\n createdAt\n emailVerified\n type\n name\n }\n }\n }\n`;\n\nexport const RESET_USER_PASSWORD = gql`\n mutation ResetUserPassword($id: ID!, $password: String!) {\n usersUpdateOneById(id: $id, input: { password: $password }) {\n item {\n id\n }\n }\n }\n`;\n\nexport const GET_PROVIDERS = gql`\n query GetProviders {\n providers {\n items {\n id\n name\n description\n provider\n modelName\n providerName\n }\n }\n }\n`;\n\nexport const REMOVE_USER_BY_ID = gql`\n mutation RemoveUserById($id: ID!) {\n usersRemoveOneById(id: $id) {\n id\n }\n }\n`;\nexport const REMOVE_JOB_RESULT_BY_ID = gql`\n mutation RemoveJobResultById($id: ID!) {\n job_resultsRemoveOneById(id: $id) {\n id\n }\n }\n`;\nexport const REMOVE_USER_ROLE_BY_ID = gql`\n mutation RemoveUserRoleById($id: ID!) {\n rolesRemoveOneById(id: $id) {\n id\n }\n }\n`;\nexport const REMOVE_AGENT_BY_ID = gql`\n mutation RemoveAgentById($id: ID!) {\n agentsRemoveOneById(id: $id) {\n id\n }\n }\n`;\nexport const REMOVE_AGENT_SESSION_BY_ID = gql`\n mutation RemoveAgentSessionById($id: ID!) {\n agent_sessionsRemoveOneById(id: $id) {\n id\n }\n }\n`;\n\nexport const GET_JOB_STATISTICS = gql`\n query GetJobStatistics($user: Float, $agent: String, $from: String, $to: String) {\n jobStatistics(user: $user, agent: $agent, from: $from, to: $to) {\n completedCount\n failedCount\n averageDuration\n }\n }\n`;\n\nexport const GET_VARIABLES = gql`\n query GetVariables(\n $page: Int!\n $limit: Int!\n $filters: [FilterVariable]\n $sort: SortBy = { field: \"updatedAt\", direction: DESC }\n ) {\n variablesPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n id\n name\n value\n encrypted\n createdAt\n updatedAt\n }\n }\n }\n`;\n\nexport const GET_VARIABLE_BY_ID = gql`\n query GetVariableById($id: ID!) {\n variableById(id: $id) {\n id\n name\n value\n encrypted\n createdAt\n updatedAt\n }\n }\n`;\n\nexport const CREATE_VARIABLE = gql`\n mutation CreateVariable(\n $name: String!\n $value: String!\n $encrypted: Boolean\n ) {\n variablesCreateOne(\n input: {\n name: $name\n value: $value\n encrypted: $encrypted\n }\n ) {\n item {\n id\n name\n value\n encrypted\n createdAt\n updatedAt\n }\n }\n }\n`;\n\nexport const UPDATE_VARIABLE = gql`\n mutation UpdateVariable(\n $id: ID!\n $name: String\n $value: String\n $encrypted: Boolean\n ) {\n variablesUpdateOneById(\n id: $id\n input: {\n name: $name\n value: $value\n encrypted: $encrypted\n }\n ) {\n id\n name\n value\n encrypted\n createdAt\n updatedAt\n }\n }\n`;\n\nexport const REMOVE_VARIABLE_BY_ID = gql`\n mutation RemoveVariableById($id: ID!) {\n variablesRemoveOneById(id: $id) {\n id\n }\n }\n`;\n\nexport const GET_USER_BY_ID = gql`\n query GetUserById($id: ID!) {\n userById(id: $id) {\n id\n name\n firstname\n lastname\n email\n }\n }\n`;\n\nexport const GET_USERS_BY_IDS = gql`\n query GetUsersByIds($ids: [ID!]!) {\n userByIds(ids: $ids) {\n id\n name\n firstname\n lastname\n email\n }\n }\n`;\n\nexport const GET_WORKFLOW_TEMPLATES = gql`\n query GetWorkflowTemplates(\n $page: Int!\n $limit: Int!\n $filters: [FilterWorkflow_template]\n $sort: SortBy = { field: \"updatedAt\", direction: DESC }\n ) {\n workflow_templatesPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n id\n name\n description\n owner\n rights_mode\n variables\n steps_json\n example_metadata_json\n createdAt\n updatedAt\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n projects {\n id\n rights\n }\n }\n }\n }\n }\n`;\n\nexport const GET_WORKFLOW_TEMPLATE_BY_ID = gql`\n query GetWorkflowTemplateById($id: ID!) {\n workflow_templateById(id: $id) {\n id\n name\n description\n owner\n rights_mode\n variables\n steps_json\n example_metadata_json\n createdAt\n updatedAt\n }\n }\n`;\n\nexport const CREATE_WORKFLOW_TEMPLATE = gql`\n mutation CreateWorkflowTemplate(\n $name: String!\n $description: String\n $owner: Float!\n $rights_mode: String!\n $RBAC: RBACInput\n $variables: JSON\n $steps_json: JSON!\n $example_metadata_json: JSON\n ) {\n workflow_templatesCreateOne(\n input: {\n name: $name\n description: $description\n owner: $owner\n rights_mode: $rights_mode\n RBAC: $RBAC\n variables: $variables\n steps_json: $steps_json\n example_metadata_json: $example_metadata_json\n }\n ) {\n id\n name\n description\n owner\n rights_mode\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n projects {\n id\n rights\n }\n }\n variables\n steps_json\n example_metadata_json\n createdAt\n updatedAt\n }\n }\n`;\n\nexport const UPDATE_WORKFLOW_TEMPLATE = gql`\n mutation UpdateWorkflowTemplate(\n $id: ID!\n $name: String\n $description: String\n $rights_mode: String\n $RBAC: RBACInput\n $variables: JSON\n $steps_json: JSON\n $example_metadata_json: JSON\n ) {\n workflow_templatesUpdateOneById(\n id: $id\n input: {\n name: $name\n description: $description\n rights_mode: $rights_mode\n RBAC: $RBAC\n variables: $variables\n steps_json: $steps_json\n example_metadata_json: $example_metadata_json\n }\n ) {\n id\n name\n description\n owner\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n projects {\n id\n rights\n }\n }\n variables\n steps_json\n example_metadata_json\n createdAt\n updatedAt\n }\n }\n`;\n\nexport const REMOVE_WORKFLOW_TEMPLATE_BY_ID = gql`\n mutation RemoveWorkflowTemplateById($id: ID!) {\n workflow_templatesRemoveOneById(id: $id) {\n id\n }\n }\n`;\n\nexport const GET_JOB_STATISTICS_ENHANCED = gql`\n query GetJobStatisticsEnhanced($user: Float, $agent: String, $from: String, $to: String) {\n jobStatistics(user: $user, agent: $agent, from: $from, to: $to) {\n runningCount\n erroredCount\n completedCount\n failedCount\n averageDuration\n }\n }\n`;\n\n// Analytics Dashboard Queries\n\n// Summary Cards Queries (24h vs 7-day average)\nexport const GET_AGENT_SESSIONS_STATISTICS = gql`\n query AgentSessionsStatistics($from: Date!, $to: Date!) {\n agent_sessionsStatistics(filters: {\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }) {\n group\n count\n }\n }\n`;\n\nexport const GET_WORKFLOW_RUNS_STATISTICS = gql`\n query WorkflowRunsStatistics($from: Date!, $to: Date!) {\n jobsStatistics(filters: {\n type: { eq: \"workflow\" }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }) {\n group\n count\n }\n }\n`;\n\nexport const GET_EMBEDDING_JOBS_STATISTICS = gql`\n query EmbeddingJobsStatistics($from: Date!, $to: Date!) {\n jobsStatistics(filters: {\n type: { eq: \"embedder\" }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }) {\n group\n count\n }\n }\n`;\n\nexport const GET_FUNCTION_CALLS_STATISTICS = gql`\n query FunctionCallsStatistics($from: Date!, $to: Date!) {\n trackingStatistics(filters: {\n type: { eq: TOOL_CALL }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }) {\n group\n count\n }\n }\n`;\n\nexport const GET_AGENT_RUN_STATISTICS = gql` \n query AgentCallsStatistics($from: Date!, $to: Date!) {\n trackingStatistics(filters: {\n type: { eq: AGENT_RUN }\n name: { eq: \"count\" }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }) {\n group\n count\n }\n }\n`;\n\nexport const GET_TOKEN_USAGE_STATISTICS = gql` \n query AgentCallsStatistics($from: Date!, $to: Date!) {\n trackingStatistics(filters: {\n name: { in: [\"inputTokens\", \"outputTokens\"] }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }) {\n group\n count\n }\n }\n`;\n\n\n// Time Series Chart Query\nexport const GET_TIME_SERIES_STATISTICS = gql`\n query TimeSeriesStatistics($type: typeEnum!, $from: Date!, $to: Date!, $names: [String!]) {\n trackingStatistics(\n groupBy: \"createdAt\"\n filters: {\n type: { eq: $type }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n name: { in: $names }\n }\n ) {\n group\n count\n }\n }\n`;\n\nexport const GET_USER_STATISTICS = gql`\nquery UserStatistics($from: Date!, $to: Date!, $names: [String!]) {\n trackingStatistics(\n groupBy: \"user\"\n filters: {\n type: { eq: AGENT_RUN }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n name: { in: $names }\n }\n ) {\n group\n count\n }\n}\n`;\n\nexport const GET_PROJECT_STATISTICS = gql`\nquery ProjectStatistics($from: Date!, $to: Date!, $names: [String!]) {\n trackingStatistics(\n groupBy: \"project\"\n filters: {\n type: { eq: AGENT_RUN }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n name: { in: $names }\n }\n ) {\n group\n count\n }\n}\n`;\n\nexport const GET_AGENT_STATISTICS = gql`\nquery AgentStatistics($from: Date!, $to: Date!, $names: [String!]) {\n trackingStatistics(\n groupBy: \"label\"\n filters: {\n type: { eq: AGENT_RUN }\n name: { in: $names }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }\n ) {\n group\n count\n }\n}\n`;\n\nexport const GET_USER_NAME_BY_ID = gql`\n query GetUserNameById($id: ID!) {\n userById(id: $id) {\n name\n }\n }\n`;\n\nexport const GET_PROJECT_NAME_BY_ID = gql`\n query GetProjectNameById($id: ID!) {\n projectById(id: $id) {\n name\n }\n }\n`;\n\n// Donut Chart Query \nexport const GET_DONUT_STATISTICS = gql`\n query DonutStatistics($type: typeEnum!, $groupBy: String!, $from: Date!, $to: Date!, $names: [String!]) {\n trackingStatistics(\n groupBy: $groupBy\n filters: {\n type: { eq: $type }\n name: { in: $names }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }\n ) {\n group\n count\n }\n }\n`;\n\nconst PROJECT_FIELDS = `\n id\n name\n description\n image\n custom_instructions\n rights_mode\n created_by\n createdAt\n updatedAt\n project_items\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n }\n`;\n\nexport const GET_PROJECTS = gql`\n query GetProjects(\n $page: Int!\n $limit: Int!\n $filters: [FilterProject]\n $sort: SortBy = { field: \"updatedAt\", direction: DESC }\n ) {\n projectsPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ${PROJECT_FIELDS}\n }\n }\n }\n`;\n\nexport const GET_PROJECTS_BY_IDS = gql`\n query GetProjectsByIds($ids: [ID!]!) {\n projectByIds(ids: $ids) {\n ${PROJECT_FIELDS}\n }\n }\n`;\n\nexport const GET_PROJECT_BY_ID = gql`\n query GetProjectById($id: ID!) {\n projectById(id: $id) {\n ${PROJECT_FIELDS}\n }\n }\n`;\n\nexport const UPDATE_USER_FAVOURITE_PROJECTS = gql`\n mutation UpdateUserFavouriteProjects($id: ID!, $favourite_projects: JSON) {\n userUpdateById(input: { favourite_projects: $favourite_projects }, filter: { id: $id }) {\n item {\n id\n favourite_projects\n }\n }\n }\n`;\n\nexport const CREATE_PROJECT = gql`\n mutation CreateProject($input: projectInput!) {\n projectsCreateOne(input: $input) {\n item {\n ${PROJECT_FIELDS}\n }\n }\n }\n`;\n\nexport const UPDATE_PROJECT = gql`\n mutation UpdateProject($id: ID!, $input: projectInput!) {\n projectsUpdateOneById(id: $id, input: $input) {\n item {\n ${PROJECT_FIELDS}\n }\n }\n }\n`;\n\nexport const DELETE_PROJECT = gql`\n mutation DeleteProject($id: ID!) {\n projectsRemoveOneById(id: $id) {\n id\n name\n }\n }\n`;\n\n// ============================================\n// EVAL-RELATED QUERIES\n// ============================================\n\nconst TEST_CASE_FIELDS = `\n id\n name\n description\n inputs\n expected_output\n expected_tools\n expected_knowledge_sources\n expected_agent_tools\n eval_set_id\n createdAt\n updatedAt\n`;\n\nconst EVAL_SET_FIELDS = `\n id\n name\n description\n createdAt\n updatedAt\n`;\n\nconst EVAL_RUN_FIELDS = `\n id\n name\n eval_set_id\n agent_id\n eval_functions\n config\n scoring_method\n pass_threshold\n test_case_ids\n createdAt\n updatedAt\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n projects {\n id\n rights\n }\n }\n`;\n\n// Test Cases\nexport const GET_TEST_CASES = gql`\n query GetTestCases(\n $page: Int!\n $limit: Int!\n $filters: [FilterTest_case]\n ) {\n test_casesPagination(page: $page, limit: $limit, filters: $filters) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ${TEST_CASE_FIELDS}\n }\n }\n }\n`;\n\nexport const GET_TEST_CASE_BY_ID = gql`\n query GetTestCaseById($id: ID!) {\n test_caseById(id: $id) {\n ${TEST_CASE_FIELDS}\n }\n }\n`;\n\nexport const CREATE_TEST_CASE = gql`\n mutation CreateTestCase($data: test_caseInput!) {\n test_casesCreateOne(input: $data) {\n item {\n ${TEST_CASE_FIELDS}\n }\n }\n }\n`;\n\nexport const UPDATE_TEST_CASE = gql`\n mutation UpdateTestCase($id: ID!, $data: test_caseInput!) {\n test_casesUpdateOneById(id: $id, input: $data) {\n item {\n ${TEST_CASE_FIELDS}\n }\n }\n }\n`;\n\nexport const DELETE_TEST_CASE = gql`\n mutation DeleteTestCase($id: ID!) {\n test_casesRemoveOneById(id: $id) {\n id\n name\n }\n }\n`;\n\n// Eval Sets\nexport const GET_EVAL_SETS = gql`\n query GetEvalSets(\n $page: Int!\n $limit: Int!\n $filters: [FilterEval_set]\n ) {\n eval_setsPagination(page: $page, limit: $limit, filters: $filters) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ${EVAL_SET_FIELDS}\n }\n }\n }\n`;\n\nconst EVAL_FIELDS = `\n id\n name\n description\n config {\n name\n description\n }\n llm\n`;\n\nexport const GET_EVAL_FUNCTIONS = gql`\n query GetEvals {\n evals {\n items {\n ${EVAL_FIELDS}\n }\n }\n }\n`;\n\nexport const GET_EVAL_SET_BY_ID = gql`\n query GetEvalSetById($id: ID!) {\n eval_setById(id: $id) {\n ${EVAL_SET_FIELDS}\n }\n }\n`;\n\nexport const CREATE_EVAL_SET = gql`\n mutation CreateEvalSet($data: eval_setInput!) {\n eval_setsCreateOne(input: $data) {\n item {\n ${EVAL_SET_FIELDS}\n }\n }\n }\n`;\n\nexport const UPDATE_EVAL_SET = gql`\n mutation UpdateEvalSet($id: ID!, $data: eval_setInput!) {\n eval_setsUpdateOneById(id: $id, input: $data) {\n item {\n ${EVAL_SET_FIELDS}\n }\n }\n }\n`;\n\nexport const DELETE_EVAL_SET = gql`\n mutation DeleteEvalSet($id: ID!) {\n eval_setsRemoveOneById(id: $id) {\n id\n name\n }\n }\n`;\n\n// Eval Runs\nexport const GET_EVAL_RUNS = gql`\n query GetEvalRuns(\n $page: Int!\n $limit: Int!\n $filters: [FilterEval_run]\n ) {\n eval_runsPagination(page: $page, limit: $limit, filters: $filters) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ${EVAL_RUN_FIELDS}\n }\n }\n }\n`;\n\nexport const GET_EVAL_RUN_BY_ID = gql`\n query GetEvalRunById($id: ID!) {\n eval_runById(id: $id) {\n ${EVAL_RUN_FIELDS}\n }\n }\n`;\n\nexport const CREATE_EVAL_RUN = gql`\n mutation CreateEvalRun($data: eval_runInput!) {\n eval_runsCreateOne(input: $data) {\n item {\n ${EVAL_RUN_FIELDS}\n }\n }\n }\n`;\n\nexport const GET_QUEUE = gql`\n query GetQueue($queue: QueueEnum!) {\n queue(queue: $queue) {\n name\n concurrency\n ratelimit\n isMaxed\n isPaused\n jobs {\n paused\n completed\n failed\n waiting\n active\n delayed\n }\n }\n }\n`;\n\nexport const GET_JOBS = gql`\n query GetJobs($queue: QueueEnum!, $statusses: [JobStateEnum!], $page: Int, $limit: Int) {\n jobs(queue: $queue, statusses: $statusses, page: $page, limit: $limit) {\n items {\n name\n id\n returnvalue\n stacktrace\n failedReason\n state\n data\n timestamp\n }\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n }\n }\n`;\n\nexport const DELETE_JOB = gql`\n mutation DeleteJob($queue: QueueEnum!, $id: String!) {\n deleteJob(queue: $queue, id: $id) {\n success\n }\n }\n`;\n\nexport const PAUSE_QUEUE = gql`\n mutation PauseQueue($queue: QueueEnum!) {\n pauseQueue(queue: $queue) {\n success\n }\n }\n`;\n\nexport const RESUME_QUEUE = gql`\n mutation ResumeQueue($queue: QueueEnum!) {\n resumeQueue(queue: $queue) {\n success\n }\n }\n`;\n\nexport const DRAIN_QUEUE = gql`\n mutation DrainQueue($queue: QueueEnum!) {\n drainQueue(queue: $queue) {\n success\n }\n }\n`;\n\nexport const RUN_EVAL = gql`\n mutation RunEval($id: ID!) {\n runEval(id: $id) {\n jobs\n count\n }\n }\n`;\n\nexport const UPDATE_EVAL_RUN = gql`\n mutation UpdateEvalRun($id: ID!, $data: eval_runInput!) {\n eval_runsUpdateOneById(id: $id, input: $data) {\n item {\n ${EVAL_RUN_FIELDS}\n }\n }\n }\n`;\n\nexport const DELETE_EVAL_RUN = gql`\n mutation DeleteEvalRun($id: ID!) {\n eval_runsRemoveOneById(id: $id) {\n id\n }\n }\n`;\n\nconst PLATFORM_CONFIGURATION_FIELDS = `\n id\n config_key\n config_value\n description\n createdAt\n updatedAt\n`;\n\nexport const GET_PLATFORM_CONFIGURATIONS = gql`\n query GetPlatformConfigurations {\n platform_configurationsPagination {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ${PLATFORM_CONFIGURATION_FIELDS}\n }\n }\n }\n`;\n\nexport const GET_PLATFORM_CONFIGURATION_BY_KEY = gql`\n query GetPlatformConfigurationByKey($config_key: FilterOperatorString!) {\n platform_configurationsPagination(page: 1, limit: 1, filters: { config_key: $config_key }) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ${PLATFORM_CONFIGURATION_FIELDS}\n }\n }\n }\n`;\n\nexport const CREATE_PLATFORM_CONFIGURATION = gql`\n mutation CreatePlatformConfiguration($data: platform_configurationInput!) {\n platform_configurationsCreateOne(input: $data) {\n item {\n ${PLATFORM_CONFIGURATION_FIELDS}\n }\n }\n }\n`;\n\nexport const UPDATE_PLATFORM_CONFIGURATION = gql`\n mutation UpdatePlatformConfiguration($id: ID!, $data: platform_configurationInput!) {\n platform_configurationsUpdateOneById(id: $id, input: $data) {\n item {\n ${PLATFORM_CONFIGURATION_FIELDS}\n }\n }\n }\n`;\n\nexport const DELETE_PLATFORM_CONFIGURATION = gql`\n mutation DeletePlatformConfiguration($id: ID!) {\n platform_configurationsRemoveOneById(id: $id) {\n id\n }\n }\n`;"],"names":["buttonVariants","cva","variants","variant","default","destructive","outline","secondary","ghost","link","size","sm","lg","icon","defaultVariants","Button","React","param","ref","className","asChild","props","Comp","Slot","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","cn","displayName","_len","arguments","length","inputs","_key","twMerge","clsx","PAGINATION_POSTFIX","CREATE_ONE_POSTFIX","CONTEXT_FIELDS","ITEM_FIELDS","concat","fields","join","USER_FIELDS","AGENT_FIELDS","GET_AGENTS","gql","GET_AGENT_SESSIONS","GET_CONTEXTS","GET_CONTEXT_BY_ID","GET_ITEMS","context","upperCaseContext","charAt","toUpperCase","slice","PROCESS_ITEM_FIELD","GET_ITEM_BY_ID","chunks","CREATE_ITEM","DELETE_CHUNKS","GENERATE_CHUNKS","EXECUTE_SOURCE","UPDATE_ITEM","DELETE_ITEM","UPDATE_AGENT_SESSION_RBAC","UPDATE_AGENT_SESSION_PROJECT","UPDATE_AGENT_SESSION_TITLE","GET_AGENT_MESSAGES","GET_JOB_RESULTS","GET_USER_ROLES","GET_USERS","GET_AGENT_BY_ID","GET_AGENTS_BY_IDS","GET_AGENT_SESSION_BY_ID","UPDATE_USER_BY_ID","CREATE_API_USER","UPDATE_USER_ROLE_BY_ID","CREATE_AGENT_SESSION","CREATE_AGENT","GET_TOOLS","GET_TOOL_CATEGORIES","UPDATE_AGENT_BY_ID","CREATE_USER_ROLE","CREATE_USER","RESET_USER_PASSWORD","GET_PROVIDERS","REMOVE_USER_BY_ID","REMOVE_USER_ROLE_BY_ID","REMOVE_AGENT_BY_ID","REMOVE_AGENT_SESSION_BY_ID","GET_VARIABLES","GET_VARIABLE_BY_ID","CREATE_VARIABLE","UPDATE_VARIABLE","REMOVE_VARIABLE_BY_ID","GET_USER_BY_ID","GET_USERS_BY_IDS","GET_WORKFLOW_TEMPLATES","CREATE_WORKFLOW_TEMPLATE","UPDATE_WORKFLOW_TEMPLATE","REMOVE_WORKFLOW_TEMPLATE_BY_ID","GET_JOB_STATISTICS_ENHANCED","GET_AGENT_SESSIONS_STATISTICS","GET_WORKFLOW_RUNS_STATISTICS","GET_FUNCTION_CALLS_STATISTICS","GET_AGENT_RUN_STATISTICS","GET_TOKEN_USAGE_STATISTICS","GET_TIME_SERIES_STATISTICS","GET_USER_STATISTICS","GET_PROJECT_STATISTICS","GET_AGENT_STATISTICS","GET_DONUT_STATISTICS","PROJECT_FIELDS","GET_PROJECTS","GET_PROJECTS_BY_IDS","GET_PROJECT_BY_ID","UPDATE_USER_FAVOURITE_PROJECTS","CREATE_PROJECT","UPDATE_PROJECT","DELETE_PROJECT","TEST_CASE_FIELDS","EVAL_SET_FIELDS","EVAL_RUN_FIELDS","GET_TEST_CASES","CREATE_TEST_CASE","UPDATE_TEST_CASE","DELETE_TEST_CASE","GET_EVAL_SETS","GET_EVAL_FUNCTIONS","GET_EVAL_SET_BY_ID","CREATE_EVAL_SET","UPDATE_EVAL_SET","DELETE_EVAL_SET","GET_EVAL_RUNS","CREATE_EVAL_RUN","GET_QUEUE","GET_JOBS","DELETE_JOB","PAUSE_QUEUE","RESUME_QUEUE","DRAIN_QUEUE","RUN_EVAL","UPDATE_EVAL_RUN","PLATFORM_CONFIGURATION_FIELDS","GET_PLATFORM_CONFIGURATIONS","CREATE_PLATFORM_CONFIGURATION","UPDATE_PLATFORM_CONFIGURATION"],"sourceRoot":""}
|