@synapse-research/synapse 0.2.13 → 0.2.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.next/BUILD_ID +1 -1
- package/dist/.next/app-build-manifest.json +531 -509
- package/dist/.next/app-path-routes-manifest.json +53 -52
- package/dist/.next/build-manifest.json +5 -5
- package/dist/.next/prerender-manifest.json +15 -15
- 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.js +2 -2
- package/dist/.next/server/app/(dashboard)/compute/page.js.nft.json +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.js +1 -1
- package/dist/.next/server/app/(dashboard)/project-groups/[uuid]/page.js.nft.json +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.js +2 -2
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/activity/page.js.nft.json +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.js +3 -3
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/dashboard/page.js.nft.json +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 +3 -3
- 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 +1 -1
- 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 +3 -3
- 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.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiment-designs/page.js.nft.json +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.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiment-runs/page.js.nft.json +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.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/experiments/new/page.js.nft.json +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 -2
- 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.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/insights/page.js.nft.json +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]/lessons/page.js +82 -0
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/lessons/page.js.nft.json +1 -0
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/lessons/page_client-reference-manifest.js +1 -0
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/page.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/related-works/page.js +1 -1
- 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.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/research-questions/[questionUuid]/page.js.nft.json +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 +1 -1
- 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.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/[uuid]/settings/page.js.nft.json +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 +1 -1
- 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.js +1 -1
- package/dist/.next/server/app/(dashboard)/research-projects/page.js.nft.json +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.js +1 -1
- package/dist/.next/server/app/(dashboard)/settings/page.js.nft.json +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 +2 -2
- 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 +4 -4
- 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 +4 -4
- 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 +4 -4
- 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-gpus/[uuid]/release/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]/images/[filename]/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/documents/[uuid]/images/route_client-reference-manifest.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_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_client-reference-manifest.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_client-reference-manifest.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_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.js +83 -3
- package/dist/.next/server/app/api/mcp/route_client-reference-manifest.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/[uuid]/synthesis/complete/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/synthesis/refresh/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/research-projects/[uuid]/synthesis/trigger/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_client-reference-manifest.js +1 -1
- 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 +2 -2
- 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 +3 -3
- 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 +2 -2
- 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 +2 -2
- package/dist/.next/server/app/login.html +1 -1
- package/dist/.next/server/app/login.rsc +3 -3
- 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 +4 -4
- package/dist/.next/server/app/research-projects.html +1 -1
- package/dist/.next/server/app/research-projects.rsc +4 -4
- package/dist/.next/server/app/settings.html +1 -1
- package/dist/.next/server/app/settings.rsc +4 -4
- package/dist/.next/server/app-paths-manifest.json +53 -52
- package/dist/.next/server/chunks/2457.js +1 -0
- package/dist/.next/server/chunks/2961.js +1 -1
- package/dist/.next/server/chunks/314.js +1 -1
- package/dist/.next/server/chunks/3390.js +1 -0
- package/dist/.next/server/chunks/3791.js +1 -1
- package/dist/.next/server/chunks/38.js +1 -0
- package/dist/.next/server/chunks/5562.js +1 -0
- package/dist/.next/server/chunks/5731.js +1 -0
- package/dist/.next/server/chunks/6113.js +1 -1
- package/dist/.next/server/chunks/7368.js +1 -1
- package/dist/.next/server/chunks/7422.js +1 -1
- package/dist/.next/server/chunks/7950.js +5 -0
- package/dist/.next/server/chunks/8283.js +1 -1
- package/dist/.next/server/chunks/8499.js +2 -2
- package/dist/.next/server/chunks/920.js +1 -1
- package/dist/.next/server/middleware-build-manifest.js +1 -1
- 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/pages-manifest.json +1 -1
- package/dist/.next/static/chunks/11370-8dbcaac1521218ba.js +1 -0
- package/dist/.next/static/chunks/{93093-24ce597a2771d2b4.js → 12790-d3547c5d0ba40341.js} +1 -1
- package/dist/.next/static/chunks/{93114-fecdce8b8178aac5.js → 24393-0180ede85b53b481.js} +1 -1
- package/dist/.next/static/chunks/2737-f6c323e9c6e8d008.js +1 -0
- package/dist/.next/static/chunks/{21139-d60467f21097636a.js → 30102-38e46ac99fdf4b58.js} +1 -1
- package/dist/.next/static/chunks/4073-2c91d56c6a35deca.js +1 -0
- package/dist/.next/static/chunks/{43721-ae7eb4a95e230f06.js → 43721-35cac435f9f90ebb.js} +1 -1
- package/dist/.next/static/chunks/4860.dc4631dc159e353e.js +1 -0
- package/dist/.next/static/chunks/52891-ceb6172bf494a95d.js +1 -0
- package/dist/.next/static/chunks/53241-ee634986ecd50e43.js +1 -0
- package/dist/.next/static/chunks/58229-09f15b58bdfce521.js +5 -0
- package/dist/.next/static/chunks/71350-e9acd6eea60c4535.js +1 -0
- package/dist/.next/static/chunks/{97844-1df9ddfcc5b2421a.js → 72664-44d48812ccc05bd8.js} +1 -1
- package/dist/.next/static/chunks/80382-794293a6415df0b7.js +1 -0
- package/dist/.next/static/chunks/99373.14bb226afd207689.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/agents/loading-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/agents/{page-f22762510a1aba92.js → page-5c42502d3418fea0.js} +1 -1
- package/dist/.next/static/chunks/app/(dashboard)/compute/loading-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/compute/{page-69bcc7e8611d9a67.js → page-b1e10b06af4a57c3.js} +1 -1
- package/dist/.next/static/chunks/app/(dashboard)/layout-d7c0c55fdba0b163.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/loading-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-0a21af59529a8509.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/activity/page-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/dashboard/loading-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/dashboard/page-b7f19c062b2c8f02.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/documents/[documentUuid]/page-05f8715faaae4033.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/documents/loading-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/documents/page-eaed24baf6186f5b.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/experiment-designs/[designUuid]/page-59331da86cfbd003.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/experiment-designs/page-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/experiment-runs/[runUuid]/page-15b1b86e6f55f21e.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/experiment-runs/page-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/experiments/loading-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/experiments/page-5323a1a768358d47.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/insights/loading-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/insights/{page-1c58128ace8f50f2.js → page-ad987324ef5a425d.js} +1 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/lessons/loading-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/lessons/page-572ec754feeaffec.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/loading-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/page-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/related-works/loading-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/related-works/page-9b513afaf235e272.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/research-questions/[questionUuid]/page-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/research-questions/loading-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/research-questions/page-032daa6cc9ef5908.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/settings/loading-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/settings/page-3321b22cb77f244e.js +1 -0
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/new/{page-7b7e9752df9a4343.js → page-ec36a137724ea1c7.js} +1 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/{page-e1833dc32e8e5180.js → page-3ce35d315183d0e7.js} +1 -1
- package/dist/.next/static/chunks/app/(dashboard)/settings/{page-5c5369e7fe336fbf.js → page-2b9b838ede7154fb.js} +1 -1
- package/dist/.next/static/chunks/app/admin/companies/[uuid]/page-1dd55ce3a4bb64a8.js +1 -0
- package/dist/.next/static/chunks/app/admin/companies/new/page-7407b0a795cb3bab.js +1 -0
- package/dist/.next/static/chunks/app/admin/companies/page-9266b9905f865716.js +1 -0
- package/dist/.next/static/chunks/app/admin/layout-e8ba70042af5389f.js +1 -0
- package/dist/.next/static/chunks/app/admin/page-c8e46daaf1069303.js +1 -0
- package/dist/.next/static/chunks/app/api/admin/companies/[uuid]/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/admin/companies/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/admin/login/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/admin/session/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/admin/stats/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/agents/[uuid]/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/agents/[uuid]/sessions/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/agents/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/api-keys/[uuid]/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/api-keys/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/auth/callback/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/auth/check-default/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/auth/default-login/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/auth/identify/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/auth/logout/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/auth/me/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/auth/refresh/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/auth/session/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/auth/sync-token/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/comments/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/compute-gpus/[uuid]/release/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/compute-nodes/[uuid]/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/compute-nodes/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/compute-pools/[uuid]/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/compute-pools/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/documents/[uuid]/images/[filename]/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/documents/[uuid]/images/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/documents/[uuid]/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/events/notifications/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/events/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/experiment-designs/[uuid]/approve/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/experiment-designs/[uuid]/close/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/experiment-designs/[uuid]/reject/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/experiment-designs/[uuid]/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/claim/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/dependencies/[dependsOnRunUuid]/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/dependencies/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/evaluate-criteria/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/registry/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/release/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/sessions/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/complete/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/progress/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/request-plan/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/reset/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/review/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/start/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/health/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/mcp/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/me/assignments/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/mentionables/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/notifications/[uuid]/archive/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/notifications/[uuid]/read/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/notifications/preferences/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/notifications/read-all/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/notifications/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/notifications/unread-count/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/onboarding/status/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/project-groups/[uuid]/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/project-groups/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/activity/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/agent-activity/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/available/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/baselines/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/documents/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/experiment-designs/[designUuid]/validate/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/experiment-designs/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/experiment-designs/summary/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/experiment-runs/dependencies/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/experiment-runs/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/experiments/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/github/branches/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/group/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/related-works/[workUuid]/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/related-works/auto-search/complete/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/related-works/auto-search/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/related-works/deep-research/complete/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/related-works/deep-research/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/related-works/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/research-questions/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/synthesis/complete/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/synthesis/refresh/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/synthesis/trigger/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-projects/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-questions/[uuid]/claim/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-questions/[uuid]/move/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-questions/[uuid]/release/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-questions/[uuid]/review/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/research-questions/[uuid]/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/sessions/[uuid]/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/settings/integrations/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/api/ssh-config/route-94bec255806637fb.js +1 -0
- package/dist/.next/static/chunks/app/login/admin/page-78ff162d0a473389.js +1 -0
- package/dist/.next/static/chunks/app/login/{page-d3862c6ba55e15f6.js → page-7f563c406447e242.js} +1 -1
- package/dist/.next/static/chunks/app/onboarding/{page-ee736550d4f970e2.js → page-b0e345a7959b1576.js} +1 -1
- package/dist/.next/static/chunks/{webpack-a5770aaad373187a.js → webpack-22f5eba5b76c577a.js} +1 -1
- package/dist/.next/static/css/a10581cad102651e.css +1 -0
- package/dist/prisma/migrations/20260514192000_add_experiment_incident_lessons/migration.sql +59 -0
- package/dist/prisma/schema.prisma +36 -0
- package/package.json +1 -1
- package/dist/.next/server/chunks/1216.js +0 -1
- package/dist/.next/server/chunks/5826.js +0 -5
- package/dist/.next/server/chunks/6088.js +0 -1
- package/dist/.next/server/chunks/658.js +0 -1
- package/dist/.next/server/chunks/907.js +0 -1
- package/dist/.next/static/chunks/1156-c099265b7c7de8ea.js +0 -1
- package/dist/.next/static/chunks/18148-29dd083467122773.js +0 -1
- package/dist/.next/static/chunks/30895-8fe158fae80e0ac2.js +0 -1
- package/dist/.next/static/chunks/32825-46542f8813e05868.js +0 -1
- package/dist/.next/static/chunks/41320-4cbf34803a25b1ad.js +0 -1
- package/dist/.next/static/chunks/4860.267547168b346b58.js +0 -1
- package/dist/.next/static/chunks/52559-356f88ebc2bb1714.js +0 -5
- package/dist/.next/static/chunks/6322-9e58509119d6db0b.js +0 -1
- package/dist/.next/static/chunks/67620-3b37bef40b49d08b.js +0 -1
- package/dist/.next/static/chunks/99373.3c4a4c4eccf26a3b.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/agents/loading-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/compute/loading-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/layout-ea19529c2ac3ff78.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/loading-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-4253047e033c8fb4.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/activity/page-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/dashboard/loading-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/dashboard/page-ec1b0b839044995f.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/documents/[documentUuid]/page-568a065a6fe9562f.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/documents/loading-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/documents/page-e878d5cfbf44770c.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/experiment-designs/[designUuid]/page-5be7b5428cfa9953.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/experiment-designs/page-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/experiment-runs/[runUuid]/page-9eaecee406d4cccc.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/experiment-runs/page-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/experiments/loading-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/experiments/page-e25f36eeb9b68948.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/insights/loading-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/loading-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/page-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/related-works/loading-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/related-works/page-e8591798d8d793b0.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/research-questions/[questionUuid]/page-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/research-questions/loading-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/research-questions/page-ec1db775ef5d5e4e.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/settings/loading-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/(dashboard)/research-projects/[uuid]/settings/page-de1cf685bb18e7a2.js +0 -1
- package/dist/.next/static/chunks/app/admin/companies/[uuid]/page-66ee6875a58dfcc9.js +0 -1
- package/dist/.next/static/chunks/app/admin/companies/new/page-acf33900c54cbf61.js +0 -1
- package/dist/.next/static/chunks/app/admin/companies/page-44f47c5fe9f01931.js +0 -1
- package/dist/.next/static/chunks/app/admin/layout-bcbd13b1b30f7c39.js +0 -1
- package/dist/.next/static/chunks/app/admin/page-4b50b1de904861bf.js +0 -1
- package/dist/.next/static/chunks/app/api/admin/companies/[uuid]/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/admin/companies/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/admin/login/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/admin/session/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/admin/stats/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/agents/[uuid]/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/agents/[uuid]/sessions/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/agents/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/api-keys/[uuid]/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/api-keys/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/auth/callback/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/auth/check-default/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/auth/default-login/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/auth/identify/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/auth/logout/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/auth/me/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/auth/refresh/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/auth/session/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/auth/sync-token/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/comments/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/compute-gpus/[uuid]/release/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/compute-nodes/[uuid]/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/compute-nodes/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/compute-pools/[uuid]/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/compute-pools/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/documents/[uuid]/images/[filename]/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/documents/[uuid]/images/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/documents/[uuid]/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/events/notifications/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/events/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/experiment-designs/[uuid]/approve/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/experiment-designs/[uuid]/close/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/experiment-designs/[uuid]/reject/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/experiment-designs/[uuid]/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/claim/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/dependencies/[dependsOnRunUuid]/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/dependencies/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/evaluate-criteria/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/registry/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/release/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/experiment-runs/[uuid]/sessions/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/complete/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/progress/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/request-plan/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/reset/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/review/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/experiments/[uuid]/start/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/health/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/mcp/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/me/assignments/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/mentionables/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/notifications/[uuid]/archive/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/notifications/[uuid]/read/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/notifications/preferences/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/notifications/read-all/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/notifications/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/notifications/unread-count/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/onboarding/status/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/project-groups/[uuid]/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/project-groups/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/activity/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/agent-activity/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/available/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/baselines/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/documents/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/experiment-designs/[designUuid]/validate/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/experiment-designs/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/experiment-designs/summary/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/experiment-runs/dependencies/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/experiment-runs/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/experiments/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/github/branches/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/group/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/related-works/[workUuid]/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/related-works/auto-search/complete/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/related-works/auto-search/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/related-works/deep-research/complete/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/related-works/deep-research/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/related-works/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/research-questions/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/synthesis/complete/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/synthesis/refresh/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/[uuid]/synthesis/trigger/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-projects/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-questions/[uuid]/claim/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-questions/[uuid]/move/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-questions/[uuid]/release/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-questions/[uuid]/review/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/research-questions/[uuid]/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/sessions/[uuid]/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/settings/integrations/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/api/ssh-config/route-6b2a05f797e2c4a9.js +0 -1
- package/dist/.next/static/chunks/app/login/admin/page-8dda79e82c76ba88.js +0 -1
- package/dist/.next/static/css/81cb96eb0c1ad534.css +0 -1
- /package/dist/.next/static/{VlyiqgSt6DSLuCX7rlcKa → pDqWpKlO0UvhYF_M3n6bG}/_buildManifest.js +0 -0
- /package/dist/.next/static/{VlyiqgSt6DSLuCX7rlcKa → pDqWpKlO0UvhYF_M3n6bG}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";exports.id=8499,exports.ids=[8499],exports.modules={8777:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Cs:()=>l,Nn:()=>o,YE:()=>k,hG:()=>p,lC:()=>j,lU:()=>n,ui:()=>m});var e=c(52618),f=c(76872),g=c(911),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({companyUuid:a,researchProjectUuid:b,skip:c,take:d,type:f}){let g={researchProjectUuid:b,companyUuid:a,...f&&{type:f}},[h,j]=await Promise.all([e.prisma.document.findMany({where:g,skip:c,take:d,orderBy:{updatedAt:"desc"},select:{uuid:!0,type:!0,title:!0,version:!0,experimentDesignUuid:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0}}),e.prisma.document.count({where:g})]);return{documents:await Promise.all(h.map(a=>i(a))),total:j}}async function k(a,b){let c=await e.prisma.document.findFirst({where:{uuid:b,companyUuid:a},include:{researchProject:{select:{uuid:!0,name:!0}}}});return c?i(c,!0):null}async function l(a,b){return e.prisma.document.findFirst({where:{uuid:b,companyUuid:a}})}async function m(a){let b=await e.prisma.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 n(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.prisma.document.update({where:{uuid:a},data:f,include:{researchProject:{select:{uuid:!0,name:!0}}}});return i(g,!0)}async function o(a){return e.prisma.document.delete({where:{uuid:a}})}async function p(a,b,c,d,f){let g=await e.prisma.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)}})},48499:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{AG:()=>
|
|
1
|
+
"use strict";exports.id=8499,exports.ids=[8499],exports.modules={8777:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Cs:()=>l,Nn:()=>o,YE:()=>k,hG:()=>p,lC:()=>j,lU:()=>n,ui:()=>m});var e=c(52618),f=c(76872),g=c(911),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({companyUuid:a,researchProjectUuid:b,skip:c,take:d,type:f}){let g={researchProjectUuid:b,companyUuid:a,...f&&{type:f}},[h,j]=await Promise.all([e.prisma.document.findMany({where:g,skip:c,take:d,orderBy:{updatedAt:"desc"},select:{uuid:!0,type:!0,title:!0,version:!0,experimentDesignUuid:!0,createdByUuid:!0,createdAt:!0,updatedAt:!0}}),e.prisma.document.count({where:g})]);return{documents:await Promise.all(h.map(a=>i(a))),total:j}}async function k(a,b){let c=await e.prisma.document.findFirst({where:{uuid:b,companyUuid:a},include:{researchProject:{select:{uuid:!0,name:!0}}}});return c?i(c,!0):null}async function l(a,b){return e.prisma.document.findFirst({where:{uuid:b,companyUuid:a}})}async function m(a){let b=await e.prisma.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 n(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.prisma.document.update({where:{uuid:a},data:f,include:{researchProject:{select:{uuid:!0,name:!0}}}});return i(g,!0)}async function o(a){return e.prisma.document.delete({where:{uuid:a}})}async function p(a,b,c,d,f){let g=await e.prisma.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)}})},48499:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{AG:()=>I,C6:()=>J,Cl:()=>G,Ej:()=>v,P8:()=>N,Si:()=>w,XA:()=>E,_m:()=>F,js:()=>K,lV:()=>D,rH:()=>S,sd:()=>M,t3:()=>H,tp:()=>C,yD:()=>L,z0:()=>O,zX:()=>Q});var e=c(18818),f=c(52618),g=c(911),h=c(48873),i=c(76872),j=c(65582),k=c(88437),l=c(8777),m=c(37943),n=c(96718),o=a([f,i,k,l,m,n]);[f,i,k,l,m,n]=o.then?(await o)():o;let T=j.vF.child({module:"experiment"}),U={draft:["pending_review","pending_start"],pending_review:["draft","pending_start"],pending_start:["draft","pending_review","in_progress"],in_progress:["draft","pending_review","pending_start","completed"],completed:["draft","pending_review","pending_start"]},V={immediate:0,high:1,medium:2,low:3},W="experiment_result";function p(a){if(void 0!==a)return null===a?e.D1.Fj:a}function q(a){return"immediate"===a||"high"===a||"medium"===a||"low"===a?a:"medium"}function r(a){return a.assignedAt??a.createdAt}function s(a){return[...a].sort((a,b)=>{let c=V[q(a.priority)]-V[q(b.priority)];return 0!==c?c:r(a).getTime()-r(b).getTime()})}function t(a){return`<!-- synapse:experiment:${a} -->`}function u(a){return`Experiment Result \xb7 ${a}`}async function v(a){let b=await f.prisma.experiment.findFirst({where:{uuid:a.experimentUuid,companyUuid:a.companyUuid},select:{uuid:!0,title:!0,researchProjectUuid:!0,assigneeType:!0,assigneeUuid:!0}});if(!b)throw Error("Experiment not found");A(b,a.actorType,a.actorUuid,"complete",a.ownerUuid);let c=t(b.uuid),d=a.title?.trim()||u(b.title),e=function(a,b){let c=t(b);if(a.includes(c))return a;let d=a.trim();return d?`${c}
|
|
2
2
|
|
|
3
|
-
${d}`:c}(a.content,c.uuid),h=await f.prisma.document.findFirst({where:{companyUuid:a.companyUuid,researchProjectUuid:c.researchProjectUuid,type:U,content:{contains:d}},select:{uuid:!0,version:!0}});if(h){let a=await (0,l.lU)(h.uuid,{title:e,content:g,incrementVersion:!0});return{uuid:a.uuid,title:a.title,version:a.version,action:"updated"}}let i=await (0,l.ui)({companyUuid:a.companyUuid,researchProjectUuid:c.researchProjectUuid,type:U,title:e,content:g,createdByUuid:a.actorUuid});return{uuid:i.uuid,title:i.title,version:i.version,action:"created"}}function v(a,b){if(a!==b&&!S[a]?.includes(b))throw new h.xh(a,b)}async function w(a){a.fromStatus!==a.toStatus&&await M(a.researchProjectUuid,a.companyUuid).catch(b=>R.error({err:b,experimentUuid:a.experimentUuid,fromStatus:a.fromStatus,toStatus:a.toStatus,...a.extra},`autonomous loop trigger check failed after ${a.context}`))}async function x(a){await M(a.researchProjectUuid,a.companyUuid).catch(b=>R.error({err:b,experimentUuid:a.experimentUuid},`autonomous loop trigger check failed after ${a.context}`))}function y(a,b,c,d,e){if(a.assigneeType&&a.assigneeUuid&&(a.assigneeType!==b||a.assigneeUuid!==c)&&("user"!==b||"agent"!==a.assigneeType)&&("agent"!==b||"user"!==a.assigneeType||e!==a.assigneeUuid))throw Error(`Only the assigned actor can ${d} this experiment`)}async function z(a,b){let[c,d]=await Promise.all([(0,i.ir)(b.assigneeType,b.assigneeUuid,b.assignedAt,b.assignedByUuid),(0,i.LS)(b.createdByUuid,"agent"===b.createdByType?"agent":"user")]),[e,g]=await Promise.all([b.researchQuestion?.parentQuestionUuid?f.prisma.experiment.findMany({where:{companyUuid:a,researchQuestionUuid:b.researchQuestion.parentQuestionUuid},select:{uuid:!0,title:!0,status:!0,outcome:!0,updatedAt:!0},orderBy:[{updatedAt:"desc"},{createdAt:"desc"}]}):Promise.resolve([]),f.prisma.document.findFirst({where:{companyUuid:a,researchProjectUuid:b.researchProjectUuid,type:U,content:{contains:t(b.uuid)}},select:{uuid:!0,title:!0}})]);return{uuid:b.uuid,researchProjectUuid:b.researchProjectUuid,researchQuestionUuid:b.researchQuestionUuid,title:b.title,description:b.description,status:b.status,priority:b.priority,computeBudgetHours:b.computeBudgetHours,computeUsedHours:b.computeUsedHours,outcome:b.outcome,results:b.results??null,attachments:b.attachments??null,baseBranch:b.baseBranch,experimentBranch:b.experimentBranch,commitSha:b.commitSha,resultDocument:g,liveStatus:b.liveStatus,liveMessage:b.liveMessage,liveUpdatedAt:b.liveUpdatedAt?.toISOString()??null,assignee:c,createdBy:d,reviewedByUuid:b.reviewedByUuid,reviewNote:b.reviewNote,reviewedAt:b.reviewedAt?.toISOString()??null,startedAt:b.startedAt?.toISOString()??null,completedAt:b.completedAt?.toISOString()??null,createdAt:b.createdAt.toISOString(),updatedAt:b.updatedAt.toISOString(),researchQuestion:b.researchQuestion??null,parentQuestionExperiments:e.map(a=>({uuid:a.uuid,title:a.title,status:a.status,outcome:a.outcome,updatedAt:a.updatedAt.toISOString()}))}}async function A(a,b,c){let d={liveStatus:b,liveUpdatedAt:new Date};void 0!==c&&(d.liveMessage=c);let e=await f.prisma.experiment.update({where:{uuid:a},data:d,select:{researchProjectUuid:!0,companyUuid:!0}});g.B.emitChange({companyUuid:e.companyUuid,researchProjectUuid:e.researchProjectUuid,entityType:"experiment",entityUuid:a,action:"updated"})}async function B({companyUuid:a,researchProjectUuid:b,status:c,skip:d,take:e}){let g={companyUuid:a,researchProjectUuid:b,...c?{status:c}:{}},[h,i]=await Promise.all([f.prisma.experiment.findMany({where:g,skip:d,take:e,orderBy:[{createdAt:"asc"}],include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}}),f.prisma.experiment.count({where:g})]);return{experiments:await Promise.all(s(h).map(b=>z(a,b))),total:i}}async function C(a){let b=await f.prisma.experiment.findMany({where:{companyUuid:a.companyUuid,assigneeUuid:a.assigneeUuid,...a.assigneeType?{assigneeType:a.assigneeType}:{},...a.researchProjectUuid?{researchProjectUuid:a.researchProjectUuid}:{},...a.statuses?.length?{status:{in:a.statuses}}:{}},orderBy:[{createdAt:"asc"}],include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}});return Promise.all(s(b).map(b=>z(a.companyUuid,b)))}async function D(a,b){let c=await f.prisma.experiment.findFirst({where:{companyUuid:a,uuid:b},include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}});return c?z(a,c):null}async function E(a){let b=a.status??("agent"===a.createdByType?"draft":"pending_start"),c=a.assigneeUuid?{assigneeUuid:a.assigneeUuid,assigneeType:a.assigneeType??"agent",assignedAt:a.assignedAt??new Date,assignedByUuid:a.assignedByUuid??a.createdByUuid}:{},d=await f.prisma.experiment.create({data:{companyUuid:a.companyUuid,researchProjectUuid:a.researchProjectUuid,researchQuestionUuid:a.researchQuestionUuid??null,title:a.title,description:a.description??null,priority:q(a.priority),status:b,computeBudgetHours:a.computeBudgetHours??null,attachments:a.attachments?a.attachments:e.D1.Fj,baseBranch:a.baseBranch??null,createdByUuid:a.createdByUuid,createdByType:a.createdByType??"user",...c},include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}});await k.E1({companyUuid:a.companyUuid,researchProjectUuid:a.researchProjectUuid,targetType:"experiment",targetUuid:d.uuid,actorType:a.createdByType??"user",actorUuid:a.createdByUuid,action:"created"}),a.researchQuestionUuid&&await f.prisma.researchQuestion.update({where:{uuid:a.researchQuestionUuid},data:{status:"proposal_created"}}),g.B.emitChange({companyUuid:a.companyUuid,researchProjectUuid:a.researchProjectUuid,entityType:"experiment",entityUuid:d.uuid,action:"created",actorUuid:a.createdByUuid});let h=await f.prisma.researchProject.findFirst({where:{uuid:a.researchProjectUuid,companyUuid:a.companyUuid},select:{name:!0}});try{await m.vt({companyUuid:a.companyUuid,researchProjectUuid:a.researchProjectUuid,recipientType:a.createdByType??"user",recipientUuid:a.createdByUuid,entityType:"experiment",entityUuid:d.uuid,entityTitle:d.title,projectName:h?.name??"",action:"experiment_created",message:"created",actorType:a.createdByType??"user",actorUuid:a.createdByUuid,actorName:await (0,i.lR)(a.createdByType??"user",a.createdByUuid)||"Unknown"})}catch{}return z(a.companyUuid,d)}async function F(a,b,c,d){let e=void 0!==c.status?await f.prisma.experiment.findFirst({where:{uuid:b,companyUuid:a},select:{status:!0,researchProjectUuid:!0,researchProject:{select:{name:!0}}}}):null;if(void 0!==c.status){if(!e)throw Error("Experiment not found");v(e.status,c.status)}let h=void 0!==c.status&&"in_progress"!==c.status,j=await f.prisma.experiment.update({where:{uuid:b},data:{...void 0!==c.title?{title:c.title}:{},...void 0!==c.description?{description:c.description}:{},...void 0!==c.researchQuestionUuid?{researchQuestionUuid:c.researchQuestionUuid}:{},...void 0!==c.status?{status:c.status}:{},...void 0!==c.priority?{priority:q(c.priority)}:{},...void 0!==c.computeBudgetHours?{computeBudgetHours:c.computeBudgetHours}:{},...void 0!==c.outcome?{outcome:c.outcome}:{},...void 0!==c.results?{results:p(c.results)}:{},...void 0!==c.attachments?{attachments:p(c.attachments)}:{},...h?{liveStatus:null,liveMessage:null,liveUpdatedAt:new Date}:{}},include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}});if(c.researchQuestionUuid&&await f.prisma.researchQuestion.update({where:{uuid:c.researchQuestionUuid},data:{status:"proposal_created"}}),d&&await k.E1({companyUuid:a,researchProjectUuid:j.researchProjectUuid,targetType:"experiment",targetUuid:j.uuid,actorType:d.actorType,actorUuid:d.actorUuid,action:"updated"}),g.B.emitChange({companyUuid:a,researchProjectUuid:j.researchProjectUuid,entityType:"experiment",entityUuid:j.uuid,action:"updated",actorUuid:d?.actorUuid}),void 0!==c.status&&e&&d){let b=c.status.replace(/_/g," ");try{await m.vt({companyUuid:a,researchProjectUuid:j.researchProjectUuid,recipientType:d.actorType,recipientUuid:d.actorUuid,entityType:"experiment",entityUuid:j.uuid,entityTitle:j.title,projectName:e.researchProject?.name??"",action:"experiment_status_changed",message:`→ ${b}`,actorType:d.actorType,actorUuid:d.actorUuid,actorName:await (0,i.lR)(d.actorType,d.actorUuid)||"Unknown"})}catch{}}return void 0!==c.status&&e?await w({companyUuid:a,researchProjectUuid:j.researchProjectUuid,experimentUuid:j.uuid,fromStatus:e.status,toStatus:c.status,context:"experiment status update"}):await x({companyUuid:a,researchProjectUuid:j.researchProjectUuid,experimentUuid:j.uuid,context:"experiment metadata update"}),z(a,j)}async function G(a){let b=a.actorType??"user",c=await f.prisma.experiment.findFirst({where:{uuid:a.experimentUuid,companyUuid:a.companyUuid},include:{researchProject:{select:{name:!0}}}});if(!c)throw Error("Experiment not found");v(c.status,a.approved?"pending_start":"draft");let d=Object.prototype.hasOwnProperty.call(a,"assignedAgentUuid"),e=d?a.assignedAgentUuid??null:c.assigneeUuid,h=await f.prisma.experiment.update({where:{uuid:a.experimentUuid},data:{status:a.approved?"pending_start":"draft",reviewedByUuid:a.actorUuid,reviewNote:a.reviewNote??null,reviewedAt:new Date,...d?{assigneeType:e?"agent":null,assigneeUuid:e,assignedAt:e?new Date:null,assignedByUuid:e?a.actorUuid:null,liveStatus:!a.approved&&e?"sent":null,liveMessage:null,liveUpdatedAt:new Date}:{}},include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}});await k.E1({companyUuid:a.companyUuid,researchProjectUuid:h.researchProjectUuid,targetType:"experiment",targetUuid:h.uuid,actorType:b,actorUuid:a.actorUuid,action:a.approved?"approved":"rejected",value:a.reviewNote?{reviewNote:a.reviewNote}:void 0}),g.B.emitChange({companyUuid:a.companyUuid,researchProjectUuid:h.researchProjectUuid,entityType:"experiment",entityUuid:h.uuid,action:"updated",actorUuid:a.actorUuid});try{await m.vt({companyUuid:a.companyUuid,researchProjectUuid:h.researchProjectUuid,recipientType:b,recipientUuid:a.actorUuid,entityType:"experiment",entityUuid:h.uuid,entityTitle:h.title,projectName:c.researchProject.name,action:"experiment_status_changed",message:a.approved?"→ approved":"→ returned to draft",actorType:b,actorUuid:a.actorUuid,actorName:await (0,i.lR)(b,a.actorUuid)||"Unknown"})}catch{}let j=a.approved&&"agent"===h.assigneeType&&h.assigneeUuid?h.assigneeUuid:null;if(j){try{let d=await (0,i.lR)(b,a.actorUuid);await m.vt({companyUuid:a.companyUuid,researchProjectUuid:h.researchProjectUuid,recipientType:"agent",recipientUuid:j,entityType:"experiment",entityUuid:h.uuid,entityTitle:h.title,projectName:c.researchProject.name,action:"task_assigned",message:`${h.title} has been approved and assigned to you.`,actorType:b,actorUuid:a.actorUuid,actorName:d||"Unknown"})}catch(a){R.error({err:a},"failed to send task_assigned notification after review approval")}try{await A(a.experimentUuid,"sent")}catch(a){R.error({err:a},"failed to update live status after review approval")}}let l=(a.reviewNote??"").trim();if(!a.approved&&e)try{l&&await f.prisma.comment.create({data:{companyUuid:a.companyUuid,targetType:"experiment",targetUuid:h.uuid,content:l,authorType:b,authorUuid:a.actorUuid}});let d=await (0,i.lR)(b,a.actorUuid);await m.vt({companyUuid:a.companyUuid,researchProjectUuid:h.researchProjectUuid,recipientType:"agent",recipientUuid:e,entityType:"experiment",entityUuid:h.uuid,entityTitle:h.title,projectName:c.researchProject.name,action:"experiment_revision_requested",message:l?`Revision requested: ${l.slice(0,160)}`:"Revision requested — see the experiment draft.",actorType:b,actorUuid:a.actorUuid,actorName:d||"Unknown"})}catch(a){R.error({err:a},"failed to emit revision request for reverted experiment")}return await w({companyUuid:a.companyUuid,researchProjectUuid:h.researchProjectUuid,experimentUuid:h.uuid,fromStatus:c.status,toStatus:h.status,context:"experiment review",extra:{approved:a.approved}}),z(a.companyUuid,h)}async function H(a){let b=await f.prisma.experiment.findFirst({where:{uuid:a.experimentUuid,companyUuid:a.companyUuid},include:{researchProject:{select:{name:!0}},researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}});if(!b)throw Error("Experiment not found");"agent"===a.actorType&&y(b,a.actorType,a.actorUuid,"start",a.ownerUuid),v(b.status,a.status);let c="draft"===a.status?a.liveStatus??"running":a.liveStatus??null,d="draft"===a.status?a.liveMessage??"Revising experiment plan":a.liveMessage??null,e=await f.prisma.experiment.update({where:{uuid:a.experimentUuid},data:{status:a.status,liveStatus:c,liveMessage:d,liveUpdatedAt:new Date},include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}});await k.E1({companyUuid:a.companyUuid,researchProjectUuid:e.researchProjectUuid,targetType:"experiment",targetUuid:e.uuid,actorType:a.actorType,actorUuid:a.actorUuid,action:"status_changed",value:{status:a.status,liveStatus:c,liveMessage:d}}),g.B.emitChange({companyUuid:a.companyUuid,researchProjectUuid:e.researchProjectUuid,entityType:"experiment",entityUuid:e.uuid,action:"updated",actorUuid:a.actorUuid});try{await m.vt({companyUuid:a.companyUuid,researchProjectUuid:e.researchProjectUuid,recipientType:a.actorType,recipientUuid:a.actorUuid,entityType:"experiment",entityUuid:e.uuid,entityTitle:e.title,projectName:b.researchProject.name,action:"experiment_status_changed",message:`→ ${a.status.replace(/_/g," ")}`,actorType:a.actorType,actorUuid:a.actorUuid,actorName:await (0,i.lR)(a.actorType,a.actorUuid)||"Unknown"})}catch{}return await w({companyUuid:a.companyUuid,researchProjectUuid:e.researchProjectUuid,experimentUuid:e.uuid,fromStatus:b.status,toStatus:a.status,context:"workflow status update"}),z(a.companyUuid,e)}async function I(a){let b=await f.prisma.experiment.findFirst({where:{uuid:a.experimentUuid,companyUuid:a.companyUuid},include:{researchProject:{select:{name:!0}}}});if(!b)throw Error("Experiment not found");let c=await f.prisma.experiment.update({where:{uuid:a.experimentUuid},data:{assigneeType:a.assigneeType,assigneeUuid:a.assigneeUuid,assignedAt:new Date,assignedByUuid:a.assignedByUuid},include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}}),d=await (0,i.lR)("user",a.assignedByUuid);return await k.E1({companyUuid:a.companyUuid,researchProjectUuid:c.researchProjectUuid,targetType:"experiment",targetUuid:c.uuid,actorType:"user",actorUuid:a.assignedByUuid,action:"assigned",value:{assigneeType:a.assigneeType,assigneeUuid:a.assigneeUuid}}),await m.vt({companyUuid:a.companyUuid,researchProjectUuid:c.researchProjectUuid,recipientType:a.assigneeType,recipientUuid:a.assigneeUuid,entityType:"experiment",entityUuid:c.uuid,entityTitle:c.title,projectName:b.researchProject.name,action:"task_assigned",message:`${c.title} has been assigned to you.`,actorType:"user",actorUuid:a.assignedByUuid,actorName:d||"Unknown"}),g.B.emitChange({companyUuid:a.companyUuid,researchProjectUuid:c.researchProjectUuid,entityType:"experiment",entityUuid:c.uuid,action:"updated",actorUuid:a.assignedByUuid}),await A(a.experimentUuid,"sent"),z(a.companyUuid,c)}async function J(a){let b=await f.prisma.experiment.findFirst({where:{uuid:a.experimentUuid,companyUuid:a.companyUuid},include:{researchProject:{select:{name:!0}}}});if(!b)throw Error("Experiment not found");let c=new Date,d=await f.prisma.experiment.update({where:{uuid:a.experimentUuid},data:{assigneeType:"agent",assigneeUuid:a.agentUuid,assignedAt:c,assignedByUuid:a.requestedByUuid,liveStatus:"sent",liveMessage:null,liveUpdatedAt:c},include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}}),e=await (0,i.lR)("user",a.requestedByUuid);return await k.E1({companyUuid:a.companyUuid,researchProjectUuid:d.researchProjectUuid,targetType:"experiment",targetUuid:d.uuid,actorType:"user",actorUuid:a.requestedByUuid,action:"assigned",value:{assigneeType:"agent",assigneeUuid:a.agentUuid,mode:"plan_request"}}),await m.vt({companyUuid:a.companyUuid,researchProjectUuid:d.researchProjectUuid,recipientType:"agent",recipientUuid:a.agentUuid,entityType:"experiment",entityUuid:d.uuid,entityTitle:d.title,projectName:b.researchProject.name,action:"experiment_plan_requested",message:`Please flesh out the experiment plan for "${d.title}". Read the project context using synapse_get_project_full_context, then update the experiment with a detailed plan using synapse_update_experiment_plan. Include: methodology, expected outcomes, evaluation criteria, and any relevant research question links.`,actorType:"user",actorUuid:a.requestedByUuid,actorName:e||"Unknown"}),g.B.emitChange({companyUuid:a.companyUuid,researchProjectUuid:d.researchProjectUuid,entityType:"experiment",entityUuid:d.uuid,action:"updated",actorUuid:a.requestedByUuid}),z(a.companyUuid,d)}async function K(a){let b=await f.prisma.experiment.findFirst({where:{uuid:a.experimentUuid,companyUuid:a.companyUuid},include:{researchQuestion:{select:{uuid:!0}}}});if(!b)throw Error("Experiment not found");y(b,a.actorType,a.actorUuid,"start",a.ownerUuid),v(b.status,"in_progress");let c=new Date,d=await f.prisma.experiment.update({where:{uuid:a.experimentUuid},data:{status:"in_progress",startedAt:b.startedAt??c,assigneeType:b.assigneeType??a.actorType,assigneeUuid:b.assigneeUuid??a.actorUuid,assignedAt:b.assignedAt??c,liveStatus:"running",liveMessage:null,liveUpdatedAt:c},include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}});return await k.E1({companyUuid:a.companyUuid,researchProjectUuid:d.researchProjectUuid,targetType:"experiment",targetUuid:d.uuid,actorType:a.actorType,actorUuid:a.actorUuid,action:"status_changed",value:{status:"in_progress"}}),g.B.emitChange({companyUuid:a.companyUuid,researchProjectUuid:d.researchProjectUuid,entityType:"experiment",entityUuid:d.uuid,action:"updated",actorUuid:a.actorUuid}),await w({companyUuid:a.companyUuid,researchProjectUuid:d.researchProjectUuid,experimentUuid:d.uuid,fromStatus:b.status,toStatus:"in_progress",context:"experiment start"}),z(a.companyUuid,d)}async function L(a){let b=await f.prisma.experiment.findFirst({where:{uuid:a.experimentUuid,companyUuid:a.companyUuid},include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}});if(!b)throw Error("Experiment not found");if("in_progress"!==b.status)throw Error(`Invalid experiment status transition: ${b.status} -> pending_start`);let c=await f.prisma.experiment.update({where:{uuid:a.experimentUuid},data:{status:"pending_start",liveStatus:null,liveMessage:null,liveUpdatedAt:new Date,startedAt:null},include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}});return await k.E1({companyUuid:a.companyUuid,researchProjectUuid:c.researchProjectUuid,targetType:"experiment",targetUuid:c.uuid,actorType:"user",actorUuid:a.actorUuid,action:"status_changed",value:{status:"pending_start",reset:!0}}),g.B.emitChange({companyUuid:a.companyUuid,researchProjectUuid:c.researchProjectUuid,entityType:"experiment",entityUuid:c.uuid,action:"updated",actorUuid:a.actorUuid}),await w({companyUuid:a.companyUuid,researchProjectUuid:c.researchProjectUuid,experimentUuid:c.uuid,fromStatus:b.status,toStatus:"pending_start",context:"experiment reset"}),z(a.companyUuid,c)}async function M(a,b){let c=await f.prisma.researchProject.findFirst({where:{uuid:a,companyUuid:b},select:{uuid:!0,name:!0,autonomousLoopEnabled:!0,autonomousLoopAgentUuid:!0,autonomousLoopMode:!0}});if(!c?.autonomousLoopEnabled||!c.autonomousLoopAgentUuid)return;let d=c.autonomousLoopMode??"human_review",e=await f.prisma.experiment.groupBy({by:["status"],where:{researchProjectUuid:a,companyUuid:b},_count:!0}),g=a=>e.find(b=>b.status===a)?._count??0,h=!1;"human_review"===d?h=0===g("draft")&&0===g("pending_review")&&0===g("pending_start"):"full_auto"===d&&(h=0===g("pending_start")),h&&await m.vt({companyUuid:b,researchProjectUuid:c.uuid,recipientType:"agent",recipientUuid:c.autonomousLoopAgentUuid,entityType:"research_project",entityUuid:c.uuid,entityTitle:c.name,projectName:c.name,action:"autonomous_loop_triggered",message:"full_auto"===d?"No experiments are waiting to start. Call synapse_get_project_full_context to review results and available compute, then propose experiments — one independent run per card, up to available GPU capacity. Split sweeps, ablations, repeated trials, and baseline-vs-variant comparisons into separate cards; do not pack multiple runs into one card. A multi-phase card is only acceptable when the phases are strictly sequential stages of a single run. Update the project synthesis before proposing.":"Experiment queue is empty. Call synapse_get_project_full_context to review results and available compute, then propose experiments — one independent run per card, up to available GPU capacity. Split sweeps, ablations, repeated trials, and comparisons into separate cards.",actorType:"user",actorUuid:"system",actorName:"Synapse"})}async function N(a,b){let c="experiment_results_log",d=await f.prisma.document.findFirst({where:{researchProjectUuid:a.researchProjectUuid,companyUuid:b,type:c}}),e=(a.results?"string"==typeof a.results?a.results:JSON.stringify(a.results):"").split("\n").map(a=>a.trim()).filter(Boolean).slice(0,1).join("").slice(0,200),g=(a.description??"").replace(/[\t\n\r]/g," ").slice(0,100),h=`${a.title} ${a.uuid} ${a.outcome??"unknown"} ${a.experimentBranch??"-"} ${g} ${e}`;if(d){let a=d.content??"",b=a.endsWith("\n")?a+h:a+"\n"+h;await f.prisma.document.update({where:{uuid:d.uuid},data:{content:b,updatedAt:new Date}})}else{let d=await f.prisma.researchProject.findFirst({where:{uuid:a.researchProjectUuid,companyUuid:b},select:{name:!0}});await f.prisma.document.create({data:{companyUuid:b,researchProjectUuid:a.researchProjectUuid,title:`${d?.name??"Project"} — Experiment Results Log`,type:c,content:"title uuid outcome branch description result_summary\n"+h,createdByUuid:"system"}})}}async function O(a){let b=await f.prisma.experiment.findFirst({where:{uuid:a.experimentUuid,companyUuid:a.companyUuid},include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}});if(!b)throw Error("Experiment not found");y(b,a.actorType,a.actorUuid,"complete",a.ownerUuid),v(b.status,"completed");try{await N({uuid:b.uuid,title:b.title,outcome:a.outcome??null,results:a.results??null,researchProjectUuid:b.researchProjectUuid,description:b.description,experimentBranch:a.experimentBranch??b.experimentBranch},a.companyUuid)}catch(a){R.error({err:a},"failed to append experiment results log")}let c=await f.prisma.experiment.update({where:{uuid:a.experimentUuid},data:{status:"completed",outcome:a.outcome??null,results:p(a.results),computeUsedHours:a.computeUsedHours??b.computeUsedHours,completedAt:new Date,liveStatus:null,liveMessage:null,...void 0!==a.experimentBranch?{experimentBranch:a.experimentBranch}:{},...void 0!==a.commitSha?{commitSha:a.commitSha}:{}},include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}});if(await k.E1({companyUuid:a.companyUuid,researchProjectUuid:c.researchProjectUuid,targetType:"experiment",targetUuid:c.uuid,actorType:a.actorType,actorUuid:a.actorUuid,action:"completed",value:{outcome:a.outcome??null}}),"agent"===a.actorType)try{let b=await f.prisma.researchProject.findFirst({where:{uuid:c.researchProjectUuid,companyUuid:a.companyUuid},select:{name:!0}});await m.vt({companyUuid:a.companyUuid,researchProjectUuid:c.researchProjectUuid,recipientType:"agent",recipientUuid:a.actorUuid,entityType:"experiment",entityUuid:c.uuid,entityTitle:c.title,projectName:b?.name??"",action:"experiment_report_requested",message:`Write an experiment report document for "${c.title}".`,actorType:"user",actorUuid:"system",actorName:"Synapse"})}catch(a){R.error({err:a},"failed to trigger experiment report")}g.B.emitChange({companyUuid:a.companyUuid,researchProjectUuid:c.researchProjectUuid,entityType:"experiment",entityUuid:c.uuid,action:"updated",actorUuid:a.actorUuid});try{await (0,n.Xh)(a.companyUuid,c.researchProjectUuid,a.actorUuid)}catch(a){R.error({err:a},"failed to refresh project synthesis after experiment completion")}await w({companyUuid:a.companyUuid,researchProjectUuid:c.researchProjectUuid,experimentUuid:c.uuid,fromStatus:b.status,toStatus:"completed",context:"experiment completion"});try{await P({companyUuid:a.companyUuid,researchProjectUuid:c.researchProjectUuid})}catch(a){R.error({err:a},"failed to re-notify queued experiments after completion")}return z(a.companyUuid,c)}async function P(a){let b=await f.prisma.researchProject.findFirst({where:{uuid:a.researchProjectUuid,companyUuid:a.companyUuid},select:{name:!0,autonomousLoopEnabled:!0,autonomousLoopAgentUuid:!0}});if(!b?.autonomousLoopEnabled||!b.autonomousLoopAgentUuid)return;let c=await f.prisma.experiment.findMany({where:{researchProjectUuid:a.researchProjectUuid,companyUuid:a.companyUuid,status:"pending_start",assigneeType:"agent",assigneeUuid:b.autonomousLoopAgentUuid},orderBy:[{priority:"desc"},{createdAt:"asc"}],select:{uuid:!0,title:!0}});if(0!==c.length)for(let d of c)await m.vt({companyUuid:a.companyUuid,researchProjectUuid:a.researchProjectUuid,recipientType:"agent",recipientUuid:b.autonomousLoopAgentUuid,entityType:"experiment",entityUuid:d.uuid,entityTitle:d.title,projectName:b.name,action:"task_assigned",message:`Queued experiment "${d.title}" ready to start — GPU freed by a completed experiment.`,actorType:"user",actorUuid:"system",actorName:"Synapse"})}async function Q(a,b){let c=await f.prisma.experiment.findFirst({where:{uuid:b,companyUuid:a},select:{researchProjectUuid:!0}});await f.prisma.experiment.deleteMany({where:{uuid:b,companyUuid:a}}),c&&await x({companyUuid:a,researchProjectUuid:c.researchProjectUuid,experimentUuid:b,context:"experiment deletion"})}d()}catch(a){d(a)}})}};
|
|
3
|
+
${d}`:c}(a.content,b.uuid),g=await f.prisma.document.findFirst({where:{companyUuid:a.companyUuid,researchProjectUuid:b.researchProjectUuid,type:W,content:{contains:c}},select:{uuid:!0,version:!0}});if(g){let a=await (0,l.lU)(g.uuid,{title:d,content:e,incrementVersion:!0});return{uuid:a.uuid,title:a.title,version:a.version,action:"updated"}}let h=await (0,l.ui)({companyUuid:a.companyUuid,researchProjectUuid:b.researchProjectUuid,type:W,title:d,content:e,createdByUuid:a.actorUuid});return{uuid:h.uuid,title:h.title,version:h.version,action:"created"}}async function w(a){let b=await f.prisma.experiment.findFirst({where:{uuid:a.experimentUuid,companyUuid:a.companyUuid},select:{uuid:!0,title:!0,researchProjectUuid:!0,assigneeType:!0,assigneeUuid:!0}});if(!b)throw Error("Experiment not found");A(b,a.actorType,a.actorUuid,"complete",a.ownerUuid);let c=t(b.uuid),d=await f.prisma.document.findFirst({where:{companyUuid:a.companyUuid,researchProjectUuid:b.researchProjectUuid,type:W,content:{contains:c}},select:{uuid:!0,title:!0,version:!0}});if(d)return d;let e=await (0,l.ui)({companyUuid:a.companyUuid,researchProjectUuid:b.researchProjectUuid,type:W,title:u(b.title),content:c,createdByUuid:a.actorUuid});return{uuid:e.uuid,title:e.title,version:e.version}}function x(a,b){if(a!==b&&!U[a]?.includes(b))throw new h.xh(a,b)}async function y(a){a.fromStatus!==a.toStatus&&await O(a.researchProjectUuid,a.companyUuid).catch(b=>T.error({err:b,experimentUuid:a.experimentUuid,fromStatus:a.fromStatus,toStatus:a.toStatus,...a.extra},`autonomous loop trigger check failed after ${a.context}`))}async function z(a){await O(a.researchProjectUuid,a.companyUuid).catch(b=>T.error({err:b,experimentUuid:a.experimentUuid},`autonomous loop trigger check failed after ${a.context}`))}function A(a,b,c,d,e){if(a.assigneeType&&a.assigneeUuid&&(a.assigneeType!==b||a.assigneeUuid!==c)&&("user"!==b||"agent"!==a.assigneeType)&&("agent"!==b||"user"!==a.assigneeType||e!==a.assigneeUuid))throw Error(`Only the assigned actor can ${d} this experiment`)}async function B(a,b){let[c,d]=await Promise.all([(0,i.ir)(b.assigneeType,b.assigneeUuid,b.assignedAt,b.assignedByUuid),(0,i.LS)(b.createdByUuid,"agent"===b.createdByType?"agent":"user")]),[e,g,h]=await Promise.all([b.researchQuestion?.parentQuestionUuid?f.prisma.experiment.findMany({where:{companyUuid:a,researchQuestionUuid:b.researchQuestion.parentQuestionUuid},select:{uuid:!0,title:!0,status:!0,outcome:!0,updatedAt:!0},orderBy:[{updatedAt:"desc"},{createdAt:"desc"}]}):Promise.resolve([]),f.prisma.document.findFirst({where:{companyUuid:a,researchProjectUuid:b.researchProjectUuid,type:W,content:{contains:t(b.uuid)}},select:{uuid:!0,title:!0}}),f.prisma.experimentIncidentLesson.findMany({where:{companyUuid:a,experimentUuid:b.uuid},select:{uuid:!0,title:!0,status:!0,severity:!0,failureType:!0,phase:!0,experimentOutcomeImpact:!0,updatedAt:!0},orderBy:[{updatedAt:"desc"},{createdAt:"desc"}],take:6})]);return{uuid:b.uuid,researchProjectUuid:b.researchProjectUuid,researchQuestionUuid:b.researchQuestionUuid,title:b.title,description:b.description,status:b.status,priority:b.priority,computeBudgetHours:b.computeBudgetHours,computeUsedHours:b.computeUsedHours,outcome:b.outcome,results:b.results??null,attachments:b.attachments??null,baseBranch:b.baseBranch,experimentBranch:b.experimentBranch,commitSha:b.commitSha,resultDocument:g,incidentLessons:h.map(a=>({uuid:a.uuid,title:a.title,status:a.status,severity:a.severity,failureType:a.failureType,phase:a.phase,experimentOutcomeImpact:a.experimentOutcomeImpact,updatedAt:a.updatedAt.toISOString()})),liveStatus:b.liveStatus,liveMessage:b.liveMessage,liveUpdatedAt:b.liveUpdatedAt?.toISOString()??null,assignee:c,createdBy:d,reviewedByUuid:b.reviewedByUuid,reviewNote:b.reviewNote,reviewedAt:b.reviewedAt?.toISOString()??null,startedAt:b.startedAt?.toISOString()??null,completedAt:b.completedAt?.toISOString()??null,createdAt:b.createdAt.toISOString(),updatedAt:b.updatedAt.toISOString(),researchQuestion:b.researchQuestion??null,parentQuestionExperiments:e.map(a=>({uuid:a.uuid,title:a.title,status:a.status,outcome:a.outcome,updatedAt:a.updatedAt.toISOString()}))}}async function C(a,b,c){let d={liveStatus:b,liveUpdatedAt:new Date};void 0!==c&&(d.liveMessage=c);let e=await f.prisma.experiment.update({where:{uuid:a},data:d,select:{researchProjectUuid:!0,companyUuid:!0}});g.B.emitChange({companyUuid:e.companyUuid,researchProjectUuid:e.researchProjectUuid,entityType:"experiment",entityUuid:a,action:"updated"})}async function D({companyUuid:a,researchProjectUuid:b,status:c,skip:d,take:e}){let g={companyUuid:a,researchProjectUuid:b,...c?{status:c}:{}},[h,i]=await Promise.all([f.prisma.experiment.findMany({where:g,skip:d,take:e,orderBy:[{createdAt:"asc"}],include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}}),f.prisma.experiment.count({where:g})]);return{experiments:await Promise.all(s(h).map(b=>B(a,b))),total:i}}async function E(a){let b=await f.prisma.experiment.findMany({where:{companyUuid:a.companyUuid,assigneeUuid:a.assigneeUuid,...a.assigneeType?{assigneeType:a.assigneeType}:{},...a.researchProjectUuid?{researchProjectUuid:a.researchProjectUuid}:{},...a.statuses?.length?{status:{in:a.statuses}}:{}},orderBy:[{createdAt:"asc"}],include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}});return Promise.all(s(b).map(b=>B(a.companyUuid,b)))}async function F(a,b){let c=await f.prisma.experiment.findFirst({where:{companyUuid:a,uuid:b},include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}});return c?B(a,c):null}async function G(a){let b=a.status??("agent"===a.createdByType?"draft":"pending_start"),c=a.assigneeUuid?{assigneeUuid:a.assigneeUuid,assigneeType:a.assigneeType??"agent",assignedAt:a.assignedAt??new Date,assignedByUuid:a.assignedByUuid??a.createdByUuid}:{},d=await f.prisma.experiment.create({data:{companyUuid:a.companyUuid,researchProjectUuid:a.researchProjectUuid,researchQuestionUuid:a.researchQuestionUuid??null,title:a.title,description:a.description??null,priority:q(a.priority),status:b,computeBudgetHours:a.computeBudgetHours??null,attachments:a.attachments?a.attachments:e.D1.Fj,baseBranch:a.baseBranch??null,createdByUuid:a.createdByUuid,createdByType:a.createdByType??"user",...c},include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}});await k.E1({companyUuid:a.companyUuid,researchProjectUuid:a.researchProjectUuid,targetType:"experiment",targetUuid:d.uuid,actorType:a.createdByType??"user",actorUuid:a.createdByUuid,action:"created"}),a.researchQuestionUuid&&await f.prisma.researchQuestion.update({where:{uuid:a.researchQuestionUuid},data:{status:"proposal_created"}}),g.B.emitChange({companyUuid:a.companyUuid,researchProjectUuid:a.researchProjectUuid,entityType:"experiment",entityUuid:d.uuid,action:"created",actorUuid:a.createdByUuid});let h=await f.prisma.researchProject.findFirst({where:{uuid:a.researchProjectUuid,companyUuid:a.companyUuid},select:{name:!0}});try{await m.vt({companyUuid:a.companyUuid,researchProjectUuid:a.researchProjectUuid,recipientType:a.createdByType??"user",recipientUuid:a.createdByUuid,entityType:"experiment",entityUuid:d.uuid,entityTitle:d.title,projectName:h?.name??"",action:"experiment_created",message:"created",actorType:a.createdByType??"user",actorUuid:a.createdByUuid,actorName:await (0,i.lR)(a.createdByType??"user",a.createdByUuid)||"Unknown"})}catch{}return B(a.companyUuid,d)}async function H(a,b,c,d){let e=void 0!==c.status?await f.prisma.experiment.findFirst({where:{uuid:b,companyUuid:a},select:{status:!0,researchProjectUuid:!0,researchProject:{select:{name:!0}}}}):null;if(void 0!==c.status){if(!e)throw Error("Experiment not found");x(e.status,c.status)}let h=void 0!==c.status&&"in_progress"!==c.status,j=await f.prisma.experiment.update({where:{uuid:b},data:{...void 0!==c.title?{title:c.title}:{},...void 0!==c.description?{description:c.description}:{},...void 0!==c.researchQuestionUuid?{researchQuestionUuid:c.researchQuestionUuid}:{},...void 0!==c.status?{status:c.status}:{},...void 0!==c.priority?{priority:q(c.priority)}:{},...void 0!==c.computeBudgetHours?{computeBudgetHours:c.computeBudgetHours}:{},...void 0!==c.outcome?{outcome:c.outcome}:{},...void 0!==c.results?{results:p(c.results)}:{},...void 0!==c.attachments?{attachments:p(c.attachments)}:{},...h?{liveStatus:null,liveMessage:null,liveUpdatedAt:new Date}:{}},include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}});if(c.researchQuestionUuid&&await f.prisma.researchQuestion.update({where:{uuid:c.researchQuestionUuid},data:{status:"proposal_created"}}),d&&await k.E1({companyUuid:a,researchProjectUuid:j.researchProjectUuid,targetType:"experiment",targetUuid:j.uuid,actorType:d.actorType,actorUuid:d.actorUuid,action:"updated"}),g.B.emitChange({companyUuid:a,researchProjectUuid:j.researchProjectUuid,entityType:"experiment",entityUuid:j.uuid,action:"updated",actorUuid:d?.actorUuid}),void 0!==c.status&&e&&d){let b=c.status.replace(/_/g," ");try{await m.vt({companyUuid:a,researchProjectUuid:j.researchProjectUuid,recipientType:d.actorType,recipientUuid:d.actorUuid,entityType:"experiment",entityUuid:j.uuid,entityTitle:j.title,projectName:e.researchProject?.name??"",action:"experiment_status_changed",message:`→ ${b}`,actorType:d.actorType,actorUuid:d.actorUuid,actorName:await (0,i.lR)(d.actorType,d.actorUuid)||"Unknown"})}catch{}}return void 0!==c.status&&e?await y({companyUuid:a,researchProjectUuid:j.researchProjectUuid,experimentUuid:j.uuid,fromStatus:e.status,toStatus:c.status,context:"experiment status update"}):await z({companyUuid:a,researchProjectUuid:j.researchProjectUuid,experimentUuid:j.uuid,context:"experiment metadata update"}),B(a,j)}async function I(a){let b=a.actorType??"user",c=await f.prisma.experiment.findFirst({where:{uuid:a.experimentUuid,companyUuid:a.companyUuid},include:{researchProject:{select:{name:!0}}}});if(!c)throw Error("Experiment not found");x(c.status,a.approved?"pending_start":"draft");let d=Object.prototype.hasOwnProperty.call(a,"assignedAgentUuid"),e=d?a.assignedAgentUuid??null:c.assigneeUuid,h=await f.prisma.experiment.update({where:{uuid:a.experimentUuid},data:{status:a.approved?"pending_start":"draft",reviewedByUuid:a.actorUuid,reviewNote:a.reviewNote??null,reviewedAt:new Date,...d?{assigneeType:e?"agent":null,assigneeUuid:e,assignedAt:e?new Date:null,assignedByUuid:e?a.actorUuid:null,liveStatus:!a.approved&&e?"sent":null,liveMessage:null,liveUpdatedAt:new Date}:{}},include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}});await k.E1({companyUuid:a.companyUuid,researchProjectUuid:h.researchProjectUuid,targetType:"experiment",targetUuid:h.uuid,actorType:b,actorUuid:a.actorUuid,action:a.approved?"approved":"rejected",value:a.reviewNote?{reviewNote:a.reviewNote}:void 0}),g.B.emitChange({companyUuid:a.companyUuid,researchProjectUuid:h.researchProjectUuid,entityType:"experiment",entityUuid:h.uuid,action:"updated",actorUuid:a.actorUuid});try{await m.vt({companyUuid:a.companyUuid,researchProjectUuid:h.researchProjectUuid,recipientType:b,recipientUuid:a.actorUuid,entityType:"experiment",entityUuid:h.uuid,entityTitle:h.title,projectName:c.researchProject.name,action:"experiment_status_changed",message:a.approved?"→ approved":"→ returned to draft",actorType:b,actorUuid:a.actorUuid,actorName:await (0,i.lR)(b,a.actorUuid)||"Unknown"})}catch{}let j=a.approved&&"agent"===h.assigneeType&&h.assigneeUuid?h.assigneeUuid:null;if(j){try{let d=await (0,i.lR)(b,a.actorUuid);await m.vt({companyUuid:a.companyUuid,researchProjectUuid:h.researchProjectUuid,recipientType:"agent",recipientUuid:j,entityType:"experiment",entityUuid:h.uuid,entityTitle:h.title,projectName:c.researchProject.name,action:"task_assigned",message:`${h.title} has been approved and assigned to you.`,actorType:b,actorUuid:a.actorUuid,actorName:d||"Unknown"})}catch(a){T.error({err:a},"failed to send task_assigned notification after review approval")}try{await C(a.experimentUuid,"sent")}catch(a){T.error({err:a},"failed to update live status after review approval")}}let l=(a.reviewNote??"").trim();if(!a.approved&&e)try{l&&await f.prisma.comment.create({data:{companyUuid:a.companyUuid,targetType:"experiment",targetUuid:h.uuid,content:l,authorType:b,authorUuid:a.actorUuid}});let d=await (0,i.lR)(b,a.actorUuid);await m.vt({companyUuid:a.companyUuid,researchProjectUuid:h.researchProjectUuid,recipientType:"agent",recipientUuid:e,entityType:"experiment",entityUuid:h.uuid,entityTitle:h.title,projectName:c.researchProject.name,action:"experiment_revision_requested",message:l?`Revision requested: ${l.slice(0,160)}`:"Revision requested — see the experiment draft.",actorType:b,actorUuid:a.actorUuid,actorName:d||"Unknown"})}catch(a){T.error({err:a},"failed to emit revision request for reverted experiment")}return await y({companyUuid:a.companyUuid,researchProjectUuid:h.researchProjectUuid,experimentUuid:h.uuid,fromStatus:c.status,toStatus:h.status,context:"experiment review",extra:{approved:a.approved}}),B(a.companyUuid,h)}async function J(a){let b=await f.prisma.experiment.findFirst({where:{uuid:a.experimentUuid,companyUuid:a.companyUuid},include:{researchProject:{select:{name:!0}},researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}});if(!b)throw Error("Experiment not found");"agent"===a.actorType&&A(b,a.actorType,a.actorUuid,"start",a.ownerUuid),x(b.status,a.status);let c="draft"===a.status?a.liveStatus??"running":a.liveStatus??null,d="draft"===a.status?a.liveMessage??"Revising experiment plan":a.liveMessage??null,e=await f.prisma.experiment.update({where:{uuid:a.experimentUuid},data:{status:a.status,liveStatus:c,liveMessage:d,liveUpdatedAt:new Date},include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}});await k.E1({companyUuid:a.companyUuid,researchProjectUuid:e.researchProjectUuid,targetType:"experiment",targetUuid:e.uuid,actorType:a.actorType,actorUuid:a.actorUuid,action:"status_changed",value:{status:a.status,liveStatus:c,liveMessage:d}}),g.B.emitChange({companyUuid:a.companyUuid,researchProjectUuid:e.researchProjectUuid,entityType:"experiment",entityUuid:e.uuid,action:"updated",actorUuid:a.actorUuid});try{await m.vt({companyUuid:a.companyUuid,researchProjectUuid:e.researchProjectUuid,recipientType:a.actorType,recipientUuid:a.actorUuid,entityType:"experiment",entityUuid:e.uuid,entityTitle:e.title,projectName:b.researchProject.name,action:"experiment_status_changed",message:`→ ${a.status.replace(/_/g," ")}`,actorType:a.actorType,actorUuid:a.actorUuid,actorName:await (0,i.lR)(a.actorType,a.actorUuid)||"Unknown"})}catch{}return await y({companyUuid:a.companyUuid,researchProjectUuid:e.researchProjectUuid,experimentUuid:e.uuid,fromStatus:b.status,toStatus:a.status,context:"workflow status update"}),B(a.companyUuid,e)}async function K(a){let b=await f.prisma.experiment.findFirst({where:{uuid:a.experimentUuid,companyUuid:a.companyUuid},include:{researchProject:{select:{name:!0}}}});if(!b)throw Error("Experiment not found");let c=await f.prisma.experiment.update({where:{uuid:a.experimentUuid},data:{assigneeType:a.assigneeType,assigneeUuid:a.assigneeUuid,assignedAt:new Date,assignedByUuid:a.assignedByUuid},include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}}),d=await (0,i.lR)("user",a.assignedByUuid);return await k.E1({companyUuid:a.companyUuid,researchProjectUuid:c.researchProjectUuid,targetType:"experiment",targetUuid:c.uuid,actorType:"user",actorUuid:a.assignedByUuid,action:"assigned",value:{assigneeType:a.assigneeType,assigneeUuid:a.assigneeUuid}}),await m.vt({companyUuid:a.companyUuid,researchProjectUuid:c.researchProjectUuid,recipientType:a.assigneeType,recipientUuid:a.assigneeUuid,entityType:"experiment",entityUuid:c.uuid,entityTitle:c.title,projectName:b.researchProject.name,action:"task_assigned",message:`${c.title} has been assigned to you.`,actorType:"user",actorUuid:a.assignedByUuid,actorName:d||"Unknown"}),g.B.emitChange({companyUuid:a.companyUuid,researchProjectUuid:c.researchProjectUuid,entityType:"experiment",entityUuid:c.uuid,action:"updated",actorUuid:a.assignedByUuid}),await C(a.experimentUuid,"sent"),B(a.companyUuid,c)}async function L(a){let b=await f.prisma.experiment.findFirst({where:{uuid:a.experimentUuid,companyUuid:a.companyUuid},include:{researchProject:{select:{name:!0}}}});if(!b)throw Error("Experiment not found");let c=new Date,d=await f.prisma.experiment.update({where:{uuid:a.experimentUuid},data:{assigneeType:"agent",assigneeUuid:a.agentUuid,assignedAt:c,assignedByUuid:a.requestedByUuid,liveStatus:"sent",liveMessage:null,liveUpdatedAt:c},include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}}),e=await (0,i.lR)("user",a.requestedByUuid);return await k.E1({companyUuid:a.companyUuid,researchProjectUuid:d.researchProjectUuid,targetType:"experiment",targetUuid:d.uuid,actorType:"user",actorUuid:a.requestedByUuid,action:"assigned",value:{assigneeType:"agent",assigneeUuid:a.agentUuid,mode:"plan_request"}}),await m.vt({companyUuid:a.companyUuid,researchProjectUuid:d.researchProjectUuid,recipientType:"agent",recipientUuid:a.agentUuid,entityType:"experiment",entityUuid:d.uuid,entityTitle:d.title,projectName:b.researchProject.name,action:"experiment_plan_requested",message:`Please flesh out the experiment plan for "${d.title}". Read the project context using synapse_get_project_full_context, then update the experiment with a detailed plan using synapse_update_experiment_plan. Include: methodology, expected outcomes, evaluation criteria, and any relevant research question links.`,actorType:"user",actorUuid:a.requestedByUuid,actorName:e||"Unknown"}),g.B.emitChange({companyUuid:a.companyUuid,researchProjectUuid:d.researchProjectUuid,entityType:"experiment",entityUuid:d.uuid,action:"updated",actorUuid:a.requestedByUuid}),B(a.companyUuid,d)}async function M(a){let b=await f.prisma.experiment.findFirst({where:{uuid:a.experimentUuid,companyUuid:a.companyUuid},include:{researchQuestion:{select:{uuid:!0}}}});if(!b)throw Error("Experiment not found");A(b,a.actorType,a.actorUuid,"start",a.ownerUuid),x(b.status,"in_progress");let c=new Date,d=await f.prisma.experiment.update({where:{uuid:a.experimentUuid},data:{status:"in_progress",startedAt:b.startedAt??c,assigneeType:b.assigneeType??a.actorType,assigneeUuid:b.assigneeUuid??a.actorUuid,assignedAt:b.assignedAt??c,liveStatus:"running",liveMessage:null,liveUpdatedAt:c},include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}});return await k.E1({companyUuid:a.companyUuid,researchProjectUuid:d.researchProjectUuid,targetType:"experiment",targetUuid:d.uuid,actorType:a.actorType,actorUuid:a.actorUuid,action:"status_changed",value:{status:"in_progress"}}),g.B.emitChange({companyUuid:a.companyUuid,researchProjectUuid:d.researchProjectUuid,entityType:"experiment",entityUuid:d.uuid,action:"updated",actorUuid:a.actorUuid}),await y({companyUuid:a.companyUuid,researchProjectUuid:d.researchProjectUuid,experimentUuid:d.uuid,fromStatus:b.status,toStatus:"in_progress",context:"experiment start"}),B(a.companyUuid,d)}async function N(a){let b=await f.prisma.experiment.findFirst({where:{uuid:a.experimentUuid,companyUuid:a.companyUuid},include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}});if(!b)throw Error("Experiment not found");if("in_progress"!==b.status)throw Error(`Invalid experiment status transition: ${b.status} -> pending_start`);let c=await f.prisma.experiment.update({where:{uuid:a.experimentUuid},data:{status:"pending_start",liveStatus:null,liveMessage:null,liveUpdatedAt:new Date,startedAt:null},include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}});return await k.E1({companyUuid:a.companyUuid,researchProjectUuid:c.researchProjectUuid,targetType:"experiment",targetUuid:c.uuid,actorType:"user",actorUuid:a.actorUuid,action:"status_changed",value:{status:"pending_start",reset:!0}}),g.B.emitChange({companyUuid:a.companyUuid,researchProjectUuid:c.researchProjectUuid,entityType:"experiment",entityUuid:c.uuid,action:"updated",actorUuid:a.actorUuid}),await y({companyUuid:a.companyUuid,researchProjectUuid:c.researchProjectUuid,experimentUuid:c.uuid,fromStatus:b.status,toStatus:"pending_start",context:"experiment reset"}),B(a.companyUuid,c)}async function O(a,b){let c=await f.prisma.researchProject.findFirst({where:{uuid:a,companyUuid:b},select:{uuid:!0,name:!0,autonomousLoopEnabled:!0,autonomousLoopAgentUuid:!0,autonomousLoopMode:!0}});if(!c?.autonomousLoopEnabled||!c.autonomousLoopAgentUuid)return;let d=c.autonomousLoopMode??"human_review",e=await f.prisma.experiment.groupBy({by:["status"],where:{researchProjectUuid:a,companyUuid:b},_count:!0}),g=a=>e.find(b=>b.status===a)?._count??0,h=!1;"human_review"===d?h=0===g("draft")&&0===g("pending_review")&&0===g("pending_start"):"full_auto"===d&&(h=0===g("pending_start")),h&&await m.vt({companyUuid:b,researchProjectUuid:c.uuid,recipientType:"agent",recipientUuid:c.autonomousLoopAgentUuid,entityType:"research_project",entityUuid:c.uuid,entityTitle:c.name,projectName:c.name,action:"autonomous_loop_triggered",message:"full_auto"===d?"No experiments are waiting to start. Call synapse_get_project_full_context to review results and available compute, then propose experiments — one independent run per card, up to available GPU capacity. Split sweeps, ablations, repeated trials, and baseline-vs-variant comparisons into separate cards; do not pack multiple runs into one card. A multi-phase card is only acceptable when the phases are strictly sequential stages of a single run. Update the project synthesis before proposing.":"Experiment queue is empty. Call synapse_get_project_full_context to review results and available compute, then propose experiments — one independent run per card, up to available GPU capacity. Split sweeps, ablations, repeated trials, and comparisons into separate cards.",actorType:"user",actorUuid:"system",actorName:"Synapse"})}async function P(a,b){let c="experiment_results_log",d=await f.prisma.document.findFirst({where:{researchProjectUuid:a.researchProjectUuid,companyUuid:b,type:c}}),e=(a.results?"string"==typeof a.results?a.results:JSON.stringify(a.results):"").split("\n").map(a=>a.trim()).filter(Boolean).slice(0,1).join("").slice(0,200),g=(a.description??"").replace(/[\t\n\r]/g," ").slice(0,100),h=`${a.title} ${a.uuid} ${a.outcome??"unknown"} ${a.experimentBranch??"-"} ${g} ${e}`;if(d){let a=d.content??"",b=a.endsWith("\n")?a+h:a+"\n"+h;await f.prisma.document.update({where:{uuid:d.uuid},data:{content:b,updatedAt:new Date}})}else{let d=await f.prisma.researchProject.findFirst({where:{uuid:a.researchProjectUuid,companyUuid:b},select:{name:!0}});await f.prisma.document.create({data:{companyUuid:b,researchProjectUuid:a.researchProjectUuid,title:`${d?.name??"Project"} — Experiment Results Log`,type:c,content:"title uuid outcome branch description result_summary\n"+h,createdByUuid:"system"}})}}async function Q(a){let b=await f.prisma.experiment.findFirst({where:{uuid:a.experimentUuid,companyUuid:a.companyUuid},include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}});if(!b)throw Error("Experiment not found");A(b,a.actorType,a.actorUuid,"complete",a.ownerUuid),x(b.status,"completed");try{await P({uuid:b.uuid,title:b.title,outcome:a.outcome??null,results:a.results??null,researchProjectUuid:b.researchProjectUuid,description:b.description,experimentBranch:a.experimentBranch??b.experimentBranch},a.companyUuid)}catch(a){T.error({err:a},"failed to append experiment results log")}let c=await f.prisma.experiment.update({where:{uuid:a.experimentUuid},data:{status:"completed",outcome:a.outcome??null,results:p(a.results),computeUsedHours:a.computeUsedHours??b.computeUsedHours,completedAt:new Date,liveStatus:null,liveMessage:null,...void 0!==a.experimentBranch?{experimentBranch:a.experimentBranch}:{},...void 0!==a.commitSha?{commitSha:a.commitSha}:{}},include:{researchQuestion:{select:{uuid:!0,title:!0,parentQuestionUuid:!0}}}});if(await k.E1({companyUuid:a.companyUuid,researchProjectUuid:c.researchProjectUuid,targetType:"experiment",targetUuid:c.uuid,actorType:a.actorType,actorUuid:a.actorUuid,action:"completed",value:{outcome:a.outcome??null}}),"agent"===a.actorType)try{let b=await f.prisma.researchProject.findFirst({where:{uuid:c.researchProjectUuid,companyUuid:a.companyUuid},select:{name:!0}});await m.vt({companyUuid:a.companyUuid,researchProjectUuid:c.researchProjectUuid,recipientType:"agent",recipientUuid:a.actorUuid,entityType:"experiment",entityUuid:c.uuid,entityTitle:c.title,projectName:b?.name??"",action:"experiment_report_requested",message:`Write an experiment report document for "${c.title}".`,actorType:"user",actorUuid:"system",actorName:"Synapse"})}catch(a){T.error({err:a},"failed to trigger experiment report")}g.B.emitChange({companyUuid:a.companyUuid,researchProjectUuid:c.researchProjectUuid,entityType:"experiment",entityUuid:c.uuid,action:"updated",actorUuid:a.actorUuid});try{await (0,n.Xh)(a.companyUuid,c.researchProjectUuid,a.actorUuid)}catch(a){T.error({err:a},"failed to refresh project synthesis after experiment completion")}await y({companyUuid:a.companyUuid,researchProjectUuid:c.researchProjectUuid,experimentUuid:c.uuid,fromStatus:b.status,toStatus:"completed",context:"experiment completion"});try{await R({companyUuid:a.companyUuid,researchProjectUuid:c.researchProjectUuid})}catch(a){T.error({err:a},"failed to re-notify queued experiments after completion")}return B(a.companyUuid,c)}async function R(a){let b=await f.prisma.researchProject.findFirst({where:{uuid:a.researchProjectUuid,companyUuid:a.companyUuid},select:{name:!0,autonomousLoopEnabled:!0,autonomousLoopAgentUuid:!0}});if(!b?.autonomousLoopEnabled||!b.autonomousLoopAgentUuid)return;let c=await f.prisma.experiment.findMany({where:{researchProjectUuid:a.researchProjectUuid,companyUuid:a.companyUuid,status:"pending_start",assigneeType:"agent",assigneeUuid:b.autonomousLoopAgentUuid},orderBy:[{priority:"desc"},{createdAt:"asc"}],select:{uuid:!0,title:!0}});if(0!==c.length)for(let d of c)await m.vt({companyUuid:a.companyUuid,researchProjectUuid:a.researchProjectUuid,recipientType:"agent",recipientUuid:b.autonomousLoopAgentUuid,entityType:"experiment",entityUuid:d.uuid,entityTitle:d.title,projectName:b.name,action:"task_assigned",message:`Queued experiment "${d.title}" ready to start — GPU freed by a completed experiment.`,actorType:"user",actorUuid:"system",actorName:"Synapse"})}async function S(a,b){let c=await f.prisma.experiment.findFirst({where:{uuid:b,companyUuid:a},select:{researchProjectUuid:!0}});await f.prisma.experiment.deleteMany({where:{uuid:b,companyUuid:a}}),c&&await z({companyUuid:a,researchProjectUuid:c.researchProjectUuid,experimentUuid:b,context:"experiment deletion"})}d()}catch(a){d(a)}})}};
|