@inkeep/agents-manage-ui 0.24.0 → 0.24.2

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 (283) 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 +143 -167
  3. package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +2 -2
  4. package/.next/standalone/agents-manage-ui/.next/build-manifest.json +2 -2
  5. package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +3 -3
  6. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js +2 -2
  7. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js.nft.json +1 -1
  8. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js +2 -2
  10. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js.nft.json +1 -1
  11. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page.js +2 -2
  13. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page.js.nft.json +1 -1
  14. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page.js +2 -2
  16. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page.js.nft.json +1 -1
  17. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js +3 -3
  19. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js.nft.json +1 -1
  20. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js +1 -1
  22. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js.nft.json +1 -1
  23. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js +2 -2
  25. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js.nft.json +1 -1
  26. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js +2 -2
  28. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js.nft.json +1 -1
  29. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js +2 -2
  31. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js.nft.json +1 -1
  32. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js +2 -2
  34. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js.nft.json +1 -1
  35. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js +1 -1
  37. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js.nft.json +1 -1
  38. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js +1 -1
  40. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js.nft.json +1 -1
  41. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js +2 -2
  43. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js.nft.json +1 -1
  44. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js +1 -1
  46. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js.nft.json +1 -1
  47. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js +2 -2
  49. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
  50. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js +2 -2
  52. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js.nft.json +1 -1
  53. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js +2 -2
  55. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js.nft.json +1 -1
  56. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
  57. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js +2 -2
  58. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js.nft.json +1 -1
  59. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page_client-reference-manifest.js +1 -1
  60. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js +2 -2
  61. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js.nft.json +1 -1
  62. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page_client-reference-manifest.js +1 -1
  63. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js +2 -2
  64. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js.nft.json +1 -1
  65. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
  66. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js +2 -2
  67. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js.nft.json +1 -1
  68. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page_client-reference-manifest.js +1 -1
  69. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js +2 -2
  70. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js.nft.json +1 -1
  71. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  72. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js +2 -2
  73. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js.nft.json +1 -1
  74. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page_client-reference-manifest.js +1 -1
  75. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js +1 -1
  76. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js.nft.json +1 -1
  77. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page_client-reference-manifest.js +1 -1
  78. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js +2 -2
  79. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js.nft.json +1 -1
  80. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page_client-reference-manifest.js +1 -1
  81. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js +2 -2
  82. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js.nft.json +1 -1
  83. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page_client-reference-manifest.js +1 -1
  84. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js +2 -2
  85. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js.nft.json +1 -1
  86. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page_client-reference-manifest.js +1 -1
  87. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js +1 -1
  88. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js.nft.json +1 -1
  89. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  90. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
  91. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +9 -9
  92. package/.next/standalone/agents-manage-ui/.next/server/app/api/data-components/[dataComponentId]/generate-preview/route_client-reference-manifest.js +1 -1
  93. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route_client-reference-manifest.js +1 -1
  95. package/.next/standalone/agents-manage-ui/.next/server/app/page.js +2 -2
  96. package/.next/standalone/agents-manage-ui/.next/server/app/page.js.nft.json +1 -1
  97. package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
  98. package/.next/standalone/agents-manage-ui/.next/server/app-paths-manifest.json +2 -2
  99. package/.next/standalone/agents-manage-ui/.next/server/chunks/1613.js +14 -0
  100. package/.next/standalone/agents-manage-ui/.next/server/chunks/2005.js +1 -1
  101. package/.next/standalone/agents-manage-ui/.next/server/chunks/{5109.js → 3468.js} +2 -2
  102. package/.next/standalone/agents-manage-ui/.next/server/chunks/3547.js +1 -1
  103. package/.next/standalone/agents-manage-ui/.next/server/chunks/{2851.js → 4653.js} +19 -19
  104. package/.next/standalone/agents-manage-ui/.next/server/chunks/5262.js +1 -1
  105. package/.next/standalone/agents-manage-ui/.next/server/chunks/5450.js +2 -2
  106. package/.next/standalone/agents-manage-ui/.next/server/chunks/5732.js +1 -1
  107. package/.next/standalone/agents-manage-ui/.next/server/chunks/6035.js +1 -0
  108. package/.next/standalone/agents-manage-ui/.next/server/chunks/6721.js +4 -4
  109. package/.next/standalone/agents-manage-ui/.next/server/chunks/6747.js +1 -1
  110. package/.next/standalone/agents-manage-ui/.next/server/chunks/707.js +4 -0
  111. package/.next/standalone/agents-manage-ui/.next/server/chunks/{7977.js → 7953.js} +2 -2
  112. package/.next/standalone/agents-manage-ui/.next/server/chunks/7988.js +2 -2
  113. package/.next/standalone/agents-manage-ui/.next/server/chunks/8526.js +1 -0
  114. package/.next/standalone/agents-manage-ui/.next/server/chunks/8884.js +1 -4
  115. package/.next/standalone/agents-manage-ui/.next/server/chunks/9122.js +1 -1
  116. package/.next/standalone/agents-manage-ui/.next/server/chunks/9128.js +1 -0
  117. package/.next/standalone/agents-manage-ui/.next/server/chunks/{5642.js → 9222.js} +2 -2
  118. package/.next/standalone/agents-manage-ui/.next/server/chunks/9234.js +1 -0
  119. package/.next/standalone/agents-manage-ui/.next/server/middleware-manifest.json +5 -5
  120. package/.next/standalone/agents-manage-ui/.next/server/pages/404.html +1 -1
  121. package/.next/standalone/agents-manage-ui/.next/server/pages/500.html +1 -1
  122. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.js +1 -1
  123. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.json +1 -1
  124. package/.next/standalone/agents-manage-ui/.next/static/chunks/{16631-6c857871fa924141.js → 16631-e313c6f18339824b.js} +1 -1
  125. package/.next/standalone/agents-manage-ui/.next/static/chunks/17022-540bbf991b193531.js +1 -0
  126. package/.next/standalone/agents-manage-ui/.next/static/chunks/18726-cd04df960a499e08.js +1 -0
  127. package/.next/standalone/agents-manage-ui/.next/static/chunks/20837-d77f86e28c8ac7aa.js +1 -0
  128. package/.next/standalone/agents-manage-ui/.next/static/chunks/23364-08749556f2446cad.js +1 -0
  129. package/.next/standalone/agents-manage-ui/.next/static/chunks/{79423-ed95cf583a063427.js → 23650-279b019c0d10672a.js} +3 -3
  130. package/.next/standalone/agents-manage-ui/.next/static/chunks/36551-09ba51a7603b6640.js +1 -0
  131. package/.next/standalone/agents-manage-ui/.next/static/chunks/{4875-306209ac5547e001.js → 4875-6cc31870e1b4f78e.js} +1 -1
  132. package/.next/standalone/agents-manage-ui/.next/static/chunks/48869-3adeab47774071e4.js +1 -0
  133. package/.next/standalone/agents-manage-ui/.next/static/chunks/{55851-6ebca09d3e107386.js → 67132-6a36ac852bc82474.js} +1 -1
  134. package/.next/standalone/agents-manage-ui/.next/static/chunks/70613-cb7a1ac35bddb6bf.js +1 -0
  135. package/.next/standalone/agents-manage-ui/.next/static/chunks/78225-5445b2afb05249db.js +1 -0
  136. package/.next/standalone/agents-manage-ui/.next/static/chunks/85232-22a9d60836ca811e.js +1 -0
  137. package/.next/standalone/agents-manage-ui/.next/static/chunks/86507-340cc6112e9218de.js +2 -0
  138. package/.next/standalone/agents-manage-ui/.next/static/chunks/87193-3d26f0490b9b0a29.js +25 -0
  139. package/.next/standalone/agents-manage-ui/.next/static/chunks/{68637-2ab8e9a5394e8525.js → 96982-3db869dc9ca83c87.js} +2 -2
  140. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/loading-deaaaaef5d47014d.js +1 -0
  141. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/{page-f68f3c960e8db83f.js → page-9b08f45294a2041b.js} +1 -1
  142. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/loading-7c6d3a56c46ab4e4.js +1 -0
  143. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/loading-deaaaaef5d47014d.js +1 -0
  144. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/page-633b2ccbc49cb865.js +1 -0
  145. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-31799b84d22395a9.js +1 -0
  146. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-4f45e4faafd17dea.js +1 -0
  147. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-f4a38461a135be91.js +1 -0
  148. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/loading-7c6d3a56c46ab4e4.js +1 -0
  149. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-5debce906045b390.js +1 -0
  150. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-689b7881ec533096.js +1 -0
  151. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/{page-59df08cb46c7e592.js → page-2affd4f21c17e73d.js} +1 -1
  152. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/loading-7c6d3a56c46ab4e4.js +1 -0
  153. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/page-089d6e9a7adc24d0.js +1 -0
  154. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-9b370b3ff69e1891.js +1 -0
  155. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-c3bd0a85e2c23715.js +1 -0
  156. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-637284cef2f03cfa.js +1 -0
  157. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/page-7c6d3a56c46ab4e4.js +1 -0
  158. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-effcc7ad7a251c11.js +1 -0
  159. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/page-accc8e5a5d324305.js +1 -0
  160. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-9ab6b0b2810d46ab.js +1 -0
  161. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/layout-1a97adf59dd6a2fe.js +1 -0
  162. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page-00d3bd4e0e0283ca.js +1 -0
  163. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-d9421c0fe814f7ee.js +1 -0
  164. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/layout-deaaaaef5d47014d.js +1 -0
  165. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-c7df640ea2699c60.js +1 -0
  166. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-19309f8dea87d91d.js +1 -0
  167. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/page-60d99eca498e8ca9.js +1 -0
  168. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/ai-calls/{page-d7f81fb8018ccb8f.js → page-3b222f3ae3101ba8.js} +1 -1
  169. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page-4e07cce32c8cfa4c.js +1 -0
  170. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-6201459e626dfd90.js +1 -0
  171. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/error-f9cda97c25875770.js +1 -0
  172. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/loading-7c6d3a56c46ab4e4.js +1 -0
  173. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-76b7b5622c4726f8.js +1 -0
  174. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-2494491bcdc2dd72.js +1 -0
  175. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/not-found-1a97adf59dd6a2fe.js +1 -0
  176. package/.next/standalone/agents-manage-ui/package.json +2 -2
  177. package/.next/standalone/packages/agents-core/package.json +1 -1
  178. package/package.json +5 -5
  179. package/src/app/[tenantId]/page.tsx +1 -1
  180. package/src/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.tsx +3 -5
  181. package/src/app/[tenantId]/projects/[projectId]/agents/new/page.tsx +1 -3
  182. package/src/app/[tenantId]/projects/[projectId]/agents/page.tsx +1 -5
  183. package/src/app/[tenantId]/projects/[projectId]/api-keys/page.tsx +1 -5
  184. package/src/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.tsx +3 -9
  185. package/src/app/[tenantId]/projects/[projectId]/artifacts/new/page.tsx +3 -5
  186. package/src/app/[tenantId]/projects/[projectId]/artifacts/page.tsx +3 -5
  187. package/src/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.tsx +3 -9
  188. package/src/app/[tenantId]/projects/[projectId]/components/new/page.tsx +3 -5
  189. package/src/app/[tenantId]/projects/[projectId]/components/page.tsx +3 -5
  190. package/src/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.tsx +1 -7
  191. package/src/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.tsx +1 -3
  192. package/src/app/[tenantId]/projects/[projectId]/credentials/new/page.tsx +3 -4
  193. package/src/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.tsx +3 -9
  194. package/src/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.tsx +1 -3
  195. package/src/app/[tenantId]/projects/[projectId]/credentials/page.tsx +1 -3
  196. package/src/app/[tenantId]/projects/[projectId]/layout.tsx +4 -7
  197. package/src/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.tsx +3 -7
  198. package/src/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.tsx +3 -5
  199. package/src/app/[tenantId]/projects/[projectId]/mcp-servers/new/layout.tsx +1 -4
  200. package/src/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.tsx +1 -3
  201. package/src/app/[tenantId]/projects/[projectId]/mcp-servers/page.tsx +1 -3
  202. package/src/app/[tenantId]/projects/[projectId]/settings/page.tsx +3 -8
  203. package/src/app/[tenantId]/projects/page.tsx +1 -1
  204. package/src/app/api/data-components/[dataComponentId]/generate-preview/route.ts +4 -7
  205. package/src/app/api/signoz/conversations/[conversationId]/route.ts +3 -6
  206. package/src/components/agent/sidepane/metadata/metadata-editor.tsx +4 -4
  207. package/src/components/agent/sidepane/nodes/sub-agent-node-editor.tsx +22 -4
  208. package/src/components/artifact-components/delete-artifact-component-confirmation.tsx +7 -1
  209. package/src/components/artifact-components/form/artifact-component-form.tsx +64 -41
  210. package/src/components/credentials/credential-tools-list.tsx +5 -4
  211. package/src/components/credentials/views/credential-form.tsx +1 -1
  212. package/src/components/credentials/views/edit-credential-form.tsx +112 -70
  213. package/src/components/data-components/delete-data-component-confirmation.tsx +7 -1
  214. package/src/components/data-components/form/data-component-form.tsx +87 -64
  215. package/src/components/data-components/preview/component-preview-generator.tsx +7 -0
  216. package/src/components/mcp-servers/form/mcp-server-form.tsx +48 -5
  217. package/src/components/ui/info-card.tsx +7 -5
  218. package/src/features/agent/domain/serialize.ts +10 -1
  219. package/src/hooks/use-auto-prefill-id.ts +2 -2
  220. package/src/hooks/use-node-editor.ts +18 -1
  221. package/src/lib/actions/artifact-components.ts +0 -1
  222. package/src/lib/actions/credentials.ts +0 -1
  223. package/src/lib/actions/data-components.ts +0 -1
  224. package/src/lib/actions/tools.ts +6 -4
  225. package/.next/standalone/agents-manage-ui/.next/server/chunks/1525.js +0 -1
  226. package/.next/standalone/agents-manage-ui/.next/server/chunks/244.js +0 -14
  227. package/.next/standalone/agents-manage-ui/.next/server/chunks/6503.js +0 -1
  228. package/.next/standalone/agents-manage-ui/.next/server/chunks/728.js +0 -1
  229. package/.next/standalone/agents-manage-ui/.next/server/chunks/7848.js +0 -1
  230. package/.next/standalone/agents-manage-ui/.next/server/chunks/9003.js +0 -1
  231. package/.next/standalone/agents-manage-ui/.next/static/chunks/1499-20f18a3858daee94.js +0 -1
  232. package/.next/standalone/agents-manage-ui/.next/static/chunks/20837-041beb6a2f540583.js +0 -1
  233. package/.next/standalone/agents-manage-ui/.next/static/chunks/20982-49c49e2dfe9b7055.js +0 -2
  234. package/.next/standalone/agents-manage-ui/.next/static/chunks/27396-d1c1a1a24f7b06ca.js +0 -1
  235. package/.next/standalone/agents-manage-ui/.next/static/chunks/28186-1f8894e8a9f58785.js +0 -1
  236. package/.next/standalone/agents-manage-ui/.next/static/chunks/35250-5a05e05770ea8f06.js +0 -1
  237. package/.next/standalone/agents-manage-ui/.next/static/chunks/39523-c0cadec114d31336.js +0 -25
  238. package/.next/standalone/agents-manage-ui/.next/static/chunks/44251-15d8824c35b7ca83.js +0 -1
  239. package/.next/standalone/agents-manage-ui/.next/static/chunks/47216-52f3cc04486d36c9.js +0 -1
  240. package/.next/standalone/agents-manage-ui/.next/static/chunks/57786-36b73daa228df68d.js +0 -1
  241. package/.next/standalone/agents-manage-ui/.next/static/chunks/58124-080a600083669e79.js +0 -1
  242. package/.next/standalone/agents-manage-ui/.next/static/chunks/63569-33a7ac3e7076968e.js +0 -1
  243. package/.next/standalone/agents-manage-ui/.next/static/chunks/63969-591c2e039348bc39.js +0 -1
  244. package/.next/standalone/agents-manage-ui/.next/static/chunks/6481-def23a19cb7832d7.js +0 -1
  245. package/.next/standalone/agents-manage-ui/.next/static/chunks/83858-2bfa9973ce3ce326.js +0 -1
  246. package/.next/standalone/agents-manage-ui/.next/static/chunks/92160-0e9ba9d3fc9f7a53.js +0 -1
  247. package/.next/standalone/agents-manage-ui/.next/static/chunks/93231-f6a13c3278793654.js +0 -1
  248. package/.next/standalone/agents-manage-ui/.next/static/chunks/94167-3fd33f8ffc652db2.js +0 -1
  249. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/loading-9bfadd2bfe02c9c2.js +0 -1
  250. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/loading-5c7849713f85ab22.js +0 -1
  251. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/loading-9bfadd2bfe02c9c2.js +0 -1
  252. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/page-2a7d8de41c87958d.js +0 -1
  253. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-62cab20aa4353d45.js +0 -1
  254. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-81d720721aab1586.js +0 -1
  255. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-9d7e4ff201cf3345.js +0 -1
  256. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/loading-5c7849713f85ab22.js +0 -1
  257. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-8f72a85f26135a46.js +0 -1
  258. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-9f13fb47f54d0757.js +0 -1
  259. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/loading-5c7849713f85ab22.js +0 -1
  260. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/page-a4738db9057ca109.js +0 -1
  261. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-87415ca1bf6d1477.js +0 -1
  262. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-91ba0f87b3d09f30.js +0 -1
  263. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-bdf1d5105b7e878a.js +0 -1
  264. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/page-5c7849713f85ab22.js +0 -1
  265. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-8d2ec09f9385c4a6.js +0 -1
  266. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/page-07db6760153791ce.js +0 -1
  267. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-609abc0d3feeef77.js +0 -1
  268. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/layout-0f84ce3202492bc1.js +0 -1
  269. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page-cbf0830dece4f6c4.js +0 -1
  270. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-d5ff2cbd01568451.js +0 -1
  271. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/layout-9bfadd2bfe02c9c2.js +0 -1
  272. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-e410d10ef6ae24de.js +0 -1
  273. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-14b54cd8fc861b32.js +0 -1
  274. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/page-f64f1dc069a6d95b.js +0 -1
  275. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page-73c7ac508b857ff8.js +0 -1
  276. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-39b4c79dd6ee832e.js +0 -1
  277. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/error-a4c58861fad98c65.js +0 -1
  278. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/loading-5c7849713f85ab22.js +0 -1
  279. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-d48f9593e232f3e1.js +0 -1
  280. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-25a2e915d1b1d0ba.js +0 -1
  281. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/not-found-4fc170fc11e5aaec.js +0 -1
  282. /package/.next/standalone/agents-manage-ui/.next/static/{pSmoxTjEZijMAqPrIfiP9 → 4HTfKGfjXenctXjz8hNi9}/_buildManifest.js +0 -0
  283. /package/.next/standalone/agents-manage-ui/.next/static/{pSmoxTjEZijMAqPrIfiP9 → 4HTfKGfjXenctXjz8hNi9}/_ssgManifest.js +0 -0
@@ -3,6 +3,7 @@
3
3
  import { zodResolver } from '@hookform/resolvers/zod';
4
4
  import { CredentialStoreType } from '@inkeep/agents-core/client-exports';
5
5
  import { useRouter } from 'next/navigation';
6
+ import { useState } from 'react';
6
7
  import { useForm } from 'react-hook-form';
7
8
  import { toast } from 'sonner';
8
9
  import { z } from 'zod';
@@ -10,10 +11,13 @@ import { CredentialToolsList } from '@/components/credentials/credential-tools-l
10
11
  import { GenericInput } from '@/components/form/generic-input';
11
12
  import { GenericKeyValueInput } from '@/components/form/generic-key-value-input';
12
13
  import { Button } from '@/components/ui/button';
14
+ import { DeleteConfirmation } from '@/components/ui/delete-confirmation';
15
+ import { Dialog, DialogTrigger } from '@/components/ui/dialog';
13
16
  import { Form } from '@/components/ui/form';
14
17
  import { InfoCard } from '@/components/ui/info-card';
15
18
  import { Input } from '@/components/ui/input';
16
19
  import { Label } from '@/components/ui/label';
20
+ import { deleteCredentialAction } from '@/lib/actions/credentials';
17
21
  import { type Credential, updateCredential } from '@/lib/api/credentials';
18
22
  import { setNangoConnectionMetadata } from '@/lib/mcp-tools/nango';
19
23
 
@@ -55,6 +59,8 @@ export function EditCredentialForm({
55
59
  initialFormData,
56
60
  }: EditCredentialFormProps) {
57
61
  const router = useRouter();
62
+ const [isDeleteOpen, setIsDeleteOpen] = useState(false);
63
+ const [isDeleting, setIsDeleting] = useState(false);
58
64
 
59
65
  const form = useForm({
60
66
  resolver: zodResolver(editCredentialFormSchema),
@@ -97,79 +103,115 @@ export function EditCredentialForm({
97
103
  await handleUpdateCredential(data);
98
104
  };
99
105
 
106
+ const handleDelete = async () => {
107
+ setIsDeleting(true);
108
+ try {
109
+ const result = await deleteCredentialAction(tenantId, projectId, credential.id);
110
+ if (result.success) {
111
+ setIsDeleteOpen(false);
112
+ toast.success('Credential deleted.');
113
+ router.push(`/${tenantId}/projects/${projectId}/credentials`);
114
+ } else {
115
+ toast.error(result.error);
116
+ }
117
+ } finally {
118
+ setIsDeleting(false);
119
+ }
120
+ };
121
+
100
122
  return (
101
- <Form {...form}>
102
- <form onSubmit={form.handleSubmit(onSubmit)} className="space-y-8">
103
- {/* Credential Details Section */}
104
- <div className="space-y-8">
105
- <GenericInput
106
- control={form.control}
107
- name="name"
108
- label="Name"
109
- placeholder="e.g., production-api-key"
110
- disabled={true}
111
- />
112
-
113
- {/* Credential Type Display */}
114
- <div className="space-y-3">
115
- <Label>Credential type</Label>
116
- <Input type="text" disabled={true} value={getCredentialType(credential)} />
117
- {getCredentialType(credential) === 'Bearer Auth' && (
118
- <InfoCard title="How this works">
119
- <p>
120
- When your agent connects to the MCP server, this API key will be automatically
121
- sent as an authentication header:
122
- </p>
123
- <p className="my-2">
124
- <code className="bg-background px-1.5 py-0.5 rounded border">
125
- Authorization: Bearer your-api-key-here
126
- </code>
127
- </p>
128
- <p>This ensures secure access to the server's tools and data.</p>
129
- </InfoCard>
123
+ <Dialog open={isDeleteOpen} onOpenChange={setIsDeleteOpen}>
124
+ <Form {...form}>
125
+ <form onSubmit={form.handleSubmit(onSubmit)} className="space-y-8">
126
+ {/* Credential Details Section */}
127
+ <div className="space-y-8">
128
+ <GenericInput
129
+ control={form.control}
130
+ name="name"
131
+ label="Name"
132
+ placeholder="e.g., production-api-key"
133
+ disabled={true}
134
+ />
135
+
136
+ {/* Credential Type Display */}
137
+ <div className="space-y-3">
138
+ <Label>Credential type</Label>
139
+ <Input type="text" disabled={true} value={getCredentialType(credential)} />
140
+ {getCredentialType(credential) === 'Bearer Auth' && (
141
+ <InfoCard title="How this works">
142
+ <p>
143
+ When your agent connects to the MCP server, this API key will be automatically
144
+ sent as an authentication header:
145
+ </p>
146
+ <p className="my-2">
147
+ <code className="bg-background px-1.5 py-0.5 rounded border">
148
+ Authorization: Bearer your-api-key-here
149
+ </code>
150
+ </p>
151
+ <p>This ensures secure access to the server's tools and data.</p>
152
+ </InfoCard>
153
+ )}
154
+ </div>
155
+
156
+ {/* Metadata / Headers Section */}
157
+ {credential.type === CredentialStoreType.nango && (
158
+ <div className="space-y-3">
159
+ <GenericKeyValueInput
160
+ control={form.control}
161
+ name="metadata"
162
+ label="Headers (optional)"
163
+ keyPlaceholder="Header name (e.g., X-API-Key)"
164
+ valuePlaceholder="Header value"
165
+ />
166
+ <InfoCard title="How this works">
167
+ <p className="mb-2">
168
+ Add extra headers to be included with authentication requests.
169
+ </p>
170
+ <p>
171
+ Examples:{' '}
172
+ <code className="bg-background px-1.5 py-0.5 rounded border mx-1">
173
+ User-Agent
174
+ </code>
175
+ <code className="bg-background px-1.5 py-0.5 rounded border mx-1">
176
+ X-API-Key
177
+ </code>
178
+ <code className="bg-background px-1.5 py-0.5 rounded border mx-1">
179
+ Content-Type
180
+ </code>
181
+ </p>
182
+ </InfoCard>
183
+ </div>
130
184
  )}
185
+
186
+ {/* MCP Servers Using This Credential */}
187
+ <CredentialToolsList
188
+ tools={credential.tools}
189
+ tenantId={tenantId}
190
+ projectId={projectId}
191
+ />
131
192
  </div>
132
193
 
133
- {/* Metadata Section */}
134
- {credential.type === CredentialStoreType.nango && (
135
- <div className="space-y-3">
136
- <GenericKeyValueInput
137
- control={form.control}
138
- name="metadata"
139
- label="Metadata (optional)"
140
- keyPlaceholder="Header name (e.g., X-API-Key)"
141
- valuePlaceholder="Header value"
142
- />
143
- <div className="text-xs text-muted-foreground p-3 bg-muted/30 rounded-md">
144
- <p className="mb-2">
145
- Add extra headers to be included with authentication requests.
146
- </p>
147
- <p>
148
- Examples:{' '}
149
- <code className="bg-background px-1.5 py-0.5 rounded border mx-1">
150
- User-Agent
151
- </code>
152
- <code className="bg-background px-1.5 py-0.5 rounded border mx-1">X-API-Key</code>
153
- <code className="bg-background px-1.5 py-0.5 rounded border mx-1">
154
- Content-Type
155
- </code>
156
- </p>
157
- </div>
158
- </div>
159
- )}
160
-
161
- {/* MCP Servers Using This Credential */}
162
- <CredentialToolsList tools={credential.tools} tenantId={tenantId} projectId={projectId} />
163
- </div>
164
-
165
- <div className="flex gap-3 pt-4">
166
- {credential.type === CredentialStoreType.nango && (
167
- <Button type="submit" disabled={isSubmitting}>
168
- Save
169
- </Button>
170
- )}
171
- </div>
172
- </form>
173
- </Form>
194
+ <div className="flex w-full justify-between">
195
+ {credential.type === CredentialStoreType.nango && (
196
+ <Button type="submit" disabled={isSubmitting}>
197
+ Save
198
+ </Button>
199
+ )}
200
+ <DialogTrigger asChild>
201
+ <Button type="button" variant="secondary">
202
+ Delete Credential
203
+ </Button>
204
+ </DialogTrigger>
205
+ </div>
206
+ </form>
207
+ </Form>
208
+ {isDeleteOpen && (
209
+ <DeleteConfirmation
210
+ itemName={credential.id || 'this credential'}
211
+ isSubmitting={isDeleting}
212
+ onDelete={handleDelete}
213
+ />
214
+ )}
215
+ </Dialog>
174
216
  );
175
217
  }
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
 
3
- import { useParams } from 'next/navigation';
3
+ import { useParams, useRouter } from 'next/navigation';
4
4
  import { useState } from 'react';
5
5
  import { toast } from 'sonner';
6
6
  import { DeleteConfirmation } from '@/components/ui/delete-confirmation';
@@ -10,17 +10,20 @@ interface DeleteDataComponentConfirmationProps {
10
10
  dataComponentId: string;
11
11
  dataComponentName?: string;
12
12
  setIsOpen: (isOpen: boolean) => void;
13
+ redirectOnDelete?: boolean;
13
14
  }
14
15
 
15
16
  export function DeleteDataComponentConfirmation({
16
17
  dataComponentId,
17
18
  dataComponentName,
18
19
  setIsOpen,
20
+ redirectOnDelete = false,
19
21
  }: DeleteDataComponentConfirmationProps) {
20
22
  const { tenantId, projectId } = useParams<{
21
23
  tenantId: string;
22
24
  projectId: string;
23
25
  }>();
26
+ const router = useRouter();
24
27
  const [isSubmitting, setIsSubmitting] = useState(false);
25
28
 
26
29
  const handleDelete = async () => {
@@ -30,6 +33,9 @@ export function DeleteDataComponentConfirmation({
30
33
  if (result.success) {
31
34
  setIsOpen(false);
32
35
  toast.success('Component deleted.');
36
+ if (redirectOnDelete) {
37
+ router.push(`/${tenantId}/projects/${projectId}/components`);
38
+ }
33
39
  } else {
34
40
  toast.error(result.error);
35
41
  }
@@ -2,12 +2,14 @@
2
2
 
3
3
  import { zodResolver } from '@hookform/resolvers/zod';
4
4
  import { useRouter } from 'next/navigation';
5
+ import { useState } from 'react';
5
6
  import { useForm } from 'react-hook-form';
6
7
  import { toast } from 'sonner';
7
8
  import { GenericInput } from '@/components/form/generic-input';
8
9
  import { GenericTextarea } from '@/components/form/generic-textarea';
9
10
  import { JsonSchemaInput } from '@/components/form/json-schema-input';
10
11
  import { Button } from '@/components/ui/button';
12
+ import { Dialog, DialogTrigger } from '@/components/ui/dialog';
11
13
  import { ExternalLink } from '@/components/ui/external-link';
12
14
  import { Form } from '@/components/ui/form';
13
15
  import { useAutoPrefillId } from '@/hooks/use-auto-prefill-id';
@@ -17,6 +19,7 @@ import {
17
19
  } from '@/lib/actions/data-components';
18
20
  import type { DataComponent } from '@/lib/api/data-components';
19
21
  import { formatJsonField } from '@/lib/utils';
22
+ import { DeleteDataComponentConfirmation } from '../delete-data-component-confirmation';
20
23
  import { ComponentPreviewGenerator } from '../preview/component-preview-generator';
21
24
  import { defaultValues } from './form-configuration';
22
25
  import { type DataComponentFormData, dataComponentSchema } from './validation';
@@ -44,6 +47,7 @@ export function DataComponentForm({
44
47
  id,
45
48
  initialData,
46
49
  }: DataComponentFormProps) {
50
+ const [isDeleteOpen, setIsDeleteOpen] = useState(false);
47
51
  const form = useForm<DataComponentFormData>({
48
52
  resolver: zodResolver(dataComponentSchema),
49
53
  defaultValues: formatFormData(initialData),
@@ -87,71 +91,90 @@ export function DataComponentForm({
87
91
  };
88
92
 
89
93
  return (
90
- <Form {...form}>
91
- <form onSubmit={form.handleSubmit(onSubmit)} className="space-y-8">
92
- <GenericInput
93
- control={form.control}
94
- name="name"
95
- label="Name"
96
- placeholder="ListOrders"
97
- description={
98
- <>
99
- This name is used to identify the component in chat widget integration.{' '}
100
- <ExternalLink
101
- href="https://docs.inkeep.com/typescript-sdk/structured-outputs/data-components#frontend-integration"
102
- target="_blank"
103
- >
104
- Learn more
105
- </ExternalLink>
106
- </>
107
- }
108
- isRequired
109
- />
110
- <GenericInput
111
- control={form.control}
112
- name="id"
113
- label="Id"
114
- placeholder="my-data-component"
115
- disabled={!!id}
116
- description={
117
- id
118
- ? ''
119
- : 'Choose a unique identifier for this component. Using an existing id will replace that component.'
120
- }
121
- isRequired
122
- />
123
- <GenericTextarea
124
- control={form.control}
125
- name="description"
126
- label="Description"
127
- placeholder="Display a list of user orders with interactive options"
128
- className="min-h-[80px]"
129
- isRequired
130
- />
131
- <JsonSchemaInput
132
- control={form.control}
133
- name="props"
134
- label="Props (JSON schema)"
135
- placeholder="Enter a valid JSON Schema..."
136
- isRequired
137
- />
138
-
139
- {id && (
140
- <ComponentPreviewGenerator
141
- tenantId={tenantId}
142
- projectId={projectId}
143
- dataComponentId={id}
144
- existingPreview={initialData?.preview || null}
145
- onPreviewChanged={(preview) => {
146
- form.setValue('preview', preview);
147
- }}
94
+ <Dialog open={isDeleteOpen} onOpenChange={setIsDeleteOpen}>
95
+ <Form {...form}>
96
+ <form onSubmit={form.handleSubmit(onSubmit)} className="space-y-8">
97
+ <GenericInput
98
+ control={form.control}
99
+ name="name"
100
+ label="Name"
101
+ placeholder="ListOrders"
102
+ description={
103
+ <>
104
+ This name is used to identify the component in chat widget integration.{' '}
105
+ <ExternalLink
106
+ href="https://docs.inkeep.com/typescript-sdk/structured-outputs/data-components#frontend-integration"
107
+ target="_blank"
108
+ >
109
+ Learn more
110
+ </ExternalLink>
111
+ </>
112
+ }
113
+ isRequired
114
+ />
115
+ <GenericInput
116
+ control={form.control}
117
+ name="id"
118
+ label="Id"
119
+ placeholder="my-data-component"
120
+ disabled={!!id}
121
+ description={
122
+ id
123
+ ? ''
124
+ : 'Choose a unique identifier for this component. Using an existing id will replace that component.'
125
+ }
126
+ isRequired
127
+ />
128
+ <GenericTextarea
129
+ control={form.control}
130
+ name="description"
131
+ label="Description"
132
+ placeholder="Display a list of user orders with interactive options"
133
+ className="min-h-[80px]"
134
+ isRequired
135
+ />
136
+ <JsonSchemaInput
137
+ control={form.control}
138
+ name="props"
139
+ label="Props (JSON schema)"
140
+ placeholder="Enter a valid JSON Schema..."
141
+ isRequired
148
142
  />
149
- )}
150
143
 
151
- <Button type="submit" disabled={isSubmitting}>
152
- Save
153
- </Button>
154
- </form>
155
- </Form>
144
+ {id && (
145
+ <ComponentPreviewGenerator
146
+ tenantId={tenantId}
147
+ projectId={projectId}
148
+ dataComponentId={id}
149
+ existingPreview={initialData?.preview || null}
150
+ onPreviewChanged={(preview) => {
151
+ form.setValue('preview', preview);
152
+ }}
153
+ />
154
+ )}
155
+
156
+ <div className="flex w-full justify-between">
157
+ <Button type="submit" disabled={isSubmitting}>
158
+ Save
159
+ </Button>
160
+ {id && (
161
+ <DialogTrigger asChild>
162
+ <Button type="button" variant="secondary">
163
+ Delete Component
164
+ </Button>
165
+ </DialogTrigger>
166
+ )}
167
+ </div>
168
+ </form>
169
+ </Form>
170
+ {isDeleteOpen && id && (
171
+ <DeleteDataComponentConfirmation
172
+ dataComponentId={id}
173
+ dataComponentName={form.getValues('name')}
174
+ setIsOpen={setIsDeleteOpen}
175
+ redirectOnDelete={true}
176
+ />
177
+ )}
178
+ </Dialog>
156
179
  );
157
180
  }
@@ -8,6 +8,7 @@ import { CodeEditor } from '@/components/form/code-editor';
8
8
  import { JsonEditor } from '@/components/form/json-editor';
9
9
  import { Button } from '@/components/ui/button';
10
10
  import { Card } from '@/components/ui/card';
11
+ import { InfoCard } from '@/components/ui/info-card';
11
12
  import { Label } from '@/components/ui/label';
12
13
  import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';
13
14
  import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
@@ -317,6 +318,12 @@ export function ComponentPreviewGenerator({
317
318
  </TabsContent>
318
319
  </Tabs>
319
320
  )}
321
+
322
+ {!hasPreview && !isGenerating && !isComplete && (
323
+ <InfoCard>
324
+ <p className="text-sm text-muted-foreground">No preview generated</p>
325
+ </InfoCard>
326
+ )}
320
327
  </div>
321
328
  );
322
329
  }
@@ -4,14 +4,18 @@ import { zodResolver } from '@hookform/resolvers/zod';
4
4
  import { generateId } from '@/lib/utils/id-utils';
5
5
  import { detectAuthenticationRequired, MCPTransportType } from '@inkeep/agents-core/client-exports';
6
6
  import { useRouter } from 'next/navigation';
7
+ import { useState } from 'react';
7
8
  import { useForm } from 'react-hook-form';
8
9
  import { toast } from 'sonner';
9
10
  import { GenericInput } from '@/components/form/generic-input';
10
11
  import { GenericSelect } from '@/components/form/generic-select';
11
12
  import { Button } from '@/components/ui/button';
13
+ import { DeleteConfirmation } from '@/components/ui/delete-confirmation';
14
+ import { Dialog, DialogTrigger } from '@/components/ui/dialog';
12
15
  import { Form } from '@/components/ui/form';
13
16
  import { InfoCard } from '@/components/ui/info-card';
14
17
  import { useOAuthLogin } from '@/hooks/use-oauth-login';
18
+ import { deleteToolAction } from '@/lib/actions/tools';
15
19
  import type { Credential } from '@/lib/api/credentials';
16
20
  import { createMCPTool, updateMCPTool } from '@/lib/api/tools';
17
21
  import type { MCPTool } from '@/lib/types/tools';
@@ -54,6 +58,8 @@ export function MCPServerForm({
54
58
  projectId,
55
59
  }: MCPServerFormProps) {
56
60
  const router = useRouter();
61
+ const [isDeleteOpen, setIsDeleteOpen] = useState(false);
62
+ const [isDeleting, setIsDeleting] = useState(false);
57
63
 
58
64
  const form = useForm({
59
65
  resolver: zodResolver(mcpToolSchema),
@@ -157,9 +163,29 @@ export function MCPServerForm({
157
163
  }
158
164
  };
159
165
 
166
+ const handleDelete = async () => {
167
+ if (!tool) return;
168
+
169
+ setIsDeleting(true);
170
+ try {
171
+ // Don't revalidate to avoid Next.js trying to refetch the deleted resource on current page
172
+ const result = await deleteToolAction(tenantId, projectId, tool.id, false);
173
+ if (result.success) {
174
+ setIsDeleteOpen(false);
175
+ toast.success('MCP server deleted.');
176
+ router.push(`/${tenantId}/projects/${projectId}/mcp-servers`);
177
+ } else {
178
+ toast.error(result.error || 'Failed to delete MCP server.');
179
+ }
180
+ } finally {
181
+ setIsDeleting(false);
182
+ }
183
+ };
184
+
160
185
  return (
161
- <Form {...form}>
162
- <form onSubmit={form.handleSubmit(onSubmit)} className="space-y-8">
186
+ <Dialog open={isDeleteOpen} onOpenChange={setIsDeleteOpen}>
187
+ <Form {...form}>
188
+ <form onSubmit={form.handleSubmit(onSubmit)} className="space-y-8">
163
189
  <GenericInput
164
190
  control={form.control}
165
191
  name="name"
@@ -240,10 +266,27 @@ export function MCPServerForm({
240
266
  />
241
267
  )}
242
268
 
243
- <Button type="submit" disabled={isSubmitting}>
244
- {mode === 'update' ? 'Save' : 'Create'}
245
- </Button>
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>
246
281
  </form>
247
282
  </Form>
283
+ {isDeleteOpen && tool && (
284
+ <DeleteConfirmation
285
+ itemName={tool.name || 'this MCP server'}
286
+ isSubmitting={isDeleting}
287
+ onDelete={handleDelete}
288
+ />
289
+ )}
290
+ </Dialog>
248
291
  );
249
292
  }
@@ -4,7 +4,7 @@ import { ChevronDown } from 'lucide-react';
4
4
  import { Button } from './button';
5
5
 
6
6
  interface InfoCardProps {
7
- title: string;
7
+ title?: string;
8
8
  Icon?: LucideIcon;
9
9
  children: React.ReactNode;
10
10
  }
@@ -12,10 +12,12 @@ interface InfoCardProps {
12
12
  export function InfoCard({ title, Icon, children }: InfoCardProps) {
13
13
  return (
14
14
  <div className="text-xs text-gray-800 dark:text-muted-foreground p-3 bg-gray-100/80 dark:bg-sidebar rounded-md">
15
- <div className="flex items-center gap-2 mb-2">
16
- {Icon && <Icon className="w-3 h-3 text-muted-foreground" />}
17
- <p className="font-medium text-foreground font-mono uppercase">{title}</p>
18
- </div>
15
+ {title && (
16
+ <div className="flex items-center gap-2 mb-2">
17
+ {Icon && <Icon className="w-3 h-3 text-muted-foreground" />}
18
+ <p className="font-medium text-foreground font-mono uppercase">{title}</p>
19
+ </div>
20
+ )}
19
21
  {children}
20
22
  </div>
21
23
  );
@@ -458,9 +458,18 @@ export function validateSerializedData(
458
458
  ): StructuredValidationError[] {
459
459
  const errors: StructuredValidationError[] = [];
460
460
 
461
+ if (!data.defaultSubAgentId) {
462
+ errors.push({
463
+ message: 'Default sub agent ID is required, please select a default sub agent.',
464
+ field: 'defaultSubAgentId',
465
+ code: 'required',
466
+ path: ['defaultSubAgentId'],
467
+ });
468
+ }
469
+
461
470
  if (data.defaultSubAgentId && !data.subAgents[data.defaultSubAgentId]) {
462
471
  errors.push({
463
- message: `Default agent ID '${data.defaultSubAgentId}' not found in agents.`,
472
+ message: `Default sub agent ID '${data.defaultSubAgentId}' not found in sub agents.`,
464
473
  field: 'defaultSubAgentId',
465
474
  code: 'invalid_reference',
466
475
  path: ['defaultSubAgentId'],
@@ -1,6 +1,6 @@
1
1
  import { useEffect } from 'react';
2
2
  import { type FieldValues, type UseFormReturn, useWatch } from 'react-hook-form';
3
- import { generateId } from '@/lib/utils/id-utils';
3
+ import { generateIdFromName } from '@/lib/utils/generate-id';
4
4
 
5
5
  interface UseAutoPrefillIdOptions<T extends FieldValues> {
6
6
  form: UseFormReturn<T>;
@@ -29,7 +29,7 @@ export function useAutoPrefillId<T extends FieldValues>({
29
29
  // biome-ignore lint/correctness/useExhaustiveDependencies: we don't want to re-run this effect when the isIdFieldModified changes since that means the user has manually edited the ID field
30
30
  useEffect(() => {
31
31
  if (!isEditing && nameValue && !isIdFieldModified) {
32
- const generatedId = generateId(nameValue);
32
+ const generatedId = generateIdFromName(nameValue);
33
33
  form.setValue(idField as any, generatedId as any, {
34
34
  shouldValidate: true,
35
35
  });
@@ -9,9 +9,25 @@ interface UseNodeEditorOptions {
9
9
  }
10
10
 
11
11
  export function useNodeEditor({ selectedNodeId, errorHelpers }: UseNodeEditorOptions) {
12
- const { updateNodeData } = useReactFlow();
12
+ const { updateNodeData, setNodes } = useReactFlow();
13
13
  const { markUnsaved } = useAgentActions();
14
14
 
15
+ const updateDefaultSubAgent = useCallback(
16
+ (isDefault: boolean) => {
17
+ setNodes((nodes) =>
18
+ nodes.map((node) => {
19
+ if (node.id === selectedNodeId) {
20
+ return { ...node, data: { ...node.data, isDefault }, deletable: !isDefault };
21
+ } else if (isDefault && node.data.isDefault) {
22
+ return { ...node, data: { ...node.data, isDefault: false }, deletable: true };
23
+ }
24
+ return node;
25
+ })
26
+ );
27
+ },
28
+ [selectedNodeId, setNodes]
29
+ );
30
+
15
31
  // Focus management for error fields
16
32
  const fieldRefs = useRef<Record<string, HTMLElement>>({});
17
33
 
@@ -127,6 +143,7 @@ export function useNodeEditor({ selectedNodeId, errorHelpers }: UseNodeEditorOpt
127
143
  updatePath,
128
144
  updateNestedPath,
129
145
  handleInputChange,
146
+ updateDefaultSubAgent,
130
147
 
131
148
  // Error handling
132
149
  getFieldError,
@@ -121,7 +121,6 @@ export async function deleteArtifactComponentAction(
121
121
  try {
122
122
  await deleteArtifactComponent(tenantId, projectId, artifactComponentId);
123
123
  revalidatePath(`/${tenantId}/projects/${projectId}/artifacts`);
124
- revalidatePath(`/${tenantId}/projects/${projectId}/artifacts/${artifactComponentId}`);
125
124
  return {
126
125
  success: true,
127
126
  };