@evoscientist/webui 0.2.2 → 0.2.4

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.
Files changed (88) hide show
  1. package/dist/.next/BUILD_ID +1 -1
  2. package/dist/.next/build-manifest.json +3 -3
  3. package/dist/.next/server/app/_global-error.html +1 -1
  4. package/dist/.next/server/app/_global-error.rsc +1 -1
  5. package/dist/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  6. package/dist/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  7. package/dist/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  8. package/dist/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  9. package/dist/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  10. package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  11. package/dist/.next/server/app/_not-found.html +1 -1
  12. package/dist/.next/server/app/_not-found.rsc +2 -2
  13. package/dist/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  14. package/dist/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  15. package/dist/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  16. package/dist/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  17. package/dist/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  18. package/dist/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  19. package/dist/.next/server/app/api/memory/executions/route.js.nft.json +1 -1
  20. package/dist/.next/server/app/api/memory/observations/route.js.nft.json +1 -1
  21. package/dist/.next/server/app/api/memory/route.js.nft.json +1 -1
  22. package/dist/.next/server/app/api/skills/catalog/route.js.nft.json +1 -1
  23. package/dist/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
  24. package/dist/.next/server/app/api/skills/install/route.js +1 -1
  25. package/dist/.next/server/app/api/skills/install/route.js.nft.json +1 -1
  26. package/dist/.next/server/app/api/skills/route.js.nft.json +1 -1
  27. package/dist/.next/server/app/api/workspace/download/route.js.nft.json +1 -1
  28. package/dist/.next/server/app/api/workspace/file/route.js.nft.json +1 -1
  29. package/dist/.next/server/app/api/workspace/route.js.nft.json +1 -1
  30. package/dist/.next/server/app/api/workspace/upload/route.js.nft.json +1 -1
  31. package/dist/.next/server/app/index.html +1 -1
  32. package/dist/.next/server/app/index.rsc +3 -3
  33. package/dist/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  34. package/dist/.next/server/app/index.segments/_full.segment.rsc +3 -3
  35. package/dist/.next/server/app/index.segments/_head.segment.rsc +1 -1
  36. package/dist/.next/server/app/index.segments/_index.segment.rsc +2 -2
  37. package/dist/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  38. package/dist/.next/server/app/page.js.nft.json +1 -1
  39. package/dist/.next/server/app/page_client-reference-manifest.js +1 -1
  40. package/dist/.next/server/chunks/[root-of-the-server]__05vp2x.._.js +1 -1
  41. package/dist/.next/server/chunks/[root-of-the-server]__08kko28._.js +1 -1
  42. package/dist/.next/server/chunks/[root-of-the-server]__0bpxd~j._.js +1 -1
  43. package/dist/.next/server/chunks/[root-of-the-server]__0o.c5k_._.js +1 -1
  44. package/dist/.next/server/chunks/[root-of-the-server]__0s6.s21._.js +6 -0
  45. package/dist/.next/server/chunks/[root-of-the-server]__0vunt~c._.js +1 -1
  46. package/dist/.next/server/chunks/[root-of-the-server]__0xoct7b._.js +1 -1
  47. package/dist/.next/server/chunks/[root-of-the-server]__0yvyeh4._.js +1 -1
  48. package/dist/.next/server/chunks/ssr/[root-of-the-server]__0cylknl._.js +2 -2
  49. package/dist/.next/server/chunks/ssr/{[root-of-the-server]__0nhqxg3._.js → [root-of-the-server]__12~42ln._.js} +2 -2
  50. package/dist/.next/server/chunks/ssr/{node_modules_09go4q4._.js → node_modules_0-9jf7s._.js} +1 -1
  51. package/dist/.next/server/chunks/ssr/{node_modules_12pre7a._.js → node_modules_0.l_o9k._.js} +1 -1
  52. package/dist/.next/server/chunks/ssr/{node_modules_0cen8se._.js → node_modules_00-o__w._.js} +1 -1
  53. package/dist/.next/server/chunks/ssr/{node_modules_13g6~ga._.js → node_modules_00yk8df._.js} +2 -2
  54. package/dist/.next/server/chunks/ssr/{node_modules_02h6tid._.js → node_modules_01rqq7y._.js} +1 -1
  55. package/dist/.next/server/chunks/ssr/{node_modules_08h8ptb._.js → node_modules_050o3~0._.js} +2 -2
  56. package/dist/.next/server/chunks/ssr/{node_modules_01wrsnd._.js → node_modules_09x0yif._.js} +1 -1
  57. package/dist/.next/server/chunks/ssr/{node_modules_0ggr.5d._.js → node_modules_0a61e8g._.js} +2 -2
  58. package/dist/.next/server/chunks/ssr/{node_modules_0_6b9ch._.js → node_modules_0a9st_6._.js} +1 -1
  59. package/dist/.next/server/chunks/ssr/{node_modules_0x~mdr7._.js → node_modules_0d91z34._.js} +1 -1
  60. package/dist/.next/server/chunks/ssr/{node_modules_0tv.r40._.js → node_modules_0exnvlg._.js} +1 -1
  61. package/dist/.next/server/chunks/ssr/{node_modules_0lwzzcf._.js → node_modules_0kf5axs._.js} +1 -1
  62. package/dist/.next/server/chunks/ssr/{node_modules_056p87e._.js → node_modules_0l-2che._.js} +1 -1
  63. package/dist/.next/server/chunks/ssr/{node_modules_00~yr1h._.js → node_modules_0makin.._.js} +1 -1
  64. package/dist/.next/server/chunks/ssr/{node_modules_0_kt~35._.js → node_modules_0p1ro75._.js} +2 -2
  65. package/dist/.next/server/chunks/ssr/{node_modules_0sieh2u._.js → node_modules_0po23em._.js} +2 -2
  66. package/dist/.next/server/chunks/ssr/{node_modules_0o8g9vd._.js → node_modules_0skn4ke._.js} +1 -1
  67. package/dist/.next/server/chunks/ssr/{node_modules_00mqsn_._.js → node_modules_0u1jua0._.js} +1 -1
  68. package/dist/.next/server/chunks/ssr/{node_modules_0v3m.mz._.js → node_modules_0ujy5r7._.js} +1 -1
  69. package/dist/.next/server/chunks/ssr/{node_modules_0ew~fev._.js → node_modules_0v29g77._.js} +2 -2
  70. package/dist/.next/server/chunks/ssr/{node_modules_07189gi._.js → node_modules_0x8-epl._.js} +2 -2
  71. package/dist/.next/server/chunks/ssr/{node_modules_0qn_i0l._.js → node_modules_0xheqa8._.js} +1 -1
  72. package/dist/.next/server/chunks/ssr/{node_modules_02_xiyw._.js → node_modules_0xl3swb._.js} +1 -1
  73. package/dist/.next/server/chunks/ssr/{node_modules_0put12p._.js → node_modules_0yx-7n5._.js} +1 -1
  74. package/dist/.next/server/chunks/ssr/{node_modules_0r2zd8a._.js → node_modules_0~gyl9u._.js} +1 -1
  75. package/dist/.next/server/chunks/ssr/{node_modules_093_74j._.js → node_modules_11r29oo._.js} +1 -1
  76. package/dist/.next/server/chunks/ssr/{node_modules_0aw6~uc._.js → node_modules_12uy2-t._.js} +1 -1
  77. package/dist/.next/server/chunks/ssr/{node_modules_katex_dist_katex_mjs_0.xpmfl._.js → node_modules_katex_dist_katex_mjs_0oc7z2j._.js} +1 -1
  78. package/dist/.next/server/middleware-build-manifest.js +3 -3
  79. package/dist/.next/server/pages/404.html +1 -1
  80. package/dist/.next/server/pages/500.html +1 -1
  81. package/dist/.next/static/chunks/{0-xu1buw-z-nk.css → 0e~yxiezknbzn.css} +1 -1
  82. package/dist/.next/static/chunks/{0kj71vsdfu8cs.js → 12udp03cbusxh.js} +2 -2
  83. package/dist/package.json +1 -1
  84. package/package.json +1 -1
  85. package/dist/.next/server/chunks/[root-of-the-server]__0-8pt0b._.js +0 -6
  86. /package/dist/.next/static/{AkWDd4967dKovrmEZYgg0 → 7aCwaA3-bL6RnqwYt0PmW}/_buildManifest.js +0 -0
  87. /package/dist/.next/static/{AkWDd4967dKovrmEZYgg0 → 7aCwaA3-bL6RnqwYt0PmW}/_clientMiddlewareManifest.js +0 -0
  88. /package/dist/.next/static/{AkWDd4967dKovrmEZYgg0 → 7aCwaA3-bL6RnqwYt0PmW}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
1
  globalThis.__RSC_MANIFEST = globalThis.__RSC_MANIFEST || {};
2
- globalThis.__RSC_MANIFEST["/page"] = {"moduleLoading":{"prefix":"","crossOrigin":null},"clientModules":{"[project]/node_modules/next/dist/esm/client/components/layout-router.js <module evaluation>":{"id":339756,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/layout-router.js":{"id":339756,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/render-from-template-context.js <module evaluation>":{"id":837457,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":837457,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-page.js <module evaluation>":{"id":347257,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-page.js":{"id":347257,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-segment.js <module evaluation>":{"id":92825,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-segment.js":{"id":92825,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js <module evaluation>":{"id":768017,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":768017,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/framework/boundary-components.js <module evaluation>":{"id":897367,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":897367,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js <module evaluation>":{"id":27201,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":27201,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/nuqs/dist/adapters/next/app.js <module evaluation>":{"id":12985,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/nuqs/dist/adapters/next/app.js":{"id":12985,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/src/providers/ThemeProvider.tsx <module evaluation>":{"id":921675,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/src/providers/ThemeProvider.tsx":{"id":921675,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/client/components/builtin/global-error.js <module evaluation>":{"id":168027,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/client/components/builtin/global-error.js":{"id":168027,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/src/app/page.tsx <module evaluation>":{"id":952683,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js","/_next/static/chunks/16k05wezoz4u0.js","/_next/static/chunks/11luuvvu~stmv.js","/_next/static/chunks/0kj71vsdfu8cs.js","/_next/static/chunks/0n46g0ilh8wj..js"],"async":false},"[project]/src/app/page.tsx":{"id":952683,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js","/_next/static/chunks/16k05wezoz4u0.js","/_next/static/chunks/11luuvvu~stmv.js","/_next/static/chunks/0kj71vsdfu8cs.js","/_next/static/chunks/0n46g0ilh8wj..js"],"async":false}},"ssrModuleMapping":{"339756":{"*":{"id":802420,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__0e~coys._.js","server/chunks/ssr/_03eop86._.js","server/chunks/ssr/node_modules_next_dist_0xdsm99._.js","server/chunks/ssr/node_modules_0cdeu-p._.js"],"async":false}},"837457":{"*":{"id":324017,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__0e~coys._.js","server/chunks/ssr/_03eop86._.js","server/chunks/ssr/node_modules_next_dist_0xdsm99._.js","server/chunks/ssr/node_modules_0cdeu-p._.js"],"async":false}},"347257":{"*":{"id":877682,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__0e~coys._.js","server/chunks/ssr/_03eop86._.js","server/chunks/ssr/node_modules_next_dist_0xdsm99._.js","server/chunks/ssr/node_modules_0cdeu-p._.js"],"async":false}},"92825":{"*":{"id":697296,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__0e~coys._.js","server/chunks/ssr/_03eop86._.js","server/chunks/ssr/node_modules_next_dist_0xdsm99._.js","server/chunks/ssr/node_modules_0cdeu-p._.js"],"async":false}},"768017":{"*":{"id":861660,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__0e~coys._.js","server/chunks/ssr/_03eop86._.js","server/chunks/ssr/node_modules_next_dist_0xdsm99._.js","server/chunks/ssr/node_modules_0cdeu-p._.js"],"async":false}},"897367":{"*":{"id":990574,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__0e~coys._.js","server/chunks/ssr/_03eop86._.js","server/chunks/ssr/node_modules_next_dist_0xdsm99._.js","server/chunks/ssr/node_modules_0cdeu-p._.js"],"async":false}},"27201":{"*":{"id":660704,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__0e~coys._.js","server/chunks/ssr/_03eop86._.js","server/chunks/ssr/node_modules_next_dist_0xdsm99._.js","server/chunks/ssr/node_modules_0cdeu-p._.js"],"async":false}},"12985":{"*":{"id":138518,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__0e~coys._.js","server/chunks/ssr/_03eop86._.js","server/chunks/ssr/node_modules_next_dist_0xdsm99._.js","server/chunks/ssr/node_modules_0cdeu-p._.js"],"async":false}},"921675":{"*":{"id":423571,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__0e~coys._.js","server/chunks/ssr/_03eop86._.js","server/chunks/ssr/node_modules_next_dist_0xdsm99._.js","server/chunks/ssr/node_modules_0cdeu-p._.js"],"async":false}},"168027":{"*":{"id":340622,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__0e~coys._.js","server/chunks/ssr/_03eop86._.js","server/chunks/ssr/node_modules_next_dist_0xdsm99._.js","server/chunks/ssr/node_modules_0cdeu-p._.js","server/chunks/ssr/node_modules_09w7yel._.js"],"async":false}},"952683":{"*":{"id":240777,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__0e~coys._.js","server/chunks/ssr/_03eop86._.js","server/chunks/ssr/node_modules_next_dist_0xdsm99._.js","server/chunks/ssr/node_modules_0cdeu-p._.js","server/chunks/ssr/[root-of-the-server]__0nhqxg3._.js","server/chunks/ssr/node_modules_katex_dist_katex_mjs_0zuygmo._.js","server/chunks/ssr/[root-of-the-server]__031lpnq._.js","server/chunks/ssr/[root-of-the-server]__0cylknl._.js"],"async":false}}},"edgeSSRModuleMapping":{},"rscModuleMapping":{"339756":{"*":{"id":926768,"name":"*","chunks":[],"async":false}},"837457":{"*":{"id":517910,"name":"*","chunks":[],"async":false}},"347257":{"*":{"id":292977,"name":"*","chunks":[],"async":false}},"92825":{"*":{"id":348552,"name":"*","chunks":[],"async":false}},"768017":{"*":{"id":683919,"name":"*","chunks":[],"async":false}},"897367":{"*":{"id":724150,"name":"*","chunks":[],"async":false}},"27201":{"*":{"id":340771,"name":"*","chunks":[],"async":false}},"12985":{"*":{"id":372051,"name":"*","chunks":[],"async":false}},"921675":{"*":{"id":847283,"name":"*","chunks":[],"async":false}},"168027":{"*":{"id":782509,"name":"*","chunks":[],"async":false}},"952683":{"*":{"id":256983,"name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{},"entryCSSFiles":{"[project]/src/app/layout":[{"path":"static/chunks/0-xu1buw-z-nk.css","inlined":false}],"[project]/node_modules/next/dist/client/components/builtin/global-error":[{"path":"static/chunks/0-xu1buw-z-nk.css","inlined":false}],"[project]/src/app/page":[{"path":"static/chunks/0-xu1buw-z-nk.css","inlined":false}]},"entryJSFiles":{"[project]/src/app/layout":["static/chunks/0lfej4svc~ist.js","static/chunks/112qdnf547wz8.js","static/chunks/13mjf5q.pema_.js"],"[project]/node_modules/next/dist/client/components/builtin/global-error":["static/chunks/0lfej4svc~ist.js","static/chunks/112qdnf547wz8.js","static/chunks/13mjf5q.pema_.js"],"[project]/src/app/page":["static/chunks/0lfej4svc~ist.js","static/chunks/112qdnf547wz8.js","static/chunks/13mjf5q.pema_.js","static/chunks/16k05wezoz4u0.js","static/chunks/11luuvvu~stmv.js","static/chunks/0kj71vsdfu8cs.js","static/chunks/0n46g0ilh8wj..js"]}};
2
+ globalThis.__RSC_MANIFEST["/page"] = {"moduleLoading":{"prefix":"","crossOrigin":null},"clientModules":{"[project]/node_modules/next/dist/esm/client/components/layout-router.js <module evaluation>":{"id":339756,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/layout-router.js":{"id":339756,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/render-from-template-context.js <module evaluation>":{"id":837457,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":837457,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-page.js <module evaluation>":{"id":347257,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-page.js":{"id":347257,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-segment.js <module evaluation>":{"id":92825,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-segment.js":{"id":92825,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js <module evaluation>":{"id":768017,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":768017,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/framework/boundary-components.js <module evaluation>":{"id":897367,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":897367,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js <module evaluation>":{"id":27201,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":27201,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/nuqs/dist/adapters/next/app.js <module evaluation>":{"id":12985,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/nuqs/dist/adapters/next/app.js":{"id":12985,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/src/providers/ThemeProvider.tsx <module evaluation>":{"id":921675,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/src/providers/ThemeProvider.tsx":{"id":921675,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/client/components/builtin/global-error.js <module evaluation>":{"id":168027,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/node_modules/next/dist/client/components/builtin/global-error.js":{"id":168027,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js"],"async":false},"[project]/src/app/page.tsx <module evaluation>":{"id":952683,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js","/_next/static/chunks/16k05wezoz4u0.js","/_next/static/chunks/11luuvvu~stmv.js","/_next/static/chunks/12udp03cbusxh.js","/_next/static/chunks/0n46g0ilh8wj..js"],"async":false},"[project]/src/app/page.tsx":{"id":952683,"name":"*","chunks":["/_next/static/chunks/0lfej4svc~ist.js","/_next/static/chunks/112qdnf547wz8.js","/_next/static/chunks/13mjf5q.pema_.js","/_next/static/chunks/16k05wezoz4u0.js","/_next/static/chunks/11luuvvu~stmv.js","/_next/static/chunks/12udp03cbusxh.js","/_next/static/chunks/0n46g0ilh8wj..js"],"async":false}},"ssrModuleMapping":{"339756":{"*":{"id":802420,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__0e~coys._.js","server/chunks/ssr/_03eop86._.js","server/chunks/ssr/node_modules_next_dist_0xdsm99._.js","server/chunks/ssr/node_modules_0cdeu-p._.js"],"async":false}},"837457":{"*":{"id":324017,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__0e~coys._.js","server/chunks/ssr/_03eop86._.js","server/chunks/ssr/node_modules_next_dist_0xdsm99._.js","server/chunks/ssr/node_modules_0cdeu-p._.js"],"async":false}},"347257":{"*":{"id":877682,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__0e~coys._.js","server/chunks/ssr/_03eop86._.js","server/chunks/ssr/node_modules_next_dist_0xdsm99._.js","server/chunks/ssr/node_modules_0cdeu-p._.js"],"async":false}},"92825":{"*":{"id":697296,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__0e~coys._.js","server/chunks/ssr/_03eop86._.js","server/chunks/ssr/node_modules_next_dist_0xdsm99._.js","server/chunks/ssr/node_modules_0cdeu-p._.js"],"async":false}},"768017":{"*":{"id":861660,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__0e~coys._.js","server/chunks/ssr/_03eop86._.js","server/chunks/ssr/node_modules_next_dist_0xdsm99._.js","server/chunks/ssr/node_modules_0cdeu-p._.js"],"async":false}},"897367":{"*":{"id":990574,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__0e~coys._.js","server/chunks/ssr/_03eop86._.js","server/chunks/ssr/node_modules_next_dist_0xdsm99._.js","server/chunks/ssr/node_modules_0cdeu-p._.js"],"async":false}},"27201":{"*":{"id":660704,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__0e~coys._.js","server/chunks/ssr/_03eop86._.js","server/chunks/ssr/node_modules_next_dist_0xdsm99._.js","server/chunks/ssr/node_modules_0cdeu-p._.js"],"async":false}},"12985":{"*":{"id":138518,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__0e~coys._.js","server/chunks/ssr/_03eop86._.js","server/chunks/ssr/node_modules_next_dist_0xdsm99._.js","server/chunks/ssr/node_modules_0cdeu-p._.js"],"async":false}},"921675":{"*":{"id":423571,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__0e~coys._.js","server/chunks/ssr/_03eop86._.js","server/chunks/ssr/node_modules_next_dist_0xdsm99._.js","server/chunks/ssr/node_modules_0cdeu-p._.js"],"async":false}},"168027":{"*":{"id":340622,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__0e~coys._.js","server/chunks/ssr/_03eop86._.js","server/chunks/ssr/node_modules_next_dist_0xdsm99._.js","server/chunks/ssr/node_modules_0cdeu-p._.js","server/chunks/ssr/node_modules_09w7yel._.js"],"async":false}},"952683":{"*":{"id":240777,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__0e~coys._.js","server/chunks/ssr/_03eop86._.js","server/chunks/ssr/node_modules_next_dist_0xdsm99._.js","server/chunks/ssr/node_modules_0cdeu-p._.js","server/chunks/ssr/[root-of-the-server]__12~42ln._.js","server/chunks/ssr/node_modules_katex_dist_katex_mjs_0zuygmo._.js","server/chunks/ssr/[root-of-the-server]__031lpnq._.js","server/chunks/ssr/[root-of-the-server]__0cylknl._.js"],"async":false}}},"edgeSSRModuleMapping":{},"rscModuleMapping":{"339756":{"*":{"id":926768,"name":"*","chunks":[],"async":false}},"837457":{"*":{"id":517910,"name":"*","chunks":[],"async":false}},"347257":{"*":{"id":292977,"name":"*","chunks":[],"async":false}},"92825":{"*":{"id":348552,"name":"*","chunks":[],"async":false}},"768017":{"*":{"id":683919,"name":"*","chunks":[],"async":false}},"897367":{"*":{"id":724150,"name":"*","chunks":[],"async":false}},"27201":{"*":{"id":340771,"name":"*","chunks":[],"async":false}},"12985":{"*":{"id":372051,"name":"*","chunks":[],"async":false}},"921675":{"*":{"id":847283,"name":"*","chunks":[],"async":false}},"168027":{"*":{"id":782509,"name":"*","chunks":[],"async":false}},"952683":{"*":{"id":256983,"name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{},"entryCSSFiles":{"[project]/src/app/layout":[{"path":"static/chunks/0e~yxiezknbzn.css","inlined":false}],"[project]/node_modules/next/dist/client/components/builtin/global-error":[{"path":"static/chunks/0e~yxiezknbzn.css","inlined":false}],"[project]/src/app/page":[{"path":"static/chunks/0e~yxiezknbzn.css","inlined":false}]},"entryJSFiles":{"[project]/src/app/layout":["static/chunks/0lfej4svc~ist.js","static/chunks/112qdnf547wz8.js","static/chunks/13mjf5q.pema_.js"],"[project]/node_modules/next/dist/client/components/builtin/global-error":["static/chunks/0lfej4svc~ist.js","static/chunks/112qdnf547wz8.js","static/chunks/13mjf5q.pema_.js"],"[project]/src/app/page":["static/chunks/0lfej4svc~ist.js","static/chunks/112qdnf547wz8.js","static/chunks/13mjf5q.pema_.js","static/chunks/16k05wezoz4u0.js","static/chunks/11luuvvu~stmv.js","static/chunks/12udp03cbusxh.js","static/chunks/0n46g0ilh8wj..js"]}};
3
3
 
@@ -1,3 +1,3 @@
1
- module.exports=[254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},17883,e=>{"use strict";var t=e.i(522734),r=e.i(446786),i=e.i(814747),a=e.i(254799);let s=(0,i.join)((0,r.homedir)(),".config","evoscientist","langgraph_dev.workspace.json");function o(e){for(let t=0;t<e.length;t+=1){let r=e.charCodeAt(t);if(r<32||127===r||r>=128&&r<=159||8232===r||8233===r)return!0}return!1}let n=new Set(["large_tool_results","conversation_history","__pycache__","node_modules","__MACOSX"]),l=[".pyc",".pyo"];function c(e){return!!(e.startsWith(".")||n.has(e))||l.some(t=>e.endsWith(t))}async function p(){let e;try{let r=JSON.parse(await t.promises.readFile(s,"utf-8")),i=r.workspace,a=r.pid;"string"==typeof i&&i.trim()&&(!("number"==typeof a&&a>0)||function(e){try{return process.kill(e,0),!0}catch(e){return"EPERM"===e.code}}(a))&&(e=i)}catch{}if(!(e||=process.env.EVOSCIENTIST_WORKSPACE_DIR))throw Error("No active EvoScientist workspace found. Start the backend with `EvoSci deploy` first.");let r=(0,i.resolve)(e);if(!(await t.promises.stat(r)).isDirectory())throw Error("The active EvoScientist workspace is not a directory.");return t.promises.realpath(r)}function u(e,t){if(o(t))throw Error("Invalid path.");let r=t.replaceAll("\\","/").replace(/^\/+/,"");if(r.split("/").some(e=>""!==e&&c(e)))throw Error("Path is not accessible.");let a=(0,i.resolve)(e,r);if(a!==e&&!a.startsWith(e+i.sep))throw Error("Path is outside the workspace.");return a}async function d(e,r){let a,s=u(e,r);try{a=await t.promises.realpath(s)}catch{throw Error("Path is not accessible.")}if(a!==e&&!a.startsWith(e+i.sep))throw Error("Path is not accessible.");let o=(0,i.relative)(e,a);if(o&&o.split(i.sep).some(e=>""!==e&&c(e)))throw Error("Path is not accessible.");return a}let h=new Set(["txt","text","md","markdown","log","csv","tsv","json","jsonl","yaml","yml","toml","xml","ini","cfg","conf","env","py","js","jsx","ts","tsx","sh","bash","zsh","r","jl","cpp","cc","c","h","hpp","java","go","rs","rb","php","swift","kt","cs","sql","tex","bib","rst","css","scss","html"]);async function m(e,r){let a;try{a=await t.promises.realpath((0,i.dirname)(r))}catch{throw Error("Path is not accessible.")}if(a!==e&&!a.startsWith(e+i.sep))throw Error("Path is not accessible.")}function f(e){let t;return h.has((t=e.lastIndexOf("."))>=0?e.slice(t+1).toLowerCase():"")}async function w(e,r,s){let o;if("string"!=typeof s)throw Error("Content must be a string.");if(Buffer.byteLength(s,"utf-8")>5242880)throw Error("This file is too large to save.");if(!f(r.replaceAll("\\","/").split("/").pop()||r))throw Error("Only text/code files can be edited.");let n=u(e,r);try{o=await t.promises.lstat(n)}catch{throw Error("Only files can be edited.")}if(o.isSymbolicLink())throw Error("Editing symlinks is not allowed.");let l=await d(e,r);if(!f((0,i.basename)(l)))throw Error("Only text/code files can be edited.");let c=await t.promises.stat(l);if(!c.isFile())throw Error("Only files can be edited.");let p=`${l}.${(0,a.randomUUID)()}.tmp`;try{await m(e,l),await t.promises.writeFile(p,s,{encoding:"utf-8",mode:511&c.mode}),await m(e,l),await t.promises.rename(p,l)}catch(e){throw await t.promises.rm(p,{force:!0}).catch(()=>{}),e}let h=await t.promises.stat(l);return{path:r.replaceAll("\\","/").replace(/^\/+/,""),size:h.size,mtime:h.mtimeMs}}async function y(e,r){await d(e,r);let i=u(e,r);if((await t.promises.lstat(i)).isDirectory())throw Error("Only files can be deleted.");await m(e,i),await t.promises.rm(i,{force:!0})}e.s(["MAX_WORKSPACE_WRITE_BYTES",0,5242880,"deleteWorkspaceFile",0,y,"getWorkspaceDir",0,p,"hasControlChar",0,o,"isCrossOrigin",0,function(e){let t=e.headers.get("sec-fetch-site");if(t&&"same-origin"!==t&&"same-site"!==t&&"none"!==t)return!0;let r=e.headers.get("origin");return!!r&&r!==e.nextUrl.origin},"isHiddenEntry",0,c,"safeResolve",0,d,"writeWorkspaceFile",0,w,"zipExcludeArgs",0,function(){let e=[".*","*/.*"];for(let t of n)e.push(`${t}/*`,`*/${t}/*`,t,`*/${t}`);for(let t of l)e.push(`*${t}`);return e.flatMap(e=>["-x",e])}])},85678,e=>{"use strict";var t=e.i(522734),r=e.i(446786),i=e.i(814747),a=e.i(254799),s=e.i(17883);function o(e){return e.startsWith("~")?(0,i.join)((0,r.homedir)(),e.slice(1)):(0,i.resolve)(e)}function n(){let e,t=process.env.EVOSCIENTIST_MEMORIES_DIR||process.env.EVOSCIENTIST_MEMORY_DIR;return t&&t.trim()?o(t):(0,i.join)((e=process.env.EVOSCIENTIST_DATA_DIR)&&e.trim()?o(e):(0,i.join)((0,r.homedir)(),".evoscientist"),"memories")}async function l(){try{let e=await t.promises.realpath(n());return(await t.promises.stat(e)).isDirectory()?e:null}catch{return null}}async function c(){let e=n();return await t.promises.mkdir(e,{recursive:!0}),t.promises.realpath(e)}let p=new Set(["__pycache__","node_modules","__MACOSX"]),u=[".pyc",".pyo"];function d(e){return!!(e.startsWith(".")||p.has(e))||u.some(t=>e.endsWith(t))}let h=new Set(["md","markdown","txt","text","json","yaml","yml","csv","tsv","log","tex","bib","rst"]);function m(e){let t;return h.has((t=e.lastIndexOf("."))>=0?e.slice(t+1).toLowerCase():"")}function f(e,t){if((0,s.hasControlChar)(t))throw Error("Invalid path.");let r=t.replaceAll("\\","/").replace(/^\/+/,"");if(!r)throw Error("A file path is required.");if(r.split("/").some(e=>""!==e&&d(e)))throw Error("Path is not accessible.");let a=(0,i.resolve)(e,r);if(a!==e&&!a.startsWith(e+i.sep))throw Error("Path is outside the memory directory.");return a}async function w(e,r){let a,s=f(e,r);try{a=await t.promises.realpath(s)}catch{throw Error("Path is not accessible.")}if(a!==e&&!a.startsWith(e+i.sep))throw Error("Path is not accessible.");let o=(0,i.relative)(e,a);if(o&&o.split(i.sep).some(e=>""!==e&&d(e)))throw Error("Path is not accessible.");return a}async function y(e,r){let a=f(e,r),s=(0,i.dirname)(a);for(;;)try{let r=await t.promises.realpath(s);if(r!==e&&!r.startsWith(e+i.sep))throw Error("Path is outside the memory directory.");break}catch(t){if(t instanceof Error&&t.message.includes("outside"))throw t;let e=(0,i.dirname)(s);if(e===s)break;s=e}return a}async function x(){let e=n(),r=await l();if(!r)return{dir:e,exists:!1,entries:[],truncated:!1};let a=[],s=!1;async function o(e,n){let l;if(n>8||a.length>=2e3){a.length>=2e3&&(s=!0);return}try{l=await t.promises.readdir(e,{withFileTypes:!0})}catch{return}for(let c of(l.sort((e,t)=>e.name.localeCompare(t.name)),l)){if(d(c.name))continue;if(a.length>=2e3){s=!0;return}let l=(0,i.join)(e,c.name);if(c.isDirectory())await o(l,n+1);else if(c.isFile()){let e=0,s=0;try{let r=await t.promises.stat(l);e=r.size,s=r.mtimeMs}catch{continue}a.push({path:(0,i.relative)(r,l).split(i.sep).join("/"),size:e,mtime:s,editable:m(c.name)&&e<=2097152})}}}return await o(r,0),{dir:e,exists:!0,entries:a,truncated:s}}async function E(e){let r=await l();if(!r)throw Error("No memory directory found.");if(!m(e))throw Error("This file type can't be edited.");let i=await w(r,e),a=await t.promises.stat(i);if(!a.isFile())throw Error("Not a file.");if(a.size>2097152)throw Error("This file is too large to open.");let s=await t.promises.readFile(i,"utf-8");return{path:e.replaceAll("\\","/").replace(/^\/+/,""),content:s,size:a.size,mtime:a.mtimeMs}}async function g(e,r){if("string"!=typeof r)throw Error("Content must be a string.");if(Buffer.byteLength(r,"utf-8")>1048576)throw Error("This file is too large to save.");if(!m(e))throw Error("Only text/markdown memory files can be saved.");let s=await c(),o=await y(s,e);await t.promises.mkdir((0,i.dirname)(o),{recursive:!0});let n=`${o}.${(0,a.randomUUID)()}.tmp`;try{await t.promises.writeFile(n,r,{encoding:"utf-8",mode:384}),await t.promises.rename(n,o)}catch(e){throw await t.promises.rm(n,{force:!0}).catch(()=>{}),e}let l=await t.promises.stat(o);return{path:e.replaceAll("\\","/").replace(/^\/+/,""),content:r,size:l.size,mtime:l.mtimeMs}}function v(e){let t=e.match(/^---\r?\n([\s\S]*?)\r?\n---/);return t?t[1]:""}function R(e,t){let r=RegExp(`^${t}:\\s*(.+)`,"m"),i=e.match(r);return i?i[1].trim().replace(/^'(.*)'$/,"$1").replace(/^"(.*)"$/,"$1"):""}function b(e,t){let r=RegExp(`\\b${t}:\\s*(.+)`,"m"),i=e.match(r);return i?i[1].trim().replace(/^'(.*)'$/,"$1").replace(/^"(.*)"$/,"$1"):""}async function C(){let e=await l();if(!e)return{nodes:[],edges:[]};let r=(0,i.join)(e,"observations");try{await t.promises.access(r)}catch{return{nodes:[],edges:[]}}let a=new Map,s=[];async function o(r){let n;try{n=await t.promises.readdir(r,{withFileTypes:!0})}catch{return}for(let l of(n.sort((e,t)=>e.name.localeCompare(t.name)),n)){if(d(l.name))continue;let n=(0,i.join)(r,l.name);if(l.isDirectory())await o(n);else if(l.isFile()&&l.name.endsWith(".md")){let r=await t.promises.readFile(n,"utf-8").catch(()=>null);if(!r)continue;let o=v(r),c=R(o,"id")||l.name.replace(/\.md$/,""),p=R(o,"summary")||c,u=R(o,"memory_type")||"semantic",d=R(o,"scope")||"global",h=R(o,"created_at")||"",m=function(e){let t,r=e.indexOf("related_observations:");if(-1===r)return[];let i=e.slice(r+21),a=[],s=/^- id:\s*(.+)$/gm;for(;null!==(t=s.exec(i));){let e=t.index,r=i.slice(e+1),s=r.match(/^(?:- |[a-z_])/m),o=i.slice(e,e+1+(s?.index??r.length)),n=t[1].trim().replace(/^['"]|['"]$/g,""),l=o.match(/^\s+relation:\s*(.+)$/m),c=l?.[1]?.trim()??"";n&&c&&a.push({id:n,relation:c})}return a}(o),f=(0,i.relative)(e,n).split(i.sep).join("/");for(let e of(a.set(c,{id:c,path:f,summary:p,memory_type:u,scope:d,created_at:h,degree:0}),m))s.push({source:c,target:e.id,relation:e.relation})}}}await o(r);let n=s.filter(e=>a.has(e.source)&&a.has(e.target));for(let e of n)a.get(e.source).degree++,a.get(e.target).degree++;return{nodes:Array.from(a.values()),edges:n}}async function _(){let e=await l();if(!e)return{entries:[],truncated:!1};let r=(0,i.join)(e,"executions");try{await t.promises.access(r)}catch{return{entries:[],truncated:!1}}let a=[],s=!1;async function o(r){let n;if(a.length>=2e3){s=!0;return}try{n=await t.promises.readdir(r,{withFileTypes:!0})}catch{return}for(let s of(n.sort((e,t)=>e.name.localeCompare(t.name)),n)){if(d(s.name))continue;let n=(0,i.join)(r,s.name);if(s.isDirectory())await o(n);else if(s.isFile()&&s.name.endsWith(".md")){let r=await t.promises.readFile(n,"utf-8").catch(()=>null);if(!r)continue;let o=v(r),l=R(o,"id")||s.name.replace(/\.md$/,""),c=R(o,"created_at")||"",p=R(o,"project_id")||"",u=b(o,"agent"),d=b(o,"session_id"),h=r.replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/,"").trim(),m=h.match(/^##\s+Summary\s*\r?\n([\s\S]*?)(?=\n##\s|\s*$)/m),f=m?m[1].trim():h.slice(0,500),w=[...new Set(h.match(/\bO-[0-9a-f]{16}\b/g)??[])];a.push({id:l,created_at:c,agent:u,session_id:d,project_id:p,summary:f,obs_ids:w,path:(0,i.relative)(e,n).split(i.sep).join("/")})}}}return await o(r),a.sort((e,t)=>t.created_at.localeCompare(e.created_at)),{entries:a,truncated:s}}async function S(e){let r=await l();if(!r)throw Error("No memory directory found.");let i=await w(r,e);if(!(await t.promises.stat(i)).isFile())throw Error("Only files can be deleted.");await t.promises.rm(i,{force:!0})}e.s(["deleteMemory",0,S,"listExecutions",0,_,"listMemory",0,x,"listObservations",0,C,"readMemory",0,E,"writeMemory",0,g])},282476,e=>{"use strict";var t=e.i(747909),r=e.i(174017),i=e.i(996250),a=e.i(759756),s=e.i(561916),o=e.i(174677),n=e.i(869741),l=e.i(316795),c=e.i(487718),p=e.i(995169),u=e.i(47587),d=e.i(666012),h=e.i(570101),m=e.i(626937),f=e.i(10372),w=e.i(193695);e.i(52474);var y=e.i(600220),x=e.i(89171),E=e.i(85678),g=e.i(17883);let v={"Cache-Control":"no-store"};async function R(e){try{if((0,g.isCrossOrigin)(e))return x.NextResponse.json({error:"Cross-origin access not allowed."},{status:403,headers:v});return x.NextResponse.json(await (0,E.listExecutions)(),{headers:v})}catch(e){return x.NextResponse.json({error:e instanceof Error?e.message:"Failed to load executions."},{status:400,headers:v})}}e.s(["GET",0,R,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],504786);var b=e.i(504786);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/memory/executions/route",pathname:"/api/memory/executions",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/memory/executions/route.ts",nextConfigOutput:"standalone",userland:b,...{}}),{workAsyncStorage:_,workUnitAsyncStorage:S,serverHooks:A}=C;async function O(e,t,i){i.requestMeta&&(0,a.setRequestMeta)(e,i.requestMeta),C.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/memory/executions/route";x=x.replace(/\/index$/,"")||"/";let E=await C.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:R,nextConfig:b,parsedUrl:_,isDraftMode:S,prerenderManifest:A,routerServerContext:O,isOnDemandRevalidate:T,revalidateOnlyGenerated:j,resolvedPathname:k,clientReferenceManifest:P,serverActionsManifest:N}=E,I=(0,n.normalizeAppPath)(x),M=!!(A.dynamicRoutes[I]||A.routes[k]),$=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,_,!1):t.end("This page could not be found"),null);if(M&&!S){let e=!!A.routes[k],t=A.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await $();throw new w.NoFallbackError}}let q=null;!M||C.isDev||S||(q="/index"===(q=k)?"/":q);let D=!0===C.isDev||!M,F=M&&!D;N&&P&&(0,o.setManifestsSingleton)({page:x,clientReferenceManifest:P,serverActionsManifest:N});let W=e.method||"GET",U=(0,s.getTracer)(),H=U.getActiveScopeSpan(),z=!!(null==O?void 0:O.isWrappedByNextServer),K=!!(0,a.getRequestMeta)(e,"minimalMode"),L=(0,a.getRequestMeta)(e,"incrementalCache")||await C.getIncrementalCache(e,b,A,K);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let B={params:R,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:D,incrementalCache:L,cacheLifeProfiles:b.cacheLife,waitUntil:i.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,i,a)=>C.onRequestError(e,t,i,a,O)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),G=c.NextRequestAdapter.fromNodeNextRequest(V,(0,c.signalFromNodeResponse)(t));try{let a,o=async e=>C.handle(G,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=r.get("next.route");if(i){let t=`${W} ${i}`;e.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",i),a.updateName(t))}else e.updateName(`${W} ${x}`)}),n=async a=>{var s,n;let l=async({previousCacheEntry:r})=>{try{if(!K&&T&&j&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(a);e.fetchMetrics=B.renderOpts.fetchMetrics;let n=B.renderOpts.pendingWaitUntil;n&&i.waitUntil&&(i.waitUntil(n),n=void 0);let l=B.renderOpts.collectedTags;if(!M)return await (0,d.sendResponse)(V,X,s,B.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,i=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:i}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:T})},!1,O),t}},c=await C.handleResponse({req:e,nextConfig:b,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:j,responseGenerator:l,waitUntil:i.waitUntil,isMinimalMode:K});if(!M)return null;if((null==c||null==(s=c.value)?void 0:s.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(n=c.value)?void 0:n.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",T?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return K&&M||p.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,m.getCacheControlHeader)(c.cacheControl)),await (0,d.sendResponse)(V,X,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};z&&H?await n(H):(a=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(p.BaseServerSpan.handleRequest,{spanName:`${W} ${x}`,kind:s.SpanKind.SERVER,attributes:{"http.method":W,"http.target":e.url}},n),void 0,!z))}catch(t){if(t instanceof w.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:T})},!1,O),M)throw t;return await (0,d.sendResponse)(V,X,new Response(null,{status:500})),null}}e.s(["handler",0,O,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:S})},"routeModule",0,C,"serverHooks",0,A,"workAsyncStorage",0,_,"workUnitAsyncStorage",0,S],282476)}];
1
+ module.exports=[254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},17883,e=>{"use strict";var t=e.i(522734),r=e.i(446786),i=e.i(814747),a=e.i(254799);let s=(0,i.join)((0,r.homedir)(),".config","evoscientist","langgraph_dev.workspace.json");function o(e){for(let t=0;t<e.length;t+=1){let r=e.charCodeAt(t);if(r<32||127===r||r>=128&&r<=159||8232===r||8233===r)return!0}return!1}let n=new Set(["large_tool_results","conversation_history","__pycache__","node_modules","__MACOSX"]),l=[".pyc",".pyo"];function c(e){return!!(e.startsWith(".")||n.has(e))||l.some(t=>e.endsWith(t))}async function u(){let e;try{let r=JSON.parse(await t.promises.readFile(s,"utf-8")),i=r.workspace,a=r.pid;"string"==typeof i&&i.trim()&&(!("number"==typeof a&&a>0)||function(e){try{return process.kill(e,0),!0}catch(e){return"EPERM"===e.code}}(a))&&(e=i)}catch{}if(!(e||=process.env.EVOSCIENTIST_WORKSPACE_DIR))throw Error("No active EvoScientist workspace found. Start the backend with `EvoSci deploy` first.");let r=(0,i.resolve)(e);if(!(await t.promises.stat(r)).isDirectory())throw Error("The active EvoScientist workspace is not a directory.");return t.promises.realpath(r)}function p(e,t){if(o(t))throw Error("Invalid path.");let r=t.replaceAll("\\","/").replace(/^\/+/,"");if(r.split("/").some(e=>""!==e&&c(e)))throw Error("Path is not accessible.");let a=(0,i.resolve)(e,r);if(a!==e&&!a.startsWith(e+i.sep))throw Error("Path is outside the workspace.");return a}async function d(e,r){let a,s=p(e,r);try{a=await t.promises.realpath(s)}catch{throw Error("Path is not accessible.")}if(a!==e&&!a.startsWith(e+i.sep))throw Error("Path is not accessible.");let o=(0,i.relative)(e,a);if(o&&o.split(i.sep).some(e=>""!==e&&c(e)))throw Error("Path is not accessible.");return a}let h=new Set(["txt","text","md","markdown","log","csv","tsv","json","jsonl","yaml","yml","toml","xml","ini","cfg","conf","env","py","js","jsx","ts","tsx","sh","bash","zsh","r","jl","cpp","cc","c","h","hpp","java","go","rs","rb","php","swift","kt","cs","sql","tex","bib","rst","css","scss","html"]);async function m(e,r){let a;try{a=await t.promises.realpath((0,i.dirname)(r))}catch{throw Error("Path is not accessible.")}if(a!==e&&!a.startsWith(e+i.sep))throw Error("Path is not accessible.")}function f(e){let t;return h.has((t=e.lastIndexOf("."))>=0?e.slice(t+1).toLowerCase():"")}async function w(e,r,s){let o;if("string"!=typeof s)throw Error("Content must be a string.");if(Buffer.byteLength(s,"utf-8")>5242880)throw Error("This file is too large to save.");if(!f(r.replaceAll("\\","/").split("/").pop()||r))throw Error("Only text/code files can be edited.");let n=p(e,r);try{o=await t.promises.lstat(n)}catch{throw Error("Only files can be edited.")}if(o.isSymbolicLink())throw Error("Editing symlinks is not allowed.");let l=await d(e,r);if(!f((0,i.basename)(l)))throw Error("Only text/code files can be edited.");let c=await t.promises.stat(l);if(!c.isFile())throw Error("Only files can be edited.");let u=`${l}.${(0,a.randomUUID)()}.tmp`;try{await m(e,l),await t.promises.writeFile(u,s,{encoding:"utf-8",mode:511&c.mode}),await m(e,l),await t.promises.rename(u,l)}catch(e){throw await t.promises.rm(u,{force:!0}).catch(()=>{}),e}let h=await t.promises.stat(l);return{path:r.replaceAll("\\","/").replace(/^\/+/,""),size:h.size,mtime:h.mtimeMs}}async function y(e,r){await d(e,r);let i=p(e,r);if((await t.promises.lstat(i)).isDirectory())throw Error("Only files can be deleted.");await m(e,i),await t.promises.rm(i,{force:!0})}e.s(["MAX_WORKSPACE_WRITE_BYTES",0,5242880,"deleteWorkspaceFile",0,y,"getWorkspaceDir",0,u,"hasControlChar",0,o,"isCrossOrigin",0,function(e){let t=e.headers.get("host");if(!t)return!0;let r=e.headers.get("sec-fetch-site");if(r)return"same-origin"!==r&&"same-site"!==r&&"none"!==r;let i=e.headers.get("origin");if(!i)return!1;try{return new URL(i).host!==t}catch{return!0}},"isHiddenEntry",0,c,"safeResolve",0,d,"writeWorkspaceFile",0,w,"zipExcludeArgs",0,function(){let e=[".*","*/.*"];for(let t of n)e.push(`${t}/*`,`*/${t}/*`,t,`*/${t}`);for(let t of l)e.push(`*${t}`);return e.flatMap(e=>["-x",e])}])},85678,e=>{"use strict";var t=e.i(522734),r=e.i(446786),i=e.i(814747),a=e.i(254799),s=e.i(17883);function o(e){return e.startsWith("~")?(0,i.join)((0,r.homedir)(),e.slice(1)):(0,i.resolve)(e)}function n(){let e,t=process.env.EVOSCIENTIST_MEMORIES_DIR||process.env.EVOSCIENTIST_MEMORY_DIR;return t&&t.trim()?o(t):(0,i.join)((e=process.env.EVOSCIENTIST_DATA_DIR)&&e.trim()?o(e):(0,i.join)((0,r.homedir)(),".evoscientist"),"memories")}async function l(){try{let e=await t.promises.realpath(n());return(await t.promises.stat(e)).isDirectory()?e:null}catch{return null}}async function c(){let e=n();return await t.promises.mkdir(e,{recursive:!0}),t.promises.realpath(e)}let u=new Set(["__pycache__","node_modules","__MACOSX"]),p=[".pyc",".pyo"];function d(e){return!!(e.startsWith(".")||u.has(e))||p.some(t=>e.endsWith(t))}let h=new Set(["md","markdown","txt","text","json","yaml","yml","csv","tsv","log","tex","bib","rst"]);function m(e){let t;return h.has((t=e.lastIndexOf("."))>=0?e.slice(t+1).toLowerCase():"")}function f(e,t){if((0,s.hasControlChar)(t))throw Error("Invalid path.");let r=t.replaceAll("\\","/").replace(/^\/+/,"");if(!r)throw Error("A file path is required.");if(r.split("/").some(e=>""!==e&&d(e)))throw Error("Path is not accessible.");let a=(0,i.resolve)(e,r);if(a!==e&&!a.startsWith(e+i.sep))throw Error("Path is outside the memory directory.");return a}async function w(e,r){let a,s=f(e,r);try{a=await t.promises.realpath(s)}catch{throw Error("Path is not accessible.")}if(a!==e&&!a.startsWith(e+i.sep))throw Error("Path is not accessible.");let o=(0,i.relative)(e,a);if(o&&o.split(i.sep).some(e=>""!==e&&d(e)))throw Error("Path is not accessible.");return a}async function y(e,r){let a=f(e,r),s=(0,i.dirname)(a);for(;;)try{let r=await t.promises.realpath(s);if(r!==e&&!r.startsWith(e+i.sep))throw Error("Path is outside the memory directory.");break}catch(t){if(t instanceof Error&&t.message.includes("outside"))throw t;let e=(0,i.dirname)(s);if(e===s)break;s=e}return a}async function x(){let e=n(),r=await l();if(!r)return{dir:e,exists:!1,entries:[],truncated:!1};let a=[],s=!1;async function o(e,n){let l;if(n>8||a.length>=2e3){a.length>=2e3&&(s=!0);return}try{l=await t.promises.readdir(e,{withFileTypes:!0})}catch{return}for(let c of(l.sort((e,t)=>e.name.localeCompare(t.name)),l)){if(d(c.name))continue;if(a.length>=2e3){s=!0;return}let l=(0,i.join)(e,c.name);if(c.isDirectory())await o(l,n+1);else if(c.isFile()){let e=0,s=0;try{let r=await t.promises.stat(l);e=r.size,s=r.mtimeMs}catch{continue}a.push({path:(0,i.relative)(r,l).split(i.sep).join("/"),size:e,mtime:s,editable:m(c.name)&&e<=2097152})}}}return await o(r,0),{dir:e,exists:!0,entries:a,truncated:s}}async function E(e){let r=await l();if(!r)throw Error("No memory directory found.");if(!m(e))throw Error("This file type can't be edited.");let i=await w(r,e),a=await t.promises.stat(i);if(!a.isFile())throw Error("Not a file.");if(a.size>2097152)throw Error("This file is too large to open.");let s=await t.promises.readFile(i,"utf-8");return{path:e.replaceAll("\\","/").replace(/^\/+/,""),content:s,size:a.size,mtime:a.mtimeMs}}async function g(e,r){if("string"!=typeof r)throw Error("Content must be a string.");if(Buffer.byteLength(r,"utf-8")>1048576)throw Error("This file is too large to save.");if(!m(e))throw Error("Only text/markdown memory files can be saved.");let s=await c(),o=await y(s,e);await t.promises.mkdir((0,i.dirname)(o),{recursive:!0});let n=`${o}.${(0,a.randomUUID)()}.tmp`;try{await t.promises.writeFile(n,r,{encoding:"utf-8",mode:384}),await t.promises.rename(n,o)}catch(e){throw await t.promises.rm(n,{force:!0}).catch(()=>{}),e}let l=await t.promises.stat(o);return{path:e.replaceAll("\\","/").replace(/^\/+/,""),content:r,size:l.size,mtime:l.mtimeMs}}function v(e){let t=e.match(/^---\r?\n([\s\S]*?)\r?\n---/);return t?t[1]:""}function R(e,t){let r=RegExp(`^${t}:\\s*(.+)`,"m"),i=e.match(r);return i?i[1].trim().replace(/^'(.*)'$/,"$1").replace(/^"(.*)"$/,"$1"):""}function b(e,t){let r=RegExp(`\\b${t}:\\s*(.+)`,"m"),i=e.match(r);return i?i[1].trim().replace(/^'(.*)'$/,"$1").replace(/^"(.*)"$/,"$1"):""}async function C(){let e=await l();if(!e)return{nodes:[],edges:[]};let r=(0,i.join)(e,"observations");try{await t.promises.access(r)}catch{return{nodes:[],edges:[]}}let a=new Map,s=[];async function o(r){let n;try{n=await t.promises.readdir(r,{withFileTypes:!0})}catch{return}for(let l of(n.sort((e,t)=>e.name.localeCompare(t.name)),n)){if(d(l.name))continue;let n=(0,i.join)(r,l.name);if(l.isDirectory())await o(n);else if(l.isFile()&&l.name.endsWith(".md")){let r=await t.promises.readFile(n,"utf-8").catch(()=>null);if(!r)continue;let o=v(r),c=R(o,"id")||l.name.replace(/\.md$/,""),u=R(o,"summary")||c,p=R(o,"memory_type")||"semantic",d=R(o,"scope")||"global",h=R(o,"created_at")||"",m=function(e){let t,r=e.indexOf("related_observations:");if(-1===r)return[];let i=e.slice(r+21),a=[],s=/^- id:\s*(.+)$/gm;for(;null!==(t=s.exec(i));){let e=t.index,r=i.slice(e+1),s=r.match(/^(?:- |[a-z_])/m),o=i.slice(e,e+1+(s?.index??r.length)),n=t[1].trim().replace(/^['"]|['"]$/g,""),l=o.match(/^\s+relation:\s*(.+)$/m),c=l?.[1]?.trim()??"";n&&c&&a.push({id:n,relation:c})}return a}(o),f=(0,i.relative)(e,n).split(i.sep).join("/");for(let e of(a.set(c,{id:c,path:f,summary:u,memory_type:p,scope:d,created_at:h,degree:0}),m))s.push({source:c,target:e.id,relation:e.relation})}}}await o(r);let n=s.filter(e=>a.has(e.source)&&a.has(e.target));for(let e of n)a.get(e.source).degree++,a.get(e.target).degree++;return{nodes:Array.from(a.values()),edges:n}}async function _(){let e=await l();if(!e)return{entries:[],truncated:!1};let r=(0,i.join)(e,"executions");try{await t.promises.access(r)}catch{return{entries:[],truncated:!1}}let a=[],s=!1;async function o(r){let n;if(a.length>=2e3){s=!0;return}try{n=await t.promises.readdir(r,{withFileTypes:!0})}catch{return}for(let s of(n.sort((e,t)=>e.name.localeCompare(t.name)),n)){if(d(s.name))continue;let n=(0,i.join)(r,s.name);if(s.isDirectory())await o(n);else if(s.isFile()&&s.name.endsWith(".md")){let r=await t.promises.readFile(n,"utf-8").catch(()=>null);if(!r)continue;let o=v(r),l=R(o,"id")||s.name.replace(/\.md$/,""),c=R(o,"created_at")||"",u=R(o,"project_id")||"",p=b(o,"agent"),d=b(o,"session_id"),h=r.replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/,"").trim(),m=h.match(/^##\s+Summary\s*\r?\n([\s\S]*?)(?=\n##\s|\s*$)/m),f=m?m[1].trim():h.slice(0,500),w=[...new Set(h.match(/\bO-[0-9a-f]{16}\b/g)??[])];a.push({id:l,created_at:c,agent:p,session_id:d,project_id:u,summary:f,obs_ids:w,path:(0,i.relative)(e,n).split(i.sep).join("/")})}}}return await o(r),a.sort((e,t)=>t.created_at.localeCompare(e.created_at)),{entries:a,truncated:s}}async function S(e){let r=await l();if(!r)throw Error("No memory directory found.");let i=await w(r,e);if(!(await t.promises.stat(i)).isFile())throw Error("Only files can be deleted.");await t.promises.rm(i,{force:!0})}e.s(["deleteMemory",0,S,"listExecutions",0,_,"listMemory",0,x,"listObservations",0,C,"readMemory",0,E,"writeMemory",0,g])},282476,e=>{"use strict";var t=e.i(747909),r=e.i(174017),i=e.i(996250),a=e.i(759756),s=e.i(561916),o=e.i(174677),n=e.i(869741),l=e.i(316795),c=e.i(487718),u=e.i(995169),p=e.i(47587),d=e.i(666012),h=e.i(570101),m=e.i(626937),f=e.i(10372),w=e.i(193695);e.i(52474);var y=e.i(600220),x=e.i(89171),E=e.i(85678),g=e.i(17883);let v={"Cache-Control":"no-store"};async function R(e){try{if((0,g.isCrossOrigin)(e))return x.NextResponse.json({error:"Cross-origin access not allowed."},{status:403,headers:v});return x.NextResponse.json(await (0,E.listExecutions)(),{headers:v})}catch(e){return x.NextResponse.json({error:e instanceof Error?e.message:"Failed to load executions."},{status:400,headers:v})}}e.s(["GET",0,R,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],504786);var b=e.i(504786);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/memory/executions/route",pathname:"/api/memory/executions",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/memory/executions/route.ts",nextConfigOutput:"standalone",userland:b,...{}}),{workAsyncStorage:_,workUnitAsyncStorage:S,serverHooks:A}=C;async function O(e,t,i){i.requestMeta&&(0,a.setRequestMeta)(e,i.requestMeta),C.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/memory/executions/route";x=x.replace(/\/index$/,"")||"/";let E=await C.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:R,nextConfig:b,parsedUrl:_,isDraftMode:S,prerenderManifest:A,routerServerContext:O,isOnDemandRevalidate:T,revalidateOnlyGenerated:j,resolvedPathname:k,clientReferenceManifest:P,serverActionsManifest:N}=E,I=(0,n.normalizeAppPath)(x),M=!!(A.dynamicRoutes[I]||A.routes[k]),$=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,_,!1):t.end("This page could not be found"),null);if(M&&!S){let e=!!A.routes[k],t=A.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await $();throw new w.NoFallbackError}}let q=null;!M||C.isDev||S||(q="/index"===(q=k)?"/":q);let D=!0===C.isDev||!M,F=M&&!D;N&&P&&(0,o.setManifestsSingleton)({page:x,clientReferenceManifest:P,serverActionsManifest:N});let W=e.method||"GET",U=(0,s.getTracer)(),H=U.getActiveScopeSpan(),z=!!(null==O?void 0:O.isWrappedByNextServer),L=!!(0,a.getRequestMeta)(e,"minimalMode"),K=(0,a.getRequestMeta)(e,"incrementalCache")||await C.getIncrementalCache(e,b,A,L);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let B={params:R,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:D,incrementalCache:K,cacheLifeProfiles:b.cacheLife,waitUntil:i.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,i,a)=>C.onRequestError(e,t,i,a,O)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),G=c.NextRequestAdapter.fromNodeNextRequest(V,(0,c.signalFromNodeResponse)(t));try{let a,o=async e=>C.handle(G,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=r.get("next.route");if(i){let t=`${W} ${i}`;e.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",i),a.updateName(t))}else e.updateName(`${W} ${x}`)}),n=async a=>{var s,n;let l=async({previousCacheEntry:r})=>{try{if(!L&&T&&j&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(a);e.fetchMetrics=B.renderOpts.fetchMetrics;let n=B.renderOpts.pendingWaitUntil;n&&i.waitUntil&&(i.waitUntil(n),n=void 0);let l=B.renderOpts.collectedTags;if(!M)return await (0,d.sendResponse)(V,X,s,B.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,i=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:i}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:T})},!1,O),t}},c=await C.handleResponse({req:e,nextConfig:b,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:j,responseGenerator:l,waitUntil:i.waitUntil,isMinimalMode:L});if(!M)return null;if((null==c||null==(s=c.value)?void 0:s.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(n=c.value)?void 0:n.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",T?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return L&&M||u.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,m.getCacheControlHeader)(c.cacheControl)),await (0,d.sendResponse)(V,X,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};z&&H?await n(H):(a=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(u.BaseServerSpan.handleRequest,{spanName:`${W} ${x}`,kind:s.SpanKind.SERVER,attributes:{"http.method":W,"http.target":e.url}},n),void 0,!z))}catch(t){if(t instanceof w.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:T})},!1,O),M)throw t;return await (0,d.sendResponse)(V,X,new Response(null,{status:500})),null}}e.s(["handler",0,O,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:S})},"routeModule",0,C,"serverHooks",0,A,"workAsyncStorage",0,_,"workUnitAsyncStorage",0,S],282476)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__05vp2x.._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},17883,e=>{"use strict";var t=e.i(522734),r=e.i(446786),a=e.i(814747),s=e.i(254799);let o=(0,a.join)((0,r.homedir)(),".config","evoscientist","langgraph_dev.workspace.json");function i(e){for(let t=0;t<e.length;t+=1){let r=e.charCodeAt(t);if(r<32||127===r||r>=128&&r<=159||8232===r||8233===r)return!0}return!1}let n=new Set(["large_tool_results","conversation_history","__pycache__","node_modules","__MACOSX"]),l=[".pyc",".pyo"];function c(e){return!!(e.startsWith(".")||n.has(e))||l.some(t=>e.endsWith(t))}async function p(){let e;try{let r=JSON.parse(await t.promises.readFile(o,"utf-8")),a=r.workspace,s=r.pid;"string"==typeof a&&a.trim()&&(!("number"==typeof s&&s>0)||function(e){try{return process.kill(e,0),!0}catch(e){return"EPERM"===e.code}}(s))&&(e=a)}catch{}if(!(e||=process.env.EVOSCIENTIST_WORKSPACE_DIR))throw Error("No active EvoScientist workspace found. Start the backend with `EvoSci deploy` first.");let r=(0,a.resolve)(e);if(!(await t.promises.stat(r)).isDirectory())throw Error("The active EvoScientist workspace is not a directory.");return t.promises.realpath(r)}function d(e,t){if(i(t))throw Error("Invalid path.");let r=t.replaceAll("\\","/").replace(/^\/+/,"");if(r.split("/").some(e=>""!==e&&c(e)))throw Error("Path is not accessible.");let s=(0,a.resolve)(e,r);if(s!==e&&!s.startsWith(e+a.sep))throw Error("Path is outside the workspace.");return s}async function u(e,r){let s,o=d(e,r);try{s=await t.promises.realpath(o)}catch{throw Error("Path is not accessible.")}if(s!==e&&!s.startsWith(e+a.sep))throw Error("Path is not accessible.");let i=(0,a.relative)(e,s);if(i&&i.split(a.sep).some(e=>""!==e&&c(e)))throw Error("Path is not accessible.");return s}let h=new Set(["txt","text","md","markdown","log","csv","tsv","json","jsonl","yaml","yml","toml","xml","ini","cfg","conf","env","py","js","jsx","ts","tsx","sh","bash","zsh","r","jl","cpp","cc","c","h","hpp","java","go","rs","rb","php","swift","kt","cs","sql","tex","bib","rst","css","scss","html"]);async function w(e,r){let s;try{s=await t.promises.realpath((0,a.dirname)(r))}catch{throw Error("Path is not accessible.")}if(s!==e&&!s.startsWith(e+a.sep))throw Error("Path is not accessible.")}function f(e){let t;return h.has((t=e.lastIndexOf("."))>=0?e.slice(t+1).toLowerCase():"")}async function m(e,r,o){let i;if("string"!=typeof o)throw Error("Content must be a string.");if(Buffer.byteLength(o,"utf-8")>5242880)throw Error("This file is too large to save.");if(!f(r.replaceAll("\\","/").split("/").pop()||r))throw Error("Only text/code files can be edited.");let n=d(e,r);try{i=await t.promises.lstat(n)}catch{throw Error("Only files can be edited.")}if(i.isSymbolicLink())throw Error("Editing symlinks is not allowed.");let l=await u(e,r);if(!f((0,a.basename)(l)))throw Error("Only text/code files can be edited.");let c=await t.promises.stat(l);if(!c.isFile())throw Error("Only files can be edited.");let p=`${l}.${(0,s.randomUUID)()}.tmp`;try{await w(e,l),await t.promises.writeFile(p,o,{encoding:"utf-8",mode:511&c.mode}),await w(e,l),await t.promises.rename(p,l)}catch(e){throw await t.promises.rm(p,{force:!0}).catch(()=>{}),e}let h=await t.promises.stat(l);return{path:r.replaceAll("\\","/").replace(/^\/+/,""),size:h.size,mtime:h.mtimeMs}}async function x(e,r){await u(e,r);let a=d(e,r);if((await t.promises.lstat(a)).isDirectory())throw Error("Only files can be deleted.");await w(e,a),await t.promises.rm(a,{force:!0})}e.s(["MAX_WORKSPACE_WRITE_BYTES",0,5242880,"deleteWorkspaceFile",0,x,"getWorkspaceDir",0,p,"hasControlChar",0,i,"isCrossOrigin",0,function(e){let t=e.headers.get("sec-fetch-site");if(t&&"same-origin"!==t&&"same-site"!==t&&"none"!==t)return!0;let r=e.headers.get("origin");return!!r&&r!==e.nextUrl.origin},"isHiddenEntry",0,c,"safeResolve",0,u,"writeWorkspaceFile",0,m,"zipExcludeArgs",0,function(){let e=[".*","*/.*"];for(let t of n)e.push(`${t}/*`,`*/${t}/*`,t,`*/${t}`);for(let t of l)e.push(`*${t}`);return e.flatMap(e=>["-x",e])}])},688947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},219789,e=>{"use strict";var t=e.i(747909),r=e.i(174017),a=e.i(996250),s=e.i(759756),o=e.i(561916),i=e.i(174677),n=e.i(869741),l=e.i(316795),c=e.i(487718),p=e.i(995169),d=e.i(47587),u=e.i(666012),h=e.i(570101),w=e.i(626937),f=e.i(10372),m=e.i(193695);e.i(52474);var x=e.i(600220),v=e.i(522734),E=e.i(446786),g=e.i(814747),y=e.i(254799),R=e.i(233405),b=e.i(688947),C=e.i(89171),k=e.i(17883);async function A(e){let t=null;try{var r,a;if((0,k.isCrossOrigin)(e))return C.NextResponse.json({error:"Cross-origin workspace access is not allowed."},{status:403});let s=await (0,k.getWorkspaceDir)();t=(0,g.join)((0,E.tmpdir)(),`evoscientist-workspace-${(0,y.randomUUID)()}.zip`),await (r=t,a=e.signal,new Promise((e,t)=>{let o=(0,R.spawn)("zip",["-r","-q","-X","-y",r,".",...(0,k.zipExcludeArgs)()],{cwd:s}),i=()=>o.kill("SIGKILL");if(a){if(a.aborted){o.kill("SIGKILL"),t(Error("Request aborted."));return}a.addEventListener("abort",i,{once:!0})}let n="";o.stderr.on("data",e=>n+=e.toString()),o.on("error",e=>{a?.removeEventListener("abort",i),t("ENOENT"===e.code?Error("The `zip` command is not available on this system, so the workspace can't be downloaded as an archive."):e)}),o.on("close",r=>{a?.removeEventListener("abort",i),a?.aborted?t(Error("Request aborted.")):12===r?t(Error("The workspace is empty.")):0!==r?t(Error(n.trim()||`zip exited with code ${r}`)):e()})}));let o=await v.promises.stat(t),i=(0,v.createReadStream)(t),n=t;i.on("close",()=>void v.promises.rm(n,{force:!0}));let l=b.Readable.toWeb(i);return new C.NextResponse(l,{headers:{"Content-Type":"application/zip","Content-Length":String(o.size),"Content-Disposition":'attachment; filename="workspace.zip"',"Cache-Control":"no-store"}})}catch(e){return t&&await v.promises.rm(t,{force:!0}).catch(()=>{}),C.NextResponse.json({error:e instanceof Error?e.message:"Failed to package the workspace."},{status:400})}}e.s(["GET",0,A,"runtime",0,"nodejs"],632771);var S=e.i(632771);let _=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/workspace/download/route",pathname:"/api/workspace/download",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/workspace/download/route.ts",nextConfigOutput:"standalone",userland:S,...{}}),{workAsyncStorage:T,workUnitAsyncStorage:O,serverHooks:P}=_;async function q(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),_.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/workspace/download/route";v=v.replace(/\/index$/,"")||"/";let E=await _.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:g,deploymentId:y,params:R,nextConfig:b,parsedUrl:C,isDraftMode:k,prerenderManifest:A,routerServerContext:S,isOnDemandRevalidate:T,revalidateOnlyGenerated:O,resolvedPathname:P,clientReferenceManifest:q,serverActionsManifest:N}=E,j=(0,n.normalizeAppPath)(v),I=!!(A.dynamicRoutes[j]||A.routes[P]),D=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,C,!1):t.end("This page could not be found"),null);if(I&&!k){let e=!!A.routes[P],t=A.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await D();throw new m.NoFallbackError}}let U=null;!I||_.isDev||k||(U="/index"===(U=P)?"/":U);let M=!0===_.isDev||!I,H=I&&!M;N&&q&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:q,serverActionsManifest:N});let $=e.method||"GET",L=(0,o.getTracer)(),W=L.getActiveScopeSpan(),F=!!(null==S?void 0:S.isWrappedByNextServer),z=!!(0,s.getRequestMeta)(e,"minimalMode"),K=(0,s.getRequestMeta)(e,"incrementalCache")||await _.getIncrementalCache(e,b,A,z);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let B={params:R,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:M,incrementalCache:K,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>_.onRequestError(e,t,a,s,S)},sharedContext:{buildId:g,deploymentId:y}},G=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest(G,(0,c.signalFromNodeResponse)(t));try{let s,i=async e=>_.handle(V,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${$} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${$} ${v}`)}),n=async s=>{var o,n;let l=async({previousCacheEntry:r})=>{try{if(!z&&T&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await i(s);e.fetchMetrics=B.renderOpts.fetchMetrics;let n=B.renderOpts.pendingWaitUntil;n&&a.waitUntil&&(a.waitUntil(n),n=void 0);let l=B.renderOpts.collectedTags;if(!I)return await (0,u.sendResponse)(G,X,o,B.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(o.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,a=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await _.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:T})},!1,S),t}},c=await _.handleResponse({req:e,nextConfig:b,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:O,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:z});if(!I)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(n=c.value)?void 0:n.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});z||t.setHeader("x-nextjs-cache",T?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return z&&I||p.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,w.getCacheControlHeader)(c.cacheControl)),await (0,u.sendResponse)(G,X,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};F&&W?await n(W):(s=L.getActiveScopeSpan(),await L.withPropagatedContext(e.headers,()=>L.trace(p.BaseServerSpan.handleRequest,{spanName:`${$} ${v}`,kind:o.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},n),void 0,!F))}catch(t){if(t instanceof m.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:T})},!1,S),I)throw t;return await (0,u.sendResponse)(G,X,new Response(null,{status:500})),null}}e.s(["handler",0,q,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:T,workUnitAsyncStorage:O})},"routeModule",0,_,"serverHooks",0,P,"workAsyncStorage",0,T,"workUnitAsyncStorage",0,O],219789)}];
1
+ module.exports=[254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},17883,e=>{"use strict";var t=e.i(522734),r=e.i(446786),a=e.i(814747),s=e.i(254799);let o=(0,a.join)((0,r.homedir)(),".config","evoscientist","langgraph_dev.workspace.json");function i(e){for(let t=0;t<e.length;t+=1){let r=e.charCodeAt(t);if(r<32||127===r||r>=128&&r<=159||8232===r||8233===r)return!0}return!1}let n=new Set(["large_tool_results","conversation_history","__pycache__","node_modules","__MACOSX"]),l=[".pyc",".pyo"];function c(e){return!!(e.startsWith(".")||n.has(e))||l.some(t=>e.endsWith(t))}async function p(){let e;try{let r=JSON.parse(await t.promises.readFile(o,"utf-8")),a=r.workspace,s=r.pid;"string"==typeof a&&a.trim()&&(!("number"==typeof s&&s>0)||function(e){try{return process.kill(e,0),!0}catch(e){return"EPERM"===e.code}}(s))&&(e=a)}catch{}if(!(e||=process.env.EVOSCIENTIST_WORKSPACE_DIR))throw Error("No active EvoScientist workspace found. Start the backend with `EvoSci deploy` first.");let r=(0,a.resolve)(e);if(!(await t.promises.stat(r)).isDirectory())throw Error("The active EvoScientist workspace is not a directory.");return t.promises.realpath(r)}function d(e,t){if(i(t))throw Error("Invalid path.");let r=t.replaceAll("\\","/").replace(/^\/+/,"");if(r.split("/").some(e=>""!==e&&c(e)))throw Error("Path is not accessible.");let s=(0,a.resolve)(e,r);if(s!==e&&!s.startsWith(e+a.sep))throw Error("Path is outside the workspace.");return s}async function u(e,r){let s,o=d(e,r);try{s=await t.promises.realpath(o)}catch{throw Error("Path is not accessible.")}if(s!==e&&!s.startsWith(e+a.sep))throw Error("Path is not accessible.");let i=(0,a.relative)(e,s);if(i&&i.split(a.sep).some(e=>""!==e&&c(e)))throw Error("Path is not accessible.");return s}let h=new Set(["txt","text","md","markdown","log","csv","tsv","json","jsonl","yaml","yml","toml","xml","ini","cfg","conf","env","py","js","jsx","ts","tsx","sh","bash","zsh","r","jl","cpp","cc","c","h","hpp","java","go","rs","rb","php","swift","kt","cs","sql","tex","bib","rst","css","scss","html"]);async function w(e,r){let s;try{s=await t.promises.realpath((0,a.dirname)(r))}catch{throw Error("Path is not accessible.")}if(s!==e&&!s.startsWith(e+a.sep))throw Error("Path is not accessible.")}function f(e){let t;return h.has((t=e.lastIndexOf("."))>=0?e.slice(t+1).toLowerCase():"")}async function m(e,r,o){let i;if("string"!=typeof o)throw Error("Content must be a string.");if(Buffer.byteLength(o,"utf-8")>5242880)throw Error("This file is too large to save.");if(!f(r.replaceAll("\\","/").split("/").pop()||r))throw Error("Only text/code files can be edited.");let n=d(e,r);try{i=await t.promises.lstat(n)}catch{throw Error("Only files can be edited.")}if(i.isSymbolicLink())throw Error("Editing symlinks is not allowed.");let l=await u(e,r);if(!f((0,a.basename)(l)))throw Error("Only text/code files can be edited.");let c=await t.promises.stat(l);if(!c.isFile())throw Error("Only files can be edited.");let p=`${l}.${(0,s.randomUUID)()}.tmp`;try{await w(e,l),await t.promises.writeFile(p,o,{encoding:"utf-8",mode:511&c.mode}),await w(e,l),await t.promises.rename(p,l)}catch(e){throw await t.promises.rm(p,{force:!0}).catch(()=>{}),e}let h=await t.promises.stat(l);return{path:r.replaceAll("\\","/").replace(/^\/+/,""),size:h.size,mtime:h.mtimeMs}}async function x(e,r){await u(e,r);let a=d(e,r);if((await t.promises.lstat(a)).isDirectory())throw Error("Only files can be deleted.");await w(e,a),await t.promises.rm(a,{force:!0})}e.s(["MAX_WORKSPACE_WRITE_BYTES",0,5242880,"deleteWorkspaceFile",0,x,"getWorkspaceDir",0,p,"hasControlChar",0,i,"isCrossOrigin",0,function(e){let t=e.headers.get("host");if(!t)return!0;let r=e.headers.get("sec-fetch-site");if(r)return"same-origin"!==r&&"same-site"!==r&&"none"!==r;let a=e.headers.get("origin");if(!a)return!1;try{return new URL(a).host!==t}catch{return!0}},"isHiddenEntry",0,c,"safeResolve",0,u,"writeWorkspaceFile",0,m,"zipExcludeArgs",0,function(){let e=[".*","*/.*"];for(let t of n)e.push(`${t}/*`,`*/${t}/*`,t,`*/${t}`);for(let t of l)e.push(`*${t}`);return e.flatMap(e=>["-x",e])}])},688947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},219789,e=>{"use strict";var t=e.i(747909),r=e.i(174017),a=e.i(996250),s=e.i(759756),o=e.i(561916),i=e.i(174677),n=e.i(869741),l=e.i(316795),c=e.i(487718),p=e.i(995169),d=e.i(47587),u=e.i(666012),h=e.i(570101),w=e.i(626937),f=e.i(10372),m=e.i(193695);e.i(52474);var x=e.i(600220),v=e.i(522734),E=e.i(446786),g=e.i(814747),y=e.i(254799),R=e.i(233405),b=e.i(688947),C=e.i(89171),k=e.i(17883);async function A(e){let t=null;try{var r,a;if((0,k.isCrossOrigin)(e))return C.NextResponse.json({error:"Cross-origin workspace access is not allowed."},{status:403});let s=await (0,k.getWorkspaceDir)();t=(0,g.join)((0,E.tmpdir)(),`evoscientist-workspace-${(0,y.randomUUID)()}.zip`),await (r=t,a=e.signal,new Promise((e,t)=>{let o=(0,R.spawn)("zip",["-r","-q","-X","-y",r,".",...(0,k.zipExcludeArgs)()],{cwd:s}),i=()=>o.kill("SIGKILL");if(a){if(a.aborted){o.kill("SIGKILL"),t(Error("Request aborted."));return}a.addEventListener("abort",i,{once:!0})}let n="";o.stderr.on("data",e=>n+=e.toString()),o.on("error",e=>{a?.removeEventListener("abort",i),t("ENOENT"===e.code?Error("The `zip` command is not available on this system, so the workspace can't be downloaded as an archive."):e)}),o.on("close",r=>{a?.removeEventListener("abort",i),a?.aborted?t(Error("Request aborted.")):12===r?t(Error("The workspace is empty.")):0!==r?t(Error(n.trim()||`zip exited with code ${r}`)):e()})}));let o=await v.promises.stat(t),i=(0,v.createReadStream)(t),n=t;i.on("close",()=>void v.promises.rm(n,{force:!0}));let l=b.Readable.toWeb(i);return new C.NextResponse(l,{headers:{"Content-Type":"application/zip","Content-Length":String(o.size),"Content-Disposition":'attachment; filename="workspace.zip"',"Cache-Control":"no-store"}})}catch(e){return t&&await v.promises.rm(t,{force:!0}).catch(()=>{}),C.NextResponse.json({error:e instanceof Error?e.message:"Failed to package the workspace."},{status:400})}}e.s(["GET",0,A,"runtime",0,"nodejs"],632771);var S=e.i(632771);let _=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/workspace/download/route",pathname:"/api/workspace/download",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/workspace/download/route.ts",nextConfigOutput:"standalone",userland:S,...{}}),{workAsyncStorage:T,workUnitAsyncStorage:O,serverHooks:P}=_;async function q(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),_.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/workspace/download/route";v=v.replace(/\/index$/,"")||"/";let E=await _.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:g,deploymentId:y,params:R,nextConfig:b,parsedUrl:C,isDraftMode:k,prerenderManifest:A,routerServerContext:S,isOnDemandRevalidate:T,revalidateOnlyGenerated:O,resolvedPathname:P,clientReferenceManifest:q,serverActionsManifest:N}=E,j=(0,n.normalizeAppPath)(v),I=!!(A.dynamicRoutes[j]||A.routes[P]),D=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,C,!1):t.end("This page could not be found"),null);if(I&&!k){let e=!!A.routes[P],t=A.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await D();throw new m.NoFallbackError}}let U=null;!I||_.isDev||k||(U="/index"===(U=P)?"/":U);let M=!0===_.isDev||!I,H=I&&!M;N&&q&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:q,serverActionsManifest:N});let L=e.method||"GET",$=(0,o.getTracer)(),W=$.getActiveScopeSpan(),F=!!(null==S?void 0:S.isWrappedByNextServer),z=!!(0,s.getRequestMeta)(e,"minimalMode"),K=(0,s.getRequestMeta)(e,"incrementalCache")||await _.getIncrementalCache(e,b,A,z);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let B={params:R,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:M,incrementalCache:K,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>_.onRequestError(e,t,a,s,S)},sharedContext:{buildId:g,deploymentId:y}},G=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest(G,(0,c.signalFromNodeResponse)(t));try{let s,i=async e=>_.handle(V,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${L} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${L} ${v}`)}),n=async s=>{var o,n;let l=async({previousCacheEntry:r})=>{try{if(!z&&T&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await i(s);e.fetchMetrics=B.renderOpts.fetchMetrics;let n=B.renderOpts.pendingWaitUntil;n&&a.waitUntil&&(a.waitUntil(n),n=void 0);let l=B.renderOpts.collectedTags;if(!I)return await (0,u.sendResponse)(G,X,o,B.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(o.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,a=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await _.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:T})},!1,S),t}},c=await _.handleResponse({req:e,nextConfig:b,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:O,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:z});if(!I)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(n=c.value)?void 0:n.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});z||t.setHeader("x-nextjs-cache",T?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return z&&I||p.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,w.getCacheControlHeader)(c.cacheControl)),await (0,u.sendResponse)(G,X,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};F&&W?await n(W):(s=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(p.BaseServerSpan.handleRequest,{spanName:`${L} ${v}`,kind:o.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},n),void 0,!F))}catch(t){if(t instanceof m.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:T})},!1,S),I)throw t;return await (0,u.sendResponse)(G,X,new Response(null,{status:500})),null}}e.s(["handler",0,q,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:T,workUnitAsyncStorage:O})},"routeModule",0,_,"serverHooks",0,P,"workAsyncStorage",0,T,"workUnitAsyncStorage",0,O],219789)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__08kko28._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},17883,e=>{"use strict";var t=e.i(522734),r=e.i(446786),a=e.i(814747),s=e.i(254799);let i=(0,a.join)((0,r.homedir)(),".config","evoscientist","langgraph_dev.workspace.json");function n(e){for(let t=0;t<e.length;t+=1){let r=e.charCodeAt(t);if(r<32||127===r||r>=128&&r<=159||8232===r||8233===r)return!0}return!1}let o=new Set(["large_tool_results","conversation_history","__pycache__","node_modules","__MACOSX"]),l=[".pyc",".pyo"];function c(e){return!!(e.startsWith(".")||o.has(e))||l.some(t=>e.endsWith(t))}async function p(){let e;try{let r=JSON.parse(await t.promises.readFile(i,"utf-8")),a=r.workspace,s=r.pid;"string"==typeof a&&a.trim()&&(!("number"==typeof s&&s>0)||function(e){try{return process.kill(e,0),!0}catch(e){return"EPERM"===e.code}}(s))&&(e=a)}catch{}if(!(e||=process.env.EVOSCIENTIST_WORKSPACE_DIR))throw Error("No active EvoScientist workspace found. Start the backend with `EvoSci deploy` first.");let r=(0,a.resolve)(e);if(!(await t.promises.stat(r)).isDirectory())throw Error("The active EvoScientist workspace is not a directory.");return t.promises.realpath(r)}function d(e,t){if(n(t))throw Error("Invalid path.");let r=t.replaceAll("\\","/").replace(/^\/+/,"");if(r.split("/").some(e=>""!==e&&c(e)))throw Error("Path is not accessible.");let s=(0,a.resolve)(e,r);if(s!==e&&!s.startsWith(e+a.sep))throw Error("Path is outside the workspace.");return s}async function u(e,r){let s,i=d(e,r);try{s=await t.promises.realpath(i)}catch{throw Error("Path is not accessible.")}if(s!==e&&!s.startsWith(e+a.sep))throw Error("Path is not accessible.");let n=(0,a.relative)(e,s);if(n&&n.split(a.sep).some(e=>""!==e&&c(e)))throw Error("Path is not accessible.");return s}let h=new Set(["txt","text","md","markdown","log","csv","tsv","json","jsonl","yaml","yml","toml","xml","ini","cfg","conf","env","py","js","jsx","ts","tsx","sh","bash","zsh","r","jl","cpp","cc","c","h","hpp","java","go","rs","rb","php","swift","kt","cs","sql","tex","bib","rst","css","scss","html"]);async function f(e,r){let s;try{s=await t.promises.realpath((0,a.dirname)(r))}catch{throw Error("Path is not accessible.")}if(s!==e&&!s.startsWith(e+a.sep))throw Error("Path is not accessible.")}function m(e){let t;return h.has((t=e.lastIndexOf("."))>=0?e.slice(t+1).toLowerCase():"")}async function w(e,r,i){let n;if("string"!=typeof i)throw Error("Content must be a string.");if(Buffer.byteLength(i,"utf-8")>5242880)throw Error("This file is too large to save.");if(!m(r.replaceAll("\\","/").split("/").pop()||r))throw Error("Only text/code files can be edited.");let o=d(e,r);try{n=await t.promises.lstat(o)}catch{throw Error("Only files can be edited.")}if(n.isSymbolicLink())throw Error("Editing symlinks is not allowed.");let l=await u(e,r);if(!m((0,a.basename)(l)))throw Error("Only text/code files can be edited.");let c=await t.promises.stat(l);if(!c.isFile())throw Error("Only files can be edited.");let p=`${l}.${(0,s.randomUUID)()}.tmp`;try{await f(e,l),await t.promises.writeFile(p,i,{encoding:"utf-8",mode:511&c.mode}),await f(e,l),await t.promises.rename(p,l)}catch(e){throw await t.promises.rm(p,{force:!0}).catch(()=>{}),e}let h=await t.promises.stat(l);return{path:r.replaceAll("\\","/").replace(/^\/+/,""),size:h.size,mtime:h.mtimeMs}}async function x(e,r){await u(e,r);let a=d(e,r);if((await t.promises.lstat(a)).isDirectory())throw Error("Only files can be deleted.");await f(e,a),await t.promises.rm(a,{force:!0})}e.s(["MAX_WORKSPACE_WRITE_BYTES",0,5242880,"deleteWorkspaceFile",0,x,"getWorkspaceDir",0,p,"hasControlChar",0,n,"isCrossOrigin",0,function(e){let t=e.headers.get("sec-fetch-site");if(t&&"same-origin"!==t&&"same-site"!==t&&"none"!==t)return!0;let r=e.headers.get("origin");return!!r&&r!==e.nextUrl.origin},"isHiddenEntry",0,c,"safeResolve",0,u,"writeWorkspaceFile",0,w,"zipExcludeArgs",0,function(){let e=[".*","*/.*"];for(let t of o)e.push(`${t}/*`,`*/${t}/*`,t,`*/${t}`);for(let t of l)e.push(`*${t}`);return e.flatMap(e=>["-x",e])}])},872314,e=>{"use strict";var t=e.i(747909),r=e.i(174017),a=e.i(996250),s=e.i(759756),i=e.i(561916),n=e.i(174677),o=e.i(869741),l=e.i(316795),c=e.i(487718),p=e.i(995169),d=e.i(47587),u=e.i(666012),h=e.i(570101),f=e.i(626937),m=e.i(10372),w=e.i(193695);e.i(52474);var x=e.i(600220),y=e.i(522734),v=e.i(814747),g=e.i(89171),E=e.i(17883);async function R(e,t,r,a){let s,i;if(!(r>12)&&!(a.length>=2e3)){try{s=await (0,E.safeResolve)(e,t||"")}catch{return}try{i=await y.promises.readdir(s,{withFileTypes:!0})}catch{return}for(let s of i){if(a.length>=2e3)break;if((0,E.isHiddenEntry)(s.name)||s.isSymbolicLink())continue;let i=t?`${t}/${s.name}`:s.name;if(s.isDirectory())await R(e,i,r+1,a);else if(s.isFile())try{let t=await y.promises.stat(await (0,E.safeResolve)(e,i));a.push({name:s.name,path:i,type:"file",size:t.size,mtime:t.mtimeMs,ext:(0,v.extname)(s.name).slice(1).toLowerCase()})}catch{continue}}}}async function b(e){try{if((0,E.isCrossOrigin)(e))return g.NextResponse.json({error:"Cross-origin workspace access is not allowed."},{status:403});let t=e.nextUrl.searchParams.get("path")??"",r="1"===e.nextUrl.searchParams.get("recursive"),a=await (0,E.getWorkspaceDir)(),s=await (0,E.safeResolve)(a,t);if(!(await y.promises.stat(s)).isDirectory())return g.NextResponse.json({error:"Not a directory."},{status:400});if(r){let e=[];await R(a,t,0,e);let r=e.length>=2e3;return g.NextResponse.json({path:t,recursive:!0,truncated:r,entries:e})}let i=await y.promises.readdir(s,{withFileTypes:!0}),n=[];for(let e of i){if(n.length>=2e3)break;if((0,E.isHiddenEntry)(e.name))continue;let r=t?`${t.replace(/\/+$/,"")}/${e.name}`:e.name,s=0,i=0,o=e.isDirectory();try{let e=await (0,E.safeResolve)(a,r),t=await y.promises.stat(e);s=t.size,i=t.mtimeMs,o=t.isDirectory()}catch{continue}n.push({name:e.name,path:r,type:o?"dir":"file",size:s,mtime:i,ext:o?"":(0,v.extname)(e.name).slice(1).toLowerCase()})}n.sort((e,t)=>e.type!==t.type?"dir"===e.type?-1:1:e.name.localeCompare(t.name,void 0,{sensitivity:"base"}));let o=t&&"."!==t?t.replace(/\/+$/,"").split("/").slice(0,-1).join("/"):null;return g.NextResponse.json({path:t,parent:o,entries:n,dir:a})}catch(e){return g.NextResponse.json({error:e instanceof Error?e.message:"Failed to list workspace."},{status:400})}}e.s(["GET",0,b,"runtime",0,"nodejs"],659814);var C=e.i(659814);let k=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/workspace/route",pathname:"/api/workspace",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/workspace/route.ts",nextConfigOutput:"standalone",userland:C,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:_,serverHooks:S}=k;async function P(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),k.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/workspace/route";y=y.replace(/\/index$/,"")||"/";let v=await k.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:g,deploymentId:E,params:R,nextConfig:b,parsedUrl:C,isDraftMode:A,prerenderManifest:_,routerServerContext:S,isOnDemandRevalidate:P,revalidateOnlyGenerated:N,resolvedPathname:O,clientReferenceManifest:T,serverActionsManifest:j}=v,q=(0,o.normalizeAppPath)(y),D=!!(_.dynamicRoutes[q]||_.routes[O]),I=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,C,!1):t.end("This page could not be found"),null);if(D&&!A){let e=!!_.routes[O],t=_.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await I();throw new w.NoFallbackError}}let M=null;!D||k.isDev||A||(M="/index"===(M=O)?"/":M);let U=!0===k.isDev||!D,$=D&&!U;j&&T&&(0,n.setManifestsSingleton)({page:y,clientReferenceManifest:T,serverActionsManifest:j});let H=e.method||"GET",F=(0,i.getTracer)(),W=F.getActiveScopeSpan(),L=!!(null==S?void 0:S.isWrappedByNextServer),K=!!(0,s.getRequestMeta)(e,"minimalMode"),z=(0,s.getRequestMeta)(e,"incrementalCache")||await k.getIncrementalCache(e,b,_,K);null==z||z.resetRequestCache(),globalThis.__incrementalCache=z;let B={params:R,previewProps:_.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:U,incrementalCache:z,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>k.onRequestError(e,t,a,s,S)},sharedContext:{buildId:g,deploymentId:E}},X=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest(X,(0,c.signalFromNodeResponse)(t));try{let s,n=async e=>k.handle(V,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${H} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${H} ${y}`)}),o=async s=>{var i,o;let l=async({previousCacheEntry:r})=>{try{if(!K&&P&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await n(s);e.fetchMetrics=B.renderOpts.fetchMetrics;let o=B.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=B.renderOpts.collectedTags;if(!D)return await (0,u.sendResponse)(X,G,i,B.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,a=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:P})},!1,S),t}},c=await k.handleResponse({req:e,nextConfig:b,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:N,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:K});if(!D)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(o=c.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",P?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return K&&D||p.delete(m.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,f.getCacheControlHeader)(c.cacheControl)),await (0,u.sendResponse)(X,G,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};L&&W?await o(W):(s=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(p.BaseServerSpan.handleRequest,{spanName:`${H} ${y}`,kind:i.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},o),void 0,!L))}catch(t){if(t instanceof w.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:P})},!1,S),D)throw t;return await (0,u.sendResponse)(X,G,new Response(null,{status:500})),null}}e.s(["handler",0,P,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:_})},"routeModule",0,k,"serverHooks",0,S,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,_],872314)}];
1
+ module.exports=[254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},17883,e=>{"use strict";var t=e.i(522734),r=e.i(446786),a=e.i(814747),s=e.i(254799);let i=(0,a.join)((0,r.homedir)(),".config","evoscientist","langgraph_dev.workspace.json");function n(e){for(let t=0;t<e.length;t+=1){let r=e.charCodeAt(t);if(r<32||127===r||r>=128&&r<=159||8232===r||8233===r)return!0}return!1}let o=new Set(["large_tool_results","conversation_history","__pycache__","node_modules","__MACOSX"]),l=[".pyc",".pyo"];function c(e){return!!(e.startsWith(".")||o.has(e))||l.some(t=>e.endsWith(t))}async function p(){let e;try{let r=JSON.parse(await t.promises.readFile(i,"utf-8")),a=r.workspace,s=r.pid;"string"==typeof a&&a.trim()&&(!("number"==typeof s&&s>0)||function(e){try{return process.kill(e,0),!0}catch(e){return"EPERM"===e.code}}(s))&&(e=a)}catch{}if(!(e||=process.env.EVOSCIENTIST_WORKSPACE_DIR))throw Error("No active EvoScientist workspace found. Start the backend with `EvoSci deploy` first.");let r=(0,a.resolve)(e);if(!(await t.promises.stat(r)).isDirectory())throw Error("The active EvoScientist workspace is not a directory.");return t.promises.realpath(r)}function d(e,t){if(n(t))throw Error("Invalid path.");let r=t.replaceAll("\\","/").replace(/^\/+/,"");if(r.split("/").some(e=>""!==e&&c(e)))throw Error("Path is not accessible.");let s=(0,a.resolve)(e,r);if(s!==e&&!s.startsWith(e+a.sep))throw Error("Path is outside the workspace.");return s}async function u(e,r){let s,i=d(e,r);try{s=await t.promises.realpath(i)}catch{throw Error("Path is not accessible.")}if(s!==e&&!s.startsWith(e+a.sep))throw Error("Path is not accessible.");let n=(0,a.relative)(e,s);if(n&&n.split(a.sep).some(e=>""!==e&&c(e)))throw Error("Path is not accessible.");return s}let h=new Set(["txt","text","md","markdown","log","csv","tsv","json","jsonl","yaml","yml","toml","xml","ini","cfg","conf","env","py","js","jsx","ts","tsx","sh","bash","zsh","r","jl","cpp","cc","c","h","hpp","java","go","rs","rb","php","swift","kt","cs","sql","tex","bib","rst","css","scss","html"]);async function f(e,r){let s;try{s=await t.promises.realpath((0,a.dirname)(r))}catch{throw Error("Path is not accessible.")}if(s!==e&&!s.startsWith(e+a.sep))throw Error("Path is not accessible.")}function m(e){let t;return h.has((t=e.lastIndexOf("."))>=0?e.slice(t+1).toLowerCase():"")}async function w(e,r,i){let n;if("string"!=typeof i)throw Error("Content must be a string.");if(Buffer.byteLength(i,"utf-8")>5242880)throw Error("This file is too large to save.");if(!m(r.replaceAll("\\","/").split("/").pop()||r))throw Error("Only text/code files can be edited.");let o=d(e,r);try{n=await t.promises.lstat(o)}catch{throw Error("Only files can be edited.")}if(n.isSymbolicLink())throw Error("Editing symlinks is not allowed.");let l=await u(e,r);if(!m((0,a.basename)(l)))throw Error("Only text/code files can be edited.");let c=await t.promises.stat(l);if(!c.isFile())throw Error("Only files can be edited.");let p=`${l}.${(0,s.randomUUID)()}.tmp`;try{await f(e,l),await t.promises.writeFile(p,i,{encoding:"utf-8",mode:511&c.mode}),await f(e,l),await t.promises.rename(p,l)}catch(e){throw await t.promises.rm(p,{force:!0}).catch(()=>{}),e}let h=await t.promises.stat(l);return{path:r.replaceAll("\\","/").replace(/^\/+/,""),size:h.size,mtime:h.mtimeMs}}async function x(e,r){await u(e,r);let a=d(e,r);if((await t.promises.lstat(a)).isDirectory())throw Error("Only files can be deleted.");await f(e,a),await t.promises.rm(a,{force:!0})}e.s(["MAX_WORKSPACE_WRITE_BYTES",0,5242880,"deleteWorkspaceFile",0,x,"getWorkspaceDir",0,p,"hasControlChar",0,n,"isCrossOrigin",0,function(e){let t=e.headers.get("host");if(!t)return!0;let r=e.headers.get("sec-fetch-site");if(r)return"same-origin"!==r&&"same-site"!==r&&"none"!==r;let a=e.headers.get("origin");if(!a)return!1;try{return new URL(a).host!==t}catch{return!0}},"isHiddenEntry",0,c,"safeResolve",0,u,"writeWorkspaceFile",0,w,"zipExcludeArgs",0,function(){let e=[".*","*/.*"];for(let t of o)e.push(`${t}/*`,`*/${t}/*`,t,`*/${t}`);for(let t of l)e.push(`*${t}`);return e.flatMap(e=>["-x",e])}])},872314,e=>{"use strict";var t=e.i(747909),r=e.i(174017),a=e.i(996250),s=e.i(759756),i=e.i(561916),n=e.i(174677),o=e.i(869741),l=e.i(316795),c=e.i(487718),p=e.i(995169),d=e.i(47587),u=e.i(666012),h=e.i(570101),f=e.i(626937),m=e.i(10372),w=e.i(193695);e.i(52474);var x=e.i(600220),y=e.i(522734),v=e.i(814747),g=e.i(89171),E=e.i(17883);async function R(e,t,r,a){let s,i;if(!(r>12)&&!(a.length>=2e3)){try{s=await (0,E.safeResolve)(e,t||"")}catch{return}try{i=await y.promises.readdir(s,{withFileTypes:!0})}catch{return}for(let s of i){if(a.length>=2e3)break;if((0,E.isHiddenEntry)(s.name)||s.isSymbolicLink())continue;let i=t?`${t}/${s.name}`:s.name;if(s.isDirectory())await R(e,i,r+1,a);else if(s.isFile())try{let t=await y.promises.stat(await (0,E.safeResolve)(e,i));a.push({name:s.name,path:i,type:"file",size:t.size,mtime:t.mtimeMs,ext:(0,v.extname)(s.name).slice(1).toLowerCase()})}catch{continue}}}}async function b(e){try{if((0,E.isCrossOrigin)(e))return g.NextResponse.json({error:"Cross-origin workspace access is not allowed."},{status:403});let t=e.nextUrl.searchParams.get("path")??"",r="1"===e.nextUrl.searchParams.get("recursive"),a=await (0,E.getWorkspaceDir)(),s=await (0,E.safeResolve)(a,t);if(!(await y.promises.stat(s)).isDirectory())return g.NextResponse.json({error:"Not a directory."},{status:400});if(r){let e=[];await R(a,t,0,e);let r=e.length>=2e3;return g.NextResponse.json({path:t,recursive:!0,truncated:r,entries:e})}let i=await y.promises.readdir(s,{withFileTypes:!0}),n=[];for(let e of i){if(n.length>=2e3)break;if((0,E.isHiddenEntry)(e.name))continue;let r=t?`${t.replace(/\/+$/,"")}/${e.name}`:e.name,s=0,i=0,o=e.isDirectory();try{let e=await (0,E.safeResolve)(a,r),t=await y.promises.stat(e);s=t.size,i=t.mtimeMs,o=t.isDirectory()}catch{continue}n.push({name:e.name,path:r,type:o?"dir":"file",size:s,mtime:i,ext:o?"":(0,v.extname)(e.name).slice(1).toLowerCase()})}n.sort((e,t)=>e.type!==t.type?"dir"===e.type?-1:1:e.name.localeCompare(t.name,void 0,{sensitivity:"base"}));let o=t&&"."!==t?t.replace(/\/+$/,"").split("/").slice(0,-1).join("/"):null;return g.NextResponse.json({path:t,parent:o,entries:n,dir:a})}catch(e){return g.NextResponse.json({error:e instanceof Error?e.message:"Failed to list workspace."},{status:400})}}e.s(["GET",0,b,"runtime",0,"nodejs"],659814);var C=e.i(659814);let k=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/workspace/route",pathname:"/api/workspace",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/workspace/route.ts",nextConfigOutput:"standalone",userland:C,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:_,serverHooks:S}=k;async function P(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),k.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/workspace/route";y=y.replace(/\/index$/,"")||"/";let v=await k.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:g,deploymentId:E,params:R,nextConfig:b,parsedUrl:C,isDraftMode:A,prerenderManifest:_,routerServerContext:S,isOnDemandRevalidate:P,revalidateOnlyGenerated:N,resolvedPathname:O,clientReferenceManifest:T,serverActionsManifest:j}=v,q=(0,o.normalizeAppPath)(y),D=!!(_.dynamicRoutes[q]||_.routes[O]),I=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,C,!1):t.end("This page could not be found"),null);if(D&&!A){let e=!!_.routes[O],t=_.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await I();throw new w.NoFallbackError}}let M=null;!D||k.isDev||A||(M="/index"===(M=O)?"/":M);let U=!0===k.isDev||!D,$=D&&!U;j&&T&&(0,n.setManifestsSingleton)({page:y,clientReferenceManifest:T,serverActionsManifest:j});let H=e.method||"GET",F=(0,i.getTracer)(),W=F.getActiveScopeSpan(),L=!!(null==S?void 0:S.isWrappedByNextServer),K=!!(0,s.getRequestMeta)(e,"minimalMode"),z=(0,s.getRequestMeta)(e,"incrementalCache")||await k.getIncrementalCache(e,b,_,K);null==z||z.resetRequestCache(),globalThis.__incrementalCache=z;let B={params:R,previewProps:_.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:U,incrementalCache:z,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>k.onRequestError(e,t,a,s,S)},sharedContext:{buildId:g,deploymentId:E}},X=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),V=c.NextRequestAdapter.fromNodeNextRequest(X,(0,c.signalFromNodeResponse)(t));try{let s,n=async e=>k.handle(V,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${H} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${H} ${y}`)}),o=async s=>{var i,o;let l=async({previousCacheEntry:r})=>{try{if(!K&&P&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await n(s);e.fetchMetrics=B.renderOpts.fetchMetrics;let o=B.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=B.renderOpts.collectedTags;if(!D)return await (0,u.sendResponse)(X,G,i,B.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,a=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:P})},!1,S),t}},c=await k.handleResponse({req:e,nextConfig:b,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:N,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:K});if(!D)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(o=c.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",P?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return K&&D||p.delete(m.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,f.getCacheControlHeader)(c.cacheControl)),await (0,u.sendResponse)(X,G,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};L&&W?await o(W):(s=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(p.BaseServerSpan.handleRequest,{spanName:`${H} ${y}`,kind:i.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},o),void 0,!L))}catch(t){if(t instanceof w.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:P})},!1,S),D)throw t;return await (0,u.sendResponse)(X,G,new Response(null,{status:500})),null}}e.s(["handler",0,P,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:_})},"routeModule",0,k,"serverHooks",0,S,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,_],872314)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0bpxd~j._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[254799,(e,r,t)=>{r.exports=e.x("crypto",()=>require("crypto"))},193695,(e,r,t)=>{r.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},814747,(e,r,t)=>{r.exports=e.x("path",()=>require("path"))},918622,(e,r,t)=>{r.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,r,t)=>{r.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},522734,(e,r,t)=>{r.exports=e.x("fs",()=>require("fs"))},446786,(e,r,t)=>{r.exports=e.x("os",()=>require("os"))},17883,e=>{"use strict";var r=e.i(522734),t=e.i(446786),s=e.i(814747),i=e.i(254799);let o=(0,s.join)((0,t.homedir)(),".config","evoscientist","langgraph_dev.workspace.json");function a(e){for(let r=0;r<e.length;r+=1){let t=e.charCodeAt(r);if(t<32||127===t||t>=128&&t<=159||8232===t||8233===t)return!0}return!1}let n=new Set(["large_tool_results","conversation_history","__pycache__","node_modules","__MACOSX"]),l=[".pyc",".pyo"];function c(e){return!!(e.startsWith(".")||n.has(e))||l.some(r=>e.endsWith(r))}async function p(){let e;try{let t=JSON.parse(await r.promises.readFile(o,"utf-8")),s=t.workspace,i=t.pid;"string"==typeof s&&s.trim()&&(!("number"==typeof i&&i>0)||function(e){try{return process.kill(e,0),!0}catch(e){return"EPERM"===e.code}}(i))&&(e=s)}catch{}if(!(e||=process.env.EVOSCIENTIST_WORKSPACE_DIR))throw Error("No active EvoScientist workspace found. Start the backend with `EvoSci deploy` first.");let t=(0,s.resolve)(e);if(!(await r.promises.stat(t)).isDirectory())throw Error("The active EvoScientist workspace is not a directory.");return r.promises.realpath(t)}function h(e,r){if(a(r))throw Error("Invalid path.");let t=r.replaceAll("\\","/").replace(/^\/+/,"");if(t.split("/").some(e=>""!==e&&c(e)))throw Error("Path is not accessible.");let i=(0,s.resolve)(e,t);if(i!==e&&!i.startsWith(e+s.sep))throw Error("Path is outside the workspace.");return i}async function d(e,t){let i,o=h(e,t);try{i=await r.promises.realpath(o)}catch{throw Error("Path is not accessible.")}if(i!==e&&!i.startsWith(e+s.sep))throw Error("Path is not accessible.");let a=(0,s.relative)(e,i);if(a&&a.split(s.sep).some(e=>""!==e&&c(e)))throw Error("Path is not accessible.");return i}let f=new Set(["txt","text","md","markdown","log","csv","tsv","json","jsonl","yaml","yml","toml","xml","ini","cfg","conf","env","py","js","jsx","ts","tsx","sh","bash","zsh","r","jl","cpp","cc","c","h","hpp","java","go","rs","rb","php","swift","kt","cs","sql","tex","bib","rst","css","scss","html"]);async function u(e,t){let i;try{i=await r.promises.realpath((0,s.dirname)(t))}catch{throw Error("Path is not accessible.")}if(i!==e&&!i.startsWith(e+s.sep))throw Error("Path is not accessible.")}function x(e){let r;return f.has((r=e.lastIndexOf("."))>=0?e.slice(r+1).toLowerCase():"")}async function m(e,t,o){let a;if("string"!=typeof o)throw Error("Content must be a string.");if(Buffer.byteLength(o,"utf-8")>5242880)throw Error("This file is too large to save.");if(!x(t.replaceAll("\\","/").split("/").pop()||t))throw Error("Only text/code files can be edited.");let n=h(e,t);try{a=await r.promises.lstat(n)}catch{throw Error("Only files can be edited.")}if(a.isSymbolicLink())throw Error("Editing symlinks is not allowed.");let l=await d(e,t);if(!x((0,s.basename)(l)))throw Error("Only text/code files can be edited.");let c=await r.promises.stat(l);if(!c.isFile())throw Error("Only files can be edited.");let p=`${l}.${(0,i.randomUUID)()}.tmp`;try{await u(e,l),await r.promises.writeFile(p,o,{encoding:"utf-8",mode:511&c.mode}),await u(e,l),await r.promises.rename(p,l)}catch(e){throw await r.promises.rm(p,{force:!0}).catch(()=>{}),e}let f=await r.promises.stat(l);return{path:t.replaceAll("\\","/").replace(/^\/+/,""),size:f.size,mtime:f.mtimeMs}}async function w(e,t){await d(e,t);let s=h(e,t);if((await r.promises.lstat(s)).isDirectory())throw Error("Only files can be deleted.");await u(e,s),await r.promises.rm(s,{force:!0})}e.s(["MAX_WORKSPACE_WRITE_BYTES",0,5242880,"deleteWorkspaceFile",0,w,"getWorkspaceDir",0,p,"hasControlChar",0,a,"isCrossOrigin",0,function(e){let r=e.headers.get("sec-fetch-site");if(r&&"same-origin"!==r&&"same-site"!==r&&"none"!==r)return!0;let t=e.headers.get("origin");return!!t&&t!==e.nextUrl.origin},"isHiddenEntry",0,c,"safeResolve",0,d,"writeWorkspaceFile",0,m,"zipExcludeArgs",0,function(){let e=[".*","*/.*"];for(let r of n)e.push(`${r}/*`,`*/${r}/*`,r,`*/${r}`);for(let r of l)e.push(`*${r}`);return e.flatMap(e=>["-x",e])}])},688947,(e,r,t)=>{r.exports=e.x("stream",()=>require("stream"))}];
1
+ module.exports=[254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},17883,e=>{"use strict";var t=e.i(522734),r=e.i(446786),s=e.i(814747),i=e.i(254799);let o=(0,s.join)((0,r.homedir)(),".config","evoscientist","langgraph_dev.workspace.json");function a(e){for(let t=0;t<e.length;t+=1){let r=e.charCodeAt(t);if(r<32||127===r||r>=128&&r<=159||8232===r||8233===r)return!0}return!1}let n=new Set(["large_tool_results","conversation_history","__pycache__","node_modules","__MACOSX"]),l=[".pyc",".pyo"];function c(e){return!!(e.startsWith(".")||n.has(e))||l.some(t=>e.endsWith(t))}async function p(){let e;try{let r=JSON.parse(await t.promises.readFile(o,"utf-8")),s=r.workspace,i=r.pid;"string"==typeof s&&s.trim()&&(!("number"==typeof i&&i>0)||function(e){try{return process.kill(e,0),!0}catch(e){return"EPERM"===e.code}}(i))&&(e=s)}catch{}if(!(e||=process.env.EVOSCIENTIST_WORKSPACE_DIR))throw Error("No active EvoScientist workspace found. Start the backend with `EvoSci deploy` first.");let r=(0,s.resolve)(e);if(!(await t.promises.stat(r)).isDirectory())throw Error("The active EvoScientist workspace is not a directory.");return t.promises.realpath(r)}function h(e,t){if(a(t))throw Error("Invalid path.");let r=t.replaceAll("\\","/").replace(/^\/+/,"");if(r.split("/").some(e=>""!==e&&c(e)))throw Error("Path is not accessible.");let i=(0,s.resolve)(e,r);if(i!==e&&!i.startsWith(e+s.sep))throw Error("Path is outside the workspace.");return i}async function d(e,r){let i,o=h(e,r);try{i=await t.promises.realpath(o)}catch{throw Error("Path is not accessible.")}if(i!==e&&!i.startsWith(e+s.sep))throw Error("Path is not accessible.");let a=(0,s.relative)(e,i);if(a&&a.split(s.sep).some(e=>""!==e&&c(e)))throw Error("Path is not accessible.");return i}let f=new Set(["txt","text","md","markdown","log","csv","tsv","json","jsonl","yaml","yml","toml","xml","ini","cfg","conf","env","py","js","jsx","ts","tsx","sh","bash","zsh","r","jl","cpp","cc","c","h","hpp","java","go","rs","rb","php","swift","kt","cs","sql","tex","bib","rst","css","scss","html"]);async function u(e,r){let i;try{i=await t.promises.realpath((0,s.dirname)(r))}catch{throw Error("Path is not accessible.")}if(i!==e&&!i.startsWith(e+s.sep))throw Error("Path is not accessible.")}function m(e){let t;return f.has((t=e.lastIndexOf("."))>=0?e.slice(t+1).toLowerCase():"")}async function x(e,r,o){let a;if("string"!=typeof o)throw Error("Content must be a string.");if(Buffer.byteLength(o,"utf-8")>5242880)throw Error("This file is too large to save.");if(!m(r.replaceAll("\\","/").split("/").pop()||r))throw Error("Only text/code files can be edited.");let n=h(e,r);try{a=await t.promises.lstat(n)}catch{throw Error("Only files can be edited.")}if(a.isSymbolicLink())throw Error("Editing symlinks is not allowed.");let l=await d(e,r);if(!m((0,s.basename)(l)))throw Error("Only text/code files can be edited.");let c=await t.promises.stat(l);if(!c.isFile())throw Error("Only files can be edited.");let p=`${l}.${(0,i.randomUUID)()}.tmp`;try{await u(e,l),await t.promises.writeFile(p,o,{encoding:"utf-8",mode:511&c.mode}),await u(e,l),await t.promises.rename(p,l)}catch(e){throw await t.promises.rm(p,{force:!0}).catch(()=>{}),e}let f=await t.promises.stat(l);return{path:r.replaceAll("\\","/").replace(/^\/+/,""),size:f.size,mtime:f.mtimeMs}}async function w(e,r){await d(e,r);let s=h(e,r);if((await t.promises.lstat(s)).isDirectory())throw Error("Only files can be deleted.");await u(e,s),await t.promises.rm(s,{force:!0})}e.s(["MAX_WORKSPACE_WRITE_BYTES",0,5242880,"deleteWorkspaceFile",0,w,"getWorkspaceDir",0,p,"hasControlChar",0,a,"isCrossOrigin",0,function(e){let t=e.headers.get("host");if(!t)return!0;let r=e.headers.get("sec-fetch-site");if(r)return"same-origin"!==r&&"same-site"!==r&&"none"!==r;let s=e.headers.get("origin");if(!s)return!1;try{return new URL(s).host!==t}catch{return!0}},"isHiddenEntry",0,c,"safeResolve",0,d,"writeWorkspaceFile",0,x,"zipExcludeArgs",0,function(){let e=[".*","*/.*"];for(let t of n)e.push(`${t}/*`,`*/${t}/*`,t,`*/${t}`);for(let t of l)e.push(`*${t}`);return e.flatMap(e=>["-x",e])}])},688947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0o.c5k_._.js.map
@@ -0,0 +1,6 @@
1
+ module.exports=[254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},17883,e=>{"use strict";var t=e.i(522734),r=e.i(446786),i=e.i(814747),a=e.i(254799);let s=(0,i.join)((0,r.homedir)(),".config","evoscientist","langgraph_dev.workspace.json");function n(e){for(let t=0;t<e.length;t+=1){let r=e.charCodeAt(t);if(r<32||127===r||r>=128&&r<=159||8232===r||8233===r)return!0}return!1}let o=new Set(["large_tool_results","conversation_history","__pycache__","node_modules","__MACOSX"]),l=[".pyc",".pyo"];function c(e){return!!(e.startsWith(".")||o.has(e))||l.some(t=>e.endsWith(t))}async function u(){let e;try{let r=JSON.parse(await t.promises.readFile(s,"utf-8")),i=r.workspace,a=r.pid;"string"==typeof i&&i.trim()&&(!("number"==typeof a&&a>0)||function(e){try{return process.kill(e,0),!0}catch(e){return"EPERM"===e.code}}(a))&&(e=i)}catch{}if(!(e||=process.env.EVOSCIENTIST_WORKSPACE_DIR))throw Error("No active EvoScientist workspace found. Start the backend with `EvoSci deploy` first.");let r=(0,i.resolve)(e);if(!(await t.promises.stat(r)).isDirectory())throw Error("The active EvoScientist workspace is not a directory.");return t.promises.realpath(r)}function p(e,t){if(n(t))throw Error("Invalid path.");let r=t.replaceAll("\\","/").replace(/^\/+/,"");if(r.split("/").some(e=>""!==e&&c(e)))throw Error("Path is not accessible.");let a=(0,i.resolve)(e,r);if(a!==e&&!a.startsWith(e+i.sep))throw Error("Path is outside the workspace.");return a}async function d(e,r){let a,s=p(e,r);try{a=await t.promises.realpath(s)}catch{throw Error("Path is not accessible.")}if(a!==e&&!a.startsWith(e+i.sep))throw Error("Path is not accessible.");let n=(0,i.relative)(e,a);if(n&&n.split(i.sep).some(e=>""!==e&&c(e)))throw Error("Path is not accessible.");return a}let h=new Set(["txt","text","md","markdown","log","csv","tsv","json","jsonl","yaml","yml","toml","xml","ini","cfg","conf","env","py","js","jsx","ts","tsx","sh","bash","zsh","r","jl","cpp","cc","c","h","hpp","java","go","rs","rb","php","swift","kt","cs","sql","tex","bib","rst","css","scss","html"]);async function f(e,r){let a;try{a=await t.promises.realpath((0,i.dirname)(r))}catch{throw Error("Path is not accessible.")}if(a!==e&&!a.startsWith(e+i.sep))throw Error("Path is not accessible.")}function m(e){let t;return h.has((t=e.lastIndexOf("."))>=0?e.slice(t+1).toLowerCase():"")}async function w(e,r,s){let n;if("string"!=typeof s)throw Error("Content must be a string.");if(Buffer.byteLength(s,"utf-8")>5242880)throw Error("This file is too large to save.");if(!m(r.replaceAll("\\","/").split("/").pop()||r))throw Error("Only text/code files can be edited.");let o=p(e,r);try{n=await t.promises.lstat(o)}catch{throw Error("Only files can be edited.")}if(n.isSymbolicLink())throw Error("Editing symlinks is not allowed.");let l=await d(e,r);if(!m((0,i.basename)(l)))throw Error("Only text/code files can be edited.");let c=await t.promises.stat(l);if(!c.isFile())throw Error("Only files can be edited.");let u=`${l}.${(0,a.randomUUID)()}.tmp`;try{await f(e,l),await t.promises.writeFile(u,s,{encoding:"utf-8",mode:511&c.mode}),await f(e,l),await t.promises.rename(u,l)}catch(e){throw await t.promises.rm(u,{force:!0}).catch(()=>{}),e}let h=await t.promises.stat(l);return{path:r.replaceAll("\\","/").replace(/^\/+/,""),size:h.size,mtime:h.mtimeMs}}async function v(e,r){await d(e,r);let i=p(e,r);if((await t.promises.lstat(i)).isDirectory())throw Error("Only files can be deleted.");await f(e,i),await t.promises.rm(i,{force:!0})}e.s(["MAX_WORKSPACE_WRITE_BYTES",0,5242880,"deleteWorkspaceFile",0,v,"getWorkspaceDir",0,u,"hasControlChar",0,n,"isCrossOrigin",0,function(e){let t=e.headers.get("host");if(!t)return!0;let r=e.headers.get("sec-fetch-site");if(r)return"same-origin"!==r&&"same-site"!==r&&"none"!==r;let i=e.headers.get("origin");if(!i)return!1;try{return new URL(i).host!==t}catch{return!0}},"isHiddenEntry",0,c,"safeResolve",0,d,"writeWorkspaceFile",0,w,"zipExcludeArgs",0,function(){let e=[".*","*/.*"];for(let t of o)e.push(`${t}/*`,`*/${t}/*`,t,`*/${t}`);for(let t of l)e.push(`*${t}`);return e.flatMap(e=>["-x",e])}])},904937,e=>{"use strict";let t;var r=e.i(446786),i=e.i(814747),a=e.i(522734),s=e.i(254799);let n="EvoScientist/EvoSkills",o="main",l="skills/",c=(0,i.join)((t=process.env.EVOSCIENTIST_DATA_DIR)&&t.trim()?t.startsWith("~")?(0,i.join)((0,r.homedir)(),t.slice(1)):(0,i.resolve)(t):(0,i.join)((0,r.homedir)(),".evoscientist"),"skills"),u=[c,(0,i.join)((0,r.homedir)(),".config","evoscientist","skills")],p={Accept:"application/vnd.github+json","User-Agent":"evoscientist-webui"};function d(e){return e.length<=128&&/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(e)&&!e.includes("..")}function h(e){let t=e.match(/^---[ \t]*\r?\n([\s\S]*?)\r?\n---[ \t]*(?:\r?\n|$)/);return t?{frontmatter:t[1],body:e.slice(t[0].length).trim()}:{frontmatter:null,body:e.trim()}}function f(e){let t=t=>{let r=e.match(RegExp(`^${t}\\s*:\\s*(.+?)\\s*$`,"m"));return r?r[1].replace(/^["']|["']$/g,"").trim():void 0};return{name:t("name"),description:t("description"),version:function(e){let t=e.match(/^metadata\s*:[ \t]*\n((?:[ \t]+.*(?:\n|$))*)/m);if(!t)return;let r=t[1].match(/^[ \t]+version\s*:\s*(.+?)\s*$/m);return r?r[1].replace(/^["']|["']$/g,"").trim():void 0}(e)}}function m(e){let{frontmatter:t}=h(e);return t?f(t):{}}async function w(e){for(let t of u)try{let r=await a.promises.readFile((0,i.join)(t,e,"SKILL.md"),"utf-8"),s=m(r).version;if(s)return s}catch{}}function v(e,t){return`https://raw.githubusercontent.com/${n}/${e}/${t}`}let y=/^[0-9a-f]{7,40}$/,g=null;async function x(){try{let e=await fetch(`https://api.github.com/repos/${n}/commits/${o}`,{headers:p});if(e.ok){let t=await e.json();if("string"==typeof t.sha&&y.test(t.sha))return t.sha}}catch{}return o}async function E(e=!1){if(!e&&g&&Date.now()-g.at<3e5)return{ref:g.ref,tree:g.tree};let t=await x(),r=await fetch(`https://api.github.com/repos/${n}/git/trees/${t}?recursive=1`,{headers:p});if(!r.ok)throw Error(403===r.status?"GitHub rate limit reached — try again in a minute.":`Couldn't reach the skills catalog (GitHub ${r.status}).`);let i=await r.json();if(!Array.isArray(i.tree))throw Error("Unexpected response from the skills catalog.");return g={at:Date.now(),ref:t,tree:i.tree},{ref:t,tree:i.tree}}function k(){return(0,i.join)(c,".installed.yaml")}async function b(){try{return function(e){let t={},r=null;for(let i of e.split("\n"))if(!(!i.trim()||i.trimStart().startsWith("#"))){if(/^\S/.test(i)){let e=i.match(/^(\S[^:]*?):\s*$/);(r=e?e[1].trim():null)&&(t[r]={source:""})}else if(r){let e=i.match(/^\s+([A-Za-z_]+)\s*:\s*(.+?)\s*$/);if(e){let i=e[2].replace(/^["']|["']$/g,"").trim();"source"===e[1]?t[r].source=i:"commit"===e[1]&&(t[r].commit=i)}}}for(let e of Object.keys(t))t[e].source||delete t[e];return t}(await a.promises.readFile(k(),"utf-8"))}catch{return{}}}async function R(e){let t=k(),r=`${t}.${(0,s.randomUUID)()}.tmp`;await a.promises.mkdir(c,{recursive:!0}),await a.promises.writeFile(r,function(e){let t=Object.keys(e).sort();if(0===t.length)return"{}\n";let r="";for(let i of t)r+=`${i}:
2
+ `,e[i].commit&&(r+=` commit: ${e[i].commit}
3
+ `),r+=` source: ${e[i].source}
4
+ `;return r}(e),{mode:384}),await a.promises.rename(r,t)}async function S(e,t){let r=await b(),i=`${n}@${l}${e}`;r[e]=t?{source:i,commit:t}:{source:i},await R(r)}async function $(e){let t=await b();e in t&&(delete t[e],await R(t))}async function C(){let e=new Set;for(let t of u)try{for(let r of(await a.promises.readdir(t,{withFileTypes:!0})))r.isDirectory()&&!r.name.startsWith(".")&&e.add(r.name)}catch{}return e}async function A(e=!1){let[{ref:t,tree:r},i]=await Promise.all([E(e),C()]),a=function(e){let t=new Map;for(let r of e){if("blob"!==r.type||!r.path.startsWith(l))continue;let e=r.path.slice(l.length),i=e.indexOf("/");if(i<=0)continue;let a=e.slice(0,i);(t.get(a)??t.set(a,[]).get(a)).push(r)}return t}(r);return(await Promise.all([...a.entries()].map(async([e,r])=>{let a,s=e,n="",o=r.find(t=>t.path===`${l}${e}/SKILL.md`);if(o)try{let r=await fetch(v(t,o.path),{headers:p}).then(e=>e.ok?e.text():""),i=m(r);s=i.name||e,n=i.description||"",a=i.version}catch{}let c=i.has(e),u=c?await w(e):void 0,d=c&&!!a&&!!u&&function(e,t){let r=e.split(".").map(e=>parseInt(e,10)),i=t.split(".").map(e=>parseInt(e,10)),a=Math.max(r.length,i.length);for(let e=0;e<a;e+=1){let t=r[e]??0,a=i[e]??0;if(Number.isNaN(t)||Number.isNaN(a))break;if(t!==a)return t>a?1:-1}return 0}(a,u)>0;return{name:e,title:s,description:n,fileCount:r.length,installed:c,latestVersion:a,installedVersion:u,updateAvailable:d}}))).sort((e,t)=>e.title.localeCompare(t.title))}async function j(e){let t;if(!d(e))throw Error("Invalid skill name.");let r=!1;for(let s of u)try{let n=await a.promises.realpath((0,i.join)(s,e,"SKILL.md")),o=await a.promises.realpath(s);if(n!==o&&!n.startsWith(o+i.sep))continue;t=await a.promises.readFile(n,"utf-8"),r=!0;break}catch{}if(void 0===t){let{ref:r,tree:i}=await E(),a=i.find(t=>"blob"===t.type&&t.path===`${l}${e}/SKILL.md`);if(!a)throw Error(`Skill "${e}" was not found.`);let s=await fetch(v(r,a.path),{headers:p});if(!s.ok)throw Error(`Failed to load skill (${s.status}).`);t=await s.text()}let{frontmatter:s,body:n}=h(t),o=s?f(s):{},c=null!==s&&(null!=o.name||null!=o.description||null!=o.version);return{name:e,title:o.name||e,description:o.description||"",version:o.version,body:c?n:t.trim(),installed:r}}async function _(e){if(!d(e))throw Error("Invalid skill name.");let{ref:t,tree:r}=await E(),n=`${l}${e}/`,u=r.filter(e=>"blob"===e.type&&e.path.startsWith(n));if(0===u.length)throw Error(`Skill "${e}" was not found in the catalog.`);if(u.length>300)throw Error("This skill has too many files to install.");if(u.reduce((e,t)=>e+(t.size??0),0)>0x1900000)throw Error("This skill is too large to install.");let h=(0,i.resolve)(c),f=(0,i.resolve)(h,e);if(f!==(0,i.join)(h,e))throw Error("Invalid skill name.");let m=(0,i.join)(h,`.installing-${e}-${(0,s.randomUUID)()}`);try{for(let e of(await a.promises.mkdir(m,{recursive:!0}),u)){let r=e.path.slice(n.length),s=(0,i.resolve)(m,r);if(s!==m&&!s.startsWith(m+i.sep))throw Error("Invalid file path in skill.");let o=await fetch(v(t,e.path),{headers:p});if(!o.ok)throw Error(`Failed to download ${r} (${o.status}).`);let l=Buffer.from(await o.arrayBuffer());await a.promises.mkdir((0,i.dirname)(s),{recursive:!0}),await a.promises.writeFile(s,l)}await a.promises.rm(f,{recursive:!0,force:!0}),await a.promises.mkdir(h,{recursive:!0}),await a.promises.rename(m,f)}catch(e){throw await a.promises.rm(m,{recursive:!0,force:!0}).catch(()=>{}),e}try{await S(e,t!==o&&y.test(t)?t:null)}catch{}return{files:u.length}}e.s(["SKILL_DIRS",0,u,"getCatalog",0,A,"getSkillDetail",0,j,"installSkill",0,_,"isValidSkillName",0,d,"recordUninstall",0,$])},810900,e=>{"use strict";var t=e.i(747909),r=e.i(174017),i=e.i(996250),a=e.i(759756),s=e.i(561916),n=e.i(174677),o=e.i(869741),l=e.i(316795),c=e.i(487718),u=e.i(995169),p=e.i(47587),d=e.i(666012),h=e.i(570101),f=e.i(626937),m=e.i(10372),w=e.i(193695);e.i(52474);var v=e.i(600220),y=e.i(89171),g=e.i(904937),x=e.i(17883);async function E(e){try{if((0,x.isCrossOrigin)(e))return y.NextResponse.json({error:"Cross-origin installs are not allowed."},{status:403});let t=await e.json().catch(()=>null),r=t?.name;if("string"!=typeof r||!r)return y.NextResponse.json({error:"Missing skill name."},{status:400});let i=await (0,g.installSkill)(r);return y.NextResponse.json({ok:!0,...i})}catch(e){return y.NextResponse.json({error:e instanceof Error?e.message:"Failed to install skill."},{status:400})}}e.s(["POST",0,E,"runtime",0,"nodejs"],915908);var k=e.i(915908);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/skills/install/route",pathname:"/api/skills/install",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/skills/install/route.ts",nextConfigOutput:"standalone",userland:k,...{}}),{workAsyncStorage:R,workUnitAsyncStorage:S,serverHooks:$}=b;async function C(e,t,i){i.requestMeta&&(0,a.setRequestMeta)(e,i.requestMeta),b.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/skills/install/route";y=y.replace(/\/index$/,"")||"/";let g=await b.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:x,deploymentId:E,params:k,nextConfig:R,parsedUrl:S,isDraftMode:$,prerenderManifest:C,routerServerContext:A,isOnDemandRevalidate:j,revalidateOnlyGenerated:_,resolvedPathname:I,clientReferenceManifest:N,serverActionsManifest:O}=g,T=(0,o.normalizeAppPath)(y),P=!!(C.dynamicRoutes[T]||C.routes[I]),q=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,S,!1):t.end("This page could not be found"),null);if(P&&!$){let e=!!C.routes[I],t=C.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await q();throw new w.NoFallbackError}}let D=null;!P||b.isDev||$||(D="/index"===(D=I)?"/":D);let U=!0===b.isDev||!P,M=P&&!U;O&&N&&(0,n.setManifestsSingleton)({page:y,clientReferenceManifest:N,serverActionsManifest:O});let F=e.method||"GET",W=(0,s.getTracer)(),H=W.getActiveScopeSpan(),L=!!(null==A?void 0:A.isWrappedByNextServer),K=!!(0,a.getRequestMeta)(e,"minimalMode"),B=(0,a.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,R,C,K);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let z={params:k,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:U,incrementalCache:B,cacheLifeProfiles:R.cacheLife,waitUntil:i.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,i,a)=>b.onRequestError(e,t,i,a,A)},sharedContext:{buildId:x,deploymentId:E}},V=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),X=c.NextRequestAdapter.fromNodeNextRequest(V,(0,c.signalFromNodeResponse)(t));try{let a,n=async e=>b.handle(X,z).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=W.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=r.get("next.route");if(i){let t=`${F} ${i}`;e.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",i),a.updateName(t))}else e.updateName(`${F} ${y}`)}),o=async a=>{var s,o;let l=async({previousCacheEntry:r})=>{try{if(!K&&j&&_&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await n(a);e.fetchMetrics=z.renderOpts.fetchMetrics;let o=z.renderOpts.pendingWaitUntil;o&&i.waitUntil&&(i.waitUntil(o),o=void 0);let l=z.renderOpts.collectedTags;if(!P)return await (0,d.sendResponse)(V,G,s,z.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,i=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:i}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:j})},!1,A),t}},c=await b.handleResponse({req:e,nextConfig:R,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:_,responseGenerator:l,waitUntil:i.waitUntil,isMinimalMode:K});if(!P)return null;if((null==c||null==(s=c.value)?void 0:s.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(o=c.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",j?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),$&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return K&&P||u.delete(m.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(c.cacheControl)),await (0,d.sendResponse)(V,G,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};L&&H?await o(H):(a=W.getActiveScopeSpan(),await W.withPropagatedContext(e.headers,()=>W.trace(u.BaseServerSpan.handleRequest,{spanName:`${F} ${y}`,kind:s.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},o),void 0,!L))}catch(t){if(t instanceof w.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:j})},!1,A),P)throw t;return await (0,d.sendResponse)(V,G,new Response(null,{status:500})),null}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:R,workUnitAsyncStorage:S})},"routeModule",0,b,"serverHooks",0,$,"workAsyncStorage",0,R,"workUnitAsyncStorage",0,S],810900)}];
5
+
6
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0s6.s21._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},17883,e=>{"use strict";var t=e.i(522734),r=e.i(446786),i=e.i(814747),a=e.i(254799);let s=(0,i.join)((0,r.homedir)(),".config","evoscientist","langgraph_dev.workspace.json");function o(e){for(let t=0;t<e.length;t+=1){let r=e.charCodeAt(t);if(r<32||127===r||r>=128&&r<=159||8232===r||8233===r)return!0}return!1}let n=new Set(["large_tool_results","conversation_history","__pycache__","node_modules","__MACOSX"]),l=[".pyc",".pyo"];function c(e){return!!(e.startsWith(".")||n.has(e))||l.some(t=>e.endsWith(t))}async function p(){let e;try{let r=JSON.parse(await t.promises.readFile(s,"utf-8")),i=r.workspace,a=r.pid;"string"==typeof i&&i.trim()&&(!("number"==typeof a&&a>0)||function(e){try{return process.kill(e,0),!0}catch(e){return"EPERM"===e.code}}(a))&&(e=i)}catch{}if(!(e||=process.env.EVOSCIENTIST_WORKSPACE_DIR))throw Error("No active EvoScientist workspace found. Start the backend with `EvoSci deploy` first.");let r=(0,i.resolve)(e);if(!(await t.promises.stat(r)).isDirectory())throw Error("The active EvoScientist workspace is not a directory.");return t.promises.realpath(r)}function u(e,t){if(o(t))throw Error("Invalid path.");let r=t.replaceAll("\\","/").replace(/^\/+/,"");if(r.split("/").some(e=>""!==e&&c(e)))throw Error("Path is not accessible.");let a=(0,i.resolve)(e,r);if(a!==e&&!a.startsWith(e+i.sep))throw Error("Path is outside the workspace.");return a}async function d(e,r){let a,s=u(e,r);try{a=await t.promises.realpath(s)}catch{throw Error("Path is not accessible.")}if(a!==e&&!a.startsWith(e+i.sep))throw Error("Path is not accessible.");let o=(0,i.relative)(e,a);if(o&&o.split(i.sep).some(e=>""!==e&&c(e)))throw Error("Path is not accessible.");return a}let h=new Set(["txt","text","md","markdown","log","csv","tsv","json","jsonl","yaml","yml","toml","xml","ini","cfg","conf","env","py","js","jsx","ts","tsx","sh","bash","zsh","r","jl","cpp","cc","c","h","hpp","java","go","rs","rb","php","swift","kt","cs","sql","tex","bib","rst","css","scss","html"]);async function m(e,r){let a;try{a=await t.promises.realpath((0,i.dirname)(r))}catch{throw Error("Path is not accessible.")}if(a!==e&&!a.startsWith(e+i.sep))throw Error("Path is not accessible.")}function f(e){let t;return h.has((t=e.lastIndexOf("."))>=0?e.slice(t+1).toLowerCase():"")}async function w(e,r,s){let o;if("string"!=typeof s)throw Error("Content must be a string.");if(Buffer.byteLength(s,"utf-8")>5242880)throw Error("This file is too large to save.");if(!f(r.replaceAll("\\","/").split("/").pop()||r))throw Error("Only text/code files can be edited.");let n=u(e,r);try{o=await t.promises.lstat(n)}catch{throw Error("Only files can be edited.")}if(o.isSymbolicLink())throw Error("Editing symlinks is not allowed.");let l=await d(e,r);if(!f((0,i.basename)(l)))throw Error("Only text/code files can be edited.");let c=await t.promises.stat(l);if(!c.isFile())throw Error("Only files can be edited.");let p=`${l}.${(0,a.randomUUID)()}.tmp`;try{await m(e,l),await t.promises.writeFile(p,s,{encoding:"utf-8",mode:511&c.mode}),await m(e,l),await t.promises.rename(p,l)}catch(e){throw await t.promises.rm(p,{force:!0}).catch(()=>{}),e}let h=await t.promises.stat(l);return{path:r.replaceAll("\\","/").replace(/^\/+/,""),size:h.size,mtime:h.mtimeMs}}async function y(e,r){await d(e,r);let i=u(e,r);if((await t.promises.lstat(i)).isDirectory())throw Error("Only files can be deleted.");await m(e,i),await t.promises.rm(i,{force:!0})}e.s(["MAX_WORKSPACE_WRITE_BYTES",0,5242880,"deleteWorkspaceFile",0,y,"getWorkspaceDir",0,p,"hasControlChar",0,o,"isCrossOrigin",0,function(e){let t=e.headers.get("sec-fetch-site");if(t&&"same-origin"!==t&&"same-site"!==t&&"none"!==t)return!0;let r=e.headers.get("origin");return!!r&&r!==e.nextUrl.origin},"isHiddenEntry",0,c,"safeResolve",0,d,"writeWorkspaceFile",0,w,"zipExcludeArgs",0,function(){let e=[".*","*/.*"];for(let t of n)e.push(`${t}/*`,`*/${t}/*`,t,`*/${t}`);for(let t of l)e.push(`*${t}`);return e.flatMap(e=>["-x",e])}])},85678,e=>{"use strict";var t=e.i(522734),r=e.i(446786),i=e.i(814747),a=e.i(254799),s=e.i(17883);function o(e){return e.startsWith("~")?(0,i.join)((0,r.homedir)(),e.slice(1)):(0,i.resolve)(e)}function n(){let e,t=process.env.EVOSCIENTIST_MEMORIES_DIR||process.env.EVOSCIENTIST_MEMORY_DIR;return t&&t.trim()?o(t):(0,i.join)((e=process.env.EVOSCIENTIST_DATA_DIR)&&e.trim()?o(e):(0,i.join)((0,r.homedir)(),".evoscientist"),"memories")}async function l(){try{let e=await t.promises.realpath(n());return(await t.promises.stat(e)).isDirectory()?e:null}catch{return null}}async function c(){let e=n();return await t.promises.mkdir(e,{recursive:!0}),t.promises.realpath(e)}let p=new Set(["__pycache__","node_modules","__MACOSX"]),u=[".pyc",".pyo"];function d(e){return!!(e.startsWith(".")||p.has(e))||u.some(t=>e.endsWith(t))}let h=new Set(["md","markdown","txt","text","json","yaml","yml","csv","tsv","log","tex","bib","rst"]);function m(e){let t;return h.has((t=e.lastIndexOf("."))>=0?e.slice(t+1).toLowerCase():"")}function f(e,t){if((0,s.hasControlChar)(t))throw Error("Invalid path.");let r=t.replaceAll("\\","/").replace(/^\/+/,"");if(!r)throw Error("A file path is required.");if(r.split("/").some(e=>""!==e&&d(e)))throw Error("Path is not accessible.");let a=(0,i.resolve)(e,r);if(a!==e&&!a.startsWith(e+i.sep))throw Error("Path is outside the memory directory.");return a}async function w(e,r){let a,s=f(e,r);try{a=await t.promises.realpath(s)}catch{throw Error("Path is not accessible.")}if(a!==e&&!a.startsWith(e+i.sep))throw Error("Path is not accessible.");let o=(0,i.relative)(e,a);if(o&&o.split(i.sep).some(e=>""!==e&&d(e)))throw Error("Path is not accessible.");return a}async function y(e,r){let a=f(e,r),s=(0,i.dirname)(a);for(;;)try{let r=await t.promises.realpath(s);if(r!==e&&!r.startsWith(e+i.sep))throw Error("Path is outside the memory directory.");break}catch(t){if(t instanceof Error&&t.message.includes("outside"))throw t;let e=(0,i.dirname)(s);if(e===s)break;s=e}return a}async function v(){let e=n(),r=await l();if(!r)return{dir:e,exists:!1,entries:[],truncated:!1};let a=[],s=!1;async function o(e,n){let l;if(n>8||a.length>=2e3){a.length>=2e3&&(s=!0);return}try{l=await t.promises.readdir(e,{withFileTypes:!0})}catch{return}for(let c of(l.sort((e,t)=>e.name.localeCompare(t.name)),l)){if(d(c.name))continue;if(a.length>=2e3){s=!0;return}let l=(0,i.join)(e,c.name);if(c.isDirectory())await o(l,n+1);else if(c.isFile()){let e=0,s=0;try{let r=await t.promises.stat(l);e=r.size,s=r.mtimeMs}catch{continue}a.push({path:(0,i.relative)(r,l).split(i.sep).join("/"),size:e,mtime:s,editable:m(c.name)&&e<=2097152})}}}return await o(r,0),{dir:e,exists:!0,entries:a,truncated:s}}async function E(e){let r=await l();if(!r)throw Error("No memory directory found.");if(!m(e))throw Error("This file type can't be edited.");let i=await w(r,e),a=await t.promises.stat(i);if(!a.isFile())throw Error("Not a file.");if(a.size>2097152)throw Error("This file is too large to open.");let s=await t.promises.readFile(i,"utf-8");return{path:e.replaceAll("\\","/").replace(/^\/+/,""),content:s,size:a.size,mtime:a.mtimeMs}}async function g(e,r){if("string"!=typeof r)throw Error("Content must be a string.");if(Buffer.byteLength(r,"utf-8")>1048576)throw Error("This file is too large to save.");if(!m(e))throw Error("Only text/markdown memory files can be saved.");let s=await c(),o=await y(s,e);await t.promises.mkdir((0,i.dirname)(o),{recursive:!0});let n=`${o}.${(0,a.randomUUID)()}.tmp`;try{await t.promises.writeFile(n,r,{encoding:"utf-8",mode:384}),await t.promises.rename(n,o)}catch(e){throw await t.promises.rm(n,{force:!0}).catch(()=>{}),e}let l=await t.promises.stat(o);return{path:e.replaceAll("\\","/").replace(/^\/+/,""),content:r,size:l.size,mtime:l.mtimeMs}}function x(e){let t=e.match(/^---\r?\n([\s\S]*?)\r?\n---/);return t?t[1]:""}function b(e,t){let r=RegExp(`^${t}:\\s*(.+)`,"m"),i=e.match(r);return i?i[1].trim().replace(/^'(.*)'$/,"$1").replace(/^"(.*)"$/,"$1"):""}function R(e,t){let r=RegExp(`\\b${t}:\\s*(.+)`,"m"),i=e.match(r);return i?i[1].trim().replace(/^'(.*)'$/,"$1").replace(/^"(.*)"$/,"$1"):""}async function C(){let e=await l();if(!e)return{nodes:[],edges:[]};let r=(0,i.join)(e,"observations");try{await t.promises.access(r)}catch{return{nodes:[],edges:[]}}let a=new Map,s=[];async function o(r){let n;try{n=await t.promises.readdir(r,{withFileTypes:!0})}catch{return}for(let l of(n.sort((e,t)=>e.name.localeCompare(t.name)),n)){if(d(l.name))continue;let n=(0,i.join)(r,l.name);if(l.isDirectory())await o(n);else if(l.isFile()&&l.name.endsWith(".md")){let r=await t.promises.readFile(n,"utf-8").catch(()=>null);if(!r)continue;let o=x(r),c=b(o,"id")||l.name.replace(/\.md$/,""),p=b(o,"summary")||c,u=b(o,"memory_type")||"semantic",d=b(o,"scope")||"global",h=b(o,"created_at")||"",m=function(e){let t,r=e.indexOf("related_observations:");if(-1===r)return[];let i=e.slice(r+21),a=[],s=/^- id:\s*(.+)$/gm;for(;null!==(t=s.exec(i));){let e=t.index,r=i.slice(e+1),s=r.match(/^(?:- |[a-z_])/m),o=i.slice(e,e+1+(s?.index??r.length)),n=t[1].trim().replace(/^['"]|['"]$/g,""),l=o.match(/^\s+relation:\s*(.+)$/m),c=l?.[1]?.trim()??"";n&&c&&a.push({id:n,relation:c})}return a}(o),f=(0,i.relative)(e,n).split(i.sep).join("/");for(let e of(a.set(c,{id:c,path:f,summary:p,memory_type:u,scope:d,created_at:h,degree:0}),m))s.push({source:c,target:e.id,relation:e.relation})}}}await o(r);let n=s.filter(e=>a.has(e.source)&&a.has(e.target));for(let e of n)a.get(e.source).degree++,a.get(e.target).degree++;return{nodes:Array.from(a.values()),edges:n}}async function _(){let e=await l();if(!e)return{entries:[],truncated:!1};let r=(0,i.join)(e,"executions");try{await t.promises.access(r)}catch{return{entries:[],truncated:!1}}let a=[],s=!1;async function o(r){let n;if(a.length>=2e3){s=!0;return}try{n=await t.promises.readdir(r,{withFileTypes:!0})}catch{return}for(let s of(n.sort((e,t)=>e.name.localeCompare(t.name)),n)){if(d(s.name))continue;let n=(0,i.join)(r,s.name);if(s.isDirectory())await o(n);else if(s.isFile()&&s.name.endsWith(".md")){let r=await t.promises.readFile(n,"utf-8").catch(()=>null);if(!r)continue;let o=x(r),l=b(o,"id")||s.name.replace(/\.md$/,""),c=b(o,"created_at")||"",p=b(o,"project_id")||"",u=R(o,"agent"),d=R(o,"session_id"),h=r.replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/,"").trim(),m=h.match(/^##\s+Summary\s*\r?\n([\s\S]*?)(?=\n##\s|\s*$)/m),f=m?m[1].trim():h.slice(0,500),w=[...new Set(h.match(/\bO-[0-9a-f]{16}\b/g)??[])];a.push({id:l,created_at:c,agent:u,session_id:d,project_id:p,summary:f,obs_ids:w,path:(0,i.relative)(e,n).split(i.sep).join("/")})}}}return await o(r),a.sort((e,t)=>t.created_at.localeCompare(e.created_at)),{entries:a,truncated:s}}async function S(e){let r=await l();if(!r)throw Error("No memory directory found.");let i=await w(r,e);if(!(await t.promises.stat(i)).isFile())throw Error("Only files can be deleted.");await t.promises.rm(i,{force:!0})}e.s(["deleteMemory",0,S,"listExecutions",0,_,"listMemory",0,v,"listObservations",0,C,"readMemory",0,E,"writeMemory",0,g])},106423,e=>{"use strict";var t=e.i(747909),r=e.i(174017),i=e.i(996250),a=e.i(759756),s=e.i(561916),o=e.i(174677),n=e.i(869741),l=e.i(316795),c=e.i(487718),p=e.i(995169),u=e.i(47587),d=e.i(666012),h=e.i(570101),m=e.i(626937),f=e.i(10372),w=e.i(193695);e.i(52474);var y=e.i(600220),v=e.i(89171),E=e.i(85678),g=e.i(17883);let x={"Cache-Control":"no-store"};async function b(e){try{if((0,g.isCrossOrigin)(e))return v.NextResponse.json({error:"Cross-origin access not allowed."},{status:403,headers:x});return v.NextResponse.json(await (0,E.listObservations)(),{headers:x})}catch(e){return v.NextResponse.json({error:e instanceof Error?e.message:"Failed to load observations."},{status:400,headers:x})}}e.s(["GET",0,b,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],898501);var R=e.i(898501);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/memory/observations/route",pathname:"/api/memory/observations",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/memory/observations/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:_,workUnitAsyncStorage:S,serverHooks:A}=C;async function O(e,t,i){i.requestMeta&&(0,a.setRequestMeta)(e,i.requestMeta),C.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/memory/observations/route";v=v.replace(/\/index$/,"")||"/";let E=await C.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:g,deploymentId:x,params:b,nextConfig:R,parsedUrl:_,isDraftMode:S,prerenderManifest:A,routerServerContext:O,isOnDemandRevalidate:T,revalidateOnlyGenerated:j,resolvedPathname:k,clientReferenceManifest:P,serverActionsManifest:N}=E,I=(0,n.normalizeAppPath)(v),M=!!(A.dynamicRoutes[I]||A.routes[k]),$=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,_,!1):t.end("This page could not be found"),null);if(M&&!S){let e=!!A.routes[k],t=A.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await $();throw new w.NoFallbackError}}let q=null;!M||C.isDev||S||(q="/index"===(q=k)?"/":q);let D=!0===C.isDev||!M,F=M&&!D;N&&P&&(0,o.setManifestsSingleton)({page:v,clientReferenceManifest:P,serverActionsManifest:N});let W=e.method||"GET",U=(0,s.getTracer)(),H=U.getActiveScopeSpan(),z=!!(null==O?void 0:O.isWrappedByNextServer),K=!!(0,a.getRequestMeta)(e,"minimalMode"),L=(0,a.getRequestMeta)(e,"incrementalCache")||await C.getIncrementalCache(e,R,A,K);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let B={params:b,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:D,incrementalCache:L,cacheLifeProfiles:R.cacheLife,waitUntil:i.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,i,a)=>C.onRequestError(e,t,i,a,O)},sharedContext:{buildId:g,deploymentId:x}},V=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),G=c.NextRequestAdapter.fromNodeNextRequest(V,(0,c.signalFromNodeResponse)(t));try{let a,o=async e=>C.handle(G,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=r.get("next.route");if(i){let t=`${W} ${i}`;e.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",i),a.updateName(t))}else e.updateName(`${W} ${v}`)}),n=async a=>{var s,n;let l=async({previousCacheEntry:r})=>{try{if(!K&&T&&j&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(a);e.fetchMetrics=B.renderOpts.fetchMetrics;let n=B.renderOpts.pendingWaitUntil;n&&i.waitUntil&&(i.waitUntil(n),n=void 0);let l=B.renderOpts.collectedTags;if(!M)return await (0,d.sendResponse)(V,X,s,B.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,i=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:i}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:T})},!1,O),t}},c=await C.handleResponse({req:e,nextConfig:R,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:j,responseGenerator:l,waitUntil:i.waitUntil,isMinimalMode:K});if(!M)return null;if((null==c||null==(s=c.value)?void 0:s.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(n=c.value)?void 0:n.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",T?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return K&&M||p.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,m.getCacheControlHeader)(c.cacheControl)),await (0,d.sendResponse)(V,X,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};z&&H?await n(H):(a=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(p.BaseServerSpan.handleRequest,{spanName:`${W} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":W,"http.target":e.url}},n),void 0,!z))}catch(t){if(t instanceof w.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:T})},!1,O),M)throw t;return await (0,d.sendResponse)(V,X,new Response(null,{status:500})),null}}e.s(["handler",0,O,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:S})},"routeModule",0,C,"serverHooks",0,A,"workAsyncStorage",0,_,"workUnitAsyncStorage",0,S],106423)}];
1
+ module.exports=[254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},17883,e=>{"use strict";var t=e.i(522734),r=e.i(446786),i=e.i(814747),a=e.i(254799);let s=(0,i.join)((0,r.homedir)(),".config","evoscientist","langgraph_dev.workspace.json");function o(e){for(let t=0;t<e.length;t+=1){let r=e.charCodeAt(t);if(r<32||127===r||r>=128&&r<=159||8232===r||8233===r)return!0}return!1}let n=new Set(["large_tool_results","conversation_history","__pycache__","node_modules","__MACOSX"]),l=[".pyc",".pyo"];function c(e){return!!(e.startsWith(".")||n.has(e))||l.some(t=>e.endsWith(t))}async function p(){let e;try{let r=JSON.parse(await t.promises.readFile(s,"utf-8")),i=r.workspace,a=r.pid;"string"==typeof i&&i.trim()&&(!("number"==typeof a&&a>0)||function(e){try{return process.kill(e,0),!0}catch(e){return"EPERM"===e.code}}(a))&&(e=i)}catch{}if(!(e||=process.env.EVOSCIENTIST_WORKSPACE_DIR))throw Error("No active EvoScientist workspace found. Start the backend with `EvoSci deploy` first.");let r=(0,i.resolve)(e);if(!(await t.promises.stat(r)).isDirectory())throw Error("The active EvoScientist workspace is not a directory.");return t.promises.realpath(r)}function u(e,t){if(o(t))throw Error("Invalid path.");let r=t.replaceAll("\\","/").replace(/^\/+/,"");if(r.split("/").some(e=>""!==e&&c(e)))throw Error("Path is not accessible.");let a=(0,i.resolve)(e,r);if(a!==e&&!a.startsWith(e+i.sep))throw Error("Path is outside the workspace.");return a}async function d(e,r){let a,s=u(e,r);try{a=await t.promises.realpath(s)}catch{throw Error("Path is not accessible.")}if(a!==e&&!a.startsWith(e+i.sep))throw Error("Path is not accessible.");let o=(0,i.relative)(e,a);if(o&&o.split(i.sep).some(e=>""!==e&&c(e)))throw Error("Path is not accessible.");return a}let h=new Set(["txt","text","md","markdown","log","csv","tsv","json","jsonl","yaml","yml","toml","xml","ini","cfg","conf","env","py","js","jsx","ts","tsx","sh","bash","zsh","r","jl","cpp","cc","c","h","hpp","java","go","rs","rb","php","swift","kt","cs","sql","tex","bib","rst","css","scss","html"]);async function m(e,r){let a;try{a=await t.promises.realpath((0,i.dirname)(r))}catch{throw Error("Path is not accessible.")}if(a!==e&&!a.startsWith(e+i.sep))throw Error("Path is not accessible.")}function f(e){let t;return h.has((t=e.lastIndexOf("."))>=0?e.slice(t+1).toLowerCase():"")}async function w(e,r,s){let o;if("string"!=typeof s)throw Error("Content must be a string.");if(Buffer.byteLength(s,"utf-8")>5242880)throw Error("This file is too large to save.");if(!f(r.replaceAll("\\","/").split("/").pop()||r))throw Error("Only text/code files can be edited.");let n=u(e,r);try{o=await t.promises.lstat(n)}catch{throw Error("Only files can be edited.")}if(o.isSymbolicLink())throw Error("Editing symlinks is not allowed.");let l=await d(e,r);if(!f((0,i.basename)(l)))throw Error("Only text/code files can be edited.");let c=await t.promises.stat(l);if(!c.isFile())throw Error("Only files can be edited.");let p=`${l}.${(0,a.randomUUID)()}.tmp`;try{await m(e,l),await t.promises.writeFile(p,s,{encoding:"utf-8",mode:511&c.mode}),await m(e,l),await t.promises.rename(p,l)}catch(e){throw await t.promises.rm(p,{force:!0}).catch(()=>{}),e}let h=await t.promises.stat(l);return{path:r.replaceAll("\\","/").replace(/^\/+/,""),size:h.size,mtime:h.mtimeMs}}async function y(e,r){await d(e,r);let i=u(e,r);if((await t.promises.lstat(i)).isDirectory())throw Error("Only files can be deleted.");await m(e,i),await t.promises.rm(i,{force:!0})}e.s(["MAX_WORKSPACE_WRITE_BYTES",0,5242880,"deleteWorkspaceFile",0,y,"getWorkspaceDir",0,p,"hasControlChar",0,o,"isCrossOrigin",0,function(e){let t=e.headers.get("host");if(!t)return!0;let r=e.headers.get("sec-fetch-site");if(r)return"same-origin"!==r&&"same-site"!==r&&"none"!==r;let i=e.headers.get("origin");if(!i)return!1;try{return new URL(i).host!==t}catch{return!0}},"isHiddenEntry",0,c,"safeResolve",0,d,"writeWorkspaceFile",0,w,"zipExcludeArgs",0,function(){let e=[".*","*/.*"];for(let t of n)e.push(`${t}/*`,`*/${t}/*`,t,`*/${t}`);for(let t of l)e.push(`*${t}`);return e.flatMap(e=>["-x",e])}])},85678,e=>{"use strict";var t=e.i(522734),r=e.i(446786),i=e.i(814747),a=e.i(254799),s=e.i(17883);function o(e){return e.startsWith("~")?(0,i.join)((0,r.homedir)(),e.slice(1)):(0,i.resolve)(e)}function n(){let e,t=process.env.EVOSCIENTIST_MEMORIES_DIR||process.env.EVOSCIENTIST_MEMORY_DIR;return t&&t.trim()?o(t):(0,i.join)((e=process.env.EVOSCIENTIST_DATA_DIR)&&e.trim()?o(e):(0,i.join)((0,r.homedir)(),".evoscientist"),"memories")}async function l(){try{let e=await t.promises.realpath(n());return(await t.promises.stat(e)).isDirectory()?e:null}catch{return null}}async function c(){let e=n();return await t.promises.mkdir(e,{recursive:!0}),t.promises.realpath(e)}let p=new Set(["__pycache__","node_modules","__MACOSX"]),u=[".pyc",".pyo"];function d(e){return!!(e.startsWith(".")||p.has(e))||u.some(t=>e.endsWith(t))}let h=new Set(["md","markdown","txt","text","json","yaml","yml","csv","tsv","log","tex","bib","rst"]);function m(e){let t;return h.has((t=e.lastIndexOf("."))>=0?e.slice(t+1).toLowerCase():"")}function f(e,t){if((0,s.hasControlChar)(t))throw Error("Invalid path.");let r=t.replaceAll("\\","/").replace(/^\/+/,"");if(!r)throw Error("A file path is required.");if(r.split("/").some(e=>""!==e&&d(e)))throw Error("Path is not accessible.");let a=(0,i.resolve)(e,r);if(a!==e&&!a.startsWith(e+i.sep))throw Error("Path is outside the memory directory.");return a}async function w(e,r){let a,s=f(e,r);try{a=await t.promises.realpath(s)}catch{throw Error("Path is not accessible.")}if(a!==e&&!a.startsWith(e+i.sep))throw Error("Path is not accessible.");let o=(0,i.relative)(e,a);if(o&&o.split(i.sep).some(e=>""!==e&&d(e)))throw Error("Path is not accessible.");return a}async function y(e,r){let a=f(e,r),s=(0,i.dirname)(a);for(;;)try{let r=await t.promises.realpath(s);if(r!==e&&!r.startsWith(e+i.sep))throw Error("Path is outside the memory directory.");break}catch(t){if(t instanceof Error&&t.message.includes("outside"))throw t;let e=(0,i.dirname)(s);if(e===s)break;s=e}return a}async function v(){let e=n(),r=await l();if(!r)return{dir:e,exists:!1,entries:[],truncated:!1};let a=[],s=!1;async function o(e,n){let l;if(n>8||a.length>=2e3){a.length>=2e3&&(s=!0);return}try{l=await t.promises.readdir(e,{withFileTypes:!0})}catch{return}for(let c of(l.sort((e,t)=>e.name.localeCompare(t.name)),l)){if(d(c.name))continue;if(a.length>=2e3){s=!0;return}let l=(0,i.join)(e,c.name);if(c.isDirectory())await o(l,n+1);else if(c.isFile()){let e=0,s=0;try{let r=await t.promises.stat(l);e=r.size,s=r.mtimeMs}catch{continue}a.push({path:(0,i.relative)(r,l).split(i.sep).join("/"),size:e,mtime:s,editable:m(c.name)&&e<=2097152})}}}return await o(r,0),{dir:e,exists:!0,entries:a,truncated:s}}async function E(e){let r=await l();if(!r)throw Error("No memory directory found.");if(!m(e))throw Error("This file type can't be edited.");let i=await w(r,e),a=await t.promises.stat(i);if(!a.isFile())throw Error("Not a file.");if(a.size>2097152)throw Error("This file is too large to open.");let s=await t.promises.readFile(i,"utf-8");return{path:e.replaceAll("\\","/").replace(/^\/+/,""),content:s,size:a.size,mtime:a.mtimeMs}}async function g(e,r){if("string"!=typeof r)throw Error("Content must be a string.");if(Buffer.byteLength(r,"utf-8")>1048576)throw Error("This file is too large to save.");if(!m(e))throw Error("Only text/markdown memory files can be saved.");let s=await c(),o=await y(s,e);await t.promises.mkdir((0,i.dirname)(o),{recursive:!0});let n=`${o}.${(0,a.randomUUID)()}.tmp`;try{await t.promises.writeFile(n,r,{encoding:"utf-8",mode:384}),await t.promises.rename(n,o)}catch(e){throw await t.promises.rm(n,{force:!0}).catch(()=>{}),e}let l=await t.promises.stat(o);return{path:e.replaceAll("\\","/").replace(/^\/+/,""),content:r,size:l.size,mtime:l.mtimeMs}}function x(e){let t=e.match(/^---\r?\n([\s\S]*?)\r?\n---/);return t?t[1]:""}function b(e,t){let r=RegExp(`^${t}:\\s*(.+)`,"m"),i=e.match(r);return i?i[1].trim().replace(/^'(.*)'$/,"$1").replace(/^"(.*)"$/,"$1"):""}function R(e,t){let r=RegExp(`\\b${t}:\\s*(.+)`,"m"),i=e.match(r);return i?i[1].trim().replace(/^'(.*)'$/,"$1").replace(/^"(.*)"$/,"$1"):""}async function C(){let e=await l();if(!e)return{nodes:[],edges:[]};let r=(0,i.join)(e,"observations");try{await t.promises.access(r)}catch{return{nodes:[],edges:[]}}let a=new Map,s=[];async function o(r){let n;try{n=await t.promises.readdir(r,{withFileTypes:!0})}catch{return}for(let l of(n.sort((e,t)=>e.name.localeCompare(t.name)),n)){if(d(l.name))continue;let n=(0,i.join)(r,l.name);if(l.isDirectory())await o(n);else if(l.isFile()&&l.name.endsWith(".md")){let r=await t.promises.readFile(n,"utf-8").catch(()=>null);if(!r)continue;let o=x(r),c=b(o,"id")||l.name.replace(/\.md$/,""),p=b(o,"summary")||c,u=b(o,"memory_type")||"semantic",d=b(o,"scope")||"global",h=b(o,"created_at")||"",m=function(e){let t,r=e.indexOf("related_observations:");if(-1===r)return[];let i=e.slice(r+21),a=[],s=/^- id:\s*(.+)$/gm;for(;null!==(t=s.exec(i));){let e=t.index,r=i.slice(e+1),s=r.match(/^(?:- |[a-z_])/m),o=i.slice(e,e+1+(s?.index??r.length)),n=t[1].trim().replace(/^['"]|['"]$/g,""),l=o.match(/^\s+relation:\s*(.+)$/m),c=l?.[1]?.trim()??"";n&&c&&a.push({id:n,relation:c})}return a}(o),f=(0,i.relative)(e,n).split(i.sep).join("/");for(let e of(a.set(c,{id:c,path:f,summary:p,memory_type:u,scope:d,created_at:h,degree:0}),m))s.push({source:c,target:e.id,relation:e.relation})}}}await o(r);let n=s.filter(e=>a.has(e.source)&&a.has(e.target));for(let e of n)a.get(e.source).degree++,a.get(e.target).degree++;return{nodes:Array.from(a.values()),edges:n}}async function _(){let e=await l();if(!e)return{entries:[],truncated:!1};let r=(0,i.join)(e,"executions");try{await t.promises.access(r)}catch{return{entries:[],truncated:!1}}let a=[],s=!1;async function o(r){let n;if(a.length>=2e3){s=!0;return}try{n=await t.promises.readdir(r,{withFileTypes:!0})}catch{return}for(let s of(n.sort((e,t)=>e.name.localeCompare(t.name)),n)){if(d(s.name))continue;let n=(0,i.join)(r,s.name);if(s.isDirectory())await o(n);else if(s.isFile()&&s.name.endsWith(".md")){let r=await t.promises.readFile(n,"utf-8").catch(()=>null);if(!r)continue;let o=x(r),l=b(o,"id")||s.name.replace(/\.md$/,""),c=b(o,"created_at")||"",p=b(o,"project_id")||"",u=R(o,"agent"),d=R(o,"session_id"),h=r.replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/,"").trim(),m=h.match(/^##\s+Summary\s*\r?\n([\s\S]*?)(?=\n##\s|\s*$)/m),f=m?m[1].trim():h.slice(0,500),w=[...new Set(h.match(/\bO-[0-9a-f]{16}\b/g)??[])];a.push({id:l,created_at:c,agent:u,session_id:d,project_id:p,summary:f,obs_ids:w,path:(0,i.relative)(e,n).split(i.sep).join("/")})}}}return await o(r),a.sort((e,t)=>t.created_at.localeCompare(e.created_at)),{entries:a,truncated:s}}async function S(e){let r=await l();if(!r)throw Error("No memory directory found.");let i=await w(r,e);if(!(await t.promises.stat(i)).isFile())throw Error("Only files can be deleted.");await t.promises.rm(i,{force:!0})}e.s(["deleteMemory",0,S,"listExecutions",0,_,"listMemory",0,v,"listObservations",0,C,"readMemory",0,E,"writeMemory",0,g])},106423,e=>{"use strict";var t=e.i(747909),r=e.i(174017),i=e.i(996250),a=e.i(759756),s=e.i(561916),o=e.i(174677),n=e.i(869741),l=e.i(316795),c=e.i(487718),p=e.i(995169),u=e.i(47587),d=e.i(666012),h=e.i(570101),m=e.i(626937),f=e.i(10372),w=e.i(193695);e.i(52474);var y=e.i(600220),v=e.i(89171),E=e.i(85678),g=e.i(17883);let x={"Cache-Control":"no-store"};async function b(e){try{if((0,g.isCrossOrigin)(e))return v.NextResponse.json({error:"Cross-origin access not allowed."},{status:403,headers:x});return v.NextResponse.json(await (0,E.listObservations)(),{headers:x})}catch(e){return v.NextResponse.json({error:e instanceof Error?e.message:"Failed to load observations."},{status:400,headers:x})}}e.s(["GET",0,b,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],898501);var R=e.i(898501);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/memory/observations/route",pathname:"/api/memory/observations",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/memory/observations/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:_,workUnitAsyncStorage:S,serverHooks:A}=C;async function O(e,t,i){i.requestMeta&&(0,a.setRequestMeta)(e,i.requestMeta),C.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/memory/observations/route";v=v.replace(/\/index$/,"")||"/";let E=await C.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:g,deploymentId:x,params:b,nextConfig:R,parsedUrl:_,isDraftMode:S,prerenderManifest:A,routerServerContext:O,isOnDemandRevalidate:T,revalidateOnlyGenerated:j,resolvedPathname:k,clientReferenceManifest:P,serverActionsManifest:N}=E,I=(0,n.normalizeAppPath)(v),M=!!(A.dynamicRoutes[I]||A.routes[k]),$=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,_,!1):t.end("This page could not be found"),null);if(M&&!S){let e=!!A.routes[k],t=A.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await $();throw new w.NoFallbackError}}let q=null;!M||C.isDev||S||(q="/index"===(q=k)?"/":q);let D=!0===C.isDev||!M,F=M&&!D;N&&P&&(0,o.setManifestsSingleton)({page:v,clientReferenceManifest:P,serverActionsManifest:N});let W=e.method||"GET",U=(0,s.getTracer)(),H=U.getActiveScopeSpan(),z=!!(null==O?void 0:O.isWrappedByNextServer),L=!!(0,a.getRequestMeta)(e,"minimalMode"),K=(0,a.getRequestMeta)(e,"incrementalCache")||await C.getIncrementalCache(e,R,A,L);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let B={params:b,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:D,incrementalCache:K,cacheLifeProfiles:R.cacheLife,waitUntil:i.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,i,a)=>C.onRequestError(e,t,i,a,O)},sharedContext:{buildId:g,deploymentId:x}},V=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),G=c.NextRequestAdapter.fromNodeNextRequest(V,(0,c.signalFromNodeResponse)(t));try{let a,o=async e=>C.handle(G,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=r.get("next.route");if(i){let t=`${W} ${i}`;e.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",i),a.updateName(t))}else e.updateName(`${W} ${v}`)}),n=async a=>{var s,n;let l=async({previousCacheEntry:r})=>{try{if(!L&&T&&j&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(a);e.fetchMetrics=B.renderOpts.fetchMetrics;let n=B.renderOpts.pendingWaitUntil;n&&i.waitUntil&&(i.waitUntil(n),n=void 0);let l=B.renderOpts.collectedTags;if(!M)return await (0,d.sendResponse)(V,X,s,B.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,i=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:i}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:T})},!1,O),t}},c=await C.handleResponse({req:e,nextConfig:R,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:j,responseGenerator:l,waitUntil:i.waitUntil,isMinimalMode:L});if(!M)return null;if((null==c||null==(s=c.value)?void 0:s.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(n=c.value)?void 0:n.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",T?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return L&&M||p.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,m.getCacheControlHeader)(c.cacheControl)),await (0,d.sendResponse)(V,X,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};z&&H?await n(H):(a=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(p.BaseServerSpan.handleRequest,{spanName:`${W} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":W,"http.target":e.url}},n),void 0,!z))}catch(t){if(t instanceof w.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:T})},!1,O),M)throw t;return await (0,d.sendResponse)(V,X,new Response(null,{status:500})),null}}e.s(["handler",0,O,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:S})},"routeModule",0,C,"serverHooks",0,A,"workAsyncStorage",0,_,"workUnitAsyncStorage",0,S],106423)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0vunt~c._.js.map