@inkeep/agents-manage-ui 0.11.2 → 0.12.0

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 (254) 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 +194 -212
  3. package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +5 -5
  4. package/.next/standalone/agents-manage-ui/.next/build-manifest.json +2 -2
  5. package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +15 -15
  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_client-reference-manifest.js +1 -1
  8. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js +3 -3
  9. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js.nft.json +1 -1
  10. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js +1 -1
  12. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js.nft.json +1 -1
  13. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js +2 -2
  15. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js.nft.json +1 -1
  16. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js +2 -2
  18. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js +2 -2
  20. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js.nft.json +1 -1
  21. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js +2 -2
  23. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js.nft.json +1 -1
  24. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js +1 -1
  26. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js +1 -1
  28. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js.nft.json +1 -1
  29. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js +2 -2
  31. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js.nft.json +1 -1
  32. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js +1 -1
  34. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page_client-reference-manifest.js +1 -1
  35. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js +2 -2
  36. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
  37. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
  38. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js +2 -2
  39. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js.nft.json +1 -1
  40. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
  41. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js +2 -2
  42. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page.js +2 -2
  44. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page.js.nft.json +1 -1
  45. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/new/page.js +2 -2
  47. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/new/page.js.nft.json +1 -1
  48. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/new/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/page.js +2 -2
  50. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js +2 -2
  52. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js.nft.json +1 -1
  53. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js +2 -2
  55. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page_client-reference-manifest.js +1 -1
  56. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js +2 -2
  57. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js.nft.json +1 -1
  58. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
  59. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js +2 -2
  60. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page_client-reference-manifest.js +1 -1
  61. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js +2 -2
  62. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  63. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js +2 -2
  64. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page_client-reference-manifest.js +1 -1
  65. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js +2 -2
  66. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js.nft.json +1 -1
  67. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page_client-reference-manifest.js +1 -1
  68. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js +2 -2
  69. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js.nft.json +1 -1
  70. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page_client-reference-manifest.js +1 -1
  71. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js +3 -3
  72. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js.nft.json +1 -1
  73. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page_client-reference-manifest.js +1 -1
  74. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js +1 -1
  75. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page_client-reference-manifest.js +1 -1
  76. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js +1 -1
  77. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  78. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
  79. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +9 -9
  80. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route.js +2 -2
  81. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route_client-reference-manifest.js +1 -1
  83. package/.next/standalone/agents-manage-ui/.next/server/app/page.js +2 -2
  84. package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
  85. package/.next/standalone/agents-manage-ui/.next/server/app-paths-manifest.json +5 -5
  86. package/.next/standalone/agents-manage-ui/.next/server/chunks/1670.js +1 -1
  87. package/.next/standalone/agents-manage-ui/.next/server/chunks/189.js +1 -0
  88. package/.next/standalone/agents-manage-ui/.next/server/chunks/{1441.js → 1933.js} +1 -1
  89. package/.next/standalone/agents-manage-ui/.next/server/chunks/2539.js +3 -3
  90. package/.next/standalone/agents-manage-ui/.next/server/chunks/2749.js +1 -0
  91. package/.next/standalone/agents-manage-ui/.next/server/chunks/{2411.js → 2903.js} +1 -1
  92. package/.next/standalone/agents-manage-ui/.next/server/chunks/2916.js +1 -1
  93. package/.next/standalone/agents-manage-ui/.next/server/chunks/3082.js +1 -0
  94. package/.next/standalone/agents-manage-ui/.next/server/chunks/320.js +1 -1
  95. package/.next/standalone/agents-manage-ui/.next/server/chunks/{9734.js → 3468.js} +1 -1
  96. package/.next/standalone/agents-manage-ui/.next/server/chunks/3547.js +1 -1
  97. package/.next/standalone/agents-manage-ui/.next/server/chunks/3859.js +23 -19
  98. package/.next/standalone/agents-manage-ui/.next/server/chunks/5517.js +1 -1
  99. package/.next/standalone/agents-manage-ui/.next/server/chunks/6212.js +1 -0
  100. package/.next/standalone/agents-manage-ui/.next/server/chunks/6351.js +1 -1
  101. package/.next/standalone/agents-manage-ui/.next/server/chunks/694.js +1 -1
  102. package/.next/standalone/agents-manage-ui/.next/server/chunks/7503.js +1 -0
  103. package/.next/standalone/agents-manage-ui/.next/server/chunks/7511.js +1 -1
  104. package/.next/standalone/agents-manage-ui/.next/server/chunks/{5634.js → 7577.js} +2 -2
  105. package/.next/standalone/agents-manage-ui/.next/server/chunks/8048.js +1 -1
  106. package/.next/standalone/agents-manage-ui/.next/server/chunks/8321.js +1 -1
  107. package/.next/standalone/agents-manage-ui/.next/server/chunks/8449.js +2 -2
  108. package/.next/standalone/agents-manage-ui/.next/server/chunks/9892.js +1 -1
  109. package/.next/standalone/agents-manage-ui/.next/server/pages/404.html +1 -1
  110. package/.next/standalone/agents-manage-ui/.next/server/pages/500.html +1 -1
  111. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.js +1 -1
  112. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.json +1 -1
  113. package/.next/standalone/agents-manage-ui/.next/static/chunks/1122-8db1ba2ae3171a66.js +1 -0
  114. package/.next/standalone/agents-manage-ui/.next/static/chunks/1278-51b8dfa15b83a027.js +1 -0
  115. package/.next/standalone/agents-manage-ui/.next/static/chunks/1558-436164db937a531a.js +1 -0
  116. package/.next/standalone/agents-manage-ui/.next/static/chunks/2063-3f9e00e568b9fbd9.js +1 -0
  117. package/.next/standalone/agents-manage-ui/.next/static/chunks/{3023-7903e7b102b972eb.js → 2706-4fe94ba08fad72de.js} +8 -8
  118. package/.next/standalone/agents-manage-ui/.next/static/chunks/2860-23cac986bdbc6f0d.js +1 -0
  119. package/.next/standalone/agents-manage-ui/.next/static/chunks/3241-a114b4dae45882c2.js +1 -0
  120. package/.next/standalone/agents-manage-ui/.next/static/chunks/384-a114b4dae45882c2.js +1 -0
  121. package/.next/standalone/agents-manage-ui/.next/static/chunks/4420-1006bcd3841d18ce.js +1 -0
  122. package/.next/standalone/agents-manage-ui/.next/static/chunks/5016-5212df5572c00450.js +1 -0
  123. package/.next/standalone/agents-manage-ui/.next/static/chunks/5200-a92c33fc465d2ed6.js +1 -0
  124. package/.next/standalone/agents-manage-ui/.next/static/chunks/{3996-6f12fdc9b55faa33.js → 5397-82d7c4a0c636b60e.js} +1 -1
  125. package/.next/standalone/agents-manage-ui/.next/static/chunks/5622-a114b4dae45882c2.js +1 -0
  126. package/.next/standalone/agents-manage-ui/.next/static/chunks/7167-84a6a1036d4ad8b9.js +1 -0
  127. package/.next/standalone/agents-manage-ui/.next/static/chunks/7210-ed4b9b414a7bf114.js +1 -0
  128. package/.next/standalone/agents-manage-ui/.next/static/chunks/7394-b444a34c3232ffe7.js +1 -0
  129. package/.next/standalone/agents-manage-ui/.next/static/chunks/7674-b1c4e03f250a7863.js +1 -0
  130. package/.next/standalone/agents-manage-ui/.next/static/chunks/7775-ec1fa275bc3e6717.js +1 -0
  131. package/.next/standalone/agents-manage-ui/.next/static/chunks/7994-95135bda825a0b62.js +1 -0
  132. package/.next/standalone/agents-manage-ui/.next/static/chunks/8003-a114b4dae45882c2.js +1 -0
  133. package/.next/standalone/agents-manage-ui/.next/static/chunks/8197-a41c5aa502a71e0c.js +1 -0
  134. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/error-9b1788d15a572652.js +1 -0
  135. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-a77bea18c2ec4ddf.js +1 -0
  136. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/error-f4e04a252a003510.js +1 -0
  137. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-bd3483f62fc4cfa6.js +1 -0
  138. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/error-8e7ee0b452e16bf3.js +1 -0
  139. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/loading-f16e83f5a76314a9.js +1 -0
  140. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-bd3483f62fc4cfa6.js +1 -0
  141. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-ab237a58ec5484e3.js +1 -0
  142. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/error-0d5c117cb7d999c9.js +1 -0
  143. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/{page-5ebab50279b94a39.js → page-43fa3e7cf1f000d9.js} +1 -1
  144. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/error-9499695753aa33ec.js +1 -0
  145. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/loading-f16e83f5a76314a9.js +1 -0
  146. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/{page-5ebab50279b94a39.js → page-43fa3e7cf1f000d9.js} +1 -1
  147. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-2f2f306471f494fb.js +1 -0
  148. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-c8a3cd07bfba729e.js +1 -0
  149. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/error-409d41bd0525f22f.js +1 -0
  150. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-7917e532e48d68bc.js +1 -0
  151. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/page-f16e83f5a76314a9.js +1 -0
  152. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/{page-aa7c750f5eac9d1d.js → page-bf4c5ee1fcd0a1f8.js} +1 -1
  153. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/page-38d3932163173796.js +1 -0
  154. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-f6d7e7f8ecab1e3c.js +1 -0
  155. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/[graphId]/error-8da8330295a84328.js +1 -0
  156. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/[graphId]/loading-2868de136b155d0e.js +1 -0
  157. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page-d6f01d6d7fe69cea.js +1 -0
  158. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/error-9cf04dc4aab414a2.js +1 -0
  159. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/loading-f16e83f5a76314a9.js +1 -0
  160. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/new/page-0d87ce40bb16c1de.js +1 -0
  161. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/page-e16634fbbf6ba350.js +1 -0
  162. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/{page-4a73ac24f9335ada.js → page-c1587a84a6de6faa.js} +1 -1
  163. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-653ca9c1d193612c.js +1 -0
  164. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/layout-2868de136b155d0e.js +1 -0
  165. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-e7510fbf0b60102e.js +1 -0
  166. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-d6e247dbe00dedc9.js +1 -0
  167. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/error-9be350c37252135d.js +1 -0
  168. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/{page-3b726e83cc8413b5.js → page-1ad1329e9cb6ef07.js} +1 -1
  169. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/ai-calls/page-597f4ccaf9557e60.js +1 -0
  170. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page-b9deaa2fcd232705.js +1 -0
  171. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-64699c02792faa9e.js +1 -0
  172. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/error-d0668aab86c9a04e.js +1 -0
  173. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/loading-f16e83f5a76314a9.js +1 -0
  174. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-f8a28b248b84c95c.js +1 -0
  175. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-113eab9fed572fa2.js +1 -0
  176. package/.next/standalone/agents-manage-ui/.next/static/css/e970895dc785a75c.css +1 -0
  177. package/.next/standalone/agents-manage-ui/package.json +1 -1
  178. package/.next/standalone/packages/agents-core/package.json +1 -1
  179. package/package.json +4 -4
  180. package/src/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.tsx +2 -6
  181. package/src/app/api/signoz/conversations/[conversationId]/route.ts +92 -55
  182. package/src/components/mcp-servers/mcp-tool-image.tsx +4 -1
  183. package/src/components/mcp-servers/mcp-tool-item.tsx +9 -14
  184. package/src/components/mcp-servers/selection/mcp-server-selection.tsx +130 -0
  185. package/src/components/mcp-servers/selection/prebuilt-server-card.tsx +74 -0
  186. package/src/components/mcp-servers/selection/prebuilt-servers-grid.tsx +45 -0
  187. package/src/components/mcp-servers/view-mcp-server-details.tsx +9 -56
  188. package/src/components/traces/conversation-detail.tsx +90 -75
  189. package/src/components/traces/conversation-stats/conversation-list-item.tsx +3 -3
  190. package/src/components/traces/signoz-link.tsx +2 -2
  191. package/src/components/traces/timeline/render-panel-content.tsx +116 -8
  192. package/src/components/traces/timeline/timeline-item.tsx +36 -2
  193. package/src/components/traces/timeline/timeline-wrapper.tsx +2 -0
  194. package/src/components/traces/timeline/types.ts +11 -10
  195. package/src/constants/signoz.ts +6 -0
  196. package/src/hooks/use-oauth-login.ts +81 -0
  197. package/src/lib/data/prebuilt-mcp-servers.ts +340 -0
  198. package/src/lib/utils/signoz-links.ts +53 -0
  199. package/.next/standalone/agents-manage-ui/.next/server/chunks/1947.js +0 -1
  200. package/.next/standalone/agents-manage-ui/.next/server/chunks/2133.js +0 -1
  201. package/.next/standalone/agents-manage-ui/.next/server/chunks/6539.js +0 -1
  202. package/.next/standalone/agents-manage-ui/.next/server/chunks/932.js +0 -1
  203. package/.next/standalone/agents-manage-ui/.next/server/chunks/9474.js +0 -1
  204. package/.next/standalone/agents-manage-ui/.next/static/chunks/1269-01d206587f84136b.js +0 -1
  205. package/.next/standalone/agents-manage-ui/.next/static/chunks/1695-26fd09355931b936.js +0 -1
  206. package/.next/standalone/agents-manage-ui/.next/static/chunks/2063-af61e7c864e76f4f.js +0 -1
  207. package/.next/standalone/agents-manage-ui/.next/static/chunks/318-2d04832794761666.js +0 -1
  208. package/.next/standalone/agents-manage-ui/.next/static/chunks/338-b07d82d58ea91de3.js +0 -1
  209. package/.next/standalone/agents-manage-ui/.next/static/chunks/6531-98b5e4b4f232d04e.js +0 -1
  210. package/.next/standalone/agents-manage-ui/.next/static/chunks/7143-de3bf969c411ad87.js +0 -1
  211. package/.next/standalone/agents-manage-ui/.next/static/chunks/7167-1f13e0b15243f269.js +0 -1
  212. package/.next/standalone/agents-manage-ui/.next/static/chunks/8805-d6e6305219ee0332.js +0 -1
  213. package/.next/standalone/agents-manage-ui/.next/static/chunks/9405-c4290c8d28641514.js +0 -1
  214. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/error-b22d546388b6a169.js +0 -1
  215. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-2e195d53def8c19e.js +0 -1
  216. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/error-f1418a11c66d8096.js +0 -1
  217. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-ac91deb39a6b8793.js +0 -1
  218. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/error-30269bcc821d7de1.js +0 -1
  219. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/loading-025ec4e3a5810eca.js +0 -1
  220. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-ac91deb39a6b8793.js +0 -1
  221. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-649892912c839bde.js +0 -1
  222. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/error-cc0a7cc2ba09d619.js +0 -1
  223. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/error-4a78192429f3c345.js +0 -1
  224. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/loading-025ec4e3a5810eca.js +0 -1
  225. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-08f685da4f06a7fc.js +0 -1
  226. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-198dcecbb2461762.js +0 -1
  227. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/error-5b18b7681b225d13.js +0 -1
  228. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-c3f5e44ac7663f6d.js +0 -1
  229. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/page-025ec4e3a5810eca.js +0 -1
  230. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/page-1e8b415d4dbe6ce9.js +0 -1
  231. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-274c54160bb0f9d2.js +0 -1
  232. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/[graphId]/error-d27f590d22f3cd9f.js +0 -1
  233. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/[graphId]/loading-12ce25d0058e6441.js +0 -1
  234. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page-2b3647052f03a92a.js +0 -1
  235. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/error-1e7c86f68b47b503.js +0 -1
  236. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/loading-025ec4e3a5810eca.js +0 -1
  237. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/new/page-5fa87b9255d9faa8.js +0 -1
  238. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/page-905fddd00abfc49b.js +0 -1
  239. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-7e0d6905b3917360.js +0 -1
  240. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/layout-12ce25d0058e6441.js +0 -1
  241. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-09459f85b5ce3072.js +0 -1
  242. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-707b2efc78a648c8.js +0 -1
  243. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/error-9d26f57bd40146a2.js +0 -1
  244. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/ai-calls/page-77edde19179afc5b.js +0 -1
  245. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page-280212bccc58a9fd.js +0 -1
  246. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-414be4d63f9c6d70.js +0 -1
  247. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/error-324c9117b5e03634.js +0 -1
  248. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/loading-025ec4e3a5810eca.js +0 -1
  249. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-65871ed016280c86.js +0 -1
  250. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-754c0e4841c5fc85.js +0 -1
  251. package/.next/standalone/agents-manage-ui/.next/static/css/95c9f4ed27eb56c3.css +0 -1
  252. package/src/components/traces/conversation-errors.tsx +0 -320
  253. /package/.next/standalone/agents-manage-ui/.next/static/{164_sUO8wBNOceKhxSL-5 → 5x4YI62SrSI7BFnjIZTQf}/_buildManifest.js +0 -0
  254. /package/.next/standalone/agents-manage-ui/.next/static/{164_sUO8wBNOceKhxSL-5 → 5x4YI62SrSI7BFnjIZTQf}/_ssgManifest.js +0 -0
@@ -5,11 +5,9 @@ import Link from 'next/link';
5
5
  import { Badge } from '@/components/ui/badge';
6
6
  import { ExternalLink } from '@/components/ui/external-link';
7
7
  import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';
8
- import { useRuntimeConfig } from '@/contexts/runtime-config-context';
8
+ import { useOAuthLogin } from '@/hooks/use-oauth-login';
9
9
  import type { MCPTool } from '@/lib/types/tools';
10
-
11
10
  import { cn } from '@/lib/utils';
12
- import { getOAuthLoginUrl } from '@/lib/utils/mcp-urls';
13
11
  import { getToolTypeAndName } from '@/lib/utils/mcp-utils';
14
12
  import { Button } from '../ui/button';
15
13
  import { CopyableMultiLineCode } from '../ui/copyable-multi-line-code';
@@ -53,7 +51,14 @@ export function ViewMCPServerDetails({
53
51
  tenantId: string;
54
52
  projectId: string;
55
53
  }) {
56
- const { INKEEP_AGENTS_MANAGE_API_URL } = useRuntimeConfig();
54
+ const { handleOAuthLogin } = useOAuthLogin({
55
+ tenantId,
56
+ projectId,
57
+ onFinish: () => {
58
+ window.location.reload();
59
+ },
60
+ });
61
+
57
62
  const formatDate = (dateString: string) => {
58
63
  return new Date(dateString).toLocaleDateString('en-US', {
59
64
  year: 'numeric',
@@ -99,50 +104,6 @@ export function ViewMCPServerDetails({
99
104
  return <div className={cn('flex w-full text-sm', className)}>{children}</div>;
100
105
  };
101
106
 
102
- // Handle OAuth login for MCP tools that need authentication
103
- const handleOAuthLogin = (toolId: string) => {
104
- try {
105
- // Get the OAuth URL and open in popup window
106
- const oauthUrl = getOAuthLoginUrl({
107
- INKEEP_AGENTS_MANAGE_API_URL,
108
- tenantId,
109
- projectId,
110
- id: toolId,
111
- });
112
- const popup = window.open(
113
- oauthUrl,
114
- 'oauth-popup',
115
- 'width=600,height=700,scrollbars=yes,resizable=yes,status=yes,location=yes'
116
- );
117
-
118
- // Listen for OAuth success message from popup
119
- const handleMessage = (event: MessageEvent) => {
120
- if (event.data.type === 'oauth-success' && event.data.toolId === toolId) {
121
- // Clean up listener
122
- window.removeEventListener('message', handleMessage);
123
- // Refresh the page to show updated tool status
124
- window.location.reload();
125
- }
126
- };
127
-
128
- if (popup) {
129
- window.addEventListener('message', handleMessage);
130
-
131
- // Fallback: Monitor popup for closure
132
- const checkClosed = setInterval(() => {
133
- if (popup.closed) {
134
- clearInterval(checkClosed);
135
- window.removeEventListener('message', handleMessage);
136
- // Only refresh if we didn't already get the success message
137
- window.location.reload();
138
- }
139
- }, 1000);
140
- }
141
- } catch (error) {
142
- console.error('OAuth login failed:', error);
143
- }
144
- };
145
-
146
107
  let provider: string | undefined;
147
108
  try {
148
109
  provider = getToolTypeAndName(tool).type;
@@ -195,14 +156,6 @@ export function ViewMCPServerDetails({
195
156
  </ItemValue>
196
157
  </div>
197
158
  </div>
198
- {tool.imageUrl && (
199
- <div className="space-y-2">
200
- <ItemLabel>Image URL</ItemLabel>
201
- <ItemValue>
202
- {tool.imageUrl.startsWith('data:image/') ? 'Base64 encoded image' : tool.imageUrl}
203
- </ItemValue>
204
- </div>
205
- )}
206
159
 
207
160
  <div className="space-y-2">
208
161
  <ItemLabel>Status</ItemLabel>
@@ -1,6 +1,12 @@
1
1
  'use client';
2
2
 
3
- import { Activity, ArrowLeft, MessageSquare, TriangleAlert } from 'lucide-react';
3
+ import {
4
+ Activity,
5
+ ArrowLeft,
6
+ ExternalLink as ExternalLinkIcon,
7
+ MessageSquare,
8
+ TriangleAlert,
9
+ } from 'lucide-react';
4
10
  import { useParams } from 'next/navigation';
5
11
  import { useEffect, useState } from 'react';
6
12
  import { formatDateTime, formatDuration } from '@/app/utils/format-date';
@@ -13,7 +19,7 @@ import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card';
13
19
  import { ExternalLink } from '@/components/ui/external-link';
14
20
  import { ResizablePanelGroup } from '@/components/ui/resizable';
15
21
  import { Skeleton } from '@/components/ui/skeleton';
16
- import { ConversationErrors } from './conversation-errors';
22
+ import { getSignozTracesExplorerUrl } from '@/lib/utils/signoz-links';
17
23
  import { SignozLink } from './signoz-link';
18
24
  import { InfoRow } from './timeline/blocks';
19
25
  import { TimelineWrapper } from './timeline/timeline-wrapper';
@@ -27,7 +33,6 @@ export function ConversationDetail({ conversationId, onBack }: ConversationDetai
27
33
  const [conversation, setConversation] = useState<ConversationDetailType | null>(null);
28
34
  const [loading, setLoading] = useState(true);
29
35
  const [error, setError] = useState<string | null>(null);
30
- const [showErrorsPage, setShowErrorsPage] = useState(false);
31
36
  const { tenantId, projectId } = useParams();
32
37
 
33
38
  useEffect(() => {
@@ -38,7 +43,6 @@ export function ConversationDetail({ conversationId, onBack }: ConversationDetai
38
43
  const response = await fetch(`/api/signoz/conversations/${conversationId}`);
39
44
  if (!response.ok) throw new Error('Failed to fetch conversation details');
40
45
  const data = await response.json();
41
- if (typeof data.totalErrors === 'undefined') data.totalErrors = 0;
42
46
  setConversation(data);
43
47
  } catch (err) {
44
48
  setError(err instanceof Error ? err.message : 'An error occurred');
@@ -86,12 +90,6 @@ export function ConversationDetail({ conversationId, onBack }: ConversationDetai
86
90
  );
87
91
  }
88
92
 
89
- if (showErrorsPage) {
90
- return (
91
- <ConversationErrors conversationId={conversationId} onBack={() => setShowErrorsPage(false)} />
92
- );
93
- }
94
-
95
93
  return (
96
94
  <div className="h-full flex flex-col">
97
95
  {/* Header */}
@@ -121,40 +119,50 @@ export function ConversationDetail({ conversationId, onBack }: ConversationDetai
121
119
 
122
120
  {/* Summary Cards */}
123
121
  <div className="grid gap-4 md:grid-cols-2 lg:grid-cols-3 mb-4 flex-shrink-0">
124
- {/* Errors */}
122
+ {/* Duration */}
125
123
  <Card
126
- className={`shadow-none bg-background ${conversation.totalErrors > 0 ? 'cursor-pointer hover:bg-destructive/5 dark:hover:bg-destructive/10 transition-colors' : ''}`}
127
- onClick={() => {
128
- if (conversation.totalErrors > 0) setShowErrorsPage(true);
129
- }}
124
+ className="shadow-none bg-background"
125
+ title={
126
+ conversation.conversationStartTime && conversation.conversationEndTime
127
+ ? `Start: ${conversation.conversationStartTime}\nEnd: ${conversation.conversationEndTime}`
128
+ : 'Timing data not available'
129
+ }
130
130
  >
131
131
  <CardHeader className="flex flex-row items-center justify-between space-y-0 pb-2">
132
- <CardTitle className="text-sm font-medium text-foreground">Errors</CardTitle>
133
- <TriangleAlert className="h-4 w-4 text-muted-foreground" />
132
+ <CardTitle className="text-sm font-medium text-foreground">Duration</CardTitle>
133
+ <Activity className="h-4 w-4 text-muted-foreground" />
134
134
  </CardHeader>
135
135
  <CardContent>
136
- <div
137
- className={`text-2xl font-bold ${conversation.totalErrors > 0 ? 'text-red-600' : 'text-green-600'}`}
138
- >
139
- {conversation.totalErrors}
136
+ <div className="space-y-2">
137
+ {conversation.conversationStartTime && conversation.conversationEndTime ? (
138
+ <>
139
+ <div className="text-sm font-medium text-foreground">
140
+ <div className="flex items-center gap-1">
141
+ <span className="text-xs text-muted-foreground">Start:</span>
142
+ <span className="text-xs font-mono">
143
+ {formatDateTime(conversation.conversationStartTime)}
144
+ </span>
145
+ </div>
146
+ <div className="flex items-center gap-1 mt-1">
147
+ <span className="text-xs text-muted-foreground">End:</span>
148
+ <span className="text-xs font-mono">
149
+ {formatDateTime(conversation.conversationEndTime)}
150
+ </span>
151
+ </div>
152
+ </div>
153
+ <div className="space-y-1 mt-2">
154
+ {conversation.conversationDuration && (
155
+ <div className="text-xs text-muted-foreground">
156
+ <span className="font-medium">Conversation Duration:</span>{' '}
157
+ {formatDuration(conversation.conversationDuration)}
158
+ </div>
159
+ )}
160
+ </div>
161
+ </>
162
+ ) : (
163
+ <div className="text-sm text-muted-foreground">Timing data not available</div>
164
+ )}
140
165
  </div>
141
- <p className="text-xs text-muted-foreground">
142
- {conversation.totalErrors === 0
143
- ? 'No errors detected'
144
- : (() => {
145
- const mcp = conversation.mcpToolErrors?.length || 0;
146
- const ctx = conversation.contextErrors?.length || 0;
147
- const agent = conversation.agentGenerationErrors?.length || 0;
148
- if (mcp || ctx || agent) {
149
- const parts = [];
150
- if (mcp) parts.push(`${mcp} MCP tool`);
151
- if (ctx) parts.push(`${ctx} context`);
152
- if (agent) parts.push(`${agent} agent generation`);
153
- return `${parts.join(', ')} errors - Click to view details`;
154
- }
155
- return 'Errors in conversation';
156
- })()}
157
- </p>
158
166
  </CardContent>
159
167
  </Card>
160
168
 
@@ -215,50 +223,57 @@ export function ConversationDetail({ conversationId, onBack }: ConversationDetai
215
223
  </CardContent>
216
224
  </Card>
217
225
 
218
- {/* Duration */}
219
- <Card
220
- className="shadow-none bg-background"
221
- title={
222
- conversation.conversationStartTime && conversation.conversationEndTime
223
- ? `Start: ${conversation.conversationStartTime}\nEnd: ${conversation.conversationEndTime}`
224
- : 'Timing data not available'
225
- }
226
- >
226
+ {/* Alerts */}
227
+ <Card className="shadow-none bg-background">
227
228
  <CardHeader className="flex flex-row items-center justify-between space-y-0 pb-2">
228
- <CardTitle className="text-sm font-medium text-foreground">Duration</CardTitle>
229
- <Activity className="h-4 w-4 text-muted-foreground" />
229
+ <CardTitle className="text-sm font-medium text-foreground">Alerts</CardTitle>
230
+ <TriangleAlert className="h-4 w-4 text-muted-foreground" />
230
231
  </CardHeader>
231
232
  <CardContent>
232
- <div className="space-y-2">
233
- {conversation.conversationStartTime && conversation.conversationEndTime ? (
233
+ {(() => {
234
+ const errors = conversation.errorCount ?? 0;
235
+ const warnings = conversation.warningCount ?? 0;
236
+ const total = errors + warnings;
237
+
238
+ return (
234
239
  <>
235
- <div className="text-sm font-medium text-foreground">
236
- <div className="flex items-center gap-1">
237
- <span className="text-xs text-muted-foreground">Start:</span>
238
- <span className="text-xs font-mono">
239
- {formatDateTime(conversation.conversationStartTime)}
240
- </span>
240
+ {total > 0 ? (
241
+ <div className="space-y-1">
242
+ {errors > 0 && (
243
+ <div className="flex items-baseline gap-2">
244
+ <span className="text-2xl font-bold font-mono text-red-600">{errors}</span>
245
+ <span className="text-sm text-muted-foreground">error{errors > 1 ? 's' : ''}</span>
246
+ </div>
247
+ )}
248
+ {warnings > 0 && (
249
+ <div className="flex items-baseline gap-2">
250
+ <span className="text-2xl font-bold font-mono text-yellow-500">{warnings}</span>
251
+ <span className="text-sm text-muted-foreground">warning{warnings > 1 ? 's' : ''}</span>
252
+ </div>
253
+ )}
241
254
  </div>
242
- <div className="flex items-center gap-1 mt-1">
243
- <span className="text-xs text-muted-foreground">End:</span>
244
- <span className="text-xs font-mono">
245
- {formatDateTime(conversation.conversationEndTime)}
246
- </span>
255
+ ) : (
256
+ <div>
257
+ <div className="text-2xl font-bold font-mono text-green-600 mb-1">0</div>
258
+ <p className="text-xs text-muted-foreground">No warnings or errors</p>
247
259
  </div>
248
- </div>
249
- <div className="space-y-1 mt-2">
250
- {conversation.conversationDuration && (
251
- <div className="text-xs text-muted-foreground">
252
- <span className="font-medium">Conversation Duration:</span>{' '}
253
- {formatDuration(conversation.conversationDuration)}
254
- </div>
255
- )}
256
- </div>
260
+ )}
261
+ {total > 0 && (
262
+ <Button
263
+ variant="outline"
264
+ size="sm"
265
+ className="mt-3 w-full flex items-center justify-center gap-1"
266
+ onClick={() => {
267
+ window.open(getSignozTracesExplorerUrl(conversationId as string), '_blank');
268
+ }}
269
+ >
270
+ <ExternalLinkIcon className="h-3 w-3" />
271
+ View in SigNoz
272
+ </Button>
273
+ )}
257
274
  </>
258
- ) : (
259
- <div className="text-sm text-muted-foreground">Timing data not available</div>
260
- )}
261
- </div>
275
+ );
276
+ })()}
262
277
  </CardContent>
263
278
  </Card>
264
279
  </div>
@@ -86,14 +86,14 @@ export function ConversationListItem({ conversation, projectId }: ConversationLi
86
86
  </TooltipContent>
87
87
  </Tooltip>
88
88
  )}
89
- <Badge variant="code" className="text-xs">
90
- {graphName ? `${graphName} (${graphId})` : graphId}
91
- </Badge>
92
89
  {hasErrors && (
93
90
  <Badge variant="error" className="flex items-center gap-1">
94
91
  {totalErrors} Error{totalErrors > 1 ? 's' : ''}
95
92
  </Badge>
96
93
  )}
94
+ <Badge variant="code" className="text-xs">
95
+ {graphName ? `${graphName} (${graphId})` : graphId}
96
+ </Badge>
97
97
  </div>
98
98
  </div>
99
99
  </div>
@@ -137,14 +137,14 @@ interface SignozSpanLinkProps {
137
137
  export function SignozLink({ conversationId }: SignozLinkProps) {
138
138
  const { SIGNOZ_URL } = useRuntimeConfig();
139
139
  return (
140
- <ExternalLink href={makeTracesUrl(SIGNOZ_URL, conversationId)}>View in SigNoz</ExternalLink>
140
+ <ExternalLink href={makeTracesUrl(SIGNOZ_URL, conversationId)}>View Conversation in SigNoz</ExternalLink>
141
141
  );
142
142
  }
143
143
 
144
144
  export function SignozSpanLink({ traceId, spanId }: SignozSpanLinkProps) {
145
145
  const { SIGNOZ_URL } = useRuntimeConfig();
146
146
  return (
147
- <ExternalLink href={makeSpanUrl(SIGNOZ_URL, traceId, spanId)}>View in SigNoz</ExternalLink>
147
+ <ExternalLink href={makeSpanUrl(SIGNOZ_URL, traceId, spanId)}>View span in SigNoz</ExternalLink>
148
148
  );
149
149
  }
150
150
 
@@ -95,6 +95,66 @@ export function renderPanelContent({
95
95
  </Bubble>
96
96
  </LabeledBlock>
97
97
  )}
98
+ {a.aiPromptMessages && (
99
+ <LabeledBlock label="Prompt messages">
100
+ <CodeBubble className="max-h-60 overflow-y-auto">
101
+ <Streamdown>{`\`\`\`json\n${(() => {
102
+ try {
103
+ return JSON.stringify(JSON.parse(a.aiPromptMessages), null, 2);
104
+ } catch {
105
+ return a.aiPromptMessages;
106
+ }
107
+ })()}\n\`\`\``}</Streamdown>
108
+ </CodeBubble>
109
+ </LabeledBlock>
110
+ )}
111
+ {a.aiResponseToolCalls && (
112
+ <LabeledBlock label="Tool calls">
113
+ <CodeBubble className="max-h-60 overflow-y-auto">
114
+ <Streamdown>{`\`\`\`json\n${(() => {
115
+ try {
116
+ return JSON.stringify(JSON.parse(a.aiResponseToolCalls), null, 2);
117
+ } catch {
118
+ return a.aiResponseToolCalls;
119
+ }
120
+ })()}\n\`\`\``}</Streamdown>
121
+ </CodeBubble>
122
+ </LabeledBlock>
123
+ )}
124
+ {/* Show error message if there's an error */}
125
+ {a.hasError && a.otelStatusDescription && (
126
+ <LabeledBlock label="Error">
127
+ <Bubble className="bg-red-50 border-red-200 text-red-800 dark:bg-red-900/20 dark:border-red-800 dark:text-red-300">
128
+ {a.otelStatusDescription}
129
+ </Bubble>
130
+ </LabeledBlock>
131
+ )}
132
+ {a.hasError && a.otelStatusCode && (
133
+ <Info label="Status code" value={a.otelStatusCode} />
134
+ )}
135
+ <StatusBadge status={a.status} />
136
+ <Info label="Timestamp" value={formatDateTime(a.timestamp)} />
137
+ </Section>
138
+ <Divider />
139
+ {SignozButton}
140
+ {AdvancedBlock}
141
+ </>
142
+ );
143
+
144
+ case 'agent_generation':
145
+ return (
146
+ <>
147
+ <Section>
148
+ {a.hasError && a.otelStatusDescription && (
149
+ <LabeledBlock label="Error">
150
+ <Bubble className="bg-red-50 border-red-200 text-red-800 dark:bg-red-900/20 dark:border-red-800 dark:text-red-300">
151
+ {a.otelStatusDescription}
152
+ </Bubble>
153
+ </LabeledBlock>
154
+ )}
155
+ {a.hasError && a.otelStatusCode && (
156
+ <Info label="Status code" value={a.otelStatusCode} />
157
+ )}
98
158
  <StatusBadge status={a.status} />
99
159
  <Info label="Timestamp" value={formatDateTime(a.timestamp)} />
100
160
  </Section>
@@ -231,14 +291,26 @@ export function renderPanelContent({
231
291
  {a.toolCallArgs && (
232
292
  <LabeledBlock label="Tool arguments">
233
293
  <CodeBubble className="max-h-60 overflow-y-auto">
234
- <Streamdown>{`\`\`\`json\n${a.toolCallArgs}\n\`\`\``}</Streamdown>
294
+ <Streamdown>{`\`\`\`json\n${(() => {
295
+ try {
296
+ return JSON.stringify(JSON.parse(a.toolCallArgs), null, 2);
297
+ } catch {
298
+ return a.toolCallArgs;
299
+ }
300
+ })()}\n\`\`\``}</Streamdown>
235
301
  </CodeBubble>
236
302
  </LabeledBlock>
237
303
  )}
238
304
  {a.toolCallResult && (
239
305
  <LabeledBlock label="Tool result">
240
306
  <CodeBubble className="max-h-60 overflow-y-auto">
241
- <Streamdown>{`\`\`\`json\n${a.toolCallResult}\n\`\`\``}</Streamdown>
307
+ <Streamdown>{`\`\`\`json\n${(() => {
308
+ try {
309
+ return JSON.stringify(JSON.parse(a.toolCallResult), null, 2);
310
+ } catch {
311
+ return a.toolCallResult;
312
+ }
313
+ })()}\n\`\`\``}</Streamdown>
242
314
  </CodeBubble>
243
315
  </LabeledBlock>
244
316
  )}
@@ -276,14 +348,26 @@ export function renderPanelContent({
276
348
  {a.toolCallArgs && (
277
349
  <LabeledBlock label="Tool arguments">
278
350
  <CodeBubble className="max-h-60 overflow-y-auto">
279
- <Streamdown>{`\`\`\`json\n${a.toolCallArgs}\n\`\`\``}</Streamdown>
351
+ <Streamdown>{`\`\`\`json\n${(() => {
352
+ try {
353
+ return JSON.stringify(JSON.parse(a.toolCallArgs), null, 2);
354
+ } catch {
355
+ return a.toolCallArgs;
356
+ }
357
+ })()}\n\`\`\``}</Streamdown>
280
358
  </CodeBubble>
281
359
  </LabeledBlock>
282
360
  )}
283
361
  {a.toolCallResult && (
284
362
  <LabeledBlock label="Tool result">
285
363
  <CodeBubble className="max-h-60 overflow-y-auto">
286
- <Streamdown>{`\`\`\`json\n${a.toolCallResult}\n\`\`\``}</Streamdown>
364
+ <Streamdown>{`\`\`\`json\n${(() => {
365
+ try {
366
+ return JSON.stringify(JSON.parse(a.toolCallResult), null, 2);
367
+ } catch {
368
+ return a.toolCallResult;
369
+ }
370
+ })()}\n\`\`\``}</Streamdown>
287
371
  </CodeBubble>
288
372
  </LabeledBlock>
289
373
  )}
@@ -322,14 +406,26 @@ export function renderPanelContent({
322
406
  {a.toolCallArgs && (
323
407
  <LabeledBlock label="Tool arguments">
324
408
  <CodeBubble className="max-h-60 overflow-y-auto">
325
- <Streamdown>{`\`\`\`json\n${a.toolCallArgs}\n\`\`\``}</Streamdown>
409
+ <Streamdown>{`\`\`\`json\n${(() => {
410
+ try {
411
+ return JSON.stringify(JSON.parse(a.toolCallArgs), null, 2);
412
+ } catch {
413
+ return a.toolCallArgs;
414
+ }
415
+ })()}\n\`\`\``}</Streamdown>
326
416
  </CodeBubble>
327
417
  </LabeledBlock>
328
418
  )}
329
419
  {a.toolCallResult && (
330
420
  <LabeledBlock label="Tool result">
331
421
  <CodeBubble className="max-h-60 overflow-y-auto">
332
- <Streamdown>{`\`\`\`json\n${a.toolCallResult}\n\`\`\``}</Streamdown>
422
+ <Streamdown>{`\`\`\`json\n${(() => {
423
+ try {
424
+ return JSON.stringify(JSON.parse(a.toolCallResult), null, 2);
425
+ } catch {
426
+ return a.toolCallResult;
427
+ }
428
+ })()}\n\`\`\``}</Streamdown>
333
429
  </CodeBubble>
334
430
  </LabeledBlock>
335
431
  )}
@@ -364,14 +460,26 @@ export function renderPanelContent({
364
460
  {a.toolCallArgs && (
365
461
  <LabeledBlock label="Tool arguments">
366
462
  <CodeBubble className="max-h-60 overflow-y-auto">
367
- <Streamdown>{`\`\`\`json\n${a.toolCallArgs}\n\`\`\``}</Streamdown>
463
+ <Streamdown>{`\`\`\`json\n${(() => {
464
+ try {
465
+ return JSON.stringify(JSON.parse(a.toolCallArgs), null, 2);
466
+ } catch {
467
+ return a.toolCallArgs;
468
+ }
469
+ })()}\n\`\`\``}</Streamdown>
368
470
  </CodeBubble>
369
471
  </LabeledBlock>
370
472
  )}
371
473
  {a.toolCallResult && (
372
474
  <LabeledBlock label="Tool result">
373
475
  <CodeBubble className="max-h-60 overflow-y-auto">
374
- <Streamdown>{`\`\`\`json\n${a.toolCallResult}\n\`\`\``}</Streamdown>
476
+ <Streamdown>{`\`\`\`json\n${(() => {
477
+ try {
478
+ return JSON.stringify(JSON.parse(a.toolCallResult), null, 2);
479
+ } catch {
480
+ return a.toolCallResult;
481
+ }
482
+ })()}\n\`\`\``}</Streamdown>
375
483
  </CodeBubble>
376
484
  </LabeledBlock>
377
485
  )}
@@ -1,9 +1,11 @@
1
1
  import {
2
+ AlertCircle,
2
3
  ArrowRight,
3
4
  ArrowUpRight,
4
5
  CheckCircle,
5
6
  ChevronDown,
6
7
  ChevronRight,
8
+ Cpu,
7
9
  Database,
8
10
  Hammer,
9
11
  Settings,
@@ -45,6 +47,7 @@ function statusIcon(
45
47
  const base: Record<string, { Icon: any; cls: string }> = {
46
48
  user_message: { Icon: User, cls: 'text-primary' },
47
49
  ai_generation: { Icon: Sparkles, cls: 'text-primary' },
50
+ agent_generation: { Icon: Cpu, cls: 'text-purple-500' },
48
51
  ai_assistant_message: { Icon: Sparkles, cls: 'text-primary' },
49
52
  ai_model_streamed_text: { Icon: Sparkles, cls: 'text-primary' },
50
53
  context_fetch: { Icon: Settings, cls: 'text-indigo-400' },
@@ -101,6 +104,12 @@ export function TimelineItem({
101
104
  const formattedDateTime = formatDateTime(activity.timestamp);
102
105
  const isoDateTime = new Date(activity.timestamp).toISOString();
103
106
 
107
+ // Determine text color based on status
108
+ const textColorClass =
109
+ activity.status === 'error'
110
+ ? 'text-red-500 hover:text-red-700'
111
+ : 'text-foreground hover:text-primary';
112
+
104
113
  return (
105
114
  <div className={`flex flex-col text-muted-foreground relative text-xs`}>
106
115
  <div className="flex items-start">
@@ -117,14 +126,14 @@ export function TimelineItem({
117
126
  <button
118
127
  type="button"
119
128
  onClick={onSelect}
120
- className="flex items-center gap-1 group cursor-pointer hover:text-primary transition-colors text-foreground duration-200"
129
+ className={`flex items-center gap-1 group cursor-pointer transition-colors duration-200 ${textColorClass}`}
121
130
  title="Click to view details"
122
131
  >
123
132
  <span className="font-medium">
124
133
  <Streamdown>{activity.description}</Streamdown>
125
134
  </span>
126
135
  <ArrowUpRight
127
- className="h-4 w-4 text-muted-foreground group-hover:text-primary"
136
+ className={`h-4 w-4 transition-colors ${activity.status === 'error' ? 'text-red-700 group-hover:text-red-800' : 'text-muted-foreground group-hover:text-primary'}`}
128
137
  aria-hidden="true"
129
138
  />
130
139
  </button>
@@ -382,6 +391,31 @@ export function TimelineItem({
382
391
  </div>
383
392
  )}
384
393
 
394
+ {/* OTEL status for failed agent.generate spans */}
395
+ {activity.type === ACTIVITY_TYPES.AI_GENERATION &&
396
+ activity.name === 'agent.generate' &&
397
+ activity.hasError &&
398
+ (activity.otelStatusCode || activity.otelStatusDescription) && (
399
+ <div className="mt-2">
400
+ <div className="flex items-start gap-2">
401
+ <AlertCircle className="h-4 w-4 text-red-600 mt-0.5 flex-shrink-0" />
402
+ <div className="space-y-1.5 flex-1">
403
+ {activity.otelStatusCode && (
404
+ <div className="text-xs text-muted-foreground">
405
+ <span className="font-medium">Status Code:</span>{' '}
406
+ <span className="font-mono">{activity.otelStatusCode}</span>
407
+ </div>
408
+ )}
409
+ {activity.otelStatusDescription && (
410
+ <CodeBubble className="bg-red-50 border-red-200 text-red-800 dark:bg-red-900/20 dark:border-red-800 dark:text-red-300">
411
+ {activity.otelStatusDescription}
412
+ </CodeBubble>
413
+ )}
414
+ </div>
415
+ </div>
416
+ </div>
417
+ )}
418
+
385
419
  <time
386
420
  className="text-xs mb-2 inline-block text-gray-500 dark:text-white/50"
387
421
  dateTime={isoDateTime}
@@ -23,6 +23,8 @@ function panelTitle(selected: SelectedPanel) {
23
23
  switch (selected.type) {
24
24
  case 'ai_generation':
25
25
  return 'AI generation details';
26
+ case 'agent_generation':
27
+ return 'Agent generation details';
26
28
  case 'user_message':
27
29
  return 'User message details';
28
30
  case 'ai_assistant_message':