@inkeep/agents-manage-ui 0.25.0 → 0.26.1

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 (295) hide show
  1. package/.next/standalone/agents-manage-ui/.next/BUILD_ID +1 -1
  2. package/.next/standalone/agents-manage-ui/.next/app-build-manifest.json +245 -245
  3. package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +4 -4
  4. package/.next/standalone/agents-manage-ui/.next/build-manifest.json +5 -5
  5. package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +15 -15
  6. package/.next/standalone/agents-manage-ui/.next/react-loadable-manifest.json +7 -7
  7. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js +2 -2
  8. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js.nft.json +1 -1
  9. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js +2 -2
  11. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js.nft.json +1 -1
  12. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page.js +2 -2
  14. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page.js.nft.json +1 -1
  15. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page.js +2 -2
  17. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page.js.nft.json +1 -1
  18. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js +3 -3
  20. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js.nft.json +1 -1
  21. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js +2 -2
  23. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js.nft.json +1 -1
  24. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js +2 -2
  26. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js.nft.json +1 -1
  27. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page_client-reference-manifest.js +1 -1
  28. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js +2 -2
  29. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js.nft.json +1 -1
  30. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page_client-reference-manifest.js +1 -1
  31. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js +2 -2
  32. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js.nft.json +1 -1
  33. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js +2 -2
  35. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js.nft.json +1 -1
  36. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page_client-reference-manifest.js +1 -1
  37. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js +2 -2
  38. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js.nft.json +1 -1
  39. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js +1 -1
  41. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js.nft.json +1 -1
  42. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js +2 -2
  44. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js.nft.json +1 -1
  45. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js +2 -2
  47. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js.nft.json +1 -1
  48. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js +2 -2
  50. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
  51. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
  52. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js +2 -2
  53. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js.nft.json +1 -1
  54. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
  55. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js +2 -2
  56. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js.nft.json +1 -1
  57. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
  58. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page.js +2 -2
  59. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page.js.nft.json +1 -1
  60. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page_client-reference-manifest.js +1 -1
  61. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page.js +2 -2
  62. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page.js.nft.json +1 -1
  63. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page_client-reference-manifest.js +1 -1
  64. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page.js +2 -2
  65. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page.js.nft.json +1 -1
  66. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page_client-reference-manifest.js +1 -1
  67. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page.js +2 -2
  68. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page.js.nft.json +1 -1
  69. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page_client-reference-manifest.js +1 -1
  70. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js +2 -2
  71. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js.nft.json +1 -1
  72. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page_client-reference-manifest.js +1 -1
  73. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js +2 -2
  74. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js.nft.json +1 -1
  75. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page_client-reference-manifest.js +1 -1
  76. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js +2 -2
  77. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js.nft.json +1 -1
  78. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
  79. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js +2 -2
  80. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js.nft.json +1 -1
  81. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page_client-reference-manifest.js +1 -1
  82. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js +2 -2
  83. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js.nft.json +1 -1
  84. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  85. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js +2 -2
  86. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js.nft.json +1 -1
  87. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page_client-reference-manifest.js +1 -1
  88. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js +2 -2
  89. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js.nft.json +1 -1
  90. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page_client-reference-manifest.js +1 -1
  91. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js +2 -2
  92. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js.nft.json +1 -1
  93. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page_client-reference-manifest.js +1 -1
  94. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js +2 -2
  95. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js.nft.json +1 -1
  96. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page_client-reference-manifest.js +1 -1
  97. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js +2 -2
  98. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js.nft.json +1 -1
  99. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page_client-reference-manifest.js +1 -1
  100. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js +2 -2
  101. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js.nft.json +1 -1
  102. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  103. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
  104. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +10 -10
  105. package/.next/standalone/agents-manage-ui/.next/server/app/api/data-components/[dataComponentId]/generate-preview/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  107. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route_client-reference-manifest.js +1 -1
  108. package/.next/standalone/agents-manage-ui/.next/server/app/page.js +2 -2
  109. package/.next/standalone/agents-manage-ui/.next/server/app/page.js.nft.json +1 -1
  110. package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
  111. package/.next/standalone/agents-manage-ui/.next/server/app-paths-manifest.json +4 -4
  112. package/.next/standalone/agents-manage-ui/.next/server/chunks/{4652.js → 122.js} +6 -6
  113. package/.next/standalone/agents-manage-ui/.next/server/chunks/2227.js +1 -0
  114. package/.next/standalone/agents-manage-ui/.next/server/chunks/2529.js +55 -1
  115. package/.next/standalone/agents-manage-ui/.next/server/chunks/2848.js +1 -1
  116. package/.next/standalone/agents-manage-ui/.next/server/chunks/3067.js +1 -0
  117. package/.next/standalone/agents-manage-ui/.next/server/chunks/3086.js +1 -0
  118. package/.next/standalone/agents-manage-ui/.next/server/chunks/3137.js +14 -0
  119. package/.next/standalone/agents-manage-ui/.next/server/chunks/3228.js +1 -1
  120. package/.next/standalone/agents-manage-ui/.next/server/chunks/3468.js +1 -1
  121. package/.next/standalone/agents-manage-ui/.next/server/chunks/4376.js +1 -0
  122. package/.next/standalone/agents-manage-ui/.next/server/chunks/4558.js +1 -0
  123. package/.next/standalone/agents-manage-ui/.next/server/chunks/4608.js +10 -1
  124. package/.next/standalone/agents-manage-ui/.next/server/chunks/4629.js +1 -1
  125. package/.next/standalone/agents-manage-ui/.next/server/chunks/4775.js +1 -0
  126. package/.next/standalone/agents-manage-ui/.next/server/chunks/4910.js +1 -0
  127. package/.next/standalone/agents-manage-ui/.next/server/chunks/5732.js +1 -1
  128. package/.next/standalone/agents-manage-ui/.next/server/chunks/5793.js +1 -1
  129. package/.next/standalone/agents-manage-ui/.next/server/chunks/6109.js +1 -0
  130. package/.next/standalone/agents-manage-ui/.next/server/chunks/6295.js +1 -1
  131. package/.next/standalone/agents-manage-ui/.next/server/chunks/653.js +1 -0
  132. package/.next/standalone/agents-manage-ui/.next/server/chunks/6721.js +3 -3
  133. package/.next/standalone/agents-manage-ui/.next/server/chunks/6786.js +1 -1
  134. package/.next/standalone/agents-manage-ui/.next/server/chunks/7165.js +1 -1
  135. package/.next/standalone/agents-manage-ui/.next/server/chunks/7537.js +1 -0
  136. package/.next/standalone/agents-manage-ui/.next/server/chunks/7565.js +1 -1
  137. package/.next/standalone/agents-manage-ui/.next/server/chunks/7711.js +5 -5
  138. package/.next/standalone/agents-manage-ui/.next/server/chunks/8860.js +1 -1
  139. package/.next/standalone/agents-manage-ui/.next/server/chunks/9122.js +1 -1
  140. package/.next/standalone/agents-manage-ui/.next/server/middleware-build-manifest.js +1 -1
  141. package/.next/standalone/agents-manage-ui/.next/server/middleware-manifest.json +5 -5
  142. package/.next/standalone/agents-manage-ui/.next/server/middleware-react-loadable-manifest.js +1 -1
  143. package/.next/standalone/agents-manage-ui/.next/server/pages/404.html +1 -1
  144. package/.next/standalone/agents-manage-ui/.next/server/pages/500.html +1 -1
  145. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.js +1 -1
  146. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.json +1 -1
  147. package/.next/standalone/agents-manage-ui/.next/static/chunks/13328-41037a3262960f92.js +1 -0
  148. package/.next/standalone/agents-manage-ui/.next/static/chunks/{16631-6020bdaf3d69b1d9.js → 16631-f92fdc7f74df3e1e.js} +2 -2
  149. package/.next/standalone/agents-manage-ui/.next/static/chunks/16887-528540c5b265fc13.js +1 -0
  150. package/.next/standalone/agents-manage-ui/.next/static/chunks/18717-95983950a1bd82d7.js +1 -0
  151. package/.next/standalone/agents-manage-ui/.next/static/chunks/2173-e5e0c4f24a8e0c46.js +1 -0
  152. package/.next/standalone/agents-manage-ui/.next/static/chunks/{36433-4bbd4872aaa5963f.js → 22875-e5bfcf4e023ff21b.js} +1 -1
  153. package/.next/standalone/agents-manage-ui/.next/static/chunks/{23113.536c8c9bea4a8c7b.js → 23113.3fede21b6eaf9227.js} +4 -4
  154. package/.next/standalone/agents-manage-ui/.next/static/chunks/{26910-76880739b4acdd3b.js → 26910-9967d721b6dd01bc.js} +1 -1
  155. package/.next/standalone/agents-manage-ui/.next/static/chunks/27854-c9d9d59f8de29ed4.js +1 -0
  156. package/.next/standalone/agents-manage-ui/.next/static/chunks/{87367-c73fa08200830a15.js → 31030-5934019cfc8cb254.js} +1 -1
  157. package/.next/standalone/agents-manage-ui/.next/static/chunks/32028-55d461f4727a3fc2.js +1 -0
  158. package/.next/standalone/agents-manage-ui/.next/static/chunks/{37775-a0cb4c2997df88af.js → 37775-7406a92cbd39daef.js} +1 -1
  159. package/.next/standalone/agents-manage-ui/.next/static/chunks/47199-6dbd2190fc527d1a.js +1 -0
  160. package/.next/standalone/agents-manage-ui/.next/static/chunks/50127-83157505921c89db.js +1 -0
  161. package/.next/standalone/agents-manage-ui/.next/static/chunks/59019.7960ade7789573cb.js +1 -0
  162. package/.next/standalone/agents-manage-ui/.next/static/chunks/{72652-6d8231193d77f28d.js → 72652-6e31c6f0bd7a749e.js} +5 -5
  163. package/.next/standalone/agents-manage-ui/.next/static/chunks/82924-fbd2371b5a458eac.js +1 -0
  164. package/.next/standalone/agents-manage-ui/.next/static/chunks/8515-8a6bb9b1af63dc60.js +1 -0
  165. package/.next/standalone/agents-manage-ui/.next/static/chunks/{62501-d771257c8767f02a.js → 95926-f6acf9933512734b.js} +1 -1
  166. package/.next/standalone/agents-manage-ui/.next/static/chunks/{95280-167a9efa81c05903.js → 96546-0817383b21dba503.js} +1 -1
  167. package/.next/standalone/agents-manage-ui/.next/static/chunks/{88211-4e7159211556d4e5.js → 99816-5e570993fd9e7d49.js} +1 -1
  168. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/loading-92414e5e22659742.js +1 -0
  169. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/page-b7141ed5f8a77eb9.js +1 -0
  170. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/loading-2d16f683c654dab6.js +1 -0
  171. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/loading-92414e5e22659742.js +1 -0
  172. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/page-f9134d7a48cd0972.js +1 -0
  173. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-b0b409e0d879bf3c.js +1 -0
  174. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-d5bc2158bed826dc.js +1 -0
  175. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-8141ebc086c4e8cc.js +1 -0
  176. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/loading-2d16f683c654dab6.js +1 -0
  177. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-172f0be9de89cc0f.js +1 -0
  178. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-30e656b3c0eb6c84.js +1 -0
  179. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page-16e165f559ef3131.js +1 -0
  180. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/loading-2d16f683c654dab6.js +1 -0
  181. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/page-ebb650d4f36d73c4.js +1 -0
  182. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-984321197f47e001.js +1 -0
  183. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-2bd7c36e74bc6c4a.js +1 -0
  184. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-9430afc1b74ecef2.js +1 -0
  185. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/page-7be0201fc3ce787b.js +1 -0
  186. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-a63d4b5df3460d68.js +1 -0
  187. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/{page-8776902647b7fbbf.js → page-6da4e0dc3c76645f.js} +1 -1
  188. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-679cd6ca7dadaf0c.js +1 -0
  189. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page-6572a90cd3cb51bb.js +1 -0
  190. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page-0c8dc240c7da2d62.js +1 -0
  191. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/new/page-33a0e22b08c72216.js +1 -0
  192. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/page-1d139f2e776d666e.js +1 -0
  193. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/layout-3f590f6183b19569.js +1 -0
  194. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page-097db4d419336446.js +1 -0
  195. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-69e44e2331b90339.js +1 -0
  196. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/layout-92414e5e22659742.js +1 -0
  197. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-baee0631b8f2d789.js +1 -0
  198. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-97ad4c58ba209b90.js +1 -0
  199. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/page-d20ce4581192c14a.js +1 -0
  200. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/page-22de5b7b4e6aaf93.js +1 -0
  201. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/ai-calls/{page-5d8fccb553e26266.js → page-9d4fe2c46f1ea437.js} +1 -1
  202. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/{page-0a4773ac888b4503.js → page-2b07e2fff50589f3.js} +1 -1
  203. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-2b47946997ff7507.js +1 -0
  204. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/{error-6ccf54ce7173616c.js → error-974cfd34eca9081e.js} +1 -1
  205. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/loading-2d16f683c654dab6.js +1 -0
  206. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-4f5f509425b1d0ea.js +1 -0
  207. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-ce49c29e3bf4049e.js +1 -0
  208. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/not-found-7ff1ce1f0a679b75.js +1 -0
  209. package/.next/standalone/agents-manage-ui/.next/static/chunks/{d834c995-72666c5916d3b86e.js → d834c995-f79913da716f009c.js} +1 -1
  210. package/.next/standalone/agents-manage-ui/.next/static/chunks/{webpack-d65a3369c23bc1a6.js → webpack-c7f22f43be63d6fd.js} +1 -1
  211. package/.next/standalone/agents-manage-ui/.next/static/css/{4ac8a1b177c82019.css → 40728d39bb342f02.css} +1 -1
  212. package/.next/standalone/agents-manage-ui/package.json +1 -1
  213. package/.next/standalone/packages/agents-core/package.json +1 -1
  214. package/package.json +4 -4
  215. package/src/app/[tenantId]/projects/[projectId]/layout.tsx +5 -5
  216. package/src/app/[tenantId]/projects/[projectId]/page.tsx +1 -2
  217. package/src/app/[tenantId]/projects/[projectId]/settings/page.tsx +1 -7
  218. package/src/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.tsx +1 -4
  219. package/src/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.tsx +5 -5
  220. package/src/app/[tenantId]/projects/loading.tsx +1 -1
  221. package/src/app/[tenantId]/projects/page.tsx +1 -1
  222. package/src/app/layout.tsx +1 -1
  223. package/src/components/layout/body-template.tsx +1 -1
  224. package/src/components/layout/page-header.tsx +1 -11
  225. package/src/components/layout/site-header.tsx +1 -3
  226. package/src/components/mcp-servers/form/mcp-server-form.tsx +103 -103
  227. package/src/components/mcp-servers/selection/mcp-server-selection.tsx +1 -1
  228. package/src/components/ui/breadcrumbs.tsx +39 -7
  229. package/src/contexts/project-context.tsx +15 -0
  230. package/src/hooks/use-nango-connect.ts +1 -1
  231. package/src/lib/actions/tools.ts +23 -0
  232. package/src/lib/data/prebuilt-mcp-servers.ts +12 -0
  233. package/src/lib/types/project.ts +1 -0
  234. package/.next/standalone/agents-manage-ui/.next/server/chunks/1729.js +0 -1
  235. package/.next/standalone/agents-manage-ui/.next/server/chunks/1735.js +0 -1
  236. package/.next/standalone/agents-manage-ui/.next/server/chunks/3041.js +0 -1
  237. package/.next/standalone/agents-manage-ui/.next/server/chunks/3547.js +0 -1
  238. package/.next/standalone/agents-manage-ui/.next/server/chunks/4389.js +0 -1
  239. package/.next/standalone/agents-manage-ui/.next/server/chunks/6035.js +0 -1
  240. package/.next/standalone/agents-manage-ui/.next/server/chunks/7011.js +0 -55
  241. package/.next/standalone/agents-manage-ui/.next/server/chunks/7597.js +0 -1
  242. package/.next/standalone/agents-manage-ui/.next/server/chunks/7978.js +0 -10
  243. package/.next/standalone/agents-manage-ui/.next/server/chunks/7990.js +0 -1
  244. package/.next/standalone/agents-manage-ui/.next/server/chunks/9665.js +0 -14
  245. package/.next/standalone/agents-manage-ui/.next/static/chunks/13328-e897defc4ea6529d.js +0 -1
  246. package/.next/standalone/agents-manage-ui/.next/static/chunks/18717-8627b7c54fe55222.js +0 -1
  247. package/.next/standalone/agents-manage-ui/.next/static/chunks/2060-cd79dc592c0a003a.js +0 -1
  248. package/.next/standalone/agents-manage-ui/.next/static/chunks/20837-657d5adb39ba5fc5.js +0 -1
  249. package/.next/standalone/agents-manage-ui/.next/static/chunks/3401-910d2d2183ae4708.js +0 -1
  250. package/.next/standalone/agents-manage-ui/.next/static/chunks/37214-7f57e96783b16cf2.js +0 -1
  251. package/.next/standalone/agents-manage-ui/.next/static/chunks/48869-0e8ec51e0d0bb87d.js +0 -1
  252. package/.next/standalone/agents-manage-ui/.next/static/chunks/59019.9c6c905b2f16d99c.js +0 -1
  253. package/.next/standalone/agents-manage-ui/.next/static/chunks/59984-01e64298ea759d0c.js +0 -1
  254. package/.next/standalone/agents-manage-ui/.next/static/chunks/84314-a3ddef3556c9173e.js +0 -1
  255. package/.next/standalone/agents-manage-ui/.next/static/chunks/8801-0137324b58b9d24b.js +0 -1
  256. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/loading-8d4bcbf81b74728a.js +0 -1
  257. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/page-f32d93ea151e5bfe.js +0 -1
  258. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/loading-bc621c786fb0c041.js +0 -1
  259. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/loading-8d4bcbf81b74728a.js +0 -1
  260. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/page-caf36cef03adb078.js +0 -1
  261. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-786019278b0c5425.js +0 -1
  262. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-c6b8967eafb31e5d.js +0 -1
  263. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-f18f8f4709f89922.js +0 -1
  264. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/loading-bc621c786fb0c041.js +0 -1
  265. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-809b9566d45884b8.js +0 -1
  266. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-609271102f74b71f.js +0 -1
  267. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page-2a6e0bffe525b69b.js +0 -1
  268. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/loading-bc621c786fb0c041.js +0 -1
  269. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/page-ebf7eb9b2f07a64e.js +0 -1
  270. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-8983699d524c6c88.js +0 -1
  271. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-f9b9031bacd28167.js +0 -1
  272. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-ae738d29541b4861.js +0 -1
  273. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/page-bc621c786fb0c041.js +0 -1
  274. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-730b47b6465cd36e.js +0 -1
  275. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-21019b30080af732.js +0 -1
  276. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page-1c53fbc7ec0f4788.js +0 -1
  277. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page-662caa60b1021748.js +0 -1
  278. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/new/page-314d5614f44b9a9d.js +0 -1
  279. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/page-9785336c318f3894.js +0 -1
  280. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/layout-be45ce45edffada7.js +0 -1
  281. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page-cf822495da0f37eb.js +0 -1
  282. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-dc9cf0e005a0164f.js +0 -1
  283. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/layout-8d4bcbf81b74728a.js +0 -1
  284. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-08afaeba4f478e5d.js +0 -1
  285. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-85355ce11a9ab57f.js +0 -1
  286. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/page-c3d029ff1708255b.js +0 -1
  287. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/page-e784b16aa3440091.js +0 -1
  288. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-e631f5dc0c4114c8.js +0 -1
  289. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/loading-bc621c786fb0c041.js +0 -1
  290. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-f6893db530628b8e.js +0 -1
  291. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-dd39ef98ae51f3e5.js +0 -1
  292. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/not-found-be45ce45edffada7.js +0 -1
  293. package/src/components/theme-provider.tsx +0 -8
  294. /package/.next/standalone/agents-manage-ui/.next/static/{aTiLptKg2evHDvJ7u0L_H → 7r2zCPzpVSsXFd1vvyJK8}/_buildManifest.js +0 -0
  295. /package/.next/standalone/agents-manage-ui/.next/static/{aTiLptKg2evHDvJ7u0L_H → 7r2zCPzpVSsXFd1vvyJK8}/_ssgManifest.js +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/agents-manage-ui",
3
- "version": "0.25.0",
3
+ "version": "0.26.1",
4
4
  "license": "SEE LICENSE IN LICENSE.md",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/agents-core",
3
- "version": "0.25.0",
3
+ "version": "0.26.1",
4
4
  "description": "Agents Core contains the database schema, types, and validation schemas for Inkeep Agent Framework, along with core components.",
5
5
  "type": "module",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/agents-manage-ui",
3
- "version": "0.25.0",
3
+ "version": "0.26.1",
4
4
  "license": "SEE LICENSE IN LICENSE.md",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -88,9 +88,9 @@
88
88
  "use-stick-to-bottom": "^1.1.1",
89
89
  "zod": "^4.1.11",
90
90
  "zustand": "^5.0.7",
91
- "@inkeep/agents-core": "^0.25.0",
92
- "@inkeep/agents-manage-api": "^0.25.0",
93
- "@inkeep/agents-run-api": "^0.25.0"
91
+ "@inkeep/agents-core": "^0.26.1",
92
+ "@inkeep/agents-manage-api": "^0.26.1",
93
+ "@inkeep/agents-run-api": "^0.26.1"
94
94
  },
95
95
  "devDependencies": {
96
96
  "@tailwindcss/postcss": "^4",
@@ -1,5 +1,6 @@
1
1
  import FullPageError from '@/components/errors/full-page-error';
2
2
  import { fetchProject } from '@/lib/api/projects';
3
+ import { ProjectProvider } from '@/contexts/project-context';
3
4
 
4
5
  export const dynamic = 'force-dynamic';
5
6
 
@@ -11,10 +12,9 @@ export default async function ProjectLayout({
11
12
 
12
13
  try {
13
14
  // Verify project exists
14
- await fetchProject(tenantId, projectId);
15
- } catch (_error) {
16
- return <FullPageError error={_error as Error} context="project" />;
15
+ const project = await fetchProject(tenantId, projectId);
16
+ return <ProjectProvider value={project.data}>{children}</ProjectProvider>;
17
+ } catch (error) {
18
+ return <FullPageError error={error as Error} context="project" />;
17
19
  }
18
-
19
- return <>{children}</>;
20
20
  }
@@ -5,9 +5,8 @@ import { useParams, useRouter } from 'next/navigation';
5
5
  import { useEffect } from 'react';
6
6
 
7
7
  export default function ProjectPage() {
8
- const params = useParams();
8
+ const { tenantId, projectId } = useParams<{ tenantId: string; projectId: string }>();
9
9
  const router = useRouter();
10
- const { tenantId, projectId } = params as { tenantId: string; projectId: string };
11
10
 
12
11
  useEffect(() => {
13
12
  // Use client-side navigation instead of server-side redirect
@@ -26,13 +26,7 @@ export default async function SettingsPage({
26
26
  );
27
27
  }
28
28
  return (
29
- <BodyTemplate
30
- breadcrumbs={[
31
- {
32
- label: 'Project settings',
33
- },
34
- ]}
35
- >
29
+ <BodyTemplate breadcrumbs={[{ label: 'Settings' }]}>
36
30
  <MainContent>
37
31
  <div className="max-w-2xl mx-auto py-4">
38
32
  <ProjectForm
@@ -7,12 +7,9 @@ import { AICallsBreakdown } from '@/components/traces/ai-calls-breakdown';
7
7
 
8
8
  export default function AICallsPage() {
9
9
  const router = useRouter();
10
- const params = useParams();
10
+ const { tenantId, projectId } = useParams<{ tenantId: string; projectId: string }>();
11
11
  const searchParams = useSearchParams();
12
12
 
13
- const tenantId = params.tenantId as string;
14
- const projectId = params.projectId as string;
15
-
16
13
  const handleBackToTraces = () => {
17
14
  // Preserve the current search params when going back to traces
18
15
  const current = new URLSearchParams(searchParams.toString());
@@ -7,11 +7,11 @@ import { ConversationDetail } from '@/components/traces/conversation-detail';
7
7
 
8
8
  export default function ConversationPage() {
9
9
  const router = useRouter();
10
- const params = useParams();
11
-
12
- const conversationId = params.conversationId as string;
13
- const tenantId = params.tenantId as string;
14
- const projectId = params.projectId as string;
10
+ const { conversationId, tenantId, projectId } = useParams<{
11
+ conversationId: string;
12
+ tenantId: string;
13
+ projectId: string;
14
+ }>();
15
15
 
16
16
  const handleBackToTraces = () => {
17
17
  router.push(`/${tenantId}/projects/${projectId}/traces`);
@@ -6,7 +6,7 @@ import { projectDescription } from '@/constants/page-descriptions';
6
6
 
7
7
  export default function Loading() {
8
8
  return (
9
- <BodyTemplate breadcrumbs={[{ label: 'Projects' }]}>
9
+ <BodyTemplate>
10
10
  <MainContent>
11
11
  <PageHeader title="Projects" description={projectDescription} />
12
12
  <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-3 md:gap-4">
@@ -21,7 +21,7 @@ async function ProjectsPage({ params }: PageProps<'/[tenantId]/projects'>) {
21
21
  }
22
22
 
23
23
  return (
24
- <BodyTemplate breadcrumbs={[{ label: 'Projects' }]}>
24
+ <BodyTemplate>
25
25
  <MainContent className="min-h-full">
26
26
  {projects.data.length > 0 ? (
27
27
  <>
@@ -3,7 +3,7 @@ import { Inter, JetBrains_Mono } from 'next/font/google';
3
3
  import './globals.css';
4
4
  import { NuqsAdapter } from 'nuqs/adapters/next/app';
5
5
  import { AppSidebar } from '@/components/sidebar-nav/sidebar-nav';
6
- import { ThemeProvider } from '@/components/theme-provider';
6
+ import { ThemeProvider } from 'next-themes';
7
7
  import { SidebarInset, SidebarProvider } from '@/components/ui/sidebar';
8
8
  import { Toaster } from '@/components/ui/sonner';
9
9
  import { RuntimeConfigProvider } from '@/contexts/runtime-config-context';
@@ -3,7 +3,7 @@ import { SiteHeader } from '@/components/layout/site-header';
3
3
 
4
4
  type BodyTemplateProps = {
5
5
  children: React.ReactNode;
6
- breadcrumbs: { label: string; href?: string }[];
6
+ breadcrumbs?: { label: string; href?: string }[];
7
7
  };
8
8
 
9
9
  export function BodyTemplate({ children, breadcrumbs }: BodyTemplateProps) {
@@ -1,6 +1,4 @@
1
1
  import type { ComponentProps, ReactNode } from 'react';
2
- import type { BreadcrumbItem } from '@/components/ui/breadcrumbs';
3
- import { Breadcrumbs } from '@/components/ui/breadcrumbs';
4
2
  import { cn } from '@/lib/utils';
5
3
 
6
4
  // Root component that provides the base layout
@@ -54,20 +52,12 @@ interface PageHeaderProps {
54
52
  description?: string | ReactNode;
55
53
  action?: ReactNode;
56
54
  className?: string;
57
- breadcrumbs?: BreadcrumbItem[];
58
55
  }
59
56
 
60
- export function PageHeader({
61
- title,
62
- description,
63
- action,
64
- className,
65
- breadcrumbs,
66
- }: PageHeaderProps) {
57
+ export function PageHeader({ title, description, action, className }: PageHeaderProps) {
67
58
  return (
68
59
  <PageHeaderRoot className={className}>
69
60
  <PageHeaderContent>
70
- {breadcrumbs && breadcrumbs.length > 0 && <Breadcrumbs items={breadcrumbs} />}
71
61
  <PageHeaderTitle>{title}</PageHeaderTitle>
72
62
  {description && <PageHeaderDescription>{description}</PageHeaderDescription>}
73
63
  </PageHeaderContent>
@@ -9,9 +9,7 @@ export function SiteHeader({ breadcrumbs }: { breadcrumbs?: BreadcrumbItem[] })
9
9
  <div className="flex w-full items-center gap-1 px-4 lg:gap-2 lg:px-6">
10
10
  <SidebarTrigger className="-ml-1 text-muted-foreground hover:text-foreground hover:bg-accent dark:text-muted-foreground dark:hover:text-foreground dark:hover:bg-accent/50" />
11
11
  <Separator orientation="vertical" className="mx-2 data-[orientation=vertical]:h-4" />
12
- <div className="flex flex-col gap-0.5">
13
- {breadcrumbs && breadcrumbs.length > 0 && <Breadcrumbs items={breadcrumbs} />}
14
- </div>
12
+ <Breadcrumbs items={breadcrumbs} />
15
13
  </div>
16
14
  </header>
17
15
  );
@@ -1,8 +1,7 @@
1
1
  'use client';
2
2
 
3
3
  import { zodResolver } from '@hookform/resolvers/zod';
4
- import { generateId } from '@/lib/utils/id-utils';
5
- import { detectAuthenticationRequired, MCPTransportType } from '@inkeep/agents-core/client-exports';
4
+ import { MCPTransportType } from '@inkeep/agents-core/client-exports';
6
5
  import { useRouter } from 'next/navigation';
7
6
  import { useState } from 'react';
8
7
  import { useForm } from 'react-hook-form';
@@ -15,10 +14,11 @@ import { Dialog, DialogTrigger } from '@/components/ui/dialog';
15
14
  import { Form } from '@/components/ui/form';
16
15
  import { InfoCard } from '@/components/ui/info-card';
17
16
  import { useOAuthLogin } from '@/hooks/use-oauth-login';
18
- import { deleteToolAction } from '@/lib/actions/tools';
17
+ import { deleteToolAction, detectOAuthServerAction } from '@/lib/actions/tools';
19
18
  import type { Credential } from '@/lib/api/credentials';
20
19
  import { createMCPTool, updateMCPTool } from '@/lib/api/tools';
21
20
  import type { MCPTool } from '@/lib/types/tools';
21
+ import { generateId } from '@/lib/utils/id-utils';
22
22
  import { ActiveToolsSelector } from './active-tools-selector';
23
23
  import { type MCPToolFormData, mcpToolSchema } from './validation';
24
24
 
@@ -88,14 +88,14 @@ export function MCPServerForm({
88
88
  try {
89
89
  // handle oauth login
90
90
  if (data.credentialReferenceId === 'oauth') {
91
- const toolId = generateId();
91
+ const result = await detectOAuthServerAction(data.config.mcp.server.url);
92
92
 
93
- const isAuthenticationRequired = await detectAuthenticationRequired({
94
- serverUrl: data.config.mcp.server.url,
95
- toolId,
96
- });
93
+ if (!result.success) {
94
+ toast.error(result.error || 'Failed to detect OAuth support');
95
+ return;
96
+ }
97
97
 
98
- if (!isAuthenticationRequired) {
98
+ if (!result.data) {
99
99
  toast.error(
100
100
  'This MCP server does not support OAuth authentication. Please select a different credential.'
101
101
  );
@@ -103,7 +103,7 @@ export function MCPServerForm({
103
103
  }
104
104
 
105
105
  const mcpToolData = {
106
- id: toolId,
106
+ id: generateId(),
107
107
  name: data.name,
108
108
  config: {
109
109
  type: 'mcp' as const,
@@ -165,7 +165,7 @@ export function MCPServerForm({
165
165
 
166
166
  const handleDelete = async () => {
167
167
  if (!tool) return;
168
-
168
+
169
169
  setIsDeleting(true);
170
170
  try {
171
171
  // Don't revalidate to avoid Next.js trying to refetch the deleted resource on current page
@@ -186,107 +186,107 @@ export function MCPServerForm({
186
186
  <Dialog open={isDeleteOpen} onOpenChange={setIsDeleteOpen}>
187
187
  <Form {...form}>
188
188
  <form onSubmit={form.handleSubmit(onSubmit)} className="space-y-8">
189
- <GenericInput
190
- control={form.control}
191
- name="name"
192
- label="Name"
193
- placeholder="MCP server"
194
- isRequired
195
- />
196
- <GenericInput
197
- control={form.control}
198
- name="config.mcp.server.url"
199
- label="URL"
200
- placeholder="https://api.example.com/mcp"
201
- isRequired
202
- />
203
- <GenericSelect
204
- control={form.control}
205
- selectTriggerClassName="w-full"
206
- name="config.mcp.transport.type"
207
- label="Transport type"
208
- placeholder="Select transport type"
209
- options={[
210
- {
211
- value: MCPTransportType.streamableHttp,
212
- label: 'Streamable HTTP',
213
- },
214
- { value: MCPTransportType.sse, label: 'Server-Sent Events (SSE)' },
215
- ]}
216
- />
217
- <GenericInput
218
- control={form.control}
219
- name="imageUrl"
220
- label="Image URL (optional)"
221
- placeholder="https://example.com/icon.png or data:image/png;base64,..."
222
- />
223
-
224
- <div className="space-y-3">
189
+ <GenericInput
190
+ control={form.control}
191
+ name="name"
192
+ label="Name"
193
+ placeholder="MCP server"
194
+ isRequired
195
+ />
196
+ <GenericInput
197
+ control={form.control}
198
+ name="config.mcp.server.url"
199
+ label="URL"
200
+ placeholder="https://api.example.com/mcp"
201
+ isRequired
202
+ />
225
203
  <GenericSelect
226
204
  control={form.control}
227
205
  selectTriggerClassName="w-full"
228
- name="credentialReferenceId"
229
- label="Credential"
230
- placeholder="Select a credential"
206
+ name="config.mcp.transport.type"
207
+ label="Transport type"
208
+ placeholder="Select transport type"
231
209
  options={[
232
- { value: 'oauth', label: 'OAuth' },
233
- { value: 'none', label: 'No Authentication' },
234
- ...credentials.map((credential) => ({
235
- value: credential.id,
236
- label: credential.id,
237
- })),
210
+ {
211
+ value: MCPTransportType.streamableHttp,
212
+ label: 'Streamable HTTP',
213
+ },
214
+ { value: MCPTransportType.sse, label: 'Server-Sent Events (SSE)' },
238
215
  ]}
239
216
  />
240
- <InfoCard title="How this works">
241
- <div className="space-y-2">
242
- <p>
243
- Select <code className="bg-background px-1.5 py-0.5 rounded border">OAuth</code> to
244
- authenticate with the MCP server's OAuth flow, which will start after you click
245
- "Create".
246
- </p>
247
- <p>
248
- Select{' '}
249
- <code className="bg-background px-1.5 py-0.5 rounded border">
250
- No Authentication
251
- </code>{' '}
252
- to skip authentication (i.e. none required or add a credential later).
253
- </p>
254
- <p>Or select from the existing credentials you have already created.</p>
255
- </div>
256
- </InfoCard>
257
- </div>
258
-
259
- {mode === 'update' && (
260
- <ActiveToolsSelector
217
+ <GenericInput
261
218
  control={form.control}
262
- name="config.mcp.toolsConfig"
263
- label="Tools"
264
- availableTools={tool?.availableTools || []}
265
- description="Select which tools should be enabled for this MCP server"
219
+ name="imageUrl"
220
+ label="Image URL (optional)"
221
+ placeholder="https://example.com/icon.png or data:image/png;base64,..."
266
222
  />
267
- )}
268
223
 
269
- <div className="flex w-full justify-between">
270
- <Button type="submit" disabled={isSubmitting}>
271
- {mode === 'update' ? 'Save' : 'Create'}
272
- </Button>
273
- {mode === 'update' && tool && (
274
- <DialogTrigger asChild>
275
- <Button type="button" variant="secondary">
276
- Delete Server
277
- </Button>
278
- </DialogTrigger>
224
+ <div className="space-y-3">
225
+ <GenericSelect
226
+ control={form.control}
227
+ selectTriggerClassName="w-full"
228
+ name="credentialReferenceId"
229
+ label="Credential"
230
+ placeholder="Select a credential"
231
+ options={[
232
+ { value: 'oauth', label: 'OAuth' },
233
+ { value: 'none', label: 'No Authentication' },
234
+ ...credentials.map((credential) => ({
235
+ value: credential.id,
236
+ label: credential.id,
237
+ })),
238
+ ]}
239
+ />
240
+ <InfoCard title="How this works">
241
+ <div className="space-y-2">
242
+ <p>
243
+ Select <code className="bg-background px-1.5 py-0.5 rounded border">OAuth</code>{' '}
244
+ to authenticate with the MCP server's OAuth flow, which will start after you click
245
+ "Create".
246
+ </p>
247
+ <p>
248
+ Select{' '}
249
+ <code className="bg-background px-1.5 py-0.5 rounded border">
250
+ No Authentication
251
+ </code>{' '}
252
+ to skip authentication (i.e. none required or add a credential later).
253
+ </p>
254
+ <p>Or select from the existing credentials you have already created.</p>
255
+ </div>
256
+ </InfoCard>
257
+ </div>
258
+
259
+ {mode === 'update' && (
260
+ <ActiveToolsSelector
261
+ control={form.control}
262
+ name="config.mcp.toolsConfig"
263
+ label="Tools"
264
+ availableTools={tool?.availableTools || []}
265
+ description="Select which tools should be enabled for this MCP server"
266
+ />
279
267
  )}
280
- </div>
281
- </form>
282
- </Form>
283
- {isDeleteOpen && tool && (
284
- <DeleteConfirmation
285
- itemName={tool.name || 'this MCP server'}
286
- isSubmitting={isDeleting}
287
- onDelete={handleDelete}
288
- />
289
- )}
290
- </Dialog>
268
+
269
+ <div className="flex w-full justify-between">
270
+ <Button type="submit" disabled={isSubmitting}>
271
+ {mode === 'update' ? 'Save' : 'Create'}
272
+ </Button>
273
+ {mode === 'update' && tool && (
274
+ <DialogTrigger asChild>
275
+ <Button type="button" variant="secondary">
276
+ Delete Server
277
+ </Button>
278
+ </DialogTrigger>
279
+ )}
280
+ </div>
281
+ </form>
282
+ </Form>
283
+ {isDeleteOpen && tool && (
284
+ <DeleteConfirmation
285
+ itemName={tool.name || 'this MCP server'}
286
+ isSubmitting={isDeleting}
287
+ onDelete={handleDelete}
288
+ />
289
+ )}
290
+ </Dialog>
291
291
  );
292
292
  }
@@ -1,6 +1,5 @@
1
1
  'use client';
2
2
 
3
- import { generateId } from '@/lib/utils/id-utils';
4
3
  import { useRouter } from 'next/navigation';
5
4
  import { useState } from 'react';
6
5
  import { toast } from 'sonner';
@@ -12,6 +11,7 @@ import { useOAuthLogin } from '@/hooks/use-oauth-login';
12
11
  import type { Credential } from '@/lib/api/credentials';
13
12
  import { createMCPTool } from '@/lib/api/tools';
14
13
  import type { PrebuiltMCPServer } from '@/lib/data/prebuilt-mcp-servers';
14
+ import { generateId } from '@/lib/utils/id-utils';
15
15
  import { PrebuiltServersGrid } from './prebuilt-servers-grid';
16
16
 
17
17
  interface MCPServerSelectionProps {
@@ -1,4 +1,10 @@
1
+ 'use client';
2
+
3
+ import { useMemo } from 'react';
1
4
  import Link from 'next/link';
5
+ import { useParams } from 'next/navigation';
6
+ import { cn } from '@/lib/utils';
7
+ import { useProject } from '@/contexts/project-context';
2
8
 
3
9
  export type BreadcrumbItem = {
4
10
  label: string;
@@ -6,26 +12,52 @@ export type BreadcrumbItem = {
6
12
  };
7
13
 
8
14
  interface BreadcrumbsProps {
9
- items: BreadcrumbItem[];
15
+ items?: BreadcrumbItem[];
10
16
  }
11
17
 
12
18
  export function Breadcrumbs({ items }: BreadcrumbsProps) {
13
- if (!items?.length) return null;
19
+ const project = useProject();
20
+ const { tenantId } = useParams<{ tenantId: string }>();
21
+
22
+ const allItems = useMemo(() => {
23
+ const result: BreadcrumbItem[] = [
24
+ {
25
+ label: 'Projects',
26
+ href: `/${tenantId}/projects`,
27
+ },
28
+ ];
29
+ if (project) {
30
+ result.push({
31
+ label: project.name,
32
+ href: `/${tenantId}/projects/${project.id}`,
33
+ });
34
+ }
35
+ if (items) {
36
+ result.push(...items);
37
+ }
38
+ return result;
39
+ }, [items, tenantId, project]);
40
+
14
41
  return (
15
42
  <nav className="text-sm text-muted-foreground" aria-label="Breadcrumb">
16
43
  <ol className="flex items-center gap-2">
17
- {items.map((item, idx) => {
18
- const isLast = idx === items.length - 1;
44
+ {allItems.map((item, idx, arr) => {
45
+ const isLast = idx === arr.length - 1;
19
46
  return (
20
- <li key={`${item.label}-${idx}`} className="flex items-center gap-2">
47
+ <li
48
+ key={`${item.label}-${idx}`}
49
+ className={cn(
50
+ 'flex items-center gap-2',
51
+ !isLast && 'after:content-["›"] after:text-muted-foreground/60'
52
+ )}
53
+ >
21
54
  {item.href && !isLast ? (
22
55
  <Link href={item.href} className="hover:text-foreground">
23
56
  {item.label}
24
57
  </Link>
25
58
  ) : (
26
- <span className={isLast ? 'font-medium text-foreground' : ''}>{item.label}</span>
59
+ <span className={cn(isLast && 'font-medium text-foreground')}>{item.label}</span>
27
60
  )}
28
- {!isLast && <span className="text-muted-foreground/60">›</span>}
29
61
  </li>
30
62
  );
31
63
  })}
@@ -0,0 +1,15 @@
1
+ 'use client';
2
+
3
+ import { createContext, type FC, type ReactNode, useContext } from 'react';
4
+ import type { Project } from '@/lib/types/project';
5
+
6
+ export const ProjectContext = createContext<Project | null>(null);
7
+
8
+ export const ProjectProvider: FC<{
9
+ children: ReactNode;
10
+ value: Project;
11
+ }> = (props) => <ProjectContext {...props} />;
12
+
13
+ export function useProject() {
14
+ return useContext(ProjectContext);
15
+ }
@@ -68,7 +68,7 @@ export function useNangoConnect() {
68
68
  return result;
69
69
  } catch (error) {
70
70
  if (error instanceof Error) {
71
- throw new Error(`Nango headless auth failed: ${error.message}`);
71
+ throw new Error(`Authentication failed: ${error.message}`);
72
72
  }
73
73
  throw error;
74
74
  }
@@ -4,6 +4,7 @@
4
4
 
5
5
  'use server';
6
6
 
7
+ import { detectAuthenticationRequired } from '@inkeep/agents-core/client-exports';
7
8
  import { revalidatePath } from 'next/cache';
8
9
  import { deleteMCPTool, fetchMCPTools } from '../api/tools';
9
10
  import { ApiError } from '../types/errors';
@@ -73,3 +74,25 @@ export async function deleteToolAction(
73
74
  };
74
75
  }
75
76
  }
77
+
78
+ /**
79
+ * Detect if an MCP server requires OAuth authentication
80
+ */
81
+ export async function detectOAuthServerAction(serverUrl: string): Promise<ActionResult<boolean>> {
82
+ try {
83
+ const requiresAuth = await detectAuthenticationRequired({
84
+ serverUrl,
85
+ });
86
+
87
+ return {
88
+ success: true,
89
+ data: requiresAuth,
90
+ };
91
+ } catch (error) {
92
+ return {
93
+ success: false,
94
+ error: error instanceof Error ? error.message : 'Failed to detect OAuth support',
95
+ code: 'oauth_detection_failed',
96
+ };
97
+ }
98
+ }
@@ -226,6 +226,12 @@ const getBaseMCPServers = (isDark: boolean): PrebuiltMCPServer[] => [
226
226
  transport: MCPTransportType.streamableHttp,
227
227
  imageUrl: 'https://www.prisma.io/docs/img/favicon.png',
228
228
  },
229
+ {
230
+ id: 'ramp',
231
+ name: 'Ramp',
232
+ url: 'https://mcp.ramp.com/mcp',
233
+ transport: MCPTransportType.streamableHttp,
234
+ },
229
235
  {
230
236
  id: 'rube',
231
237
  name: 'Rube',
@@ -275,6 +281,12 @@ const getBaseMCPServers = (isDark: boolean): PrebuiltMCPServer[] => [
275
281
  transport: MCPTransportType.streamableHttp,
276
282
  imageUrl: 'https://stytch.com/favicon.ico',
277
283
  },
284
+ {
285
+ id: 'supabase',
286
+ name: 'Supabase',
287
+ url: 'https://mcp.supabase.com/mcp',
288
+ transport: MCPTransportType.streamableHttp,
289
+ },
278
290
  {
279
291
  id: 'telnyx',
280
292
  name: 'Telnyx',
@@ -15,6 +15,7 @@ export type { ProjectStopWhen };
15
15
  export interface Project {
16
16
  id?: string; // Backend field
17
17
  projectId: string; // Frontend field (mapped from id)
18
+ tenantId: string;
18
19
  name: string;
19
20
  description: string;
20
21
  models: ProjectModels;