@inkeep/agents-manage-ui 0.28.0 → 0.29.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) 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 +195 -197
  3. package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +9 -9
  4. package/.next/standalone/agents-manage-ui/.next/build-manifest.json +5 -5
  5. package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +15 -15
  6. package/.next/standalone/agents-manage-ui/.next/react-loadable-manifest.json +7 -7
  7. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js +1 -1
  8. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js +2 -2
  10. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js.nft.json +1 -1
  11. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page.js +2 -2
  13. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page.js.nft.json +1 -1
  14. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page.js +2 -2
  16. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page.js.nft.json +1 -1
  17. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js +3 -3
  19. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js.nft.json +1 -1
  20. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js +1 -1
  22. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js.nft.json +1 -1
  23. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js +2 -2
  25. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js.nft.json +1 -1
  26. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js +2 -2
  28. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js.nft.json +1 -1
  29. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js +2 -2
  31. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js.nft.json +1 -1
  32. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js +2 -2
  34. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js.nft.json +1 -1
  35. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js +2 -2
  37. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js.nft.json +1 -1
  38. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js +1 -1
  40. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js.nft.json +1 -1
  41. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js +2 -2
  43. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js.nft.json +1 -1
  44. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js +1 -1
  46. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js +2 -2
  48. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
  49. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js +2 -2
  51. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js.nft.json +1 -1
  52. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
  53. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js +2 -2
  54. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js.nft.json +1 -1
  55. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
  56. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page.js +2 -2
  57. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page.js.nft.json +1 -1
  58. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page_client-reference-manifest.js +1 -1
  59. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page.js +2 -2
  60. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page.js.nft.json +1 -1
  61. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page_client-reference-manifest.js +1 -1
  62. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page.js +2 -2
  63. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page.js.nft.json +1 -1
  64. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page_client-reference-manifest.js +1 -1
  65. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page.js +2 -2
  66. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page.js.nft.json +1 -1
  67. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page_client-reference-manifest.js +1 -1
  68. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js +2 -2
  69. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js.nft.json +1 -1
  70. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page_client-reference-manifest.js +1 -1
  71. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js +2 -2
  72. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js.nft.json +1 -1
  73. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page_client-reference-manifest.js +1 -1
  74. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js +2 -2
  75. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js.nft.json +1 -1
  76. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
  77. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js +2 -2
  78. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js.nft.json +1 -1
  79. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page_client-reference-manifest.js +1 -1
  80. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js +1 -1
  81. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  82. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js +1 -1
  83. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page_client-reference-manifest.js +1 -1
  84. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js +2 -2
  85. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js.nft.json +1 -1
  86. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page_client-reference-manifest.js +1 -1
  87. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js +1 -1
  88. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page_client-reference-manifest.js +1 -1
  89. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js +2 -2
  90. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js.nft.json +1 -1
  91. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page_client-reference-manifest.js +1 -1
  92. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js +2 -2
  93. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js.nft.json +1 -1
  94. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page_client-reference-manifest.js +1 -1
  95. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js +1 -1
  96. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  97. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
  98. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +8 -8
  99. package/.next/standalone/agents-manage-ui/.next/server/app/api/data-components/[dataComponentId]/generate-render/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  101. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route_client-reference-manifest.js +1 -1
  102. package/.next/standalone/agents-manage-ui/.next/server/app/page.js +2 -2
  103. package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
  104. package/.next/standalone/agents-manage-ui/.next/server/app-paths-manifest.json +9 -9
  105. package/.next/standalone/agents-manage-ui/.next/server/chunks/1051.js +3 -0
  106. package/.next/standalone/agents-manage-ui/.next/server/chunks/1063.js +1 -0
  107. package/.next/standalone/agents-manage-ui/.next/server/chunks/279.js +1 -0
  108. package/.next/standalone/agents-manage-ui/.next/server/chunks/2981.js +1 -0
  109. package/.next/standalone/agents-manage-ui/.next/server/chunks/4608.js +2 -2
  110. package/.next/standalone/agents-manage-ui/.next/server/chunks/4629.js +1 -1
  111. package/.next/standalone/agents-manage-ui/.next/server/chunks/4851.js +1 -0
  112. package/.next/standalone/agents-manage-ui/.next/server/chunks/493.js +2 -2
  113. package/.next/standalone/agents-manage-ui/.next/server/chunks/5206.js +2 -2
  114. package/.next/standalone/agents-manage-ui/.next/server/chunks/6624.js +1 -1
  115. package/.next/standalone/agents-manage-ui/.next/server/chunks/6915.js +1 -0
  116. package/.next/standalone/agents-manage-ui/.next/server/chunks/7494.js +1 -0
  117. package/.next/standalone/agents-manage-ui/.next/server/chunks/7711.js +5 -5
  118. package/.next/standalone/agents-manage-ui/.next/server/chunks/7904.js +1 -0
  119. package/.next/standalone/agents-manage-ui/.next/server/chunks/7990.js +1 -0
  120. package/.next/standalone/agents-manage-ui/.next/server/chunks/8243.js +1 -0
  121. package/.next/standalone/agents-manage-ui/.next/server/chunks/877.js +1 -0
  122. package/.next/standalone/agents-manage-ui/.next/server/chunks/{5093.js → 9548.js} +2 -2
  123. package/.next/standalone/agents-manage-ui/.next/server/chunks/9887.js +5 -5
  124. package/.next/standalone/agents-manage-ui/.next/server/middleware-build-manifest.js +1 -1
  125. package/.next/standalone/agents-manage-ui/.next/server/middleware-manifest.json +5 -5
  126. package/.next/standalone/agents-manage-ui/.next/server/middleware-react-loadable-manifest.js +1 -1
  127. package/.next/standalone/agents-manage-ui/.next/server/pages/404.html +1 -1
  128. package/.next/standalone/agents-manage-ui/.next/server/pages/500.html +1 -1
  129. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.js +1 -1
  130. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.json +1 -1
  131. package/.next/standalone/agents-manage-ui/.next/static/chunks/13328-3501afe632ea84f5.js +1 -0
  132. package/.next/standalone/agents-manage-ui/.next/static/chunks/{16631-f88bc25a1b9c077c.js → 16631-2a2a541fcfdbe906.js} +2 -2
  133. package/.next/standalone/agents-manage-ui/.next/static/chunks/37054-f806eb0664ca9b46.js +1 -0
  134. package/.next/standalone/agents-manage-ui/.next/static/chunks/4574-85156d95eb490d81.js +1 -0
  135. package/.next/standalone/agents-manage-ui/.next/static/chunks/{4698.3051cd4ec04e2aa4.js → 4698.e4e6f35877b72598.js} +3 -3
  136. package/.next/standalone/agents-manage-ui/.next/static/chunks/{27590-b22ba4119fb3a372.js → 48975-117752577f1fe29b.js} +1 -1
  137. package/.next/standalone/agents-manage-ui/.next/static/chunks/52127-734a54f24862fb0f.js +1 -0
  138. package/.next/standalone/agents-manage-ui/.next/static/chunks/59837-a25b49713e3c508f.js +1 -0
  139. package/.next/standalone/agents-manage-ui/.next/static/chunks/73281-643b9a02ca117c7b.js +1 -0
  140. package/.next/standalone/agents-manage-ui/.next/static/chunks/83687-3d542758314a78fa.js +1 -0
  141. package/.next/standalone/agents-manage-ui/.next/static/chunks/{32912-50b7e9d8e70e2528.js → 87973-59f8ec521b15cfd9.js} +1 -1
  142. package/.next/standalone/agents-manage-ui/.next/static/chunks/{93145-cf06edef78087cb7.js → 98391-c9340f4c7d8af6c4.js} +1 -1
  143. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/layout-c65ab83d6a196cfe.js +1 -0
  144. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/{page-ba6b4b3fb70214bd.js → page-4f26c4248b7036d8.js} +1 -1
  145. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/{page-b4348fb46ed084e1.js → page-e98de18309a06bb8.js} +1 -1
  146. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-a49f362a73f7e96a.js +1 -0
  147. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-4acd5a469ecebe5a.js +1 -0
  148. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-9a9b0fd9c8b9f2f3.js +1 -0
  149. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-336b9df66d474522.js +1 -0
  150. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/{page-87acb8709f1f7fb9.js → page-ecb7143b732fdc0f.js} +1 -1
  151. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/{page-b23871c505b900d1.js → page-25f7e7fdff8d7e8e.js} +1 -1
  152. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/{page-a186ce6cf046a65c.js → page-aceaacbeb1243064.js} +1 -1
  153. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/{page-ee8f6229c7eca4d0.js → page-84d944041cb8431b.js} +1 -1
  154. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-c468fde63ef0792e.js +1 -0
  155. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-4e43e718265ac798.js +1 -0
  156. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-4047bfa5a4b41655.js +1 -0
  157. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-1d8c91d49d696a8d.js +1 -0
  158. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page-14b344da5c1fc68c.js +1 -0
  159. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/new/page-d234f088ad1e2028.js +1 -0
  160. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/page-ff058561b7ec2388.js +1 -0
  161. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/{page-71faad801a179725.js → page-6a369cc91fad8bc0.js} +1 -1
  162. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-12278eadd9b4089d.js +1 -0
  163. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-79d260551e4d1b75.js +1 -0
  164. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-fb83d82aba6952b6.js +1 -0
  165. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/{page-122cdc90b53aece3.js → page-c7e4a0c28ec09be0.js} +1 -1
  166. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page-90edd7e87e5bd2ec.js +1 -0
  167. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-80f6a1bc3889afec.js +1 -0
  168. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-1ddd5dac825597fe.js +1 -0
  169. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-0950cfad39b55d5d.js +1 -0
  170. package/.next/standalone/agents-manage-ui/.next/static/chunks/{d834c995-ed8b4d46f11282af.js → d834c995-e7d29efff67c3fbe.js} +1 -1
  171. package/.next/standalone/agents-manage-ui/.next/static/chunks/{webpack-4f03d3dee03e888e.js → webpack-cbf35baaefe1f37c.js} +1 -1
  172. package/.next/standalone/agents-manage-ui/package.json +4 -4
  173. package/.next/standalone/packages/agents-core/package.json +3 -3
  174. package/package.json +7 -7
  175. package/src/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.tsx +1 -1
  176. package/src/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.tsx +4 -4
  177. package/src/app/[tenantId]/projects/[projectId]/credentials/page.tsx +1 -0
  178. package/src/components/agent/agent.tsx +0 -5
  179. package/src/components/agent/nodes/mcp-node.tsx +3 -9
  180. package/src/components/agent/sidepane/nodes/mcp-node-editor.tsx +0 -9
  181. package/src/components/agent/sidepane/nodes/mcp-selector/mcp-server-item.tsx +0 -1
  182. package/src/components/credentials/credential-item.tsx +7 -7
  183. package/src/components/credentials/views/edit-credential-form.tsx +37 -13
  184. package/src/components/credentials/views/new-credential-form.tsx +50 -40
  185. package/src/components/external-agents/external-agent-item.tsx +6 -11
  186. package/src/components/mcp-servers/form/mcp-server-form.tsx +1 -1
  187. package/src/components/mcp-servers/mcp-tool-image.tsx +4 -20
  188. package/src/components/mcp-servers/mcp-tool-item.tsx +11 -18
  189. package/src/components/mcp-servers/selection/prebuilt-server-card.tsx +10 -14
  190. package/src/components/mcp-servers/view-mcp-server-details.tsx +0 -9
  191. package/src/hooks/use-oauth-login.ts +3 -1
  192. package/src/lib/api/credentialStores.ts +17 -8
  193. package/src/lib/mcp-tools/nango.ts +56 -130
  194. package/.next/standalone/agents-manage-ui/.next/server/chunks/2014.js +0 -1
  195. package/.next/standalone/agents-manage-ui/.next/server/chunks/271.js +0 -1
  196. package/.next/standalone/agents-manage-ui/.next/server/chunks/2800.js +0 -1
  197. package/.next/standalone/agents-manage-ui/.next/server/chunks/3948.js +0 -1
  198. package/.next/standalone/agents-manage-ui/.next/server/chunks/3985.js +0 -1
  199. package/.next/standalone/agents-manage-ui/.next/server/chunks/4243.js +0 -1
  200. package/.next/standalone/agents-manage-ui/.next/server/chunks/4558.js +0 -1
  201. package/.next/standalone/agents-manage-ui/.next/server/chunks/5139.js +0 -1
  202. package/.next/standalone/agents-manage-ui/.next/server/chunks/6016.js +0 -1
  203. package/.next/standalone/agents-manage-ui/.next/server/chunks/6724.js +0 -3
  204. package/.next/standalone/agents-manage-ui/.next/server/chunks/6920.js +0 -1
  205. package/.next/standalone/agents-manage-ui/.next/server/chunks/7122.js +0 -1
  206. package/.next/standalone/agents-manage-ui/.next/server/chunks/9396.js +0 -1
  207. package/.next/standalone/agents-manage-ui/.next/static/chunks/13328-2c9a501a0fc457e2.js +0 -1
  208. package/.next/standalone/agents-manage-ui/.next/static/chunks/19778-f6c4304dcaf059d7.js +0 -1
  209. package/.next/standalone/agents-manage-ui/.next/static/chunks/22776-e669aad4dac566bb.js +0 -1
  210. package/.next/standalone/agents-manage-ui/.next/static/chunks/37054-197eb15b5240c021.js +0 -1
  211. package/.next/standalone/agents-manage-ui/.next/static/chunks/73281-fcc8f39b0ed5fac6.js +0 -1
  212. package/.next/standalone/agents-manage-ui/.next/static/chunks/89425-34ffc9d912fa072c.js +0 -1
  213. package/.next/standalone/agents-manage-ui/.next/static/chunks/93171-6a402129889ad232.js +0 -1
  214. package/.next/standalone/agents-manage-ui/.next/static/chunks/99816-5e570993fd9e7d49.js +0 -1
  215. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/layout-20d291c8509021c2.js +0 -1
  216. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-7494c9084b8fce8a.js +0 -1
  217. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-a1477076697de8f6.js +0 -1
  218. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-079d3c40b0867ce3.js +0 -1
  219. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-c7256e4dfdf0251e.js +0 -1
  220. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-6bfd651255ff9b3f.js +0 -1
  221. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-5c18aa00648d0c63.js +0 -1
  222. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-1b1aa5755ae371db.js +0 -1
  223. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-8c40b8a151b79c15.js +0 -1
  224. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page-5a5ee40ead330c14.js +0 -1
  225. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/new/page-039bec81c1cb0b35.js +0 -1
  226. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/page-ee4dc5f2d40132b5.js +0 -1
  227. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-8bc177285419ccfe.js +0 -1
  228. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-48e2c10f0173bda2.js +0 -1
  229. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-1cb8af45415c9621.js +0 -1
  230. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page-480956ddb065b952.js +0 -1
  231. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-7baefbb6241b22c8.js +0 -1
  232. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-5622514e238a7f21.js +0 -1
  233. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-8e0b2e7179618b26.js +0 -1
  234. package/src/lib/utils/mcp-utils.ts +0 -18
  235. /package/.next/standalone/agents-manage-ui/.next/static/{XZGvckRmrfnZ3O9lzjtPr → TYHGxUrjnei4ODNLnWoTf}/_buildManifest.js +0 -0
  236. /package/.next/standalone/agents-manage-ui/.next/static/{XZGvckRmrfnZ3O9lzjtPr → TYHGxUrjnei4ODNLnWoTf}/_ssgManifest.js +0 -0
@@ -25,9 +25,7 @@ import {
25
25
  import { deleteToolAction } from '@/lib/actions/tools';
26
26
  import type { MCPTool } from '@/lib/types/tools';
27
27
 
28
- import { getToolTypeAndName } from '@/lib/utils/mcp-utils';
29
28
  import { Badge } from '../ui/badge';
30
- import { CardTitle } from '../ui/card';
31
29
  import { DeleteConfirmation } from '../ui/delete-confirmation';
32
30
  import { Tooltip, TooltipContent, TooltipTrigger } from '../ui/tooltip';
33
31
  import { MCPToolImage } from './mcp-tool-image';
@@ -135,22 +133,17 @@ export function MCPToolItem({
135
133
  return (
136
134
  <ItemCardRoot>
137
135
  <ItemCardHeader>
138
- <ItemCardLink href={linkPath}>
139
- <ItemCardTitle className="text-md">
140
- <div className="flex items-center gap-3">
141
- <MCPToolImage
142
- imageUrl={tool.imageUrl}
143
- name={tool.name}
144
- provider={getToolTypeAndName(tool).type}
145
- size={24}
146
- className="mt-0.5 flex-shrink-0"
147
- />
148
- <div className="flex-1 min-w-0">
149
- <CardTitle className="text-base truncate font-medium">
150
- {getToolTypeAndName(tool).name || tool.name}
151
- </CardTitle>
152
- </div>
153
- </div>
136
+ <ItemCardLink href={linkPath} className="min-w-0">
137
+ <ItemCardTitle className="text-md flex items-center gap-3 min-w-0">
138
+ <MCPToolImage
139
+ imageUrl={tool.imageUrl}
140
+ name={tool.name}
141
+ size={24}
142
+ className="mt-0.5 flex-shrink-0"
143
+ />
144
+ <span className="flex-1 min-w-0 text-base font-medium truncate">
145
+ {tool.name}
146
+ </span>
154
147
  </ItemCardTitle>
155
148
  </ItemCardLink>
156
149
  <MCPToolDialogMenu toolId={tool.id} toolName={tool.name} />
@@ -1,7 +1,6 @@
1
1
  'use client';
2
2
 
3
3
  import { MCPToolImage } from '@/components/mcp-servers/mcp-tool-image';
4
- import { CardTitle } from '@/components/ui/card';
5
4
  import {
6
5
  ItemCardContent,
7
6
  ItemCardHeader,
@@ -48,19 +47,16 @@ export function PrebuiltServerCard({
48
47
  onClick={handleClick}
49
48
  >
50
49
  <ItemCardHeader>
51
- <ItemCardTitle className="text-md">
52
- <div className="flex items-center gap-3">
53
- <MCPToolImage
54
- imageUrl={server.imageUrl}
55
- name={server.name}
56
- provider={server.name}
57
- size={24}
58
- className="mt-0.5 flex-shrink-0"
59
- />
60
- <div className="flex-1 min-w-0">
61
- <CardTitle className="text-base truncate font-medium">{server.name}</CardTitle>
62
- </div>
63
- </div>
50
+ <ItemCardTitle className="text-md flex items-center gap-3 min-w-0">
51
+ <MCPToolImage
52
+ imageUrl={server.imageUrl}
53
+ name={server.name}
54
+ size={24}
55
+ className="mt-0.5 flex-shrink-0"
56
+ />
57
+ <span className="flex-1 min-w-0 text-base font-medium truncate">
58
+ {server.name}
59
+ </span>
64
60
  </ItemCardTitle>
65
61
  </ItemCardHeader>
66
62
 
@@ -8,7 +8,6 @@ import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip
8
8
  import { useOAuthLogin } from '@/hooks/use-oauth-login';
9
9
  import type { MCPTool } from '@/lib/types/tools';
10
10
  import { cn } from '@/lib/utils';
11
- import { getToolTypeAndName } from '@/lib/utils/mcp-utils';
12
11
  import { Button } from '../ui/button';
13
12
  import { CopyableMultiLineCode } from '../ui/copyable-multi-line-code';
14
13
  import { CopyableSingleLineCode } from '../ui/copyable-single-line-code';
@@ -110,13 +109,6 @@ export function ViewMCPServerDetails({
110
109
  return <div className={cn('flex w-full text-sm', className)}>{children}</div>;
111
110
  };
112
111
 
113
- let provider: string | undefined;
114
- try {
115
- provider = getToolTypeAndName(tool).type;
116
- } catch (error) {
117
- console.error(error);
118
- }
119
-
120
112
  return (
121
113
  <div className="max-w-2xl mx-auto py-4 space-y-8">
122
114
  {/* Header */}
@@ -125,7 +117,6 @@ export function ViewMCPServerDetails({
125
117
  <MCPToolImage
126
118
  imageUrl={tool.imageUrl}
127
119
  name={tool.name}
128
- provider={provider}
129
120
  size={48}
130
121
  className="rounded-lg"
131
122
  />
@@ -6,6 +6,7 @@ import { useRuntimeConfig } from '@/contexts/runtime-config-context';
6
6
  import { listCredentialStores } from '@/lib/api/credentialStores';
7
7
  import { updateMCPTool } from '@/lib/api/tools';
8
8
  import { findOrCreateCredential } from '@/lib/utils/credentials-utils';
9
+ import { generateId } from '@/lib/utils/id-utils';
9
10
  import { getOAuthLoginUrl } from '@/lib/utils/mcp-urls';
10
11
  import { useNangoConnect } from './use-nango-connect';
11
12
 
@@ -155,7 +156,8 @@ export function useOAuthLogin({
155
156
  });
156
157
 
157
158
  const newCredentialData = {
158
- id: generateIdFromName(toolName),
159
+ id: generateId(),
160
+ name: `${toolName} OAuth Credential`,
159
161
  type: CredentialStoreType.nango,
160
162
  credentialStoreId: 'nango-default',
161
163
  retrievalParams: {
@@ -18,6 +18,7 @@ export interface CredentialStoresListResponse {
18
18
  export interface CreateCredentialInStoreRequest {
19
19
  key: string;
20
20
  value: string;
21
+ metadata?: Record<string, string>;
21
22
  }
22
23
 
23
24
  export interface CreateCredentialInStoreResponse {
@@ -48,13 +49,21 @@ export async function listCredentialStores(
48
49
  /**
49
50
  * Create a credential in a specific credential store
50
51
  */
51
- export async function createCredentialInStore(
52
- tenantId: string,
53
- projectId: string,
54
- storeId: string,
55
- key: string,
56
- value: string
57
- ): Promise<CreateCredentialInStoreResponse['data']> {
52
+ export async function createCredentialInStore({
53
+ tenantId,
54
+ projectId,
55
+ storeId,
56
+ key,
57
+ value,
58
+ metadata,
59
+ }: {
60
+ tenantId: string;
61
+ projectId: string;
62
+ storeId: string;
63
+ key: string;
64
+ value: string;
65
+ metadata?: Record<string, string>;
66
+ }): Promise<CreateCredentialInStoreResponse['data']> {
58
67
  validateTenantId(tenantId);
59
68
  validateProjectId(projectId);
60
69
 
@@ -62,7 +71,7 @@ export async function createCredentialInStore(
62
71
  `tenants/${tenantId}/projects/${projectId}/credential-stores/${storeId}/credentials`,
63
72
  {
64
73
  method: 'POST',
65
- body: JSON.stringify({ key, value }),
74
+ body: JSON.stringify({ key, value, metadata }),
66
75
  }
67
76
  );
68
77
 
@@ -1,26 +1,17 @@
1
1
  'use server';
2
2
 
3
3
  /**
4
- * Nango Integration Utilities
5
- *
6
4
  * This file contains server-side functions for interacting with the Nango API.
7
- *
8
- * IMPORTANT: All patterns here involve external API calls to Nango, which has
9
- * atomic constraints enforced at their database level. Patterns that might look
10
- * like race conditions (optimistic creation + fallback fetch) are actually safe
11
- * and recommended for external APIs with uniqueness constraints.
12
5
  */
13
6
 
14
- import { generateIdFromName } from '@inkeep/agents-core/client-exports';
15
7
  import { Nango } from '@nangohq/node';
16
8
  import type {
17
- ApiKeyCredentials,
18
9
  ApiProvider,
19
10
  ApiPublicConnection,
20
11
  ApiPublicIntegration,
21
12
  ApiPublicIntegrationCredentials,
22
13
  } from '@nangohq/types';
23
- import { DEFAULT_NANGO_SERVER_URL, DEFAULT_TENANT_ID } from '@/lib/runtime-config/defaults';
14
+ import { DEFAULT_TENANT_ID } from '@/lib/runtime-config/defaults';
24
15
  import { NangoError, wrapNangoError } from './nango-types';
25
16
 
26
17
  // Initialize Nango client with environment variables
@@ -33,10 +24,7 @@ const getNangoClient = () => {
33
24
  try {
34
25
  return new Nango({
35
26
  secretKey,
36
- host:
37
- process.env.NANGO_SERVER_URL ||
38
- process.env.PUBLIC_NANGO_SERVER_URL ||
39
- DEFAULT_NANGO_SERVER_URL,
27
+ host: process.env.NANGO_SERVER_URL || 'https://api.nango.dev',
40
28
  });
41
29
  } catch (error) {
42
30
  throw new NangoError('Failed to initialize Nango client', 'new Nango', error);
@@ -168,6 +156,50 @@ export async function createNangoIntegration(params: {
168
156
  }
169
157
  }
170
158
 
159
+ export async function updateMCPGenericIntegration({
160
+ uniqueKey,
161
+ }: {
162
+ uniqueKey: string;
163
+ }): Promise<ApiPublicIntegration> {
164
+ const secretKey = process.env.NANGO_SECRET_KEY;
165
+ if (!secretKey) {
166
+ throw new NangoError('NANGO_SECRET_KEY environment variable is required for Nango integration');
167
+ }
168
+
169
+ const host = process.env.NANGO_SERVER_URL || 'https://api.nango.dev';
170
+
171
+ const clientName = process.env.OAUTH_CLIENT_NAME || 'Inkeep Agent Framework';
172
+ const clientUri = process.env.OAUTH_CLIENT_URI || 'https://inkeep.com';
173
+ const logoUri =
174
+ process.env.OAUTH_CLIENT_LOGO_URI || 'https://inkeep.com/images/logos/inkeep-logo-blue.svg';
175
+
176
+ const response = await fetch(`${host}/integrations/${uniqueKey}`, {
177
+ method: 'PATCH',
178
+ headers: {
179
+ Authorization: `Bearer ${secretKey}`,
180
+ 'Content-Type': 'application/json',
181
+ },
182
+ body: JSON.stringify({
183
+ custom: {
184
+ oauth_client_name: clientName,
185
+ oauth_client_uri: clientUri,
186
+ oauth_client_logo_uri: logoUri,
187
+ },
188
+ }),
189
+ });
190
+
191
+ if (!response.ok) {
192
+ const errorData = await response.json().catch(() => ({}));
193
+ throw new NangoError(
194
+ `Failed to update integration: ${response.status} ${response.statusText}`,
195
+ 'updateMCPGenericIntegration',
196
+ errorData
197
+ );
198
+ }
199
+
200
+ return await response.json();
201
+ }
202
+
171
203
  /**
172
204
  * Get connections for a specific integration
173
205
  */
@@ -228,122 +260,6 @@ async function createNangoConnectSession({
228
260
  }
229
261
  }
230
262
 
231
- /**
232
- * Create an API key credential by setting up Nango integration and importing the connection
233
- */
234
- export async function createNangoApiKeyConnection({
235
- name,
236
- apiKeyToSet,
237
- metadata,
238
- }: {
239
- name: string;
240
- apiKeyToSet: string;
241
- metadata: Record<string, string>;
242
- }): Promise<{ integration: ApiPublicIntegration }> {
243
- const provider = 'private-api-bearer';
244
- const idFromName = generateIdFromName(name);
245
-
246
- try {
247
- let integration: ApiPublicIntegration;
248
-
249
- /*
250
- * SAFE PATTERN: Optimistic creation for external API with atomic constraints
251
- *
252
- * This is NOT a race condition because:
253
- * 1. Nango API enforces uniqueKey constraints atomically in their database
254
- * 2. Multiple concurrent requests will get deterministic results:
255
- * - One request succeeds (creates the integration)
256
- * - All others get 400 duplicate error (safe to handle)
257
- * 3. The fetchNangoIntegration fallback is idempotent
258
- *
259
- * This pattern is recommended for external APIs vs local database operations
260
- * where true race conditions could occur.
261
- */
262
- try {
263
- // Optimistic creation - assume integration doesn't exist
264
- integration = await createNangoIntegration({
265
- provider,
266
- uniqueKey: idFromName,
267
- displayName: name,
268
- });
269
- } catch (error: any) {
270
- // Handle Nango's atomic duplicate key rejection (400 status)
271
- if (
272
- error instanceof NangoError &&
273
- error.cause &&
274
- typeof error.cause === 'object' &&
275
- 'status' in error.cause &&
276
- error.cause.status === 400
277
- ) {
278
- // Safe fallback: fetch the existing integration (idempotent operation)
279
- const existingIntegration = await fetchNangoIntegration(idFromName);
280
- if (existingIntegration) {
281
- integration = existingIntegration;
282
- } else {
283
- // Edge case: 400 error wasn't about duplicate key
284
- wrapNangoError(error, `Integration creation failed for unexpected reasons`, 'create');
285
- }
286
- } else {
287
- // Non-duplicate error (network, auth, etc.)
288
- wrapNangoError(error, `Failed to create or retrieve integration '${idFromName}'`, 'create');
289
- }
290
- }
291
-
292
- try {
293
- const importConnectionUrl = `${process.env.NANGO_SERVER_URL || process.env.PUBLIC_NANGO_SERVER_URL || DEFAULT_NANGO_SERVER_URL}/connections`;
294
-
295
- const credentials: ApiKeyCredentials = {
296
- type: 'API_KEY',
297
- apiKey: apiKeyToSet,
298
- };
299
-
300
- const body = {
301
- provider_config_key: integration.unique_key,
302
- connection_id: idFromName,
303
- metadata,
304
- credentials,
305
- };
306
-
307
- const response = await fetch(importConnectionUrl, {
308
- method: 'POST',
309
- headers: {
310
- Authorization: `Bearer ${process.env.NANGO_SECRET_KEY}`,
311
- 'Content-Type': 'application/json',
312
- },
313
- body: JSON.stringify(body),
314
- });
315
-
316
- if (!response.ok) {
317
- throw new NangoError(
318
- `Failed to import connection: HTTP ${response.status} - ${response.statusText}`,
319
- 'importConnection'
320
- );
321
- }
322
- } catch (error) {
323
- wrapNangoError(error, `Failed to import API key connection to Nango`, 'importConnection');
324
- }
325
-
326
- try {
327
- await setNangoConnectionMetadata({
328
- providerConfigKey: integration.unique_key,
329
- connectionId: idFromName,
330
- metadata,
331
- });
332
- } catch (error) {
333
- // Non-critical error - log but don't fail
334
- console.warn(`Failed to set metadata for connection ${idFromName}:`, error);
335
- }
336
- return { integration };
337
- } catch (error) {
338
- console.error('Unexpected error creating API key credential:', error);
339
- wrapNangoError(
340
- error,
341
- `Unexpected error creating API key credential '${name}'`,
342
- 'createNangoApiKeyConnection'
343
- );
344
- }
345
- }
346
-
347
263
  /**
348
264
  * Create a connect session for a Nango provider (sets up integration if needed)
349
265
  */
@@ -391,6 +307,16 @@ export async function createProviderConnectSession({
391
307
  }
392
308
  }
393
309
 
310
+ if (providerName === 'mcp-generic') {
311
+ try {
312
+ await updateMCPGenericIntegration({
313
+ uniqueKey: integration.unique_key,
314
+ });
315
+ } catch (error) {
316
+ console.warn('Failed to update MCP generic integration:', error);
317
+ }
318
+ }
319
+
394
320
  try {
395
321
  const connectSession = await createNangoConnectSession({
396
322
  integrationId: integration.unique_key,
@@ -1 +0,0 @@
1
- exports.id=2014,exports.ids=[2014],exports.modules={3687:(a,b,c)=>{"use strict";c.d(b,{E:()=>f});var d=c(72669),e=c(64585);function f({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"skeleton",className:(0,e.cn)("bg-accent animate-pulse rounded-md",a),...b})}},8003:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>j});var d=c(72669),e=c(17932),f=c(96737),g=c(39885),h=c(3687),i=c(43461);function j(){return(0,d.jsx)(e.H,{children:(0,d.jsxs)(f.D,{children:[(0,d.jsx)(g.zY,{title:"Projects",description:i.od}),(0,d.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-3 md:gap-4",children:Array.from({length:6}).map((a,b)=>(0,d.jsx)(h.E,{className:"h-36 w-full rounded-lg"},`loading-skeleton-${b}`))})]})})}},13907:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(59111),e=c(43433);function f({error:a,reset:b}){return(0,d.jsx)(e.default,{error:a,title:"Something went wrong.",description:"An unexpected error occurred. Please try again.",reset:b})}},17932:(a,b,c)=>{"use strict";c.d(b,{H:()=>j});var d=c(72669);function e({children:a}){return(0,d.jsx)("div",{className:"flex flex-1 flex-col overflow-y-auto scrollbar-thin scrollbar-thumb-muted-foreground/30 dark:scrollbar-thumb-muted-foreground/50 scrollbar-track-transparent h-full w-full min-h-0 bg-muted/20 dark:bg-background",children:(0,d.jsx)("div",{className:"@container/main min-h-0 flex flex-1 flex-col",children:a})})}var f=c(88746),g=c(97633),h=c(80248);function i({breadcrumbs:a}){return(0,d.jsx)("header",{className:"flex h-(--header-height) shrink-0 items-center gap-2 border-b transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-(--header-height) bg-muted/20 dark:bg-background rounded-t-[14px]",children:(0,d.jsxs)("div",{className:"flex w-full items-center gap-1 px-4 lg:gap-2 lg:px-6",children:[(0,d.jsx)(h.SidebarTrigger,{className:"-ml-1 text-muted-foreground hover:text-foreground hover:bg-accent dark:text-muted-foreground dark:hover:text-foreground dark:hover:bg-accent/50"}),(0,d.jsx)(g.Separator,{orientation:"vertical",className:"mx-2 data-[orientation=vertical]:h-4"}),(0,d.jsx)(f.Breadcrumbs,{items:a})]})})}function j({children:a,breadcrumbs:b}){return(0,d.jsxs)("div",{className:"h-[calc(100vh-16px)] flex flex-col overflow-hidden",children:[(0,d.jsx)(i,{breadcrumbs:b}),(0,d.jsx)(e,{children:a})]})}},20828:(a,b,c)=>{Promise.resolve().then(c.bind(c,75125))},27159:(a,b,c)=>{"use strict";c.d(b,{bq:()=>l,eb:()=>n,gC:()=>m,l6:()=>j,yv:()=>k});var d=c(59111),e=c(29477),f=c(67048),g=c(39108),h=c(25773),i=c(42723);function j({...a}){return(0,d.jsx)(e.bL,{"data-slot":"select",...a})}function k({...a}){return(0,d.jsx)(e.WT,{"data-slot":"select-value",...a})}function l({className:a,size:b="default",children:c,...g}){return(0,d.jsxs)(e.l9,{"data-slot":"select-trigger","data-size":b,className:(0,i.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 font-normal normal-case",a),...g,children:[c,(0,d.jsx)(e.In,{asChild:!0,children:(0,d.jsx)(f.A,{className:"size-4 opacity-50"})})]})}function m({className:a,children:b,position:c="popper",...f}){return(0,d.jsx)(e.ZL,{children:(0,d.jsxs)(e.UC,{"data-slot":"select-content",className:(0,i.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto scrollbar-thin scrollbar-thumb-muted-foreground/30 dark:scrollbar-thumb-muted-foreground/50 scrollbar-track-transparent rounded-md border shadow-md","popper"===c&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:c,...f,children:[(0,d.jsx)(o,{}),(0,d.jsx)(e.LM,{className:(0,i.cn)("p-1","popper"===c&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:b}),(0,d.jsx)(p,{})]})})}function n({className:a,children:b,...c}){return(0,d.jsxs)(e.q7,{"data-slot":"select-item",className:(0,i.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",a),...c,children:[(0,d.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,d.jsx)(e.VF,{children:(0,d.jsx)(g.A,{className:"size-4"})})}),(0,d.jsx)(e.p4,{children:b})]})}function o({className:a,...b}){return(0,d.jsx)(e.PP,{"data-slot":"select-scroll-up-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(h.A,{className:"size-4"})})}function p({className:a,...b}){return(0,d.jsx)(e.wn,{"data-slot":"select-scroll-down-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(f.A,{className:"size-4"})})}},29160:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>i,dynamic:()=>h});var d=c(72669),e=c(45907),f=c(54637),g=c(81438);let h="force-dynamic";async function i({children:a,params:b}){let{tenantId:c,projectId:h}=await b;try{let b=await (0,f.Sw)(c,h);return(0,d.jsx)(g.ProjectProvider,{value:b.data,children:a})}catch(a){return(0,d.jsx)(e.default,{error:a,context:"project"})}}},36429:(a,b,c)=>{"use strict";c.d(b,{ExternalAgentForm:()=>v});var d=c(59111),e=c(35197),f=c(6461),g=c(485),h=c(51820),i=c(68156),j=c(17130),k=c(55124),l=c(16426),m=c(2856),n=c(93622),o=c(35229),p=c(57544),q=c(90147);let r=(0,q.createServerReference)("703fc748a3c1c5ce0d4636641454b2a3e53dfca3ff",q.callServer,void 0,q.findSourceMapURL,"createExternalAgent");var s=c(34576);let t=s.object({name:s.string().min(1,"Name is required."),description:s.string().optional(),baseUrl:s.string().url("Must be a valid URL."),credentialReferenceId:s.string().nullish()}),u={name:"",description:"",baseUrl:"",credentialReferenceId:"none"};function v({initialData:a,mode:b="create",externalAgent:c,credentials:q,tenantId:s,projectId:v}){let w=(0,g.useRouter)(),x=(0,h.mN)({resolver:(0,e.u)(t),defaultValues:{...u,...a}}),{isSubmitting:y}=x.formState,z=async a=>{try{let d={...a,description:a.description||"",credentialReferenceId:"none"===a.credentialReferenceId?null:a.credentialReferenceId};if("update"===b&&c)await (0,p.e)(s,v,c.id,d),i.oR.success("External agent updated successfully"),w.push(`/${s}/projects/${v}/external-agents/${c.id}`);else{let a=await r(s,v,{...d,id:(0,f.Ak)()});i.oR.success("External agent created successfully"),w.push(`/${s}/projects/${v}/external-agents/${a.id}`)}}catch(a){console.error(`Failed to ${b} external agent:`,a),i.oR.error(`Failed to ${b} external agent. Please try again.`)}};return(0,d.jsx)(n.lV,{...x,children:(0,d.jsxs)("form",{onSubmit:x.handleSubmit(z),className:"space-y-8",children:[(0,d.jsx)(j.a,{control:x.control,name:"name",label:"Name",placeholder:"My External Agent",isRequired:!0}),(0,d.jsx)(l.K,{control:x.control,name:"description",label:"Description (optional)",placeholder:"A brief description of what this external agent does..."}),(0,d.jsx)(j.a,{control:x.control,name:"baseUrl",label:"Base URL",placeholder:"https://api.example.com",isRequired:!0}),(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)(k.U,{control:x.control,selectTriggerClassName:"w-full",name:"credentialReferenceId",label:"Credential",placeholder:"Select a credential",options:[{value:"none",label:"No Authentication"},...q.map(a=>({value:a.id,label:a.id}))]}),(0,d.jsx)(o.n,{title:"How this works",children:(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("p",{children:["Select"," ",(0,d.jsx)("code",{className:"bg-background px-1.5 py-0.5 rounded border",children:"No Authentication"})," ","if the external agent does not require authentication, or if you want to add a credential later."]}),(0,d.jsx)("p",{children:"Otherwise, select from the existing credentials you have already created. The credential will be used when communicating with this external agent."})]})})]}),(0,d.jsx)(m.$,{type:"submit",disabled:y,children:"update"===b?"Save":"Create"})]})})}},39885:(a,b,c)=>{"use strict";c.d(b,{DE:()=>f,RR:()=>h,gp:()=>g,zY:()=>j});var d=c(72669),e=c(64585);function f({className:a,children:b,...c}){return(0,d.jsx)("div",{className:(0,e.cn)("flex flex-row gap-0 p-0 flex-nowrap items-center justify-between mb-8",a),...c,children:b})}function g({className:a,children:b,...c}){return(0,d.jsx)("div",{className:(0,e.cn)("flex flex-col gap-2 p-0 flex-nowrap items-stretch justify-start",a),...c,children:b})}function h({className:a,children:b,...c}){return(0,d.jsx)("h3",{className:(0,e.cn)("text-xl font-light",a),...c,children:b})}function i({className:a,children:b,...c}){return(0,d.jsx)("p",{className:(0,e.cn)("text-muted-foreground text-sm font-normal",a),...c,children:b})}function j({title:a,description:b,action:c,className:e}){return(0,d.jsxs)(f,{className:e,children:[(0,d.jsxs)(g,{children:[(0,d.jsx)(h,{children:a}),b&&(0,d.jsx)(i,{children:b})]}),c]})}},43461:(a,b,c)=>{"use strict";c.d(b,{CU:()=>j,M0:()=>l,_g:()=>i,iO:()=>f,lh:()=>g,od:()=>k,yr:()=>h});var d=c(72669),e=c(64422);let f="https://docs.inkeep.com",g=(0,d.jsxs)(d.Fragment,{children:["Artifacts automatically capture and store source information from tool and agent interactions, providing a record of where data originates.","\n",(0,d.jsx)(e.G,{href:`${f}/visual-builder/artifact-components`,children:"Learn more"})]}),h=(0,d.jsxs)(d.Fragment,{children:["Components are structured components that agents can use to display rich data.","\n",(0,d.jsx)(e.G,{href:`${f}/visual-builder/data-components`,children:"Learn more"})]}),i=(0,d.jsxs)(d.Fragment,{children:["Agents are visual representations of the data flow between sub agents and tools.","\n",(0,d.jsx)(e.G,{href:`${f}/visual-builder/agent`,children:"Learn more"})]}),j=(0,d.jsxs)(d.Fragment,{children:["API keys are use to authenticate against the Inkeep Agents Run API. They are associated with an agent and can be used to chat with the agent programmatically.","\n"]}),k=(0,d.jsx)(d.Fragment,{children:"Projects help you organize your agents, tools, and configurations."}),l=(0,d.jsxs)(d.Fragment,{children:[k," Create your first project to get started.","\n",(0,d.jsx)(e.G,{href:`${f}/`,children:"Check out the docs"})]})},55124:(a,b,c)=>{"use strict";c.d(b,{U:()=>g});var d=c(59111),e=c(27159),f=c(71771);function g({control:a,name:b,label:c,placeholder:g,options:h,disabled:i=!1,selectTriggerClassName:j,description:k,isRequired:l=!1}){return(0,d.jsx)(f.u,{control:a,name:b,label:c,description:k,isRequired:l,children:a=>(0,d.jsxs)(e.l6,{onValueChange:a.onChange,defaultValue:a.value,disabled:i,children:[(0,d.jsx)(e.bq,{disabled:i,className:j,children:(0,d.jsx)(e.yv,{placeholder:g})}),(0,d.jsx)(e.gC,{children:h.map(a=>(0,d.jsx)(e.eb,{value:a.value,disabled:a.disabled,children:a.label},a.value))})]})})}},57544:(a,b,c)=>{"use strict";c.d(b,{e:()=>e});var d=c(90147);let e=(0,d.createServerReference)("7849af95213cdd0283bff696652ddbc4d488ddd994",d.callServer,void 0,d.findSourceMapURL,"updateExternalAgent")},60115:(a,b,c)=>{"use strict";c.d(b,{ExternalAgentForm:()=>d});let d=(0,c(60241).registerClientReference)(function(){throw Error("Attempted to call ExternalAgentForm() from the server but ExternalAgentForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/components/external-agents/form/external-agent-form.tsx","ExternalAgentForm")},61552:(a,b,c)=>{Promise.resolve().then(c.bind(c,45907)),Promise.resolve().then(c.bind(c,81438))},61927:(a,b,c)=>{Promise.resolve().then(c.bind(c,88746)),Promise.resolve().then(c.bind(c,97633)),Promise.resolve().then(c.bind(c,80248)),Promise.resolve().then(c.t.bind(c,93520,23))},64422:(a,b,c)=>{"use strict";c.d(b,{G:()=>i});var d=c(72669),e=c(24598),f=c(93520),g=c.n(f),h=c(64585);function i({href:a,children:b,className:c,iconClassName:f,...i}){return(0,d.jsxs)(g(),{href:a,target:"_blank",rel:"noreferrer noopener",className:(0,h.cn)("text-sm text-muted-foreground underline underline-offset-2 inline-flex items-center gap-1 hover:text-primary ml-1 group/link font-mono uppercase transition-colors",c),...i,children:[b,(0,d.jsx)(e.A,{className:(0,h.cn)("size-3.5 text-muted-foreground/60 group-hover/link:text-primary",f)})]})}},64585:(a,b,c)=>{"use strict";c.d(b,{BL:()=>g,cn:()=>f});var d=c(99613),e=c(81533);function f(...a){return(0,e.QP)((0,d.$)(a))}function g(a){return a?a.reduce((a,b)=>(a[b.id]=b,a),{}):{}}},75125:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(60241).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/agents/agents/agents-manage-ui/src/app/[tenantId]/projects/error.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/app/[tenantId]/projects/error.tsx","default")},78972:(a,b,c)=>{Promise.resolve().then(c.bind(c,13907))},81097:(a,b,c)=>{"use strict";c.d(b,{$Y:()=>g,GO:()=>i,K3:()=>h,h9:()=>k,nZ:()=>j});var d=c(1274);c(2082);var e=c(53842),f=c(41979);async function g(a,b,c=1,d=50){(0,f.M2)(a),(0,f.nt)(b);let h=new URLSearchParams({page:c.toString(),limit:d.toString()});return(await (0,e.J)(`tenants/${a}/projects/${b}/credentials?${h}`)).data}async function h(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`)).data}async function i(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials`,{method:"POST",body:JSON.stringify(c)})).data}async function j(a,b,c,d){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`,{method:"PUT",body:JSON.stringify(d)})).data}async function k(a,b,c){(0,f.M2)(a),(0,f.nt)(b),await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`,{method:"DELETE"})}(0,c(95454).D)([g,h,i,j,k]),(0,d.A)(g,"78ead8b82ec0af6df186f9afd4e3df18671632e1f6",null),(0,d.A)(h,"700106807085e0d7e14aa718347aad6f69927c6514",null),(0,d.A)(i,"70b281e4212fc3cc7d2f77b6daecc21f96573d6101",null),(0,d.A)(j,"78edb9049c07c739b4a2677ca722113a2c956727d2",null),(0,d.A)(k,"7078630efc1e1b3ebf212c1c55cd4f94354b2fb7ea",null)},81438:(a,b,c)=>{"use strict";c.d(b,{ProjectProvider:()=>e});var d=c(60241);(0,d.registerClientReference)(function(){throw Error("Attempted to call ProjectContext() from the server but ProjectContext is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/contexts/project-context.tsx","ProjectContext");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call ProjectProvider() from the server but ProjectProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/contexts/project-context.tsx","ProjectProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call useProject() from the server but useProject is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/contexts/project-context.tsx","useProject")},88746:(a,b,c)=>{"use strict";c.d(b,{Breadcrumbs:()=>d});let d=(0,c(60241).registerClientReference)(function(){throw Error("Attempted to call Breadcrumbs() from the server but Breadcrumbs is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/components/ui/breadcrumbs.tsx","Breadcrumbs")},92191:(a,b,c)=>{Promise.resolve().then(c.bind(c,23348)),Promise.resolve().then(c.bind(c,24003)),Promise.resolve().then(c.bind(c,19603)),Promise.resolve().then(c.t.bind(c,61678,23))},96400:(a,b,c)=>{Promise.resolve().then(c.bind(c,43433)),Promise.resolve().then(c.bind(c,58860))},96737:(a,b,c)=>{"use strict";c.d(b,{D:()=>g});var d=c(72669),e=c(89864),f=c(64585);let g=(0,e.forwardRef)(({children:a,className:b,...c},e)=>(0,d.jsx)("div",{ref:e,className:(0,f.cn)("p-6",b),...c,children:a}));g.displayName="MainContent"},97633:(a,b,c)=>{"use strict";c.d(b,{Separator:()=>d});let d=(0,c(60241).registerClientReference)(function(){throw Error("Attempted to call Separator() from the server but Separator is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/components/ui/separator.tsx","Separator")}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=271,exports.ids=[271],exports.modules={27159:(a,b,c)=>{c.d(b,{bq:()=>l,eb:()=>n,gC:()=>m,l6:()=>j,yv:()=>k});var d=c(59111),e=c(29477),f=c(67048),g=c(39108),h=c(25773),i=c(42723);function j({...a}){return(0,d.jsx)(e.bL,{"data-slot":"select",...a})}function k({...a}){return(0,d.jsx)(e.WT,{"data-slot":"select-value",...a})}function l({className:a,size:b="default",children:c,...g}){return(0,d.jsxs)(e.l9,{"data-slot":"select-trigger","data-size":b,className:(0,i.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 font-normal normal-case",a),...g,children:[c,(0,d.jsx)(e.In,{asChild:!0,children:(0,d.jsx)(f.A,{className:"size-4 opacity-50"})})]})}function m({className:a,children:b,position:c="popper",...f}){return(0,d.jsx)(e.ZL,{children:(0,d.jsxs)(e.UC,{"data-slot":"select-content",className:(0,i.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto scrollbar-thin scrollbar-thumb-muted-foreground/30 dark:scrollbar-thumb-muted-foreground/50 scrollbar-track-transparent rounded-md border shadow-md","popper"===c&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:c,...f,children:[(0,d.jsx)(o,{}),(0,d.jsx)(e.LM,{className:(0,i.cn)("p-1","popper"===c&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:b}),(0,d.jsx)(p,{})]})})}function n({className:a,children:b,...c}){return(0,d.jsxs)(e.q7,{"data-slot":"select-item",className:(0,i.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",a),...c,children:[(0,d.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,d.jsx)(e.VF,{children:(0,d.jsx)(g.A,{className:"size-4"})})}),(0,d.jsx)(e.p4,{children:b})]})}function o({className:a,...b}){return(0,d.jsx)(e.PP,{"data-slot":"select-scroll-up-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(h.A,{className:"size-4"})})}function p({className:a,...b}){return(0,d.jsx)(e.wn,{"data-slot":"select-scroll-down-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(f.A,{className:"size-4"})})}},35406:(a,b,c)=>{c.d(b,{A3:()=>d.A3,Nv:()=>d.Nv,PC:()=>d.PC,SH:()=>d.SH,SL:()=>d.SL,U_:()=>d.U_,XQ:()=>d.XQ,YL:()=>d.YL,aR:()=>d.aR,cZ:()=>d.cZ,qf:()=>d.qf,we:()=>d.we,yR:()=>d.yR,yZ:()=>d.yZ,zD:()=>d.zD});var d=c(4558)},40367:(a,b,c)=>{c.d(b,{H:()=>p});var d=c(36532),e=c(68764),f=c(34576),g=c(35406);let h=a=>Math.floor(a/1e6),i=f.union([f.string(),f.number(),f.boolean()]),j=a=>{try{if("true"===a)return i.parse(!0);if("false"===a)return i.parse(!1);let b=(a=>/^-?\d+(\.\d+)?$/.test(a)?Number(a):a)(a);if("number"==typeof b)return i.parse(b);return i.parse(a)}catch(b){return console.warn(`Failed to parse filter value "${a}":`,b),i.parse(a)}},k=a=>parseInt(a.values?.[0]?.value??"0",10)||0,l=a=>Number(a.values?.[0]?.value??0)||0,m=(a,b)=>{let c=new Date(a);c.setHours(0,0,0,0);let d=new Date(b);d.setHours(0,0,0,0);let e=[];for(let a=new Date(c);a<=d;a.setDate(a.getDate()+1))e.push(`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")}`);return e};(0,e.Ay)(d.A,{retries:3,retryDelay:e.Ay.exponentialDelay});class n{async makeRequest(a){return(await d.A.post("/api/signoz",a,{timeout:3e4,headers:{"Content-Type":"application/json"}})).data}extractSeries(a,b){return a?.data?.result?.find(a=>a?.queryName===b)?.series??[]}async getConversationStats(a,b,c,d,e,f,i){try{let j=this.buildCombinedPayload(a,b,c,d,i),k=await this.makeRequest(j),m=this.extractSeries(k,g.XQ.TOOLS),n=this.extractSeries(k,g.XQ.TRANSFERS),o=this.extractSeries(k,g.XQ.DELEGATIONS),p=this.extractSeries(k,g.XQ.AI_CALLS),q=this.extractSeries(k,g.XQ.LAST_ACTIVITY),r=this.extractSeries(k,g.XQ.CONVERSATION_METADATA),s=this.extractSeries(k,g.XQ.SPANS_WITH_ERRORS),t=this.extractSeries(k,g.XQ.USER_MESSAGES),u=new Map;for(let a of r){let b=a.labels?.[g.SH.CONVERSATION_ID];b&&u.set(b,{tenantId:a.labels?.[g.SH.TENANT_ID]??g.PC,agentId:a.labels?.[g.SH.AGENT_ID]??g.PC,agentName:a.labels?.[g.SH.AGENT_NAME]??g.PC})}let v=new Map;for(let a of q){let b=a.labels?.[g.SH.CONVERSATION_ID];b&&v.set(b,l(a))}let w=new Map,x=new Map;for(let a of t){let b=a.labels?.[g.SH.CONVERSATION_ID],c=a.labels?.[g.SH.MESSAGE_CONTENT],d=l(a);b&&c&&(x.get(b)??x.set(b,[]).get(b))?.push({t:d,c:c})}for(let[a,b]of x){b.sort((a,b)=>a.t-b.t);let c=b[0];if(c){let b=c.c.length>100?`${c.c.slice(0,100)}...`:c.c;w.set(a,{content:b,timestamp:h(c.t)})}}let y=this.toConversationStats(m,n,o,p,u,s,w);if((c?.spanName||c?.attributes?.length)&&(y=await this.applySpanFilters(y,a,b,c,d)),f?.trim()){let a=f.toLowerCase().trim();y=y.filter(b=>b.firstUserMessage?.toLowerCase().includes(a)||b.conversationId.toLowerCase().includes(a)||b.agentId.toLowerCase().includes(a))}if(y.sort((a,b)=>((a=0,b=0)=>b-a)(v.get(a.conversationId),v.get(b.conversationId))),!e)return y;let{page:z,limit:A}=e,B=y.length,C=Math.ceil(B/A),D=(z-1)*A;return{data:y.slice(D,D+A),pagination:{page:z,limit:A,total:B,totalPages:C,hasNextPage:z<C,hasPreviousPage:z>1}}}catch(a){return console.error("getConversationStats error:",a),[]}}async getAICallsByAgent(a,b,c){try{let d=await this.makeRequest(this.buildCombinedPayload(a,b,void 0,c)),e=this.extractSeries(d,g.XQ.AI_CALLS),f=new Map;for(let a of e){let b=a.labels?.[g.SH.AGENT_ID]||g.PC,c=k(a);c&&f.set(b,(f.get(b)||0)+c)}return[...f].map(([a,b])=>({agentId:a,totalCalls:b})).sort((a,b)=>b.totalCalls-a.totalCalls)}catch(a){return console.error("getAICallsByAgent error:",a),[]}}async getAICallsBySubAgent(a,b,c,d,e){try{let f=await this.makeRequest(this.buildAgentModelBreakdownPayload(a,b,e)),h=this.extractSeries(f,"agentModelCalls"),i=new Map;for(let a of h){let b=a.labels?.[g.SH.AI_TELEMETRY_FUNCTION_ID]||g.PC,e=a.labels?.[g.SH.AGENT_ID]||g.PC,f=a.labels?.[g.SH.AI_MODEL_ID]||g.PC,h=k(a);if(!h||c&&"all"!==c&&e!==c||d&&"all"!==d&&f!==d)continue;let j=`${b}::${e}::${f}`,l=i.get(j)||{subAgentId:b,agentId:e,modelId:f,totalCalls:0};l.totalCalls+=h,i.set(j,l)}return[...i.values()].sort((a,b)=>b.totalCalls-a.totalCalls)}catch(a){return console.error("getAICallsByAgent error:",a),[]}}async getAICallsByModel(a,b,c,d){try{let e=await this.makeRequest(this.buildModelBreakdownPayload(a,b,d)),f=this.extractSeries(e,"modelCalls"),h=new Map;for(let a of f){let b=a.labels?.[g.SH.AI_MODEL_ID]||g.PC,d=a.labels?.[g.SH.AGENT_ID]||g.PC,e=k(a);e&&(c&&"all"!==c&&d!==c||h.set(b,(h.get(b)||0)+e))}return[...h].map(([a,b])=>({modelId:a,totalCalls:b})).sort((a,b)=>b.totalCalls-a.totalCalls)}catch(a){return console.error("getAICallsByModel error:",a),[]}}async getUniqueAgents(a,b,c){try{let d=await this.makeRequest(this.buildUniqueAgentsPayload(a,b,c)),e=this.extractSeries(d,"uniqueAgents").map(a=>a.labels?.[g.SH.AGENT_ID]).filter(a=>!!a&&a!==g.PC).sort();return[...new Set(e)]}catch(a){return console.error("getUniqueAgents error:",a),[]}}async getUniqueModels(a,b,c){try{let d=await this.makeRequest(this.buildUniqueModelsPayload(a,b,c)),e=this.extractSeries(d,"uniqueModels").map(a=>a.labels?.[g.SH.AI_MODEL_ID]).filter(a=>!!a&&a!==g.PC).sort();return[...new Set(e)]}catch(a){return console.error("getUniqueModels error:",a),[]}}async getConversationsPerDay(a,b,c,d){try{let e=await this.makeRequest(this.buildConversationMetadataPayload(a,b,c,d)),f=this.extractSeries(e,"conversationMetadata").length?this.extractSeries(await this.makeRequest(this.buildConversationActivityPayload(a,b,c,d)),"lastActivity"):[],g=new Map;for(let a of f){let b=h(l(a));if(!b)continue;let c=new Date(b),d=`${c.getFullYear()}-${String(c.getMonth()+1).padStart(2,"0")}-${String(c.getDate()).padStart(2,"0")}`;g.set(d,(g.get(d)||0)+1)}return m(a,b).map(a=>({date:a,count:g.get(a)||0}))}catch(c){return console.error("getConversationsPerDay error:",c),m(a,b).map(a=>({date:a,count:0}))}}async getAggregateStats(a,b,c,d,e){try{let f=await this.makeRequest(this.buildCombinedPayload(a,b,c,d,e)),h=this.extractSeries(f,"tools"),i=this.extractSeries(f,"transfers"),j=this.extractSeries(f,"delegations"),k=this.extractSeries(f,"aiCalls"),l=this.extractSeries(f,"conversationMetadata"),m=this.extractSeries(f,g.XQ.SPANS_WITH_ERRORS),n=new Map;for(let a of l){let b=a.labels?.[g.SH.CONVERSATION_ID];b&&n.set(b,{tenantId:a.labels?.[g.SH.TENANT_ID]??g.PC,agentId:a.labels?.[g.SH.AGENT_ID]??g.PC,agentName:a.labels?.[g.SH.AGENT_NAME]??g.PC})}let o=this.toConversationStats(h,i,j,k,n,m,new Map);return(c?.spanName||c?.attributes?.length)&&(o=await this.applySpanFilters(o,a,b,c,d)),{totalToolCalls:o.reduce((a,b)=>a+b.totalToolCalls,0),totalTransfers:o.reduce((a,b)=>a+b.totalTransfers,0),totalDelegations:o.reduce((a,b)=>a+b.totalDelegations,0),totalConversations:o.length,totalAICalls:o.reduce((a,b)=>a+b.totalAICalls,0)}}catch(a){return console.error("getAggregateStats error:",a),{totalToolCalls:0,totalTransfers:0,totalDelegations:0,totalConversations:0,totalAICalls:0}}}async getAvailableSpanNames(a,b,c,d){try{let e=[{key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EXISTS,value:""}];c&&"all"!==c&&e.push({key:{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}),d&&e.push({key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d});let f={start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.LIST,builderQueries:{spanNames:{dataSource:g.YL.TRACES,queryName:g.XQ.SPAN_NAMES,aggregateOperator:g.qf.NOOP,aggregateAttribute:{},filters:{op:g.we.AND,items:e},selectColumns:[{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN}],expression:g.XQ.SPAN_NAMES,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,stepInterval:g.yZ.STEP_INTERVAL,limit:g.yZ.LIMIT_1000,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],groupBy:g.yZ.EMPTY_GROUP_BY,offset:g.yZ.OFFSET}}},dataSource:g.YL.TRACES,projectId:d},h=await this.makeRequest(f),i=h?.data?.result?.find(a=>a?.queryName==="spanNames")?.list??[],j=new Set;for(let a of i){let b=a?.data?.name??a?.name;b&&j.add(b)}return[...j].sort()}catch(a){return console.error("getAvailableSpanNames error:",a),[]}}toConversationStats(a,b,c,d,e,f,h){let i=new Map,j=a=>{let b=i.get(a);if(b)return b;let c={totalToolCalls:0,toolsUsed:new Map,transfers:new Map,totalTransfers:0,delegations:new Map,totalDelegations:0,totalAICalls:0,totalErrors:0};return i.set(a,c),c};for(let b of a){let a=b.labels?.[g.SH.CONVERSATION_ID];if(!a)continue;let c=b.labels?.[g.SH.AI_TOOL_CALL_NAME];if(!c)continue;let d=k(b);if(!d)continue;let e=b.labels?.[g.SH.MCP_TOOL_DESCRIPTION]||"",f=j(a);f.totalToolCalls+=d;let h=f.toolsUsed.get(c)||{name:c,calls:0,description:e};h.calls+=d,f.toolsUsed.set(c,h)}for(let a of b){let b=a.labels?.[g.SH.CONVERSATION_ID];if(!b)continue;let c=a.labels?.[g.SH.TRANSFER_FROM_SUB_AGENT_ID],d=a.labels?.[g.SH.TRANSFER_TO_SUB_AGENT_ID],e=k(a);if(!c||!d||!e)continue;let f=j(b);f.totalTransfers+=e;let h=`${c}→${d}`,i=f.transfers.get(h)||{from:c,to:d,count:0};i.count+=e,f.transfers.set(h,i)}for(let a of c){let b=a.labels?.[g.SH.CONVERSATION_ID];if(!b)continue;let c=a.labels?.[g.SH.DELEGATION_FROM_SUB_AGENT_ID],d=a.labels?.[g.SH.DELEGATION_TO_SUB_AGENT_ID],e=k(a);if(!c||!d||!e)continue;let f=j(b);f.totalDelegations+=e;let h=`${c}→${d}`,i=f.delegations.get(h)||{from:c,to:d,count:0};i.count+=e,f.delegations.set(h,i)}for(let a of d){let b=a.labels?.[g.SH.CONVERSATION_ID];if(!b)continue;let c=k(a);c&&(j(b).totalAICalls+=c)}let l=["execution_handler.execute","agent.load_tools","context.handle_context_resolution","context.resolve","agent.generate","context-resolver.resolve_single_fetch_definition","agent_session.generate_structured_update","agent_session.process_artifact","agent_session.generate_artifact_metadata","response.format_object_response","response.format_response","ai.toolCall"];for(let a of f){let b=a.labels?.[g.SH.CONVERSATION_ID];if(!b)continue;let c=a.labels?.[g.SH.NAME]||"",d=k(a);d&&l.includes(c)&&(j(b).totalErrors+=d)}let m=[];for(let a of new Set([...i.keys(),...e.keys()])){let b=i.get(a)||j(a),c=e.get(a)||{tenantId:g.PC,agentId:g.PC,agentName:g.PC};m.push({conversationId:a,tenantId:c.tenantId,agentId:c.agentId,agentName:c.agentName||"",totalToolCalls:b.totalToolCalls,toolsUsed:[...b.toolsUsed.values()],transfers:[...b.transfers.values()],totalTransfers:b.totalTransfers,delegations:[...b.delegations.values()],totalDelegations:b.totalDelegations,totalAICalls:b.totalAICalls,totalErrors:b.totalErrors,hasErrors:b.totalErrors>0,firstUserMessage:h.get(a)?.content,startTime:h.get(a)?.timestamp})}return m}async applySpanFilters(a,b,c,d,e){try{let f=await this.makeRequest(this.buildFilteredConversationsPayload(b,c,d,e)),h=this.extractSeries(f,"filteredConversations"),i=new Set(h.map(a=>a.labels?.[g.SH.CONVERSATION_ID]).filter(Boolean));return a.filter(a=>i.has(a.conversationId))}catch(b){return console.error("applySpanFilters error:",b),a}}buildAgentModelBreakdownPayload(a,b,c){return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{agentModelCalls:{dataSource:g.YL.TRACES,queryName:g.XQ.AGENT_MODEL_CALLS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:[{key:{key:g.SH.AI_OPERATION_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:g.yR.GENERATE_TEXT},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},...c?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[]]},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.AI_TELEMETRY_FUNCTION_ID,...g.A3.STRING_TAG},{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG}],expression:g.XQ.AGENT_MODEL_CALLS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:c}}buildModelBreakdownPayload(a,b,c){return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{modelCalls:{dataSource:g.YL.TRACES,queryName:g.XQ.MODEL_CALLS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:[{key:{key:g.SH.AI_OPERATION_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:g.yR.GENERATE_TEXT},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},...c?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[]]},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG},{key:g.SH.AGENT_ID,...g.A3.STRING_TAG}],expression:g.XQ.MODEL_CALLS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_ZERO}}},dataSource:g.YL.TRACES,projectId:c}}buildConversationActivityPayload(a,b,c,d){let e=[{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},...c&&"all"!==c?[{key:{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[],...d?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d}]:[]];return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{lastActivity:{dataSource:g.YL.TRACES,queryName:g.XQ.LAST_ACTIVITY,aggregateOperator:g.qf.MIN,aggregateAttribute:{key:g.SH.TIMESTAMP,...g.A3.INT64_TAG_COLUMN},filters:{op:g.we.AND,items:e},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG}],expression:g.XQ.LAST_ACTIVITY,reduceTo:g.U_.MIN,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:d}}buildConversationMetadataPayload(a,b,c,d){let e=[{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.TENANT_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},...c&&"all"!==c?[{key:{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[],...d?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d}]:[]];return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{conversationMetadata:{dataSource:g.YL.TRACES,queryName:g.XQ.CONVERSATION_METADATA,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:e},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.TENANT_ID,...g.A3.STRING_TAG},{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},{key:g.SH.AGENT_NAME,...g.A3.STRING_TAG}],expression:g.XQ.CONVERSATION_METADATA,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:d}}buildFilteredConversationsPayload(a,b,c,d){let e=[{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}];for(let a of(c.spanName&&e.push({key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:c.spanName}),c.attributes??[])){let b=a.operator??g.we.EQUALS,c=j(a.value),d="string";if("boolean"==typeof c?d="bool":"number"==typeof c&&(d=Number.isInteger(c)?"int64":"float64"),b===g.we.EXISTS||b===g.we.NOT_EXISTS){e.push({key:{key:a.key,...g.A3.STRING_TAG},op:b,value:""});continue}if(b!==g.we.LIKE&&b!==g.we.NOT_LIKE||"string"!=typeof c||c.includes("%")||(c=`%${c}%`),("int64"===d||"float64"===d)&&b===g.we.EQUALS){let b="int64"===d?g.A3.INT64_TAG:g.A3.FLOAT64_TAG;e.push({key:{key:a.key,...b},op:g.we.GREATER_THAN_OR_EQUAL,value:c}),e.push({key:{key:a.key,...b},op:g.we.LESS_THAN_OR_EQUAL,value:c})}else{let f="string"===d?g.A3.STRING_TAG:"int64"===d?g.A3.INT64_TAG:"float64"===d?g.A3.FLOAT64_TAG:g.A3.BOOL_TAG;e.push({key:{key:a.key,...f},op:b,value:c})}}return d&&e.push({key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d}),{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{filteredConversations:{dataSource:g.YL.TRACES,queryName:g.XQ.FILTERED_CONVERSATIONS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:e},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG}],expression:g.XQ.FILTERED_CONVERSATIONS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:d}}buildCombinedPayload(a,b,c,d,e){let f=a=>{let b=a;return d&&(b=[...b,{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d}]),e&&(b=[...b,{key:{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:e}]),b};return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{tools:{dataSource:g.YL.TRACES,queryName:g.XQ.TOOLS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.aR.AI_TOOL_CALL},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.AI_TOOL_TYPE,...g.A3.STRING_TAG},op:g.we.EQUALS,value:g.cZ.MCP}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.AI_TOOL_CALL_NAME,...g.A3.STRING_TAG}],expression:g.XQ.TOOLS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},transfers:{dataSource:g.YL.TRACES,queryName:g.XQ.TRANSFERS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.aR.AI_TOOL_CALL},{key:{key:g.SH.AI_TOOL_TYPE,...g.A3.STRING_TAG},op:g.we.EQUALS,value:g.cZ.TRANSFER},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.TRANSFER_FROM_SUB_AGENT_ID,...g.A3.STRING_TAG},{key:g.SH.TRANSFER_TO_SUB_AGENT_ID,...g.A3.STRING_TAG}],expression:g.XQ.TRANSFERS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},delegations:{dataSource:g.YL.TRACES,queryName:g.XQ.DELEGATIONS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.aR.AI_TOOL_CALL},{key:{key:g.SH.AI_TOOL_TYPE,...g.A3.STRING_TAG},op:g.we.EQUALS,value:g.cZ.DELEGATION},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.DELEGATION_FROM_SUB_AGENT_ID,...g.A3.STRING_TAG},{key:g.SH.DELEGATION_TO_SUB_AGENT_ID,...g.A3.STRING_TAG}],expression:g.XQ.DELEGATIONS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},conversationMetadata:{dataSource:g.YL.TRACES,queryName:g.XQ.CONVERSATION_METADATA,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.TENANT_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.TENANT_ID,...g.A3.STRING_TAG},{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},{key:g.SH.AGENT_NAME,...g.A3.STRING_TAG}],expression:g.XQ.CONVERSATION_METADATA,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},aiCalls:{dataSource:g.YL.TRACES,queryName:g.XQ.AI_CALLS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.AI_OPERATION_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:g.yR.GENERATE_TEXT},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},{key:g.SH.AI_TELEMETRY_FUNCTION_ID,...g.A3.STRING_TAG}],expression:g.XQ.AI_CALLS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},lastActivity:{dataSource:g.YL.TRACES,queryName:g.XQ.LAST_ACTIVITY,aggregateOperator:g.qf.MIN,aggregateAttribute:{key:g.SH.TIMESTAMP,...g.A3.INT64_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG}],expression:g.XQ.LAST_ACTIVITY,reduceTo:g.U_.MIN,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},spansWithErrors:{dataSource:g.YL.TRACES,queryName:g.XQ.SPANS_WITH_ERRORS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.HAS_ERROR,...g.A3.BOOL_TAG_COLUMN},op:g.we.EQUALS,value:!0},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN}],expression:g.XQ.SPANS_WITH_ERRORS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},userMessages:{dataSource:g.YL.TRACES,queryName:g.XQ.USER_MESSAGES,aggregateOperator:g.qf.MIN,aggregateAttribute:{key:g.SH.TIMESTAMP,...g.A3.INT64_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.MESSAGE_CONTENT,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.MESSAGE_CONTENT,...g.A3.STRING_TAG}],expression:g.XQ.USER_MESSAGES,reduceTo:g.U_.MIN,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.ASC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:d}}buildUniqueAgentsPayload(a,b,c){let d=[{key:{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},op:g.we.NOT_EQUALS,value:g.PC},...c?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[]];return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{uniqueAgents:{dataSource:g.YL.TRACES,queryName:g.XQ.UNIQUE_AGENTS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:d},groupBy:[{key:g.SH.AGENT_ID,...g.A3.STRING_TAG}],expression:g.XQ.UNIQUE_AGENTS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.AGENT_ID,order:g.SL.ASC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:c}}buildUniqueModelsPayload(a,b,c){let d=[{key:{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG},op:g.we.NOT_EQUALS,value:g.PC},...c?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[]];return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{uniqueModels:{dataSource:g.YL.TRACES,queryName:g.XQ.UNIQUE_MODELS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:d},groupBy:[{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG}],expression:g.XQ.UNIQUE_MODELS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.AI_MODEL_ID,order:g.SL.ASC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:c}}}let o=null;function p(){return o??=new n}},43948:(a,b,c)=>{c.r(b),c.d(b,{"40e6c450f3de7c8a16f7a7a213af0b24307d597c82":()=>d.vj,"601e9051a28e4884f472a2f8b89eefa0165f344f0c":()=>d.xx,"6055035461280972499cdadcf0afd0ede4b73fbc4c":()=>d.Sw,"60c65dea5e5d2df97d6977fce5ad104651fbafc32a":()=>d.gA,"70c6d5b2c3a77d6638bf2c70167fd584e6ed8d7002":()=>d.vr});var d=c(54637)}};
@@ -1 +0,0 @@
1
- exports.id=2800,exports.ids=[2800],exports.modules={3687:(a,b,c)=>{"use strict";c.d(b,{E:()=>f});var d=c(72669),e=c(64585);function f({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"skeleton",className:(0,e.cn)("bg-accent animate-pulse rounded-md",a),...b})}},8003:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>j});var d=c(72669),e=c(17932),f=c(96737),g=c(39885),h=c(3687),i=c(43461);function j(){return(0,d.jsx)(e.H,{children:(0,d.jsxs)(f.D,{children:[(0,d.jsx)(g.zY,{title:"Projects",description:i.od}),(0,d.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-3 md:gap-4",children:Array.from({length:6}).map((a,b)=>(0,d.jsx)(h.E,{className:"h-36 w-full rounded-lg"},`loading-skeleton-${b}`))})]})})}},13907:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(59111),e=c(43433);function f({error:a,reset:b}){return(0,d.jsx)(e.default,{error:a,title:"Something went wrong.",description:"An unexpected error occurred. Please try again.",reset:b})}},17932:(a,b,c)=>{"use strict";c.d(b,{H:()=>j});var d=c(72669);function e({children:a}){return(0,d.jsx)("div",{className:"flex flex-1 flex-col overflow-y-auto scrollbar-thin scrollbar-thumb-muted-foreground/30 dark:scrollbar-thumb-muted-foreground/50 scrollbar-track-transparent h-full w-full min-h-0 bg-muted/20 dark:bg-background",children:(0,d.jsx)("div",{className:"@container/main min-h-0 flex flex-1 flex-col",children:a})})}var f=c(88746),g=c(97633),h=c(80248);function i({breadcrumbs:a}){return(0,d.jsx)("header",{className:"flex h-(--header-height) shrink-0 items-center gap-2 border-b transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-(--header-height) bg-muted/20 dark:bg-background rounded-t-[14px]",children:(0,d.jsxs)("div",{className:"flex w-full items-center gap-1 px-4 lg:gap-2 lg:px-6",children:[(0,d.jsx)(h.SidebarTrigger,{className:"-ml-1 text-muted-foreground hover:text-foreground hover:bg-accent dark:text-muted-foreground dark:hover:text-foreground dark:hover:bg-accent/50"}),(0,d.jsx)(g.Separator,{orientation:"vertical",className:"mx-2 data-[orientation=vertical]:h-4"}),(0,d.jsx)(f.Breadcrumbs,{items:a})]})})}function j({children:a,breadcrumbs:b}){return(0,d.jsxs)("div",{className:"h-[calc(100vh-16px)] flex flex-col overflow-hidden",children:[(0,d.jsx)(i,{breadcrumbs:b}),(0,d.jsx)(e,{children:a})]})}},20828:(a,b,c)=>{Promise.resolve().then(c.bind(c,75125))},29160:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>i,dynamic:()=>h});var d=c(72669),e=c(45907),f=c(54637),g=c(81438);let h="force-dynamic";async function i({children:a,params:b}){let{tenantId:c,projectId:h}=await b;try{let b=await (0,f.Sw)(c,h);return(0,d.jsx)(g.ProjectProvider,{value:b.data,children:a})}catch(a){return(0,d.jsx)(e.default,{error:a,context:"project"})}}},39885:(a,b,c)=>{"use strict";c.d(b,{DE:()=>f,RR:()=>h,gp:()=>g,zY:()=>j});var d=c(72669),e=c(64585);function f({className:a,children:b,...c}){return(0,d.jsx)("div",{className:(0,e.cn)("flex flex-row gap-0 p-0 flex-nowrap items-center justify-between mb-8",a),...c,children:b})}function g({className:a,children:b,...c}){return(0,d.jsx)("div",{className:(0,e.cn)("flex flex-col gap-2 p-0 flex-nowrap items-stretch justify-start",a),...c,children:b})}function h({className:a,children:b,...c}){return(0,d.jsx)("h3",{className:(0,e.cn)("text-xl font-light",a),...c,children:b})}function i({className:a,children:b,...c}){return(0,d.jsx)("p",{className:(0,e.cn)("text-muted-foreground text-sm font-normal",a),...c,children:b})}function j({title:a,description:b,action:c,className:e}){return(0,d.jsxs)(f,{className:e,children:[(0,d.jsxs)(g,{children:[(0,d.jsx)(h,{children:a}),b&&(0,d.jsx)(i,{children:b})]}),c]})}},43461:(a,b,c)=>{"use strict";c.d(b,{CU:()=>j,M0:()=>l,_g:()=>i,iO:()=>f,lh:()=>g,od:()=>k,yr:()=>h});var d=c(72669),e=c(64422);let f="https://docs.inkeep.com",g=(0,d.jsxs)(d.Fragment,{children:["Artifacts automatically capture and store source information from tool and agent interactions, providing a record of where data originates.","\n",(0,d.jsx)(e.G,{href:`${f}/visual-builder/artifact-components`,children:"Learn more"})]}),h=(0,d.jsxs)(d.Fragment,{children:["Components are structured components that agents can use to display rich data.","\n",(0,d.jsx)(e.G,{href:`${f}/visual-builder/data-components`,children:"Learn more"})]}),i=(0,d.jsxs)(d.Fragment,{children:["Agents are visual representations of the data flow between sub agents and tools.","\n",(0,d.jsx)(e.G,{href:`${f}/visual-builder/agent`,children:"Learn more"})]}),j=(0,d.jsxs)(d.Fragment,{children:["API keys are use to authenticate against the Inkeep Agents Run API. They are associated with an agent and can be used to chat with the agent programmatically.","\n"]}),k=(0,d.jsx)(d.Fragment,{children:"Projects help you organize your agents, tools, and configurations."}),l=(0,d.jsxs)(d.Fragment,{children:[k," Create your first project to get started.","\n",(0,d.jsx)(e.G,{href:`${f}/`,children:"Check out the docs"})]})},56019:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{S:()=>i});var e=c(59111),f=c(71771),g=c(76394),h=a([g]);function i({control:a,name:b,label:c="JSON Schema",placeholder:d,disabled:h,description:i,readOnly:j,isRequired:k=!1}){return(0,e.jsx)(f.u,{control:a,name:b,label:c,description:i,isRequired:k,children:a=>(0,e.jsx)(g.$,{placeholder:d,...a,value:a.value||"",onChange:a.onChange,readOnly:j,disabled:h})})}g=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},61552:(a,b,c)=>{Promise.resolve().then(c.bind(c,45907)),Promise.resolve().then(c.bind(c,81438))},61927:(a,b,c)=>{Promise.resolve().then(c.bind(c,88746)),Promise.resolve().then(c.bind(c,97633)),Promise.resolve().then(c.bind(c,80248)),Promise.resolve().then(c.t.bind(c,93520,23))},62503:(a,b,c)=>{"use strict";c.d(b,{f:()=>d});let d=c(34576).string().min(1,"Id is required.").max(64,"Id must be less than 64 characters.").regex(/^[a-zA-Z0-9_-]+$/,"Id must contain only alphanumeric characters, underscores, and dashes. No spaces allowed.")},64422:(a,b,c)=>{"use strict";c.d(b,{G:()=>i});var d=c(72669),e=c(24598),f=c(93520),g=c.n(f),h=c(64585);function i({href:a,children:b,className:c,iconClassName:f,...i}){return(0,d.jsxs)(g(),{href:a,target:"_blank",rel:"noreferrer noopener",className:(0,h.cn)("text-sm text-muted-foreground underline underline-offset-2 inline-flex items-center gap-1 hover:text-primary ml-1 group/link font-mono uppercase transition-colors",c),...i,children:[b,(0,d.jsx)(e.A,{className:(0,h.cn)("size-3.5 text-muted-foreground/60 group-hover/link:text-primary",f)})]})}},64585:(a,b,c)=>{"use strict";c.d(b,{BL:()=>g,cn:()=>f});var d=c(99613),e=c(81533);function f(...a){return(0,e.QP)((0,d.$)(a))}function g(a){return a?a.reduce((a,b)=>(a[b.id]=b,a),{}):{}}},75125:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(60241).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/agents/agents/agents-manage-ui/src/app/[tenantId]/projects/error.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/app/[tenantId]/projects/error.tsx","default")},76394:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$:()=>l});var e=c(59111),f=c(14450),g=c(2856),h=c(80974),i=c(42723),j=c(7974),k=a([j]);j=(k.then?(await k)():k)[0];let l=({value:a="",onChange:b,...c})=>{let d=(0,f.useCallback)(()=>{if(a.trim()){let c=(0,i.IB)(a);b(c)}},[b,a]),k=(0,f.useCallback)(()=>{let a=(0,h.Qj)();b(a)},[b]),l=(0,e.jsxs)(e.Fragment,{children:[!a.trim()&&(0,e.jsx)(g.$,{type:"button",onClick:k,variant:"outline",size:"sm",className:"backdrop-blur-xl h-6 px-2 text-xs rounded-sm",children:"Template"}),(0,e.jsx)(g.$,{type:"button",onClick:d,variant:"outline",size:"sm",className:"backdrop-blur-xl h-6 px-2 text-xs rounded-sm",disabled:!a.trim(),children:"Format"})]});return(0,e.jsx)(j.i,{value:a,onChange:b,...c,children:(0,e.jsx)("div",{className:"absolute end-2 top-2 flex gap-2 z-1",children:l})})};d()}catch(a){d(a)}})},78972:(a,b,c)=>{Promise.resolve().then(c.bind(c,13907))},80974:(a,b,c)=>{"use strict";c.d(b,{Qj:()=>k,SR:()=>l,_O:()=>j});var d=c(7352),e=c(43381);let f=d.ZU.Object({type:d.ZU.Union([d.ZU.Literal("string"),d.ZU.Literal("number"),d.ZU.Literal("integer"),d.ZU.Literal("boolean"),d.ZU.Literal("array"),d.ZU.Literal("object"),d.ZU.Literal("null")]),description:d.ZU.String({minLength:1}),format:d.ZU.Optional(d.ZU.String()),pattern:d.ZU.Optional(d.ZU.String()),minimum:d.ZU.Optional(d.ZU.Number()),maximum:d.ZU.Optional(d.ZU.Number()),minLength:d.ZU.Optional(d.ZU.Number()),maxLength:d.ZU.Optional(d.ZU.Number()),items:d.ZU.Optional(d.ZU.Any()),properties:d.ZU.Optional(d.ZU.Any()),enum:d.ZU.Optional(d.ZU.Array(d.ZU.Any())),const:d.ZU.Optional(d.ZU.Any()),default:d.ZU.Optional(d.ZU.Any())}),g=d.ZU.Object({type:d.ZU.Literal("object"),properties:d.ZU.Record(d.ZU.String(),f),required:d.ZU.Array(d.ZU.String(),{minItems:1}),additionalProperties:d.ZU.Optional(d.ZU.Boolean()),description:d.ZU.Optional(d.ZU.String())}),h=e.gv.Compile(f),i=e.gv.Compile(g);function j(a){let b=[],{parsed:c,errors:d}=function(a){let b=[],c=null;if(!a?.trim())return{parsed:null,errors:b};try{c=JSON.parse(a)}catch(a){b.push({path:"root",message:a instanceof Error?a.message:"Invalid JSON syntax",type:"syntax"})}return{parsed:c,errors:b}}(a);if(d.length>0)return{isValid:!1,errors:d,warnings:b};if(!c)return{isValid:!0,errors:[],warnings:["Empty schema provided"]};let e=[...function(a){let b=[];return a&&"object"==typeof a?!i.Check(a)&&(a.type&&"object"===a.type||b.push({path:"type",message:'Schema must have type: "object" for LLM compatibility',type:"llm_requirement"}),a.properties&&"object"==typeof a.properties||b.push({path:"properties",message:'Schema must have a "properties" object',type:"schema"}),a.required&&Array.isArray(a.required)||b.push({path:"required",message:'Schema must have a "required" array (can be empty)',type:"llm_requirement"}),a.properties&&"object"==typeof a.properties&&Object.entries(a.properties).forEach(([a,c])=>{h.Check(c)||[...h.Errors(c)].forEach(c=>{let d=c.message;"/description"===c.path?d='Each property must have a "description" for LLM compatibility':"/type"===c.path&&(d='Each property must have a valid "type"'),b.push({path:`properties.${a}${c.path}`,message:d,type:"/description"===c.path?"llm_requirement":"schema"})})})):b.push({path:"root",message:"Schema must be an object",type:"schema"}),b}(c),...function(a){let b=[];return a&&"object"==typeof a&&(a.required&&Array.isArray(a.required)&&a.properties&&a.required.forEach(c=>{a.properties[c]||b.push({path:"required",message:`Required property "${c}" must exist in properties`,type:"schema"})}),a.properties&&"object"==typeof a.properties&&Object.entries(a.properties).forEach(([a,c])=>{c.description&&"string"==typeof c.description&&0!==c.description.trim().length||b.push({path:`properties.${a}.description`,message:"Each property must have a non-empty description for LLM compatibility",type:"llm_requirement"})})),b}(c)];return{isValid:0===e.length,errors:e,warnings:b}}function k(){return JSON.stringify({type:"object",properties:{example_property:{type:"string",description:"Description of what this property represents"}},required:["example_property"]},null,2)}function l(a){if(a instanceof SyntaxError){let b=a.message.toLowerCase();return b.includes("unexpected end of json input")?"Incomplete JSON - missing closing brackets or quotes":b.includes("unexpected token")?"Invalid character in JSON - check for missing commas, quotes, or brackets":b.includes("expected property name")||b.includes("expected ':' after property name")?"Property names must be in double quotes":b.includes("duplicate keys")?"Duplicate property names are not allowed":"Invalid JSON syntax - check structure and formatting"}return"Unable to parse JSON"}},81438:(a,b,c)=>{"use strict";c.d(b,{ProjectProvider:()=>e});var d=c(60241);(0,d.registerClientReference)(function(){throw Error("Attempted to call ProjectContext() from the server but ProjectContext is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/contexts/project-context.tsx","ProjectContext");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call ProjectProvider() from the server but ProjectProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/contexts/project-context.tsx","ProjectProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call useProject() from the server but useProject is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/contexts/project-context.tsx","useProject")},88746:(a,b,c)=>{"use strict";c.d(b,{Breadcrumbs:()=>d});let d=(0,c(60241).registerClientReference)(function(){throw Error("Attempted to call Breadcrumbs() from the server but Breadcrumbs is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/components/ui/breadcrumbs.tsx","Breadcrumbs")},92191:(a,b,c)=>{Promise.resolve().then(c.bind(c,23348)),Promise.resolve().then(c.bind(c,24003)),Promise.resolve().then(c.bind(c,19603)),Promise.resolve().then(c.t.bind(c,61678,23))},93755:(a,b,c)=>{"use strict";c.d(b,{J:()=>h});var d=c(59111),e=c(53710),f=c(2856),g=c(96032);function h({itemName:a,isSubmitting:b,onDelete:c,customTitle:h,customDescription:i}){let j=async()=>{await c()};return(0,d.jsxs)(g.Cf,{children:[(0,d.jsx)(g.L3,{children:h||`Delete ${a||"this item"}`}),(0,d.jsx)(g.rr,{children:i||`Are you sure you want to delete ${a||"this item"}? This action cannot be undone.`}),(0,d.jsxs)(g.Es,{children:[(0,d.jsx)(g.HM,{asChild:!0,children:(0,d.jsx)(f.$,{variant:"outline",children:"Cancel"})}),(0,d.jsx)(f.$,{variant:"destructive",onClick:j,disabled:b,children:b?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(e.A,{className:"size-4 animate-spin"})," Deleting..."]}):"Delete"})]})]})}},96400:(a,b,c)=>{Promise.resolve().then(c.bind(c,43433)),Promise.resolve().then(c.bind(c,58860))},96737:(a,b,c)=>{"use strict";c.d(b,{D:()=>g});var d=c(72669),e=c(89864),f=c(64585);let g=(0,e.forwardRef)(({children:a,className:b,...c},e)=>(0,d.jsx)("div",{ref:e,className:(0,f.cn)("p-6",b),...c,children:a}));g.displayName="MainContent"},97633:(a,b,c)=>{"use strict";c.d(b,{Separator:()=>d});let d=(0,c(60241).registerClientReference)(function(){throw Error("Attempted to call Separator() from the server but Separator is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/components/ui/separator.tsx","Separator")}};