@superinterface/server 1.0.40 → 1.0.42

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 (72) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +2 -2
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/eslint/.cache_btwyo7 +1 -1
  5. package/.next/fallback-build-manifest.json +2 -2
  6. package/.next/server/app/_not-found.html +1 -1
  7. package/.next/server/app/_not-found.rsc +1 -1
  8. package/.next/server/app/api/assistants/[assistantId]/mcp-servers/[mcpServerId]/route.js +2 -2
  9. package/.next/server/app/api/assistants/[assistantId]/mcp-servers/[mcpServerId]/route.js.nft.json +1 -1
  10. package/.next/server/app/api/assistants/[assistantId]/mcp-servers/route.js +2 -2
  11. package/.next/server/app/api/assistants/[assistantId]/mcp-servers/route.js.nft.json +1 -1
  12. package/.next/server/app/api/files/[fileId]/contents/route.js +2 -2
  13. package/.next/server/app/api/files/[fileId]/contents/route.js.nft.json +1 -1
  14. package/.next/server/app/api/files/route.js +2 -2
  15. package/.next/server/app/api/files/route.js.nft.json +1 -1
  16. package/.next/server/app/api/messages/route.js +4 -4
  17. package/.next/server/app/api/messages/route.js.nft.json +1 -1
  18. package/.next/server/app/api/tasks/callback/route.js +3 -3
  19. package/.next/server/app/api/tasks/callback/route.js.nft.json +1 -1
  20. package/.next/server/app/index.html +1 -1
  21. package/.next/server/app/index.rsc +1 -1
  22. package/.next/server/chunks/[root-of-the-server]__42ed6203._.js +3 -0
  23. package/.next/server/chunks/[root-of-the-server]__42ed6203._.js.map +1 -0
  24. package/.next/server/chunks/[root-of-the-server]__4c8c04a2._.js +3 -0
  25. package/.next/server/chunks/[root-of-the-server]__4c8c04a2._.js.map +1 -0
  26. package/.next/server/chunks/[root-of-the-server]__5aedcd8a._.js +3 -0
  27. package/.next/server/chunks/[root-of-the-server]__5aedcd8a._.js.map +1 -0
  28. package/.next/server/chunks/[root-of-the-server]__6e49856a._.js +3 -0
  29. package/.next/server/chunks/[root-of-the-server]__6e49856a._.js.map +1 -0
  30. package/.next/server/chunks/[root-of-the-server]__e73543af._.js +3 -0
  31. package/.next/server/chunks/[root-of-the-server]__e73543af._.js.map +1 -0
  32. package/.next/server/chunks/[root-of-the-server]__e8127a36._.js +3 -0
  33. package/.next/server/chunks/[root-of-the-server]__e8127a36._.js.map +1 -0
  34. package/.next/server/chunks/supercorp_superinterface_bebd2c96._.js +2 -2
  35. package/.next/server/chunks/supercorp_superinterface_bebd2c96._.js.map +1 -1
  36. package/.next/server/pages/404.html +1 -1
  37. package/.next/server/pages/500.html +1 -1
  38. package/.next/trace +1 -1
  39. package/dist/app/api/assistants/[assistantId]/mcp-servers/[mcpServerId]/buildRoute.d.ts.map +1 -1
  40. package/dist/app/api/assistants/[assistantId]/mcp-servers/[mcpServerId]/buildRoute.js +24 -12
  41. package/dist/app/api/assistants/[assistantId]/mcp-servers/buildRoute.d.ts.map +1 -1
  42. package/dist/app/api/assistants/[assistantId]/mcp-servers/buildRoute.js +20 -12
  43. package/dist/lib/mcpServers/getMcpServerLabel.d.ts +5 -0
  44. package/dist/lib/mcpServers/getMcpServerLabel.d.ts.map +1 -0
  45. package/dist/lib/mcpServers/getMcpServerLabel.js +10 -0
  46. package/dist/lib/mcpServers/isMcpServerLabelTaken.d.ts +8 -0
  47. package/dist/lib/mcpServers/isMcpServerLabelTaken.d.ts.map +1 -0
  48. package/dist/lib/mcpServers/isMcpServerLabelTaken.js +39 -0
  49. package/dist/lib/mcpServers/mcpServerSchema.d.ts +38 -38
  50. package/dist/lib/mcpServers/mcpServerSchema.d.ts.map +1 -1
  51. package/dist/lib/mcpServers/mcpServerSchema.js +4 -3
  52. package/dist/lib/mcpServers/normalizeMcpServerName.d.ts +2 -0
  53. package/dist/lib/mcpServers/normalizeMcpServerName.d.ts.map +1 -0
  54. package/dist/lib/mcpServers/normalizeMcpServerName.js +1 -0
  55. package/dist/lib/tools/tools/index.d.ts.map +1 -1
  56. package/dist/lib/tools/tools/index.js +5 -2
  57. package/package.json +1 -1
  58. package/.next/server/chunks/[root-of-the-server]__40ab45eb._.js +0 -3
  59. package/.next/server/chunks/[root-of-the-server]__40ab45eb._.js.map +0 -1
  60. package/.next/server/chunks/[root-of-the-server]__441cee00._.js +0 -3
  61. package/.next/server/chunks/[root-of-the-server]__441cee00._.js.map +0 -1
  62. package/.next/server/chunks/[root-of-the-server]__6317294d._.js +0 -3
  63. package/.next/server/chunks/[root-of-the-server]__6317294d._.js.map +0 -1
  64. package/.next/server/chunks/[root-of-the-server]__676affb1._.js +0 -3
  65. package/.next/server/chunks/[root-of-the-server]__676affb1._.js.map +0 -1
  66. package/.next/server/chunks/[root-of-the-server]__a6d26a37._.js +0 -3
  67. package/.next/server/chunks/[root-of-the-server]__a6d26a37._.js.map +0 -1
  68. package/.next/server/chunks/[root-of-the-server]__eb816e13._.js +0 -3
  69. package/.next/server/chunks/[root-of-the-server]__eb816e13._.js.map +0 -1
  70. /package/.next/static/{wuIqo1AC4IH0KlhrbfHcA → lW_3DHiIf_IPb1ovDKNtb}/_buildManifest.js +0 -0
  71. /package/.next/static/{wuIqo1AC4IH0KlhrbfHcA → lW_3DHiIf_IPb1ovDKNtb}/_clientMiddlewareManifest.json +0 -0
  72. /package/.next/static/{wuIqo1AC4IH0KlhrbfHcA → lW_3DHiIf_IPb1ovDKNtb}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- <!DOCTYPE html><!--wuIqo1AC4IH0KlhrbfHcA--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/76a8a50dbf44f000.js"/><script src="/_next/static/chunks/079ce3572ffa07f6.js" async=""></script><script src="/_next/static/chunks/4649e58e35bcde4b.js" async=""></script><script src="/_next/static/chunks/turbopack-11882cf18a9eb231.js" async=""></script><script src="/_next/static/chunks/03d938d038bc30e3.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/76a8a50dbf44f000.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[96352,[\"/_next/static/chunks/03d938d038bc30e3.js\"],\"default\"]\n3:I[17753,[\"/_next/static/chunks/03d938d038bc30e3.js\"],\"default\"]\n4:I[51035,[\"/_next/static/chunks/03d938d038bc30e3.js\"],\"OutletBoundary\"]\n6:I[33159,[\"/_next/static/chunks/03d938d038bc30e3.js\"],\"AsyncMetadataOutlet\"]\n8:I[51035,[\"/_next/static/chunks/03d938d038bc30e3.js\"],\"ViewportBoundary\"]\na:I[51035,[\"/_next/static/chunks/03d938d038bc30e3.js\"],\"MetadataBoundary\"]\nb:\"$Sreact.suspense\"\nd:I[25098,[\"/_next/static/chunks/03d938d038bc30e3.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"wuIqo1AC4IH0KlhrbfHcA\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/03d938d038bc30e3.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:1:props:children:1:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L4\",null,{\"children\":[\"$L5\",[\"$\",\"$L6\",null,{\"promise\":\"$@7\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],null],[\"$\",\"$La\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$b\",null,{\"fallback\":null,\"children\":\"$Lc\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",\"$undefined\"],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n5:null\n"])</script><script>self.__next_f.push([1,"7:{\"metadata\":[],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"c:\"$7:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--lW_3DHiIf_IPb1ovDKNtb--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/76a8a50dbf44f000.js"/><script src="/_next/static/chunks/079ce3572ffa07f6.js" async=""></script><script src="/_next/static/chunks/4649e58e35bcde4b.js" async=""></script><script src="/_next/static/chunks/turbopack-11882cf18a9eb231.js" async=""></script><script src="/_next/static/chunks/03d938d038bc30e3.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/76a8a50dbf44f000.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[96352,[\"/_next/static/chunks/03d938d038bc30e3.js\"],\"default\"]\n3:I[17753,[\"/_next/static/chunks/03d938d038bc30e3.js\"],\"default\"]\n4:I[51035,[\"/_next/static/chunks/03d938d038bc30e3.js\"],\"OutletBoundary\"]\n6:I[33159,[\"/_next/static/chunks/03d938d038bc30e3.js\"],\"AsyncMetadataOutlet\"]\n8:I[51035,[\"/_next/static/chunks/03d938d038bc30e3.js\"],\"ViewportBoundary\"]\na:I[51035,[\"/_next/static/chunks/03d938d038bc30e3.js\"],\"MetadataBoundary\"]\nb:\"$Sreact.suspense\"\nd:I[25098,[\"/_next/static/chunks/03d938d038bc30e3.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"lW_3DHiIf_IPb1ovDKNtb\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/03d938d038bc30e3.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:1:props:children:1:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:1:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L4\",null,{\"children\":[\"$L5\",[\"$\",\"$L6\",null,{\"promise\":\"$@7\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],null],[\"$\",\"$La\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$b\",null,{\"fallback\":null,\"children\":\"$Lc\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",\"$undefined\"],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n5:null\n"])</script><script>self.__next_f.push([1,"7:{\"metadata\":[],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"c:\"$7:metadata\"\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/a6dad97d9634a72d.js"></script><script src="/_next/static/chunks/22bca0be24d1dbb3.js" defer=""></script><script src="/_next/static/chunks/bd1a5816a611d718.js" defer=""></script><script src="/_next/static/chunks/turbopack-3bdbb570d8566903.js" defer=""></script><script src="/_next/static/chunks/e57ec661e9850a31.js" defer=""></script><script src="/_next/static/chunks/turbopack-67ff8c1c5b1ad9a8.js" defer=""></script><script src="/_next/static/wuIqo1AC4IH0KlhrbfHcA/_ssgManifest.js" defer=""></script><script src="/_next/static/wuIqo1AC4IH0KlhrbfHcA/_buildManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"wuIqo1AC4IH0KlhrbfHcA","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/a6dad97d9634a72d.js"></script><script src="/_next/static/chunks/22bca0be24d1dbb3.js" defer=""></script><script src="/_next/static/chunks/bd1a5816a611d718.js" defer=""></script><script src="/_next/static/chunks/turbopack-3bdbb570d8566903.js" defer=""></script><script src="/_next/static/chunks/e57ec661e9850a31.js" defer=""></script><script src="/_next/static/chunks/turbopack-67ff8c1c5b1ad9a8.js" defer=""></script><script src="/_next/static/lW_3DHiIf_IPb1ovDKNtb/_ssgManifest.js" defer=""></script><script src="/_next/static/lW_3DHiIf_IPb1ovDKNtb/_buildManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"lW_3DHiIf_IPb1ovDKNtb","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
package/.next/trace CHANGED
@@ -1 +1 @@
1
- [{"name":"generate-buildid","duration":126,"timestamp":682252296127,"id":4,"parentId":1,"tags":{},"startTime":1760573766609,"traceId":"9ca6badc1dfd1c2e"},{"name":"load-custom-routes","duration":182,"timestamp":682252296302,"id":5,"parentId":1,"tags":{},"startTime":1760573766609,"traceId":"9ca6badc1dfd1c2e"},{"name":"create-dist-dir","duration":962,"timestamp":682252327361,"id":6,"parentId":1,"tags":{},"startTime":1760573766640,"traceId":"9ca6badc1dfd1c2e"},{"name":"create-pages-mapping","duration":107,"timestamp":682252367489,"id":7,"parentId":1,"tags":{},"startTime":1760573766680,"traceId":"9ca6badc1dfd1c2e"},{"name":"collect-app-files","duration":2785,"timestamp":682252367617,"id":8,"parentId":1,"tags":{},"startTime":1760573766680,"traceId":"9ca6badc1dfd1c2e"},{"name":"create-app-mapping","duration":849,"timestamp":682252370420,"id":9,"parentId":1,"tags":{},"startTime":1760573766683,"traceId":"9ca6badc1dfd1c2e"},{"name":"create-app-layouts","duration":188,"timestamp":682252371286,"id":10,"parentId":1,"tags":{},"startTime":1760573766684,"traceId":"9ca6badc1dfd1c2e"},{"name":"collect-default-files","duration":6052,"timestamp":682252380815,"id":12,"parentId":1,"tags":{},"startTime":1760573766694,"traceId":"9ca6badc1dfd1c2e"},{"name":"generate-route-types","duration":31044,"timestamp":682252371828,"id":11,"parentId":1,"tags":{},"startTime":1760573766685,"traceId":"9ca6badc1dfd1c2e"},{"name":"public-dir-conflict-check","duration":887,"timestamp":682252403195,"id":13,"parentId":1,"tags":{},"startTime":1760573766716,"traceId":"9ca6badc1dfd1c2e"},{"name":"generate-routes-manifest","duration":1239,"timestamp":682252404189,"id":14,"parentId":1,"tags":{},"startTime":1760573766717,"traceId":"9ca6badc1dfd1c2e"},{"name":"run-turbopack-compiler","duration":7127427,"timestamp":682252409756,"id":16,"parentId":1,"tags":{},"startTime":1760573766723,"traceId":"9ca6badc1dfd1c2e"},{"name":"verify-and-lint","duration":1826439,"timestamp":682259552380,"id":19,"parentId":1,"tags":{},"startTime":1760573773865,"traceId":"9ca6badc1dfd1c2e"},{"name":"verify-typescript-setup","duration":4595228,"timestamp":682259550018,"id":18,"parentId":1,"tags":{},"startTime":1760573773863,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-static-error-page","duration":2373,"timestamp":682264158119,"id":22,"parentId":21,"tags":{},"startTime":1760573778471,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":4140,"timestamp":682264204131,"id":23,"parentId":21,"tags":{"page":"/_app"},"startTime":1760573778517,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":1999,"timestamp":682264206283,"id":25,"parentId":21,"tags":{"page":"/_document"},"startTime":1760573778519,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":2897,"timestamp":682264205386,"id":24,"parentId":21,"tags":{"page":"/_error"},"startTime":1760573778518,"traceId":"9ca6badc1dfd1c2e"},{"name":"is-page-static","duration":207167,"timestamp":682264212324,"id":50,"parentId":26,"tags":{},"startTime":1760573778525,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":213205,"timestamp":682264206325,"id":26,"parentId":21,"tags":{"page":"/_not-found"},"startTime":1760573778519,"traceId":"9ca6badc1dfd1c2e"},{"name":"is-page-static","duration":241175,"timestamp":682264217598,"id":51,"parentId":28,"tags":{},"startTime":1760573778531,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":252332,"timestamp":682264206521,"id":28,"parentId":21,"tags":{"page":"/api/api-keys"},"startTime":1760573778519,"traceId":"9ca6badc1dfd1c2e"},{"name":"is-page-static","duration":273498,"timestamp":682264219134,"id":54,"parentId":42,"tags":{},"startTime":1760573778532,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":285562,"timestamp":682264207122,"id":42,"parentId":21,"tags":{"page":"/api/providers"},"startTime":1760573778520,"traceId":"9ca6badc1dfd1c2e"},{"name":"is-page-static","duration":273774,"timestamp":682264219047,"id":53,"parentId":33,"tags":{},"startTime":1760573778532,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":285938,"timestamp":682264206908,"id":33,"parentId":21,"tags":{"page":"/api/assistants/[assistantId]/mcp-servers"},"startTime":1760573778520,"traceId":"9ca6badc1dfd1c2e"},{"name":"is-page-static","duration":275522,"timestamp":682264220861,"id":59,"parentId":35,"tags":{},"startTime":1760573778534,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":289460,"timestamp":682264206956,"id":35,"parentId":21,"tags":{"page":"/api/assistants"},"startTime":1760573778520,"traceId":"9ca6badc1dfd1c2e"},{"name":"is-page-static","duration":287834,"timestamp":682264219188,"id":55,"parentId":45,"tags":{},"startTime":1760573778532,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":299939,"timestamp":682264207138,"id":45,"parentId":21,"tags":{"page":"/api/tasks"},"startTime":1760573778520,"traceId":"9ca6badc1dfd1c2e"},{"name":"is-page-static","duration":298880,"timestamp":682264218825,"id":52,"parentId":30,"tags":{},"startTime":1760573778532,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":311202,"timestamp":682264206571,"id":30,"parentId":21,"tags":{"page":"/api/assistants/[assistantId]/functions"},"startTime":1760573778520,"traceId":"9ca6badc1dfd1c2e"},{"name":"is-page-static","duration":304065,"timestamp":682264228407,"id":63,"parentId":46,"tags":{},"startTime":1760573778541,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":325360,"timestamp":682264207143,"id":46,"parentId":21,"tags":{"page":"/api/threads/runs/submit-client-tool-outputs"},"startTime":1760573778520,"traceId":"9ca6badc1dfd1c2e"},{"name":"is-page-static","duration":335425,"timestamp":682264228567,"id":64,"parentId":47,"tags":{},"startTime":1760573778542,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":356984,"timestamp":682264207147,"id":47,"parentId":21,"tags":{"page":"/api/workspaces/[workspaceId]"},"startTime":1760573778520,"traceId":"9ca6badc1dfd1c2e"},{"name":"is-page-static","duration":339275,"timestamp":682264228892,"id":65,"parentId":48,"tags":{},"startTime":1760573778542,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":361040,"timestamp":682264207152,"id":48,"parentId":21,"tags":{"page":"/api/workspaces"},"startTime":1760573778520,"traceId":"9ca6badc1dfd1c2e"},{"name":"is-page-static","duration":343302,"timestamp":682264229795,"id":66,"parentId":27,"tags":{},"startTime":1760573778543,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":366638,"timestamp":682264206482,"id":27,"parentId":21,"tags":{"page":"/api/api-keys/[apiKeyId]"},"startTime":1760573778519,"traceId":"9ca6badc1dfd1c2e"},{"name":"is-page-static","duration":351364,"timestamp":682264229826,"id":67,"parentId":29,"tags":{},"startTime":1760573778543,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":374723,"timestamp":682264206547,"id":29,"parentId":21,"tags":{"page":"/api/assistants/[assistantId]/functions/[functionId]"},"startTime":1760573778520,"traceId":"9ca6badc1dfd1c2e"},{"name":"is-page-static","duration":356878,"timestamp":682264229829,"id":68,"parentId":32,"tags":{},"startTime":1760573778543,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":379892,"timestamp":682264206842,"id":32,"parentId":21,"tags":{"page":"/api/assistants/[assistantId]/mcp-servers/[mcpServerId]"},"startTime":1760573778520,"traceId":"9ca6badc1dfd1c2e"},{"name":"is-page-static","duration":359516,"timestamp":682264229832,"id":69,"parentId":34,"tags":{},"startTime":1760573778543,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":382455,"timestamp":682264206935,"id":34,"parentId":21,"tags":{"page":"/api/assistants/[assistantId]"},"startTime":1760573778520,"traceId":"9ca6badc1dfd1c2e"},{"name":"is-page-static","duration":365063,"timestamp":682264229834,"id":70,"parentId":41,"tags":{},"startTime":1760573778543,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":387832,"timestamp":682264207117,"id":41,"parentId":21,"tags":{"page":"/api/providers/[modelProviderId]"},"startTime":1760573778520,"traceId":"9ca6badc1dfd1c2e"},{"name":"is-page-static","duration":382145,"timestamp":682264229837,"id":71,"parentId":43,"tags":{},"startTime":1760573778543,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":404886,"timestamp":682264207127,"id":43,"parentId":21,"tags":{"page":"/api/tasks/[taskId]"},"startTime":1760573778520,"traceId":"9ca6badc1dfd1c2e"},{"name":"is-page-static","duration":384995,"timestamp":682264229938,"id":72,"parentId":31,"tags":{},"startTime":1760573778543,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":408350,"timestamp":682264206604,"id":31,"parentId":21,"tags":{"page":"/api/assistants/[assistantId]/initial-messages"},"startTime":1760573778520,"traceId":"9ca6badc1dfd1c2e"},{"name":"is-page-static","duration":403821,"timestamp":682264232113,"id":73,"parentId":49,"tags":{},"startTime":1760573778545,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":428829,"timestamp":682264207157,"id":49,"parentId":21,"tags":{"page":"/"},"startTime":1760573778520,"traceId":"9ca6badc1dfd1c2e"},{"name":"is-page-static","duration":556239,"timestamp":682264220312,"id":57,"parentId":39,"tags":{},"startTime":1760573778533,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":569512,"timestamp":682264207105,"id":39,"parentId":21,"tags":{"page":"/api/providers/[modelProviderId]/assistants"},"startTime":1760573778520,"traceId":"9ca6badc1dfd1c2e"},{"name":"is-page-static","duration":580137,"timestamp":682264220259,"id":56,"parentId":36,"tags":{},"startTime":1760573778533,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":593452,"timestamp":682264206975,"id":36,"parentId":21,"tags":{"page":"/api/files/[fileId]/contents"},"startTime":1760573778520,"traceId":"9ca6badc1dfd1c2e"},{"name":"is-page-static","duration":580085,"timestamp":682264220363,"id":58,"parentId":40,"tags":{},"startTime":1760573778533,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":593342,"timestamp":682264207112,"id":40,"parentId":21,"tags":{"page":"/api/providers/[modelProviderId]/models"},"startTime":1760573778520,"traceId":"9ca6badc1dfd1c2e"},{"name":"is-page-static","duration":598269,"timestamp":682264221040,"id":60,"parentId":37,"tags":{},"startTime":1760573778534,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":612414,"timestamp":682264207083,"id":37,"parentId":21,"tags":{"page":"/api/files"},"startTime":1760573778520,"traceId":"9ca6badc1dfd1c2e"},{"name":"is-page-static","duration":612912,"timestamp":682264228228,"id":62,"parentId":44,"tags":{},"startTime":1760573778541,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":634044,"timestamp":682264207133,"id":44,"parentId":21,"tags":{"page":"/api/tasks/callback"},"startTime":1760573778520,"traceId":"9ca6badc1dfd1c2e"},{"name":"is-page-static","duration":647439,"timestamp":682264226277,"id":61,"parentId":38,"tags":{},"startTime":1760573778539,"traceId":"9ca6badc1dfd1c2e"},{"name":"check-page","duration":666646,"timestamp":682264207099,"id":38,"parentId":21,"tags":{"page":"/api/messages"},"startTime":1760573778520,"traceId":"9ca6badc1dfd1c2e"},{"name":"static-check","duration":716195,"timestamp":682264157574,"id":21,"parentId":1,"tags":{},"startTime":1760573778471,"traceId":"9ca6badc1dfd1c2e"},{"name":"generate-required-server-files","duration":270,"timestamp":682264874976,"id":75,"parentId":1,"tags":{},"startTime":1760573779188,"traceId":"9ca6badc1dfd1c2e"},{"name":"write-routes-manifest","duration":694,"timestamp":682264883530,"id":77,"parentId":1,"tags":{},"startTime":1760573779197,"traceId":"9ca6badc1dfd1c2e"},{"name":"load-dotenv","duration":22,"timestamp":682264898518,"id":80,"parentId":79,"tags":{},"startTime":1760573779211,"traceId":"9ca6badc1dfd1c2e"},{"name":"run-export-path-map","duration":261,"timestamp":682265021506,"id":81,"parentId":79,"tags":{},"startTime":1760573779334,"traceId":"9ca6badc1dfd1c2e"},{"name":"next-export","duration":1091411,"timestamp":682264897967,"id":79,"parentId":1,"tags":{},"startTime":1760573779211,"traceId":"9ca6badc1dfd1c2e"},{"name":"move-exported-app-not-found-","duration":7970,"timestamp":682265990386,"id":82,"parentId":78,"tags":{},"startTime":1760573780303,"traceId":"9ca6badc1dfd1c2e"},{"name":"move-exported-page","duration":40776,"timestamp":682265998459,"id":83,"parentId":78,"tags":{},"startTime":1760573780311,"traceId":"9ca6badc1dfd1c2e"},{"name":"static-generation","duration":1477574,"timestamp":682264892820,"id":78,"parentId":1,"tags":{},"startTime":1760573779206,"traceId":"9ca6badc1dfd1c2e"},{"name":"write-routes-manifest","duration":9435,"timestamp":682266370611,"id":84,"parentId":1,"tags":{},"startTime":1760573780684,"traceId":"9ca6badc1dfd1c2e"},{"name":"node-file-trace-build","duration":3804506,"timestamp":682264877642,"id":76,"parentId":1,"tags":{"isTurbotrace":"false"},"startTime":1760573779191,"traceId":"9ca6badc1dfd1c2e"},{"name":"apply-include-excludes","duration":280,"timestamp":682268682162,"id":85,"parentId":1,"tags":{},"startTime":1760573782995,"traceId":"9ca6badc1dfd1c2e"},{"name":"print-tree-view","duration":2218,"timestamp":682268682780,"id":86,"parentId":1,"tags":{},"startTime":1760573782996,"traceId":"9ca6badc1dfd1c2e"},{"name":"telemetry-flush","duration":31,"timestamp":682268685008,"id":87,"parentId":1,"tags":{},"startTime":1760573782998,"traceId":"9ca6badc1dfd1c2e"},{"name":"next-build","duration":16659647,"timestamp":682252025396,"id":1,"tags":{"buildMode":"default","isTurboBuild":"true","version":"15.5.4","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1760573766338,"traceId":"9ca6badc1dfd1c2e"}]
1
+ [{"name":"generate-buildid","duration":130,"timestamp":723180619465,"id":4,"parentId":1,"tags":{},"startTime":1760614694822,"traceId":"854f33cc7307f4f6"},{"name":"load-custom-routes","duration":165,"timestamp":723180619641,"id":5,"parentId":1,"tags":{},"startTime":1760614694822,"traceId":"854f33cc7307f4f6"},{"name":"create-dist-dir","duration":803,"timestamp":723180678829,"id":6,"parentId":1,"tags":{},"startTime":1760614694881,"traceId":"854f33cc7307f4f6"},{"name":"create-pages-mapping","duration":350,"timestamp":723180794699,"id":7,"parentId":1,"tags":{},"startTime":1760614694997,"traceId":"854f33cc7307f4f6"},{"name":"collect-app-files","duration":11089,"timestamp":723180795101,"id":8,"parentId":1,"tags":{},"startTime":1760614694998,"traceId":"854f33cc7307f4f6"},{"name":"create-app-mapping","duration":1914,"timestamp":723180806238,"id":9,"parentId":1,"tags":{},"startTime":1760614695009,"traceId":"854f33cc7307f4f6"},{"name":"create-app-layouts","duration":207,"timestamp":723180808180,"id":10,"parentId":1,"tags":{},"startTime":1760614695011,"traceId":"854f33cc7307f4f6"},{"name":"collect-default-files","duration":3980,"timestamp":723180810332,"id":12,"parentId":1,"tags":{},"startTime":1760614695013,"traceId":"854f33cc7307f4f6"},{"name":"generate-route-types","duration":37425,"timestamp":723180808726,"id":11,"parentId":1,"tags":{},"startTime":1760614695011,"traceId":"854f33cc7307f4f6"},{"name":"public-dir-conflict-check","duration":3598,"timestamp":723180846342,"id":13,"parentId":1,"tags":{},"startTime":1760614695049,"traceId":"854f33cc7307f4f6"},{"name":"generate-routes-manifest","duration":3643,"timestamp":723180850654,"id":14,"parentId":1,"tags":{},"startTime":1760614695053,"traceId":"854f33cc7307f4f6"},{"name":"run-turbopack-compiler","duration":7362668,"timestamp":723180889473,"id":16,"parentId":1,"tags":{},"startTime":1760614695092,"traceId":"854f33cc7307f4f6"},{"name":"verify-and-lint","duration":1794255,"timestamp":723188289916,"id":19,"parentId":1,"tags":{},"startTime":1760614702492,"traceId":"854f33cc7307f4f6"},{"name":"verify-typescript-setup","duration":4850386,"timestamp":723188286657,"id":18,"parentId":1,"tags":{},"startTime":1760614702489,"traceId":"854f33cc7307f4f6"},{"name":"check-static-error-page","duration":2300,"timestamp":723193147697,"id":22,"parentId":21,"tags":{},"startTime":1760614707350,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":2378,"timestamp":723193207003,"id":23,"parentId":21,"tags":{"page":"/_app"},"startTime":1760614707409,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":1848,"timestamp":723193207545,"id":25,"parentId":21,"tags":{"page":"/_document"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":1918,"timestamp":723193207475,"id":24,"parentId":21,"tags":{"page":"/_error"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"is-page-static","duration":292395,"timestamp":723193213664,"id":53,"parentId":34,"tags":{},"startTime":1760614707416,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":298334,"timestamp":723193207792,"id":34,"parentId":21,"tags":{"page":"/api/assistants/[assistantId]"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"is-page-static","duration":292818,"timestamp":723193213416,"id":50,"parentId":27,"tags":{},"startTime":1760614707416,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":298591,"timestamp":723193207659,"id":27,"parentId":21,"tags":{"page":"/api/api-keys/[apiKeyId]"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"is-page-static","duration":293027,"timestamp":723193213546,"id":51,"parentId":29,"tags":{},"startTime":1760614707416,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":298907,"timestamp":723193207683,"id":29,"parentId":21,"tags":{"page":"/api/assistants/[assistantId]/functions/[functionId]"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"is-page-static","duration":303495,"timestamp":723193213582,"id":52,"parentId":32,"tags":{},"startTime":1760614707416,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":309331,"timestamp":723193207773,"id":32,"parentId":21,"tags":{"page":"/api/assistants/[assistantId]/mcp-servers/[mcpServerId]"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"is-page-static","duration":303291,"timestamp":723193213851,"id":57,"parentId":31,"tags":{},"startTime":1760614707416,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":309388,"timestamp":723193207760,"id":31,"parentId":21,"tags":{"page":"/api/assistants/[assistantId]/initial-messages"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"is-page-static","duration":308293,"timestamp":723193213714,"id":55,"parentId":41,"tags":{},"startTime":1760614707416,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":314192,"timestamp":723193207837,"id":41,"parentId":21,"tags":{"page":"/api/providers/[modelProviderId]"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"is-page-static","duration":316212,"timestamp":723193213790,"id":56,"parentId":28,"tags":{},"startTime":1760614707416,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":322384,"timestamp":723193207675,"id":28,"parentId":21,"tags":{"page":"/api/api-keys"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"is-page-static","duration":322701,"timestamp":723193219347,"id":60,"parentId":35,"tags":{},"startTime":1760614707422,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":334299,"timestamp":723193207798,"id":35,"parentId":21,"tags":{"page":"/api/assistants"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"is-page-static","duration":345678,"timestamp":723193213695,"id":54,"parentId":43,"tags":{},"startTime":1760614707416,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":351556,"timestamp":723193207846,"id":43,"parentId":21,"tags":{"page":"/api/tasks/[taskId]"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"is-page-static","duration":356426,"timestamp":723193219695,"id":64,"parentId":46,"tags":{},"startTime":1760614707422,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":368313,"timestamp":723193207861,"id":46,"parentId":21,"tags":{"page":"/api/threads/runs/submit-client-tool-outputs"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"is-page-static","duration":391561,"timestamp":723193222400,"id":66,"parentId":26,"tags":{},"startTime":1760614707425,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":406447,"timestamp":723193207559,"id":26,"parentId":21,"tags":{"page":"/_not-found"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"is-page-static","duration":394401,"timestamp":723193222508,"id":67,"parentId":47,"tags":{},"startTime":1760614707425,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":409070,"timestamp":723193207865,"id":47,"parentId":21,"tags":{"page":"/api/workspaces/[workspaceId]"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"is-page-static","duration":396657,"timestamp":723193222562,"id":68,"parentId":48,"tags":{},"startTime":1760614707425,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":411367,"timestamp":723193207869,"id":48,"parentId":21,"tags":{"page":"/api/workspaces"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"is-page-static","duration":401065,"timestamp":723193222662,"id":69,"parentId":30,"tags":{},"startTime":1760614707425,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":416064,"timestamp":723193207690,"id":30,"parentId":21,"tags":{"page":"/api/assistants/[assistantId]/functions"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"is-page-static","duration":404379,"timestamp":723193222665,"id":70,"parentId":33,"tags":{},"startTime":1760614707425,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":419285,"timestamp":723193207785,"id":33,"parentId":21,"tags":{"page":"/api/assistants/[assistantId]/mcp-servers"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"is-page-static","duration":410349,"timestamp":723193222668,"id":71,"parentId":42,"tags":{},"startTime":1760614707425,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":425239,"timestamp":723193207842,"id":42,"parentId":21,"tags":{"page":"/api/providers"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"is-page-static","duration":439627,"timestamp":723193222670,"id":72,"parentId":45,"tags":{},"startTime":1760614707425,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":454505,"timestamp":723193207856,"id":45,"parentId":21,"tags":{"page":"/api/tasks"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"is-page-static","duration":447898,"timestamp":723193225236,"id":73,"parentId":49,"tags":{},"startTime":1760614707427,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":465302,"timestamp":723193207874,"id":49,"parentId":21,"tags":{"page":"/"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"is-page-static","duration":554889,"timestamp":723193214082,"id":58,"parentId":37,"tags":{},"startTime":1760614707416,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":561182,"timestamp":723193207819,"id":37,"parentId":21,"tags":{"page":"/api/files"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"is-page-static","duration":552589,"timestamp":723193219606,"id":63,"parentId":40,"tags":{},"startTime":1760614707422,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":564461,"timestamp":723193207833,"id":40,"parentId":21,"tags":{"page":"/api/providers/[modelProviderId]/models"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"is-page-static","duration":578994,"timestamp":723193219599,"id":62,"parentId":36,"tags":{},"startTime":1760614707422,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":590810,"timestamp":723193207813,"id":36,"parentId":21,"tags":{"page":"/api/files/[fileId]/contents"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"is-page-static","duration":591666,"timestamp":723193219587,"id":61,"parentId":39,"tags":{},"startTime":1760614707422,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":603449,"timestamp":723193207828,"id":39,"parentId":21,"tags":{"page":"/api/providers/[modelProviderId]/assistants"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"is-page-static","duration":614986,"timestamp":723193219030,"id":59,"parentId":38,"tags":{},"startTime":1760614707421,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":626235,"timestamp":723193207823,"id":38,"parentId":21,"tags":{"page":"/api/messages"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"is-page-static","duration":627661,"timestamp":723193221954,"id":65,"parentId":44,"tags":{},"startTime":1760614707424,"traceId":"854f33cc7307f4f6"},{"name":"check-page","duration":641791,"timestamp":723193207852,"id":44,"parentId":21,"tags":{"page":"/api/tasks/callback"},"startTime":1760614707410,"traceId":"854f33cc7307f4f6"},{"name":"static-check","duration":702560,"timestamp":723193147124,"id":21,"parentId":1,"tags":{},"startTime":1760614707349,"traceId":"854f33cc7307f4f6"},{"name":"generate-required-server-files","duration":244,"timestamp":723193850067,"id":75,"parentId":1,"tags":{},"startTime":1760614708052,"traceId":"854f33cc7307f4f6"},{"name":"write-routes-manifest","duration":609,"timestamp":723193856643,"id":77,"parentId":1,"tags":{},"startTime":1760614708059,"traceId":"854f33cc7307f4f6"},{"name":"load-dotenv","duration":14,"timestamp":723193869056,"id":80,"parentId":79,"tags":{},"startTime":1760614708071,"traceId":"854f33cc7307f4f6"},{"name":"run-export-path-map","duration":233,"timestamp":723193970531,"id":81,"parentId":79,"tags":{},"startTime":1760614708173,"traceId":"854f33cc7307f4f6"},{"name":"next-export","duration":1036109,"timestamp":723193868533,"id":79,"parentId":1,"tags":{},"startTime":1760614708071,"traceId":"854f33cc7307f4f6"},{"name":"move-exported-app-not-found-","duration":18964,"timestamp":723194905690,"id":82,"parentId":78,"tags":{},"startTime":1760614709108,"traceId":"854f33cc7307f4f6"},{"name":"move-exported-page","duration":71985,"timestamp":723194924773,"id":83,"parentId":78,"tags":{},"startTime":1760614709127,"traceId":"854f33cc7307f4f6"},{"name":"static-generation","duration":1409503,"timestamp":723193865511,"id":78,"parentId":1,"tags":{},"startTime":1760614708068,"traceId":"854f33cc7307f4f6"},{"name":"write-routes-manifest","duration":22433,"timestamp":723195275215,"id":84,"parentId":1,"tags":{},"startTime":1760614709477,"traceId":"854f33cc7307f4f6"},{"name":"node-file-trace-build","duration":3698705,"timestamp":723193851443,"id":76,"parentId":1,"tags":{"isTurbotrace":"false"},"startTime":1760614708054,"traceId":"854f33cc7307f4f6"},{"name":"apply-include-excludes","duration":289,"timestamp":723197550164,"id":85,"parentId":1,"tags":{},"startTime":1760614711752,"traceId":"854f33cc7307f4f6"},{"name":"print-tree-view","duration":2007,"timestamp":723197550823,"id":86,"parentId":1,"tags":{},"startTime":1760614711753,"traceId":"854f33cc7307f4f6"},{"name":"telemetry-flush","duration":38,"timestamp":723197552840,"id":87,"parentId":1,"tags":{},"startTime":1760614711755,"traceId":"854f33cc7307f4f6"},{"name":"next-build","duration":17264093,"timestamp":723180288789,"id":1,"tags":{"buildMode":"default","isTurboBuild":"true","version":"15.5.4","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1760614694491,"traceId":"854f33cc7307f4f6"}]
@@ -1 +1 @@
1
- {"version":3,"file":"buildRoute.d.ts","sourceRoot":"","sources":["../../../../../../../src/app/api/assistants/[assistantId]/mcp-servers/[mcpServerId]/buildRoute.ts"],"names":[],"mappings":"AACA,OAAO,EAA6B,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7E,OAAO,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAO5D,KAAK,UAAU,GAAG;IAChB,MAAM,EAAE,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC9D,CAAA;AA6BD,eAAO,MAAM,QAAQ,GAClB,YAAY;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,MAC9B,UAAU,WAAW,EAAE,OAAO,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;GAoD9C,CAAA;AAEH,eAAO,MAAM,UAAU,GACpB,YAAY;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,MAC9B,SAAS,WAAW,EAAE,OAAO,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;GAkG7C,CAAA;AAEH,eAAO,MAAM,WAAW,GACrB,YAAY;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,MAC9B,UAAU,WAAW,EAAE,OAAO,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;GAwD9C,CAAA;AAEH,eAAO,MAAM,YAAY,8BAMtB,CAAA"}
1
+ {"version":3,"file":"buildRoute.d.ts","sourceRoot":"","sources":["../../../../../../../src/app/api/assistants/[assistantId]/mcp-servers/[mcpServerId]/buildRoute.ts"],"names":[],"mappings":"AACA,OAAO,EAA6B,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7E,OAAO,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAS5D,KAAK,UAAU,GAAG;IAChB,MAAM,EAAE,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC9D,CAAA;AAuBD,eAAO,MAAM,QAAQ,GAClB,YAAY;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,MAC9B,UAAU,WAAW,EAAE,OAAO,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;GAoD9C,CAAA;AAEH,eAAO,MAAM,UAAU,GACpB,YAAY;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,MAC9B,SAAS,WAAW,EAAE,OAAO,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;GAgI7C,CAAA;AAEH,eAAO,MAAM,WAAW,GACrB,YAAY;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,MAC9B,UAAU,WAAW,EAAE,OAAO,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;GAwD9C,CAAA;AAEH,eAAO,MAAM,YAAY,8BAMtB,CAAA"}
@@ -6,13 +6,8 @@ import { getApiKey } from '../../../../../../lib/apiKeys/getApiKey';
6
6
  import { validate } from 'uuid';
7
7
  import { serializeApiMcpServer } from '../../../../../../lib/mcpServers/serializeApiMcpServer';
8
8
  import { mcpServerSchema } from '../../../../../../lib/mcpServers/mcpServerSchema';
9
- const normalizeOptionalString = (value) => {
10
- if (value === undefined)
11
- return undefined;
12
- if (value === null)
13
- return null;
14
- return value.trim();
15
- };
9
+ import { normalizeMcpServerName } from '../../../../../../lib/mcpServers/normalizeMcpServerName';
10
+ import { isMcpServerLabelTaken } from '../../../../../../lib/mcpServers/isMcpServerLabelTaken';
16
11
  const validateIds = ({ assistantId, mcpServerId, }) => {
17
12
  if (!validate(assistantId)) {
18
13
  return NextResponse.json({ error: 'Invalid assistant id' }, { status: 400 });
@@ -84,8 +79,16 @@ export const buildPATCH = ({ prisma }) => async (request, props) => {
84
79
  return NextResponse.json({ error: 'Invalid payload' }, { status: 400 });
85
80
  }
86
81
  const { transportType, sseTransport, httpTransport, name, description } = parsed.data;
87
- const normalizedName = normalizeOptionalString(name);
88
- const normalizedDescription = normalizeOptionalString(description);
82
+ let normalizedLabel = null;
83
+ if (typeof name === 'string') {
84
+ const normalizedName = normalizeMcpServerName(name);
85
+ if (!/[a-zA-Z0-9]/.test(normalizedName)) {
86
+ return NextResponse.json({
87
+ error: 'Invalid MCP server name. Use letters, numbers, spaces, or hyphens.',
88
+ }, { status: 400 });
89
+ }
90
+ normalizedLabel = normalizedName;
91
+ }
89
92
  const mcpServer = await prisma.mcpServer.findFirst({
90
93
  where: {
91
94
  id: mcpServerId,
@@ -98,13 +101,22 @@ export const buildPATCH = ({ prisma }) => async (request, props) => {
98
101
  if (!mcpServer) {
99
102
  return NextResponse.json({ error: 'No MCP server found' }, { status: 400 });
100
103
  }
104
+ if (normalizedLabel) {
105
+ const isTaken = await isMcpServerLabelTaken({
106
+ prisma,
107
+ assistantId,
108
+ label: normalizedLabel,
109
+ excludeMcpServerId: mcpServerId,
110
+ });
111
+ if (isTaken) {
112
+ return NextResponse.json({ error: 'An MCP server with that name already exists.' }, { status: 400 });
113
+ }
114
+ }
101
115
  const updatedMcpServer = await prisma.mcpServer.update({
102
116
  where: {
103
117
  id: mcpServerId,
104
118
  },
105
- data: Object.assign(Object.assign(Object.assign(Object.assign({ transportType }, (normalizedName !== undefined ? { name: normalizedName } : {})), (normalizedDescription !== undefined
106
- ? { description: normalizedDescription }
107
- : {})), (transportType === TransportType.SSE
119
+ data: Object.assign(Object.assign(Object.assign(Object.assign({ transportType }, (name !== undefined ? { name } : {})), (description !== undefined ? { description } : {})), (transportType === TransportType.SSE
108
120
  ? {
109
121
  sseTransport: {
110
122
  update: {
@@ -1 +1 @@
1
- {"version":3,"file":"buildRoute.d.ts","sourceRoot":"","sources":["../../../../../../src/app/api/assistants/[assistantId]/mcp-servers/buildRoute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAA6B,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAO7E,KAAK,UAAU,GAAG;IAChB,MAAM,EAAE,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACzC,CAAA;AAQD,eAAO,MAAM,QAAQ,GAClB,YAAY;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,MAC9B,UAAU,WAAW,EAAE,OAAO,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;GAuD9C,CAAA;AAEH,eAAO,MAAM,SAAS,GACnB,YAAY;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,MAC9B,SAAS,WAAW,EAAE,OAAO,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;GA2F7C,CAAA;AAEH,eAAO,MAAM,YAAY,8BAMtB,CAAA"}
1
+ {"version":3,"file":"buildRoute.d.ts","sourceRoot":"","sources":["../../../../../../src/app/api/assistants/[assistantId]/mcp-servers/buildRoute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAA6B,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAS7E,KAAK,UAAU,GAAG;IAChB,MAAM,EAAE,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACzC,CAAA;AAED,eAAO,MAAM,QAAQ,GAClB,YAAY;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,MAC9B,UAAU,WAAW,EAAE,OAAO,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;GAuD9C,CAAA;AAEH,eAAO,MAAM,SAAS,GACnB,YAAY;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,MAC9B,SAAS,WAAW,EAAE,OAAO,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;GAoH7C,CAAA;AAEH,eAAO,MAAM,YAAY,8BAMtB,CAAA"}
@@ -5,13 +5,8 @@ import { cacheHeaders } from '../../../../../lib/cache/cacheHeaders';
5
5
  import { getApiKey } from '../../../../../lib/apiKeys/getApiKey';
6
6
  import { serializeApiMcpServer } from '../../../../../lib/mcpServers/serializeApiMcpServer';
7
7
  import { mcpServerSchema } from '../../../../../lib/mcpServers/mcpServerSchema';
8
- const normalizeOptionalString = (value) => {
9
- if (value === undefined)
10
- return undefined;
11
- if (value === null)
12
- return null;
13
- return value.trim();
14
- };
8
+ import { normalizeMcpServerName } from '../../../../../lib/mcpServers/normalizeMcpServerName';
9
+ import { isMcpServerLabelTaken } from '../../../../../lib/mcpServers/isMcpServerLabelTaken';
15
10
  export const buildGET = ({ prisma }) => async (_request, props) => {
16
11
  const { assistantId } = await props.params;
17
12
  const headersList = await headers();
@@ -75,8 +70,6 @@ export const buildPOST = ({ prisma }) => async (request, props) => {
75
70
  return NextResponse.json({ error: 'Invalid payload' }, { status: 400 });
76
71
  }
77
72
  const { transportType, sseTransport, httpTransport, name, description } = parsed.data;
78
- const normalizedName = normalizeOptionalString(name);
79
- const normalizedDescription = normalizeOptionalString(description);
80
73
  const workspaceId = privateApiKey.workspaceId;
81
74
  const assistant = await prisma.assistant.findFirst({
82
75
  where: { id: assistantId, workspaceId },
@@ -84,6 +77,23 @@ export const buildPOST = ({ prisma }) => async (request, props) => {
84
77
  if (!assistant) {
85
78
  return NextResponse.json({ error: 'No assistant found' }, { status: 400 });
86
79
  }
80
+ if (typeof name === 'string') {
81
+ const normalizedName = normalizeMcpServerName(name);
82
+ if (!/[a-zA-Z0-9]/.test(normalizedName)) {
83
+ return NextResponse.json({
84
+ error: 'Invalid MCP server name. Use letters, numbers, spaces, or hyphens.',
85
+ }, { status: 400 });
86
+ }
87
+ const normalizedLabel = normalizedName;
88
+ const isTaken = await isMcpServerLabelTaken({
89
+ prisma,
90
+ assistantId,
91
+ label: normalizedLabel,
92
+ });
93
+ if (isTaken) {
94
+ return NextResponse.json({ error: 'An MCP server with that name already exists.' }, { status: 400 });
95
+ }
96
+ }
87
97
  const mcpServer = await prisma.mcpServer.create({
88
98
  data: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ transportType }, (transportType === TransportType.SSE
89
99
  ? {
@@ -103,9 +113,7 @@ export const buildPOST = ({ prisma }) => async (request, props) => {
103
113
  },
104
114
  },
105
115
  }
106
- : {})), (normalizedName !== undefined ? { name: normalizedName } : {})), (normalizedDescription !== undefined
107
- ? { description: normalizedDescription }
108
- : {})), { assistant: {
116
+ : {})), (name !== undefined ? { name } : {})), (description !== undefined ? { description } : {})), { assistant: {
109
117
  connect: {
110
118
  id: assistantId,
111
119
  workspaceId,
@@ -0,0 +1,5 @@
1
+ export declare const getMcpServerLabel: ({ id, name, }: {
2
+ id: string;
3
+ name: string | null | undefined;
4
+ }) => string;
5
+ //# sourceMappingURL=getMcpServerLabel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMcpServerLabel.d.ts","sourceRoot":"","sources":["../../../src/lib/mcpServers/getMcpServerLabel.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,GAAI,eAG/B;IACD,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;CAChC,WASA,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { normalizeMcpServerName } from '../../lib/mcpServers/normalizeMcpServerName';
2
+ export const getMcpServerLabel = ({ id, name, }) => {
3
+ if (name) {
4
+ const normalized = normalizeMcpServerName(name);
5
+ if (normalized) {
6
+ return normalized;
7
+ }
8
+ }
9
+ return `mcp-server-${id}`;
10
+ };
@@ -0,0 +1,8 @@
1
+ import type { PrismaClient } from '@prisma/client';
2
+ export declare const isMcpServerLabelTaken: ({ prisma, assistantId, label, excludeMcpServerId, }: {
3
+ prisma: PrismaClient;
4
+ assistantId: string;
5
+ label: string;
6
+ excludeMcpServerId?: string;
7
+ }) => Promise<boolean>;
8
+ //# sourceMappingURL=isMcpServerLabelTaken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isMcpServerLabelTaken.d.ts","sourceRoot":"","sources":["../../../src/lib/mcpServers/isMcpServerLabelTaken.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAIlD,eAAO,MAAM,qBAAqB,GAAU,qDAKzC;IACD,MAAM,EAAE,YAAY,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B,qBAgDA,CAAA"}
@@ -0,0 +1,39 @@
1
+ import { getMcpServerLabel } from '../../lib/mcpServers/getMcpServerLabel';
2
+ import { normalizeMcpServerName } from '../../lib/mcpServers/normalizeMcpServerName';
3
+ export const isMcpServerLabelTaken = async ({ prisma, assistantId, label, excludeMcpServerId, }) => {
4
+ const existing = await prisma.mcpServer.findMany({
5
+ where: Object.assign({ assistantId }, (excludeMcpServerId
6
+ ? {
7
+ NOT: {
8
+ id: excludeMcpServerId,
9
+ },
10
+ }
11
+ : {})),
12
+ select: {
13
+ id: true,
14
+ name: true,
15
+ },
16
+ });
17
+ const normalizedTarget = normalizeMcpServerName(label);
18
+ if (!/[a-zA-Z0-9]/.test(normalizedTarget)) {
19
+ return false;
20
+ }
21
+ const targetLower = normalizedTarget.toLowerCase();
22
+ return existing.some((server) => {
23
+ const normalizedExisting = server.name
24
+ ? normalizeMcpServerName(server.name)
25
+ : null;
26
+ if (normalizedExisting && /[a-zA-Z0-9]/.test(normalizedExisting)) {
27
+ if (normalizedExisting.toLowerCase() === targetLower) {
28
+ return true;
29
+ }
30
+ }
31
+ const fallback = getMcpServerLabel({
32
+ id: server.id,
33
+ name: server.name,
34
+ });
35
+ const normalizedFallback = normalizeMcpServerName(fallback);
36
+ return (/[a-zA-Z0-9]/.test(normalizedFallback) &&
37
+ normalizedFallback.toLowerCase() === targetLower);
38
+ });
39
+ };
@@ -11,46 +11,46 @@ export declare const baseSchema: z.ZodObject<{
11
11
  url: z.ZodString;
12
12
  headers: z.ZodEffects<z.ZodString, string, string>;
13
13
  }, "strip", z.ZodTypeAny, {
14
- headers: string;
15
14
  url: string;
16
- }, {
17
15
  headers: string;
16
+ }, {
18
17
  url: string;
18
+ headers: string;
19
19
  }>>>;
20
20
  httpTransport: z.ZodOptional<z.ZodNullable<z.ZodObject<{
21
21
  url: z.ZodString;
22
22
  headers: z.ZodEffects<z.ZodString, string, string>;
23
23
  }, "strip", z.ZodTypeAny, {
24
- headers: string;
25
24
  url: string;
26
- }, {
27
25
  headers: string;
26
+ }, {
28
27
  url: string;
28
+ headers: string;
29
29
  }>>>;
30
30
  }, "strip", z.ZodTypeAny, {
31
31
  transportType: "SSE" | "HTTP";
32
32
  name?: string | null | undefined;
33
- httpTransport?: {
34
- headers: string;
35
- url: string;
36
- } | null | undefined;
33
+ description?: string | null | undefined;
37
34
  sseTransport?: {
35
+ url: string;
38
36
  headers: string;
37
+ } | null | undefined;
38
+ httpTransport?: {
39
39
  url: string;
40
+ headers: string;
40
41
  } | null | undefined;
41
- description?: string | null | undefined;
42
42
  }, {
43
43
  transportType: "STDIO" | "SSE" | "HTTP";
44
44
  name?: string | null | undefined;
45
- httpTransport?: {
46
- headers: string;
47
- url: string;
48
- } | null | undefined;
45
+ description?: string | null | undefined;
49
46
  sseTransport?: {
47
+ url: string;
50
48
  headers: string;
49
+ } | null | undefined;
50
+ httpTransport?: {
51
51
  url: string;
52
+ headers: string;
52
53
  } | null | undefined;
53
- description?: string | null | undefined;
54
54
  }>;
55
55
  export declare const superRefine: (values: any, ctx: any) => void;
56
56
  export declare const mcpServerSchema: z.ZodEffects<z.ZodObject<{
@@ -65,69 +65,69 @@ export declare const mcpServerSchema: z.ZodEffects<z.ZodObject<{
65
65
  url: z.ZodString;
66
66
  headers: z.ZodEffects<z.ZodString, string, string>;
67
67
  }, "strip", z.ZodTypeAny, {
68
- headers: string;
69
68
  url: string;
70
- }, {
71
69
  headers: string;
70
+ }, {
72
71
  url: string;
72
+ headers: string;
73
73
  }>>>;
74
74
  httpTransport: z.ZodOptional<z.ZodNullable<z.ZodObject<{
75
75
  url: z.ZodString;
76
76
  headers: z.ZodEffects<z.ZodString, string, string>;
77
77
  }, "strip", z.ZodTypeAny, {
78
- headers: string;
79
78
  url: string;
80
- }, {
81
79
  headers: string;
80
+ }, {
82
81
  url: string;
82
+ headers: string;
83
83
  }>>>;
84
84
  }, "strip", z.ZodTypeAny, {
85
85
  transportType: "SSE" | "HTTP";
86
86
  name?: string | null | undefined;
87
- httpTransport?: {
88
- headers: string;
89
- url: string;
90
- } | null | undefined;
87
+ description?: string | null | undefined;
91
88
  sseTransport?: {
89
+ url: string;
92
90
  headers: string;
91
+ } | null | undefined;
92
+ httpTransport?: {
93
93
  url: string;
94
+ headers: string;
94
95
  } | null | undefined;
95
- description?: string | null | undefined;
96
96
  }, {
97
97
  transportType: "STDIO" | "SSE" | "HTTP";
98
98
  name?: string | null | undefined;
99
- httpTransport?: {
100
- headers: string;
101
- url: string;
102
- } | null | undefined;
99
+ description?: string | null | undefined;
103
100
  sseTransport?: {
101
+ url: string;
104
102
  headers: string;
103
+ } | null | undefined;
104
+ httpTransport?: {
105
105
  url: string;
106
+ headers: string;
106
107
  } | null | undefined;
107
- description?: string | null | undefined;
108
108
  }>, {
109
109
  transportType: "SSE" | "HTTP";
110
110
  name?: string | null | undefined;
111
- httpTransport?: {
112
- headers: string;
113
- url: string;
114
- } | null | undefined;
111
+ description?: string | null | undefined;
115
112
  sseTransport?: {
113
+ url: string;
116
114
  headers: string;
115
+ } | null | undefined;
116
+ httpTransport?: {
117
117
  url: string;
118
+ headers: string;
118
119
  } | null | undefined;
119
- description?: string | null | undefined;
120
120
  }, {
121
121
  transportType: "STDIO" | "SSE" | "HTTP";
122
122
  name?: string | null | undefined;
123
- httpTransport?: {
124
- headers: string;
125
- url: string;
126
- } | null | undefined;
123
+ description?: string | null | undefined;
127
124
  sseTransport?: {
125
+ url: string;
128
126
  headers: string;
127
+ } | null | undefined;
128
+ httpTransport?: {
129
129
  url: string;
130
+ headers: string;
130
131
  } | null | undefined;
131
- description?: string | null | undefined;
132
132
  }>;
133
133
  //# sourceMappingURL=mcpServerSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcpServerSchema.d.ts","sourceRoot":"","sources":["../../../src/lib/mcpServers/mcpServerSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAyBvB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUrB,CAAA;AAGF,eAAO,MAAM,WAAW,GAAI,QAAQ,GAAG,EAAE,KAAK,GAAG,SAwChD,CAAA;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAsC,CAAA"}
1
+ {"version":3,"file":"mcpServerSchema.d.ts","sourceRoot":"","sources":["../../../src/lib/mcpServers/mcpServerSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA2BvB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUrB,CAAA;AAGF,eAAO,MAAM,WAAW,GAAI,QAAQ,GAAG,EAAE,KAAK,GAAG,SAwChD,CAAA;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAsC,CAAA"}
@@ -17,10 +17,11 @@ const httpTransportSchema = z.object({
17
17
  message: 'Must be a valid JSON string.',
18
18
  }),
19
19
  });
20
- const optionalTrimmedString = z.string().trim().min(1).optional().nullable();
20
+ const optionalNameString = z.string().min(1).optional().nullable();
21
+ const optionalDescriptionString = z.string().min(1).optional().nullable();
21
22
  export const baseSchema = z.object({
22
- name: optionalTrimmedString,
23
- description: optionalTrimmedString,
23
+ name: optionalNameString,
24
+ description: optionalDescriptionString,
24
25
  transportType: z
25
26
  .nativeEnum(TransportType)
26
27
  .refine((t) => t !== TransportType.STDIO, {
@@ -0,0 +1,2 @@
1
+ export declare const normalizeMcpServerName: (name: string) => string;
2
+ //# sourceMappingURL=normalizeMcpServerName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeMcpServerName.d.ts","sourceRoot":"","sources":["../../../src/lib/mcpServers/normalizeMcpServerName.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,GAAI,MAAM,MAAM,WACd,CAAA"}
@@ -0,0 +1 @@
1
+ export const normalizeMcpServerName = (name) => name.replace(/[^a-zA-Z0-9-]/g, '-');
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/tools/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAOlE,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AA8RhC,eAAO,MAAM,KAAK,GAAU,gCAIzB;IACD,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC;QACpC,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,OAAO,EAAE;oBACP,cAAc,EAAE,IAAI,CAAA;oBACpB,aAAa,EAAE,IAAI,CAAA;oBACnB,mBAAmB,EAAE,IAAI,CAAA;oBACzB,mBAAmB,EAAE,IAAI,CAAA;oBACzB,eAAe,EAAE,IAAI,CAAA;iBACtB,CAAA;aACF,CAAA;YACD,SAAS,EAAE,IAAI,CAAA;YACf,aAAa,EAAE,IAAI,CAAA;YACnB,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,eAAe,EAAE,IAAI,CAAA;oBACrB,cAAc,EAAE,IAAI,CAAA;oBACpB,aAAa,EAAE,IAAI,CAAA;oBACnB,YAAY,EAAE,IAAI,CAAA;iBACnB,CAAA;aACF,CAAA;SACF,CAAA;KACF,CAAC,CAAA;IACF,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,YAAY,CAAA;CACrB;;;WAkBQ,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;EAE9C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/tools/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAOlE,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAkShC,eAAO,MAAM,KAAK,GAAU,gCAIzB;IACD,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC;QACpC,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,OAAO,EAAE;oBACP,cAAc,EAAE,IAAI,CAAA;oBACpB,aAAa,EAAE,IAAI,CAAA;oBACnB,mBAAmB,EAAE,IAAI,CAAA;oBACzB,mBAAmB,EAAE,IAAI,CAAA;oBACzB,eAAe,EAAE,IAAI,CAAA;iBACtB,CAAA;aACF,CAAA;YACD,SAAS,EAAE,IAAI,CAAA;YACf,aAAa,EAAE,IAAI,CAAA;YACnB,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,eAAe,EAAE,IAAI,CAAA;oBACrB,cAAc,EAAE,IAAI,CAAA;oBACpB,aAAa,EAAE,IAAI,CAAA;oBACnB,YAAY,EAAE,IAAI,CAAA;iBACnB,CAAA;aACF,CAAA;SACF,CAAA;KACF,CAAC,CAAA;IACF,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,YAAY,CAAA;CACrB;;;WAkBQ,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;EAE9C,CAAA"}
@@ -7,6 +7,7 @@ import { closeMcpConnection } from '../../../lib/mcpServers/closeMcpConnection';
7
7
  import { isResponsesStorageProvider } from '../../../lib/storageProviders/isResponsesStorageProvider';
8
8
  import { url } from '../../../lib/mcpServers/url';
9
9
  import { headers } from '../../../lib/mcpServers/headers';
10
+ import { getMcpServerLabel } from '../../../lib/mcpServers/getMcpServerLabel';
10
11
  const serializeImageGenerationToolSize = ({ tool, }) => {
11
12
  if (tool.imageGenerationTool.size === ImageGenerationToolSize.AUTO) {
12
13
  return 'auto';
@@ -132,8 +133,10 @@ const mcpServerTools = async ({ assistant, thread, prisma, }) => {
132
133
  !assistant.modelSlug.match('computer-use')) {
133
134
  const httpMcpServers = nonComputerUseMcpServers.filter((mcpServer) => mcpServer.transportType === TransportType.HTTP);
134
135
  const nativeMcpServerTools = httpMcpServers.map((mcpServer) => {
135
- var _a;
136
- const serverLabel = (_a = mcpServer.name) !== null && _a !== void 0 ? _a : `mcp-server-${mcpServer.id}`;
136
+ const serverLabel = getMcpServerLabel({
137
+ id: mcpServer.id,
138
+ name: mcpServer.name,
139
+ });
137
140
  return {
138
141
  type: 'mcp',
139
142
  mcp: Object.assign(Object.assign({ server_label: serverLabel }, (mcpServer.description
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superinterface/server",
3
- "version": "1.0.40",
3
+ "version": "1.0.42",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "superinterface-server": "./bin/index.cjs"