@evoscientist/webui 0.0.4 → 0.0.6

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 (74) hide show
  1. package/dist/.next/BUILD_ID +1 -1
  2. package/dist/.next/build-manifest.json +3 -3
  3. package/dist/.next/prerender-manifest.json +3 -3
  4. package/dist/.next/server/app/_global-error.html +1 -1
  5. package/dist/.next/server/app/_global-error.rsc +1 -1
  6. package/dist/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/dist/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/dist/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/dist/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/dist/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  12. package/dist/.next/server/app/_not-found.html +1 -1
  13. package/dist/.next/server/app/_not-found.rsc +2 -2
  14. package/dist/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  15. package/dist/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  16. package/dist/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  17. package/dist/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  18. package/dist/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  19. package/dist/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  20. package/dist/.next/server/app/api/memory/route.js +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 +1 -1
  23. package/dist/.next/server/app/api/skills/catalog/route.js.nft.json +1 -1
  24. package/dist/.next/server/app/api/skills/detail/route.js +1 -1
  25. package/dist/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
  26. package/dist/.next/server/app/api/skills/install/route.js +1 -1
  27. package/dist/.next/server/app/api/skills/install/route.js.nft.json +1 -1
  28. package/dist/.next/server/app/api/skills/route.js +1 -1
  29. package/dist/.next/server/app/api/skills/route.js.nft.json +1 -1
  30. package/dist/.next/server/app/api/workspace/download/route.js +1 -1
  31. package/dist/.next/server/app/api/workspace/download/route.js.nft.json +1 -1
  32. package/dist/.next/server/app/api/workspace/file/route.js +2 -1
  33. package/dist/.next/server/app/api/workspace/file/route.js.nft.json +1 -1
  34. package/dist/.next/server/app/api/workspace/route.js +1 -1
  35. package/dist/.next/server/app/api/workspace/route.js.nft.json +1 -1
  36. package/dist/.next/server/app/api/workspace/upload/route.js +1 -1
  37. package/dist/.next/server/app/api/workspace/upload/route.js.nft.json +1 -1
  38. package/dist/.next/server/app/index.html +1 -1
  39. package/dist/.next/server/app/index.rsc +3 -3
  40. package/dist/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  41. package/dist/.next/server/app/index.segments/_full.segment.rsc +3 -3
  42. package/dist/.next/server/app/index.segments/_head.segment.rsc +1 -1
  43. package/dist/.next/server/app/index.segments/_index.segment.rsc +2 -2
  44. package/dist/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  45. package/dist/.next/server/app/page_client-reference-manifest.js +1 -1
  46. package/dist/.next/server/chunks/{[root-of-the-server]__03tck01._.js → [root-of-the-server]__0-8pt0b._.js} +2 -2
  47. package/dist/.next/server/chunks/{[root-of-the-server]__03roqz7._.js → [root-of-the-server]__04y5ms7._.js} +2 -2
  48. package/dist/.next/server/chunks/[root-of-the-server]__08kko28._.js +3 -0
  49. package/dist/.next/server/chunks/[root-of-the-server]__0bpxd~j._.js +3 -0
  50. package/dist/.next/server/chunks/{[root-of-the-server]__0.xy1xu._.js → [root-of-the-server]__0nngqla._.js} +2 -2
  51. package/dist/.next/server/chunks/[root-of-the-server]__0o.c5k_._.js +3 -0
  52. package/dist/.next/server/chunks/{[root-of-the-server]__10402uj._.js → [root-of-the-server]__0pz~0wz._.js} +2 -2
  53. package/dist/.next/server/chunks/[root-of-the-server]__0s0~gzh._.js +3 -0
  54. package/dist/.next/server/chunks/[root-of-the-server]__0xoct7b._.js +3 -0
  55. package/dist/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0qs61ly.js +3 -0
  56. package/dist/.next/server/chunks/ssr/[root-of-the-server]__0wd7vkh._.js +29 -29
  57. package/dist/.next/server/middleware-build-manifest.js +3 -3
  58. package/dist/.next/server/pages/404.html +1 -1
  59. package/dist/.next/server/pages/500.html +1 -1
  60. package/dist/.next/server/server-reference-manifest.js +1 -1
  61. package/dist/.next/server/server-reference-manifest.json +1 -1
  62. package/dist/.next/static/chunks/0u4rd3m0sgeia.css +2 -0
  63. package/dist/.next/static/chunks/{021o.ldg674j_.js → 12_jga0c1hjl7.js} +31 -31
  64. package/dist/package.json +1 -1
  65. package/package.json +1 -1
  66. package/dist/.next/server/chunks/[root-of-the-server]__02gm-06._.js +0 -3
  67. package/dist/.next/server/chunks/[root-of-the-server]__08tq50a._.js +0 -3
  68. package/dist/.next/server/chunks/[root-of-the-server]__0fo0dt2._.js +0 -3
  69. package/dist/.next/server/chunks/[root-of-the-server]__0hlva1f._.js +0 -3
  70. package/dist/.next/server/chunks/[root-of-the-server]__10s5b0x._.js +0 -3
  71. package/dist/.next/static/chunks/0rtb~yzfh_j_f.css +0 -2
  72. /package/dist/.next/static/{u0jrcuiD6X760DQKavNyG → ubNtGy4q-2V41WWn0ys3z}/_buildManifest.js +0 -0
  73. /package/dist/.next/static/{u0jrcuiD6X760DQKavNyG → ubNtGy4q-2V41WWn0ys3z}/_clientMiddlewareManifest.js +0 -0
  74. /package/dist/.next/static/{u0jrcuiD6X760DQKavNyG → ubNtGy4q-2V41WWn0ys3z}/_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":39756,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/layout-router.js":{"id":39756,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/render-from-template-context.js <module evaluation>":{"id":37457,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":37457,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-page.js <module evaluation>":{"id":47257,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-page.js":{"id":47257,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-segment.js <module evaluation>":{"id":92825,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-segment.js":{"id":92825,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js <module evaluation>":{"id":68017,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":68017,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/framework/boundary-components.js <module evaluation>":{"id":97367,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":97367,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js <module evaluation>":{"id":27201,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":27201,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/nuqs/dist/adapters/next/app.js <module evaluation>":{"id":12985,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/nuqs/dist/adapters/next/app.js":{"id":12985,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/src/providers/ThemeProvider.tsx <module evaluation>":{"id":21675,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/src/providers/ThemeProvider.tsx":{"id":21675,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/client/components/builtin/global-error.js <module evaluation>":{"id":68027,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/client/components/builtin/global-error.js":{"id":68027,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/src/app/page.tsx <module evaluation>":{"id":52683,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js","/_next/static/chunks/021o.ldg674j_.js"],"async":false},"[project]/src/app/page.tsx":{"id":52683,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js","/_next/static/chunks/021o.ldg674j_.js"],"async":false}},"ssrModuleMapping":{"39756":{"*":{"id":2420,"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}},"37457":{"*":{"id":24017,"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}},"47257":{"*":{"id":77682,"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":97296,"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}},"68017":{"*":{"id":61660,"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}},"97367":{"*":{"id":90574,"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":60704,"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":38518,"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}},"21675":{"*":{"id":23571,"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}},"68027":{"*":{"id":40622,"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}},"52683":{"*":{"id":40777,"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]__04-lgb_._.js","server/chunks/ssr/[root-of-the-server]__0wd7vkh._.js"],"async":false}}},"edgeSSRModuleMapping":{},"rscModuleMapping":{"39756":{"*":{"id":26768,"name":"*","chunks":[],"async":false}},"37457":{"*":{"id":17910,"name":"*","chunks":[],"async":false}},"47257":{"*":{"id":92977,"name":"*","chunks":[],"async":false}},"92825":{"*":{"id":48552,"name":"*","chunks":[],"async":false}},"68017":{"*":{"id":83919,"name":"*","chunks":[],"async":false}},"97367":{"*":{"id":24150,"name":"*","chunks":[],"async":false}},"27201":{"*":{"id":40771,"name":"*","chunks":[],"async":false}},"12985":{"*":{"id":42144,"name":"*","chunks":[],"async":false}},"21675":{"*":{"id":47283,"name":"*","chunks":[],"async":false}},"68027":{"*":{"id":82509,"name":"*","chunks":[],"async":false}},"52683":{"*":{"id":56983,"name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{},"entryCSSFiles":{"[project]/src/app/layout":[{"path":"static/chunks/0rtb~yzfh_j_f.css","inlined":false}],"[project]/node_modules/next/dist/client/components/builtin/global-error":[{"path":"static/chunks/0rtb~yzfh_j_f.css","inlined":false}],"[project]/src/app/page":[{"path":"static/chunks/0rtb~yzfh_j_f.css","inlined":false}]},"entryJSFiles":{"[project]/src/app/layout":["static/chunks/069oirf3gupp6.js","static/chunks/0lb2ln-m2_o~q.js","static/chunks/0jtueskz-y_9~.js"],"[project]/node_modules/next/dist/client/components/builtin/global-error":["static/chunks/069oirf3gupp6.js","static/chunks/0lb2ln-m2_o~q.js","static/chunks/0jtueskz-y_9~.js"],"[project]/src/app/page":["static/chunks/069oirf3gupp6.js","static/chunks/0lb2ln-m2_o~q.js","static/chunks/0jtueskz-y_9~.js","static/chunks/021o.ldg674j_.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":39756,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/layout-router.js":{"id":39756,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/render-from-template-context.js <module evaluation>":{"id":37457,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":37457,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-page.js <module evaluation>":{"id":47257,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-page.js":{"id":47257,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-segment.js <module evaluation>":{"id":92825,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-segment.js":{"id":92825,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js <module evaluation>":{"id":68017,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":68017,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/framework/boundary-components.js <module evaluation>":{"id":97367,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":97367,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js <module evaluation>":{"id":27201,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":27201,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/nuqs/dist/adapters/next/app.js <module evaluation>":{"id":12985,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/nuqs/dist/adapters/next/app.js":{"id":12985,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/src/providers/ThemeProvider.tsx <module evaluation>":{"id":21675,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/src/providers/ThemeProvider.tsx":{"id":21675,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/client/components/builtin/global-error.js <module evaluation>":{"id":68027,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/node_modules/next/dist/client/components/builtin/global-error.js":{"id":68027,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js"],"async":false},"[project]/src/app/page.tsx <module evaluation>":{"id":52683,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js","/_next/static/chunks/12_jga0c1hjl7.js"],"async":false},"[project]/src/app/page.tsx":{"id":52683,"name":"*","chunks":["/_next/static/chunks/069oirf3gupp6.js","/_next/static/chunks/0lb2ln-m2_o~q.js","/_next/static/chunks/0jtueskz-y_9~.js","/_next/static/chunks/12_jga0c1hjl7.js"],"async":false}},"ssrModuleMapping":{"39756":{"*":{"id":2420,"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}},"37457":{"*":{"id":24017,"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}},"47257":{"*":{"id":77682,"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":97296,"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}},"68017":{"*":{"id":61660,"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}},"97367":{"*":{"id":90574,"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":60704,"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":38518,"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}},"21675":{"*":{"id":23571,"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}},"68027":{"*":{"id":40622,"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}},"52683":{"*":{"id":40777,"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]__04-lgb_._.js","server/chunks/ssr/[root-of-the-server]__0wd7vkh._.js"],"async":false}}},"edgeSSRModuleMapping":{},"rscModuleMapping":{"39756":{"*":{"id":26768,"name":"*","chunks":[],"async":false}},"37457":{"*":{"id":17910,"name":"*","chunks":[],"async":false}},"47257":{"*":{"id":92977,"name":"*","chunks":[],"async":false}},"92825":{"*":{"id":48552,"name":"*","chunks":[],"async":false}},"68017":{"*":{"id":83919,"name":"*","chunks":[],"async":false}},"97367":{"*":{"id":24150,"name":"*","chunks":[],"async":false}},"27201":{"*":{"id":40771,"name":"*","chunks":[],"async":false}},"12985":{"*":{"id":42144,"name":"*","chunks":[],"async":false}},"21675":{"*":{"id":47283,"name":"*","chunks":[],"async":false}},"68027":{"*":{"id":82509,"name":"*","chunks":[],"async":false}},"52683":{"*":{"id":56983,"name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{},"entryCSSFiles":{"[project]/src/app/layout":[{"path":"static/chunks/0u4rd3m0sgeia.css","inlined":false}],"[project]/node_modules/next/dist/client/components/builtin/global-error":[{"path":"static/chunks/0u4rd3m0sgeia.css","inlined":false}],"[project]/src/app/page":[{"path":"static/chunks/0u4rd3m0sgeia.css","inlined":false}]},"entryJSFiles":{"[project]/src/app/layout":["static/chunks/069oirf3gupp6.js","static/chunks/0lb2ln-m2_o~q.js","static/chunks/0jtueskz-y_9~.js"],"[project]/node_modules/next/dist/client/components/builtin/global-error":["static/chunks/069oirf3gupp6.js","static/chunks/0lb2ln-m2_o~q.js","static/chunks/0jtueskz-y_9~.js"],"[project]/src/app/page":["static/chunks/069oirf3gupp6.js","static/chunks/0lb2ln-m2_o~q.js","static/chunks/0jtueskz-y_9~.js","static/chunks/12_jga0c1hjl7.js"]}};
3
3
 
@@ -1,6 +1,6 @@
1
- module.exports=[93695,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},4937,e=>{"use strict";let t;var r=e.i(46786),a=e.i(14747),i=e.i(22734),n=e.i(54799);let s="EvoScientist/EvoSkills",o="main",l="skills/",u=(0,a.join)((t=process.env.EVOSCIENTIST_DATA_DIR)&&t.trim()?t.startsWith("~")?(0,a.join)((0,r.homedir)(),t.slice(1)):(0,a.resolve)(t):(0,a.join)((0,r.homedir)(),".evoscientist"),"skills"),c=[u,(0,a.join)((0,r.homedir)(),".config","evoscientist","skills")],d={Accept:"application/vnd.github+json","User-Agent":"evoscientist-webui"};function p(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 c)try{let r=await i.promises.readFile((0,a.join)(t,e,"SKILL.md"),"utf-8"),n=m(r).version;if(n)return n}catch{}}function v(e,t){return`https://raw.githubusercontent.com/${s}/${e}/${t}`}let g=/^[0-9a-f]{7,40}$/,x=null;async function y(){try{let e=await fetch(`https://api.github.com/repos/${s}/commits/${o}`,{headers:d});if(e.ok){let t=await e.json();if("string"==typeof t.sha&&g.test(t.sha))return t.sha}}catch{}return o}async function R(e=!1){if(!e&&x&&Date.now()-x.at<3e5)return{ref:x.ref,tree:x.tree};let t=await y(),r=await fetch(`https://api.github.com/repos/${s}/git/trees/${t}?recursive=1`,{headers:d});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 a=await r.json();if(!Array.isArray(a.tree))throw Error("Unexpected response from the skills catalog.");return x={at:Date.now(),ref:t,tree:a.tree},{ref:t,tree:a.tree}}function k(){return(0,a.join)(u,".installed.yaml")}async function E(){try{return function(e){let t={},r=null;for(let a of e.split("\n"))if(!(!a.trim()||a.trimStart().startsWith("#"))){if(/^\S/.test(a)){let e=a.match(/^(\S[^:]*?):\s*$/);(r=e?e[1].trim():null)&&(t[r]={source:""})}else if(r){let e=a.match(/^\s+([A-Za-z_]+)\s*:\s*(.+?)\s*$/);if(e){let a=e[2].replace(/^["']|["']$/g,"").trim();"source"===e[1]?t[r].source=a:"commit"===e[1]&&(t[r].commit=a)}}}for(let e of Object.keys(t))t[e].source||delete t[e];return t}(await i.promises.readFile(k(),"utf-8"))}catch{return{}}}async function b(e){let t=k(),r=`${t}.${(0,n.randomUUID)()}.tmp`;await i.promises.mkdir(u,{recursive:!0}),await i.promises.writeFile(r,function(e){let t=Object.keys(e).sort();if(0===t.length)return"{}\n";let r="";for(let a of t)r+=`${a}:
1
+ module.exports=[54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},93695,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},4937,e=>{"use strict";let t;var r=e.i(46786),a=e.i(14747),i=e.i(22734),n=e.i(54799);let s="EvoScientist/EvoSkills",o="main",l="skills/",u=(0,a.join)((t=process.env.EVOSCIENTIST_DATA_DIR)&&t.trim()?t.startsWith("~")?(0,a.join)((0,r.homedir)(),t.slice(1)):(0,a.resolve)(t):(0,a.join)((0,r.homedir)(),".evoscientist"),"skills"),c=[u,(0,a.join)((0,r.homedir)(),".config","evoscientist","skills")],d={Accept:"application/vnd.github+json","User-Agent":"evoscientist-webui"};function p(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 c)try{let r=await i.promises.readFile((0,a.join)(t,e,"SKILL.md"),"utf-8"),n=m(r).version;if(n)return n}catch{}}function v(e,t){return`https://raw.githubusercontent.com/${s}/${e}/${t}`}let g=/^[0-9a-f]{7,40}$/,x=null;async function y(){try{let e=await fetch(`https://api.github.com/repos/${s}/commits/${o}`,{headers:d});if(e.ok){let t=await e.json();if("string"==typeof t.sha&&g.test(t.sha))return t.sha}}catch{}return o}async function R(e=!1){if(!e&&x&&Date.now()-x.at<3e5)return{ref:x.ref,tree:x.tree};let t=await y(),r=await fetch(`https://api.github.com/repos/${s}/git/trees/${t}?recursive=1`,{headers:d});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 a=await r.json();if(!Array.isArray(a.tree))throw Error("Unexpected response from the skills catalog.");return x={at:Date.now(),ref:t,tree:a.tree},{ref:t,tree:a.tree}}function k(){return(0,a.join)(u,".installed.yaml")}async function E(){try{return function(e){let t={},r=null;for(let a of e.split("\n"))if(!(!a.trim()||a.trimStart().startsWith("#"))){if(/^\S/.test(a)){let e=a.match(/^(\S[^:]*?):\s*$/);(r=e?e[1].trim():null)&&(t[r]={source:""})}else if(r){let e=a.match(/^\s+([A-Za-z_]+)\s*:\s*(.+?)\s*$/);if(e){let a=e[2].replace(/^["']|["']$/g,"").trim();"source"===e[1]?t[r].source=a:"commit"===e[1]&&(t[r].commit=a)}}}for(let e of Object.keys(t))t[e].source||delete t[e];return t}(await i.promises.readFile(k(),"utf-8"))}catch{return{}}}async function b(e){let t=k(),r=`${t}.${(0,n.randomUUID)()}.tmp`;await i.promises.mkdir(u,{recursive:!0}),await i.promises.writeFile(r,function(e){let t=Object.keys(e).sort();if(0===t.length)return"{}\n";let r="";for(let a of t)r+=`${a}:
2
2
  `,e[a].commit&&(r+=` commit: ${e[a].commit}
3
3
  `),r+=` source: ${e[a].source}
4
4
  `;return r}(e),{mode:384}),await i.promises.rename(r,t)}async function $(e,t){let r=await E(),a=`${s}@${l}${e}`;r[e]=t?{source:a,commit:t}:{source:a},await b(r)}async function S(e){let t=await E();e in t&&(delete t[e],await b(t))}async function C(){let e=new Set;for(let t of c)try{for(let r of(await i.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},a]=await Promise.all([R(e),C()]),i=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),a=e.indexOf("/");if(a<=0)continue;let i=e.slice(0,a);(t.get(i)??t.set(i,[]).get(i)).push(r)}return t}(r);return(await Promise.all([...i.entries()].map(async([e,r])=>{let i,n=e,s="",o=r.find(t=>t.path===`${l}${e}/SKILL.md`);if(o)try{let r=await fetch(v(t,o.path),{headers:d}).then(e=>e.ok?e.text():""),a=m(r);n=a.name||e,s=a.description||"",i=a.version}catch{}let u=a.has(e),c=u?await w(e):void 0,p=u&&!!i&&!!c&&function(e,t){let r=e.split(".").map(e=>parseInt(e,10)),a=t.split(".").map(e=>parseInt(e,10)),i=Math.max(r.length,a.length);for(let e=0;e<i;e+=1){let t=r[e]??0,i=a[e]??0;if(Number.isNaN(t)||Number.isNaN(i))break;if(t!==i)return t>i?1:-1}return 0}(i,c)>0;return{name:e,title:n,description:s,fileCount:r.length,installed:u,latestVersion:i,installedVersion:c,updateAvailable:p}}))).sort((e,t)=>e.title.localeCompare(t.title))}async function j(e){let t;if(!p(e))throw Error("Invalid skill name.");let r=!1;for(let n of c)try{let s=await i.promises.realpath((0,a.join)(n,e,"SKILL.md")),o=await i.promises.realpath(n);if(s!==o&&!s.startsWith(o+a.sep))continue;t=await i.promises.readFile(s,"utf-8"),r=!0;break}catch{}if(void 0===t){let{ref:r,tree:a}=await R(),i=a.find(t=>"blob"===t.type&&t.path===`${l}${e}/SKILL.md`);if(!i)throw Error(`Skill "${e}" was not found.`);let n=await fetch(v(r,i.path),{headers:d});if(!n.ok)throw Error(`Failed to load skill (${n.status}).`);t=await n.text()}let{frontmatter:n,body:s}=h(t),o=n?f(n):{},u=null!==n&&(null!=o.name||null!=o.description||null!=o.version);return{name:e,title:o.name||e,description:o.description||"",version:o.version,body:u?s:t.trim(),installed:r}}async function N(e){if(!p(e))throw Error("Invalid skill name.");let{ref:t,tree:r}=await R(),s=`${l}${e}/`,c=r.filter(e=>"blob"===e.type&&e.path.startsWith(s));if(0===c.length)throw Error(`Skill "${e}" was not found in the catalog.`);if(c.length>300)throw Error("This skill has too many files to install.");if(c.reduce((e,t)=>e+(t.size??0),0)>0x1900000)throw Error("This skill is too large to install.");let h=(0,a.resolve)(u),f=(0,a.resolve)(h,e);if(f!==(0,a.join)(h,e))throw Error("Invalid skill name.");let m=(0,a.join)(h,`.installing-${e}-${(0,n.randomUUID)()}`);try{for(let e of(await i.promises.mkdir(m,{recursive:!0}),c)){let r=e.path.slice(s.length),n=(0,a.resolve)(m,r);if(n!==m&&!n.startsWith(m+a.sep))throw Error("Invalid file path in skill.");let o=await fetch(v(t,e.path),{headers:d});if(!o.ok)throw Error(`Failed to download ${r} (${o.status}).`);let l=Buffer.from(await o.arrayBuffer());await i.promises.mkdir((0,a.dirname)(n),{recursive:!0}),await i.promises.writeFile(n,l)}await i.promises.rm(f,{recursive:!0,force:!0}),await i.promises.mkdir(h,{recursive:!0}),await i.promises.rename(m,f)}catch(e){throw await i.promises.rm(m,{recursive:!0,force:!0}).catch(()=>{}),e}try{await $(e,t!==o&&g.test(t)?t:null)}catch{}return{files:c.length}}e.s(["SKILL_DIRS",0,c,"getCatalog",0,A,"getSkillDetail",0,j,"installSkill",0,N,"isValidSkillName",0,p,"recordUninstall",0,S])},10900,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),i=e.i(59756),n=e.i(61916),s=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),c=e.i(95169),d=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(74838),m=e.i(10372),w=e.i(93695);e.i(52474);var v=e.i(220),g=e.i(89171),x=e.i(4937);async function y(e){try{let t=e.headers.get("origin");if(t&&t!==e.nextUrl.origin)return g.NextResponse.json({error:"Cross-origin installs are not allowed."},{status:403});let r=await e.json().catch(()=>null),a=r?.name;if("string"!=typeof a||!a)return g.NextResponse.json({error:"Missing skill name."},{status:400});let i=await (0,x.installSkill)(a);return g.NextResponse.json({ok:!0,...i})}catch(e){return g.NextResponse.json({error:e instanceof Error?e.message:"Failed to install skill."},{status:400})}}e.s(["POST",0,y,"runtime",0,"nodejs"],15908);var R=e.i(15908);let k=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:R,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:b,serverHooks:$}=k;async function S(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),k.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/skills/install/route";g=g.replace(/\/index$/,"")||"/";let x=await k.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,deploymentId:R,params:E,nextConfig:b,parsedUrl:$,isDraftMode:S,prerenderManifest:C,routerServerContext:A,isOnDemandRevalidate:j,revalidateOnlyGenerated:N,resolvedPathname:I,clientReferenceManifest:T,serverActionsManifest:q}=x,P=(0,o.normalizeAppPath)(g),_=!!(C.dynamicRoutes[P]||C.routes[I]),O=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,$,!1):t.end("This page could not be found"),null);if(_&&!S){let e=!!C.routes[I],t=C.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await O();throw new w.NoFallbackError}}let U=null;!_||k.isDev||S||(U="/index"===(U=I)?"/":U);let D=!0===k.isDev||!_,H=_&&!D;q&&T&&(0,s.setManifestsSingleton)({page:g,clientReferenceManifest:T,serverActionsManifest:q});let M=e.method||"GET",F=(0,n.getTracer)(),L=F.getActiveScopeSpan(),K=!!(null==A?void 0:A.isWrappedByNextServer),W=!!(0,i.getRequestMeta)(e,"minimalMode"),B=(0,i.getRequestMeta)(e,"incrementalCache")||await k.getIncrementalCache(e,b,C,W);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let z={params:E,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:D,incrementalCache:B,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,i)=>k.onRequestError(e,t,a,i,A)},sharedContext:{buildId:y,deploymentId:R}},G=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),Z=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let i,s=async e=>k.handle(Z,z).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")!==c.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=`${M} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",a),i.updateName(t))}else e.updateName(`${M} ${g}`)}),o=async i=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!W&&j&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await s(i);e.fetchMetrics=z.renderOpts.fetchMetrics;let o=z.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=z.renderOpts.collectedTags;if(!_)return await (0,p.sendResponse)(G,V,n,z.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.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,a=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:z.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.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:g,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:j})},!1,A),t}},u=await k.handleResponse({req:e,nextConfig:b,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:N,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:W});if(!_)return null;if((null==u||null==(n=u.value)?void 0:n.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",j?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return W&&_||c.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(G,V,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};K&&L?await o(L):(i=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(c.BaseServerSpan.handleRequest,{spanName:`${M} ${g}`,kind:n.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},o),void 0,!K))}catch(t){if(t instanceof w.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:j})},!1,A),_)throw t;return await (0,p.sendResponse)(G,V,new Response(null,{status:500})),null}}e.s(["handler",0,S,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:b})},"routeModule",0,k,"serverHooks",0,$,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,b],10900)}];
5
5
 
6
- //# sourceMappingURL=%5Broot-of-the-server%5D__03tck01._.js.map
6
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0-8pt0b._.js.map
@@ -1,6 +1,6 @@
1
- module.exports=[93695,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},4937,e=>{"use strict";let t;var r=e.i(46786),a=e.i(14747),i=e.i(22734),n=e.i(54799);let s="EvoScientist/EvoSkills",o="main",l="skills/",u=(0,a.join)((t=process.env.EVOSCIENTIST_DATA_DIR)&&t.trim()?t.startsWith("~")?(0,a.join)((0,r.homedir)(),t.slice(1)):(0,a.resolve)(t):(0,a.join)((0,r.homedir)(),".evoscientist"),"skills"),c=[u,(0,a.join)((0,r.homedir)(),".config","evoscientist","skills")],d={Accept:"application/vnd.github+json","User-Agent":"evoscientist-webui"};function p(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 c)try{let r=await i.promises.readFile((0,a.join)(t,e,"SKILL.md"),"utf-8"),n=m(r).version;if(n)return n}catch{}}function v(e,t){return`https://raw.githubusercontent.com/${s}/${e}/${t}`}let g=/^[0-9a-f]{7,40}$/,x=null;async function y(){try{let e=await fetch(`https://api.github.com/repos/${s}/commits/${o}`,{headers:d});if(e.ok){let t=await e.json();if("string"==typeof t.sha&&g.test(t.sha))return t.sha}}catch{}return o}async function R(e=!1){if(!e&&x&&Date.now()-x.at<3e5)return{ref:x.ref,tree:x.tree};let t=await y(),r=await fetch(`https://api.github.com/repos/${s}/git/trees/${t}?recursive=1`,{headers:d});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 a=await r.json();if(!Array.isArray(a.tree))throw Error("Unexpected response from the skills catalog.");return x={at:Date.now(),ref:t,tree:a.tree},{ref:t,tree:a.tree}}function E(){return(0,a.join)(u,".installed.yaml")}async function k(){try{return function(e){let t={},r=null;for(let a of e.split("\n"))if(!(!a.trim()||a.trimStart().startsWith("#"))){if(/^\S/.test(a)){let e=a.match(/^(\S[^:]*?):\s*$/);(r=e?e[1].trim():null)&&(t[r]={source:""})}else if(r){let e=a.match(/^\s+([A-Za-z_]+)\s*:\s*(.+?)\s*$/);if(e){let a=e[2].replace(/^["']|["']$/g,"").trim();"source"===e[1]?t[r].source=a:"commit"===e[1]&&(t[r].commit=a)}}}for(let e of Object.keys(t))t[e].source||delete t[e];return t}(await i.promises.readFile(E(),"utf-8"))}catch{return{}}}async function b(e){let t=E(),r=`${t}.${(0,n.randomUUID)()}.tmp`;await i.promises.mkdir(u,{recursive:!0}),await i.promises.writeFile(r,function(e){let t=Object.keys(e).sort();if(0===t.length)return"{}\n";let r="";for(let a of t)r+=`${a}:
1
+ module.exports=[54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},93695,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},4937,e=>{"use strict";let t;var r=e.i(46786),a=e.i(14747),i=e.i(22734),n=e.i(54799);let s="EvoScientist/EvoSkills",o="main",l="skills/",u=(0,a.join)((t=process.env.EVOSCIENTIST_DATA_DIR)&&t.trim()?t.startsWith("~")?(0,a.join)((0,r.homedir)(),t.slice(1)):(0,a.resolve)(t):(0,a.join)((0,r.homedir)(),".evoscientist"),"skills"),c=[u,(0,a.join)((0,r.homedir)(),".config","evoscientist","skills")],d={Accept:"application/vnd.github+json","User-Agent":"evoscientist-webui"};function p(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 c)try{let r=await i.promises.readFile((0,a.join)(t,e,"SKILL.md"),"utf-8"),n=m(r).version;if(n)return n}catch{}}function v(e,t){return`https://raw.githubusercontent.com/${s}/${e}/${t}`}let g=/^[0-9a-f]{7,40}$/,x=null;async function y(){try{let e=await fetch(`https://api.github.com/repos/${s}/commits/${o}`,{headers:d});if(e.ok){let t=await e.json();if("string"==typeof t.sha&&g.test(t.sha))return t.sha}}catch{}return o}async function R(e=!1){if(!e&&x&&Date.now()-x.at<3e5)return{ref:x.ref,tree:x.tree};let t=await y(),r=await fetch(`https://api.github.com/repos/${s}/git/trees/${t}?recursive=1`,{headers:d});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 a=await r.json();if(!Array.isArray(a.tree))throw Error("Unexpected response from the skills catalog.");return x={at:Date.now(),ref:t,tree:a.tree},{ref:t,tree:a.tree}}function E(){return(0,a.join)(u,".installed.yaml")}async function k(){try{return function(e){let t={},r=null;for(let a of e.split("\n"))if(!(!a.trim()||a.trimStart().startsWith("#"))){if(/^\S/.test(a)){let e=a.match(/^(\S[^:]*?):\s*$/);(r=e?e[1].trim():null)&&(t[r]={source:""})}else if(r){let e=a.match(/^\s+([A-Za-z_]+)\s*:\s*(.+?)\s*$/);if(e){let a=e[2].replace(/^["']|["']$/g,"").trim();"source"===e[1]?t[r].source=a:"commit"===e[1]&&(t[r].commit=a)}}}for(let e of Object.keys(t))t[e].source||delete t[e];return t}(await i.promises.readFile(E(),"utf-8"))}catch{return{}}}async function b(e){let t=E(),r=`${t}.${(0,n.randomUUID)()}.tmp`;await i.promises.mkdir(u,{recursive:!0}),await i.promises.writeFile(r,function(e){let t=Object.keys(e).sort();if(0===t.length)return"{}\n";let r="";for(let a of t)r+=`${a}:
2
2
  `,e[a].commit&&(r+=` commit: ${e[a].commit}
3
3
  `),r+=` source: ${e[a].source}
4
4
  `;return r}(e),{mode:384}),await i.promises.rename(r,t)}async function $(e,t){let r=await k(),a=`${s}@${l}${e}`;r[e]=t?{source:a,commit:t}:{source:a},await b(r)}async function S(e){let t=await k();e in t&&(delete t[e],await b(t))}async function C(){let e=new Set;for(let t of c)try{for(let r of(await i.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},a]=await Promise.all([R(e),C()]),i=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),a=e.indexOf("/");if(a<=0)continue;let i=e.slice(0,a);(t.get(i)??t.set(i,[]).get(i)).push(r)}return t}(r);return(await Promise.all([...i.entries()].map(async([e,r])=>{let i,n=e,s="",o=r.find(t=>t.path===`${l}${e}/SKILL.md`);if(o)try{let r=await fetch(v(t,o.path),{headers:d}).then(e=>e.ok?e.text():""),a=m(r);n=a.name||e,s=a.description||"",i=a.version}catch{}let u=a.has(e),c=u?await w(e):void 0,p=u&&!!i&&!!c&&function(e,t){let r=e.split(".").map(e=>parseInt(e,10)),a=t.split(".").map(e=>parseInt(e,10)),i=Math.max(r.length,a.length);for(let e=0;e<i;e+=1){let t=r[e]??0,i=a[e]??0;if(Number.isNaN(t)||Number.isNaN(i))break;if(t!==i)return t>i?1:-1}return 0}(i,c)>0;return{name:e,title:n,description:s,fileCount:r.length,installed:u,latestVersion:i,installedVersion:c,updateAvailable:p}}))).sort((e,t)=>e.title.localeCompare(t.title))}async function N(e){let t;if(!p(e))throw Error("Invalid skill name.");let r=!1;for(let n of c)try{let s=await i.promises.realpath((0,a.join)(n,e,"SKILL.md")),o=await i.promises.realpath(n);if(s!==o&&!s.startsWith(o+a.sep))continue;t=await i.promises.readFile(s,"utf-8"),r=!0;break}catch{}if(void 0===t){let{ref:r,tree:a}=await R(),i=a.find(t=>"blob"===t.type&&t.path===`${l}${e}/SKILL.md`);if(!i)throw Error(`Skill "${e}" was not found.`);let n=await fetch(v(r,i.path),{headers:d});if(!n.ok)throw Error(`Failed to load skill (${n.status}).`);t=await n.text()}let{frontmatter:n,body:s}=h(t),o=n?f(n):{},u=null!==n&&(null!=o.name||null!=o.description||null!=o.version);return{name:e,title:o.name||e,description:o.description||"",version:o.version,body:u?s:t.trim(),installed:r}}async function j(e){if(!p(e))throw Error("Invalid skill name.");let{ref:t,tree:r}=await R(),s=`${l}${e}/`,c=r.filter(e=>"blob"===e.type&&e.path.startsWith(s));if(0===c.length)throw Error(`Skill "${e}" was not found in the catalog.`);if(c.length>300)throw Error("This skill has too many files to install.");if(c.reduce((e,t)=>e+(t.size??0),0)>0x1900000)throw Error("This skill is too large to install.");let h=(0,a.resolve)(u),f=(0,a.resolve)(h,e);if(f!==(0,a.join)(h,e))throw Error("Invalid skill name.");let m=(0,a.join)(h,`.installing-${e}-${(0,n.randomUUID)()}`);try{for(let e of(await i.promises.mkdir(m,{recursive:!0}),c)){let r=e.path.slice(s.length),n=(0,a.resolve)(m,r);if(n!==m&&!n.startsWith(m+a.sep))throw Error("Invalid file path in skill.");let o=await fetch(v(t,e.path),{headers:d});if(!o.ok)throw Error(`Failed to download ${r} (${o.status}).`);let l=Buffer.from(await o.arrayBuffer());await i.promises.mkdir((0,a.dirname)(n),{recursive:!0}),await i.promises.writeFile(n,l)}await i.promises.rm(f,{recursive:!0,force:!0}),await i.promises.mkdir(h,{recursive:!0}),await i.promises.rename(m,f)}catch(e){throw await i.promises.rm(m,{recursive:!0,force:!0}).catch(()=>{}),e}try{await $(e,t!==o&&g.test(t)?t:null)}catch{}return{files:c.length}}e.s(["SKILL_DIRS",0,c,"getCatalog",0,A,"getSkillDetail",0,N,"installSkill",0,j,"isValidSkillName",0,p,"recordUninstall",0,S])},62441,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),i=e.i(59756),n=e.i(61916),s=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),c=e.i(95169),d=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(74838),m=e.i(10372),w=e.i(93695);e.i(52474);var v=e.i(220),g=e.i(89171),x=e.i(4937);async function y(e){try{let t=e.nextUrl.searchParams.get("name");if(!t)return g.NextResponse.json({error:"Missing skill name."},{status:400});let r=await (0,x.getSkillDetail)(t);return g.NextResponse.json(r)}catch(e){return g.NextResponse.json({error:e instanceof Error?e.message:"Failed to load skill detail."},{status:400})}}e.s(["GET",0,y,"runtime",0,"nodejs"],13149);var R=e.i(13149);let E=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/skills/detail/route",pathname:"/api/skills/detail",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/skills/detail/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:k,workUnitAsyncStorage:b,serverHooks:$}=E;async function S(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),E.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/skills/detail/route";g=g.replace(/\/index$/,"")||"/";let x=await E.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,deploymentId:R,params:k,nextConfig:b,parsedUrl:$,isDraftMode:S,prerenderManifest:C,routerServerContext:A,isOnDemandRevalidate:N,revalidateOnlyGenerated:j,resolvedPathname:I,clientReferenceManifest:T,serverActionsManifest:q}=x,P=(0,o.normalizeAppPath)(g),_=!!(C.dynamicRoutes[P]||C.routes[I]),O=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,$,!1):t.end("This page could not be found"),null);if(_&&!S){let e=!!C.routes[I],t=C.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await O();throw new w.NoFallbackError}}let U=null;!_||E.isDev||S||(U="/index"===(U=I)?"/":U);let D=!0===E.isDev||!_,H=_&&!D;q&&T&&(0,s.setManifestsSingleton)({page:g,clientReferenceManifest:T,serverActionsManifest:q});let M=e.method||"GET",F=(0,n.getTracer)(),L=F.getActiveScopeSpan(),K=!!(null==A?void 0:A.isWrappedByNextServer),W=!!(0,i.getRequestMeta)(e,"minimalMode"),B=(0,i.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,b,C,W);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let G={params:k,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:D,incrementalCache:B,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,i)=>E.onRequestError(e,t,a,i,A)},sharedContext:{buildId:y,deploymentId:R}},z=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),Z=u.NextRequestAdapter.fromNodeNextRequest(z,(0,u.signalFromNodeResponse)(t));try{let i,s=async e=>E.handle(Z,G).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")!==c.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=`${M} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",a),i.updateName(t))}else e.updateName(`${M} ${g}`)}),o=async i=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!W&&N&&j&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await s(i);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!_)return await (0,p.sendResponse)(z,V,n,G.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,a=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:N})},!1,A),t}},u=await E.handleResponse({req:e,nextConfig:b,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:j,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:W});if(!_)return null;if((null==u||null==(n=u.value)?void 0:n.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",N?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return W&&_||c.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(z,V,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};K&&L?await o(L):(i=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(c.BaseServerSpan.handleRequest,{spanName:`${M} ${g}`,kind:n.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},o),void 0,!K))}catch(t){if(t instanceof w.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:N})},!1,A),_)throw t;return await (0,p.sendResponse)(z,V,new Response(null,{status:500})),null}}e.s(["handler",0,S,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:b})},"routeModule",0,E,"serverHooks",0,$,"workAsyncStorage",0,k,"workUnitAsyncStorage",0,b],62441)}];
5
5
 
6
- //# sourceMappingURL=%5Broot-of-the-server%5D__03roqz7._.js.map
6
+ //# sourceMappingURL=%5Broot-of-the-server%5D__04y5ms7._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},93695,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},17883,e=>{"use strict";var t=e.i(22734),r=e.i(46786),a=e.i(14747),s=e.i(54799);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])}])},88947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},19789,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),o=e.i(61916),i=e.i(74677),n=e.i(69741),l=e.i(16795),c=e.i(87718),p=e.i(95169),d=e.i(47587),u=e.i(66012),h=e.i(70101),w=e.i(74838),f=e.i(10372),m=e.i(93695);e.i(52474);var x=e.i(220),v=e.i(22734),E=e.i(46786),g=e.i(14747),y=e.i(54799),R=e.i(33405),b=e.i(88947),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"],32771);var S=e.i(32771);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],19789)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__08kko28._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},93695,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},17883,e=>{"use strict";var t=e.i(22734),r=e.i(46786),a=e.i(14747),s=e.i(54799);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])}])},72314,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),i=e.i(61916),n=e.i(74677),o=e.i(69741),l=e.i(16795),c=e.i(87718),p=e.i(95169),d=e.i(47587),u=e.i(66012),h=e.i(70101),f=e.i(74838),m=e.i(10372),w=e.i(93695);e.i(52474);var x=e.i(220),y=e.i(22734),v=e.i(14747),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})}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"],59814);var C=e.i(59814);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,_],72314)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0bpxd~j._.js.map
@@ -1,6 +1,6 @@
1
- module.exports=[93695,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},4937,e=>{"use strict";let t;var r=e.i(46786),a=e.i(14747),i=e.i(22734),n=e.i(54799);let s="EvoScientist/EvoSkills",o="main",l="skills/",c=(0,a.join)((t=process.env.EVOSCIENTIST_DATA_DIR)&&t.trim()?t.startsWith("~")?(0,a.join)((0,r.homedir)(),t.slice(1)):(0,a.resolve)(t):(0,a.join)((0,r.homedir)(),".evoscientist"),"skills"),u=[c,(0,a.join)((0,r.homedir)(),".config","evoscientist","skills")],d={Accept:"application/vnd.github+json","User-Agent":"evoscientist-webui"};function p(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 i.promises.readFile((0,a.join)(t,e,"SKILL.md"),"utf-8"),n=m(r).version;if(n)return n}catch{}}function v(e,t){return`https://raw.githubusercontent.com/${s}/${e}/${t}`}let g=/^[0-9a-f]{7,40}$/,x=null;async function y(){try{let e=await fetch(`https://api.github.com/repos/${s}/commits/${o}`,{headers:d});if(e.ok){let t=await e.json();if("string"==typeof t.sha&&g.test(t.sha))return t.sha}}catch{}return o}async function R(e=!1){if(!e&&x&&Date.now()-x.at<3e5)return{ref:x.ref,tree:x.tree};let t=await y(),r=await fetch(`https://api.github.com/repos/${s}/git/trees/${t}?recursive=1`,{headers:d});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 a=await r.json();if(!Array.isArray(a.tree))throw Error("Unexpected response from the skills catalog.");return x={at:Date.now(),ref:t,tree:a.tree},{ref:t,tree:a.tree}}function E(){return(0,a.join)(c,".installed.yaml")}async function k(){try{return function(e){let t={},r=null;for(let a of e.split("\n"))if(!(!a.trim()||a.trimStart().startsWith("#"))){if(/^\S/.test(a)){let e=a.match(/^(\S[^:]*?):\s*$/);(r=e?e[1].trim():null)&&(t[r]={source:""})}else if(r){let e=a.match(/^\s+([A-Za-z_]+)\s*:\s*(.+?)\s*$/);if(e){let a=e[2].replace(/^["']|["']$/g,"").trim();"source"===e[1]?t[r].source=a:"commit"===e[1]&&(t[r].commit=a)}}}for(let e of Object.keys(t))t[e].source||delete t[e];return t}(await i.promises.readFile(E(),"utf-8"))}catch{return{}}}async function b(e){let t=E(),r=`${t}.${(0,n.randomUUID)()}.tmp`;await i.promises.mkdir(c,{recursive:!0}),await i.promises.writeFile(r,function(e){let t=Object.keys(e).sort();if(0===t.length)return"{}\n";let r="";for(let a of t)r+=`${a}:
1
+ module.exports=[54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},93695,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},4937,e=>{"use strict";let t;var r=e.i(46786),a=e.i(14747),i=e.i(22734),n=e.i(54799);let s="EvoScientist/EvoSkills",o="main",l="skills/",c=(0,a.join)((t=process.env.EVOSCIENTIST_DATA_DIR)&&t.trim()?t.startsWith("~")?(0,a.join)((0,r.homedir)(),t.slice(1)):(0,a.resolve)(t):(0,a.join)((0,r.homedir)(),".evoscientist"),"skills"),u=[c,(0,a.join)((0,r.homedir)(),".config","evoscientist","skills")],d={Accept:"application/vnd.github+json","User-Agent":"evoscientist-webui"};function p(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 i.promises.readFile((0,a.join)(t,e,"SKILL.md"),"utf-8"),n=m(r).version;if(n)return n}catch{}}function v(e,t){return`https://raw.githubusercontent.com/${s}/${e}/${t}`}let g=/^[0-9a-f]{7,40}$/,x=null;async function y(){try{let e=await fetch(`https://api.github.com/repos/${s}/commits/${o}`,{headers:d});if(e.ok){let t=await e.json();if("string"==typeof t.sha&&g.test(t.sha))return t.sha}}catch{}return o}async function R(e=!1){if(!e&&x&&Date.now()-x.at<3e5)return{ref:x.ref,tree:x.tree};let t=await y(),r=await fetch(`https://api.github.com/repos/${s}/git/trees/${t}?recursive=1`,{headers:d});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 a=await r.json();if(!Array.isArray(a.tree))throw Error("Unexpected response from the skills catalog.");return x={at:Date.now(),ref:t,tree:a.tree},{ref:t,tree:a.tree}}function E(){return(0,a.join)(c,".installed.yaml")}async function k(){try{return function(e){let t={},r=null;for(let a of e.split("\n"))if(!(!a.trim()||a.trimStart().startsWith("#"))){if(/^\S/.test(a)){let e=a.match(/^(\S[^:]*?):\s*$/);(r=e?e[1].trim():null)&&(t[r]={source:""})}else if(r){let e=a.match(/^\s+([A-Za-z_]+)\s*:\s*(.+?)\s*$/);if(e){let a=e[2].replace(/^["']|["']$/g,"").trim();"source"===e[1]?t[r].source=a:"commit"===e[1]&&(t[r].commit=a)}}}for(let e of Object.keys(t))t[e].source||delete t[e];return t}(await i.promises.readFile(E(),"utf-8"))}catch{return{}}}async function b(e){let t=E(),r=`${t}.${(0,n.randomUUID)()}.tmp`;await i.promises.mkdir(c,{recursive:!0}),await i.promises.writeFile(r,function(e){let t=Object.keys(e).sort();if(0===t.length)return"{}\n";let r="";for(let a of t)r+=`${a}:
2
2
  `,e[a].commit&&(r+=` commit: ${e[a].commit}
3
3
  `),r+=` source: ${e[a].source}
4
4
  `;return r}(e),{mode:384}),await i.promises.rename(r,t)}async function $(e,t){let r=await k(),a=`${s}@${l}${e}`;r[e]=t?{source:a,commit:t}:{source:a},await b(r)}async function C(e){let t=await k();e in t&&(delete t[e],await b(t))}async function S(){let e=new Set;for(let t of u)try{for(let r of(await i.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},a]=await Promise.all([R(e),S()]),i=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),a=e.indexOf("/");if(a<=0)continue;let i=e.slice(0,a);(t.get(i)??t.set(i,[]).get(i)).push(r)}return t}(r);return(await Promise.all([...i.entries()].map(async([e,r])=>{let i,n=e,s="",o=r.find(t=>t.path===`${l}${e}/SKILL.md`);if(o)try{let r=await fetch(v(t,o.path),{headers:d}).then(e=>e.ok?e.text():""),a=m(r);n=a.name||e,s=a.description||"",i=a.version}catch{}let c=a.has(e),u=c?await w(e):void 0,p=c&&!!i&&!!u&&function(e,t){let r=e.split(".").map(e=>parseInt(e,10)),a=t.split(".").map(e=>parseInt(e,10)),i=Math.max(r.length,a.length);for(let e=0;e<i;e+=1){let t=r[e]??0,i=a[e]??0;if(Number.isNaN(t)||Number.isNaN(i))break;if(t!==i)return t>i?1:-1}return 0}(i,u)>0;return{name:e,title:n,description:s,fileCount:r.length,installed:c,latestVersion:i,installedVersion:u,updateAvailable:p}}))).sort((e,t)=>e.title.localeCompare(t.title))}async function N(e){let t;if(!p(e))throw Error("Invalid skill name.");let r=!1;for(let n of u)try{let s=await i.promises.realpath((0,a.join)(n,e,"SKILL.md")),o=await i.promises.realpath(n);if(s!==o&&!s.startsWith(o+a.sep))continue;t=await i.promises.readFile(s,"utf-8"),r=!0;break}catch{}if(void 0===t){let{ref:r,tree:a}=await R(),i=a.find(t=>"blob"===t.type&&t.path===`${l}${e}/SKILL.md`);if(!i)throw Error(`Skill "${e}" was not found.`);let n=await fetch(v(r,i.path),{headers:d});if(!n.ok)throw Error(`Failed to load skill (${n.status}).`);t=await n.text()}let{frontmatter:n,body:s}=h(t),o=n?f(n):{},c=null!==n&&(null!=o.name||null!=o.description||null!=o.version);return{name:e,title:o.name||e,description:o.description||"",version:o.version,body:c?s:t.trim(),installed:r}}async function j(e){if(!p(e))throw Error("Invalid skill name.");let{ref:t,tree:r}=await R(),s=`${l}${e}/`,u=r.filter(e=>"blob"===e.type&&e.path.startsWith(s));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,a.resolve)(c),f=(0,a.resolve)(h,e);if(f!==(0,a.join)(h,e))throw Error("Invalid skill name.");let m=(0,a.join)(h,`.installing-${e}-${(0,n.randomUUID)()}`);try{for(let e of(await i.promises.mkdir(m,{recursive:!0}),u)){let r=e.path.slice(s.length),n=(0,a.resolve)(m,r);if(n!==m&&!n.startsWith(m+a.sep))throw Error("Invalid file path in skill.");let o=await fetch(v(t,e.path),{headers:d});if(!o.ok)throw Error(`Failed to download ${r} (${o.status}).`);let l=Buffer.from(await o.arrayBuffer());await i.promises.mkdir((0,a.dirname)(n),{recursive:!0}),await i.promises.writeFile(n,l)}await i.promises.rm(f,{recursive:!0,force:!0}),await i.promises.mkdir(h,{recursive:!0}),await i.promises.rename(m,f)}catch(e){throw await i.promises.rm(m,{recursive:!0,force:!0}).catch(()=>{}),e}try{await $(e,t!==o&&g.test(t)?t:null)}catch{}return{files:u.length}}e.s(["SKILL_DIRS",0,u,"getCatalog",0,A,"getSkillDetail",0,N,"installSkill",0,j,"isValidSkillName",0,p,"recordUninstall",0,C])},63384,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),i=e.i(59756),n=e.i(61916),s=e.i(74677),o=e.i(69741),l=e.i(16795),c=e.i(87718),u=e.i(95169),d=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(74838),m=e.i(10372),w=e.i(93695);e.i(52474);var v=e.i(220),g=e.i(89171),x=e.i(4937);async function y(e){try{let t="1"===e.nextUrl.searchParams.get("refresh"),r=await (0,x.getCatalog)(t);return g.NextResponse.json({skills:r})}catch(e){return g.NextResponse.json({error:e instanceof Error?e.message:"Failed to load the skills catalog."},{status:502})}}e.s(["GET",0,y,"runtime",0,"nodejs"],54032);var R=e.i(54032);let E=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/skills/catalog/route",pathname:"/api/skills/catalog",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/skills/catalog/route.ts",nextConfigOutput:"standalone",userland:R,...{}}),{workAsyncStorage:k,workUnitAsyncStorage:b,serverHooks:$}=E;async function C(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),E.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/skills/catalog/route";g=g.replace(/\/index$/,"")||"/";let x=await E.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,deploymentId:R,params:k,nextConfig:b,parsedUrl:$,isDraftMode:C,prerenderManifest:S,routerServerContext:A,isOnDemandRevalidate:N,revalidateOnlyGenerated:j,resolvedPathname:I,clientReferenceManifest:T,serverActionsManifest:q}=x,P=(0,o.normalizeAppPath)(g),_=!!(S.dynamicRoutes[P]||S.routes[I]),O=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,$,!1):t.end("This page could not be found"),null);if(_&&!C){let e=!!S.routes[I],t=S.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await O();throw new w.NoFallbackError}}let U=null;!_||E.isDev||C||(U="/index"===(U=I)?"/":U);let D=!0===E.isDev||!_,H=_&&!D;q&&T&&(0,s.setManifestsSingleton)({page:g,clientReferenceManifest:T,serverActionsManifest:q});let F=e.method||"GET",M=(0,n.getTracer)(),L=M.getActiveScopeSpan(),K=!!(null==A?void 0:A.isWrappedByNextServer),W=!!(0,i.getRequestMeta)(e,"minimalMode"),B=(0,i.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,b,S,W);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let G={params:k,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:D,incrementalCache:B,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,i)=>E.onRequestError(e,t,a,i,A)},sharedContext:{buildId:y,deploymentId:R}},z=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),Z=c.NextRequestAdapter.fromNodeNextRequest(z,(0,c.signalFromNodeResponse)(t));try{let i,s=async e=>E.handle(Z,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.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 a=r.get("next.route");if(a){let t=`${F} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",a),i.updateName(t))}else e.updateName(`${F} ${g}`)}),o=async i=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!W&&N&&j&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await s(i);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!_)return await (0,p.sendResponse)(z,V,n,G.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,a=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:N})},!1,A),t}},c=await E.handleResponse({req:e,nextConfig:b,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:j,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:W});if(!_)return null;if((null==c||null==(n=c.value)?void 0:n.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});W||t.setHeader("x-nextjs-cache",N?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return W&&_||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,p.sendResponse)(z,V,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};K&&L?await o(L):(i=M.getActiveScopeSpan(),await M.withPropagatedContext(e.headers,()=>M.trace(u.BaseServerSpan.handleRequest,{spanName:`${F} ${g}`,kind:n.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},o),void 0,!K))}catch(t){if(t instanceof w.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:N})},!1,A),_)throw t;return await (0,p.sendResponse)(z,V,new Response(null,{status:500})),null}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:b})},"routeModule",0,E,"serverHooks",0,$,"workAsyncStorage",0,k,"workUnitAsyncStorage",0,b],63384)}];
5
5
 
6
- //# sourceMappingURL=%5Broot-of-the-server%5D__0.xy1xu._.js.map
6
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0nngqla._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[54799,(e,r,t)=>{r.exports=e.x("crypto",()=>require("crypto"))},93695,(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"))},14747,(e,r,t)=>{r.exports=e.x("path",()=>require("path"))},18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},70406,(e,r,t)=>{r.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},22734,(e,r,t)=>{r.exports=e.x("fs",()=>require("fs"))},46786,(e,r,t)=>{r.exports=e.x("os",()=>require("os"))},17883,e=>{"use strict";var r=e.i(22734),t=e.i(46786),s=e.i(14747),i=e.i(54799);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])}])},88947,(e,r,t)=>{r.exports=e.x("stream",()=>require("stream"))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0o.c5k_._.js.map
@@ -1,6 +1,6 @@
1
- module.exports=[93695,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},4937,e=>{"use strict";let t;var r=e.i(46786),a=e.i(14747),i=e.i(22734),n=e.i(54799);let s="EvoScientist/EvoSkills",o="main",l="skills/",c=(0,a.join)((t=process.env.EVOSCIENTIST_DATA_DIR)&&t.trim()?t.startsWith("~")?(0,a.join)((0,r.homedir)(),t.slice(1)):(0,a.resolve)(t):(0,a.join)((0,r.homedir)(),".evoscientist"),"skills"),u=[c,(0,a.join)((0,r.homedir)(),".config","evoscientist","skills")],d={Accept:"application/vnd.github+json","User-Agent":"evoscientist-webui"};function p(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 i.promises.readFile((0,a.join)(t,e,"SKILL.md"),"utf-8"),n=m(r).version;if(n)return n}catch{}}function v(e,t){return`https://raw.githubusercontent.com/${s}/${e}/${t}`}let x=/^[0-9a-f]{7,40}$/,g=null;async function y(){try{let e=await fetch(`https://api.github.com/repos/${s}/commits/${o}`,{headers:d});if(e.ok){let t=await e.json();if("string"==typeof t.sha&&x.test(t.sha))return t.sha}}catch{}return o}async function R(e=!1){if(!e&&g&&Date.now()-g.at<3e5)return{ref:g.ref,tree:g.tree};let t=await y(),r=await fetch(`https://api.github.com/repos/${s}/git/trees/${t}?recursive=1`,{headers:d});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 a=await r.json();if(!Array.isArray(a.tree))throw Error("Unexpected response from the skills catalog.");return g={at:Date.now(),ref:t,tree:a.tree},{ref:t,tree:a.tree}}function E(){return(0,a.join)(c,".installed.yaml")}async function k(){try{return function(e){let t={},r=null;for(let a of e.split("\n"))if(!(!a.trim()||a.trimStart().startsWith("#"))){if(/^\S/.test(a)){let e=a.match(/^(\S[^:]*?):\s*$/);(r=e?e[1].trim():null)&&(t[r]={source:""})}else if(r){let e=a.match(/^\s+([A-Za-z_]+)\s*:\s*(.+?)\s*$/);if(e){let a=e[2].replace(/^["']|["']$/g,"").trim();"source"===e[1]?t[r].source=a:"commit"===e[1]&&(t[r].commit=a)}}}for(let e of Object.keys(t))t[e].source||delete t[e];return t}(await i.promises.readFile(E(),"utf-8"))}catch{return{}}}async function $(e){let t=E(),r=`${t}.${(0,n.randomUUID)()}.tmp`;await i.promises.mkdir(c,{recursive:!0}),await i.promises.writeFile(r,function(e){let t=Object.keys(e).sort();if(0===t.length)return"{}\n";let r="";for(let a of t)r+=`${a}:
1
+ module.exports=[54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},93695,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},4937,e=>{"use strict";let t;var r=e.i(46786),a=e.i(14747),i=e.i(22734),n=e.i(54799);let s="EvoScientist/EvoSkills",o="main",l="skills/",c=(0,a.join)((t=process.env.EVOSCIENTIST_DATA_DIR)&&t.trim()?t.startsWith("~")?(0,a.join)((0,r.homedir)(),t.slice(1)):(0,a.resolve)(t):(0,a.join)((0,r.homedir)(),".evoscientist"),"skills"),u=[c,(0,a.join)((0,r.homedir)(),".config","evoscientist","skills")],d={Accept:"application/vnd.github+json","User-Agent":"evoscientist-webui"};function p(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 i.promises.readFile((0,a.join)(t,e,"SKILL.md"),"utf-8"),n=m(r).version;if(n)return n}catch{}}function v(e,t){return`https://raw.githubusercontent.com/${s}/${e}/${t}`}let x=/^[0-9a-f]{7,40}$/,g=null;async function y(){try{let e=await fetch(`https://api.github.com/repos/${s}/commits/${o}`,{headers:d});if(e.ok){let t=await e.json();if("string"==typeof t.sha&&x.test(t.sha))return t.sha}}catch{}return o}async function R(e=!1){if(!e&&g&&Date.now()-g.at<3e5)return{ref:g.ref,tree:g.tree};let t=await y(),r=await fetch(`https://api.github.com/repos/${s}/git/trees/${t}?recursive=1`,{headers:d});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 a=await r.json();if(!Array.isArray(a.tree))throw Error("Unexpected response from the skills catalog.");return g={at:Date.now(),ref:t,tree:a.tree},{ref:t,tree:a.tree}}function E(){return(0,a.join)(c,".installed.yaml")}async function k(){try{return function(e){let t={},r=null;for(let a of e.split("\n"))if(!(!a.trim()||a.trimStart().startsWith("#"))){if(/^\S/.test(a)){let e=a.match(/^(\S[^:]*?):\s*$/);(r=e?e[1].trim():null)&&(t[r]={source:""})}else if(r){let e=a.match(/^\s+([A-Za-z_]+)\s*:\s*(.+?)\s*$/);if(e){let a=e[2].replace(/^["']|["']$/g,"").trim();"source"===e[1]?t[r].source=a:"commit"===e[1]&&(t[r].commit=a)}}}for(let e of Object.keys(t))t[e].source||delete t[e];return t}(await i.promises.readFile(E(),"utf-8"))}catch{return{}}}async function $(e){let t=E(),r=`${t}.${(0,n.randomUUID)()}.tmp`;await i.promises.mkdir(c,{recursive:!0}),await i.promises.writeFile(r,function(e){let t=Object.keys(e).sort();if(0===t.length)return"{}\n";let r="";for(let a of t)r+=`${a}:
2
2
  `,e[a].commit&&(r+=` commit: ${e[a].commit}
3
3
  `),r+=` source: ${e[a].source}
4
4
  `;return r}(e),{mode:384}),await i.promises.rename(r,t)}async function b(e,t){let r=await k(),a=`${s}@${l}${e}`;r[e]=t?{source:a,commit:t}:{source:a},await $(r)}async function S(e){let t=await k();e in t&&(delete t[e],await $(t))}async function C(){let e=new Set;for(let t of u)try{for(let r of(await i.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},a]=await Promise.all([R(e),C()]),i=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),a=e.indexOf("/");if(a<=0)continue;let i=e.slice(0,a);(t.get(i)??t.set(i,[]).get(i)).push(r)}return t}(r);return(await Promise.all([...i.entries()].map(async([e,r])=>{let i,n=e,s="",o=r.find(t=>t.path===`${l}${e}/SKILL.md`);if(o)try{let r=await fetch(v(t,o.path),{headers:d}).then(e=>e.ok?e.text():""),a=m(r);n=a.name||e,s=a.description||"",i=a.version}catch{}let c=a.has(e),u=c?await w(e):void 0,p=c&&!!i&&!!u&&function(e,t){let r=e.split(".").map(e=>parseInt(e,10)),a=t.split(".").map(e=>parseInt(e,10)),i=Math.max(r.length,a.length);for(let e=0;e<i;e+=1){let t=r[e]??0,i=a[e]??0;if(Number.isNaN(t)||Number.isNaN(i))break;if(t!==i)return t>i?1:-1}return 0}(i,u)>0;return{name:e,title:n,description:s,fileCount:r.length,installed:c,latestVersion:i,installedVersion:u,updateAvailable:p}}))).sort((e,t)=>e.title.localeCompare(t.title))}async function j(e){let t;if(!p(e))throw Error("Invalid skill name.");let r=!1;for(let n of u)try{let s=await i.promises.realpath((0,a.join)(n,e,"SKILL.md")),o=await i.promises.realpath(n);if(s!==o&&!s.startsWith(o+a.sep))continue;t=await i.promises.readFile(s,"utf-8"),r=!0;break}catch{}if(void 0===t){let{ref:r,tree:a}=await R(),i=a.find(t=>"blob"===t.type&&t.path===`${l}${e}/SKILL.md`);if(!i)throw Error(`Skill "${e}" was not found.`);let n=await fetch(v(r,i.path),{headers:d});if(!n.ok)throw Error(`Failed to load skill (${n.status}).`);t=await n.text()}let{frontmatter:n,body:s}=h(t),o=n?f(n):{},c=null!==n&&(null!=o.name||null!=o.description||null!=o.version);return{name:e,title:o.name||e,description:o.description||"",version:o.version,body:c?s:t.trim(),installed:r}}async function I(e){if(!p(e))throw Error("Invalid skill name.");let{ref:t,tree:r}=await R(),s=`${l}${e}/`,u=r.filter(e=>"blob"===e.type&&e.path.startsWith(s));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,a.resolve)(c),f=(0,a.resolve)(h,e);if(f!==(0,a.join)(h,e))throw Error("Invalid skill name.");let m=(0,a.join)(h,`.installing-${e}-${(0,n.randomUUID)()}`);try{for(let e of(await i.promises.mkdir(m,{recursive:!0}),u)){let r=e.path.slice(s.length),n=(0,a.resolve)(m,r);if(n!==m&&!n.startsWith(m+a.sep))throw Error("Invalid file path in skill.");let o=await fetch(v(t,e.path),{headers:d});if(!o.ok)throw Error(`Failed to download ${r} (${o.status}).`);let l=Buffer.from(await o.arrayBuffer());await i.promises.mkdir((0,a.dirname)(n),{recursive:!0}),await i.promises.writeFile(n,l)}await i.promises.rm(f,{recursive:!0,force:!0}),await i.promises.mkdir(h,{recursive:!0}),await i.promises.rename(m,f)}catch(e){throw await i.promises.rm(m,{recursive:!0,force:!0}).catch(()=>{}),e}try{await b(e,t!==o&&x.test(t)?t:null)}catch{}return{files:u.length}}e.s(["SKILL_DIRS",0,u,"getCatalog",0,A,"getSkillDetail",0,j,"installSkill",0,I,"isValidSkillName",0,p,"recordUninstall",0,S])},87542,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),i=e.i(59756),n=e.i(61916),s=e.i(74677),o=e.i(69741),l=e.i(16795),c=e.i(87718),u=e.i(95169),d=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(74838),m=e.i(10372),w=e.i(93695);e.i(52474);var v=e.i(220),x=e.i(89171),g=e.i(14747),y=e.i(22734),R=e.i(4937);async function E(){let e=[],t=new Set;for(let r of R.SKILL_DIRS){let a,i=[];try{i=await y.promises.readdir(r),a=await y.promises.realpath(r)}catch{continue}for(let n of i){if(n.startsWith("."))continue;let i=(0,g.join)(r,n);try{let r=await y.promises.realpath(i);if(r!==a&&!r.startsWith(a+g.sep)||!(await y.promises.stat(r)).isDirectory())continue;let s=await y.promises.readFile((0,g.join)(r,"SKILL.md"),"utf-8"),{name:o,description:l}=function(e){let t=e.match(/^---\s*\n([\s\S]*?)\n---/);if(!t)return{};let r=t[1],a=e=>{let t=r.match(RegExp(`^${e}\\s*:\\s*(.+?)\\s*$`,"m"));if(t)return t[1].replace(/^["']|["']$/g,"").trim()};return{name:a("name"),description:a("description")}}(s);if(t.has(n))continue;t.add(n),e.push({name:n,title:o||n,description:l||"",dir:i})}catch{}}}return e.sort((e,t)=>e.name.localeCompare(t.name))}async function k(){try{let e=await E();return x.NextResponse.json({skills:e})}catch(e){return x.NextResponse.json({error:e instanceof Error?e.message:"Failed to read skills"},{status:500})}}async function $(e){let t=e.nextUrl.searchParams.get("name");if(!t||!(0,R.isValidSkillName)(t))return x.NextResponse.json({error:"Invalid skill name"},{status:400});for(let e of R.SKILL_DIRS){let r=(0,g.resolve)((0,g.join)(e,t));if(r===(0,g.resolve)(e)||r.startsWith((0,g.resolve)(e)+g.sep)){try{if(!(await y.promises.stat(r)).isDirectory())continue}catch{continue}return await y.promises.rm(r,{recursive:!0,force:!0}),await (0,R.recordUninstall)(t).catch(()=>{}),x.NextResponse.json({ok:!0})}}return x.NextResponse.json({error:"Skill not found"},{status:404})}e.s(["DELETE",0,$,"GET",0,k],56042);var b=e.i(56042);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/skills/route",pathname:"/api/skills",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/skills/route.ts",nextConfigOutput:"standalone",userland:b,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:A,serverHooks:j}=S;async function I(e,t,a){a.requestMeta&&(0,i.setRequestMeta)(e,a.requestMeta),S.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/skills/route";x=x.replace(/\/index$/,"")||"/";let g=await S.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,deploymentId:R,params:E,nextConfig:k,parsedUrl:$,isDraftMode:b,prerenderManifest:C,routerServerContext:A,isOnDemandRevalidate:j,revalidateOnlyGenerated:I,resolvedPathname:N,clientReferenceManifest:T,serverActionsManifest:_}=g,q=(0,o.normalizeAppPath)(x),D=!!(C.dynamicRoutes[q]||C.routes[N]),P=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,$,!1):t.end("This page could not be found"),null);if(D&&!b){let e=!!C.routes[N],t=C.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(k.adapterPath)return await P();throw new w.NoFallbackError}}let O=null;!D||S.isDev||b||(O="/index"===(O=N)?"/":O);let U=!0===S.isDev||!D,L=D&&!U;_&&T&&(0,s.setManifestsSingleton)({page:x,clientReferenceManifest:T,serverActionsManifest:_});let H=e.method||"GET",F=(0,n.getTracer)(),M=F.getActiveScopeSpan(),K=!!(null==A?void 0:A.isWrappedByNextServer),W=!!(0,i.getRequestMeta)(e,"minimalMode"),B=(0,i.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,k,C,W);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let G={params:E,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:U,incrementalCache:B,cacheLifeProfiles:k.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,i)=>S.onRequestError(e,t,a,i,A)},sharedContext:{buildId:y,deploymentId:R}},V=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),Z=c.NextRequestAdapter.fromNodeNextRequest(V,(0,c.signalFromNodeResponse)(t));try{let i,s=async e=>S.handle(Z,G).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")!==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 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),i&&i!==e&&(i.setAttribute("http.route",a),i.updateName(t))}else e.updateName(`${H} ${x}`)}),o=async i=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!W&&j&&I&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await s(i);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(V,z,n,G.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,a=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:j})},!1,A),t}},c=await S.handleResponse({req:e,nextConfig:k,cacheKey:O,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:I,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:W});if(!D)return null;if((null==c||null==(n=c.value)?void 0:n.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});W||t.setHeader("x-nextjs-cache",j?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return W&&D||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,p.sendResponse)(V,z,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};K&&M?await o(M):(i=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${H} ${x}`,kind:n.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},o),void 0,!K))}catch(t){if(t instanceof w.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:j})},!1,A),D)throw t;return await (0,p.sendResponse)(V,z,new Response(null,{status:500})),null}}e.s(["handler",0,I,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:A})},"routeModule",0,S,"serverHooks",0,j,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,A],87542)}];
5
5
 
6
- //# sourceMappingURL=%5Broot-of-the-server%5D__10402uj._.js.map
6
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0pz~0wz._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},93695,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},17883,e=>{"use strict";var t=e.i(22734),r=e.i(46786),s=e.i(14747),i=e.i(54799);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 x(e){let t;return f.has((t=e.lastIndexOf("."))>=0?e.slice(t+1).toLowerCase():"")}async function m(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(!x(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(!x((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("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,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])}])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0s0~gzh._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},93695,(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"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},17883,e=>{"use strict";var t=e.i(22734),r=e.i(46786),a=e.i(14747),s=e.i(54799);let i=(0,a.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(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(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 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 o=(0,a.relative)(e,s);if(o&&o.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 w(e){let t;return h.has((t=e.lastIndexOf("."))>=0?e.slice(t+1).toLowerCase():"")}async function m(e,r,i){let o;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(!w(r.replaceAll("\\","/").split("/").pop()||r))throw Error("Only text/code files can be edited.");let n=d(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 u(e,r);if(!w((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,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,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])}])},95431,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),i=e.i(61916),o=e.i(74677),n=e.i(69741),l=e.i(16795),c=e.i(87718),p=e.i(95169),d=e.i(47587),u=e.i(66012),h=e.i(70101),f=e.i(74838),w=e.i(10372),m=e.i(93695);e.i(52474);var x=e.i(220),g=e.i(22734),v=e.i(14747),E=e.i(89171),y=e.i(17883);async function R(e,t,r){for(let a=1;;a+=1){let s=1===a?t:function(e,t){let r=e.lastIndexOf("."),a=r>0?e.slice(0,r):e,s=r>0?e.slice(r):"";return`${a} (${t})${s}`}(t,a),i=(0,v.resolve)(e,s);if((0,v.dirname)(i)!==e)throw Error("Invalid file path.");try{return await g.promises.writeFile(i,r,{flag:"wx"}),s}catch(e){if("EEXIST"!==e.code)throw e}}}async function b(e){try{let t=e.headers.get("origin");if(t&&t!==e.nextUrl.origin)return E.NextResponse.json({error:"Cross-origin workspace uploads are not allowed."},{status:403});let r=Number(e.headers.get("content-length")??"");if(Number.isFinite(r)&&r>0x6500000)return E.NextResponse.json({error:"The selected files exceed the 100 MB upload limit."},{status:413});let a=(await e.formData()).getAll("files").filter(e=>"string"!=typeof e);if(0===a.length)return E.NextResponse.json({error:"Choose at least one file to upload."},{status:400});if(a.length>20)return E.NextResponse.json({error:"Upload at most 20 files at a time."},{status:400});let s=0,i=a.map(e=>{if(e.size>0x3200000)throw Error(`${e.name} is larger than the 50 MB upload limit.`);if((s+=e.size)>0x6400000)throw Error("The selected files exceed the 100 MB upload limit.");return{file:e,fileName:function(e){let t=(0,v.basename)(e.replaceAll("\\","/")).trim();if(!t||"."===t||".."===t||(0,y.hasControlChar)(t))throw Error("Invalid file name.");return t}(e.name)}}),o=await (0,y.getWorkspaceDir)(),n=[],l=[];try{for(let{file:e,fileName:t}of i){let r=await R(o,t,new Uint8Array(await e.arrayBuffer()));l.push((0,v.resolve)(o,r)),n.push({name:r,path:`/${r}`,size:e.size})}}catch(e){throw await Promise.allSettled(l.map(e=>g.promises.rm(e,{force:!0}))),e}return E.NextResponse.json({files:n})}catch(e){return E.NextResponse.json({error:e instanceof Error?e.message:"Failed to upload files."},{status:400})}}e.s(["POST",0,b,"runtime",0,"nodejs"],64104);var C=e.i(64104);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/workspace/upload/route",pathname:"/api/workspace/upload",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/workspace/upload/route.ts",nextConfigOutput:"standalone",userland:C,...{}}),{workAsyncStorage:k,workUnitAsyncStorage:S,serverHooks:_}=A;async function N(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),A.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/workspace/upload/route";g=g.replace(/\/index$/,"")||"/";let v=await A.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:E,deploymentId:y,params:R,nextConfig:b,parsedUrl:C,isDraftMode:k,prerenderManifest:S,routerServerContext:_,isOnDemandRevalidate:N,revalidateOnlyGenerated:P,resolvedPathname:O,clientReferenceManifest:T,serverActionsManifest:j}=v,q=(0,n.normalizeAppPath)(g),I=!!(S.dynamicRoutes[q]||S.routes[O]),M=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,C,!1):t.end("This page could not be found"),null);if(I&&!k){let e=!!S.routes[O],t=S.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await M();throw new m.NoFallbackError}}let U=null;!I||A.isDev||k||(U="/index"===(U=O)?"/":U);let D=!0===A.isDev||!I,$=I&&!D;j&&T&&(0,o.setManifestsSingleton)({page:g,clientReferenceManifest:T,serverActionsManifest:j});let H=e.method||"GET",F=(0,i.getTracer)(),W=F.getActiveScopeSpan(),B=!!(null==_?void 0:_.isWrappedByNextServer),K=!!(0,s.getRequestMeta)(e,"minimalMode"),z=(0,s.getRequestMeta)(e,"incrementalCache")||await A.getIncrementalCache(e,b,S,K);null==z||z.resetRequestCache(),globalThis.__incrementalCache=z;let L={params:R,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:D,incrementalCache:z,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>A.onRequestError(e,t,a,s,_)},sharedContext:{buildId:E,deploymentId:y}},X=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),G=c.NextRequestAdapter.fromNodeNextRequest(X,(0,c.signalFromNodeResponse)(t));try{let s,o=async e=>A.handle(G,L).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} ${g}`)}),n=async s=>{var i,n;let l=async({previousCacheEntry:r})=>{try{if(!K&&N&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await o(s);e.fetchMetrics=L.renderOpts.fetchMetrics;let n=L.renderOpts.pendingWaitUntil;n&&a.waitUntil&&(a.waitUntil(n),n=void 0);let l=L.renderOpts.collectedTags;if(!I)return await (0,u.sendResponse)(X,V,i,L.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[w.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=w.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,a=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=w.INFINITE_CACHE?void 0:L.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 A.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:N})},!1,_),t}},c=await A.handleResponse({req:e,nextConfig:b,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:P,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:K});if(!I)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==(n=c.value)?void 0:n.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",N?"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 K&&I||p.delete(w.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,V,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};B&&W?await n(W):(s=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(p.BaseServerSpan.handleRequest,{spanName:`${H} ${g}`,kind:i.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},n),void 0,!B))}catch(t){if(t instanceof m.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:N})},!1,_),I)throw t;return await (0,u.sendResponse)(X,V,new Response(null,{status:500})),null}}e.s(["handler",0,N,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:S})},"routeModule",0,A,"serverHooks",0,_,"workAsyncStorage",0,k,"workUnitAsyncStorage",0,S],95431)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0xoct7b._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[16851,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),c=e.i(95169),p=e.i(47587),d=e.i(66012),h=e.i(70101),f=e.i(74838),g=e.i(10372),R=e.i(93695);e.i(52474);var x=e.i(220),m=e.i(22734),w=e.i(14747),v=e.i(88947),C=e.i(89171),E=e.i(17883);let y={txt:"text/plain; charset=utf-8",md:"text/markdown; charset=utf-8",log:"text/plain; charset=utf-8",csv:"text/csv; charset=utf-8",tsv:"text/tab-separated-values; charset=utf-8",json:"application/json; charset=utf-8",py:"text/plain; charset=utf-8",js:"text/plain; charset=utf-8",ts:"text/plain; charset=utf-8",tsx:"text/plain; charset=utf-8",sh:"text/plain; charset=utf-8",yaml:"text/plain; charset=utf-8",yml:"text/plain; charset=utf-8",toml:"text/plain; charset=utf-8",tex:"text/plain; charset=utf-8",bib:"text/plain; charset=utf-8",html:"text/plain; charset=utf-8",css:"text/plain; charset=utf-8",xml:"text/plain; charset=utf-8",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",bmp:"image/bmp",pdf:"application/pdf"};async function N(e){try{var t;let r,a;if((0,E.isCrossOrigin)(e))return C.NextResponse.json({error:"Cross-origin workspace access is not allowed."},{status:403});let n=e.nextUrl.searchParams.get("path");if(!n)return C.NextResponse.json({error:"Missing path."},{status:400});let s="1"===e.nextUrl.searchParams.get("download"),o=await (0,E.getWorkspaceDir)(),i=await (0,E.safeResolve)(o,n),l=await m.promises.stat(i);if(!l.isFile())return C.NextResponse.json({error:"Not a file."},{status:400});let u=y[(0,w.extname)(i).slice(1).toLowerCase()]??"application/octet-stream",c=(0,m.createReadStream)(i),p=v.Readable.toWeb(c),d=(0,w.basename)(i);return new C.NextResponse(p,{headers:{"Content-Type":u,"Content-Length":String(l.size),"Content-Disposition":(t=s||"application/octet-stream"===u,r=d.replace(/[^\x20-\x7e]/g,"_").replace(/["\\]/g,"_"),a=encodeURIComponent(d).replace(/['()*]/g,e=>"%"+e.charCodeAt(0).toString(16).toUpperCase()),`${t?"attachment":"inline"}; filename="${r}"; filename*=UTF-8''${a}`),"Content-Security-Policy":"sandbox","X-Content-Type-Options":"nosniff","Cache-Control":"no-store"}})}catch(e){return C.NextResponse.json({error:e instanceof Error?e.message:"Failed to read file."},{status:400})}}let b=2*E.MAX_WORKSPACE_WRITE_BYTES+1048576,A="BODY_TOO_LARGE";async function T(e,t){let r=e.body;if(!r){let r=e.headers.get("content-length"),a=r&&""!==r.trim()?Number(r):NaN;if(!Number.isFinite(a)||a<0||a>t)throw Error(A);return await e.json().catch(()=>null)}let a=r.getReader(),n=[],s=0;try{for(;;){let{done:e,value:r}=await a.read();if(e)break;if(r){if((s+=r.byteLength)>t)throw await a.cancel().catch(()=>{}),Error(A);n.push(r)}}}finally{try{a.releaseLock()}catch{}}if(0===s)return null;try{return JSON.parse(Buffer.concat(n).toString("utf-8"))}catch{return null}}async function j(e){try{let t;if((0,E.isCrossOrigin)(e))return C.NextResponse.json({error:"Cross-origin workspace access is not allowed."},{status:403});let r=Number(e.headers.get("content-length"));if(Number.isFinite(r)&&r>b)return C.NextResponse.json({error:"Request body is too large."},{status:413});let a=e.nextUrl.searchParams.get("path");if(!a)return C.NextResponse.json({error:"Missing path."},{status:400});try{t=await T(e,b)}catch(e){if(e instanceof Error&&e.message===A)return C.NextResponse.json({error:"Request body is too large."},{status:413});t=null}if(!t||"string"!=typeof t.content)return C.NextResponse.json({error:"File content is required."},{status:400});let n=await (0,E.getWorkspaceDir)(),s=await (0,E.writeWorkspaceFile)(n,a,t.content);return C.NextResponse.json({ok:!0,...s})}catch(e){return C.NextResponse.json({error:e instanceof Error?e.message:"Failed to save file."},{status:400})}}async function P(e){try{if((0,E.isCrossOrigin)(e))return C.NextResponse.json({error:"Cross-origin workspace access is not allowed."},{status:403});let t=e.nextUrl.searchParams.get("path");if(!t)return C.NextResponse.json({error:"Missing path."},{status:400});let r=await (0,E.getWorkspaceDir)();return await (0,E.deleteWorkspaceFile)(r,t),C.NextResponse.json({ok:!0})}catch(e){return C.NextResponse.json({error:e instanceof Error?e.message:"Failed to delete file."},{status:400})}}e.s(["DELETE",0,P,"GET",0,N,"PUT",0,j,"runtime",0,"nodejs"],63948);var k=e.i(63948);let O=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/workspace/file/route",pathname:"/api/workspace/file",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/workspace/file/route.ts",nextConfigOutput:"standalone",userland:k,...{}}),{workAsyncStorage:S,workUnitAsyncStorage:_,serverHooks:U}=O;async function q(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),O.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/workspace/file/route";m=m.replace(/\/index$/,"")||"/";let w=await O.prepare(e,t,{srcPage:m,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,deploymentId:C,params:E,nextConfig:y,parsedUrl:N,isDraftMode:b,prerenderManifest:A,routerServerContext:T,isOnDemandRevalidate:j,revalidateOnlyGenerated:P,resolvedPathname:k,clientReferenceManifest:S,serverActionsManifest:_}=w,U=(0,i.normalizeAppPath)(m),q=!!(A.dynamicRoutes[U]||A.routes[k]),D=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,N,!1):t.end("This page could not be found"),null);if(q&&!b){let e=!!A.routes[k],t=A.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await D();throw new R.NoFallbackError}}let M=null;!q||O.isDev||b||(M="/index"===(M=k)?"/":M);let F=!0===O.isDev||!q,I=q&&!F;_&&S&&(0,o.setManifestsSingleton)({page:m,clientReferenceManifest:S,serverActionsManifest:_});let H=e.method||"GET",$=(0,s.getTracer)(),L=$.getActiveScopeSpan(),W=!!(null==T?void 0:T.isWrappedByNextServer),B=!!(0,n.getRequestMeta)(e,"minimalMode"),K=(0,n.getRequestMeta)(e,"incrementalCache")||await O.getIncrementalCache(e,y,A,B);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let G={params:E,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:F,incrementalCache:K,cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>O.onRequestError(e,t,a,n,T)},sharedContext:{buildId:v,deploymentId:C}},X=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(X,(0,u.signalFromNodeResponse)(t));try{let n,o=async e=>O.handle(z,G).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")!==c.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),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${H} ${m}`)}),i=async n=>{var s,i;let l=async({previousCacheEntry:r})=>{try{if(!B&&j&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(n);e.fetchMetrics=G.renderOpts.fetchMetrics;let i=G.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let l=G.renderOpts.collectedTags;if(!q)return await (0,d.sendResponse)(X,V,s,G.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[g.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,a=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await O.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:j})},!1,T),t}},u=await O.handleResponse({req:e,nextConfig:y,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:P,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:B});if(!q)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(i=u.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",j?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return B&&q||c.delete(g.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,d.sendResponse)(X,V,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};W&&L?await i(L):(n=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(c.BaseServerSpan.handleRequest,{spanName:`${H} ${m}`,kind:s.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},i),void 0,!W))}catch(t){if(t instanceof R.NoFallbackError||await O.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:j})},!1,T),q)throw t;return await (0,d.sendResponse)(X,V,new Response(null,{status:500})),null}}e.s(["handler",0,q,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:_})},"routeModule",0,O,"serverHooks",0,U,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,_],16851)}];
2
+
3
+ //# sourceMappingURL=node_modules_next_dist_esm_build_templates_app-route_0qs61ly.js.map