@synapse-research/synapse 0.2.0 → 0.2.2
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/bin/synapse.mjs +27 -0
- package/dist/.next/BUILD_ID +1 -1
- package/dist/.next/app-build-manifest.json +228 -221
- package/dist/.next/app-path-routes-manifest.json +36 -35
- package/dist/.next/build-manifest.json +2 -2
- package/dist/.next/routes-manifest.json +8 -0
- package/dist/.next/server/app/(dashboard)/agents/page.js +2 -2
- package/dist/.next/server/app/(dashboard)/agents/page.js.nft.json +1 -1
- package/dist/.next/server/app/(dashboard)/agents/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/compute/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/documents/[documentUuid]/page.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/documents/page.js +2 -2
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/documents/page.js.nft.json +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiment-designs/[designUuid]/page.js +2 -2
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiment-designs/[designUuid]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiment-designs/[designUuid]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiment-designs/new/page.js +2 -2
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiment-designs/new/page.js.nft.json +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiment-designs/new/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiment-designs/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiment-runs/[runUuid]/page.js +2 -2
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiment-runs/[runUuid]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiment-runs/[runUuid]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiment-runs/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiments/new/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiments/page.js +2 -8
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiments/page.js.nft.json +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiments/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/insights/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/related-works/page.js +2 -2
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/related-works/page.js.nft.json +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/related-works/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/research-questions/[questionUuid]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/research-questions/page.js +2 -8
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/research-questions/page.js.nft.json +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/research-questions/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/settings/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/new/page.js +2 -2
- package/dist/.next/server/app/(dashboard)/research-projects/new/page.js.nft.json +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/new/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/settings/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/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/admin/companies/new.html +1 -1
- package/dist/.next/server/app/admin/companies/new.rsc +1 -1
- package/dist/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/admin/companies.html +1 -1
- package/dist/.next/server/app/admin/companies.rsc +1 -1
- package/dist/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/admin.html +1 -1
- package/dist/.next/server/app/admin.rsc +1 -1
- package/dist/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/admin/stats/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/compute-nodes/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/compute-nodes/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/compute-pools/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/compute-pools/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/documents/[uuid]/route.js +1 -1
- package/dist/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiment-designs/[uuid]/approve/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiment-designs/[uuid]/close/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiment-designs/[uuid]/reject/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiment-designs/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiment-runs/[uuid]/claim/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiment-runs/[uuid]/dependencies/[dependsOnRunUuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiment-runs/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiment-runs/[uuid]/evaluate-criteria/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiment-runs/[uuid]/registry/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiment-runs/[uuid]/release/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiment-runs/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiment-runs/[uuid]/sessions/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiments/[uuid]/complete/route.js +1 -1
- package/dist/.next/server/app/api/experiments/[uuid]/complete/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiments/[uuid]/progress/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiments/[uuid]/request-plan/route.js +1 -1
- package/dist/.next/server/app/api/experiments/[uuid]/request-plan/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiments/[uuid]/reset/route.js +1 -1
- package/dist/.next/server/app/api/experiments/[uuid]/reset/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiments/[uuid]/review/route.js +1 -1
- package/dist/.next/server/app/api/experiments/[uuid]/review/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiments/[uuid]/route.js +1 -1
- package/dist/.next/server/app/api/experiments/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/experiments/[uuid]/start/route.js +1 -1
- package/dist/.next/server/app/api/experiments/[uuid]/start/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/me/assignments/route.js +1 -1
- package/dist/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/onboarding/status/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/agent-activity/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/available/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/baselines/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/experiment-designs/[designUuid]/validate/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/experiment-designs/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/experiment-designs/summary/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/experiment-runs/dependencies/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/experiment-runs/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/experiments/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/github/branches/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/group/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/related-works/[workUuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/related-works/auto-search/complete/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/related-works/auto-search/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/related-works/deep-research/complete/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/related-works/deep-research/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/related-works/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/research-questions/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-questions/[uuid]/claim/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-questions/[uuid]/move/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-questions/[uuid]/release/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-questions/[uuid]/review/route.js +1 -0
- package/dist/.next/server/app/api/research-questions/[uuid]/review/route.js.nft.json +1 -0
- package/dist/.next/server/app/api/research-questions/[uuid]/review/route_client-reference-manifest.js +1 -0
- package/dist/.next/server/app/api/research-questions/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/settings/integrations/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/ssh-config/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/index.html +1 -1
- package/dist/.next/server/app/index.rsc +1 -1
- package/dist/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/login/admin.html +1 -1
- package/dist/.next/server/app/login/admin.rsc +1 -1
- package/dist/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/login/callback.html +1 -1
- package/dist/.next/server/app/login/callback.rsc +1 -1
- package/dist/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/login/silent-refresh/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/login/silent-refresh.html +1 -1
- package/dist/.next/server/app/login/silent-refresh.rsc +1 -1
- package/dist/.next/server/app/login.html +1 -1
- package/dist/.next/server/app/login.rsc +1 -1
- package/dist/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/research-projects/new.html +1 -1
- package/dist/.next/server/app/research-projects/new.rsc +1 -1
- package/dist/.next/server/app/research-projects.html +1 -1
- package/dist/.next/server/app/research-projects.rsc +1 -1
- package/dist/.next/server/app/settings.html +1 -1
- package/dist/.next/server/app/settings.rsc +1 -1
- package/dist/.next/server/app-paths-manifest.json +36 -35
- package/dist/.next/server/chunks/4742.js +1 -1
- package/dist/.next/server/chunks/691.js +1 -0
- package/dist/.next/server/chunks/7018.js +1 -0
- package/dist/.next/server/chunks/759.js +1 -1
- package/dist/.next/server/chunks/8283.js +1 -1
- package/dist/.next/server/chunks/8858.js +7 -0
- package/dist/.next/server/chunks/9993.js +1 -0
- package/dist/.next/server/middleware-manifest.json +1 -1
- package/dist/.next/server/pages/404.html +1 -1
- package/dist/.next/server/pages/500.html +1 -1
- package/dist/.next/server/server-reference-manifest.js +1 -1
- package/dist/.next/server/server-reference-manifest.json +1 -1
- package/dist/.next/static/chunks/{1148-353990d9346d10d6.js → 7940-a2c0482f78fd6c5f.js} +2 -2
- package/dist/.next/static/chunks/8769-5d4452c6a3f6c876.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/agents/loading-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/compute/loading-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/loading-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/activity/page-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/dashboard/loading-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/documents/loading-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/experiment-designs/[designUuid]/page-d6b2ed0ef745b114.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/experiment-designs/page-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/experiment-runs/[runUuid]/{page-f8e511d8f04a686a.js → page-17cd83ad0d3ff96c.js} +1 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/experiment-runs/page-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/experiments/loading-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/experiments/page-926fd1080d8bd114.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/insights/loading-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/loading-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/related-works/loading-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/research-questions/[questionUuid]/page-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/research-questions/loading-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/research-questions/page-95f56a6f1698bfeb.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/settings/loading-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/admin/companies/[uuid]/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/admin/companies/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/admin/login/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/admin/session/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/admin/stats/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/agents/[uuid]/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/agents/[uuid]/sessions/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/agents/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/api-keys/[uuid]/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/api-keys/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/auth/callback/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/auth/check-default/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/auth/default-login/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/auth/identify/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/auth/logout/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/auth/me/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/auth/refresh/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/auth/session/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/auth/sync-token/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/comments/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/compute-nodes/[uuid]/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/compute-nodes/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/compute-pools/[uuid]/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/compute-pools/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/documents/[uuid]/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/events/notifications/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/events/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/experiment-designs/[uuid]/approve/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/experiment-designs/[uuid]/close/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/experiment-designs/[uuid]/reject/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/experiment-designs/[uuid]/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/claim/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/dependencies/[dependsOnRunUuid]/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/dependencies/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/evaluate-criteria/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/registry/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/release/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/sessions/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/complete/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/progress/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/request-plan/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/reset/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/review/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/start/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/health/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/mcp/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/me/assignments/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/mentionables/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/notifications/[uuid]/archive/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/notifications/[uuid]/read/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/notifications/preferences/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/notifications/read-all/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/notifications/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/notifications/unread-count/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/onboarding/status/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/project-groups/[uuid]/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/project-groups/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/activity/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/agent-activity/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/available/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/baselines/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/documents/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/experiment-designs/[designUuid]/validate/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/experiment-designs/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/experiment-designs/summary/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/experiment-runs/dependencies/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/experiment-runs/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/experiments/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/github/branches/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/group/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/related-works/[workUuid]/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/related-works/auto-search/complete/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/related-works/auto-search/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/related-works/deep-research/complete/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/related-works/deep-research/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/related-works/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/research-questions/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-questions/[uuid]/claim/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-questions/[uuid]/move/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-questions/[uuid]/release/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-questions/[uuid]/review/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/research-questions/[uuid]/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/sessions/[uuid]/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/settings/integrations/route-3378f6ebe832c47f.js +1 -0
- package/dist/.next/static/chunks/app/api/ssh-config/route-3378f6ebe832c47f.js +1 -0
- package/dist/node_modules/buffer-from/index.js +72 -0
- package/dist/node_modules/buffer-from/package.json +19 -0
- package/dist/node_modules/source-map/lib/array-set.js +121 -0
- package/dist/node_modules/source-map/lib/base64-vlq.js +140 -0
- package/dist/node_modules/source-map/lib/base64.js +67 -0
- package/dist/node_modules/source-map/lib/binary-search.js +111 -0
- package/dist/node_modules/source-map/lib/mapping-list.js +79 -0
- package/dist/node_modules/source-map/lib/quick-sort.js +114 -0
- package/dist/node_modules/source-map/lib/source-map-consumer.js +1145 -0
- package/dist/node_modules/source-map/lib/source-map-generator.js +425 -0
- package/dist/node_modules/source-map/lib/source-node.js +413 -0
- package/dist/node_modules/source-map/lib/util.js +488 -0
- package/dist/node_modules/source-map/package.json +73 -0
- package/dist/node_modules/source-map/source-map.js +8 -0
- package/dist/node_modules/source-map-support/package.json +31 -0
- package/dist/node_modules/source-map-support/source-map-support.js +625 -0
- package/package.json +1 -1
- package/dist/.env +0 -31
- package/dist/.next/server/chunks/1397.js +0 -1
- package/dist/.next/server/chunks/5958.js +0 -1
- package/dist/.next/server/chunks/7678.js +0 -1
- package/dist/.next/server/chunks/8042.js +0 -1
- package/dist/.next/static/chunks/8825-4088b6b44db8f360.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/agents/loading-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/compute/loading-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/loading-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/activity/page-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/dashboard/loading-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/documents/loading-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/experiment-designs/[designUuid]/page-68c412f9174907e4.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/experiment-designs/page-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/experiment-runs/page-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/experiments/loading-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/experiments/page-1e98ec51265e6bd6.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/insights/loading-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/loading-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/related-works/loading-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/research-questions/[questionUuid]/page-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/research-questions/loading-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/research-questions/page-47e84eca6b6a7aaa.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/settings/loading-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/admin/companies/[uuid]/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/admin/companies/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/admin/login/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/admin/session/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/admin/stats/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/agents/[uuid]/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/agents/[uuid]/sessions/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/agents/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/api-keys/[uuid]/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/api-keys/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/auth/callback/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/auth/check-default/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/auth/default-login/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/auth/identify/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/auth/logout/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/auth/me/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/auth/refresh/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/auth/session/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/auth/sync-token/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/comments/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/compute-nodes/[uuid]/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/compute-nodes/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/compute-pools/[uuid]/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/compute-pools/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/documents/[uuid]/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/events/notifications/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/events/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/experiment-designs/[uuid]/approve/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/experiment-designs/[uuid]/close/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/experiment-designs/[uuid]/reject/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/experiment-designs/[uuid]/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/claim/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/dependencies/[dependsOnRunUuid]/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/dependencies/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/evaluate-criteria/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/registry/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/release/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/sessions/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/complete/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/progress/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/request-plan/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/reset/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/review/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/start/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/health/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/mcp/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/me/assignments/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/mentionables/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/notifications/[uuid]/archive/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/notifications/[uuid]/read/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/notifications/preferences/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/notifications/read-all/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/notifications/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/notifications/unread-count/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/onboarding/status/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/project-groups/[uuid]/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/project-groups/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/activity/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/agent-activity/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/available/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/baselines/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/documents/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/experiment-designs/[designUuid]/validate/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/experiment-designs/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/experiment-designs/summary/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/experiment-runs/dependencies/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/experiment-runs/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/experiments/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/github/branches/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/group/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/related-works/[workUuid]/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/related-works/auto-search/complete/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/related-works/auto-search/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/related-works/deep-research/complete/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/related-works/deep-research/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/related-works/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/research-questions/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-questions/[uuid]/claim/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-questions/[uuid]/move/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-questions/[uuid]/release/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/research-questions/[uuid]/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/sessions/[uuid]/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/settings/integrations/route-ba707ca9adc234af.js +0 -1
- package/dist/.next/static/chunks/app/api/ssh-config/route-ba707ca9adc234af.js +0 -1
- /package/dist/.next/static/{ERYuqKh2yJ2lApkenIQge → A0gSMjwZFdpcu3AYOGpNG}/_buildManifest.js +0 -0
- /package/dist/.next/static/{ERYuqKh2yJ2lApkenIQge → A0gSMjwZFdpcu3AYOGpNG}/_ssgManifest.js +0 -0
|
@@ -10,5 +10,5 @@ exports.id=759,exports.ids=[136,759,2653,4742,7943],exports.modules={911:(a,b,c)
|
|
|
10
10
|
color: #2563eb;
|
|
11
11
|
font-weight: 500;
|
|
12
12
|
}
|
|
13
|
-
`})]})});n.displayName="MentionEditor"},28774:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{A8:()=>q,Ad:()=>p,CG:()=>n,Iq:()=>m,Sn:()=>i,d5:()=>l,mA:()=>o,tN:()=>k,wg:()=>h,x4:()=>j});var e=c(71255),f=c(77219);c(19874);var g=a([e,f]);async function h(a,b,c){return e.z.agent.findFirst({where:{uuid:b,companyUuid:a,...c?{ownerUuid:c}:{}},select:{uuid:!0,name:!0,roles:!0,type:!0,color:!0,ownerUuid:!0}})}async function i({companyUuid:a,name:b,roles:c,type:d,ownerUuid:f,persona:g,systemPrompt:h,color:i}){return e.z.agent.create({data:{companyUuid:a,name:b,roles:c,type:d||"openclaw",ownerUuid:f,persona:g,systemPrompt:h,color:i??null},select:{uuid:!0,name:!0,roles:!0,type:!0,persona:!0,systemPrompt:!0,color:!0,ownerUuid:!0,createdAt:!0}})}async function j(a,b,c){if(c&&!await e.z.agent.findFirst({where:{uuid:a,companyUuid:c},select:{uuid:!0}}))throw Error("Agent not found");return e.z.agent.update({where:{uuid:a},data:b,select:{uuid:!0,name:!0,roles:!0,type:!0,persona:!0,systemPrompt:!0,color:!0,ownerUuid:!0,lastActiveAt:!0,createdAt:!0}})}async function k(a,b){return e.z.apiKey.updateMany({where:{agentUuid:a,revokedAt:null},data:{name:b}})}async function l(a,b,c,d){let f={companyUuid:a,revokedAt:null,...d&&{agent:{ownerUuid:d}}},[g,h]=await Promise.all([e.z.apiKey.findMany({where:f,skip:b,take:c,orderBy:{createdAt:"desc"},include:{agent:{select:{uuid:!0,name:!0,roles:!0,persona:!0}}}}),e.z.apiKey.count({where:f})]);return{apiKeys:g,total:h}}async function m({companyUuid:a,agentUuid:b,name:c,expiresAt:d}){let{key:g,hash:h,prefix:i}=(0,f.XH)();return{...await e.z.apiKey.create({data:{companyUuid:a,agentUuid:b,keyHash:h,keyPrefix:i,name:c,expiresAt:d},select:{uuid:!0,keyPrefix:!0,name:!0,expiresAt:!0,createdAt:!0}}),key:g}}async function n(a,b,c){return e.z.apiKey.findFirst({where:{uuid:b,companyUuid:a,...c&&{agent:{ownerUuid:c}}},select:{uuid:!0,agentUuid:!0,revokedAt:!0}})}async function o(a){return e.z.apiKey.update({where:{uuid:a},data:{revokedAt:new Date}})}async function p(a,b,c){return e.z.agent.findMany({where:{companyUuid:a,...c&&{ownerUuid:c},OR:[{roles:{has:b}},{roles:{has:`${b}_agent`}}]},select:{uuid:!0,name:!0,roles:!0,ownerUuid:!0},orderBy:{name:"asc"}})}async function q(a){return e.z.user.findMany({where:{companyUuid:a},select:{uuid:!0,name:!0,email:!0},orderBy:{name:"asc"}})}[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})},30457:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Ht:()=>j,Vu:()=>l,Xo:()=>k,aQ:()=>n,iK:()=>o,kk:()=>m});var e=c(71255),f=c(62729),g=c(23180),h=a([e,g]);function i(a){return{uuid:a.uuid,agentUuid:a.agentUuid,name:a.name,description:a.description,status:a.status,lastActiveAt:a.lastActiveAt.toISOString(),expiresAt:a.expiresAt?.toISOString()??null,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString(),checkins:(a.runCheckins||[]).map(a=>({runUuid:a.runUuid,checkinAt:a.checkinAt.toISOString(),checkoutAt:a.checkoutAt?.toISOString()??null}))}}async function j(a,b){let c=await e.z.agentSession.findFirst({where:{uuid:b,companyUuid:a},include:{runCheckins:{where:{checkoutAt:null},select:{runUuid:!0,checkinAt:!0,checkoutAt:!0}}}});return c?i(c):null}async function k(a,b,c){return(await e.z.agentSession.findMany({where:{companyUuid:a,agentUuid:b,...c&&{status:c}},include:{runCheckins:{where:{checkoutAt:null},select:{runUuid:!0,checkinAt:!0,checkoutAt:!0}}},orderBy:{createdAt:"desc"}})).map(i)}async function l(a,b){let c=await e.z.agentSession.findFirst({where:{uuid:b,companyUuid:a}});if(!c)throw Error("Session not found");let d=await e.z.sessionRunCheckin.findMany({where:{sessionUuid:b,checkoutAt:null},select:{run:{select:{uuid:!0,researchProjectUuid:!0}}}});await e.z.sessionRunCheckin.updateMany({where:{sessionUuid:b,checkoutAt:null},data:{checkoutAt:new Date}});let g=await e.z.agentSession.update({where:{uuid:b},data:{status:"closed"},include:{runCheckins:{select:{runUuid:!0,checkinAt:!0,checkoutAt:!0}}}});for(let a of d)f.B.emitChange({companyUuid:c.companyUuid,researchProjectUuid:a.run.researchProjectUuid,entityType:"experiment_run",entityUuid:a.run.uuid,action:"updated"});return i(g)}async function m(a,b){return(await e.z.sessionRunCheckin.findMany({where:{runUuid:b,checkoutAt:null,session:{companyUuid:a,status:{in:["active","inactive"]}}},include:{session:{select:{uuid:!0,name:!0,agentUuid:!0,agent:{select:{name:!0}}}}}})).map(a=>({sessionUuid:a.session.uuid,sessionName:a.session.name,agentUuid:a.session.agentUuid,agentName:a.session.agent.name,checkinAt:a.checkinAt.toISOString()}))}async function n(a,b){let c=await e.z.agentSession.findFirst({where:{uuid:b,companyUuid:a}});if(!c)throw Error("Session not found");if("closed"!==c.status)throw Error("Only closed sessions can be reopened");let d=await e.z.agentSession.update({where:{uuid:b},data:{status:"active",lastActiveAt:new Date},include:{runCheckins:{where:{checkoutAt:null},select:{runUuid:!0,checkinAt:!0,checkoutAt:!0}}}});return i(d)}async function o(a,b){if(0===b.length)return{};let c=await e.z.sessionRunCheckin.groupBy({by:["runUuid"],where:{runUuid:{in:b},checkoutAt:null,session:{companyUuid:a,status:{in:["active","inactive"]}}},_count:{runUuid:!0}}),d={};for(let a of c)d[a.runUuid]=a._count.runUuid;return d}[e,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},37066:(a,b,c)=>{"use strict";c.d(b,{A:()=>g});var d=c(55211),e=c(50117);let f=["en","zh"],g=(0,d.A)(async()=>{let a=await (0,e.UL)(),b=a.get("synapse-locale")?.value,d=b&&f.includes(b)?b:"en";return{locale:d,messages:(await c(76565)(`./${d}.json`)).default}})},37943:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$M:()=>m,Ip:()=>n,NL:()=>o,Ug:()=>r,Xm:()=>k,lX:()=>q,p_:()=>l,rD:()=>p,vt:()=>j});var e=c(52618),f=c(911),g=a([e]);function h(a){return{uuid:a.uuid,researchProjectUuid:a.researchProjectUuid,projectName:a.projectName,recipientType:a.recipientType,recipientUuid:a.recipientUuid,entityType:a.entityType,entityUuid:a.entityUuid,entityTitle:a.entityTitle,action:a.action,message:a.message,actorType:a.actorType,actorUuid:a.actorUuid,actorName:a.actorName,readAt:a.readAt?.toISOString()??null,archivedAt:a.archivedAt?.toISOString()??null,createdAt:a.createdAt.toISOString()}}function i(a){return{uuid:a.uuid,ownerType:a.ownerType,ownerUuid:a.ownerUuid,runAssigned:a.runAssigned,runStatusChanged:a.runStatusChanged,runVerified:a.runVerified,runReopened:a.runReopened,designSubmitted:a.designSubmitted,designApproved:a.designApproved,designRejected:a.designRejected,researchQuestionClaimed:a.researchQuestionClaimed,commentAdded:a.commentAdded,hypothesisFormulationRequested:a.hypothesisFormulationRequested,hypothesisFormulationAnswered:a.hypothesisFormulationAnswered,experimentCompleted:a.experimentCompleted,experimentAutoProposed:a.experimentAutoProposed,experimentStatusChanged:a.experimentStatusChanged,experimentProgress:a.experimentProgress,synthesisUpdated:a.synthesisUpdated,autoSearchCompleted:a.autoSearchCompleted,deepResearchCompleted:a.deepResearchCompleted,autonomousLoopTriggered:a.autonomousLoopTriggered,mentioned:a.mentioned}}async function j(a){let b=await e.prisma.notification.create({data:{companyUuid:a.companyUuid,researchProjectUuid:a.researchProjectUuid,recipientType:a.recipientType,recipientUuid:a.recipientUuid,entityType:a.entityType,entityUuid:a.entityUuid,entityTitle:a.entityTitle,projectName:a.projectName,action:a.action,message:a.message,actorType:a.actorType,actorUuid:a.actorUuid,actorName:a.actorName}}),c=await e.prisma.notification.count({where:{companyUuid:a.companyUuid,recipientType:a.recipientType,recipientUuid:a.recipientUuid,readAt:null,archivedAt:null}});return f.B.emit(`notification:${a.recipientType}:${a.recipientUuid}`,{type:"new_notification",notificationUuid:b.uuid,action:a.action,message:a.message,projectName:a.projectName,entityTitle:a.entityTitle,unreadCount:c}),h(b)}async function k(a){let b=await Promise.all(a.map(a=>e.prisma.notification.create({data:{companyUuid:a.companyUuid,researchProjectUuid:a.researchProjectUuid,recipientType:a.recipientType,recipientUuid:a.recipientUuid,entityType:a.entityType,entityUuid:a.entityUuid,entityTitle:a.entityTitle,projectName:a.projectName,action:a.action,message:a.message,actorType:a.actorType,actorUuid:a.actorUuid,actorName:a.actorName}}))),c=new Set;for(let b of a)c.add(`${b.recipientType}:${b.recipientUuid}:${b.companyUuid}`);return await Promise.all(Array.from(c).map(async c=>{let[d,g,h]=c.split(":"),i=await e.prisma.notification.count({where:{companyUuid:h,recipientType:d,recipientUuid:g,readAt:null,archivedAt:null}}),j=a.find(a=>a.recipientType===d&&a.recipientUuid===g);f.B.emit(`notification:${d}:${g}`,{type:"new_notification",notificationUuid:b.find(a=>a.recipientType===d&&a.recipientUuid===g)?.uuid,action:j?.action,message:j?.message,projectName:j?.projectName,entityTitle:j?.entityTitle,unreadCount:i})})),b.map(h)}async function l(a){let{companyUuid:b,recipientType:c,recipientUuid:d,researchProjectUuid:f,readFilter:g,archived:i}=a,j=a.skip??0,k=a.take??20,l={companyUuid:b,recipientType:c,recipientUuid:d,...f&&{researchProjectUuid:f},..."unread"===g&&{readAt:null},..."read"===g&&{readAt:{not:null}},...!1===i&&{archivedAt:null},...!0===i&&{archivedAt:{not:null}}},[m,n,o]=await Promise.all([e.prisma.notification.findMany({where:l,skip:j,take:k,orderBy:{createdAt:"desc"}}),e.prisma.notification.count({where:l}),e.prisma.notification.count({where:{companyUuid:b,recipientType:c,recipientUuid:d,readAt:null,archivedAt:null}})]);return{notifications:m.map(h),total:n,unreadCount:o}}async function m(a,b,c){return e.prisma.notification.count({where:{companyUuid:a,recipientType:b,recipientUuid:c,readAt:null,archivedAt:null}})}async function n(a,b,c,d){await e.prisma.notification.updateMany({where:{uuid:a,companyUuid:b,recipientType:c,recipientUuid:d,readAt:null},data:{readAt:new Date}});let g=await e.prisma.notification.findFirst({where:{uuid:a,companyUuid:b}});if(!g)throw Error("Notification not found");let i=await m(b,c,d);return f.B.emit(`notification:${c}:${d}`,{type:"count_update",unreadCount:i}),h(g)}async function o(a,b,c,d){let g=await e.prisma.notification.updateMany({where:{companyUuid:a,recipientType:b,recipientUuid:c,readAt:null,...d&&{researchProjectUuid:d}},data:{readAt:new Date}}),h=await m(a,b,c);return f.B.emit(`notification:${b}:${c}`,{type:"count_update",unreadCount:h}),{count:g.count}}async function p(a,b,c,d){await e.prisma.notification.updateMany({where:{uuid:a,companyUuid:b,recipientType:c,recipientUuid:d,archivedAt:null},data:{archivedAt:new Date}});let g=await e.prisma.notification.findFirst({where:{uuid:a,companyUuid:b}});if(!g)throw Error("Notification not found");let i=await m(b,c,d);return f.B.emit(`notification:${c}:${d}`,{type:"count_update",unreadCount:i}),h(g)}async function q(a,b,c){let d=await e.prisma.notificationPreference.findUnique({where:{ownerType_ownerUuid:{ownerType:b,ownerUuid:c}}});return d||(d=await e.prisma.notificationPreference.create({data:{companyUuid:a,ownerType:b,ownerUuid:c}})),i(d)}async function r(a,b,c,d){let f=await e.prisma.notificationPreference.upsert({where:{ownerType_ownerUuid:{ownerType:b,ownerUuid:c}},create:{companyUuid:a,ownerType:b,ownerUuid:c,...d},update:d});return i(f)}e=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},42733:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(10023),e=c(31805);function f(){return(0,d.jsx)(e.j,{showBoard:!0})}},48873:(a,b,c)=>{"use strict";c.d(b,{Ik:()=>f,Yy:()=>d,nm:()=>e});class d extends Error{constructor(a){super(`${a} is already claimed`),this.name="AlreadyClaimedError"}}class e extends Error{constructor(a){super(`${a} is not currently claimed`),this.name="NotClaimedError"}}function f(a){return"object"==typeof a&&null!==a&&"code"in a&&"P2025"===a.code}},51870:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{DY:()=>g});var e=c(71255),f=a([e]);async function g(a,b){return e.z.experimentRegistry.findFirst({where:{runUuid:b,companyUuid:a}})}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},53870:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Cs:()=>j,hG:()=>m,lU:()=>l,ui:()=>k});var e=c(71255),f=c(92633),g=c(62729),h=a([e,f]);async function i(a,b=!1){let c=await (0,f.LS)(a.createdByUuid),d={uuid:a.uuid,type:a.type,title:a.title,version:a.version,experimentDesignUuid:a.experimentDesignUuid,createdBy:c,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()};return b&&void 0!==a.content&&(d.content=a.content),a.researchProject&&(d.project=a.researchProject),d}async function j(a,b){return e.z.document.findFirst({where:{uuid:b,companyUuid:a}})}async function k(a){let b=await e.z.document.create({data:{companyUuid:a.companyUuid,researchProjectUuid:a.researchProjectUuid,type:a.type,title:a.title,content:a.content,version:1,experimentDesignUuid:a.experimentDesignUuid,createdByUuid:a.createdByUuid},select:{uuid:!0,type:!0,title:!0,content:!0,version:!0,experimentDesignUuid:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0}});return g.B.emitChange({companyUuid:a.companyUuid,researchProjectUuid:a.researchProjectUuid,entityType:"document",entityUuid:b.uuid,action:"created"}),i(b,!0)}async function l(a,{title:b,content:c,incrementVersion:d}){let f={};void 0!==b&&(f.title=b),void 0!==c&&(f.content=c),d&&(f.version={increment:1});let g=await e.z.document.update({where:{uuid:a},data:f,include:{researchProject:{select:{uuid:!0,name:!0}}}});return i(g,!0)}async function m(a,b,c,d,f){let g=await e.z.document.create({data:{companyUuid:a,researchProjectUuid:b,type:f.type||"prd",title:f.title,content:f.content||null,version:1,experimentDesignUuid:c,createdByUuid:d},select:{uuid:!0,type:!0,title:!0,content:!0,version:!0,experimentDesignUuid:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0}});return i(g,!0)}[e,f]=h.then?(await h)():h,d()}catch(a){d(a)}})},55732:(a,b,c)=>{"use strict";c.d(b,{bq:()=>l,eb:()=>n,gC:()=>m,l6:()=>j,yv:()=>k});var d=c(10837);c(21968);var e=c(21790),f=c(9810),g=c(85487),h=c(95556),i=c(96307);function j({...a}){return(0,d.jsx)(h.Root,{"data-slot":"select",...a})}function k({...a}){return(0,d.jsx)(h.Value,{"data-slot":"select-value",...a})}function l({className:a,size:b="default",children:c,...f}){return(0,d.jsxs)(h.Trigger,{"data-slot":"select-trigger","data-size":b,className:(0,i.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",a),...f,children:[c,(0,d.jsx)(h.Icon,{asChild:!0,children:(0,d.jsx)(e.A,{className:"size-4 opacity-50"})})]})}function m({className:a,children:b,position:c="item-aligned",align:e="center",...f}){return(0,d.jsx)(h.Portal,{children:(0,d.jsxs)(h.Content,{"data-slot":"select-content",className:(0,i.cn)("bg-popover text-popover-foreground 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-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===c&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:c,align:e,...f,children:[(0,d.jsx)(o,{}),(0,d.jsx)(h.Viewport,{className:(0,i.cn)("p-1","popper"===c&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:b}),(0,d.jsx)(p,{})]})})}function n({className:a,children:b,...c}){return(0,d.jsxs)(h.Item,{"data-slot":"select-item",className:(0,i.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",a),...c,children:[(0,d.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,d.jsx)(h.ItemIndicator,{children:(0,d.jsx)(f.A,{className:"size-4"})})}),(0,d.jsx)(h.ItemText,{children:b})]})}function o({className:a,...b}){return(0,d.jsx)(h.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(g.A,{className:"size-4"})})}function p({className:a,...b}){return(0,d.jsx)(h.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(e.A,{className:"size-4"})})}},60187:(a,b,c)=>{"use strict";c.d(b,{Oi:()=>m,eB:()=>k,nd:()=>h,u0:()=>l});var d=c(18481),e=c.n(d);let f=c(65582).vF.child({module:"redis"}),g=function(){if(process.env.REDIS_URL)return process.env.REDIS_URL;let a=process.env.REDIS_HOST;if(!a)return;let b=process.env.REDIS_PORT||"6379",c=process.env.REDIS_USERNAME||"default",d=process.env.REDIS_PASSWORD,e="rediss";return d?`${e}://${c}:${encodeURIComponent(d)}@${a}:${b}`:`${e}://${a}:${b}`}();function h(){return!!g}let i=globalThis;function j(a){let b=new(e())(g,{lazyConnect:!0,maxRetriesPerRequest:null,retryStrategy(b){let c=Math.min(200*b,5e3);return f.warn({name:a,delay:c,attempt:b},"reconnecting"),c}});return b.on("error",b=>{f.error({name:a,err:b.message||"unknown redis error"},"connection error")}),b.on("connect",()=>{f.info({name:a},"connected")}),b}function k(){return h()?(i.redisPub||(i.redisPub=j("pub")),i.redisPub):null}function l(){return h()?(i.redisSub||(i.redisSub=j("sub")),i.redisSub):null}function m(){let a=i.redisPub?.status??"not_initialized",b=i.redisSub?.status??"not_initialized",c=h();return{enabled:c,publisherStatus:a,subscriberStatus:b,transport:c&&("ready"===a||"ready"===b)?"redis":c?"memory-fallback":"disabled"}}},76565:(a,b,c)=>{var d={"./en.json":[87368,7368],"./zh.json":[72961,2961]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=76565,a.exports=e},76872:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{LS:()=>i,SJ:()=>k,Uo:()=>l,Xx:()=>m,Z_:()=>h,_9:()=>n,ir:()=>j,lR:()=>g});var e=c(52618),f=a([e]);async function g(a,b){if("user"===a){let a=await e.prisma.user.findUnique({where:{uuid:b},select:{name:!0,email:!0}});return a&&(a.name||a.email)||"Unknown"}if("agent"===a){let a=await e.prisma.agent.findUnique({where:{uuid:b},select:{name:!0}});return a?.name??null}return null}async function h(a,b){if(!a||!b)return null;let c=await g(a,b);return c?{type:a,uuid:b,name:c}:null}async function i(a,b){if(b){let c=await g(b,a);return c?{type:b,uuid:a,name:c}:null}let c=await e.prisma.user.findUnique({where:{uuid:a},select:{name:!0,email:!0}});if(c)return{type:"user",uuid:a,name:c.name||c.email||"Unknown"};let d=await e.prisma.agent.findUnique({where:{uuid:a},select:{name:!0}});return d?{type:"agent",uuid:a,name:d.name}:null}async function j(a,b,c,d){if(!a||!b)return null;let e=await g(a,b);if(!e)return null;let f=null;if(d){let a=await g("user",d);a&&(f={type:"user",uuid:d,name:a})}return{type:a,uuid:b,name:e,assignedAt:c?.toISOString()??null,assignedBy:f}}async function k(a,b,c){if(!a)return null;let d=await g("user",a);return d?{reviewedBy:{type:"user",uuid:a,name:d},reviewNote:b,reviewedAt:c?.toISOString()??null}:null}async function l(a){let b=new Map;if(0===a.length)return b;let c=[...new Set(a.filter(a=>"user"===a.type).map(a=>a.uuid))],d=[...new Set(a.filter(a=>"agent"===a.type).map(a=>a.uuid))],[f,g]=await Promise.all([c.length>0?e.prisma.user.findMany({where:{uuid:{in:c}},select:{uuid:!0,name:!0,email:!0}}):[],d.length>0?e.prisma.agent.findMany({where:{uuid:{in:d}},select:{uuid:!0,name:!0}}):[]]);for(let a of f)b.set(a.uuid,a.name||a.email||"Unknown");for(let a of g)b.set(a.uuid,a.name);return b}async function m(a){let b=new Map;if(0===a.length)return b;let c=[...new Set(a)],d=await e.prisma.user.findMany({where:{uuid:{in:c}},select:{uuid:!0,name:!0,email:!0}}),f=new Set;for(let a of d)f.add(a.uuid),b.set(a.uuid,{type:"user",uuid:a.uuid,name:a.name||a.email||"Unknown"});let g=c.filter(a=>!f.has(a));if(g.length>0)for(let a of(await e.prisma.agent.findMany({where:{uuid:{in:g}},select:{uuid:!0,name:!0}})))b.set(a.uuid,{type:"agent",uuid:a.uuid,name:a.name});return b}async function n(a,b,c){let d={uuid:b,companyUuid:c};switch(a){case"research_question":return!!await e.prisma.researchQuestion.findFirst({where:d,select:{uuid:!0}});case"experiment":return!!await e.prisma.experiment.findFirst({where:d,select:{uuid:!0}});case"experiment_design":return!!await e.prisma.experimentDesign.findFirst({where:d,select:{uuid:!0}});case"experiment_run":return!!await e.prisma.experimentRun.findFirst({where:d,select:{uuid:!0}});case"document":return!!await e.prisma.document.findFirst({where:d,select:{uuid:!0}});default:return!1}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},77219:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{XH:()=>i});var e=c(55511),f=c(71255),g=c(97307),h=a([f]);f=(h.then?(await h)():h)[0],g.vF.child({module:"api_key"});let j="syn_";function i(){var a;let b=(0,e.randomBytes)(32).toString("base64url"),c=`${j}${b}`,d=(a=c,(0,e.createHash)("sha256").update(a).digest("hex")),f=`${j}${b.slice(0,4)}...${b.slice(-4)}`;return{key:c,hash:d,prefix:f}}d()}catch(a){d(a)}})},80251:(a,b,c)=>{"use strict";c.d(b,{eu:()=>g,q5:()=>h});var d=c(10837);c(21968);var e=c(14672),f=c(96307);function g({className:a,size:b="default",...c}){return(0,d.jsx)(e.Root,{"data-slot":"avatar","data-size":b,className:(0,f.cn)("group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6",a),...c})}function h({className:a,...b}){return(0,d.jsx)(e.Fallback,{"data-slot":"avatar-fallback",className:(0,f.cn)("bg-muted text-muted-foreground flex size-full items-center justify-center rounded-full text-sm group-data-[size=sm]/avatar:text-xs",a),...b})}},82831:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{z7:()=>k});var e=c(10837),f=c(21968),g=c.n(f),h=c(41709),i=c(83457),j=a([i]);i=(j.then?(await j)():j)[0];let m=/@\[([^\]]+)\]\((user|agent):([a-f0-9-]+)\)/g;function k({children:a}){if(!a||"string"!=typeof a)return null;if(!new RegExp(m.source).test(a))return(0,e.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,e.jsx)(h.jH,{plugins:{code:i.a},children:a})});let{processed:b,mentions:c}=function(a){let b=[],c=RegExp(m.source,"g");return{processed:a.replace(c,(a,c,d,e)=>{let f=b.length;return b.push({displayName:c,type:d,uuid:e}),`\u200B\u200BMENTION_${f}\u200B\u200B`}),mentions:b}}(a);return(0,e.jsx)(l,{mentions:c,children:(0,e.jsx)(h.jH,{plugins:{code:i.a},children:b})})}function l({children:a,mentions:b}){let c=g().useRef(null);return(0,e.jsx)("div",{ref:c,className:"overflow-hidden [&_pre]:overflow-x-auto",children:a})}d()}catch(a){d(a)}})},84819:(a,b,c)=>{"use strict";c.d(b,{Separator:()=>g});var d=c(10837);c(21968);var e=c(72229),f=c(96307);function g({className:a,orientation:b="horizontal",decorative:c=!0,...g}){return(0,d.jsx)(e.b,{"data-slot":"separator",decorative:c,orientation:b,className:(0,f.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",a),...g})}},85034:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{AM:()=>i,Fn:()=>j,Rq:()=>t,T0:()=>n,Wr:()=>p,_8:()=>q,et:()=>u,j5:()=>m,l:()=>o,np:()=>r,t3:()=>k,vP:()=>l});var e=c(18818),f=c(52618),g=c(91997),h=a([f,g]);async function i({companyUuid:a,skip:b,take:c}){let[d,e]=await Promise.all([f.prisma.researchProject.findMany({where:{companyUuid:a},skip:b,take:c,orderBy:{updatedAt:"desc"},select:{uuid:!0,name:!0,description:!0,goal:!0,datasets:!0,evaluationMethods:!0,latestSynthesisAt:!0,latestSynthesisIdeaCount:!0,latestSynthesisSummary:!0,groupUuid:!0,createdAt:!0,updatedAt:!0,_count:{select:{researchQuestions:!0,documents:!0,experiments:!0,activities:!0}}}}),f.prisma.researchProject.count({where:{companyUuid:a}})]);return{projects:d,total:e}}async function j(a,b){return f.prisma.researchProject.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0,name:!0,description:!0,goal:!0,datasets:!0,evaluationMethods:!0,repoUrl:!0,githubUsername:!0,githubToken:!0,latestSynthesisAt:!0,latestSynthesisIdeaCount:!0,latestSynthesisSummary:!0,createdAt:!0,updatedAt:!0,_count:{select:{researchQuestions:!0,documents:!0,experiments:!0,activities:!0}}}})}async function k(a,b){return f.prisma.researchProject.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}})}async function l(a,b){return!!await k(a,b)}async function m(a,b){return f.prisma.researchProject.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0,name:!0,description:!0,goal:!0,datasets:!0,evaluationMethods:!0,latestSynthesisAt:!0,latestSynthesisIdeaCount:!0,latestSynthesisSummary:!0,repoUrl:!0,githubUsername:!0,githubToken:!0}})}async function n(a,b){return(await f.prisma.researchProject.findMany({where:{companyUuid:a,groupUuid:b},select:{uuid:!0}})).map(a=>a.uuid)}async function o({companyUuid:a,name:b,description:c,goal:d,datasets:e,evaluationMethods:g,groupUuid:h,computePoolUuid:i}){return f.prisma.researchProject.create({data:{companyUuid:a,name:b,description:c,goal:d??null,datasets:e??[],evaluationMethods:g??[],groupUuid:h??null,computePoolUuid:i??null},select:{uuid:!0,name:!0,description:!0,goal:!0,datasets:!0,evaluationMethods:!0,groupUuid:!0,computePoolUuid:!0,createdAt:!0,updatedAt:!0}})}async function p(a,b){let c={...b};return void 0!==b.datasets&&(c.datasets=null===b.datasets?e.D1.Fj:b.datasets),void 0!==b.evaluationMethods&&(c.evaluationMethods=null===b.evaluationMethods?e.D1.Fj:b.evaluationMethods),void 0!==b.computePoolUuid&&(c.computePoolUuid=b.computePoolUuid??null),void 0!==b.autonomousLoopAgentUuid&&(c.autonomousLoopAgentUuid=b.autonomousLoopAgentUuid??null),void 0!==b.autoSearchAgentUuid&&(c.autoSearchAgentUuid=b.autoSearchAgentUuid??null),void 0!==b.deepResearchDocUuid&&(c.deepResearchDocUuid=b.deepResearchDocUuid??null),void 0!==b.repoUrl&&(c.repoUrl=b.repoUrl??null),void 0!==b.githubUsername&&(c.githubUsername=b.githubUsername??null),b.githubToken&&""!==b.githubToken.trim()&&(c.githubToken=b.githubToken.trim()),f.prisma.researchProject.update({where:{uuid:a},data:c,select:{uuid:!0,name:!0,description:!0,goal:!0,datasets:!0,evaluationMethods:!0,computePoolUuid:!0,autonomousLoopEnabled:!0,autonomousLoopAgentUuid:!0,autoSearchEnabled:!0,autoSearchAgentUuid:!0,deepResearchDocUuid:!0,repoUrl:!0,githubUsername:!0,latestSynthesisAt:!0,latestSynthesisIdeaCount:!0,latestSynthesisSummary:!0,createdAt:!0,updatedAt:!0}})}async function q(a){return await f.prisma.researchQuestion.updateMany({where:{researchProjectUuid:a,parentQuestionUuid:{not:null}},data:{parentQuestionUuid:null}}),f.prisma.researchProject.delete({where:{uuid:a}})}async function r({companyUuid:a,skip:b,take:c}){let{projects:d,total:e}=await i({companyUuid:a,skip:b,take:c}),f=d.map(a=>a.uuid),h=await (0,g.c8)(a,f);return{projects:d.map(a=>{let b=h.get(a.uuid)??{researchProjectUuid:a.uuid,researchQuestions:{total:0,open:0,elaborating:0,proposalCreated:0,completed:0,closed:0},experiments:{total:0,draft:0,pendingReview:0,pendingStart:0,inProgress:0,completed:0},experimentDesigns:{total:0,draft:0,pending:0,approved:0,rejected:0,closed:0,active:0},experimentRuns:{total:0,open:0,assigned:0,inProgress:0,toVerify:0,done:0,closed:0,completed:0},documents:{total:0},completionRate:0};return{...a,experimentRunsDone:b.experiments.completed,metrics:b}}),total:e}}async function s(a,b){let c=await (0,g.bF)(a,b);return{researchQuestions:{total:c.researchQuestions.total,open:c.researchQuestions.open+c.researchQuestions.elaborating,elaborating:c.researchQuestions.elaborating,proposalCreated:c.researchQuestions.proposalCreated,completed:c.researchQuestions.completed},experimentRuns:{total:c.experiments.total,inProgress:c.experiments.inProgress,todo:c.experiments.draft,toVerify:c.experiments.pendingReview+c.experiments.pendingStart,done:c.experiments.completed},experimentDesigns:{total:c.experiments.total,pending:c.experiments.pendingReview},experiments:{total:c.experiments.total,draft:c.experiments.draft,pendingReview:c.experiments.pendingReview,pendingStart:c.experiments.pendingStart,inProgress:c.experiments.inProgress,completed:c.experiments.completed},documents:{total:c.documents.total},completionRate:c.completionRate}}async function t(a,b){let[c,d,e,g,h]=await Promise.all([j(a,b),s(a,b),f.prisma.experiment.findMany({where:{companyUuid:a,researchProjectUuid:b},orderBy:{updatedAt:"desc"},take:5,select:{uuid:!0,title:!0,status:!0,outcome:!0}}),f.prisma.researchQuestion.findMany({where:{companyUuid:a,researchProjectUuid:b,reviewStatus:{not:"rejected"}},orderBy:{updatedAt:"desc"},take:5,select:{uuid:!0,title:!0,status:!0,reviewStatus:!0}}),f.prisma.relatedWork.count({where:{companyUuid:a,researchProjectUuid:b}})]);return c?{project:c,stats:d,recentExperiments:e,recentQuestions:g,relatedWorksCount:h}:null}async function u(a,b){let[c,d]=await Promise.all([f.prisma.researchProject.findFirst({where:{uuid:b,companyUuid:a},select:{latestSynthesisAt:!0,latestSynthesisIdeaCount:!0,latestSynthesisSummary:!0}}),f.prisma.experiment.findMany({where:{companyUuid:a,researchProjectUuid:b,status:"completed"},orderBy:{completedAt:"desc"},take:8,select:{uuid:!0,title:!0,outcome:!0,completedAt:!0,researchQuestion:{select:{title:!0}}}})]);return c?{project:c,completedExperiments:d}:null}[f,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},88437:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{E1:()=>k,nG:()=>j,s3:()=>i});var e=c(52618),f=c(911),g=c(76872),h=a([e,g]);async function i({companyUuid:a,researchProjectUuid:b,skip:c,take:d,targetType:f,targetUuid:g}){let h={researchProjectUuid:b,companyUuid:a,...f&&{targetType:f},...g&&{targetUuid:g}},[i,j]=await Promise.all([e.prisma.activity.findMany({where:h,skip:c,take:d,orderBy:{createdAt:"desc"},select:{uuid:!0,targetType:!0,targetUuid:!0,actorType:!0,actorUuid:!0,action:!0,value:!0,sessionUuid:!0,sessionName:!0,createdAt:!0}}),e.prisma.activity.count({where:h})]);return{activities:i,total:j}}async function j(a){let{activities:b,total:c}=await i(a),d=await (0,g.Uo)(b.map(a=>({type:a.actorType,uuid:a.actorUuid})));return{activities:b.map(a=>({uuid:a.uuid,targetType:a.targetType,targetUuid:a.targetUuid,action:a.action,actorType:a.actorType,actorName:d.get(a.actorUuid)||"Unknown",value:a.value,sessionUuid:a.sessionUuid,sessionName:a.sessionName,createdAt:a.createdAt.toISOString()})),total:c}}async function k({companyUuid:a,researchProjectUuid:b,targetType:c,targetUuid:d,actorType:g,actorUuid:h,action:i,value:j,sessionUuid:k,sessionName:l}){let m=await e.prisma.activity.create({data:{companyUuid:a,researchProjectUuid:b,targetType:c,targetUuid:d,actorType:g,actorUuid:h,action:i,value:j||void 0,sessionUuid:k||void 0,sessionName:l||void 0}});return f.B.emit("activity",{companyUuid:a,researchProjectUuid:b,targetType:c,targetUuid:d,actorType:g,actorUuid:h,action:i,value:j,sessionUuid:k,sessionName:l,uuid:m.uuid}),m}[e,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},90097:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{EN:()=>A,G_:()=>q,M9:()=>z,Qh:()=>t,Qr:()=>s,Xw:()=>u,Z4:()=>E,ci:()=>w,gT:()=>B,nW:()=>D,o4:()=>r,sp:()=>y,wZ:()=>C,x7:()=>v,xv:()=>x});var e=c(55511),f=c(71255),g=c(69996),h=c(92633),i=c(62729),j=c(53870),k=c(23180),l=a([f,h,j,k]);function m(a){return{...a,uuid:a.uuid||(0,e.randomUUID)()}}function n(a){return{...a,uuid:a.uuid||(0,e.randomUUID)()}}async function o(a){let b="user"===a.createdByType?"user":"agent",[c,d]=await Promise.all([(0,h.LS)(a.createdByUuid,b),(0,h.SJ)(a.reviewedByUuid,a.reviewNote,a.reviewedAt)]),e={uuid:a.uuid,title:a.title,description:a.description,inputType:a.inputType,inputUuids:a.inputUuids,documentDrafts:a.documentDrafts,taskDrafts:a.taskDrafts,status:a.status,createdBy:c,createdByType:a.createdByType,review:d,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()};return a.researchProject&&(e.project=a.researchProject),e}async function p(a,b){let c=await f.z.experimentDesign.findFirst({where:{uuid:b,companyUuid:a}});if(!c)throw Error("ExperimentDesign not found");let d=[],e=c.documentDrafts||[],g=c.taskDrafts||[],h=c.inputUuids||[];for(let a of(0===e.length&&d.push({id:"E1",level:"error",message:"Proposal must contain at least one document draft"}),e))(!a.content||a.content.length<100)&&d.push({id:"E2",level:"error",message:`Document draft "${a.title}" must have content with at least 100 characters`,field:a.title});if(0===g.length&&d.push({id:"E3",level:"error",message:"Proposal must contain at least one task draft"}),0===h.length&&d.push({id:"E4",level:"error",message:"Proposal must have at least one input (idea or other source)"}),"research_question"===c.inputType&&h.length>0)for(let b of(await f.z.researchQuestion.findMany({where:{uuid:{in:h},companyUuid:a},select:{uuid:!0,title:!0,elaborationStatus:!0}})))"resolved"!==b.elaborationStatus&&d.push({id:"E5",level:"error",message:`Input idea "${b.title}" has unresolved elaboration (status: ${b.elaborationStatus})`,field:b.title});for(let a of(e.some(a=>"tech_design"===a.type)||d.push({id:"W1",level:"warning",message:"Proposal should contain at least one tech design document draft"}),g))a.description&&0!==a.description.trim().length||d.push({id:"W2",level:"warning",message:`Task draft "${a.title}" is missing a description`,field:a.title});for(let a of g)a.acceptanceCriteriaItems&&0!==a.acceptanceCriteriaItems.length||d.push({id:"E-AC",level:"error",message:`Task draft "${a.title}" is missing acceptance criteria (structured items required)`,field:a.title});for(let a of(g.length>=2&&(g.some(a=>a.dependsOnDraftUuids&&a.dependsOnDraftUuids.length>0)||d.push({id:"W4",level:"warning",message:"When there are multiple tasks, at least one should declare dependencies"})),c.description&&0!==c.description.trim().length||d.push({id:"W5",level:"warning",message:"Proposal description should not be empty"}),g))a.priority||d.push({id:"I1",level:"info",message:`Task draft "${a.title}" does not have a priority set`,field:a.title});for(let a of g)null==a.computeBudgetHours&&d.push({id:"I2",level:"info",message:`Task draft "${a.title}" does not have story points set`,field:a.title});return{valid:!d.some(a=>"error"===a.level),issues:d}}async function q(a,b,c,d){let e=await f.z.researchQuestion.findMany({where:{uuid:{in:b},companyUuid:a},select:{uuid:!0,assigneeType:!0,assigneeUuid:!0}}),g=[];for(let a of e)(a.assigneeType!==d||a.assigneeUuid!==c)&&g.push(a.uuid);return{valid:0===g.length,unassignedResearchQuestions:g}}async function r(a,b){let c=await f.z.experimentDesign.findFirst({where:{uuid:b,companyUuid:a},include:{researchProject:{select:{uuid:!0,name:!0}}}});return c?o(c):null}async function s(a,b){return f.z.experimentDesign.findFirst({where:{uuid:b,companyUuid:a}})}async function t(a){let b=a.documentDrafts?.map(m),c=a.taskDrafts?.map(n),d=await f.z.experimentDesign.create({data:{companyUuid:a.companyUuid,researchProjectUuid:a.researchProjectUuid,title:a.title,description:a.description,inputType:a.inputType,inputUuids:a.inputUuids,...b&&{documentDrafts:b},...c&&{taskDrafts:c},status:"draft",createdByUuid:a.createdByUuid,createdByType:a.createdByType||"agent"},select:{uuid:!0,title:!0,description:!0,inputType:!0,inputUuids:!0,documentDrafts:!0,taskDrafts:!0,status:!0,createdByUuid:!0,createdByType:!0,reviewedByUuid:!0,reviewNote:!0,reviewedAt:!0,createdAt:!0,updatedAt:!0}});return i.B.emitChange({companyUuid:a.companyUuid,researchProjectUuid:a.researchProjectUuid,entityType:"experiment_design",entityUuid:d.uuid,action:"created"}),o(d)}async function u(a,b,c,d){let e=await f.z.experimentDesign.findFirst({where:{uuid:a,companyUuid:b}});if(!e)throw Error("ExperimentDesign not found");let{updatedProposal:g,materializedTasks:h,materializedDocuments:l}=await f.z.$transaction(async b=>{let f=await b.experimentDesign.update({where:{uuid:a},data:{status:"approved",reviewedByUuid:c,reviewNote:d||null,reviewedAt:new Date},include:{researchProject:{select:{uuid:!0,name:!0}}}}),g=e.documentDrafts,h=e.taskDrafts,i=[],l=[];if(g&&g.length>0)for(let a of g){let b=await (0,j.hG)(e.companyUuid,e.researchProjectUuid,e.uuid,e.createdByUuid,a);l.push({draftUuid:a.uuid,documentUuid:b.uuid,title:b.title})}if(h&&h.length>0){for(let a of h)if(a.acceptanceCriteriaItems&&a.acceptanceCriteriaItems.length>0)for(let b=0;b<a.acceptanceCriteriaItems.length;b++){let c=a.acceptanceCriteriaItems[b];if(!c.description||"string"!=typeof c.description||0===c.description.trim().length)throw Error(`Task draft "${a.title}": acceptanceCriteriaItems[${b}] has an empty or invalid description`)}let{draftToTaskUuidMap:a}=await (0,k.Kb)(e.companyUuid,e.researchProjectUuid,e.uuid,e.createdByUuid,h);for(let b of h){let c=a.get(b.uuid);c&&i.push({draftUuid:b.uuid,runUuid:c,title:b.title})}for(let c of h){if(c.dependsOnDraftUuids&&c.dependsOnDraftUuids.length>0){let d=a.get(c.uuid);if(!d)continue;for(let e of c.dependsOnDraftUuids){let c=a.get(e);c&&await b.runDependency.create({data:{runUuid:d,dependsOnRunUuid:c}})}}if(c.acceptanceCriteriaItems&&c.acceptanceCriteriaItems.length>0){let d=a.get(c.uuid);if(!d)continue;await b.acceptanceCriterion.createMany({data:c.acceptanceCriteriaItems.map((a,b)=>({runUuid:d,description:a.description.trim(),required:a.required??!0,sortOrder:b}))})}}}return{updatedProposal:f,materializedTasks:i,materializedDocuments:l}});if(i.B.emitChange({companyUuid:e.companyUuid,researchProjectUuid:e.researchProjectUuid,entityType:"experiment_design",entityUuid:a,action:"updated"}),"research_question"===e.inputType){let a=e.inputUuids||[];a.length>0&&await f.z.researchQuestion.updateMany({where:{uuid:{in:a},companyUuid:b,status:"proposal_created"},data:{status:"completed"}})}let m=await o(g);return h.length>0&&(m.materializedTasks=h),l.length>0&&(m.materializedDocuments=l),m}async function v(a,b,c){let d=await f.z.experimentDesign.update({where:{uuid:a},data:{status:"draft",reviewedByUuid:b,reviewNote:c,reviewedAt:new Date},include:{researchProject:{select:{uuid:!0,name:!0}}}});return i.B.emitChange({companyUuid:d.companyUuid,researchProjectUuid:d.researchProjectUuid,entityType:"experiment_design",entityUuid:d.uuid,action:"updated"}),o(d)}async function w(a,b,c){let d=await f.z.experimentDesign.update({where:{uuid:a},data:{status:"closed",reviewedByUuid:b,reviewNote:c,reviewedAt:new Date},include:{researchProject:{select:{uuid:!0,name:!0}}}});return i.B.emitChange({companyUuid:d.companyUuid,researchProjectUuid:d.researchProjectUuid,entityType:"experiment_design",entityUuid:d.uuid,action:"updated"}),o(d)}async function x(a,b){let c=await f.z.experimentDesign.findFirst({where:{uuid:a,companyUuid:b}});if(!c)throw Error("ExperimentDesign not found");await f.z.experimentDesign.delete({where:{uuid:a}}),i.B.emitChange({companyUuid:c.companyUuid,researchProjectUuid:c.researchProjectUuid,entityType:"experiment_design",entityUuid:c.uuid,action:"deleted"})}async function y(a,b){let c=await f.z.experimentDesign.findFirst({where:{uuid:a,companyUuid:b}});if(!c)throw Error("ExperimentDesign not found");if("draft"!==c.status)throw Error("Only draft experiment designs can be submitted for review");let d=await p(b,a);if(!d.valid){let a=d.issues.map(a=>`[${a.level}] ${a.message}`);throw Error(`ExperimentDesign validation failed:
|
|
13
|
+
`})]})});n.displayName="MentionEditor"},28774:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{A8:()=>q,Ad:()=>p,CG:()=>n,Iq:()=>m,Sn:()=>i,d5:()=>l,mA:()=>o,tN:()=>k,wg:()=>h,x4:()=>j});var e=c(71255),f=c(77219);c(19874);var g=a([e,f]);async function h(a,b,c){return e.z.agent.findFirst({where:{uuid:b,companyUuid:a,...c?{ownerUuid:c}:{}},select:{uuid:!0,name:!0,roles:!0,type:!0,color:!0,ownerUuid:!0}})}async function i({companyUuid:a,name:b,roles:c,type:d,ownerUuid:f,persona:g,systemPrompt:h,color:i}){return e.z.agent.create({data:{companyUuid:a,name:b,roles:c,type:d||"openclaw",ownerUuid:f,persona:g,systemPrompt:h,color:i??null},select:{uuid:!0,name:!0,roles:!0,type:!0,persona:!0,systemPrompt:!0,color:!0,ownerUuid:!0,createdAt:!0}})}async function j(a,b,c){if(c&&!await e.z.agent.findFirst({where:{uuid:a,companyUuid:c},select:{uuid:!0}}))throw Error("Agent not found");return e.z.agent.update({where:{uuid:a},data:b,select:{uuid:!0,name:!0,roles:!0,type:!0,persona:!0,systemPrompt:!0,color:!0,ownerUuid:!0,lastActiveAt:!0,createdAt:!0}})}async function k(a,b){return e.z.apiKey.updateMany({where:{agentUuid:a,revokedAt:null},data:{name:b}})}async function l(a,b,c,d){let f={companyUuid:a,revokedAt:null,...d&&{agent:{ownerUuid:d}}},[g,h]=await Promise.all([e.z.apiKey.findMany({where:f,skip:b,take:c,orderBy:{createdAt:"desc"},include:{agent:{select:{uuid:!0,name:!0,roles:!0,persona:!0}}}}),e.z.apiKey.count({where:f})]);return{apiKeys:g,total:h}}async function m({companyUuid:a,agentUuid:b,name:c,expiresAt:d}){let{key:g,hash:h,prefix:i}=(0,f.XH)();return{...await e.z.apiKey.create({data:{companyUuid:a,agentUuid:b,keyHash:h,keyPrefix:i,name:c,expiresAt:d},select:{uuid:!0,keyPrefix:!0,name:!0,expiresAt:!0,createdAt:!0}}),key:g}}async function n(a,b,c){return e.z.apiKey.findFirst({where:{uuid:b,companyUuid:a,...c&&{agent:{ownerUuid:c}}},select:{uuid:!0,agentUuid:!0,revokedAt:!0}})}async function o(a){return e.z.apiKey.update({where:{uuid:a},data:{revokedAt:new Date}})}async function p(a,b,c){return e.z.agent.findMany({where:{companyUuid:a,...c&&{ownerUuid:c},OR:[{roles:{has:b}},{roles:{has:`${b}_agent`}}]},select:{uuid:!0,name:!0,roles:!0,ownerUuid:!0},orderBy:{name:"asc"}})}async function q(a){return e.z.user.findMany({where:{companyUuid:a},select:{uuid:!0,name:!0,email:!0},orderBy:{name:"asc"}})}[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})},30457:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Ht:()=>j,Vu:()=>l,Xo:()=>k,aQ:()=>n,iK:()=>o,kk:()=>m});var e=c(71255),f=c(62729),g=c(23180),h=a([e,g]);function i(a){return{uuid:a.uuid,agentUuid:a.agentUuid,name:a.name,description:a.description,status:a.status,lastActiveAt:a.lastActiveAt.toISOString(),expiresAt:a.expiresAt?.toISOString()??null,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString(),checkins:(a.runCheckins||[]).map(a=>({runUuid:a.runUuid,checkinAt:a.checkinAt.toISOString(),checkoutAt:a.checkoutAt?.toISOString()??null}))}}async function j(a,b){let c=await e.z.agentSession.findFirst({where:{uuid:b,companyUuid:a},include:{runCheckins:{where:{checkoutAt:null},select:{runUuid:!0,checkinAt:!0,checkoutAt:!0}}}});return c?i(c):null}async function k(a,b,c){return(await e.z.agentSession.findMany({where:{companyUuid:a,agentUuid:b,...c&&{status:c}},include:{runCheckins:{where:{checkoutAt:null},select:{runUuid:!0,checkinAt:!0,checkoutAt:!0}}},orderBy:{createdAt:"desc"}})).map(i)}async function l(a,b){let c=await e.z.agentSession.findFirst({where:{uuid:b,companyUuid:a}});if(!c)throw Error("Session not found");let d=await e.z.sessionRunCheckin.findMany({where:{sessionUuid:b,checkoutAt:null},select:{run:{select:{uuid:!0,researchProjectUuid:!0}}}});await e.z.sessionRunCheckin.updateMany({where:{sessionUuid:b,checkoutAt:null},data:{checkoutAt:new Date}});let g=await e.z.agentSession.update({where:{uuid:b},data:{status:"closed"},include:{runCheckins:{select:{runUuid:!0,checkinAt:!0,checkoutAt:!0}}}});for(let a of d)f.B.emitChange({companyUuid:c.companyUuid,researchProjectUuid:a.run.researchProjectUuid,entityType:"experiment_run",entityUuid:a.run.uuid,action:"updated"});return i(g)}async function m(a,b){return(await e.z.sessionRunCheckin.findMany({where:{runUuid:b,checkoutAt:null,session:{companyUuid:a,status:{in:["active","inactive"]}}},include:{session:{select:{uuid:!0,name:!0,agentUuid:!0,agent:{select:{name:!0}}}}}})).map(a=>({sessionUuid:a.session.uuid,sessionName:a.session.name,agentUuid:a.session.agentUuid,agentName:a.session.agent.name,checkinAt:a.checkinAt.toISOString()}))}async function n(a,b){let c=await e.z.agentSession.findFirst({where:{uuid:b,companyUuid:a}});if(!c)throw Error("Session not found");if("closed"!==c.status)throw Error("Only closed sessions can be reopened");let d=await e.z.agentSession.update({where:{uuid:b},data:{status:"active",lastActiveAt:new Date},include:{runCheckins:{where:{checkoutAt:null},select:{runUuid:!0,checkinAt:!0,checkoutAt:!0}}}});return i(d)}async function o(a,b){if(0===b.length)return{};let c=await e.z.sessionRunCheckin.groupBy({by:["runUuid"],where:{runUuid:{in:b},checkoutAt:null,session:{companyUuid:a,status:{in:["active","inactive"]}}},_count:{runUuid:!0}}),d={};for(let a of c)d[a.runUuid]=a._count.runUuid;return d}[e,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},37066:(a,b,c)=>{"use strict";c.d(b,{A:()=>g});var d=c(55211),e=c(50117);let f=["en","zh"],g=(0,d.A)(async()=>{let a=await (0,e.UL)(),b=a.get("synapse-locale")?.value,d=b&&f.includes(b)?b:"en";return{locale:d,messages:(await c(76565)(`./${d}.json`)).default}})},37943:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$M:()=>m,Ip:()=>n,NL:()=>o,Ug:()=>r,Xm:()=>k,lX:()=>q,p_:()=>l,rD:()=>p,vt:()=>j});var e=c(52618),f=c(911),g=a([e]);function h(a){return{uuid:a.uuid,researchProjectUuid:a.researchProjectUuid,projectName:a.projectName,recipientType:a.recipientType,recipientUuid:a.recipientUuid,entityType:a.entityType,entityUuid:a.entityUuid,entityTitle:a.entityTitle,action:a.action,message:a.message,actorType:a.actorType,actorUuid:a.actorUuid,actorName:a.actorName,readAt:a.readAt?.toISOString()??null,archivedAt:a.archivedAt?.toISOString()??null,createdAt:a.createdAt.toISOString()}}function i(a){return{uuid:a.uuid,ownerType:a.ownerType,ownerUuid:a.ownerUuid,runAssigned:a.runAssigned,runStatusChanged:a.runStatusChanged,runVerified:a.runVerified,runReopened:a.runReopened,designSubmitted:a.designSubmitted,designApproved:a.designApproved,designRejected:a.designRejected,researchQuestionClaimed:a.researchQuestionClaimed,commentAdded:a.commentAdded,hypothesisFormulationRequested:a.hypothesisFormulationRequested,hypothesisFormulationAnswered:a.hypothesisFormulationAnswered,experimentCompleted:a.experimentCompleted,experimentAutoProposed:a.experimentAutoProposed,experimentStatusChanged:a.experimentStatusChanged,experimentProgress:a.experimentProgress,synthesisUpdated:a.synthesisUpdated,autoSearchCompleted:a.autoSearchCompleted,deepResearchCompleted:a.deepResearchCompleted,autonomousLoopTriggered:a.autonomousLoopTriggered,mentioned:a.mentioned}}async function j(a){let b=await e.prisma.notification.create({data:{companyUuid:a.companyUuid,researchProjectUuid:a.researchProjectUuid,recipientType:a.recipientType,recipientUuid:a.recipientUuid,entityType:a.entityType,entityUuid:a.entityUuid,entityTitle:a.entityTitle,projectName:a.projectName,action:a.action,message:a.message,actorType:a.actorType,actorUuid:a.actorUuid,actorName:a.actorName}}),c=await e.prisma.notification.count({where:{companyUuid:a.companyUuid,recipientType:a.recipientType,recipientUuid:a.recipientUuid,readAt:null,archivedAt:null}});return f.B.emit(`notification:${a.recipientType}:${a.recipientUuid}`,{type:"new_notification",notificationUuid:b.uuid,action:a.action,message:a.message,projectName:a.projectName,entityTitle:a.entityTitle,unreadCount:c}),h(b)}async function k(a){let b=await Promise.all(a.map(a=>e.prisma.notification.create({data:{companyUuid:a.companyUuid,researchProjectUuid:a.researchProjectUuid,recipientType:a.recipientType,recipientUuid:a.recipientUuid,entityType:a.entityType,entityUuid:a.entityUuid,entityTitle:a.entityTitle,projectName:a.projectName,action:a.action,message:a.message,actorType:a.actorType,actorUuid:a.actorUuid,actorName:a.actorName}}))),c=new Set;for(let b of a)c.add(`${b.recipientType}:${b.recipientUuid}:${b.companyUuid}`);return await Promise.all(Array.from(c).map(async c=>{let[d,g,h]=c.split(":"),i=await e.prisma.notification.count({where:{companyUuid:h,recipientType:d,recipientUuid:g,readAt:null,archivedAt:null}}),j=a.find(a=>a.recipientType===d&&a.recipientUuid===g);f.B.emit(`notification:${d}:${g}`,{type:"new_notification",notificationUuid:b.find(a=>a.recipientType===d&&a.recipientUuid===g)?.uuid,action:j?.action,message:j?.message,projectName:j?.projectName,entityTitle:j?.entityTitle,unreadCount:i})})),b.map(h)}async function l(a){let{companyUuid:b,recipientType:c,recipientUuid:d,researchProjectUuid:f,readFilter:g,archived:i}=a,j=a.skip??0,k=a.take??20,l={companyUuid:b,recipientType:c,recipientUuid:d,...f&&{researchProjectUuid:f},..."unread"===g&&{readAt:null},..."read"===g&&{readAt:{not:null}},...!1===i&&{archivedAt:null},...!0===i&&{archivedAt:{not:null}}},[m,n,o]=await Promise.all([e.prisma.notification.findMany({where:l,skip:j,take:k,orderBy:{createdAt:"desc"}}),e.prisma.notification.count({where:l}),e.prisma.notification.count({where:{companyUuid:b,recipientType:c,recipientUuid:d,readAt:null,archivedAt:null}})]);return{notifications:m.map(h),total:n,unreadCount:o}}async function m(a,b,c){return e.prisma.notification.count({where:{companyUuid:a,recipientType:b,recipientUuid:c,readAt:null,archivedAt:null}})}async function n(a,b,c,d){await e.prisma.notification.updateMany({where:{uuid:a,companyUuid:b,recipientType:c,recipientUuid:d,readAt:null},data:{readAt:new Date}});let g=await e.prisma.notification.findFirst({where:{uuid:a,companyUuid:b}});if(!g)throw Error("Notification not found");let i=await m(b,c,d);return f.B.emit(`notification:${c}:${d}`,{type:"count_update",unreadCount:i}),h(g)}async function o(a,b,c,d){let g=await e.prisma.notification.updateMany({where:{companyUuid:a,recipientType:b,recipientUuid:c,readAt:null,...d&&{researchProjectUuid:d}},data:{readAt:new Date}}),h=await m(a,b,c);return f.B.emit(`notification:${b}:${c}`,{type:"count_update",unreadCount:h}),{count:g.count}}async function p(a,b,c,d){await e.prisma.notification.updateMany({where:{uuid:a,companyUuid:b,recipientType:c,recipientUuid:d,archivedAt:null},data:{archivedAt:new Date}});let g=await e.prisma.notification.findFirst({where:{uuid:a,companyUuid:b}});if(!g)throw Error("Notification not found");let i=await m(b,c,d);return f.B.emit(`notification:${c}:${d}`,{type:"count_update",unreadCount:i}),h(g)}async function q(a,b,c){let d=await e.prisma.notificationPreference.findUnique({where:{ownerType_ownerUuid:{ownerType:b,ownerUuid:c}}});return d||(d=await e.prisma.notificationPreference.create({data:{companyUuid:a,ownerType:b,ownerUuid:c}})),i(d)}async function r(a,b,c,d){let f=await e.prisma.notificationPreference.upsert({where:{ownerType_ownerUuid:{ownerType:b,ownerUuid:c}},create:{companyUuid:a,ownerType:b,ownerUuid:c,...d},update:d});return i(f)}e=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},42733:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(10023),e=c(31805);function f(){return(0,d.jsx)(e.j,{showBoard:!0})}},48873:(a,b,c)=>{"use strict";c.d(b,{Ik:()=>f,Yy:()=>d,nm:()=>e});class d extends Error{constructor(a){super(`${a} is already claimed`),this.name="AlreadyClaimedError"}}class e extends Error{constructor(a){super(`${a} is not currently claimed`),this.name="NotClaimedError"}}function f(a){return"object"==typeof a&&null!==a&&"code"in a&&"P2025"===a.code}},51870:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{DY:()=>g});var e=c(71255),f=a([e]);async function g(a,b){return e.z.experimentRegistry.findFirst({where:{runUuid:b,companyUuid:a}})}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},55732:(a,b,c)=>{"use strict";c.d(b,{bq:()=>l,eb:()=>n,gC:()=>m,l6:()=>j,yv:()=>k});var d=c(10837);c(21968);var e=c(21790),f=c(9810),g=c(85487),h=c(95556),i=c(96307);function j({...a}){return(0,d.jsx)(h.Root,{"data-slot":"select",...a})}function k({...a}){return(0,d.jsx)(h.Value,{"data-slot":"select-value",...a})}function l({className:a,size:b="default",children:c,...f}){return(0,d.jsxs)(h.Trigger,{"data-slot":"select-trigger","data-size":b,className:(0,i.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",a),...f,children:[c,(0,d.jsx)(h.Icon,{asChild:!0,children:(0,d.jsx)(e.A,{className:"size-4 opacity-50"})})]})}function m({className:a,children:b,position:c="item-aligned",align:e="center",...f}){return(0,d.jsx)(h.Portal,{children:(0,d.jsxs)(h.Content,{"data-slot":"select-content",className:(0,i.cn)("bg-popover text-popover-foreground 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-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===c&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:c,align:e,...f,children:[(0,d.jsx)(o,{}),(0,d.jsx)(h.Viewport,{className:(0,i.cn)("p-1","popper"===c&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:b}),(0,d.jsx)(p,{})]})})}function n({className:a,children:b,...c}){return(0,d.jsxs)(h.Item,{"data-slot":"select-item",className:(0,i.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",a),...c,children:[(0,d.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,d.jsx)(h.ItemIndicator,{children:(0,d.jsx)(f.A,{className:"size-4"})})}),(0,d.jsx)(h.ItemText,{children:b})]})}function o({className:a,...b}){return(0,d.jsx)(h.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(g.A,{className:"size-4"})})}function p({className:a,...b}){return(0,d.jsx)(h.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(e.A,{className:"size-4"})})}},60187:(a,b,c)=>{"use strict";c.d(b,{Oi:()=>m,eB:()=>k,nd:()=>h,u0:()=>l});var d=c(18481),e=c.n(d);let f=c(65582).vF.child({module:"redis"}),g=function(){if(process.env.REDIS_URL)return process.env.REDIS_URL;let a=process.env.REDIS_HOST;if(!a)return;let b=process.env.REDIS_PORT||"6379",c=process.env.REDIS_USERNAME||"default",d=process.env.REDIS_PASSWORD,e="rediss";return d?`${e}://${c}:${encodeURIComponent(d)}@${a}:${b}`:`${e}://${a}:${b}`}();function h(){return!!g}let i=globalThis;function j(a){let b=new(e())(g,{lazyConnect:!0,maxRetriesPerRequest:null,retryStrategy(b){let c=Math.min(200*b,5e3);return f.warn({name:a,delay:c,attempt:b},"reconnecting"),c}});return b.on("error",b=>{f.error({name:a,err:b.message||"unknown redis error"},"connection error")}),b.on("connect",()=>{f.info({name:a},"connected")}),b}function k(){return h()?(i.redisPub||(i.redisPub=j("pub")),i.redisPub):null}function l(){return h()?(i.redisSub||(i.redisSub=j("sub")),i.redisSub):null}function m(){let a=i.redisPub?.status??"not_initialized",b=i.redisSub?.status??"not_initialized",c=h();return{enabled:c,publisherStatus:a,subscriberStatus:b,transport:c&&("ready"===a||"ready"===b)?"redis":c?"memory-fallback":"disabled"}}},76565:(a,b,c)=>{var d={"./en.json":[87368,7368],"./zh.json":[72961,2961]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=76565,a.exports=e},76872:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{LS:()=>i,SJ:()=>k,Uo:()=>l,Xx:()=>m,Z_:()=>h,_9:()=>n,ir:()=>j,lR:()=>g});var e=c(52618),f=a([e]);async function g(a,b){if("user"===a){let a=await e.prisma.user.findUnique({where:{uuid:b},select:{name:!0,email:!0}});return a&&(a.name||a.email)||"Unknown"}if("agent"===a){let a=await e.prisma.agent.findUnique({where:{uuid:b},select:{name:!0}});return a?.name??null}return null}async function h(a,b){if(!a||!b)return null;let c=await g(a,b);return c?{type:a,uuid:b,name:c}:null}async function i(a,b){if(b){let c=await g(b,a);return c?{type:b,uuid:a,name:c}:null}let c=await e.prisma.user.findUnique({where:{uuid:a},select:{name:!0,email:!0}});if(c)return{type:"user",uuid:a,name:c.name||c.email||"Unknown"};let d=await e.prisma.agent.findUnique({where:{uuid:a},select:{name:!0}});return d?{type:"agent",uuid:a,name:d.name}:null}async function j(a,b,c,d){if(!a||!b)return null;let f=await g(a,b);if(!f)return null;let h=null;if("agent"===a){let a=await e.prisma.agent.findUnique({where:{uuid:b},select:{color:!0}});h=a?.color??null}let i=null;if(d){let a=await g("user",d);a&&(i={type:"user",uuid:d,name:a})}return{type:a,uuid:b,name:f,color:h,assignedAt:c?.toISOString()??null,assignedBy:i}}async function k(a,b,c){if(!a)return null;let d=await g("user",a);return d?{reviewedBy:{type:"user",uuid:a,name:d},reviewNote:b,reviewedAt:c?.toISOString()??null}:null}async function l(a){let b=new Map;if(0===a.length)return b;let c=[...new Set(a.filter(a=>"user"===a.type).map(a=>a.uuid))],d=[...new Set(a.filter(a=>"agent"===a.type).map(a=>a.uuid))],[f,g]=await Promise.all([c.length>0?e.prisma.user.findMany({where:{uuid:{in:c}},select:{uuid:!0,name:!0,email:!0}}):[],d.length>0?e.prisma.agent.findMany({where:{uuid:{in:d}},select:{uuid:!0,name:!0}}):[]]);for(let a of f)b.set(a.uuid,a.name||a.email||"Unknown");for(let a of g)b.set(a.uuid,a.name);return b}async function m(a){let b=new Map;if(0===a.length)return b;let c=[...new Set(a)],d=await e.prisma.user.findMany({where:{uuid:{in:c}},select:{uuid:!0,name:!0,email:!0}}),f=new Set;for(let a of d)f.add(a.uuid),b.set(a.uuid,{type:"user",uuid:a.uuid,name:a.name||a.email||"Unknown"});let g=c.filter(a=>!f.has(a));if(g.length>0)for(let a of(await e.prisma.agent.findMany({where:{uuid:{in:g}},select:{uuid:!0,name:!0}})))b.set(a.uuid,{type:"agent",uuid:a.uuid,name:a.name});return b}async function n(a,b,c){let d={uuid:b,companyUuid:c};switch(a){case"research_question":return!!await e.prisma.researchQuestion.findFirst({where:d,select:{uuid:!0}});case"experiment":return!!await e.prisma.experiment.findFirst({where:d,select:{uuid:!0}});case"experiment_design":return!!await e.prisma.experimentDesign.findFirst({where:d,select:{uuid:!0}});case"experiment_run":return!!await e.prisma.experimentRun.findFirst({where:d,select:{uuid:!0}});case"document":return!!await e.prisma.document.findFirst({where:d,select:{uuid:!0}});default:return!1}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},77219:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{XH:()=>i});var e=c(55511),f=c(71255),g=c(97307),h=a([f]);f=(h.then?(await h)():h)[0],g.vF.child({module:"api_key"});let j="syn_";function i(){var a;let b=(0,e.randomBytes)(32).toString("base64url"),c=`${j}${b}`,d=(a=c,(0,e.createHash)("sha256").update(a).digest("hex")),f=`${j}${b.slice(0,4)}...${b.slice(-4)}`;return{key:c,hash:d,prefix:f}}d()}catch(a){d(a)}})},80251:(a,b,c)=>{"use strict";c.d(b,{eu:()=>g,q5:()=>h});var d=c(10837);c(21968);var e=c(14672),f=c(96307);function g({className:a,size:b="default",...c}){return(0,d.jsx)(e.Root,{"data-slot":"avatar","data-size":b,className:(0,f.cn)("group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6",a),...c})}function h({className:a,...b}){return(0,d.jsx)(e.Fallback,{"data-slot":"avatar-fallback",className:(0,f.cn)("bg-muted text-muted-foreground flex size-full items-center justify-center rounded-full text-sm group-data-[size=sm]/avatar:text-xs",a),...b})}},82831:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{z7:()=>k});var e=c(10837),f=c(21968),g=c.n(f),h=c(41709),i=c(83457),j=a([i]);i=(j.then?(await j)():j)[0];let m=/@\[([^\]]+)\]\((user|agent):([a-f0-9-]+)\)/g;function k({children:a}){if(!a||"string"!=typeof a)return null;if(!new RegExp(m.source).test(a))return(0,e.jsx)("div",{className:"overflow-hidden [&_pre]:overflow-x-auto",children:(0,e.jsx)(h.jH,{plugins:{code:i.a},children:a})});let{processed:b,mentions:c}=function(a){let b=[],c=RegExp(m.source,"g");return{processed:a.replace(c,(a,c,d,e)=>{let f=b.length;return b.push({displayName:c,type:d,uuid:e}),`\u200B\u200BMENTION_${f}\u200B\u200B`}),mentions:b}}(a);return(0,e.jsx)(l,{mentions:c,children:(0,e.jsx)(h.jH,{plugins:{code:i.a},children:b})})}function l({children:a,mentions:b}){let c=g().useRef(null);return(0,e.jsx)("div",{ref:c,className:"overflow-hidden [&_pre]:overflow-x-auto",children:a})}d()}catch(a){d(a)}})},84819:(a,b,c)=>{"use strict";c.d(b,{Separator:()=>g});var d=c(10837);c(21968);var e=c(72229),f=c(96307);function g({className:a,orientation:b="horizontal",decorative:c=!0,...g}){return(0,d.jsx)(e.b,{"data-slot":"separator",decorative:c,orientation:b,className:(0,f.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",a),...g})}},85034:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{AM:()=>i,Fn:()=>j,Rq:()=>t,T0:()=>n,Wr:()=>p,_8:()=>q,et:()=>u,j5:()=>m,l:()=>o,np:()=>r,t3:()=>k,vP:()=>l});var e=c(18818),f=c(52618),g=c(91997),h=a([f,g]);async function i({companyUuid:a,skip:b,take:c}){let[d,e]=await Promise.all([f.prisma.researchProject.findMany({where:{companyUuid:a},skip:b,take:c,orderBy:{updatedAt:"desc"},select:{uuid:!0,name:!0,description:!0,goal:!0,datasets:!0,evaluationMethods:!0,latestSynthesisAt:!0,latestSynthesisIdeaCount:!0,latestSynthesisSummary:!0,groupUuid:!0,createdAt:!0,updatedAt:!0,_count:{select:{researchQuestions:!0,documents:!0,experiments:!0,activities:!0}}}}),f.prisma.researchProject.count({where:{companyUuid:a}})]);return{projects:d,total:e}}async function j(a,b){return f.prisma.researchProject.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0,name:!0,description:!0,goal:!0,datasets:!0,evaluationMethods:!0,repoUrl:!0,githubUsername:!0,githubToken:!0,latestSynthesisAt:!0,latestSynthesisIdeaCount:!0,latestSynthesisSummary:!0,createdAt:!0,updatedAt:!0,_count:{select:{researchQuestions:!0,documents:!0,experiments:!0,activities:!0}}}})}async function k(a,b){return f.prisma.researchProject.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0}})}async function l(a,b){return!!await k(a,b)}async function m(a,b){return f.prisma.researchProject.findFirst({where:{uuid:b,companyUuid:a},select:{uuid:!0,name:!0,description:!0,goal:!0,datasets:!0,evaluationMethods:!0,latestSynthesisAt:!0,latestSynthesisIdeaCount:!0,latestSynthesisSummary:!0,repoUrl:!0,githubUsername:!0,githubToken:!0}})}async function n(a,b){return(await f.prisma.researchProject.findMany({where:{companyUuid:a,groupUuid:b},select:{uuid:!0}})).map(a=>a.uuid)}async function o({companyUuid:a,name:b,description:c,goal:d,datasets:e,evaluationMethods:g,groupUuid:h,computePoolUuid:i}){return f.prisma.researchProject.create({data:{companyUuid:a,name:b,description:c,goal:d??null,datasets:e??[],evaluationMethods:g??[],groupUuid:h??null,computePoolUuid:i??null},select:{uuid:!0,name:!0,description:!0,goal:!0,datasets:!0,evaluationMethods:!0,groupUuid:!0,computePoolUuid:!0,createdAt:!0,updatedAt:!0}})}async function p(a,b){let c={...b};return void 0!==b.datasets&&(c.datasets=null===b.datasets?e.D1.Fj:b.datasets),void 0!==b.evaluationMethods&&(c.evaluationMethods=null===b.evaluationMethods?e.D1.Fj:b.evaluationMethods),void 0!==b.computePoolUuid&&(c.computePoolUuid=b.computePoolUuid??null),void 0!==b.autonomousLoopAgentUuid&&(c.autonomousLoopAgentUuid=b.autonomousLoopAgentUuid??null),void 0!==b.autoSearchAgentUuid&&(c.autoSearchAgentUuid=b.autoSearchAgentUuid??null),void 0!==b.deepResearchDocUuid&&(c.deepResearchDocUuid=b.deepResearchDocUuid??null),void 0!==b.repoUrl&&(c.repoUrl=b.repoUrl??null),void 0!==b.githubUsername&&(c.githubUsername=b.githubUsername??null),b.githubToken&&""!==b.githubToken.trim()&&(c.githubToken=b.githubToken.trim()),f.prisma.researchProject.update({where:{uuid:a},data:c,select:{uuid:!0,name:!0,description:!0,goal:!0,datasets:!0,evaluationMethods:!0,computePoolUuid:!0,autonomousLoopEnabled:!0,autonomousLoopAgentUuid:!0,autoSearchEnabled:!0,autoSearchAgentUuid:!0,deepResearchDocUuid:!0,repoUrl:!0,githubUsername:!0,latestSynthesisAt:!0,latestSynthesisIdeaCount:!0,latestSynthesisSummary:!0,createdAt:!0,updatedAt:!0}})}async function q(a){return await f.prisma.researchQuestion.updateMany({where:{researchProjectUuid:a,parentQuestionUuid:{not:null}},data:{parentQuestionUuid:null}}),f.prisma.researchProject.delete({where:{uuid:a}})}async function r({companyUuid:a,skip:b,take:c}){let{projects:d,total:e}=await i({companyUuid:a,skip:b,take:c}),f=d.map(a=>a.uuid),h=await (0,g.c8)(a,f);return{projects:d.map(a=>{let b=h.get(a.uuid)??{researchProjectUuid:a.uuid,researchQuestions:{total:0,open:0,elaborating:0,proposalCreated:0,completed:0,closed:0},experiments:{total:0,draft:0,pendingReview:0,pendingStart:0,inProgress:0,completed:0},experimentDesigns:{total:0,draft:0,pending:0,approved:0,rejected:0,closed:0,active:0},experimentRuns:{total:0,open:0,assigned:0,inProgress:0,toVerify:0,done:0,closed:0,completed:0},documents:{total:0},completionRate:0};return{...a,experimentRunsDone:b.experiments.completed,metrics:b}}),total:e}}async function s(a,b){let c=await (0,g.bF)(a,b);return{researchQuestions:{total:c.researchQuestions.total,open:c.researchQuestions.open+c.researchQuestions.elaborating,elaborating:c.researchQuestions.elaborating,proposalCreated:c.researchQuestions.proposalCreated,completed:c.researchQuestions.completed},experimentRuns:{total:c.experiments.total,inProgress:c.experiments.inProgress,todo:c.experiments.draft,toVerify:c.experiments.pendingReview+c.experiments.pendingStart,done:c.experiments.completed},experimentDesigns:{total:c.experiments.total,pending:c.experiments.pendingReview},experiments:{total:c.experiments.total,draft:c.experiments.draft,pendingReview:c.experiments.pendingReview,pendingStart:c.experiments.pendingStart,inProgress:c.experiments.inProgress,completed:c.experiments.completed},documents:{total:c.documents.total},completionRate:c.completionRate}}async function t(a,b){let[c,d,e,g,h]=await Promise.all([j(a,b),s(a,b),f.prisma.experiment.findMany({where:{companyUuid:a,researchProjectUuid:b},orderBy:{updatedAt:"desc"},take:5,select:{uuid:!0,title:!0,status:!0,outcome:!0}}),f.prisma.researchQuestion.findMany({where:{companyUuid:a,researchProjectUuid:b,reviewStatus:{not:"rejected"}},orderBy:{updatedAt:"desc"},take:5,select:{uuid:!0,title:!0,status:!0,reviewStatus:!0}}),f.prisma.relatedWork.count({where:{companyUuid:a,researchProjectUuid:b}})]);return c?{project:c,stats:d,recentExperiments:e,recentQuestions:g,relatedWorksCount:h}:null}async function u(a,b){let[c,d]=await Promise.all([f.prisma.researchProject.findFirst({where:{uuid:b,companyUuid:a},select:{latestSynthesisAt:!0,latestSynthesisIdeaCount:!0,latestSynthesisSummary:!0}}),f.prisma.experiment.findMany({where:{companyUuid:a,researchProjectUuid:b,status:"completed"},orderBy:{completedAt:"desc"},take:8,select:{uuid:!0,title:!0,outcome:!0,completedAt:!0,researchQuestion:{select:{title:!0}}}})]);return c?{project:c,completedExperiments:d}:null}[f,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},88437:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{E1:()=>k,nG:()=>j,s3:()=>i});var e=c(52618),f=c(911),g=c(76872),h=a([e,g]);async function i({companyUuid:a,researchProjectUuid:b,skip:c,take:d,targetType:f,targetUuid:g}){let h={researchProjectUuid:b,companyUuid:a,...f&&{targetType:f},...g&&{targetUuid:g}},[i,j]=await Promise.all([e.prisma.activity.findMany({where:h,skip:c,take:d,orderBy:{createdAt:"desc"},select:{uuid:!0,targetType:!0,targetUuid:!0,actorType:!0,actorUuid:!0,action:!0,value:!0,sessionUuid:!0,sessionName:!0,createdAt:!0}}),e.prisma.activity.count({where:h})]);return{activities:i,total:j}}async function j(a){let{activities:b,total:c}=await i(a),d=await (0,g.Uo)(b.map(a=>({type:a.actorType,uuid:a.actorUuid})));return{activities:b.map(a=>({uuid:a.uuid,targetType:a.targetType,targetUuid:a.targetUuid,action:a.action,actorType:a.actorType,actorName:d.get(a.actorUuid)||"Unknown",value:a.value,sessionUuid:a.sessionUuid,sessionName:a.sessionName,createdAt:a.createdAt.toISOString()})),total:c}}async function k({companyUuid:a,researchProjectUuid:b,targetType:c,targetUuid:d,actorType:g,actorUuid:h,action:i,value:j,sessionUuid:k,sessionName:l}){let m=await e.prisma.activity.create({data:{companyUuid:a,researchProjectUuid:b,targetType:c,targetUuid:d,actorType:g,actorUuid:h,action:i,value:j||void 0,sessionUuid:k||void 0,sessionName:l||void 0}});return f.B.emit("activity",{companyUuid:a,researchProjectUuid:b,targetType:c,targetUuid:d,actorType:g,actorUuid:h,action:i,value:j,sessionUuid:k,sessionName:l,uuid:m.uuid}),m}[e,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},90097:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{EN:()=>A,G_:()=>q,M9:()=>z,Qh:()=>t,Qr:()=>s,Xw:()=>u,Z4:()=>E,ci:()=>w,gT:()=>B,nW:()=>D,o4:()=>r,sp:()=>y,wZ:()=>C,x7:()=>v,xv:()=>x});var e=c(55511),f=c(71255),g=c(69996),h=c(92633),i=c(62729),j=c(53870),k=c(23180),l=a([f,h,j,k]);function m(a){return{...a,uuid:a.uuid||(0,e.randomUUID)()}}function n(a){return{...a,uuid:a.uuid||(0,e.randomUUID)()}}async function o(a){let b="user"===a.createdByType?"user":"agent",[c,d]=await Promise.all([(0,h.LS)(a.createdByUuid,b),(0,h.SJ)(a.reviewedByUuid,a.reviewNote,a.reviewedAt)]),e={uuid:a.uuid,title:a.title,description:a.description,inputType:a.inputType,inputUuids:a.inputUuids,documentDrafts:a.documentDrafts,taskDrafts:a.taskDrafts,status:a.status,createdBy:c,createdByType:a.createdByType,review:d,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()};return a.researchProject&&(e.project=a.researchProject),e}async function p(a,b){let c=await f.z.experimentDesign.findFirst({where:{uuid:b,companyUuid:a}});if(!c)throw Error("ExperimentDesign not found");let d=[],e=c.documentDrafts||[],g=c.taskDrafts||[],h=c.inputUuids||[];for(let a of(0===e.length&&d.push({id:"E1",level:"error",message:"Proposal must contain at least one document draft"}),e))(!a.content||a.content.length<100)&&d.push({id:"E2",level:"error",message:`Document draft "${a.title}" must have content with at least 100 characters`,field:a.title});if(0===g.length&&d.push({id:"E3",level:"error",message:"Proposal must contain at least one task draft"}),0===h.length&&d.push({id:"E4",level:"error",message:"Proposal must have at least one input (idea or other source)"}),"research_question"===c.inputType&&h.length>0)for(let b of(await f.z.researchQuestion.findMany({where:{uuid:{in:h},companyUuid:a},select:{uuid:!0,title:!0,elaborationStatus:!0}})))"resolved"!==b.elaborationStatus&&d.push({id:"E5",level:"error",message:`Input idea "${b.title}" has unresolved elaboration (status: ${b.elaborationStatus})`,field:b.title});for(let a of(e.some(a=>"tech_design"===a.type)||d.push({id:"W1",level:"warning",message:"Proposal should contain at least one tech design document draft"}),g))a.description&&0!==a.description.trim().length||d.push({id:"W2",level:"warning",message:`Task draft "${a.title}" is missing a description`,field:a.title});for(let a of g)a.acceptanceCriteriaItems&&0!==a.acceptanceCriteriaItems.length||d.push({id:"E-AC",level:"error",message:`Task draft "${a.title}" is missing acceptance criteria (structured items required)`,field:a.title});for(let a of(g.length>=2&&(g.some(a=>a.dependsOnDraftUuids&&a.dependsOnDraftUuids.length>0)||d.push({id:"W4",level:"warning",message:"When there are multiple tasks, at least one should declare dependencies"})),c.description&&0!==c.description.trim().length||d.push({id:"W5",level:"warning",message:"Proposal description should not be empty"}),g))a.priority||d.push({id:"I1",level:"info",message:`Task draft "${a.title}" does not have a priority set`,field:a.title});for(let a of g)null==a.computeBudgetHours&&d.push({id:"I2",level:"info",message:`Task draft "${a.title}" does not have story points set`,field:a.title});return{valid:!d.some(a=>"error"===a.level),issues:d}}async function q(a,b,c,d){let e=await f.z.researchQuestion.findMany({where:{uuid:{in:b},companyUuid:a},select:{uuid:!0,assigneeType:!0,assigneeUuid:!0}}),g=[];for(let a of e)(a.assigneeType!==d||a.assigneeUuid!==c)&&g.push(a.uuid);return{valid:0===g.length,unassignedResearchQuestions:g}}async function r(a,b){let c=await f.z.experimentDesign.findFirst({where:{uuid:b,companyUuid:a},include:{researchProject:{select:{uuid:!0,name:!0}}}});return c?o(c):null}async function s(a,b){return f.z.experimentDesign.findFirst({where:{uuid:b,companyUuid:a}})}async function t(a){let b=a.documentDrafts?.map(m),c=a.taskDrafts?.map(n),d=await f.z.experimentDesign.create({data:{companyUuid:a.companyUuid,researchProjectUuid:a.researchProjectUuid,title:a.title,description:a.description,inputType:a.inputType,inputUuids:a.inputUuids,...b&&{documentDrafts:b},...c&&{taskDrafts:c},status:"draft",createdByUuid:a.createdByUuid,createdByType:a.createdByType||"agent"},select:{uuid:!0,title:!0,description:!0,inputType:!0,inputUuids:!0,documentDrafts:!0,taskDrafts:!0,status:!0,createdByUuid:!0,createdByType:!0,reviewedByUuid:!0,reviewNote:!0,reviewedAt:!0,createdAt:!0,updatedAt:!0}});return i.B.emitChange({companyUuid:a.companyUuid,researchProjectUuid:a.researchProjectUuid,entityType:"experiment_design",entityUuid:d.uuid,action:"created"}),o(d)}async function u(a,b,c,d){let e=await f.z.experimentDesign.findFirst({where:{uuid:a,companyUuid:b}});if(!e)throw Error("ExperimentDesign not found");let{updatedProposal:g,materializedTasks:h,materializedDocuments:l}=await f.z.$transaction(async b=>{let f=await b.experimentDesign.update({where:{uuid:a},data:{status:"approved",reviewedByUuid:c,reviewNote:d||null,reviewedAt:new Date},include:{researchProject:{select:{uuid:!0,name:!0}}}}),g=e.documentDrafts,h=e.taskDrafts,i=[],l=[];if(g&&g.length>0)for(let a of g){let b=await (0,j.hG)(e.companyUuid,e.researchProjectUuid,e.uuid,e.createdByUuid,a);l.push({draftUuid:a.uuid,documentUuid:b.uuid,title:b.title})}if(h&&h.length>0){for(let a of h)if(a.acceptanceCriteriaItems&&a.acceptanceCriteriaItems.length>0)for(let b=0;b<a.acceptanceCriteriaItems.length;b++){let c=a.acceptanceCriteriaItems[b];if(!c.description||"string"!=typeof c.description||0===c.description.trim().length)throw Error(`Task draft "${a.title}": acceptanceCriteriaItems[${b}] has an empty or invalid description`)}let{draftToTaskUuidMap:a}=await (0,k.Kb)(e.companyUuid,e.researchProjectUuid,e.uuid,e.createdByUuid,h);for(let b of h){let c=a.get(b.uuid);c&&i.push({draftUuid:b.uuid,runUuid:c,title:b.title})}for(let c of h){if(c.dependsOnDraftUuids&&c.dependsOnDraftUuids.length>0){let d=a.get(c.uuid);if(!d)continue;for(let e of c.dependsOnDraftUuids){let c=a.get(e);c&&await b.runDependency.create({data:{runUuid:d,dependsOnRunUuid:c}})}}if(c.acceptanceCriteriaItems&&c.acceptanceCriteriaItems.length>0){let d=a.get(c.uuid);if(!d)continue;await b.acceptanceCriterion.createMany({data:c.acceptanceCriteriaItems.map((a,b)=>({runUuid:d,description:a.description.trim(),required:a.required??!0,sortOrder:b}))})}}}return{updatedProposal:f,materializedTasks:i,materializedDocuments:l}});if(i.B.emitChange({companyUuid:e.companyUuid,researchProjectUuid:e.researchProjectUuid,entityType:"experiment_design",entityUuid:a,action:"updated"}),"research_question"===e.inputType){let a=e.inputUuids||[];a.length>0&&await f.z.researchQuestion.updateMany({where:{uuid:{in:a},companyUuid:b,status:"proposal_created"},data:{status:"completed"}})}let m=await o(g);return h.length>0&&(m.materializedTasks=h),l.length>0&&(m.materializedDocuments=l),m}async function v(a,b,c){let d=await f.z.experimentDesign.update({where:{uuid:a},data:{status:"draft",reviewedByUuid:b,reviewNote:c,reviewedAt:new Date},include:{researchProject:{select:{uuid:!0,name:!0}}}});return i.B.emitChange({companyUuid:d.companyUuid,researchProjectUuid:d.researchProjectUuid,entityType:"experiment_design",entityUuid:d.uuid,action:"updated"}),o(d)}async function w(a,b,c){let d=await f.z.experimentDesign.update({where:{uuid:a},data:{status:"closed",reviewedByUuid:b,reviewNote:c,reviewedAt:new Date},include:{researchProject:{select:{uuid:!0,name:!0}}}});return i.B.emitChange({companyUuid:d.companyUuid,researchProjectUuid:d.researchProjectUuid,entityType:"experiment_design",entityUuid:d.uuid,action:"updated"}),o(d)}async function x(a,b){let c=await f.z.experimentDesign.findFirst({where:{uuid:a,companyUuid:b}});if(!c)throw Error("ExperimentDesign not found");await f.z.experimentDesign.delete({where:{uuid:a}}),i.B.emitChange({companyUuid:c.companyUuid,researchProjectUuid:c.researchProjectUuid,entityType:"experiment_design",entityUuid:c.uuid,action:"deleted"})}async function y(a,b){let c=await f.z.experimentDesign.findFirst({where:{uuid:a,companyUuid:b}});if(!c)throw Error("ExperimentDesign not found");if("draft"!==c.status)throw Error("Only draft experiment designs can be submitted for review");let d=await p(b,a);if(!d.valid){let a=d.issues.map(a=>`[${a.level}] ${a.message}`);throw Error(`ExperimentDesign validation failed:
|
|
14
14
|
${a.join("\n")}`)}let e=await f.z.experimentDesign.update({where:{uuid:a},data:{status:"pending"},include:{researchProject:{select:{uuid:!0,name:!0}}}});if("research_question"===c.inputType){let a=c.inputUuids||[];a.length>0&&await f.z.researchQuestion.updateMany({where:{uuid:{in:a},companyUuid:b,status:"elaborating"},data:{status:"proposal_created"}})}return i.B.emitChange({companyUuid:e.companyUuid,researchProjectUuid:e.researchProjectUuid,entityType:"experiment_design",entityUuid:e.uuid,action:"updated"}),o(e)}async function z(a,b,c){let d=await f.z.experimentDesign.findFirst({where:{uuid:a,companyUuid:b,status:"draft"}});if(!d)throw Error("ExperimentDesign not found or not in draft status");let e=d.documentDrafts||[],g=m(c),h=[...e,g],i=await f.z.experimentDesign.update({where:{uuid:a},data:{documentDrafts:h},include:{researchProject:{select:{uuid:!0,name:!0}}}});return o(i)}async function A(a,b,c){let d=await f.z.experimentDesign.findFirst({where:{uuid:a,companyUuid:b,status:"draft"}});if(!d)throw Error("ExperimentDesign not found or not in draft status");let e=d.taskDrafts||[],g=n(c),h=[...e,g],i=await f.z.experimentDesign.update({where:{uuid:a},data:{taskDrafts:h},include:{researchProject:{select:{uuid:!0,name:!0}}}});return o(i)}async function B(a,b,c,d){let e=await f.z.experimentDesign.findFirst({where:{uuid:a,companyUuid:b,status:"draft"}});if(!e)throw Error("ExperimentDesign not found or not in draft status");let g=e.documentDrafts||[],h=g.findIndex(a=>a.uuid===c);if(-1===h)throw Error("Document draft not found");g[h]={...g[h],...d};let i=await f.z.experimentDesign.update({where:{uuid:a},data:{documentDrafts:g},include:{researchProject:{select:{uuid:!0,name:!0}}}});return o(i)}async function C(a,b,c,d){let e=await f.z.experimentDesign.findFirst({where:{uuid:a,companyUuid:b,status:"draft"}});if(!e)throw Error("ExperimentDesign not found or not in draft status");let g=e.taskDrafts||[],h=g.findIndex(a=>a.uuid===c);if(-1===h)throw Error("Run draft not found");g[h]={...g[h],...d};let i=await f.z.experimentDesign.update({where:{uuid:a},data:{taskDrafts:g},include:{researchProject:{select:{uuid:!0,name:!0}}}});return o(i)}async function D(a,b,c){let d=await f.z.experimentDesign.findFirst({where:{uuid:a,companyUuid:b,status:"draft"}});if(!d)throw Error("ExperimentDesign not found or not in draft status");let e=(d.documentDrafts||[]).filter(a=>a.uuid!==c),h=await f.z.experimentDesign.update({where:{uuid:a},data:{documentDrafts:e.length>0?e:g.D1.Fj},include:{researchProject:{select:{uuid:!0,name:!0}}}});return o(h)}async function E(a,b,c){let d=await f.z.experimentDesign.findFirst({where:{uuid:a,companyUuid:b,status:"draft"}});if(!d)throw Error("ExperimentDesign not found or not in draft status");let e=(d.taskDrafts||[]).filter(a=>a.uuid!==c).map(a=>({...a,dependsOnDraftUuids:a.dependsOnDraftUuids?.filter(a=>a!==c)})),h=await f.z.experimentDesign.update({where:{uuid:a},data:{taskDrafts:e.length>0?e:g.D1.Fj},include:{researchProject:{select:{uuid:!0,name:!0}}}});return o(h)}[f,h,j,k]=l.then?(await l)():l,d()}catch(a){d(a)}})},90136:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$V:()=>o,Ae:()=>v,Be:()=>A,Rd:()=>w,Zv:()=>n,_W:()=>s,e0:()=>x,ok:()=>r,pg:()=>u,ph:()=>z,q0:()=>t,vp:()=>q});var e=c(52618),f=c(76872),g=c(911),h=c(24009),i=c(48873),j=c(65582),k=c(90494),l=c(88437),m=a([e,f,k,l]);[e,f,k,l]=m.then?(await m)():m;let B=j.vF.child({module:"research_question"}),C={open:["elaborating","closed"],elaborating:["proposal_created","closed"],proposal_created:["completed","elaborating","closed"],completed:["closed"],closed:[]};function n(a){switch(a){case"assigned":case"in_progress":return"elaborating";case"pending_review":case"experiment_created":return"proposal_created";default:return a}}function o(a,b){let c=n(a),d=n(b);return(C[c]||[]).includes(d)}async function p(a){let[b,c]=await Promise.all([(0,f.ir)(a.assigneeType,a.assigneeUuid,a.assignedAt,a.assignedByUuid),(0,f.LS)(a.createdByUuid)]);return{uuid:a.uuid,title:a.title,content:a.content,attachments:a.attachments,parentQuestionUuid:a.parentQuestionUuid,childQuestionUuids:a.childQuestions?.map(a=>a.uuid)??[],experimentCount:a._count?.experiments??0,sourceType:a.sourceType,sourceLabel:a.sourceLabel,generatedByAgentUuid:a.generatedByAgentUuid,reviewStatus:a.reviewStatus,reviewedByUuid:a.reviewedByUuid,reviewNote:a.reviewNote,reviewedAt:a.reviewedAt?.toISOString()??null,status:n(a.status),assignee:b,...a.researchProject&&{project:a.researchProject},...null!=a.elaborationStatus&&{elaborationStatus:a.elaborationStatus},...null!=a.elaborationDepth&&{elaborationDepth:a.elaborationDepth},createdBy:c,createdAt:a.createdAt.toISOString(),updatedAt:a.updatedAt.toISOString()}}async function q({companyUuid:a,researchProjectUuid:b,skip:c,take:d,status:f,assignedToMe:g,actorUuid:h,actorType:i}){let j={researchProjectUuid:b,companyUuid:a,...f&&{status:f}};g&&h&&i&&(j.assigneeUuid=h,j.assigneeType=i);let[k,l]=await Promise.all([e.prisma.researchQuestion.findMany({where:j,skip:c,take:d,orderBy:{createdAt:"desc"},select:{uuid:!0,title:!0,content:!0,attachments:!0,parentQuestionUuid:!0,childQuestions:{select:{uuid:!0},orderBy:{createdAt:"asc"}},_count:{select:{experiments:!0}},sourceType:!0,sourceLabel:!0,generatedByAgentUuid:!0,reviewStatus:!0,reviewedByUuid:!0,reviewNote:!0,reviewedAt:!0,status:!0,elaborationStatus:!0,elaborationDepth:!0,assigneeType:!0,assigneeUuid:!0,assignedAt:!0,assignedByUuid:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0}}),e.prisma.researchQuestion.count({where:j})]);return{researchQuestions:await Promise.all(k.map(p)),total:l}}async function r(a,b){let c=await e.prisma.researchQuestion.findFirst({where:{uuid:b,companyUuid:a},include:{researchProject:{select:{uuid:!0,name:!0}},childQuestions:{select:{uuid:!0},orderBy:{createdAt:"asc"}},_count:{select:{experiments:!0}}}});return c?p(c):null}async function s(a,b){return e.prisma.researchQuestion.findFirst({where:{uuid:b,companyUuid:a},include:{parentQuestion:{select:{uuid:!0,researchProjectUuid:!0}},childQuestions:{select:{uuid:!0},orderBy:{createdAt:"asc"}},_count:{select:{experiments:!0}}}})}async function t(a){if(a.parentQuestionUuid&&!await e.prisma.researchQuestion.findFirst({where:{uuid:a.parentQuestionUuid,companyUuid:a.companyUuid,researchProjectUuid:a.researchProjectUuid},select:{uuid:!0}}))throw Error("Parent research question not found");let b=await e.prisma.researchQuestion.create({data:{companyUuid:a.companyUuid,researchProjectUuid:a.researchProjectUuid,title:a.title,content:a.content,attachments:a.attachments||void 0,parentQuestionUuid:a.parentQuestionUuid??null,sourceType:a.sourceType??"human",sourceLabel:a.sourceLabel??null,generatedByAgentUuid:a.generatedByAgentUuid??null,reviewStatus:"agent"===a.sourceType?"pending":"accepted",status:"open",createdByUuid:a.createdByUuid},select:{uuid:!0,title:!0,content:!0,attachments:!0,parentQuestionUuid:!0,childQuestions:{select:{uuid:!0},orderBy:{createdAt:"asc"}},_count:{select:{experiments:!0}},sourceType:!0,sourceLabel:!0,generatedByAgentUuid:!0,reviewStatus:!0,reviewedByUuid:!0,reviewNote:!0,reviewedAt:!0,status:!0,elaborationStatus:!0,elaborationDepth:!0,assigneeType:!0,assigneeUuid:!0,assignedAt:!0,assignedByUuid:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0}});return g.B.emitChange({companyUuid:a.companyUuid,researchProjectUuid:a.researchProjectUuid,entityType:"research_question",entityUuid:b.uuid,action:"created"}),p(b)}async function u(a,b,c,d){let f=void 0!==c.parentQuestionUuid?await e.prisma.researchQuestion.findFirst({where:{uuid:a,companyUuid:b},select:{uuid:!0,researchProjectUuid:!0}}):null;if(void 0!==c.parentQuestionUuid&&f){if(c.parentQuestionUuid===a)throw Error("A research question cannot be its own parent");if(c.parentQuestionUuid){let d=await e.prisma.researchQuestion.findFirst({where:{uuid:c.parentQuestionUuid,companyUuid:b,researchProjectUuid:f.researchProjectUuid},select:{uuid:!0,parentQuestionUuid:!0}});if(!d)throw Error("Parent research question not found");let g=d.uuid;for(;g;){if(g===a)throw Error("Cannot move a research question under one of its descendants");let b=await e.prisma.researchQuestion.findUnique({where:{uuid:g},select:{parentQuestionUuid:!0}});g=b?.parentQuestionUuid}}}let h=null;if(void 0!==c.content&&d){let b=await e.prisma.researchQuestion.findUnique({where:{uuid:a},select:{content:!0}});h=b?.content??null}let i=await e.prisma.researchQuestion.update({where:{uuid:a},data:c,include:{researchProject:{select:{uuid:!0,name:!0}},childQuestions:{select:{uuid:!0},orderBy:{createdAt:"asc"}},_count:{select:{experiments:!0}}}});return g.B.emitChange({companyUuid:i.companyUuid,researchProjectUuid:i.researchProject.uuid,entityType:"research_question",entityUuid:i.uuid,action:"updated"}),void 0!==c.content&&d&&c.content&&y(i.companyUuid,i.researchProject.uuid,i.uuid,i.title,h,c.content,d.actorType,d.actorUuid).catch(a=>B.error({err:a},"failed to process mentions")),p(i)}async function v({researchQuestionUuid:a,companyUuid:b,assigneeType:c,assigneeUuid:d,assignedByUuid:f}){let h=await e.prisma.researchQuestion.findFirst({where:{uuid:a,companyUuid:b}});if(!h||h.assigneeUuid)throw new i.Yy("Idea");if("completed"===h.status||"closed"===h.status)throw Error("Cannot claim a completed or closed ResearchQuestion");if("rejected"===h.reviewStatus)throw Error("Cannot claim a rejected ResearchQuestion");let j=await e.prisma.researchQuestion.update({where:{uuid:a},data:{status:"elaborating",assigneeType:c,assigneeUuid:d,assignedAt:new Date,assignedByUuid:f},include:{researchProject:{select:{uuid:!0,name:!0}}}});return g.B.emitChange({companyUuid:j.companyUuid,researchProjectUuid:j.researchProject.uuid,entityType:"research_question",entityUuid:j.uuid,action:"updated"}),p(j)}async function w(a){let b=await e.prisma.researchQuestion.findUnique({where:{uuid:a}});if(!b)throw Error("ResearchQuestion not found");if("completed"===b.status||"closed"===b.status)throw Error("Cannot release a completed or closed ResearchQuestion");let c=await e.prisma.researchQuestion.update({where:{uuid:a},data:{status:"open",assigneeType:null,assigneeUuid:null,assignedAt:null,assignedByUuid:null,elaborationDepth:null,elaborationStatus:null},include:{researchProject:{select:{uuid:!0,name:!0}}}});return g.B.emitChange({companyUuid:c.companyUuid,researchProjectUuid:c.researchProject.uuid,entityType:"research_question",entityUuid:c.uuid,action:"updated"}),p(c)}async function x(a,b,c,d,f){let h=await e.prisma.researchQuestion.update({where:{uuid:b},data:{reviewStatus:c,reviewedByUuid:d,reviewNote:f??null,reviewedAt:new Date,status:"rejected"===c?"closed":"open",assigneeType:"rejected"===c?null:void 0,assigneeUuid:"rejected"===c?null:void 0,assignedAt:"rejected"===c?null:void 0,assignedByUuid:"rejected"===c?null:void 0},include:{researchProject:{select:{uuid:!0,name:!0}}}});return g.B.emitChange({companyUuid:a,researchProjectUuid:h.researchProject.uuid,entityType:"research_question",entityUuid:h.uuid,action:"updated"}),p(h)}async function y(a,b,c,d,e,f,g,h){let i=e?k.Xs(e):[],j=k.Xs(f),m=new Set(i.map(a=>`${a.type}:${a.uuid}`)),n=j.filter(a=>!m.has(`${a.type}:${a.uuid}`));if(0!==n.length)for(let e of(await k.AM({companyUuid:a,sourceType:"research_question",sourceUuid:c,content:f,actorType:g,actorUuid:h,researchProjectUuid:b,entityTitle:d}),n))(e.type!==g||e.uuid!==h)&&await l.E1({companyUuid:a,researchProjectUuid:b,targetType:"research_question",targetUuid:c,actorType:g,actorUuid:h,action:"mentioned",value:{mentionedType:e.type,mentionedUuid:e.uuid,mentionedName:e.displayName,sourceType:"research_question",sourceUuid:c}})}async function z(a){let b=await e.prisma.researchQuestion.findUnique({where:{uuid:a},select:{uuid:!0,companyUuid:!0,researchProjectUuid:!0}});if(!b)throw Error("ResearchQuestion not found");let c=await e.prisma.researchQuestion.findMany({where:{companyUuid:b.companyUuid,researchProjectUuid:b.researchProjectUuid},select:{uuid:!0,parentQuestionUuid:!0}}),d=new Map;for(let a of c){let b=d.get(a.parentQuestionUuid??null)??[];b.push(a.uuid),d.set(a.parentQuestionUuid??null,b)}let f=[],h=[{uuid:a,depth:0}];for(;h.length>0;){let a=h.shift();for(let b of(f.push(a),d.get(a.uuid)??[]))h.push({uuid:b,depth:a.depth+1})}let i=f.map(a=>a.uuid),j=(await e.prisma.experiment.findMany({where:{companyUuid:b.companyUuid,researchQuestionUuid:{in:i}},select:{uuid:!0}})).map(a=>a.uuid);for(let a of(await e.prisma.$transaction(async a=>{j.length>0&&(await a.experimentGpuReservation.deleteMany({where:{companyUuid:b.companyUuid,experimentUuid:{in:j}}}),await a.experiment.deleteMany({where:{companyUuid:b.companyUuid,uuid:{in:j}}}));let c=new Map;for(let a of f){let b=c.get(a.depth)??[];b.push(a.uuid),c.set(a.depth,b)}for(let b of[...c.keys()].sort((a,b)=>b-a))await a.researchQuestion.deleteMany({where:{uuid:{in:c.get(b)??[]}}})}),j))g.B.emitChange({companyUuid:b.companyUuid,researchProjectUuid:b.researchProjectUuid,entityType:"experiment",entityUuid:a,action:"deleted"});for(let a of f)g.B.emitChange({companyUuid:b.companyUuid,researchProjectUuid:b.researchProjectUuid,entityType:"research_question",entityUuid:a.uuid,action:"deleted"});return b}async function A(a,b,c,d,f="user"){let i=await e.prisma.researchQuestion.findFirst({where:{uuid:b,companyUuid:a},include:{researchProject:{select:{uuid:!0,name:!0}}}});if(!i)throw new h.hD("NOT_FOUND","ResearchQuestion not found",404);let j=await e.prisma.researchProject.findFirst({where:{uuid:c,companyUuid:a},select:{uuid:!0,name:!0}});if(!j)throw new h.hD("NOT_FOUND","Target project not found",404);if(i.researchProjectUuid===c)throw new h.hD("BAD_REQUEST","ResearchQuestion is already in the target project",400);let k=i.researchProjectUuid;await e.prisma.$transaction(async d=>{await d.researchQuestion.update({where:{uuid:b},data:{researchProjectUuid:c}}),await d.experimentDesign.updateMany({where:{companyUuid:a,inputType:"research_question",inputUuids:{array_contains:[b]},status:{in:["draft","pending"]}},data:{researchProjectUuid:c}})}),await l.E1({companyUuid:a,researchProjectUuid:c,targetType:"research_question",targetUuid:b,actorType:f,actorUuid:d,action:"moved",value:{fromProjectUuid:k,fromProjectName:i.researchProject.name,toProjectUuid:c,toProjectName:j.name}}),g.B.emitChange({companyUuid:a,researchProjectUuid:k,entityType:"research_question",entityUuid:b,action:"updated"}),g.B.emitChange({companyUuid:a,researchProjectUuid:c,entityType:"research_question",entityUuid:b,action:"updated"});let m=await e.prisma.researchQuestion.findFirst({where:{uuid:b,companyUuid:a},include:{researchProject:{select:{uuid:!0,name:!0}}}});return p(m)}d()}catch(a){d(a)}})},90494:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{AM:()=>j,Xs:()=>i,_L:()=>k});var e=c(52618),f=c(76872),g=c(37943),h=a([e,f,g]);[e,f,g]=h.then?(await h)():h;let m=/@\[([^\]]+)\]\((user|agent):([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\)/gi;function i(a){let b,c=[],d=new Set;for(m.lastIndex=0;null!==(b=m.exec(a))&&!(c.length>=10);){let a=b[1],e=b[2].toLowerCase(),f=b[3].toLowerCase(),g=`${e}:${f}`;d.has(g)||(d.add(g),c.push({type:e,uuid:f,displayName:a}))}return c}async function j(a){let{companyUuid:b,sourceType:c,sourceUuid:d,content:h,actorType:j,actorUuid:k,researchProjectUuid:n,entityTitle:o}=a,p=i(h);if(0===p.length)return;let q=p.filter(a=>a.type!==j||a.uuid!==k);if(0===q.length)return;let r=[];for(let a of q)await l(b,a.type,a.uuid)&&r.push(a);if(0===r.length)return;await e.prisma.mention.createMany({data:r.map(a=>({companyUuid:b,sourceType:c,sourceUuid:d,mentionedType:a.type,mentionedUuid:a.uuid,actorType:j,actorUuid:k}))});let s=await (0,f.lR)(j,k)??"Someone",t=await e.prisma.researchProject.findUnique({where:{uuid:n},select:{name:!0}}),u=t?.name??"Unknown Project",v=function(a){let b=a.replace(m,"@$1");return b.length<=120?b:b.substring(0,117)+"..."}(h),w=c,x=d;if("comment"===c){let a=await e.prisma.comment.findUnique({where:{uuid:d},select:{targetType:!0,targetUuid:!0}});a&&(w=a.targetType,x=a.targetUuid)}let y=[];for(let a of r){if(!(await g.lX(b,a.type,a.uuid)).mentioned)continue;let c=`${s} mentioned you: "${v}"`;y.push({companyUuid:b,researchProjectUuid:n,recipientType:a.type,recipientUuid:a.uuid,entityType:w,entityUuid:x,entityTitle:o,projectName:u,action:"mentioned",message:c,actorType:j,actorUuid:k,actorName:s})}y.length>0&&await g.Xm(y)}async function k(a){let b,{companyUuid:c,query:d,actorType:f,actorUuid:g,ownerUuid:h,limit:i=10}=a,j=Math.min(i,50),k=[];if("user"===f?b=g:"agent"===f&&h&&(b=h),!d){if(b)for(let a of(await e.prisma.agent.findMany({where:{companyUuid:c,ownerUuid:b},select:{uuid:!0,name:!0,roles:!0},orderBy:{createdAt:"desc"},take:Math.min(5,j)})))k.push({type:"agent",uuid:a.uuid,name:a.name,roles:a.roles});return k}for(let a of(await e.prisma.user.findMany({where:{companyUuid:c,OR:[{name:{contains:d,mode:"insensitive"}},{email:{contains:d,mode:"insensitive"}}]},select:{uuid:!0,name:!0,email:!0,avatarUrl:!0},take:j})))k.push({type:"user",uuid:a.uuid,name:a.name??a.email??"Unknown",email:a.email,avatarUrl:a.avatarUrl});let l={companyUuid:c,name:{contains:d,mode:"insensitive"}};for(let a of(b&&(l.ownerUuid=b),await e.prisma.agent.findMany({where:l,select:{uuid:!0,name:!0,roles:!0},take:j-k.length>0?j-k.length:j})))k.push({type:"agent",uuid:a.uuid,name:a.name,roles:a.roles});return k.slice(0,j)}async function l(a,b,c){return"user"===b?!!await e.prisma.user.findFirst({where:{uuid:c,companyUuid:a},select:{uuid:!0}}):!!await e.prisma.agent.findFirst({where:{uuid:c,companyUuid:a},select:{uuid:!0}})}d()}catch(a){d(a)}})},91997:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{PM:()=>j,bF:()=>l,c8:()=>k});var e=c(52618),f=c(90136),g=a([e,f]);function h(a){return{researchProjectUuid:a,researchQuestions:{total:0,open:0,elaborating:0,proposalCreated:0,completed:0,closed:0},experiments:{total:0,draft:0,pendingReview:0,pendingStart:0,inProgress:0,completed:0},experimentDesigns:{total:0,draft:0,pending:0,approved:0,rejected:0,closed:0,active:0},experimentRuns:{total:0,open:0,assigned:0,inProgress:0,toVerify:0,done:0,closed:0,completed:0},documents:{total:0},completionRate:0}}function i(a){let b=new Map;for(let c of a){let a=b.get(c.researchProjectUuid)??new Map;a.set(c.status??"",c._count._all),b.set(c.researchProjectUuid,a)}return b}function j(a){return{researchQuestions:a.researchQuestions.total,openResearchQuestions:a.researchQuestions.open,documents:a.documents.total,experiments:a.experiments.total,doneExperiments:a.experiments.completed,experimentDesigns:a.experimentDesigns.total,activeExperimentDesigns:a.experimentDesigns.active,experimentRuns:a.experimentRuns.total,doneExperimentRuns:a.experimentRuns.completed,ideas:a.researchQuestions.total,tasks:a.experiments.total,doneTasks:a.experiments.completed,proposals:a.experimentDesigns.total}}async function k(a,b){let c=new Map(b.map(a=>[a,h(a)]));if(0===b.length)return c;let[d,g,j,k,l]=await Promise.all([e.prisma.researchQuestion.groupBy({by:["researchProjectUuid","status"],where:{companyUuid:a,researchProjectUuid:{in:b}},_count:{_all:!0}}),e.prisma.experiment.groupBy({by:["researchProjectUuid","status"],where:{companyUuid:a,researchProjectUuid:{in:b}},_count:{_all:!0}}),e.prisma.experimentDesign.groupBy({by:["researchProjectUuid","status"],where:{companyUuid:a,researchProjectUuid:{in:b}},_count:{_all:!0}}),e.prisma.experimentRun.groupBy({by:["researchProjectUuid","status"],where:{companyUuid:a,researchProjectUuid:{in:b}},_count:{_all:!0}}),e.prisma.document.groupBy({by:["researchProjectUuid"],where:{companyUuid:a,researchProjectUuid:{in:b}},_count:{_all:!0}})]),m=i(d),n=i(g),o=i(j),p=i(k),q=new Map(l.map(a=>[a.researchProjectUuid,a._count._all]));for(let a of b){let b=h(a);b.researchQuestions=function(a,b){let c=b.get(a)??new Map,d=new Map;for(let[a,b]of c.entries()){let c=(0,f.Zv)(a);d.set(c,(d.get(c)??0)+b)}return{total:Array.from(d.values()).reduce((a,b)=>a+b,0),open:d.get("open")??0,elaborating:d.get("elaborating")??0,proposalCreated:d.get("proposal_created")??0,completed:d.get("completed")??0,closed:d.get("closed")??0}}(a,m),b.experiments=function(a,b){let c=b.get(a)??new Map,d=Array.from(c.values()).reduce((a,b)=>a+b,0),e=c.get("draft")??0,f=c.get("pending_review")??0,g=c.get("pending_start")??0,h=c.get("in_progress")??0,i=c.get("completed")??0;return{total:d,draft:e,pendingReview:f,pendingStart:g,inProgress:h,completed:i}}(a,n),b.experimentDesigns=function(a,b){let c=b.get(a)??new Map,d=Array.from(c.values()).reduce((a,b)=>a+b,0),e=c.get("draft")??0,f=c.get("pending")??0,g=c.get("approved")??0,h=c.get("rejected")??0,i=c.get("closed")??0;return{total:d,draft:e,pending:f,approved:g,rejected:h,closed:i,active:e+f}}(a,o),b.experimentRuns=function(a,b){let c=b.get(a)??new Map,d=Array.from(c.values()).reduce((a,b)=>a+b,0),e=c.get("open")??0,f=c.get("assigned")??0,g=c.get("in_progress")??0,h=c.get("to_verify")??0,i=c.get("done")??0,j=c.get("closed")??0;return{total:d,open:e,assigned:f,inProgress:g,toVerify:h,done:i,closed:j,completed:i+j}}(a,p),b.documents.total=q.get(a)??0,b.completionRate=b.experiments.total>0?Math.round(b.experiments.completed/b.experiments.total*100):b.experimentRuns.total>0?Math.round(b.experimentRuns.completed/b.experimentRuns.total*100):0,c.set(a,b)}return c}async function l(a,b){return(await k(a,[b])).get(b)??h(b)}[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})}};
|