@inkeep/agents-manage-ui 0.10.1 → 0.10.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 (233) 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 +200 -200
  3. package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +10 -10
  4. package/.next/standalone/agents-manage-ui/.next/build-manifest.json +5 -5
  5. package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +20 -20
  6. package/.next/standalone/agents-manage-ui/.next/react-loadable-manifest.json +2 -2
  7. package/.next/standalone/agents-manage-ui/.next/routes-manifest.json +37 -37
  8. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js +1 -1
  9. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js +3 -3
  11. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js +2 -0
  13. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/{data-components/[dataComponentId] → artifacts/[artifactComponentId]}/page.js.nft.json +1 -1
  14. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page_client-reference-manifest.js +1 -0
  15. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js +2 -0
  16. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/{artifact-components/[artifactComponentId] → artifacts/new}/page.js.nft.json +1 -1
  17. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page_client-reference-manifest.js +1 -0
  18. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js +2 -0
  19. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page_client-reference-manifest.js +1 -0
  20. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js +2 -0
  21. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/{artifact-components/new → components/[dataComponentId]}/page.js.nft.json +1 -1
  22. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page_client-reference-manifest.js +1 -0
  23. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js +2 -0
  24. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/{data-components → components}/new/page.js.nft.json +1 -1
  25. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page_client-reference-manifest.js +1 -0
  26. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js +2 -0
  27. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page_client-reference-manifest.js +1 -0
  28. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js +2 -2
  29. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js.nft.json +1 -1
  30. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page_client-reference-manifest.js +1 -1
  31. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js +2 -2
  32. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js.nft.json +1 -1
  33. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js +1 -1
  35. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js +2 -2
  37. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
  38. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js +2 -2
  40. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js.nft.json +1 -1
  41. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js +2 -2
  43. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page.js +2 -2
  45. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page.js.nft.json +1 -1
  46. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/new/page.js +2 -2
  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 +1 -1
  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 +1 -1
  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_client-reference-manifest.js +1 -1
  70. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js +3 -3
  71. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js.nft.json +1 -1
  72. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page_client-reference-manifest.js +1 -1
  73. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js +2 -2
  74. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page_client-reference-manifest.js +1 -1
  75. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js +1 -1
  76. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  77. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
  78. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +9 -9
  79. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route.js +1 -1
  80. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/agents-manage-ui/.next/server/app/page.js +2 -2
  83. package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
  84. package/.next/standalone/agents-manage-ui/.next/server/app-paths-manifest.json +10 -10
  85. package/.next/standalone/agents-manage-ui/.next/server/chunks/1902.js +1 -1
  86. package/.next/standalone/agents-manage-ui/.next/server/chunks/209.js +1 -0
  87. package/.next/standalone/agents-manage-ui/.next/server/chunks/2314.js +1 -0
  88. package/.next/standalone/agents-manage-ui/.next/server/chunks/2539.js +5 -5
  89. package/.next/standalone/agents-manage-ui/.next/server/chunks/3113.js +1 -0
  90. package/.next/standalone/agents-manage-ui/.next/server/chunks/3547.js +1 -1
  91. package/.next/standalone/agents-manage-ui/.next/server/chunks/3859.js +1 -1
  92. package/.next/standalone/agents-manage-ui/.next/server/chunks/{7965.js → 4038.js} +1 -1
  93. package/.next/standalone/agents-manage-ui/.next/server/chunks/71.js +1 -1
  94. package/.next/standalone/agents-manage-ui/.next/server/chunks/7293.js +1 -1
  95. package/.next/standalone/agents-manage-ui/.next/server/chunks/8449.js +3 -3
  96. package/.next/standalone/agents-manage-ui/.next/server/chunks/{8284.js → 8799.js} +1 -1
  97. package/.next/standalone/agents-manage-ui/.next/server/chunks/9237.js +1 -0
  98. package/.next/standalone/agents-manage-ui/.next/server/middleware-build-manifest.js +1 -1
  99. package/.next/standalone/agents-manage-ui/.next/server/middleware-react-loadable-manifest.js +1 -1
  100. package/.next/standalone/agents-manage-ui/.next/server/pages/404.html +1 -1
  101. package/.next/standalone/agents-manage-ui/.next/server/pages/500.html +1 -1
  102. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.js +1 -1
  103. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.json +1 -1
  104. package/.next/standalone/agents-manage-ui/.next/static/chunks/2063-af61e7c864e76f4f.js +1 -0
  105. package/.next/standalone/agents-manage-ui/.next/static/chunks/{6530.aafea7600cb29c93.js → 4149.b5aa052344354415.js} +1 -1
  106. package/.next/standalone/agents-manage-ui/.next/static/chunks/{1348-d5a92ab92bcff5e2.js → 4261-454575adeb801448.js} +1 -1
  107. package/.next/standalone/agents-manage-ui/.next/static/chunks/{3693.64ddbe1e3726f385.js → 6074.8b094e68e36d7e9c.js} +1 -1
  108. package/.next/standalone/agents-manage-ui/.next/static/chunks/7167-730aff54edcfb10c.js +1 -0
  109. package/.next/standalone/agents-manage-ui/.next/static/chunks/7885-0b12122c31695e33.js +1 -0
  110. package/.next/standalone/agents-manage-ui/.next/static/chunks/{2823-d5aa2a7ec93a8174.js → 9644-54e28306f3abe125.js} +1 -1
  111. package/.next/standalone/agents-manage-ui/.next/static/chunks/{9964-02d4a76792a0abc8.js → 9964-fa3450b6002dd562.js} +1 -1
  112. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-6d39fab4d195c19a.js +1 -0
  113. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/error-f1418a11c66d8096.js +1 -0
  114. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-5150a6de8b80c4b4.js +1 -0
  115. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/error-30269bcc821d7de1.js +1 -0
  116. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/loading-025ec4e3a5810eca.js +1 -0
  117. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-5150a6de8b80c4b4.js +1 -0
  118. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-1c17260377b32c91.js +1 -0
  119. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/error-cc0a7cc2ba09d619.js +1 -0
  120. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page-664381776dad1c85.js +1 -0
  121. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/error-4a78192429f3c345.js +1 -0
  122. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/loading-025ec4e3a5810eca.js +1 -0
  123. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/page-664381776dad1c85.js +1 -0
  124. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-d84ad34da5dc5af8.js +1 -0
  125. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-51ae865fa7c52430.js +1 -0
  126. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-9adfab93a442927d.js +1 -0
  127. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/page-025ec4e3a5810eca.js +1 -0
  128. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-dda2db18ed173e31.js +1 -0
  129. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-f4c25df5d1755217.js +1 -0
  130. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/loading-025ec4e3a5810eca.js +1 -0
  131. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/page-d0db257541c6509a.js +1 -0
  132. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/{page-46c65d299589f5ee.js → page-9a01d68fffd96a5a.js} +1 -1
  133. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-7e0d6905b3917360.js +1 -0
  134. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/{page-6c3986967816a7e7.js → page-c8b2486c3ad4a568.js} +1 -1
  135. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-a720eff492b73cb2.js +1 -0
  136. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/{page-3e56a25e59c5c30e.js → page-b248a0ea8649e4f3.js} +1 -1
  137. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-dfdb58eb7760e57d.js +1 -0
  138. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/loading-025ec4e3a5810eca.js +1 -0
  139. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-55e12f6eb0a99f77.js +1 -0
  140. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-f0703e32230d7952.js +1 -0
  141. package/.next/standalone/agents-manage-ui/.next/static/chunks/{webpack-211ed257f0444458.js → webpack-b20dc8e12f728891.js} +1 -1
  142. package/.next/standalone/agents-manage-ui/.next/static/css/4891c14dcbd99183.css +1 -0
  143. package/.next/standalone/agents-manage-ui/package.json +1 -1
  144. package/.next/standalone/package.json +1 -0
  145. package/.next/standalone/packages/agents-core/package.json +1 -2
  146. package/package.json +4 -4
  147. package/src/app/[tenantId]/projects/[projectId]/{artifact-components → artifacts}/[artifactComponentId]/error.tsx +2 -2
  148. package/src/app/[tenantId]/projects/[projectId]/{artifact-components → artifacts}/[artifactComponentId]/page.tsx +2 -2
  149. package/src/app/[tenantId]/projects/[projectId]/{artifact-components → artifacts}/loading.tsx +2 -2
  150. package/src/app/[tenantId]/projects/[projectId]/{artifact-components → artifacts}/new/page.tsx +3 -3
  151. package/src/app/[tenantId]/projects/[projectId]/{artifact-components → artifacts}/page.tsx +9 -9
  152. package/src/app/[tenantId]/projects/[projectId]/{data-components → components}/[dataComponentId]/error.tsx +2 -2
  153. package/src/app/[tenantId]/projects/[projectId]/{data-components → components}/[dataComponentId]/page.tsx +2 -2
  154. package/src/app/[tenantId]/projects/[projectId]/{data-components → components}/loading.tsx +2 -2
  155. package/src/app/[tenantId]/projects/[projectId]/{data-components → components}/new/page.tsx +3 -3
  156. package/src/app/[tenantId]/projects/[projectId]/{data-components → components}/page.tsx +8 -8
  157. package/src/app/api/signoz/conversations/[conversationId]/route.ts +6 -0
  158. package/src/components/artifact-components/artifact-component-item.tsx +1 -1
  159. package/src/components/artifact-components/delete-artifact-component-confirmation.tsx +2 -2
  160. package/src/components/artifact-components/form/artifact-component-form.tsx +9 -9
  161. package/src/components/data-components/data-component-item.tsx +1 -1
  162. package/src/components/data-components/delete-data-component-confirmation.tsx +2 -2
  163. package/src/components/data-components/form/data-component-form.tsx +6 -6
  164. package/src/components/graph/graph.tsx +1 -1
  165. package/src/components/graph/nodes/agent-node.tsx +2 -6
  166. package/src/components/graph/sidepane/metadata/metadata-editor.tsx +10 -6
  167. package/src/components/graph/sidepane/nodes/agent-node-editor.tsx +10 -10
  168. package/src/components/graph/sidepane/nodes/credential-selector.tsx +17 -13
  169. package/src/components/graph/sidepane/nodes/model-section.tsx +10 -6
  170. package/src/components/graph/sidepane/nodes/model-selector.tsx +5 -1
  171. package/src/components/projects/form/project-models-section.tsx +1 -1
  172. package/src/components/sidebar-nav/sidebar-nav.tsx +11 -11
  173. package/src/components/traces/timeline/timeline-item.tsx +9 -13
  174. package/src/components/traces/timeline/timeline-wrapper.tsx +20 -11
  175. package/src/components/ui/external-link.tsx +13 -2
  176. package/src/constants/page-descriptions.tsx +1 -1
  177. package/src/features/graph/domain/deserialize.ts +2 -2
  178. package/src/lib/actions/artifact-components.ts +9 -9
  179. package/src/lib/actions/data-components.ts +5 -5
  180. package/src/lib/api/artifact-components.ts +4 -4
  181. package/src/lib/utils/graph-error-parser.ts +2 -2
  182. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/[artifactComponentId]/page.js +0 -2
  183. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/[artifactComponentId]/page_client-reference-manifest.js +0 -1
  184. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/new/page.js +0 -2
  185. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/new/page_client-reference-manifest.js +0 -1
  186. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/page.js +0 -2
  187. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/page_client-reference-manifest.js +0 -1
  188. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/[dataComponentId]/page.js +0 -2
  189. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/[dataComponentId]/page_client-reference-manifest.js +0 -1
  190. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/new/page.js +0 -2
  191. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/new/page_client-reference-manifest.js +0 -1
  192. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/page.js +0 -2
  193. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/page_client-reference-manifest.js +0 -1
  194. package/.next/standalone/agents-manage-ui/.next/server/chunks/3251.js +0 -1
  195. package/.next/standalone/agents-manage-ui/.next/server/chunks/3424.js +0 -1
  196. package/.next/standalone/agents-manage-ui/.next/server/chunks/6777.js +0 -1
  197. package/.next/standalone/agents-manage-ui/.next/server/chunks/8444.js +0 -1
  198. package/.next/standalone/agents-manage-ui/.next/static/chunks/2063-51504d0b4f82277e.js +0 -1
  199. package/.next/standalone/agents-manage-ui/.next/static/chunks/4160-58edceff96697674.js +0 -1
  200. package/.next/standalone/agents-manage-ui/.next/static/chunks/7167-5ae757a48267eecd.js +0 -1
  201. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-4293910b444cc135.js +0 -1
  202. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/[artifactComponentId]/error-5ea01b42c0d946d5.js +0 -1
  203. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/[artifactComponentId]/page-c3ed0ba99186d0d6.js +0 -1
  204. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/error-3b2af015fcc2359e.js +0 -1
  205. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/loading-ef3dedb418fb26d6.js +0 -1
  206. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/new/page-c3ed0ba99186d0d6.js +0 -1
  207. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/page-874c135f55b0ca0f.js +0 -1
  208. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-ba0f0ba1b92291e8.js +0 -1
  209. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-8dbbb7c3696c4b18.js +0 -1
  210. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/page-ef3dedb418fb26d6.js +0 -1
  211. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-62a5f6c00f915faf.js +0 -1
  212. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-71df4b4a01fc0dd1.js +0 -1
  213. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/[dataComponentId]/error-7dcfd95f4b78d6bc.js +0 -1
  214. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/[dataComponentId]/page-0f4fd1d8b7db8265.js +0 -1
  215. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/error-aab618cc712fb97f.js +0 -1
  216. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/loading-ef3dedb418fb26d6.js +0 -1
  217. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/new/page-0f4fd1d8b7db8265.js +0 -1
  218. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/page-318381630d4f6030.js +0 -1
  219. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/loading-ef3dedb418fb26d6.js +0 -1
  220. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/page-0302c606381a745f.js +0 -1
  221. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-d4d01b9c19e6a359.js +0 -1
  222. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-3eb5183a82b07c23.js +0 -1
  223. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-250e186f12cac2f8.js +0 -1
  224. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/loading-ef3dedb418fb26d6.js +0 -1
  225. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-3e96b2df7be28113.js +0 -1
  226. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-238b7db4cb9e8101.js +0 -1
  227. package/.next/standalone/agents-manage-ui/.next/static/css/2f1b486594d6d68b.css +0 -1
  228. /package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/{artifact-components → artifacts}/page.js.nft.json +0 -0
  229. /package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/{data-components → components}/page.js.nft.json +0 -0
  230. /package/.next/standalone/agents-manage-ui/.next/static/{b4zppSKvfyEEhDL6m73WI → L7WcT2fRRZif5hXZksQdA}/_buildManifest.js +0 -0
  231. /package/.next/standalone/agents-manage-ui/.next/static/{b4zppSKvfyEEhDL6m73WI → L7WcT2fRRZif5hXZksQdA}/_ssgManifest.js +0 -0
  232. /package/src/app/[tenantId]/projects/[projectId]/{artifact-components → artifacts}/error.tsx +0 -0
  233. /package/src/app/[tenantId]/projects/[projectId]/{data-components → components}/error.tsx +0 -0
@@ -21,7 +21,7 @@ export function ArtifactComponentItem({
21
21
  tenantId,
22
22
  projectId,
23
23
  }: ArtifactComponent & { tenantId: string; projectId: string }) {
24
- const linkPath = `/${tenantId}/projects/${projectId}/artifact-components/${id}`;
24
+ const linkPath = `/${tenantId}/projects/${projectId}/artifacts/${id}`;
25
25
 
26
26
  return (
27
27
  <ItemCardRoot>
@@ -29,7 +29,7 @@ export function DeleteArtifactComponentConfirmation({
29
29
  const result = await deleteArtifactComponentAction(tenantId, projectId, artifactComponentId);
30
30
  if (result.success) {
31
31
  setIsOpen(false);
32
- toast.success('Artifact component deleted.');
32
+ toast.success('Artifact deleted.');
33
33
  } else {
34
34
  toast.error(result.error);
35
35
  }
@@ -40,7 +40,7 @@ export function DeleteArtifactComponentConfirmation({
40
40
 
41
41
  return (
42
42
  <DeleteConfirmation
43
- itemName={artifactComponentName || 'this artifact component'}
43
+ itemName={artifactComponentName || 'this artifact'}
44
44
  isSubmitting={isSubmitting}
45
45
  onDelete={handleDelete}
46
46
  />
@@ -67,22 +67,22 @@ export function ArtifactComponentForm({
67
67
  if (id) {
68
68
  const res = await updateArtifactComponentAction(tenantId, projectId, payload);
69
69
  if (!res.success) {
70
- toast.error(res.error || 'Failed to update artifact component');
70
+ toast.error(res.error || 'Failed to update artifact.');
71
71
  return;
72
72
  }
73
- toast.success('Artifact component updated');
73
+ toast.success('Artifact updated.');
74
74
  } else {
75
75
  const res = await createArtifactComponentAction(tenantId, projectId, payload);
76
76
  if (!res.success) {
77
- toast.error(res.error || 'Failed to create artifact component');
77
+ toast.error(res.error || 'Failed to create artifact');
78
78
  return;
79
79
  }
80
- toast.success('Artifact component created');
81
- router.push(`/${tenantId}/projects/${projectId}/artifact-components`);
80
+ toast.success('Artifact created.');
81
+ router.push(`/${tenantId}/projects/${projectId}/artifacts`);
82
82
  }
83
83
  } catch (error) {
84
- console.error('Error submitting artifact component:', error);
85
- const errorMessage = error instanceof Error ? error.message : 'An unexpected error occurred';
84
+ console.error('Error submitting artifact:', error);
85
+ const errorMessage = error instanceof Error ? error.message : 'An unexpected error occurred.';
86
86
  toast.error(errorMessage);
87
87
  }
88
88
  };
@@ -101,13 +101,13 @@ export function ArtifactComponentForm({
101
101
  control={form.control}
102
102
  name="id"
103
103
  label="Id"
104
- placeholder="my-artifact-component"
104
+ placeholder="my-artifact"
105
105
  disabled={!!id}
106
106
  isRequired
107
107
  description={
108
108
  id
109
109
  ? ''
110
- : 'Choose a unique identifier for this component. Using an existing id will replace that component.'
110
+ : 'Choose a unique identifier for this artifact. Using an existing id will replace that artifact.'
111
111
  }
112
112
  />
113
113
  <GenericTextarea
@@ -21,7 +21,7 @@ export function DataComponentItem({
21
21
  tenantId,
22
22
  projectId,
23
23
  }: DataComponent & { tenantId: string; projectId: string }) {
24
- const linkPath = `/${tenantId}/projects/${projectId}/data-components/${id}`;
24
+ const linkPath = `/${tenantId}/projects/${projectId}/components/${id}`;
25
25
 
26
26
  return (
27
27
  <ItemCardRoot>
@@ -29,7 +29,7 @@ export function DeleteDataComponentConfirmation({
29
29
  const result = await deleteDataComponentAction(tenantId, projectId, dataComponentId);
30
30
  if (result.success) {
31
31
  setIsOpen(false);
32
- toast.success('Data component deleted.');
32
+ toast.success('Component deleted.');
33
33
  } else {
34
34
  toast.error(result.error);
35
35
  }
@@ -40,7 +40,7 @@ export function DeleteDataComponentConfirmation({
40
40
 
41
41
  return (
42
42
  <DeleteConfirmation
43
- itemName={dataComponentName || 'this data component'}
43
+ itemName={dataComponentName || 'this component'}
44
44
  isSubmitting={isSubmitting}
45
45
  onDelete={handleDelete}
46
46
  />
@@ -64,21 +64,21 @@ export function DataComponentForm({
64
64
  if (id) {
65
65
  const res = await updateDataComponentAction(tenantId, projectId, payload);
66
66
  if (!res.success) {
67
- toast.error(res.error || 'Failed to update data component');
67
+ toast.error(res.error || 'Failed to update component');
68
68
  return;
69
69
  }
70
- toast.success('Data component updated');
70
+ toast.success('Component updated');
71
71
  } else {
72
72
  const res = await createDataComponentAction(tenantId, projectId, payload);
73
73
  if (!res.success) {
74
- toast.error(res.error || 'Failed to create data component');
74
+ toast.error(res.error || 'Failed to create component');
75
75
  return;
76
76
  }
77
- toast.success('Data component created');
78
- router.push(`/${tenantId}/projects/${projectId}/data-components`);
77
+ toast.success('Component created');
78
+ router.push(`/${tenantId}/projects/${projectId}/components`);
79
79
  }
80
80
  } catch (error) {
81
- console.error('Error submitting data component:', error);
81
+ console.error('Error submitting component:', error);
82
82
  const errorMessage = error instanceof Error ? error.message : 'An unexpected error occurred';
83
83
  toast.error(errorMessage);
84
84
  }
@@ -670,7 +670,7 @@ function Flow({
670
670
  <Toolbar
671
671
  onSubmit={onSubmit}
672
672
  isPreviewDisabled={!graph?.id}
673
- toggleSidePane={isOpen ? closeSidePane : openGraphPane}
673
+ toggleSidePane={isOpen ? backToGraph : openGraphPane}
674
674
  setShowPlayground={() => {
675
675
  closeSidePane();
676
676
  setShowPlayground(true);
@@ -108,14 +108,10 @@ export function AgentNode(props: NodeProps & { data: AgentNodeData }) {
108
108
  </Badge>
109
109
  ) : null}
110
110
  {dataComponentNames?.length > 0 && (
111
- <ListSection title="Data components" items={dataComponentNames} Icon={Component} />
111
+ <ListSection title="Components" items={dataComponentNames} Icon={Component} />
112
112
  )}
113
113
  {artifactComponentNames?.length > 0 && (
114
- <ListSection
115
- title="Artifact components"
116
- items={artifactComponentNames}
117
- Icon={Library}
118
- />
114
+ <ListSection title="Artifacts" items={artifactComponentNames} Icon={Library} />
119
115
  )}
120
116
  </BaseNodeContent>
121
117
  <Handle id={agentNodeTargetHandleId} type="source" position={Position.Top} isConnectable />
@@ -147,7 +147,7 @@ function MetadataEditor() {
147
147
  title="Default models"
148
148
  description="Set default models that will be inherited by agents that don't have their own models configured."
149
149
  />
150
- <div className="relative">
150
+ <div className="relative space-y-2">
151
151
  <ModelSelector
152
152
  value={models?.base?.model || ''}
153
153
  inheritedValue={project?.models?.base?.model}
@@ -176,8 +176,8 @@ function MetadataEditor() {
176
176
  />
177
177
  </div>
178
178
  }
179
- tooltip="Primary model for general agent responses"
180
179
  />
180
+ <p className="text-xs text-muted-foreground">Primary model for general agent responses</p>
181
181
  </div>
182
182
 
183
183
  <Collapsible
@@ -195,7 +195,7 @@ function MetadataEditor() {
195
195
  </Button>
196
196
  </CollapsibleTrigger>
197
197
  <CollapsibleContent className="space-y-8 mt-4 data-[state=closed]:animate-[collapsible-up_200ms_ease-out] data-[state=open]:animate-[collapsible-down_200ms_ease-out] overflow-hidden px-4 pb-6">
198
- <div className="relative">
198
+ <div className="relative space-y-2">
199
199
  <ModelSelector
200
200
  value={models?.structuredOutput?.model || ''}
201
201
  inheritedValue={
@@ -228,10 +228,12 @@ function MetadataEditor() {
228
228
  />
229
229
  </div>
230
230
  }
231
- tooltip="Model for structured outputs and data components (defaults to base model)"
232
231
  />
232
+ <p className="text-xs text-muted-foreground">
233
+ Model for structured outputs and components (defaults to base model)
234
+ </p>
233
235
  </div>
234
- <div className="relative">
236
+ <div className="relative space-y-2">
235
237
  <ModelSelector
236
238
  value={models?.summarizer?.model || ''}
237
239
  inheritedValue={
@@ -264,8 +266,10 @@ function MetadataEditor() {
264
266
  />
265
267
  </div>
266
268
  }
267
- tooltip="Model for summarization tasks (defaults to base model)"
268
269
  />
270
+ <p className="text-xs text-muted-foreground">
271
+ Model for summarization tasks (defaults to base model)
272
+ </p>
269
273
  </div>
270
274
  </CollapsibleContent>
271
275
  </Collapsible>
@@ -198,29 +198,29 @@ export function AgentNodeEditor({
198
198
  </div>
199
199
  <Separator />
200
200
  <ComponentSelector
201
- label="Data components"
201
+ label="Components"
202
202
  componentLookup={dataComponentLookup}
203
203
  selectedComponents={selectedDataComponents}
204
204
  onSelectionChange={(newSelection) => {
205
205
  updatePath('dataComponents', newSelection);
206
206
  }}
207
- emptyStateMessage="No data components found."
208
- emptyStateActionText="Create data component"
209
- emptyStateActionHref={`/${tenantId}/projects/${projectId}/data-components/new`}
210
- placeholder="Select data components..."
207
+ emptyStateMessage="No components found."
208
+ emptyStateActionText="Create component"
209
+ emptyStateActionHref={`/${tenantId}/projects/${projectId}/components/new`}
210
+ placeholder="Select components..."
211
211
  />
212
212
 
213
213
  <ComponentSelector
214
- label="Artifact components"
214
+ label="Artifacts"
215
215
  componentLookup={artifactComponentLookup}
216
216
  selectedComponents={selectedArtifactComponents}
217
217
  onSelectionChange={(newSelection) => {
218
218
  updatePath('artifactComponents', newSelection);
219
219
  }}
220
- emptyStateMessage="No artifact components found."
221
- emptyStateActionText="Create artifact component"
222
- emptyStateActionHref={`/${tenantId}/projects/${projectId}/artifact-components/new`}
223
- placeholder="Select artifact components..."
220
+ emptyStateMessage="No artifacts found."
221
+ emptyStateActionText="Create artifact"
222
+ emptyStateActionHref={`/${tenantId}/projects/${projectId}/artifacts/new`}
223
+ placeholder="Select artifacts..."
224
224
  />
225
225
  </div>
226
226
  );
@@ -1,8 +1,8 @@
1
1
  'use client';
2
2
 
3
- import { ChevronsUpDown } from 'lucide-react';
3
+ import { Check, ChevronsUpDown } from 'lucide-react';
4
+ import { useParams } from 'next/navigation';
4
5
  import { useState } from 'react';
5
- import { Badge } from '@/components/ui/badge';
6
6
  import { Button } from '@/components/ui/button';
7
7
  import {
8
8
  Command,
@@ -15,6 +15,7 @@ import {
15
15
  import { Label } from '@/components/ui/label';
16
16
  import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';
17
17
  import type { Credential } from '@/lib/api/credentials';
18
+ import { EmptyState } from './empty-state';
18
19
 
19
20
  // Header component - shows label and status
20
21
  interface CredentialHeaderProps {
@@ -44,6 +45,10 @@ function CredentialDropdown({
44
45
  placeholder = 'Select credential...',
45
46
  }: CredentialDropdownProps) {
46
47
  const [open, setOpen] = useState(false);
48
+ const { tenantId, projectId } = useParams<{
49
+ tenantId: string;
50
+ projectId: string;
51
+ }>();
47
52
 
48
53
  return (
49
54
  <div className="flex w-full">
@@ -80,7 +85,14 @@ function CredentialDropdown({
80
85
  <Command>
81
86
  <CommandInput placeholder="Search credentials..." />
82
87
  <CommandList>
83
- <CommandEmpty>No credentials found.</CommandEmpty>
88
+ <CommandEmpty>
89
+ {' '}
90
+ <EmptyState
91
+ message={'No credentials found.'}
92
+ actionText={'Create credential'}
93
+ actionHref={`/${tenantId}/projects/${projectId}/credentials/new`}
94
+ />
95
+ </CommandEmpty>
84
96
  <CommandGroup>
85
97
  {/* No Authentication option */}
86
98
  <CommandItem
@@ -96,11 +108,7 @@ function CredentialDropdown({
96
108
  <div className="font-medium">No Authentication</div>
97
109
  <div className="text-xs text-muted-foreground">Unsecured connection</div>
98
110
  </div>
99
- {selectedCredentialId === null && (
100
- <Badge variant="success" className="text-[10px]">
101
- Selected
102
- </Badge>
103
- )}
111
+ {selectedCredentialId === null && <Check className="ml-2 h-4 w-4" />}
104
112
  </div>
105
113
  </CommandItem>
106
114
 
@@ -120,11 +128,7 @@ function CredentialDropdown({
120
128
  <div className="font-medium">{credential.id}</div>
121
129
  <div className="text-xs text-muted-foreground">{credential.type}</div>
122
130
  </div>
123
- {selectedCredentialId === credential.id && (
124
- <Badge variant="success" className="text-[10px]">
125
- Selected
126
- </Badge>
127
- )}
131
+ {selectedCredentialId === credential.id && <Check className="ml-2 h-4 w-4" />}
128
132
  </div>
129
133
  </CommandItem>
130
134
  ))}
@@ -29,7 +29,7 @@ export function ModelSection({
29
29
 
30
30
  return (
31
31
  <div className="space-y-8">
32
- <div className="relative">
32
+ <div className="relative space-y-2">
33
33
  <ModelSelector
34
34
  value={models?.base?.model || ''}
35
35
  onValueChange={(modelValue) => {
@@ -50,8 +50,8 @@ export function ModelSection({
50
50
  />
51
51
  </div>
52
52
  }
53
- tooltip="Primary model for general agent responses"
54
53
  />
54
+ <p className="text-xs text-muted-foreground">Primary model for general agent responses</p>
55
55
  </div>
56
56
 
57
57
  <Collapsible
@@ -69,7 +69,7 @@ export function ModelSection({
69
69
  </Button>
70
70
  </CollapsibleTrigger>
71
71
  <CollapsibleContent className="space-y-8 mt-4 data-[state=closed]:animate-[collapsible-up_200ms_ease-out] data-[state=open]:animate-[collapsible-down_200ms_ease-out] overflow-hidden px-4 pb-6">
72
- <div className="relative">
72
+ <div className="relative space-y-2">
73
73
  <ModelSelector
74
74
  value={models?.structuredOutput?.model || ''}
75
75
  onValueChange={(modelValue) => {
@@ -96,10 +96,12 @@ export function ModelSection({
96
96
  />
97
97
  </div>
98
98
  }
99
- tooltip="The model used for structured output and data components (defaults to base model)"
100
99
  />
100
+ <p className="text-xs text-muted-foreground">
101
+ The model used for structured output and components (defaults to base model)
102
+ </p>
101
103
  </div>
102
- <div className="relative">
104
+ <div className="relative space-y-2">
103
105
  <ModelSelector
104
106
  value={models?.summarizer?.model || ''}
105
107
  onValueChange={(modelValue) => {
@@ -126,8 +128,10 @@ export function ModelSection({
126
128
  />
127
129
  </div>
128
130
  }
129
- tooltip="The model used for summarization tasks (defaults to base model)"
130
131
  />
132
+ <p className="text-xs text-muted-foreground">
133
+ The model used for summarization tasks (defaults to base model)
134
+ </p>
131
135
  </div>
132
136
  </CollapsibleContent>
133
137
  </Collapsible>
@@ -182,6 +182,7 @@ export function ModelSelector({
182
182
  value="__openrouter__"
183
183
  onSelect={() => {
184
184
  setShowCustomInput('openrouter');
185
+ setOpen(false);
185
186
  setCustomModelInput('');
186
187
  }}
187
188
  >
@@ -192,6 +193,7 @@ export function ModelSelector({
192
193
  value="__gateway__"
193
194
  onSelect={() => {
194
195
  setShowCustomInput('gateway');
196
+ setOpen(false);
195
197
  setCustomModelInput('');
196
198
  }}
197
199
  >
@@ -209,6 +211,8 @@ export function ModelSelector({
209
211
  onSelect={(currentValue) => {
210
212
  onValueChange?.(currentValue === value ? '' : currentValue);
211
213
  setOpen(false);
214
+ setCustomModelInput('');
215
+ setShowCustomInput(null);
212
216
  }}
213
217
  >
214
218
  {model.label}
@@ -239,7 +243,7 @@ export function ModelSelector({
239
243
  ? 'Examples: anthropic/claude-3-5-sonnet, meta-llama/llama-3.1-405b-instruct'
240
244
  : 'Examples: openai/gpt-4o, anthropic/claude-3-5-sonnet'}
241
245
  </div>
242
- <div className="flex gap-2">
246
+ <div className="flex gap-2 items-center">
243
247
  <input
244
248
  className="flex-1 px-3 py-2 text-sm border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
245
249
  placeholder={
@@ -83,7 +83,7 @@ function StructuredOutputModelSection({ control }: { control: Control<ProjectFor
83
83
  control={control}
84
84
  name="models.structuredOutput.model"
85
85
  label="Structured output model"
86
- description="Model for structured outputs and data components (defaults to base model)"
86
+ description="Model for structured outputs and components (defaults to base model)"
87
87
  >
88
88
  {(field) => (
89
89
  <ModelSelector
@@ -60,7 +60,7 @@ export function AppSidebar({ ...props }: React.ComponentProps<typeof Sidebar>) {
60
60
  icon: Workflow,
61
61
  },
62
62
  {
63
- title: 'Graph API Keys',
63
+ title: 'API Keys',
64
64
  url: `/${tenantId}/projects/${projectId}/api-keys`,
65
65
  icon: Key,
66
66
  },
@@ -69,16 +69,6 @@ export function AppSidebar({ ...props }: React.ComponentProps<typeof Sidebar>) {
69
69
  url: `/${tenantId}/projects/${projectId}/mcp-servers`,
70
70
  icon: MCPIcon as LucideIcon,
71
71
  },
72
- {
73
- title: 'Data Components',
74
- url: `/${tenantId}/projects/${projectId}/data-components`,
75
- icon: Component,
76
- },
77
- {
78
- title: 'Artifact Components',
79
- url: `/${tenantId}/projects/${projectId}/artifact-components`,
80
- icon: Library,
81
- },
82
72
  {
83
73
  title: 'Credentials',
84
74
  url: `/${tenantId}/projects/${projectId}/credentials`,
@@ -89,6 +79,16 @@ export function AppSidebar({ ...props }: React.ComponentProps<typeof Sidebar>) {
89
79
  url: `/${tenantId}/projects/${projectId}/traces`,
90
80
  icon: Activity,
91
81
  },
82
+ {
83
+ title: 'Components',
84
+ url: `/${tenantId}/projects/${projectId}/components`,
85
+ icon: Component,
86
+ },
87
+ {
88
+ title: 'Artifacts',
89
+ url: `/${tenantId}/projects/${projectId}/artifacts`,
90
+ icon: Library,
91
+ },
92
92
  {
93
93
  title: 'Settings',
94
94
  url: `/${tenantId}/projects/${projectId}/settings`,
@@ -102,19 +102,17 @@ export function TimelineItem({
102
102
  const isoDateTime = new Date(activity.timestamp).toISOString();
103
103
 
104
104
  return (
105
- <div
106
- className={`flex flex-col text-muted-foreground relative text-xs transition-all duration-200 rounded-lg ${
107
- isSelected
108
- ? 'bg-primary/5 dark:bg-primary/15 px-3 py-2 ring-2 ring-primary/20 dark:ring-primary/40'
109
- : 'py-2'
110
- }`}
111
- >
105
+ <div className={`flex flex-col text-muted-foreground relative text-xs`}>
112
106
  <div className="flex items-start">
113
- <div className="mr-4 pt-[1px]">
107
+ <div className="mr-2 py-2">
114
108
  <Icon className={`w-4 h-4 ${className}`} />
115
109
  </div>
116
110
 
117
- <div className="space-y-1.5">
111
+ <div
112
+ className={`space-y-1.5 px-3 py-2 w-full transition-all duration-200 rounded-lg ${
113
+ isSelected ? 'ring-1 ring-primary/50 bg-primary/5' : ''
114
+ }`}
115
+ >
118
116
  <div className="flex items-center gap-2">
119
117
  <button
120
118
  type="button"
@@ -380,9 +378,7 @@ export function TimelineItem({
380
378
  {/* agent name for AI generation */}
381
379
  {activity.type === ACTIVITY_TYPES.AI_GENERATION && activity.agentName && (
382
380
  <div className="mb-1">
383
- <Badge variant="code">
384
- {activity.agentName}
385
- </Badge>
381
+ <Badge variant="code">{activity.agentName}</Badge>
386
382
  </div>
387
383
  )}
388
384
 
@@ -396,7 +392,7 @@ export function TimelineItem({
396
392
  </div>
397
393
  </div>
398
394
 
399
- {!isLast && <div className="absolute top-6 left-[7px] border-l border-border h-full" />}
395
+ {!isLast && <div className="absolute top-8 left-[7px] border-l border-border h-full" />}
400
396
  </div>
401
397
  );
402
398
  }
@@ -17,6 +17,7 @@ import { Alert, AlertDescription, AlertTitle } from '@/components/ui/alert';
17
17
  import { Button } from '@/components/ui/button';
18
18
  import { ExternalLink } from '@/components/ui/external-link';
19
19
  import { ResizableHandle, ResizablePanel } from '@/components/ui/resizable';
20
+ import { DOCS_BASE_URL } from '@/constants/page-descriptions';
20
21
 
21
22
  function panelTitle(selected: SelectedPanel) {
22
23
  switch (selected.type) {
@@ -84,14 +85,22 @@ function EmptyTimeline({
84
85
  The SIGNOZ_API_KEY environment variable is not configured. Please set this
85
86
  environment variable to the enable activity timeline.
86
87
  </p>
87
- <ExternalLink href={`https://docs.inkeep.com/visual-builder/graphs`}>
88
+ <ExternalLink
89
+ className="text-amber-700 dark:text-amber-300 dark:hover:text-amber-200 ml-0 mt-1"
90
+ iconClassName="text-amber-700 dark:text-amber-300 dark:group-hover/link:text-amber-200"
91
+ href={`${DOCS_BASE_URL}/visual-builder/graphs`}
92
+ >
88
93
  Learn more
89
94
  </ExternalLink>
90
95
  </div>
91
96
  ) : (
92
97
  <div>
93
98
  <p>{error}</p>
94
- <ExternalLink href="https://docs.inkeep.com/quick-start/observability">
99
+ <ExternalLink
100
+ className="text-amber-700 dark:text-amber-300 dark:hover:text-amber-200 ml-0 mt-1"
101
+ iconClassName="text-amber-700 dark:text-amber-300 dark:group-hover/link:text-amber-200"
102
+ href={`${DOCS_BASE_URL}/quick-start/observability`}
103
+ >
95
104
  View observability setup guide
96
105
  </ExternalLink>
97
106
  </div>
@@ -136,7 +145,7 @@ export function TimelineWrapper({
136
145
  retryConnection,
137
146
  refreshOnce,
138
147
  showConversationTracesLink = false,
139
- conversationId
148
+ conversationId,
140
149
  }: TimelineWrapperProps) {
141
150
  const [selected, setSelected] = useState<SelectedPanel | null>(null);
142
151
  const [panelVisible, setPanelVisible] = useState(false);
@@ -157,12 +166,12 @@ export function TimelineWrapper({
157
166
  }
158
167
  }, [selected]);
159
168
 
160
- // Clear selected panel when conversation changes
161
- useEffect(() => {
162
- if (conversationId) {
163
- setSelected(null);
164
- }
165
- }, [conversationId]);
169
+ // Clear selected panel when conversation changes
170
+ useEffect(() => {
171
+ if (conversationId) {
172
+ setSelected(null);
173
+ }
174
+ }, [conversationId]);
166
175
 
167
176
  // Memoize activities calculation to prevent expensive operations on every render
168
177
  const activities = useMemo(() => {
@@ -295,7 +304,7 @@ export function TimelineWrapper({
295
304
 
296
305
  return (
297
306
  <>
298
- <ResizablePanel order={2}>
307
+ <ResizablePanel id="activity-timeline" order={2}>
299
308
  <div className="bg-background h-full flex flex-col py-4">
300
309
  <div className="flex-shrink-0">
301
310
  <div className="flex items-center justify-between px-6 pb-4">
@@ -409,7 +418,7 @@ export function TimelineWrapper({
409
418
  <ResizableHandle />
410
419
  {/* Side Panel */}
411
420
  {selected && (
412
- <ResizablePanel order={3}>
421
+ <ResizablePanel id="activity-details-sidepane" order={3}>
413
422
  <ActivityDetailsSidePane
414
423
  key={selected.item.id}
415
424
  title={panelTitle(selected)}
@@ -3,7 +3,13 @@ import Link from 'next/link';
3
3
  import type { ComponentProps } from 'react';
4
4
  import { cn } from '@/lib/utils';
5
5
 
6
- export function ExternalLink({ href, children, className, ...props }: ComponentProps<typeof Link>) {
6
+ export function ExternalLink({
7
+ href,
8
+ children,
9
+ className,
10
+ iconClassName,
11
+ ...props
12
+ }: ComponentProps<typeof Link> & { iconClassName?: string }) {
7
13
  return (
8
14
  <Link
9
15
  href={href}
@@ -16,7 +22,12 @@ export function ExternalLink({ href, children, className, ...props }: ComponentP
16
22
  {...props}
17
23
  >
18
24
  {children}
19
- <ArrowUpRight className="size-3.5 text-muted-foreground/60 group-hover/link:text-primary" />
25
+ <ArrowUpRight
26
+ className={cn(
27
+ 'size-3.5 text-muted-foreground/60 group-hover/link:text-primary',
28
+ iconClassName
29
+ )}
30
+ />
20
31
  </Link>
21
32
  );
22
33
  }
@@ -15,7 +15,7 @@ export const artifactDescription = (
15
15
 
16
16
  export const dataComponentDescription = (
17
17
  <>
18
- Data components are structured components that agents can use to display rich data.
18
+ Components are structured components that agents can use to display rich data.
19
19
  {'\n'}
20
20
  <ExternalLink href={`${DOCS_BASE_URL}/visual-builder/data-components`}>Learn more</ExternalLink>
21
21
  </>
@@ -43,13 +43,13 @@ function calculateNodeHeight(node: Node): number {
43
43
  height += 30;
44
44
  }
45
45
 
46
- // Add height for data components section
46
+ // Add height for components section
47
47
  if (data.dataComponents && data.dataComponents.length > 0) {
48
48
  // Title + items section
49
49
  height += 60 + Math.ceil(data.dataComponents.length / 3) * 30;
50
50
  }
51
51
 
52
- // Add height for artifact components section
52
+ // Add height for artifacts section
53
53
  if (data.artifactComponents && data.artifactComponents.length > 0) {
54
54
  // Title + items section
55
55
  height += 60 + Math.ceil(data.artifactComponents.length / 3) * 30;