@inkeep/agents-manage-ui 0.0.0-dev-20260202060901 → 0.0.0-dev-20260202155313

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 (540) hide show
  1. package/.next/standalone/agents-manage-ui/.next/BUILD_ID +1 -1
  2. package/.next/standalone/agents-manage-ui/.next/build-manifest.json +2 -2
  3. package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/@breadcrumbs/[...slug]/page/server-reference-manifest.json +135 -135
  5. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/@breadcrumbs/[...slug]/page.js.nft.json +1 -1
  6. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/@breadcrumbs/[...slug]/page_client-reference-manifest.js +1 -1
  7. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page/server-reference-manifest.json +19 -19
  8. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js.nft.json +1 -1
  9. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page/react-loadable-manifest.json +6 -6
  11. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page/server-reference-manifest.json +167 -167
  12. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js.nft.json +1 -1
  13. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/triggers/[triggerId]/edit/page/server-reference-manifest.json +138 -138
  15. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/triggers/[triggerId]/edit/page.js.nft.json +1 -1
  16. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/triggers/[triggerId]/edit/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/triggers/[triggerId]/invocations/page/server-reference-manifest.json +135 -135
  18. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/triggers/[triggerId]/invocations/page.js.nft.json +1 -1
  19. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/triggers/[triggerId]/invocations/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/triggers/new/page/server-reference-manifest.json +138 -138
  21. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/triggers/new/page.js.nft.json +1 -1
  22. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/triggers/new/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/triggers/page/server-reference-manifest.json +140 -140
  24. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/triggers/page.js.nft.json +1 -1
  25. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/triggers/page_client-reference-manifest.js +1 -1
  26. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page/server-reference-manifest.json +125 -125
  27. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page.js.nft.json +1 -1
  28. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page_client-reference-manifest.js +1 -1
  29. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page/server-reference-manifest.json +148 -148
  30. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js.nft.json +1 -1
  31. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page/server-reference-manifest.json +138 -138
  33. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js.nft.json +1 -1
  34. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page_client-reference-manifest.js +1 -1
  35. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page/server-reference-manifest.json +138 -138
  36. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js.nft.json +1 -1
  37. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page_client-reference-manifest.js +1 -1
  38. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page/server-reference-manifest.json +136 -136
  39. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js.nft.json +1 -1
  40. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page_client-reference-manifest.js +1 -1
  41. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page/server-reference-manifest.json +132 -132
  42. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js.nft.json +1 -1
  43. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page/server-reference-manifest.json +132 -132
  45. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js.nft.json +1 -1
  46. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page/server-reference-manifest.json +136 -136
  48. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js.nft.json +1 -1
  49. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page/server-reference-manifest.json +132 -132
  51. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js.nft.json +1 -1
  52. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page_client-reference-manifest.js +1 -1
  53. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page/server-reference-manifest.json +138 -138
  54. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js.nft.json +1 -1
  55. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page_client-reference-manifest.js +1 -1
  56. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page/server-reference-manifest.json +137 -137
  57. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js.nft.json +1 -1
  58. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page_client-reference-manifest.js +1 -1
  59. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page/server-reference-manifest.json +132 -132
  60. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
  61. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
  62. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page/server-reference-manifest.json +135 -135
  63. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js.nft.json +1 -1
  64. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
  65. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page/server-reference-manifest.json +136 -136
  66. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js.nft.json +1 -1
  67. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
  68. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/datasets/[datasetId]/page/server-reference-manifest.json +148 -148
  69. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/datasets/[datasetId]/page.js.nft.json +1 -1
  70. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/datasets/[datasetId]/page_client-reference-manifest.js +1 -1
  71. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/datasets/[datasetId]/runs/[runId]/page/server-reference-manifest.json +135 -135
  72. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/datasets/[datasetId]/runs/[runId]/page.js.nft.json +1 -1
  73. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/datasets/[datasetId]/runs/[runId]/page_client-reference-manifest.js +1 -1
  74. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/datasets/new/page/server-reference-manifest.json +137 -137
  75. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/datasets/new/page.js.nft.json +1 -1
  76. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/datasets/new/page_client-reference-manifest.js +1 -1
  77. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/datasets/page/server-reference-manifest.json +137 -137
  78. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/datasets/page.js.nft.json +1 -1
  79. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/datasets/page_client-reference-manifest.js +1 -1
  80. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/evaluations/jobs/[configId]/page/server-reference-manifest.json +135 -135
  81. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/evaluations/jobs/[configId]/page.js.nft.json +1 -1
  82. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/evaluations/jobs/[configId]/page_client-reference-manifest.js +1 -1
  83. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/evaluations/page/server-reference-manifest.json +154 -154
  84. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/evaluations/page.js.nft.json +1 -1
  85. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/evaluations/page_client-reference-manifest.js +1 -1
  86. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/evaluations/run-configs/[configId]/page/server-reference-manifest.json +139 -139
  87. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/evaluations/run-configs/[configId]/page.js.nft.json +1 -1
  88. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/evaluations/run-configs/[configId]/page_client-reference-manifest.js +1 -1
  89. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page/server-reference-manifest.json +131 -131
  90. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page.js.nft.json +1 -1
  91. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page_client-reference-manifest.js +1 -1
  92. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page/server-reference-manifest.json +135 -135
  93. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page.js.nft.json +1 -1
  94. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page_client-reference-manifest.js +1 -1
  95. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page/server-reference-manifest.json +131 -131
  96. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page.js.nft.json +1 -1
  97. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page_client-reference-manifest.js +1 -1
  98. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page/server-reference-manifest.json +136 -136
  99. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page.js.nft.json +1 -1
  100. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page_client-reference-manifest.js +1 -1
  101. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page/server-reference-manifest.json +137 -137
  102. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js.nft.json +1 -1
  103. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page_client-reference-manifest.js +1 -1
  104. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page/server-reference-manifest.json +134 -134
  105. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js.nft.json +1 -1
  106. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page_client-reference-manifest.js +1 -1
  107. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page/server-reference-manifest.json +139 -139
  108. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js.nft.json +1 -1
  109. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
  110. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page/server-reference-manifest.json +136 -136
  111. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js.nft.json +1 -1
  112. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page_client-reference-manifest.js +1 -1
  113. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/members/page/server-reference-manifest.json +139 -139
  114. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/members/page.js.nft.json +1 -1
  115. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/members/page_client-reference-manifest.js +1 -1
  116. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page/server-reference-manifest.json +135 -135
  117. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js.nft.json +1 -1
  118. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page_client-reference-manifest.js +1 -1
  119. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page/server-reference-manifest.json +135 -135
  120. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js.nft.json +1 -1
  121. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page_client-reference-manifest.js +1 -1
  122. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page/server-reference-manifest.json +136 -136
  123. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js.nft.json +1 -1
  124. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page_client-reference-manifest.js +1 -1
  125. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page/server-reference-manifest.json +135 -135
  126. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js.nft.json +1 -1
  127. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page_client-reference-manifest.js +1 -1
  128. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/tool-calls/page/server-reference-manifest.json +135 -135
  129. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/tool-calls/page.js.nft.json +1 -1
  130. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/tool-calls/page_client-reference-manifest.js +1 -1
  131. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page/server-reference-manifest.json +136 -136
  132. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js.nft.json +1 -1
  133. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page_client-reference-manifest.js +1 -1
  134. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/settings/page/server-reference-manifest.json +139 -139
  135. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/settings/page.js.nft.json +1 -1
  136. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/settings/page_client-reference-manifest.js +1 -1
  137. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/stats/ai-calls/page/server-reference-manifest.json +135 -135
  138. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/stats/ai-calls/page.js.nft.json +1 -1
  139. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/stats/ai-calls/page_client-reference-manifest.js +1 -1
  140. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/stats/page/server-reference-manifest.json +135 -135
  141. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/stats/page.js.nft.json +1 -1
  142. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/stats/page_client-reference-manifest.js +1 -1
  143. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/stats/tool-calls/page/server-reference-manifest.json +135 -135
  144. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/stats/tool-calls/page.js.nft.json +1 -1
  145. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/stats/tool-calls/page_client-reference-manifest.js +1 -1
  146. package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.html +2 -2
  147. package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.rsc +1 -1
  148. package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  149. package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  150. package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  151. package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  152. package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  153. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
  154. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +1 -1
  155. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  156. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  157. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  158. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  159. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  160. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  161. package/.next/standalone/agents-manage-ui/.next/server/app/device.html +1 -1
  162. package/.next/standalone/agents-manage-ui/.next/server/app/device.rsc +1 -1
  163. package/.next/standalone/agents-manage-ui/.next/server/app/device.segments/_full.segment.rsc +1 -1
  164. package/.next/standalone/agents-manage-ui/.next/server/app/device.segments/_head.segment.rsc +1 -1
  165. package/.next/standalone/agents-manage-ui/.next/server/app/device.segments/_index.segment.rsc +1 -1
  166. package/.next/standalone/agents-manage-ui/.next/server/app/device.segments/_tree.segment.rsc +1 -1
  167. package/.next/standalone/agents-manage-ui/.next/server/app/device.segments/device/__PAGE__.segment.rsc +1 -1
  168. package/.next/standalone/agents-manage-ui/.next/server/app/device.segments/device.segment.rsc +1 -1
  169. package/.next/standalone/agents-manage-ui/.next/server/app/index.html +1 -1
  170. package/.next/standalone/agents-manage-ui/.next/server/app/index.rsc +2 -2
  171. package/.next/standalone/agents-manage-ui/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  172. package/.next/standalone/agents-manage-ui/.next/server/app/index.segments/_full.segment.rsc +2 -2
  173. package/.next/standalone/agents-manage-ui/.next/server/app/index.segments/_head.segment.rsc +1 -1
  174. package/.next/standalone/agents-manage-ui/.next/server/app/index.segments/_index.segment.rsc +1 -1
  175. package/.next/standalone/agents-manage-ui/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  176. package/.next/standalone/agents-manage-ui/.next/server/app/login.html +1 -1
  177. package/.next/standalone/agents-manage-ui/.next/server/app/login.rsc +1 -1
  178. package/.next/standalone/agents-manage-ui/.next/server/app/login.segments/_full.segment.rsc +1 -1
  179. package/.next/standalone/agents-manage-ui/.next/server/app/login.segments/_head.segment.rsc +1 -1
  180. package/.next/standalone/agents-manage-ui/.next/server/app/login.segments/_index.segment.rsc +1 -1
  181. package/.next/standalone/agents-manage-ui/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  182. package/.next/standalone/agents-manage-ui/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  183. package/.next/standalone/agents-manage-ui/.next/server/app/login.segments/login.segment.rsc +1 -1
  184. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.html +1 -1
  185. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.rsc +1 -1
  186. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.segments/_full.segment.rsc +1 -1
  187. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.segments/_head.segment.rsc +1 -1
  188. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.segments/_index.segment.rsc +1 -1
  189. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.segments/_tree.segment.rsc +1 -1
  190. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.segments/no-organization/__PAGE__.segment.rsc +1 -1
  191. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.segments/no-organization.segment.rsc +1 -1
  192. package/.next/standalone/agents-manage-ui/.next/server/app/page/server-reference-manifest.json +2 -2
  193. package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
  194. package/.next/standalone/agents-manage-ui/.next/server/chunks/[root-of-the-server]__4d4a98dd._.js +1 -1
  195. package/.next/standalone/agents-manage-ui/.next/server/chunks/_1855ee62._.js +1 -1
  196. package/.next/standalone/agents-manage-ui/.next/server/chunks/_e239400f._.js +1 -1
  197. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/01f2c_agents_[agentId]_triggers_[triggerId]_invocations_page_actions_6d2145d1.js +1 -1
  198. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/2801f_projects_[projectId]_datasets_[datasetId]_runs_[runId]_page_tsx_a41a63ff._.js +1 -1
  199. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{3b7e8_monaco-editor_esm_vs_76442143._.js → 3b7e8_monaco-editor_esm_vs_a73396c3._.js} +2 -2
  200. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{3b7e8_monaco-editor_esm_vs_0535d8e5._.js → 3b7e8_monaco-editor_esm_vs_a7f165b8._.js} +2 -2
  201. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/44892_[tenantId]_projects_[projectId]_agents_[agentId]_triggers_page_actions_ce26dc16.js +1 -1
  202. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/44892_[tenantId]_projects_[projectId]_credentials_new_providers_page_actions_4c01036e.js +1 -1
  203. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/4d871_projects_[projectId]_datasets_[datasetId]_runs_[runId]_page_actions_988c82ec.js +1 -1
  204. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/6b50a_app_[tenantId]_projects_[projectId]_agents_[agentId]_page_actions_3349a171.js +1 -1
  205. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/6b50a_app_[tenantId]_projects_[projectId]_credentials_new_page_actions_3395b4fd.js +1 -1
  206. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/6b50a_app_[tenantId]_projects_[projectId]_traces_ai-calls_page_actions_ae953950.js +1 -1
  207. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/6b50a_app_[tenantId]_projects_[projectId]_traces_tool-calls_page_actions_0c975c46.js +1 -1
  208. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/8d849_app_[tenantId]_projects_[projectId]_credentials_new_bearer_page_tsx_bfa15333._.js +1 -1
  209. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__033128ab._.js +1 -1
  210. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__03755e0b._.js +1 -1
  211. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{[root-of-the-server]__72109551._.js → [root-of-the-server]__0775574c._.js} +2 -2
  212. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__07b5999e._.js +1 -1
  213. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__1167d6e8._.js +1 -1
  214. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__12e75510._.js +1 -1
  215. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__1ccdd69a._.js +1 -1
  216. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{[root-of-the-server]__bb2a441a._.js → [root-of-the-server]__1cf4fe2d._.js} +1 -1
  217. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__2b77b579._.js +1 -1
  218. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__316ccdd9._.js +1 -1
  219. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{[root-of-the-server]__3bd45367._.js → [root-of-the-server]__3dd11c79._.js} +2 -2
  220. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__48b01cec._.js +2 -2
  221. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__4a4a0234._.js +1 -1
  222. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__4d11e3e9._.js +1 -1
  223. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__5ce80b8a._.js +1 -1
  224. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__5f6f3731._.js +1 -1
  225. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__60c7a337._.js +1 -1
  226. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{[root-of-the-server]__572e9e89._.js → [root-of-the-server]__70df7dff._.js} +2 -2
  227. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{[root-of-the-server]__a4ae945b._.js → [root-of-the-server]__726addcc._.js} +2 -2
  228. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__7c08da8a._.js +1 -1
  229. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__84c3aa44._.js +1 -1
  230. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{[root-of-the-server]__9165ff26._.js → [root-of-the-server]__8f5c92f5._.js} +2 -2
  231. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__933397b9._.js +1 -1
  232. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__9e73f4f0._.js +1 -1
  233. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__9feab291._.js +1 -1
  234. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__a254b5f1._.js +1 -1
  235. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__a4ba388d._.js +1 -1
  236. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__a5b0b2fd._.js +1 -1
  237. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__a826b523._.js +1 -1
  238. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__aad94406._.js +1 -1
  239. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__bdf0844a._.js +1 -1
  240. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{[root-of-the-server]__952f2e13._.js → [root-of-the-server]__bf8fb48d._.js} +2 -2
  241. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__d59514a4._.js +2 -2
  242. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__d8031f58._.js +1 -1
  243. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__dcd7d792._.js +2 -2
  244. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__dd6b876e._.js +1 -1
  245. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__df244446._.js +1 -1
  246. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__e8007a37._.js +1 -1
  247. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__e8037b5d._.js +1 -1
  248. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__f2f5e9e2._.js +1 -1
  249. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_00c19e5c._.js +1 -1
  250. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_db6731e0._.js → _0331f205._.js} +3 -3
  251. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_f3431775._.js → _08ea42ca._.js} +2 -2
  252. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_0a2602e0._.js +1 -1
  253. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_0bd776c1._.js +1 -1
  254. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_112b53c6._.js +3 -0
  255. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_a55a0c95._.js → _11acbbeb._.js} +2 -2
  256. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_157f705c._.js +1 -1
  257. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_1e66b9df._.js +1 -1
  258. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_2b163258._.js → _223bcaf2._.js} +2 -2
  259. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_2385ad2f._.js +1 -1
  260. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_58ef3eec._.js → _2529a4e8._.js} +2 -2
  261. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_28068e81._.js +1 -1
  262. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_2b78d66f._.js +1 -1
  263. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_1bc8f999._.js → _2e0fb2b9._.js} +2 -2
  264. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_38992463._.js +1 -1
  265. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_5c16d0f3._.js → _48caf503._.js} +2 -2
  266. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_0f4b455b._.js → _4a873142._.js} +2 -2
  267. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_3ca147ab._.js → _4b3c5dd7._.js} +2 -2
  268. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_4d10f12f._.js +1 -1
  269. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_4de53cc6._.js +3 -0
  270. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_525811f1._.js +1 -1
  271. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_552fe25e._.js +1 -1
  272. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_5804d9de._.js +1 -1
  273. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_94bf9c68._.js → _63968835._.js} +2 -2
  274. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_6604a287._.js +1 -1
  275. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_69bf777f._.js +1 -1
  276. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_6ada736a._.js +1 -1
  277. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_72e92a10._.js +1 -1
  278. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_7af98bef._.js +1 -1
  279. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_7bd53feb._.js +1 -1
  280. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_5ffefa26._.js → _8286c679._.js} +2 -2
  281. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_84d34514._.js +1 -1
  282. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_8596ec3f._.js +1 -1
  283. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_fc81ba5f._.js → _876f6623._.js} +2 -2
  284. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_72adecf5._.js → _8ce50aa1._.js} +2 -2
  285. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_8ecf5bad._.js +1 -1
  286. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_91ebb9a8._.js +1 -1
  287. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_9ca35595._.js +1 -1
  288. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_9cf58f7d._.js +1 -1
  289. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_a50cf079._.js +1 -1
  290. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_a6912eaf._.js +1 -1
  291. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_a69794a2._.js +1 -1
  292. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_aced85d1._.js +1 -1
  293. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_b06a7cea._.js +1 -1
  294. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_b76a9960._.js +1 -1
  295. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_bad301a7._.js +1 -1
  296. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_31003bbf._.js → _bd681119._.js} +2 -2
  297. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_d6139803._.js → _c7f7234f._.js} +2 -2
  298. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_ffa2c375._.js → _c85052ca._.js} +2 -2
  299. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_cb924110._.js +1 -1
  300. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_513f12d3._.js → _d9bc90c1._.js} +2 -2
  301. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_5c396e23._.js → _e1100dcb._.js} +2 -2
  302. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_e2d2d894._.js +1 -1
  303. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_e642dcb0._.js +1 -1
  304. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_e80d8d33._.js +1 -1
  305. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_ebb155d7._.js +1 -1
  306. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_f0d4b89b._.js +1 -1
  307. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_f0f3bd68._.js +1 -1
  308. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_02eddc8d._.js +1 -1
  309. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_04e25339._.js +1 -1
  310. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_13f2596a._.js +1 -1
  311. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_16835166._.js +1 -1
  312. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_1ca09704._.js +1 -1
  313. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_1d5ec061._.js +1 -1
  314. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_250b3155._.js +1 -1
  315. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_327dc23a._.js +1 -1
  316. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_4315221c._.js +1 -1
  317. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_45f53172._.js +1 -1
  318. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_4a9cd754._.js +1 -1
  319. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_4ff6ea98._.js +1 -1
  320. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_527b9240._.js +1 -1
  321. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_59aef76c._.js +1 -1
  322. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_8927ad6e._.js +1 -1
  323. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_8b6cda1c._.js +1 -1
  324. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_8cc98915._.js +1 -1
  325. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_9a95466a._.js +1 -1
  326. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_af2c22e1._.js +1 -1
  327. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_b77303f7._.js +1 -1
  328. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_cb51c96d._.js +1 -1
  329. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_d0ea1155._.js +1 -1
  330. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_dbf5acab._.js +1 -1
  331. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_38c82cde._.js +1 -1
  332. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_56924255._.js +4 -0
  333. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{agents-manage-ui_src_6cd9c32f._.js → agents-manage-ui_src_57027289._.js} +3 -3
  334. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{agents-manage-ui_src_317eb825._.js → agents-manage-ui_src_67a487e5._.js} +2 -2
  335. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_70682912._.js +1 -1
  336. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_7b1519f4._.js +1 -1
  337. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_7e433d9c._.js +1 -1
  338. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{agents-manage-ui_src_e9b9a098._.js → agents-manage-ui_src_8acbf074._.js} +2 -2
  339. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_9dd39ecd._.js +1 -1
  340. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{agents-manage-ui_src_2e25ed0b._.js → agents-manage-ui_src_a3dcb285._.js} +2 -2
  341. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_a788ad0e._.js +1 -1
  342. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_app_[tenantId]_settings_page_tsx_e3878235._.js +1 -1
  343. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_app_[tenantId]_stats_ai-calls_page_tsx_7d404d39._.js +1 -1
  344. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_app_[tenantId]_stats_tool-calls_page_tsx_cdfe0a94._.js +1 -1
  345. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_b4417edd._.js +4 -0
  346. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_components_access_project-members-wrapper_tsx_551fee97._.js +1 -1
  347. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_components_api-keys_2215db83._.js +1 -1
  348. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{agents-manage-ui_src_b2c6e225._.js → agents-manage-ui_src_d359b49c._.js} +2 -2
  349. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{agents-manage-ui_src_d2ead8eb._.js → agents-manage-ui_src_d7e8037a._.js} +2 -2
  350. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_fa40cd93._.js +12 -0
  351. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_fb9fa8a6._.js +1 -1
  352. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_ffef4a6c._.js +1 -1
  353. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_lib_2ac7eb51._.js +1 -1
  354. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_lib_74b4d2c9._.js +1 -1
  355. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_lib_api_33c2123c._.js +1 -1
  356. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_lib_api_6ac17b03._.js +1 -1
  357. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_lib_api_b637cffe._.js +1 -1
  358. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/b84a3__next-internal_server_app_[tenantId]_projects_page_actions_f5c5d3b3.js +1 -1
  359. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/b905c_server_app_[tenantId]_projects_[projectId]_settings_page_actions_e2b20e6c.js +1 -1
  360. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/b905c_server_app_[tenantId]_projects_[projectId]_traces_page_actions_a408cb5a.js +1 -1
  361. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_5c17d92b._.js → node_modules__pnpm_033fdb58._.js} +1 -1
  362. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_3374f749._.js → node_modules__pnpm_048a06fd._.js} +1 -1
  363. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_ba09e035._.js → node_modules__pnpm_064fa709._.js} +2 -2
  364. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_1f90e1db._.js → node_modules__pnpm_082741b0._.js} +2 -2
  365. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_683e7f90._.js → node_modules__pnpm_0b4da1cb._.js} +1 -1
  366. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_9b373243._.js → node_modules__pnpm_0c17782b._.js} +2 -2
  367. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_8a57c302._.js → node_modules__pnpm_0c7fac1d._.js} +1 -1
  368. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_31c0e128._.js → node_modules__pnpm_0e36ae7a._.js} +1 -1
  369. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_fccf3abb._.js → node_modules__pnpm_0f00da0b._.js} +1 -1
  370. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_6cd1994b._.js → node_modules__pnpm_12041486._.js} +1 -1
  371. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_20e2a22f._.js → node_modules__pnpm_16ef0db2._.js} +1 -1
  372. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_4148113b._.js → node_modules__pnpm_1d5a9c66._.js} +1 -1
  373. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_9cf383e9._.js → node_modules__pnpm_242adfca._.js} +2 -2
  374. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_b80779b5._.js → node_modules__pnpm_254f8afd._.js} +2 -2
  375. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_fdba14a5._.js → node_modules__pnpm_26019682._.js} +2 -2
  376. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_1acbf3a5._.js → node_modules__pnpm_29a3a390._.js} +2 -2
  377. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_7e060ee7._.js → node_modules__pnpm_2ab39fc8._.js} +2 -2
  378. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_0d72d9d9._.js → node_modules__pnpm_2dbc80b4._.js} +1 -1
  379. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_627f0584._.js → node_modules__pnpm_30a7d62e._.js} +1 -1
  380. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_c06020f0._.js → node_modules__pnpm_32b6574f._.js} +2 -2
  381. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_4bb03951._.js → node_modules__pnpm_35b55359._.js} +1 -1
  382. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_5591b484._.js → node_modules__pnpm_387d05fc._.js} +1 -1
  383. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_762ca9d1._.js → node_modules__pnpm_3992a2f4._.js} +1 -1
  384. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_6dead2e8._.js → node_modules__pnpm_3b9bb9f7._.js} +2 -2
  385. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_69afcbe7._.js → node_modules__pnpm_416aa605._.js} +1 -1
  386. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_4460e623._.js → node_modules__pnpm_42ddb793._.js} +1 -1
  387. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_5519ca7b._.js → node_modules__pnpm_4a682595._.js} +1 -1
  388. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_329d43ce._.js → node_modules__pnpm_4db5aa6f._.js} +1 -1
  389. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_2ca3301b._.js → node_modules__pnpm_4dce39df._.js} +1 -1
  390. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_3ca5b506._.js → node_modules__pnpm_4f52e19a._.js} +2 -2
  391. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_226af378._.js → node_modules__pnpm_5006240e._.js} +2 -2
  392. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_2e8bcab8._.js → node_modules__pnpm_51cf21d1._.js} +1 -1
  393. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_1ee8e301._.js → node_modules__pnpm_5608b6a6._.js} +1 -1
  394. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_b9f5d1a9._.js → node_modules__pnpm_59e17470._.js} +2 -2
  395. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_849817ae._.js → node_modules__pnpm_5b438b13._.js} +1 -1
  396. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_5dad43c2._.js → node_modules__pnpm_60bf3a23._.js} +1 -1
  397. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_ca737786._.js → node_modules__pnpm_64edde08._.js} +1 -1
  398. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_6df59710._.js → node_modules__pnpm_6725383b._.js} +1 -1
  399. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_446a00aa._.js → node_modules__pnpm_68b5b2a1._.js} +1 -1
  400. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_7eed52bb._.js → node_modules__pnpm_69b9179f._.js} +1 -1
  401. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_5dd6f101._.js → node_modules__pnpm_6afd0059._.js} +2 -2
  402. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_b17673d3._.js → node_modules__pnpm_6e4e6001._.js} +1 -1
  403. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_db48472f._.js → node_modules__pnpm_7051c9f6._.js} +2 -2
  404. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_3df1ab30._.js → node_modules__pnpm_71fdacaa._.js} +2 -2
  405. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_3e126d16._.js → node_modules__pnpm_73d3dc3d._.js} +1 -1
  406. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_3fccc64f._.js → node_modules__pnpm_74ff50d1._.js} +1 -1
  407. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_403a0638._.js → node_modules__pnpm_755d4789._.js} +1 -1
  408. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_36fd23eb._.js → node_modules__pnpm_77ee6fcb._.js} +1 -1
  409. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_8407acb9._.js → node_modules__pnpm_787e831c._.js} +1 -1
  410. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_5b367fdd._.js → node_modules__pnpm_78c03260._.js} +1 -1
  411. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_c6b8667a._.js → node_modules__pnpm_7901b309._.js} +1 -1
  412. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_efa4faba._.js → node_modules__pnpm_7a368e6e._.js} +1 -1
  413. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_f026f744._.js → node_modules__pnpm_7f669081._.js} +1 -1
  414. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_a31c97fd._.js → node_modules__pnpm_81240b17._.js} +1 -1
  415. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_4366a2df._.js → node_modules__pnpm_82e939ec._.js} +1 -1
  416. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_f99b9c88._.js → node_modules__pnpm_8673d4cf._.js} +2 -2
  417. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_4dda408d._.js → node_modules__pnpm_87e1727c._.js} +1 -1
  418. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_8b7a4156._.js → node_modules__pnpm_88aef853._.js} +1 -1
  419. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_8e453892._.js → node_modules__pnpm_91737c07._.js} +1 -1
  420. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_c14b87a6._.js → node_modules__pnpm_999f6532._.js} +1 -1
  421. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_dc7bcb44._.js → node_modules__pnpm_9cc46915._.js} +1 -1
  422. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_7a9620fa._.js → node_modules__pnpm_a1c1c65d._.js} +1 -1
  423. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_ada9bd3b._.js → node_modules__pnpm_a1ffbc22._.js} +1 -1
  424. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_463c1243._.js → node_modules__pnpm_a2487a77._.js} +1 -1
  425. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_d1a817ed._.js → node_modules__pnpm_a2f28902._.js} +2 -2
  426. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_8bf6731d._.js → node_modules__pnpm_a309494e._.js} +1 -1
  427. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_b3ad1e9b._.js → node_modules__pnpm_a31abc41._.js} +2 -2
  428. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_33abec35._.js → node_modules__pnpm_a9846645._.js} +2 -2
  429. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_a3266785._.js → node_modules__pnpm_afc29e57._.js} +1 -1
  430. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_57e42c2b._.js → node_modules__pnpm_b204a224._.js} +1 -1
  431. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_49fe7e3f._.js → node_modules__pnpm_b3d837ee._.js} +1 -1
  432. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_f01b4eaa._.js → node_modules__pnpm_b60a1b0e._.js} +2 -2
  433. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_a5ee02d0._.js → node_modules__pnpm_c596ec7e._.js} +2 -2
  434. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_b9fc0e32._.js → node_modules__pnpm_c756d3d8._.js} +1 -1
  435. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_89f686d7._.js → node_modules__pnpm_cd2a45d9._.js} +1 -1
  436. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_c7e64975._.js → node_modules__pnpm_cee77460._.js} +1 -1
  437. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_e8f64946._.js → node_modules__pnpm_cf41d542._.js} +1 -1
  438. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_74aed2e0._.js → node_modules__pnpm_cfefe3e8._.js} +1 -1
  439. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_eee7259a._.js → node_modules__pnpm_d09a0cf3._.js} +1 -1
  440. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_a3a25f8e._.js → node_modules__pnpm_d1aa42b7._.js} +1 -1
  441. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_ec124f53._.js → node_modules__pnpm_d2380fd6._.js} +1 -1
  442. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_0cfbc17d._.js → node_modules__pnpm_d251edc0._.js} +1 -1
  443. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_d0c3926d._.js → node_modules__pnpm_d548b15d._.js} +2 -2
  444. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_5e0a4164._.js → node_modules__pnpm_dda1ed4d._.js} +2 -2
  445. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_59eda5a7._.js → node_modules__pnpm_dfe2e1f5._.js} +2 -2
  446. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_d050a643._.js → node_modules__pnpm_e1729ec2._.js} +1 -1
  447. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_8946f8c1._.js → node_modules__pnpm_e3ba62e6._.js} +2 -2
  448. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_9c581d0d._.js → node_modules__pnpm_e51f879d._.js} +1 -1
  449. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_017765c5._.js → node_modules__pnpm_e6014ce1._.js} +2 -2
  450. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_0640e93f._.js → node_modules__pnpm_e73a11e7._.js} +1 -1
  451. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_87c03e63._.js → node_modules__pnpm_e751605e._.js} +1 -1
  452. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_909b3ef2._.js → node_modules__pnpm_e7a4c184._.js} +2 -2
  453. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_cbb309cc._.js → node_modules__pnpm_e8385871._.js} +2 -2
  454. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_d893d0d7._.js → node_modules__pnpm_e9a52b6b._.js} +1 -1
  455. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_4509c59b._.js → node_modules__pnpm_e9c478a3._.js} +1 -1
  456. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_ec7f8f00._.js → node_modules__pnpm_ec7b1406._.js} +1 -1
  457. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_eea6acc0._.js → node_modules__pnpm_ef37e7fe._.js} +2 -2
  458. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_2d353142._.js → node_modules__pnpm_f31b7bcf._.js} +2 -2
  459. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_e7eacf96._.js → node_modules__pnpm_f47228b4._.js} +1 -1
  460. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_6b1a6737._.js → node_modules__pnpm_f5f10a03._.js} +1 -1
  461. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_d74fadaf._.js → node_modules__pnpm_f7d2beba._.js} +1 -1
  462. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_299be082._.js → node_modules__pnpm_fad33409._.js} +2 -2
  463. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_35aca572._.js → node_modules__pnpm_fba3278a._.js} +1 -1
  464. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_f5491674._.js → node_modules__pnpm_fd4af191._.js} +1 -1
  465. package/.next/standalone/agents-manage-ui/.next/server/pages/404.html +1 -1
  466. package/.next/standalone/agents-manage-ui/.next/server/pages/500.html +2 -2
  467. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.js +1 -1
  468. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.json +1600 -1600
  469. package/.next/standalone/agents-manage-ui/.next/static/chunks/{9b1fac7b87228a87.js → 0a77c83e00911e92.js} +1 -1
  470. package/.next/standalone/agents-manage-ui/.next/static/chunks/{71d4e9fc574af382.js → 10c013e07b61fd8b.js} +1 -1
  471. package/.next/standalone/agents-manage-ui/.next/static/chunks/{cea7a0f41cd0c439.js → 177e495ad4554960.js} +4 -4
  472. package/.next/standalone/agents-manage-ui/.next/static/chunks/{53c0a78cb5964217.js → 26c5fee1a96c0a06.js} +2 -2
  473. package/.next/standalone/agents-manage-ui/.next/static/chunks/{a3427f0ae4b04d5e.js → 271536df975af77b.js} +1 -1
  474. package/.next/standalone/agents-manage-ui/.next/static/chunks/{ccd3ec9bf9ae10fc.js → 2a29037f5bb3d562.js} +1 -1
  475. package/.next/standalone/agents-manage-ui/.next/static/chunks/{3c78e866afd2d18e.js → 2a8a2d5556915d4b.js} +1 -1
  476. package/.next/standalone/agents-manage-ui/.next/static/chunks/{5850a254e9ea4f8f.js → 2c9a0f7f3d403b12.js} +1 -1
  477. package/.next/standalone/agents-manage-ui/.next/static/chunks/{4213928e677d586e.js → 2ccf2dd29f8d8a01.js} +1 -1
  478. package/.next/standalone/agents-manage-ui/.next/static/chunks/{5a42ea4500899423.js → 2dd885514f58eefa.js} +1 -1
  479. package/.next/standalone/agents-manage-ui/.next/static/chunks/{c38066ad3f806cd2.js → 36e5b7917fb68d4a.js} +1 -1
  480. package/.next/standalone/agents-manage-ui/.next/static/chunks/{ac54385be370046d.js → 396bd974d4799942.js} +1 -1
  481. package/.next/standalone/agents-manage-ui/.next/static/chunks/3ad48348e291270f.js +1 -0
  482. package/.next/standalone/agents-manage-ui/.next/static/chunks/{357c51e73e46634c.js → 3b80be302b31797e.js} +2 -2
  483. package/.next/standalone/agents-manage-ui/.next/static/chunks/3fedd2a6e121676a.js +1 -0
  484. package/.next/standalone/agents-manage-ui/.next/static/chunks/{e54f305141e14d50.js → 414b9e82fa2e71ec.js} +1 -1
  485. package/.next/standalone/agents-manage-ui/.next/static/chunks/{fb845fa311f9ef79.js → 4520ec122277b93a.js} +1 -1
  486. package/.next/standalone/agents-manage-ui/.next/static/chunks/{41858a0264b6c689.js → 47f3c12aed584789.js} +1 -1
  487. package/.next/standalone/agents-manage-ui/.next/static/chunks/{56aa65f7ae2feb1d.js → 4d86474c9663235f.js} +1 -1
  488. package/.next/standalone/agents-manage-ui/.next/static/chunks/54c5221ee8e82b4b.js +1 -0
  489. package/.next/standalone/agents-manage-ui/.next/static/chunks/6cc905b5bed68f18.js +1 -0
  490. package/.next/standalone/agents-manage-ui/.next/static/chunks/{24943294f07ed567.js → 6e6267f54a3aca27.js} +1 -1
  491. package/.next/standalone/agents-manage-ui/.next/static/chunks/{56067e69bd90802c.js → 76b8690650eebf8a.js} +1 -1
  492. package/.next/standalone/agents-manage-ui/.next/static/chunks/{c52565de8c79ee4a.js → 7e537c40534e1fcc.js} +1 -1
  493. package/.next/standalone/agents-manage-ui/.next/static/chunks/808f7213abd874d1.js +1 -0
  494. package/.next/standalone/agents-manage-ui/.next/static/chunks/{467426a1973e2ff2.js → 80971f8e3a3cbfae.js} +1 -1
  495. package/.next/standalone/agents-manage-ui/.next/static/chunks/{66bc7bd2a5a60b4d.js → 80b3c326c449fd2a.js} +2 -2
  496. package/.next/standalone/agents-manage-ui/.next/static/chunks/{7e54e923e62fec0b.js → 896d1556ecc6df0e.js} +1 -1
  497. package/.next/standalone/agents-manage-ui/.next/static/chunks/{d3eb41c9c10df06f.js → 8dfd5e5710b6b093.js} +1 -1
  498. package/.next/standalone/agents-manage-ui/.next/static/chunks/{48269b7edec4b97f.js → 8fa6b14eb873e81e.js} +1 -1
  499. package/.next/standalone/agents-manage-ui/.next/static/chunks/{c5d7aa089b83bc19.js → 9c224db8e2e538d6.js} +1 -1
  500. package/.next/standalone/agents-manage-ui/.next/static/chunks/9ffe68f85aa293c5.js +1 -0
  501. package/.next/standalone/agents-manage-ui/.next/static/chunks/{46d1df4ec76141d1.js → abc789cbd4a8530a.js} +1 -1
  502. package/.next/standalone/agents-manage-ui/.next/static/chunks/{62f5e206c2cf0aeb.js → b5588a5617b56412.js} +1 -1
  503. package/.next/standalone/agents-manage-ui/.next/static/chunks/{d0e01c26a12513a2.js → bb601862d1c173a9.js} +1 -1
  504. package/.next/standalone/agents-manage-ui/.next/static/chunks/{249048de0d395afc.js → be5ecdae8723ea1f.js} +1 -1
  505. package/.next/standalone/agents-manage-ui/.next/static/chunks/{51fee45a38a6b316.js → be96a71a411cff43.js} +1 -1
  506. package/.next/standalone/agents-manage-ui/.next/static/chunks/{a2fb11bd97beff8c.js → c798288e52d98bad.js} +1 -1
  507. package/.next/standalone/agents-manage-ui/.next/static/chunks/ca9728f5dfcf9c49.js +2 -0
  508. package/.next/standalone/agents-manage-ui/.next/static/chunks/{a219429441d16774.js → cabce487d27f8fca.js} +1 -1
  509. package/.next/standalone/agents-manage-ui/.next/static/chunks/{f78dd826d97f3281.js → d7279cf231be4051.js} +1 -1
  510. package/.next/standalone/agents-manage-ui/.next/static/chunks/{211434b80a2f880e.js → dafd8b7a2125edcd.js} +1 -1
  511. package/.next/standalone/agents-manage-ui/.next/static/chunks/dc74fd1717fb5706.js +14 -0
  512. package/.next/standalone/agents-manage-ui/.next/static/chunks/{d2c2734041cbf42e.js → e1fbf43b3b485755.js} +1 -1
  513. package/.next/standalone/agents-manage-ui/.next/static/chunks/{440323429f85222a.js → ecd3a1d5cf4d0dfb.js} +1 -1
  514. package/.next/standalone/agents-manage-ui/.next/static/chunks/{754be8d2dc8647d3.js → f435f826b79cd11e.js} +1 -1
  515. package/.next/standalone/agents-manage-ui/.next/static/chunks/{31c9e90b64eeb90d.js → f7e0e4e533c23a4f.js} +1 -1
  516. package/.next/standalone/agents-manage-ui/.next/static/chunks/f8b3b1afa9516c9e.js +1 -0
  517. package/.next/standalone/agents-manage-ui/.next/static/chunks/{94418a572de4b7b9.js → fb06d06b2872ba6f.js} +1 -1
  518. package/.next/standalone/agents-manage-ui/.next/static/chunks/{62be48402066c716.js → fe0c9b288152a439.js} +1 -1
  519. package/package.json +2 -2
  520. package/src/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.client.tsx +18 -55
  521. package/src/components/agent/configuration/resolve-collisions.ts +114 -0
  522. package/src/features/agent/domain/deserialize.ts +1 -1
  523. package/src/features/agent/state/use-agent-store.ts +15 -15
  524. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_45c078b0._.js +0 -3
  525. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_54a389cc._.js +0 -3
  526. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_978e31ae._.js +0 -4
  527. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_9eeadc81._.js +0 -4
  528. package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_e76dfb78._.js +0 -12
  529. package/.next/standalone/agents-manage-ui/.next/static/chunks/012a0ff090d452db.js +0 -1
  530. package/.next/standalone/agents-manage-ui/.next/static/chunks/0a5446d929caf4ed.js +0 -1
  531. package/.next/standalone/agents-manage-ui/.next/static/chunks/0e77a8424c5ab170.js +0 -1
  532. package/.next/standalone/agents-manage-ui/.next/static/chunks/3b5bc530533e1822.js +0 -1
  533. package/.next/standalone/agents-manage-ui/.next/static/chunks/5b343e12a3628d27.js +0 -2
  534. package/.next/standalone/agents-manage-ui/.next/static/chunks/773553417c9670dd.js +0 -14
  535. package/.next/standalone/agents-manage-ui/.next/static/chunks/ad588099eeb2a1d8.js +0 -1
  536. package/.next/standalone/agents-manage-ui/.next/static/chunks/d26207fdc70a8ff1.js +0 -1
  537. package/.next/standalone/agents-manage-ui/.next/static/chunks/d9bc85ee8f3ff1c0.js +0 -1
  538. /package/.next/standalone/agents-manage-ui/.next/static/{ixzo_vGPszYDV8tPhWjV4 → -q8dKPcFkXSECflXZniaB}/_buildManifest.js +0 -0
  539. /package/.next/standalone/agents-manage-ui/.next/static/{ixzo_vGPszYDV8tPhWjV4 → -q8dKPcFkXSECflXZniaB}/_clientMiddlewareManifest.json +0 -0
  540. /package/.next/standalone/agents-manage-ui/.next/static/{ixzo_vGPszYDV8tPhWjV4 → -q8dKPcFkXSECflXZniaB}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[233064,108614,539962,742575,a=>{"use strict";var b=a.i(998501),c=a.i(870664),d=a.i(642518);let e=(0,d.createServerReference)("78cb3154fdfc914d338b213064d5e17779297b3f48",d.callServer,void 0,d.findSourceMapURL,"fetchThirdPartyMCPServer");function f({url:a="",credentialScope:d="project",enabled:g=!0}={}){let{tenantId:h,projectId:i}=(0,c.useParams)();if(!h||!i)throw Error("tenantId and projectId are required");return(0,b.useQuery)({queryKey:["third-party-mcp-server",h,i,a,d],queryFn:async()=>(await e(h,i,a,d)).data,enabled:g&&!!a,staleTime:3e4,initialData:null,initialDataUpdatedAt:0,meta:{defaultError:"Failed to load third-party MCP server details"}})}a.s(["useThirdPartyMCPServerQuery",()=>f],233064);var g=a.i(554609),h=a.i(543630),i=a.i(969316);function j({code:a}){return(0,g.jsxs)("div",{className:"relative bg-muted/50 dark:bg-muted/30 rounded-md border overflow-hidden",children:[(0,g.jsx)(i.ScrollArea,{className:"h-20 w-full",children:(0,g.jsx)("div",{className:"px-3 py-2 pr-8",children:(0,g.jsx)("pre",{className:"text-sm text-foreground/90 font-mono whitespace-pre-wrap break-words leading-5",children:a})})}),(0,g.jsx)(h.CopyButton,{className:"absolute right-1 top-1 z-10",textToCopy:a})]})}a.s(["CopyableMultiLineCode",()=>j],108614);var k=a.i(683560),l=a.i(24038),m=a.i(25148),n=a.i(167418),o=a.i(313718),p=a.i(213923),q=a.i(888890),r=a.i(744589);function s({tool:a,isActive:b,override:c}){let[d,e]=(0,m.useState)(!1),[f,h]=(0,m.useState)(!1),i=c?.schema?c.schema:a.inputSchema,j=c?.description?c.description:a.description,s=i?(0,o.parseMCPInputSchema)(i):null,t=j&&j.length>200,u=t&&!f?`${j?.substring(0,200)}...`:j;return(0,g.jsxs)("div",{className:"border rounded-lg p-4 space-y-3",children:[(0,g.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,g.jsxs)("div",{className:"flex items-center gap-2 min-w-0 max-w-full",children:[(0,g.jsx)(p.Badge,{variant:b?"primary":"code",className:(0,n.cn)("truncate max-w-full inline-block min-w-0 flex-1",!b&&"bg-transparent text-foreground"),children:c?.displayName||a.name}),s?.hasProperties&&(0,g.jsxs)(p.Badge,{variant:"code",children:[s.properties.length," parameter",1!==s.properties.length?"s":""]}),c&&(0,g.jsx)(p.Badge,{variant:"violet",className:"uppercase",children:"Modified"})]}),s?.hasProperties&&(0,g.jsx)(q.Button,{variant:"ghost",size:"icon-sm",onClick:()=>e(!d),children:d?(0,g.jsx)(l.ChevronUp,{className:"w-4 h-4"}):(0,g.jsx)(k.ChevronDown,{className:"w-4 h-4"})})]}),a.description&&(0,g.jsxs)("div",{children:[(0,g.jsx)("p",{className:"text-sm text-muted-foreground leading-relaxed",children:u}),t&&(0,g.jsx)(q.Button,{variant:"link",size:"sm",onClick:()=>h(!f),className:"h-auto p-0 text-xs",children:f?"Show less":"Show more"})]}),d&&s?.hasProperties&&(0,g.jsx)("div",{className:"space-y-3 pt-2 border-t",children:(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("div",{className:"text-sm font-medium",children:"Parameters"}),(0,g.jsx)("div",{className:"space-y-2",children:s?.properties.map(a=>(0,g.jsx)(r.PropertyDisplay,{property:a,level:0},a.name))})]})})]})}function t({tools:a,activeTools:b,toolOverrides:c}){return(0,g.jsxs)("div",{className:"space-y-2",children:[(0,g.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,g.jsx)("div",{className:"text-sm font-medium leading-none",children:"Available Tools"}),(0,g.jsx)(p.Badge,{variant:"count",children:a.length})]}),(0,g.jsx)("div",{className:"space-y-2",children:a.map(a=>({...a,isActive:b?.includes(a.name)??!0,override:c?.[a.name]})).sort((a,b)=>a.isActive!==b.isActive?a.isActive?-1:1:a.name.localeCompare(b.name)).map(a=>(0,g.jsx)(s,{tool:a,isActive:a.isActive,override:a.override},a.name))})]})}a.s(["AvailableToolsCard",()=>t],539962);var u=a.i(845310);function v({toolName:a,isAvailable:b}){let c=(0,g.jsx)(p.Badge,{variant:b?"primary":"warning",className:(0,n.cn)(b?"":"opacity-75 border-yellow-500 text-yellow-700 bg-yellow-50 normal-case"),children:a});return b?c:(0,g.jsxs)(u.Tooltip,{children:[(0,g.jsx)(u.TooltipTrigger,{asChild:!0,children:c}),(0,g.jsx)(u.TooltipContent,{children:(0,g.jsx)("p",{children:"This tool is not available in the MCP server."})})]})}function w({children:a,className:b}){return(0,g.jsx)("div",{className:(0,n.cn)("text-sm font-medium leading-none",b),children:a})}function x({children:a,className:b}){return(0,g.jsx)("div",{className:(0,n.cn)("flex w-full text-sm",b),children:a})}function y(a){return new Date(a).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"})}function z(a){return!!a&&("string"==typeof a?new Date(a):a)<new Date}function A(a){switch(a){case"healthy":return"success";case"unhealthy":return"error";case"disabled":return"code";default:return"warning"}}a.s(["ActiveToolBadge",()=>v,"ItemLabel",()=>w,"ItemValue",()=>x,"formatDate",()=>y,"getStatusBadgeVariant",()=>A,"isExpired",()=>z],742575)},633107,a=>{"use strict";var b=a.i(554609),c=a.i(840576),d=a.i(120663),e=a.i(543276),f=a.i(809398),g=a.i(437499),h=a.i(213923),i=a.i(405058),j=a.i(191455),k=a.i(943370),l=a.i(233064),m=a.i(888890),n=a.i(108614),o=a.i(64075),p=a.i(539962),q=a.i(74045),r=a.i(742575);function s({tool:a,tenantId:s,projectId:t}){let{handleOAuthLogin:u}=(0,k.useOAuthLogin)({tenantId:s,projectId:t,onFinish:()=>{window.location.reload()}}),{canEdit:v}=(0,j.useProjectPermissions)(),w=a.config.mcp.server.url.includes("composio.dev")&&"needs_auth"===a.status,{data:x,isFetching:y}=(0,l.useThirdPartyMCPServerQuery)({url:a.config.mcp.server.url,credentialScope:"project",enabled:w}),z=x?.thirdPartyConnectAccountUrl;return(0,b.jsxs)("div",{className:"max-w-2xl mx-auto space-y-8",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(q.MCPToolImage,{imageUrl:a.imageUrl,name:a.name,size:48,className:"rounded-lg"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-xl font-medium tracking-tight",children:a.name}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"MCP server details"})]})]}),v&&(0,b.jsx)(m.Button,{asChild:!0,children:(0,b.jsxs)(g.default,{href:`/${s}/projects/${t}/mcp-servers/${a.id}/edit`,children:[(0,b.jsx)(e.Pencil,{className:"w-4 h-4"}),"Edit"]})})]}),(0,b.jsxs)("div",{className:"space-y-8",children:[(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.ItemLabel,{children:"Created At"}),(0,b.jsx)(r.ItemValue,{children:a.createdAt?(0,r.formatDate)(a.createdAt):"N/A"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.ItemLabel,{children:"Updated At"}),(0,b.jsx)(r.ItemValue,{children:a.updatedAt?(0,r.formatDate)(a.updatedAt):"N/A"})]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.ItemLabel,{children:"Status"}),(0,b.jsx)(r.ItemValue,{className:"items-center",children:"needs_auth"===a.status?(0,b.jsx)(h.Badge,{variant:"outline",className:"text-xs bg-amber-50 dark:bg-amber-900/20 text-amber-700 dark:text-amber-400 border-amber-200 dark:border-amber-800 cursor-pointer hover:bg-amber-100 dark:hover:bg-amber-900/30 hover:border-amber-300 dark:hover:border-amber-700 transition-colors",onClick:b=>{b.preventDefault(),b.stopPropagation(),u({toolId:a.id,mcpServerUrl:a.config.mcp.server.url,toolName:a.name,thirdPartyConnectAccountUrl:z,credentialScope:"project"})},children:y?"Loading...":"Click to Login"}):(0,b.jsx)(h.Badge,{className:"uppercase",variant:(0,r.getStatusBadgeVariant)(a.status),children:a.status})})]}),a.config.mcp.transport&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.ItemLabel,{children:"Transport Type"}),(0,b.jsx)(r.ItemValue,{children:(0,b.jsx)(h.Badge,{variant:"code",children:a.config.mcp.transport.type})})]})]}),a.lastError&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.ItemLabel,{children:"Last Error"}),(0,b.jsx)(n.CopyableMultiLineCode,{code:a.lastError})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.ItemLabel,{children:"Server URL"}),"mcp"===a.config.type&&(0,b.jsx)(o.CopyableSingleLineCode,{code:a.config.mcp.server.url})]}),"mcp"===a.config.type&&a.config.mcp.prompt&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.ItemLabel,{children:"Custom Prompt"}),(0,b.jsx)(r.ItemValue,{children:(0,b.jsx)("div",{className:"text-sm bg-muted/50 p-3 rounded border whitespace-pre-wrap",children:a.config.mcp.prompt})})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.ItemLabel,{children:"Credential Scope"}),(0,b.jsx)(r.ItemValue,{className:"items-center",children:(0,b.jsxs)(h.Badge,{variant:"outline",className:"flex items-center gap-1.5",children:[(0,b.jsx)(f.Users,{className:"w-3 h-3"}),"Project (shared credential)"]})})]}),a.createdBy&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.ItemLabel,{children:"Created By"}),(0,b.jsx)(r.ItemValue,{children:a.createdBy})]})]}),a.credentialReferenceId&&(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.ItemLabel,{children:"Project Credential"}),(0,b.jsx)(r.ItemValue,{className:"items-center",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)(h.Badge,{variant:"code",className:"flex items-center gap-2",children:[(0,b.jsx)(d.Lock,{className:"w-4 h-4"}),a.credentialReferenceId]}),(0,b.jsx)(i.ExternalLink,{href:`/${s}/projects/${t}/credentials/${a.credentialReferenceId}`,className:"text-xs",children:"view credential"})]})})]}),a.expiresAt&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(r.ItemLabel,{children:"Credential Expires At"}),(0,r.isExpired)(a.expiresAt)&&(0,b.jsx)(c.AlertCircle,{className:"h-4 w-4 text-amber-500"})]}),(0,b.jsx)(r.ItemValue,{children:(0,r.formatDate)(a.expiresAt)})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,b.jsx)(r.ItemLabel,{children:"Active Tools"}),(0,b.jsx)(h.Badge,{variant:"count",children:void 0===a.config.mcp.activeTools?a.availableTools?.length??0:a.config.mcp.activeTools?.length??0})]}),(0,b.jsx)(r.ItemValue,{children:void 0===a.config.mcp.activeTools?a.availableTools&&a.availableTools.length>0?(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:a.availableTools.map(a=>(0,b.jsx)(r.ActiveToolBadge,{toolName:a.name,isAvailable:!0},a.name))}):(0,b.jsx)("div",{className:"text-sm text-muted-foreground",children:"No tools available"}):a.config.mcp.activeTools&&a.config.mcp.activeTools.length>0?(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:a.config.mcp.activeTools.map(c=>{let d=a.availableTools?.some(a=>a.name===c)??!1;return(0,b.jsx)(r.ActiveToolBadge,{toolName:c,isAvailable:d},c)})}):(0,b.jsx)("div",{className:"text-sm text-muted-foreground",children:"None"})})]}),a.availableTools&&a.availableTools.length>0&&(0,b.jsx)(p.AvailableToolsCard,{tools:a.availableTools,activeTools:a.config.mcp.activeTools,toolOverrides:a.config.mcp.toolOverrides})]})]})}a.s(["ViewMCPServerDetailsProjectScope",()=>s])},132681,a=>{"use strict";var b=a.i(554609),c=a.i(840576),d=a.i(120663),e=a.i(543276),f=a.i(313796),g=a.i(437499),h=a.i(213923),i=a.i(405058),j=a.i(27545),k=a.i(191455),l=a.i(943370),m=a.i(998501),n=a.i(870664),o=a.i(642518);let p=(0,o.createServerReference)("7013b29fd2ad6180ab793c2ac3268d367fcce8b5c4",o.callServer,void 0,o.findSourceMapURL,"fetchUserScopedCredential");var q=a.i(233064),r=a.i(888890),s=a.i(108614),t=a.i(64075),u=a.i(539962),v=a.i(74045),w=a.i(742575);function x({tool:a,tenantId:o,projectId:x}){let{canEdit:y}=(0,k.useProjectPermissions)(),{handleOAuthLogin:z}=(0,l.useOAuthLogin)({tenantId:o,projectId:x,onFinish(){window.location.reload()}}),{data:A,isFetching:B}=function({toolId:a="",enabled:b=!0}={}){let{tenantId:c,projectId:d}=(0,n.useParams)();if(!c||!d)throw Error("tenantId and projectId are required");return(0,m.useQuery)({queryKey:["user-scoped-credential",c,d,a],queryFn:()=>p(c,d,a),enabled:b&&!!a,staleTime:3e4,initialData:null,initialDataUpdatedAt:0,meta:{defaultError:"Failed to load user credential"}})}({toolId:a.id}),C=a.config.mcp.server.url.includes("composio.dev")&&"needs_auth"===a.status,{data:D,isFetching:E}=(0,q.useThirdPartyMCPServerQuery)({url:a.config.mcp.server.url,credentialScope:"user",enabled:C}),F=D?.thirdPartyConnectAccountUrl;return(0,b.jsxs)("div",{className:"max-w-2xl mx-auto space-y-8",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(v.MCPToolImage,{imageUrl:a.imageUrl,name:a.name,size:48,className:"rounded-lg"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-xl font-medium tracking-tight",children:a.name}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"MCP server details"})]})]}),y&&(0,b.jsx)(r.Button,{asChild:!0,children:(0,b.jsxs)(g.default,{href:`/${o}/projects/${x}/mcp-servers/${a.id}/edit`,children:[(0,b.jsx)(e.Pencil,{className:"w-4 h-4"}),"Edit"]})})]}),(0,b.jsxs)("div",{className:"space-y-8",children:[(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.ItemLabel,{children:"Created At"}),(0,b.jsx)(w.ItemValue,{children:a.createdAt?(0,w.formatDate)(a.createdAt):"N/A"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.ItemLabel,{children:"Updated At"}),(0,b.jsx)(w.ItemValue,{children:a.updatedAt?(0,w.formatDate)(a.updatedAt):"N/A"})]})]}),B?(0,b.jsx)(j.InfoCard,{title:"Loading...",children:(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"Checking your connection status..."})}):"needs_auth"===a.status&&(0,b.jsx)(j.InfoCard,{title:"Connect Your Account",children:(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"This MCP server requires each user to connect their own account. Click below to authenticate with your personal credentials."}),(0,b.jsx)(r.Button,{size:"sm",onClick:()=>{z({toolId:a.id,mcpServerUrl:a.config.mcp.server.url,toolName:a.name,thirdPartyConnectAccountUrl:F,credentialScope:"user"})},disabled:E,children:E?"Loading...":"Connect My Account"})]})}),(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.ItemLabel,{children:"Your Status"}),(0,b.jsx)(w.ItemValue,{className:"items-center",children:(0,b.jsx)(h.Badge,{className:"uppercase",variant:(0,w.getStatusBadgeVariant)(a.status),children:"needs_auth"===a.status?"Needs Login":"unavailable"===a.status?"Unavailable":a.status})})]}),a.config.mcp.transport&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.ItemLabel,{children:"Transport Type"}),(0,b.jsx)(w.ItemValue,{children:(0,b.jsx)(h.Badge,{variant:"code",children:a.config.mcp.transport.type})})]})]}),a.lastError&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.ItemLabel,{children:"Last Error"}),(0,b.jsx)(s.CopyableMultiLineCode,{code:a.lastError})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.ItemLabel,{children:"Server URL"}),"mcp"===a.config.type&&(0,b.jsx)(t.CopyableSingleLineCode,{code:a.config.mcp.server.url})]}),"mcp"===a.config.type&&a.config.mcp.prompt&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.ItemLabel,{children:"Custom Prompt"}),(0,b.jsx)(w.ItemValue,{children:(0,b.jsx)("div",{className:"text-sm bg-muted/50 p-3 rounded border whitespace-pre-wrap",children:a.config.mcp.prompt})})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.ItemLabel,{children:"Credential Scope"}),(0,b.jsx)(w.ItemValue,{className:"items-center",children:(0,b.jsxs)(h.Badge,{variant:"outline",className:"flex items-center gap-1.5",children:[(0,b.jsx)(f.User,{className:"w-3 h-3"}),"User (per-user credentials)"]})})]}),a.createdBy&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.ItemLabel,{children:"Created By"}),(0,b.jsx)(w.ItemValue,{children:a.createdBy})]})]}),A&&(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.ItemLabel,{children:"Your Credential"}),(0,b.jsx)(w.ItemValue,{className:"items-center",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)(h.Badge,{variant:"code",className:"flex items-center gap-2",children:[(0,b.jsx)(d.Lock,{className:"w-4 h-4"}),A.name]}),(0,b.jsx)(i.ExternalLink,{href:`/${o}/projects/${x}/credentials/${A.id}`,className:"text-xs",children:"view"})]})})]}),a.expiresAt&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(w.ItemLabel,{children:"Credential Expires At"}),(0,w.isExpired)(a.expiresAt)&&(0,b.jsx)(c.AlertCircle,{className:"h-4 w-4 text-amber-500"})]}),(0,b.jsx)(w.ItemValue,{children:(0,w.formatDate)(a.expiresAt)})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,b.jsx)(w.ItemLabel,{children:"Active Tools"}),(0,b.jsx)(h.Badge,{variant:"count",children:void 0===a.config.mcp.activeTools?a.availableTools?.length??0:a.config.mcp.activeTools?.length??0})]}),(0,b.jsx)(w.ItemValue,{children:void 0===a.config.mcp.activeTools?a.availableTools&&a.availableTools.length>0?(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:a.availableTools.map(a=>(0,b.jsx)(w.ActiveToolBadge,{toolName:a.name,isAvailable:!0},a.name))}):(0,b.jsx)("div",{className:"text-sm text-muted-foreground",children:"No tools available"}):a.config.mcp.activeTools&&a.config.mcp.activeTools.length>0?(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:a.config.mcp.activeTools.map(c=>{let d=a.availableTools?.some(a=>a.name===c)??!1;return(0,b.jsx)(w.ActiveToolBadge,{toolName:c,isAvailable:d},c)})}):(0,b.jsx)("div",{className:"text-sm text-muted-foreground",children:"None"})})]}),a.availableTools&&a.availableTools.length>0&&(0,b.jsx)(u.AvailableToolsCard,{tools:a.availableTools,activeTools:a.config.mcp.activeTools,toolOverrides:a.config.mcp.toolOverrides})]})]})}a.s(["ViewMCPServerDetailsUserScope",()=>x],132681)}];
1
+ module.exports=[233064,108614,539962,742575,a=>{"use strict";var b=a.i(998501),c=a.i(870664),d=a.i(642518);let e=(0,d.createServerReference)("78dcc7f5a6301df2c6215586bd1d802c235c9a1450",d.callServer,void 0,d.findSourceMapURL,"fetchThirdPartyMCPServer");function f({url:a="",credentialScope:d="project",enabled:g=!0}={}){let{tenantId:h,projectId:i}=(0,c.useParams)();if(!h||!i)throw Error("tenantId and projectId are required");return(0,b.useQuery)({queryKey:["third-party-mcp-server",h,i,a,d],queryFn:async()=>(await e(h,i,a,d)).data,enabled:g&&!!a,staleTime:3e4,initialData:null,initialDataUpdatedAt:0,meta:{defaultError:"Failed to load third-party MCP server details"}})}a.s(["useThirdPartyMCPServerQuery",()=>f],233064);var g=a.i(554609),h=a.i(543630),i=a.i(969316);function j({code:a}){return(0,g.jsxs)("div",{className:"relative bg-muted/50 dark:bg-muted/30 rounded-md border overflow-hidden",children:[(0,g.jsx)(i.ScrollArea,{className:"h-20 w-full",children:(0,g.jsx)("div",{className:"px-3 py-2 pr-8",children:(0,g.jsx)("pre",{className:"text-sm text-foreground/90 font-mono whitespace-pre-wrap break-words leading-5",children:a})})}),(0,g.jsx)(h.CopyButton,{className:"absolute right-1 top-1 z-10",textToCopy:a})]})}a.s(["CopyableMultiLineCode",()=>j],108614);var k=a.i(683560),l=a.i(24038),m=a.i(25148),n=a.i(167418),o=a.i(313718),p=a.i(213923),q=a.i(888890),r=a.i(744589);function s({tool:a,isActive:b,override:c}){let[d,e]=(0,m.useState)(!1),[f,h]=(0,m.useState)(!1),i=c?.schema?c.schema:a.inputSchema,j=c?.description?c.description:a.description,s=i?(0,o.parseMCPInputSchema)(i):null,t=j&&j.length>200,u=t&&!f?`${j?.substring(0,200)}...`:j;return(0,g.jsxs)("div",{className:"border rounded-lg p-4 space-y-3",children:[(0,g.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,g.jsxs)("div",{className:"flex items-center gap-2 min-w-0 max-w-full",children:[(0,g.jsx)(p.Badge,{variant:b?"primary":"code",className:(0,n.cn)("truncate max-w-full inline-block min-w-0 flex-1",!b&&"bg-transparent text-foreground"),children:c?.displayName||a.name}),s?.hasProperties&&(0,g.jsxs)(p.Badge,{variant:"code",children:[s.properties.length," parameter",1!==s.properties.length?"s":""]}),c&&(0,g.jsx)(p.Badge,{variant:"violet",className:"uppercase",children:"Modified"})]}),s?.hasProperties&&(0,g.jsx)(q.Button,{variant:"ghost",size:"icon-sm",onClick:()=>e(!d),children:d?(0,g.jsx)(l.ChevronUp,{className:"w-4 h-4"}):(0,g.jsx)(k.ChevronDown,{className:"w-4 h-4"})})]}),a.description&&(0,g.jsxs)("div",{children:[(0,g.jsx)("p",{className:"text-sm text-muted-foreground leading-relaxed",children:u}),t&&(0,g.jsx)(q.Button,{variant:"link",size:"sm",onClick:()=>h(!f),className:"h-auto p-0 text-xs",children:f?"Show less":"Show more"})]}),d&&s?.hasProperties&&(0,g.jsx)("div",{className:"space-y-3 pt-2 border-t",children:(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)("div",{className:"text-sm font-medium",children:"Parameters"}),(0,g.jsx)("div",{className:"space-y-2",children:s?.properties.map(a=>(0,g.jsx)(r.PropertyDisplay,{property:a,level:0},a.name))})]})})]})}function t({tools:a,activeTools:b,toolOverrides:c}){return(0,g.jsxs)("div",{className:"space-y-2",children:[(0,g.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,g.jsx)("div",{className:"text-sm font-medium leading-none",children:"Available Tools"}),(0,g.jsx)(p.Badge,{variant:"count",children:a.length})]}),(0,g.jsx)("div",{className:"space-y-2",children:a.map(a=>({...a,isActive:b?.includes(a.name)??!0,override:c?.[a.name]})).sort((a,b)=>a.isActive!==b.isActive?a.isActive?-1:1:a.name.localeCompare(b.name)).map(a=>(0,g.jsx)(s,{tool:a,isActive:a.isActive,override:a.override},a.name))})]})}a.s(["AvailableToolsCard",()=>t],539962);var u=a.i(845310);function v({toolName:a,isAvailable:b}){let c=(0,g.jsx)(p.Badge,{variant:b?"primary":"warning",className:(0,n.cn)(b?"":"opacity-75 border-yellow-500 text-yellow-700 bg-yellow-50 normal-case"),children:a});return b?c:(0,g.jsxs)(u.Tooltip,{children:[(0,g.jsx)(u.TooltipTrigger,{asChild:!0,children:c}),(0,g.jsx)(u.TooltipContent,{children:(0,g.jsx)("p",{children:"This tool is not available in the MCP server."})})]})}function w({children:a,className:b}){return(0,g.jsx)("div",{className:(0,n.cn)("text-sm font-medium leading-none",b),children:a})}function x({children:a,className:b}){return(0,g.jsx)("div",{className:(0,n.cn)("flex w-full text-sm",b),children:a})}function y(a){return new Date(a).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"})}function z(a){return!!a&&("string"==typeof a?new Date(a):a)<new Date}function A(a){switch(a){case"healthy":return"success";case"unhealthy":return"error";case"disabled":return"code";default:return"warning"}}a.s(["ActiveToolBadge",()=>v,"ItemLabel",()=>w,"ItemValue",()=>x,"formatDate",()=>y,"getStatusBadgeVariant",()=>A,"isExpired",()=>z],742575)},633107,a=>{"use strict";var b=a.i(554609),c=a.i(840576),d=a.i(120663),e=a.i(543276),f=a.i(809398),g=a.i(437499),h=a.i(213923),i=a.i(405058),j=a.i(191455),k=a.i(943370),l=a.i(233064),m=a.i(888890),n=a.i(108614),o=a.i(64075),p=a.i(539962),q=a.i(74045),r=a.i(742575);function s({tool:a,tenantId:s,projectId:t}){let{handleOAuthLogin:u}=(0,k.useOAuthLogin)({tenantId:s,projectId:t,onFinish:()=>{window.location.reload()}}),{canEdit:v}=(0,j.useProjectPermissions)(),w=a.config.mcp.server.url.includes("composio.dev")&&"needs_auth"===a.status,{data:x,isFetching:y}=(0,l.useThirdPartyMCPServerQuery)({url:a.config.mcp.server.url,credentialScope:"project",enabled:w}),z=x?.thirdPartyConnectAccountUrl;return(0,b.jsxs)("div",{className:"max-w-2xl mx-auto space-y-8",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(q.MCPToolImage,{imageUrl:a.imageUrl,name:a.name,size:48,className:"rounded-lg"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-xl font-medium tracking-tight",children:a.name}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"MCP server details"})]})]}),v&&(0,b.jsx)(m.Button,{asChild:!0,children:(0,b.jsxs)(g.default,{href:`/${s}/projects/${t}/mcp-servers/${a.id}/edit`,children:[(0,b.jsx)(e.Pencil,{className:"w-4 h-4"}),"Edit"]})})]}),(0,b.jsxs)("div",{className:"space-y-8",children:[(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.ItemLabel,{children:"Created At"}),(0,b.jsx)(r.ItemValue,{children:a.createdAt?(0,r.formatDate)(a.createdAt):"N/A"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.ItemLabel,{children:"Updated At"}),(0,b.jsx)(r.ItemValue,{children:a.updatedAt?(0,r.formatDate)(a.updatedAt):"N/A"})]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.ItemLabel,{children:"Status"}),(0,b.jsx)(r.ItemValue,{className:"items-center",children:"needs_auth"===a.status?(0,b.jsx)(h.Badge,{variant:"outline",className:"text-xs bg-amber-50 dark:bg-amber-900/20 text-amber-700 dark:text-amber-400 border-amber-200 dark:border-amber-800 cursor-pointer hover:bg-amber-100 dark:hover:bg-amber-900/30 hover:border-amber-300 dark:hover:border-amber-700 transition-colors",onClick:b=>{b.preventDefault(),b.stopPropagation(),u({toolId:a.id,mcpServerUrl:a.config.mcp.server.url,toolName:a.name,thirdPartyConnectAccountUrl:z,credentialScope:"project"})},children:y?"Loading...":"Click to Login"}):(0,b.jsx)(h.Badge,{className:"uppercase",variant:(0,r.getStatusBadgeVariant)(a.status),children:a.status})})]}),a.config.mcp.transport&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.ItemLabel,{children:"Transport Type"}),(0,b.jsx)(r.ItemValue,{children:(0,b.jsx)(h.Badge,{variant:"code",children:a.config.mcp.transport.type})})]})]}),a.lastError&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.ItemLabel,{children:"Last Error"}),(0,b.jsx)(n.CopyableMultiLineCode,{code:a.lastError})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.ItemLabel,{children:"Server URL"}),"mcp"===a.config.type&&(0,b.jsx)(o.CopyableSingleLineCode,{code:a.config.mcp.server.url})]}),"mcp"===a.config.type&&a.config.mcp.prompt&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.ItemLabel,{children:"Custom Prompt"}),(0,b.jsx)(r.ItemValue,{children:(0,b.jsx)("div",{className:"text-sm bg-muted/50 p-3 rounded border whitespace-pre-wrap",children:a.config.mcp.prompt})})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.ItemLabel,{children:"Credential Scope"}),(0,b.jsx)(r.ItemValue,{className:"items-center",children:(0,b.jsxs)(h.Badge,{variant:"outline",className:"flex items-center gap-1.5",children:[(0,b.jsx)(f.Users,{className:"w-3 h-3"}),"Project (shared credential)"]})})]}),a.createdBy&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.ItemLabel,{children:"Created By"}),(0,b.jsx)(r.ItemValue,{children:a.createdBy})]})]}),a.credentialReferenceId&&(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(r.ItemLabel,{children:"Project Credential"}),(0,b.jsx)(r.ItemValue,{className:"items-center",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)(h.Badge,{variant:"code",className:"flex items-center gap-2",children:[(0,b.jsx)(d.Lock,{className:"w-4 h-4"}),a.credentialReferenceId]}),(0,b.jsx)(i.ExternalLink,{href:`/${s}/projects/${t}/credentials/${a.credentialReferenceId}`,className:"text-xs",children:"view credential"})]})})]}),a.expiresAt&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(r.ItemLabel,{children:"Credential Expires At"}),(0,r.isExpired)(a.expiresAt)&&(0,b.jsx)(c.AlertCircle,{className:"h-4 w-4 text-amber-500"})]}),(0,b.jsx)(r.ItemValue,{children:(0,r.formatDate)(a.expiresAt)})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,b.jsx)(r.ItemLabel,{children:"Active Tools"}),(0,b.jsx)(h.Badge,{variant:"count",children:void 0===a.config.mcp.activeTools?a.availableTools?.length??0:a.config.mcp.activeTools?.length??0})]}),(0,b.jsx)(r.ItemValue,{children:void 0===a.config.mcp.activeTools?a.availableTools&&a.availableTools.length>0?(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:a.availableTools.map(a=>(0,b.jsx)(r.ActiveToolBadge,{toolName:a.name,isAvailable:!0},a.name))}):(0,b.jsx)("div",{className:"text-sm text-muted-foreground",children:"No tools available"}):a.config.mcp.activeTools&&a.config.mcp.activeTools.length>0?(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:a.config.mcp.activeTools.map(c=>{let d=a.availableTools?.some(a=>a.name===c)??!1;return(0,b.jsx)(r.ActiveToolBadge,{toolName:c,isAvailable:d},c)})}):(0,b.jsx)("div",{className:"text-sm text-muted-foreground",children:"None"})})]}),a.availableTools&&a.availableTools.length>0&&(0,b.jsx)(p.AvailableToolsCard,{tools:a.availableTools,activeTools:a.config.mcp.activeTools,toolOverrides:a.config.mcp.toolOverrides})]})]})}a.s(["ViewMCPServerDetailsProjectScope",()=>s])},132681,a=>{"use strict";var b=a.i(554609),c=a.i(840576),d=a.i(120663),e=a.i(543276),f=a.i(313796),g=a.i(437499),h=a.i(213923),i=a.i(405058),j=a.i(27545),k=a.i(191455),l=a.i(943370),m=a.i(998501),n=a.i(870664),o=a.i(642518);let p=(0,o.createServerReference)("70c7366d7c9d36817475738908807433a692233381",o.callServer,void 0,o.findSourceMapURL,"fetchUserScopedCredential");var q=a.i(233064),r=a.i(888890),s=a.i(108614),t=a.i(64075),u=a.i(539962),v=a.i(74045),w=a.i(742575);function x({tool:a,tenantId:o,projectId:x}){let{canEdit:y}=(0,k.useProjectPermissions)(),{handleOAuthLogin:z}=(0,l.useOAuthLogin)({tenantId:o,projectId:x,onFinish(){window.location.reload()}}),{data:A,isFetching:B}=function({toolId:a="",enabled:b=!0}={}){let{tenantId:c,projectId:d}=(0,n.useParams)();if(!c||!d)throw Error("tenantId and projectId are required");return(0,m.useQuery)({queryKey:["user-scoped-credential",c,d,a],queryFn:()=>p(c,d,a),enabled:b&&!!a,staleTime:3e4,initialData:null,initialDataUpdatedAt:0,meta:{defaultError:"Failed to load user credential"}})}({toolId:a.id}),C=a.config.mcp.server.url.includes("composio.dev")&&"needs_auth"===a.status,{data:D,isFetching:E}=(0,q.useThirdPartyMCPServerQuery)({url:a.config.mcp.server.url,credentialScope:"user",enabled:C}),F=D?.thirdPartyConnectAccountUrl;return(0,b.jsxs)("div",{className:"max-w-2xl mx-auto space-y-8",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(v.MCPToolImage,{imageUrl:a.imageUrl,name:a.name,size:48,className:"rounded-lg"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-xl font-medium tracking-tight",children:a.name}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"MCP server details"})]})]}),y&&(0,b.jsx)(r.Button,{asChild:!0,children:(0,b.jsxs)(g.default,{href:`/${o}/projects/${x}/mcp-servers/${a.id}/edit`,children:[(0,b.jsx)(e.Pencil,{className:"w-4 h-4"}),"Edit"]})})]}),(0,b.jsxs)("div",{className:"space-y-8",children:[(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.ItemLabel,{children:"Created At"}),(0,b.jsx)(w.ItemValue,{children:a.createdAt?(0,w.formatDate)(a.createdAt):"N/A"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.ItemLabel,{children:"Updated At"}),(0,b.jsx)(w.ItemValue,{children:a.updatedAt?(0,w.formatDate)(a.updatedAt):"N/A"})]})]}),B?(0,b.jsx)(j.InfoCard,{title:"Loading...",children:(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"Checking your connection status..."})}):"needs_auth"===a.status&&(0,b.jsx)(j.InfoCard,{title:"Connect Your Account",children:(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"This MCP server requires each user to connect their own account. Click below to authenticate with your personal credentials."}),(0,b.jsx)(r.Button,{size:"sm",onClick:()=>{z({toolId:a.id,mcpServerUrl:a.config.mcp.server.url,toolName:a.name,thirdPartyConnectAccountUrl:F,credentialScope:"user"})},disabled:E,children:E?"Loading...":"Connect My Account"})]})}),(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.ItemLabel,{children:"Your Status"}),(0,b.jsx)(w.ItemValue,{className:"items-center",children:(0,b.jsx)(h.Badge,{className:"uppercase",variant:(0,w.getStatusBadgeVariant)(a.status),children:"needs_auth"===a.status?"Needs Login":"unavailable"===a.status?"Unavailable":a.status})})]}),a.config.mcp.transport&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.ItemLabel,{children:"Transport Type"}),(0,b.jsx)(w.ItemValue,{children:(0,b.jsx)(h.Badge,{variant:"code",children:a.config.mcp.transport.type})})]})]}),a.lastError&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.ItemLabel,{children:"Last Error"}),(0,b.jsx)(s.CopyableMultiLineCode,{code:a.lastError})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.ItemLabel,{children:"Server URL"}),"mcp"===a.config.type&&(0,b.jsx)(t.CopyableSingleLineCode,{code:a.config.mcp.server.url})]}),"mcp"===a.config.type&&a.config.mcp.prompt&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.ItemLabel,{children:"Custom Prompt"}),(0,b.jsx)(w.ItemValue,{children:(0,b.jsx)("div",{className:"text-sm bg-muted/50 p-3 rounded border whitespace-pre-wrap",children:a.config.mcp.prompt})})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.ItemLabel,{children:"Credential Scope"}),(0,b.jsx)(w.ItemValue,{className:"items-center",children:(0,b.jsxs)(h.Badge,{variant:"outline",className:"flex items-center gap-1.5",children:[(0,b.jsx)(f.User,{className:"w-3 h-3"}),"User (per-user credentials)"]})})]}),a.createdBy&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.ItemLabel,{children:"Created By"}),(0,b.jsx)(w.ItemValue,{children:a.createdBy})]})]}),A&&(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(w.ItemLabel,{children:"Your Credential"}),(0,b.jsx)(w.ItemValue,{className:"items-center",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)(h.Badge,{variant:"code",className:"flex items-center gap-2",children:[(0,b.jsx)(d.Lock,{className:"w-4 h-4"}),A.name]}),(0,b.jsx)(i.ExternalLink,{href:`/${o}/projects/${x}/credentials/${A.id}`,className:"text-xs",children:"view"})]})})]}),a.expiresAt&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(w.ItemLabel,{children:"Credential Expires At"}),(0,w.isExpired)(a.expiresAt)&&(0,b.jsx)(c.AlertCircle,{className:"h-4 w-4 text-amber-500"})]}),(0,b.jsx)(w.ItemValue,{children:(0,w.formatDate)(a.expiresAt)})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,b.jsx)(w.ItemLabel,{children:"Active Tools"}),(0,b.jsx)(h.Badge,{variant:"count",children:void 0===a.config.mcp.activeTools?a.availableTools?.length??0:a.config.mcp.activeTools?.length??0})]}),(0,b.jsx)(w.ItemValue,{children:void 0===a.config.mcp.activeTools?a.availableTools&&a.availableTools.length>0?(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:a.availableTools.map(a=>(0,b.jsx)(w.ActiveToolBadge,{toolName:a.name,isAvailable:!0},a.name))}):(0,b.jsx)("div",{className:"text-sm text-muted-foreground",children:"No tools available"}):a.config.mcp.activeTools&&a.config.mcp.activeTools.length>0?(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:a.config.mcp.activeTools.map(c=>{let d=a.availableTools?.some(a=>a.name===c)??!1;return(0,b.jsx)(w.ActiveToolBadge,{toolName:c,isAvailable:d},c)})}):(0,b.jsx)("div",{className:"text-sm text-muted-foreground",children:"None"})})]}),a.availableTools&&a.availableTools.length>0&&(0,b.jsx)(u.AvailableToolsCard,{tools:a.availableTools,activeTools:a.config.mcp.activeTools,toolOverrides:a.config.mcp.toolOverrides})]})]})}a.s(["ViewMCPServerDetailsUserScope",()=>x],132681)}];
2
2
 
3
3
  //# sourceMappingURL=agents-manage-ui_src_9dd39ecd._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[758793,a=>{"use strict";var b=a.i(642518);let c=(0,b.createServerReference)("707d7d14c7790e1cd8e190af82def0bc151df63c46",b.callServer,void 0,b.findSourceMapURL,"findOrCreateCredential");a.s(["findOrCreateCredential",()=>c])},135478,934577,a=>{"use strict";let b="[nango]";class c{baseURL;debug;swClient;errorHandler;modal;isProcessingMessage=!1;constructor({baseUrl:a,debug:b,webSocketUrl:c,successHandler:d,errorHandler:e}){this.baseURL=a,this.debug=b,this.swClient=new WebSocket(c),this.errorHandler=e,this.swClient.onmessage=a=>{this.isProcessingMessage=!0,this.handleMessage(a,d),this.isProcessingMessage=!1}}setModal(a){this.modal=a}handleMessage(a,c){let d=JSON.parse(a.data);switch(d.message_type){case"connection_ack":this.debug&&console.log(b,"Connection ack received. Opening modal..."),this.baseURL.searchParams.set("ws_client_id",d.ws_client_id),this.open();break;case"error":this.debug&&console.log(b,"Error received. Rejecting authorization..."),this.errorHandler(d.error_type,d.error_desc),this.swClient.close();break;case"success":this.debug&&console.log(b,"Success received. Resolving authorization..."),c({providerConfigKey:d.provider_config_key,connectionId:d.connection_id,isPending:d.is_pending}),this.swClient.close();break;default:this.debug&&console.log(b,"Unknown message type received from Nango server. Ignoring...");return}}open(){if(this.modal&&(this.debug&&console.log(b,"opening",this.baseURL.href),this.modal.location=this.baseURL.href,!this.modal||this.modal.closed||void 0===this.modal.closed))return void this.errorHandler("blocked_by_browser","Modal blocked by browser")}close(){this.modal&&!this.modal.closed&&(this.modal.close(),delete this.modal),this.swClient.close(),delete this.swClient}}class d{iframe=null;isReady=!1;listener=null;sessionToken;baseURL;apiURL;onEvent;detectClosedAuthWindow;lang;themeOverride;constructor({sessionToken:a,baseURL:b="https://connect.nango.dev",apiURL:c="https://api.nango.dev",detectClosedAuthWindow:d,onEvent:e,lang:f,themeOverride:g}){this.sessionToken=a,this.baseURL=b,this.apiURL=c,this.onEvent=e,this.detectClosedAuthWindow=d,this.lang=f,this.themeOverride=g}open(){this.iframe=this.createIframe(),document.body.append(this.iframe),document.body.style.overflow="hidden",this.setupEventListeners()}createIframe(){let a=new URL(this.baseURL);this.apiURL&&a.searchParams.append("apiURL",this.apiURL),this.detectClosedAuthWindow&&a.searchParams.append("detectClosedAuthWindow",String(this.detectClosedAuthWindow)),this.lang&&a.searchParams.append("lang",this.lang),this.themeOverride&&a.searchParams.append("theme",this.themeOverride);let b=document.createElement("iframe");return b.src=a.href,b.id="connect-ui",b.style.position="fixed",b.style.zIndex="9999",b.style.top="0",b.style.left="0",b.style.right="0",b.style.bottom="0",b.style.width="100vw",b.style.height="100vh",b.style.backgroundColor="transparent",b}setupEventListeners(){this.listener=a=>{if(a.origin!==new URL(this.baseURL).origin||"object"!=typeof a.data||!a.data||!a.data.type)return;let b=a.data;switch(b.type){case"ready":this.isReady=!0,this.sendSessionToken();break;case"close":this.close()}this.onEvent&&this.onEvent(b)},window.addEventListener("message",this.listener,!1)}setSessionToken(a){this.sessionToken=a,this.isReady&&this.sendSessionToken()}close(){this.listener&&window.removeEventListener("message",this.listener),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null,document.body.style.overflow="")}sendSessionToken(){if(!this.sessionToken)return;let a={type:"session_token",sessionToken:this.sessionToken};this.iframe?.contentWindow?.postMessage(a,"*")}}let e="NANGO DEBUG LOG: ";class f extends Error{type;constructor(a,b){super(a),this.type=b}}class g{hostBaseUrl;websocketsBaseUrl;publicKey;connectSessionToken;debug=!1;width=500;height=600;tm=null;win=null;constructor(a={}){a.host=a.host||"https://api.nango.dev",a.websocketsPath=a.websocketsPath||"/",this.debug=a.debug||!1,this.debug&&(console.log(e,"Debug mode is enabled."),console.log(e,`Using host: ${a.host}.`)),a.width&&(this.width=a.width),a.height&&(this.height=a.height),this.hostBaseUrl=a.host.replace(/\/+$/,""),this.publicKey=a.publicKey,this.connectSessionToken=a.connectSessionToken;try{const b=new URL(this.hostBaseUrl),c=new URL(a.websocketsPath,b);this.websocketsBaseUrl=c.toString().replace("https://","wss://").replace("http://","ws://")}catch{throw new f("Invalid URL provided for the Nango host.","invalid_host_url")}}async create(a,b,c){this.ensureCredentials();let d=null,e=c;"string"==typeof b?d=b:e=b;let f=this.hostBaseUrl+`/auth/unauthenticated/${a}${this.toQueryString(d,e)}`;return await this.triggerAuth({authUrl:f})}auth(a,b,d){this.ensureCredentials();let e=null,g=d;if("string"==typeof b?e=b:g={...g,...b},g&&("installation"in g&&"outbound"===g.installation||"credentials"in g&&("token_id"in g.credentials&&"token_secret"in g.credentials||!("oauth_client_id_override"in g.credentials)||!("oauth_client_secret_override"in g.credentials))&&Object.keys(g.credentials).length>0)){let b=g.credentials;if(!b)throw new f("Credentials are required for custom auth","missing_credentials");let{credentials:c,...d}=g;return this.customAuth(a,e,this.convertCredentialsToConfig(b),d,g.installation)}let h=window.open("","_blank",function(a){let b={...a,scrollbars:"yes",resizable:"yes",status:"no",toolbar:"no",location:"no",copyhistory:"no",menubar:"no",directories:"no"},c=[];for(let a in b)c.push(`${a}=${b[a]}`);return c.join(",")}(function({expectedWidth:a,expectedHeight:b}){let c=window.screen.width,d=window.screen.height,e=Math.min(a,c),f=Math.min(b,d);return{left:Math.max(c/2-a/2,0),top:Math.max(d/2-b/2,0),width:e,height:f}}({expectedWidth:this.width,expectedHeight:this.height})));return new Promise((b,d)=>{let i,j=(a,b)=>{d(new f(b,a))};if(this.win&&this.clear(),!h||h.closed||void 0===h.closed)return void j("blocked_by_browser","Modal blocked by browser");try{i=new URL(`${this.hostBaseUrl}/oauth/connect/${a}${this.toQueryString(e,g)}`)}catch{j("invalid_host_url","Invalid URL provided for the Nango host.");return}this.win=new c({baseUrl:i,debug:this.debug,webSocketUrl:this.websocketsBaseUrl,successHandler:a=>{b(a)},errorHandler:j}),this.win.setModal(h),this.tm=setInterval(()=>{this.win&&this.win.modal&&(!this.win.modal.window||this.win.modal.closed)&&!this.win.isProcessingMessage&&g?.detectClosedAuthWindow&&(clearInterval(this.tm),this.win.close(),this.win=null,d(new f("The authorization window was closed before the authorization flow was completed","window_closed")))},500)}).finally(()=>{this.clear()})}reconnect(a,b){if(!this.connectSessionToken)throw new f("Reconnect requires a session token","missing_connect_session_token");return this.auth(a,b)}clear(){if(this.tm&&clearInterval(this.tm),this.win){try{this.win.close()}catch(a){console.log("err",a)}this.win=null}}openConnectUI(a){let b=new d({sessionToken:this.connectSessionToken,...a});return b.open(),b}convertCredentialsToConfig(a){let b={};if("type"in a&&"username"in a&&"password"in a&&"SIGNATURE"===a.type)return{params:{type:a.type,username:a.username,password:a.password}};if("username"in a&&(b.username=a.username||""),"password"in a&&(b.password=a.password||""),"apiKey"in a&&(b.apiKey=a.apiKey||""),"privateKey"in a||"type"in a&&"JWT"===a.type){let{privateKey:b,...c}=a,d={...c};return b&&"object"==typeof b&&"id"in b&&"secret"in b&&(d.privateKey=b),{params:a}}if("privateKeyId"in a&&"issuerId"in a&&"privateKey"in a){let b={params:{privateKeyId:a.privateKeyId,issuerId:a.issuerId,privateKey:a.privateKey}};return"scope"in a&&("string"==typeof a.scope||Array.isArray(a.scope))&&(b.params.scope=a.scope),b}if("client_id"in a&&"client_secret"in a)return{params:{client_id:a.client_id,client_secret:a.client_secret,client_certificate:a.client_certificate,client_private_key:a.client_private_key}};if("token_id"in a&&"token_secret"in a){let b={token_id:a.token_id,token_secret:a.token_secret};return"oauth_client_id_override"in a&&(b.oauth_client_id_override=a.oauth_client_id_override),"oauth_client_secret_override"in a&&(b.oauth_client_secret_override=a.oauth_client_secret_override),{params:b}}return"username"in a&&"password"in a&&"organization_id"in a&&"dev_key"in a?{params:{username:a.username,password:a.password,organization_id:a.organization_id,dev_key:a.dev_key}}:"type"in a&&"TWO_STEP"===a.type?{params:{...a}}:{params:b}}async triggerAuth({authUrl:a,credentials:b}){let c=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},...b?{body:JSON.stringify(b)}:{}});if(!c.ok){let a=await c.json();throw new f(a.error.message,a.error.code)}return c.json()}async customAuth(a,b,c,d,e){let{params:g}=c;if(!g)throw new f("You must specify credentials.","missing_credentials");return"type"in g&&"TWO_STEP"===g.type?await this.triggerAuth({authUrl:this.hostBaseUrl+`/auth/two-step/${a}${this.toQueryString(b,d)}`,credentials:g}):"type"in g&&"SIGNATURE"===g.type&&"username"in g&&"password"in g?await this.triggerAuth({authUrl:this.hostBaseUrl+`/auth/signature/${a}${this.toQueryString(b,d)}`,credentials:g}):"username"in g&&"password"in g&&"organization_id"in g&&"dev_key"in g?await this.triggerAuth({authUrl:this.hostBaseUrl+`/auth/bill/${a}${this.toQueryString(b,d)}`,credentials:g}):"apiKey"in g?await this.triggerAuth({authUrl:this.hostBaseUrl+`/api-auth/api-key/${a}${this.toQueryString(b,d)}`,credentials:g}):"username"in g||"password"in g?await this.triggerAuth({authUrl:this.hostBaseUrl+`/api-auth/basic/${a}${this.toQueryString(b,d)}`,credentials:g}):"privateKey"in g||"type"in g&&"JWT"===g.type?await this.triggerAuth({authUrl:this.hostBaseUrl+`/auth/jwt/${a}${this.toQueryString(b,d)}`,credentials:g}):"privateKeyId"in g&&"issuerId"in g&&"privateKey"in g?await this.triggerAuth({authUrl:this.hostBaseUrl+`/app-store-auth/${a}${this.toQueryString(b,d)}`,credentials:g}):"token_id"in g&&"token_secret"in g?await this.triggerAuth({authUrl:this.hostBaseUrl+`/auth/tba/${a}${this.toQueryString(b,d)}`,credentials:g}):"client_id"in g&&"client_secret"in g?await this.triggerAuth({authUrl:this.hostBaseUrl+`/oauth2/auth/${a}${this.toQueryString(b,d)}`,credentials:g}):"outbound"===e?await this.triggerAuth({authUrl:this.hostBaseUrl+`/auth/oauth-outbound/${a}${this.toQueryString(b,d)}`}):Promise.reject(Error("Something went wrong with the authorization"))}toQueryString(a,b){let c=[];if(a&&c.push(`connection_id=${a}`),this.publicKey&&c.push(`public_key=${this.publicKey}`),this.connectSessionToken&&c.push(`connect_session_token=${this.connectSessionToken}`),b){for(let a in b.params){let d=b.params[a];"string"==typeof d&&c.push(`params[${encodeURIComponent(a)}]=${encodeURIComponent(d)}`)}if(b.hmac&&c.push(`hmac=${b.hmac}`),b.user_scope&&c.push(`user_scope=${b.user_scope.join(",")}`),b.credentials){let a=b.credentials;"oauth_client_id_override"in a&&c.push(`credentials[oauth_client_id_override]=${encodeURIComponent(a.oauth_client_id_override)}`),"oauth_client_secret_override"in a&&c.push(`credentials[oauth_client_secret_override]=${encodeURIComponent(a.oauth_client_secret_override)}`),"token_id"in a&&c.push(`token_id=${encodeURIComponent(a.token_id)}`),"token_secret"in a&&c.push(`token_secret=${encodeURIComponent(a.token_secret)}`)}for(let a in b.authorization_params){let d=b.authorization_params[a];"string"==typeof d?c.push(`authorization_params[${a}]=${d}`):void 0===d&&c.push(`authorization_params[${a}]=undefined`)}}return 0===c.length?"":"?"+c.join("&")}ensureCredentials(){if(!this.publicKey&&!this.connectSessionToken)throw new f("You must specify a public key OR a connect session token (cf. documentation).","missing_auth_token")}}var h=a.i(25148),i=a.i(21073),j=a.i(66753),k=a.i(642518);let l=(0,k.createServerReference)("402e0376331ec4883e77caafb4008b430ea46aaca4",k.callServer,void 0,k.findSourceMapURL,"createProviderConnectSession");a.s(["createProviderConnectSession",()=>l],934577);var m=a.i(118873);function n(){let{PUBLIC_NANGO_SERVER_URL:a,PUBLIC_NANGO_CONNECT_BASE_URL:b}=(0,j.useRuntimeConfig)(),{user:c}=(0,m.useAuthSession)(),d=(0,i.useAuthClient)();return{openNangoConnect:(0,h.useCallback)(({sessionToken:c,onEvent:d,connectOptions:e})=>{let f=new g({host:a||void 0}).openConnectUI({baseURL:e?.baseURL||b||void 0,apiURL:e?.apiURL||a||void 0,onEvent:d,detectClosedAuthWindow:!0});return f.setSessionToken(c),f},[a,b]),openNangoConnectHeadless:(0,h.useCallback)(async({mcpServerUrl:b,providerUniqueKey:e,providerDisplayName:f})=>{let{data:h}=await d.organization.getFullOrganization(),i=new g({host:a||void 0,connectSessionToken:await l({providerName:"mcp-generic",uniqueKey:e,displayName:f,endUserId:c?.id,endUserEmail:c?.email,endUserDisplayName:c?.name,organizationId:h?.id,organizationDisplayName:h?.name})});try{return await i.auth(e,{detectClosedAuthWindow:!0,params:{mcp_server_url:b}})}catch(a){if(a instanceof Error)throw Error(`Authentication failed: ${a.message}`);throw a}},[a,c?.id,c?.email,c?.name,d])}}a.s(["useNangoConnect",()=>n],135478)},244322,a=>{"use strict";var b=a.i(554609);a.i(562366);var c=a.i(766522),d=a.i(511818),e=a.i(437499),f=a.i(870664),g=a.i(25148),h=a.i(769297);let i={key:"client_id",label:"Client ID",type:"text",component:"input",placeholder:"Enter your OAuth client ID",required:!0},j={key:"client_secret",label:"Client Secret",type:"password",component:"input",placeholder:"Enter your OAuth client secret",required:!0},k={key:"scopes",label:"Scopes",type:"textarea",component:"textarea",placeholder:"Enter required scopes (space or comma separated)",helpText:"Leave empty to use default scopes for this provider",required:!1},l={key:"app_id",label:"App ID",type:"text",component:"input",placeholder:"Enter your app ID",required:!0},m={key:"app_link",label:"App Link",type:"url",component:"input",placeholder:"https://example.com/app",helpText:"The URL where your app is hosted or registered",required:!0,validate:a=>{if(a.trim())try{let b=new URL(a.trim());if(!["http:","https:"].includes(b.protocol))return"Only HTTP and HTTPS URLs are allowed";return}catch{return"Please enter a valid URL"}}},n={key:"private_key",label:"Private Key",type:"textarea",component:"textarea",placeholder:"-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----",helpText:"Your app's private key for authentication",required:!0},o={title:"OAuth Credentials",description:"You'll need to create an OAuth application in the provider's developer console to get these credentials.",fields:[i,j,k]},p={OAUTH1:{authMode:"OAUTH1",sections:[o]},OAUTH2:{authMode:"OAUTH2",sections:[o]},TBA:{authMode:"TBA",sections:[{title:"Authentication Credentials",description:"You'll need to create an application in the provider's developer console to get these credentials.",fields:[i,j,k]}]},APP:{authMode:"APP",sections:[{title:"App Credentials",description:"You'll need to create an app in the provider's developer portal to get these credentials.",fields:[l,m,n]}]},CUSTOM:{authMode:"CUSTOM",sections:[{title:"OAuth Credentials",fields:[i,j]},{title:"App Credentials",fields:[l,m,n]}]}};var q=a.i(322471),r=a.i(937214),s=a.i(932345),t=a.i(595148),u=a.i(178880),v=a.i(872166),w=a.i(888170),x=a.i(888890),y=a.i(637771),z=a.i(167418);function A({provider:a,backLink:c,onSubmit:d,loading:f=!1,className:g}){let h=p[a.auth_mode]||null,i=h?.sections.flatMap(a=>a.fields)||[],j=h?function(a){let b=a.sections.flatMap(a=>a.fields),c={};for(let a of b){let b=t.string();a.validate&&(b=b.refine(b=>{let c=String(b||"");return!c&&!a.required||!(a.validate?a.validate(c):void 0)},{message:`Invalid ${a.label.toLowerCase()}`})),b=a.required?t.string().min(1,`${a.label} is required`):t.string().optional().or(t.literal("")),c[a.key]=b}return t.object(c)}(h):t.object({_placeholder:t.string().optional()}),k=Object.fromEntries(i.map(a=>[a.key,""])),l=(0,s.useForm)({resolver:h?(0,q.zodResolver)(j):void 0,defaultValues:k});if(!h)return(0,b.jsxs)("div",{className:(0,z.cn)("flex items-center gap-4 h-full",g),children:[(0,b.jsx)(x.Button,{variant:"outline",asChild:!0,children:(0,b.jsxs)(e.default,{href:c,children:[(0,b.jsx)(r.ArrowLeft,{})," Back"]})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-bold",children:"Configuration Not Available"}),(0,b.jsxs)("p",{className:"text-muted-foreground",children:["No configuration form is available for ",a.auth_mode," authentication mode."]})]})]});let m=a=>{let c="private_key"===a.key,d=a.label;return"textarea"===a.component?(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(v.GenericTextarea,{control:l.control,name:a.key,label:d,isRequired:a.required,placeholder:a.placeholder,className:c?"font-mono text-sm min-h-[120px]":"min-h-[80px]"}),a.helpText&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:a.helpText})]},a.key):(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(u.GenericInput,{control:l.control,name:a.key,label:d,isRequired:a.required,type:a.type,placeholder:a.placeholder,disabled:f}),a.helpText&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:a.helpText})]},a.key)};return(0,b.jsxs)("div",{className:(0,z.cn)("space-y-6",g),children:[(0,b.jsx)("div",{className:"flex items-center gap-4",children:(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(w.ProviderIcon,{provider:a.name,size:24}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("h1",{className:"text-lg font-medium",children:["Setup ",a.display_name||a.name]}),(0,b.jsx)("p",{className:"text-muted-foreground",children:"Complete the required fields to set up this credential."})]})]})}),(0,b.jsx)(y.Form,{...l,children:(0,b.jsxs)("form",{onSubmit:l.handleSubmit(a=>{let b={};for(let[c,d]of Object.entries(a)){let a=d?.toString().trim();a&&(b[c]=a)}d(b)}),className:"space-y-8",children:[h.sections.map((a,c)=>(0,b.jsxs)("div",{className:"space-y-8",children:[a.title&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-lg font-medium",children:a.title}),a.description&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground mt-1",children:a.description})]}),a.fields.map(m)]},c)),(0,b.jsxs)("div",{className:"flex gap-3",children:[(0,b.jsx)(x.Button,{type:"submit",disabled:f,children:f?"Creating Credential...":"Create Credential"}),(0,b.jsx)(x.Button,{type:"button",variant:"outline",asChild:!0,disabled:f,children:(0,b.jsx)(e.default,{href:c,children:"Cancel"})})]})]})})]})}var B=a.i(21073),C=a.i(191455),D=a.i(118873),E=a.i(135478),F=a.i(642518);let G=(0,F.createServerReference)("7f6d7ac3d011a074555b1348fec2b79c7cf2b4ab1c",F.callServer,void 0,F.findSourceMapURL,"fetchNangoProviders");var H=a.i(934577);class I extends Error{operation;cause;constructor(a,b,c){super(a),this.operation=b,this.cause=c,this.name="NangoError"}}var J=a.i(758793),K=a.i(765351);a.s(["default",0,function({params:a}){let i=(0,f.useRouter)(),{canEdit:j}=(0,C.useProjectPermissions)(),{providers:k,loading:l}=function(){let[a,b]=(0,g.useState)(null),[c,d]=(0,g.useState)(!0),[e,f]=(0,g.useState)(null);return(0,g.useEffect)(()=>{!async function(){try{d(!0),f(null);let a=await G();b(a)}catch(a){f(a instanceof Error?a.message:"Failed to load providers"),b([])}finally{d(!1)}}()},[]),{providers:a,loading:c,error:e}}(),[m,n]=(0,g.useState)(!1),[o,q]=(0,g.useState)(!1),{openNangoConnect:r}=(0,E.useNangoConnect)(),{user:s}=(0,D.useAuthSession)(),t=(0,B.useAuthClient)(),{providerId:u,tenantId:v,projectId:w}=(0,g.use)(a);(0,g.useEffect)(()=>{j||i.replace(`/${v}/projects/${w}/credentials`)},[j,i,v,w]);let y=k?.find(a=>encodeURIComponent(a.name)===u),z=(0,g.useCallback)(async a=>{if(y&&"connect"===a.type){if(!a.payload?.connectionId||!a.payload?.providerConfigKey){console.error("Missing required connection data:",a.payload),h.toast.error("Invalid connection data received");return}try{await (0,J.findOrCreateCredential)(v,w,{id:(0,K.generateId)(),name:y.name,type:c.CredentialStoreType.nango,createdBy:s?.email??void 0,credentialStoreId:d.DEFAULT_NANGO_STORE_ID,retrievalParams:{connectionId:a.payload.connectionId,providerConfigKey:a.payload.providerConfigKey,provider:y.name,authMode:y.auth_mode}}),h.toast.success("Credential created successfully"),i.push(`/${v}/projects/${w}/credentials`)}catch(a){console.error("Failed to create credential record:",a),a instanceof Error&&a.message?.includes("database")?h.toast.error("Failed to save credential. Please check your connection and try again."):h.toast.error("Failed to save credential. Please try again.")}}},[y,v,w,i,s?.email]),F=(0,g.useCallback)(async a=>{if(!y)return;let{data:b}=await t.organization.getFullOrganization();n(!0),q(!0);try{let c=await (0,H.createProviderConnectSession)({providerName:y.name,uniqueKey:y.name,displayName:y.name,credentials:a&&y.auth_mode?{...a,type:y.auth_mode}:void 0,endUserId:s?.id,endUserEmail:s?.email,endUserDisplayName:s?.name,organizationId:b?.id,organizationDisplayName:b?.name});r({sessionToken:c,onEvent:z})}catch(a){console.error("Failed to create credential:",a),a instanceof I?"createConnectSession"===a.operation?h.toast.error("Failed to start authentication flow. Please try again."):h.toast.error("Service temporarily unavailable. Please try again later."):a instanceof Error&&a.message?.includes("NANGO_SECRET_KEY")?h.toast.error("Configuration error. Please contact support."):h.toast.error("Failed to create credential. Please try again.")}finally{n(!1)}},[y,r,z,s?.id,s?.email,s?.name,t]);(0,g.useEffect)(()=>{!y||y.auth_mode in p||m||o||F()},[y,m,o,F]);let L=`/${v}/projects/${w}/credentials/new/providers`;return l?(0,b.jsx)("div",{className:"flex items-center justify-center h-64",children:"Loading provider..."}):y?y.auth_mode in p?(0,b.jsx)(A,{className:"max-w-2xl mx-auto",provider:y,backLink:L,onSubmit:F,loading:m}):(0,b.jsx)("div",{className:"flex items-center justify-center h-64",children:(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center space-y-4",children:[(0,b.jsxs)("h2",{className:"text-xl font-semibold",children:["Connecting to ",y.name,"..."]}),(0,b.jsxs)("p",{className:"text-muted-foreground",children:["Please wait while we connect to ",y.name,"..."]}),(0,b.jsx)(x.Button,{asChild:!0,children:(0,b.jsx)(e.default,{href:L,children:"Back to providers"})})]})}):(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center h-64 space-y-4",children:[(0,b.jsx)("h2",{className:"text-xl font-semibold",children:"Provider not found."}),(0,b.jsxs)("p",{className:"text-muted-foreground",children:['The provider "',decodeURIComponent(u),'" was not found.']}),(0,b.jsx)(x.Button,{asChild:!0,children:(0,b.jsx)(e.default,{href:L,children:"Back to providers"})})]})}],244322)}];
1
+ module.exports=[511300,a=>{"use strict";var b=a.i(642518);let c=(0,b.createServerReference)("704bef5bddc9f45bce4659ae961b7dacee0b6c694d",b.callServer,void 0,b.findSourceMapURL,"findOrCreateCredential");a.s(["findOrCreateCredential",()=>c])},135478,754798,a=>{"use strict";let b="[nango]";class c{baseURL;debug;swClient;errorHandler;modal;isProcessingMessage=!1;constructor({baseUrl:a,debug:b,webSocketUrl:c,successHandler:d,errorHandler:e}){this.baseURL=a,this.debug=b,this.swClient=new WebSocket(c),this.errorHandler=e,this.swClient.onmessage=a=>{this.isProcessingMessage=!0,this.handleMessage(a,d),this.isProcessingMessage=!1}}setModal(a){this.modal=a}handleMessage(a,c){let d=JSON.parse(a.data);switch(d.message_type){case"connection_ack":this.debug&&console.log(b,"Connection ack received. Opening modal..."),this.baseURL.searchParams.set("ws_client_id",d.ws_client_id),this.open();break;case"error":this.debug&&console.log(b,"Error received. Rejecting authorization..."),this.errorHandler(d.error_type,d.error_desc),this.swClient.close();break;case"success":this.debug&&console.log(b,"Success received. Resolving authorization..."),c({providerConfigKey:d.provider_config_key,connectionId:d.connection_id,isPending:d.is_pending}),this.swClient.close();break;default:this.debug&&console.log(b,"Unknown message type received from Nango server. Ignoring...");return}}open(){if(this.modal&&(this.debug&&console.log(b,"opening",this.baseURL.href),this.modal.location=this.baseURL.href,!this.modal||this.modal.closed||void 0===this.modal.closed))return void this.errorHandler("blocked_by_browser","Modal blocked by browser")}close(){this.modal&&!this.modal.closed&&(this.modal.close(),delete this.modal),this.swClient.close(),delete this.swClient}}class d{iframe=null;isReady=!1;listener=null;sessionToken;baseURL;apiURL;onEvent;detectClosedAuthWindow;lang;themeOverride;constructor({sessionToken:a,baseURL:b="https://connect.nango.dev",apiURL:c="https://api.nango.dev",detectClosedAuthWindow:d,onEvent:e,lang:f,themeOverride:g}){this.sessionToken=a,this.baseURL=b,this.apiURL=c,this.onEvent=e,this.detectClosedAuthWindow=d,this.lang=f,this.themeOverride=g}open(){this.iframe=this.createIframe(),document.body.append(this.iframe),document.body.style.overflow="hidden",this.setupEventListeners()}createIframe(){let a=new URL(this.baseURL);this.apiURL&&a.searchParams.append("apiURL",this.apiURL),this.detectClosedAuthWindow&&a.searchParams.append("detectClosedAuthWindow",String(this.detectClosedAuthWindow)),this.lang&&a.searchParams.append("lang",this.lang),this.themeOverride&&a.searchParams.append("theme",this.themeOverride);let b=document.createElement("iframe");return b.src=a.href,b.id="connect-ui",b.style.position="fixed",b.style.zIndex="9999",b.style.top="0",b.style.left="0",b.style.right="0",b.style.bottom="0",b.style.width="100vw",b.style.height="100vh",b.style.backgroundColor="transparent",b}setupEventListeners(){this.listener=a=>{if(a.origin!==new URL(this.baseURL).origin||"object"!=typeof a.data||!a.data||!a.data.type)return;let b=a.data;switch(b.type){case"ready":this.isReady=!0,this.sendSessionToken();break;case"close":this.close()}this.onEvent&&this.onEvent(b)},window.addEventListener("message",this.listener,!1)}setSessionToken(a){this.sessionToken=a,this.isReady&&this.sendSessionToken()}close(){this.listener&&window.removeEventListener("message",this.listener),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null,document.body.style.overflow="")}sendSessionToken(){if(!this.sessionToken)return;let a={type:"session_token",sessionToken:this.sessionToken};this.iframe?.contentWindow?.postMessage(a,"*")}}let e="NANGO DEBUG LOG: ";class f extends Error{type;constructor(a,b){super(a),this.type=b}}class g{hostBaseUrl;websocketsBaseUrl;publicKey;connectSessionToken;debug=!1;width=500;height=600;tm=null;win=null;constructor(a={}){a.host=a.host||"https://api.nango.dev",a.websocketsPath=a.websocketsPath||"/",this.debug=a.debug||!1,this.debug&&(console.log(e,"Debug mode is enabled."),console.log(e,`Using host: ${a.host}.`)),a.width&&(this.width=a.width),a.height&&(this.height=a.height),this.hostBaseUrl=a.host.replace(/\/+$/,""),this.publicKey=a.publicKey,this.connectSessionToken=a.connectSessionToken;try{const b=new URL(this.hostBaseUrl),c=new URL(a.websocketsPath,b);this.websocketsBaseUrl=c.toString().replace("https://","wss://").replace("http://","ws://")}catch{throw new f("Invalid URL provided for the Nango host.","invalid_host_url")}}async create(a,b,c){this.ensureCredentials();let d=null,e=c;"string"==typeof b?d=b:e=b;let f=this.hostBaseUrl+`/auth/unauthenticated/${a}${this.toQueryString(d,e)}`;return await this.triggerAuth({authUrl:f})}auth(a,b,d){this.ensureCredentials();let e=null,g=d;if("string"==typeof b?e=b:g={...g,...b},g&&("installation"in g&&"outbound"===g.installation||"credentials"in g&&("token_id"in g.credentials&&"token_secret"in g.credentials||!("oauth_client_id_override"in g.credentials)||!("oauth_client_secret_override"in g.credentials))&&Object.keys(g.credentials).length>0)){let b=g.credentials;if(!b)throw new f("Credentials are required for custom auth","missing_credentials");let{credentials:c,...d}=g;return this.customAuth(a,e,this.convertCredentialsToConfig(b),d,g.installation)}let h=window.open("","_blank",function(a){let b={...a,scrollbars:"yes",resizable:"yes",status:"no",toolbar:"no",location:"no",copyhistory:"no",menubar:"no",directories:"no"},c=[];for(let a in b)c.push(`${a}=${b[a]}`);return c.join(",")}(function({expectedWidth:a,expectedHeight:b}){let c=window.screen.width,d=window.screen.height,e=Math.min(a,c),f=Math.min(b,d);return{left:Math.max(c/2-a/2,0),top:Math.max(d/2-b/2,0),width:e,height:f}}({expectedWidth:this.width,expectedHeight:this.height})));return new Promise((b,d)=>{let i,j=(a,b)=>{d(new f(b,a))};if(this.win&&this.clear(),!h||h.closed||void 0===h.closed)return void j("blocked_by_browser","Modal blocked by browser");try{i=new URL(`${this.hostBaseUrl}/oauth/connect/${a}${this.toQueryString(e,g)}`)}catch{j("invalid_host_url","Invalid URL provided for the Nango host.");return}this.win=new c({baseUrl:i,debug:this.debug,webSocketUrl:this.websocketsBaseUrl,successHandler:a=>{b(a)},errorHandler:j}),this.win.setModal(h),this.tm=setInterval(()=>{this.win&&this.win.modal&&(!this.win.modal.window||this.win.modal.closed)&&!this.win.isProcessingMessage&&g?.detectClosedAuthWindow&&(clearInterval(this.tm),this.win.close(),this.win=null,d(new f("The authorization window was closed before the authorization flow was completed","window_closed")))},500)}).finally(()=>{this.clear()})}reconnect(a,b){if(!this.connectSessionToken)throw new f("Reconnect requires a session token","missing_connect_session_token");return this.auth(a,b)}clear(){if(this.tm&&clearInterval(this.tm),this.win){try{this.win.close()}catch(a){console.log("err",a)}this.win=null}}openConnectUI(a){let b=new d({sessionToken:this.connectSessionToken,...a});return b.open(),b}convertCredentialsToConfig(a){let b={};if("type"in a&&"username"in a&&"password"in a&&"SIGNATURE"===a.type)return{params:{type:a.type,username:a.username,password:a.password}};if("username"in a&&(b.username=a.username||""),"password"in a&&(b.password=a.password||""),"apiKey"in a&&(b.apiKey=a.apiKey||""),"privateKey"in a||"type"in a&&"JWT"===a.type){let{privateKey:b,...c}=a,d={...c};return b&&"object"==typeof b&&"id"in b&&"secret"in b&&(d.privateKey=b),{params:a}}if("privateKeyId"in a&&"issuerId"in a&&"privateKey"in a){let b={params:{privateKeyId:a.privateKeyId,issuerId:a.issuerId,privateKey:a.privateKey}};return"scope"in a&&("string"==typeof a.scope||Array.isArray(a.scope))&&(b.params.scope=a.scope),b}if("client_id"in a&&"client_secret"in a)return{params:{client_id:a.client_id,client_secret:a.client_secret,client_certificate:a.client_certificate,client_private_key:a.client_private_key}};if("token_id"in a&&"token_secret"in a){let b={token_id:a.token_id,token_secret:a.token_secret};return"oauth_client_id_override"in a&&(b.oauth_client_id_override=a.oauth_client_id_override),"oauth_client_secret_override"in a&&(b.oauth_client_secret_override=a.oauth_client_secret_override),{params:b}}return"username"in a&&"password"in a&&"organization_id"in a&&"dev_key"in a?{params:{username:a.username,password:a.password,organization_id:a.organization_id,dev_key:a.dev_key}}:"type"in a&&"TWO_STEP"===a.type?{params:{...a}}:{params:b}}async triggerAuth({authUrl:a,credentials:b}){let c=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},...b?{body:JSON.stringify(b)}:{}});if(!c.ok){let a=await c.json();throw new f(a.error.message,a.error.code)}return c.json()}async customAuth(a,b,c,d,e){let{params:g}=c;if(!g)throw new f("You must specify credentials.","missing_credentials");return"type"in g&&"TWO_STEP"===g.type?await this.triggerAuth({authUrl:this.hostBaseUrl+`/auth/two-step/${a}${this.toQueryString(b,d)}`,credentials:g}):"type"in g&&"SIGNATURE"===g.type&&"username"in g&&"password"in g?await this.triggerAuth({authUrl:this.hostBaseUrl+`/auth/signature/${a}${this.toQueryString(b,d)}`,credentials:g}):"username"in g&&"password"in g&&"organization_id"in g&&"dev_key"in g?await this.triggerAuth({authUrl:this.hostBaseUrl+`/auth/bill/${a}${this.toQueryString(b,d)}`,credentials:g}):"apiKey"in g?await this.triggerAuth({authUrl:this.hostBaseUrl+`/api-auth/api-key/${a}${this.toQueryString(b,d)}`,credentials:g}):"username"in g||"password"in g?await this.triggerAuth({authUrl:this.hostBaseUrl+`/api-auth/basic/${a}${this.toQueryString(b,d)}`,credentials:g}):"privateKey"in g||"type"in g&&"JWT"===g.type?await this.triggerAuth({authUrl:this.hostBaseUrl+`/auth/jwt/${a}${this.toQueryString(b,d)}`,credentials:g}):"privateKeyId"in g&&"issuerId"in g&&"privateKey"in g?await this.triggerAuth({authUrl:this.hostBaseUrl+`/app-store-auth/${a}${this.toQueryString(b,d)}`,credentials:g}):"token_id"in g&&"token_secret"in g?await this.triggerAuth({authUrl:this.hostBaseUrl+`/auth/tba/${a}${this.toQueryString(b,d)}`,credentials:g}):"client_id"in g&&"client_secret"in g?await this.triggerAuth({authUrl:this.hostBaseUrl+`/oauth2/auth/${a}${this.toQueryString(b,d)}`,credentials:g}):"outbound"===e?await this.triggerAuth({authUrl:this.hostBaseUrl+`/auth/oauth-outbound/${a}${this.toQueryString(b,d)}`}):Promise.reject(Error("Something went wrong with the authorization"))}toQueryString(a,b){let c=[];if(a&&c.push(`connection_id=${a}`),this.publicKey&&c.push(`public_key=${this.publicKey}`),this.connectSessionToken&&c.push(`connect_session_token=${this.connectSessionToken}`),b){for(let a in b.params){let d=b.params[a];"string"==typeof d&&c.push(`params[${encodeURIComponent(a)}]=${encodeURIComponent(d)}`)}if(b.hmac&&c.push(`hmac=${b.hmac}`),b.user_scope&&c.push(`user_scope=${b.user_scope.join(",")}`),b.credentials){let a=b.credentials;"oauth_client_id_override"in a&&c.push(`credentials[oauth_client_id_override]=${encodeURIComponent(a.oauth_client_id_override)}`),"oauth_client_secret_override"in a&&c.push(`credentials[oauth_client_secret_override]=${encodeURIComponent(a.oauth_client_secret_override)}`),"token_id"in a&&c.push(`token_id=${encodeURIComponent(a.token_id)}`),"token_secret"in a&&c.push(`token_secret=${encodeURIComponent(a.token_secret)}`)}for(let a in b.authorization_params){let d=b.authorization_params[a];"string"==typeof d?c.push(`authorization_params[${a}]=${d}`):void 0===d&&c.push(`authorization_params[${a}]=undefined`)}}return 0===c.length?"":"?"+c.join("&")}ensureCredentials(){if(!this.publicKey&&!this.connectSessionToken)throw new f("You must specify a public key OR a connect session token (cf. documentation).","missing_auth_token")}}var h=a.i(25148),i=a.i(21073),j=a.i(66753),k=a.i(642518);let l=(0,k.createServerReference)("40dc1cbd1cc8ed3ac5976d7eb90c094edfc03ef368",k.callServer,void 0,k.findSourceMapURL,"createProviderConnectSession");a.s(["createProviderConnectSession",()=>l],754798);var m=a.i(118873);function n(){let{PUBLIC_NANGO_SERVER_URL:a,PUBLIC_NANGO_CONNECT_BASE_URL:b}=(0,j.useRuntimeConfig)(),{user:c}=(0,m.useAuthSession)(),d=(0,i.useAuthClient)();return{openNangoConnect:(0,h.useCallback)(({sessionToken:c,onEvent:d,connectOptions:e})=>{let f=new g({host:a||void 0}).openConnectUI({baseURL:e?.baseURL||b||void 0,apiURL:e?.apiURL||a||void 0,onEvent:d,detectClosedAuthWindow:!0});return f.setSessionToken(c),f},[a,b]),openNangoConnectHeadless:(0,h.useCallback)(async({mcpServerUrl:b,providerUniqueKey:e,providerDisplayName:f})=>{let{data:h}=await d.organization.getFullOrganization(),i=new g({host:a||void 0,connectSessionToken:await l({providerName:"mcp-generic",uniqueKey:e,displayName:f,endUserId:c?.id,endUserEmail:c?.email,endUserDisplayName:c?.name,organizationId:h?.id,organizationDisplayName:h?.name})});try{return await i.auth(e,{detectClosedAuthWindow:!0,params:{mcp_server_url:b}})}catch(a){if(a instanceof Error)throw Error(`Authentication failed: ${a.message}`);throw a}},[a,c?.id,c?.email,c?.name,d])}}a.s(["useNangoConnect",()=>n],135478)},244322,a=>{"use strict";var b=a.i(554609);a.i(562366);var c=a.i(766522),d=a.i(511818),e=a.i(437499),f=a.i(870664),g=a.i(25148),h=a.i(769297);let i={key:"client_id",label:"Client ID",type:"text",component:"input",placeholder:"Enter your OAuth client ID",required:!0},j={key:"client_secret",label:"Client Secret",type:"password",component:"input",placeholder:"Enter your OAuth client secret",required:!0},k={key:"scopes",label:"Scopes",type:"textarea",component:"textarea",placeholder:"Enter required scopes (space or comma separated)",helpText:"Leave empty to use default scopes for this provider",required:!1},l={key:"app_id",label:"App ID",type:"text",component:"input",placeholder:"Enter your app ID",required:!0},m={key:"app_link",label:"App Link",type:"url",component:"input",placeholder:"https://example.com/app",helpText:"The URL where your app is hosted or registered",required:!0,validate:a=>{if(a.trim())try{let b=new URL(a.trim());if(!["http:","https:"].includes(b.protocol))return"Only HTTP and HTTPS URLs are allowed";return}catch{return"Please enter a valid URL"}}},n={key:"private_key",label:"Private Key",type:"textarea",component:"textarea",placeholder:"-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----",helpText:"Your app's private key for authentication",required:!0},o={title:"OAuth Credentials",description:"You'll need to create an OAuth application in the provider's developer console to get these credentials.",fields:[i,j,k]},p={OAUTH1:{authMode:"OAUTH1",sections:[o]},OAUTH2:{authMode:"OAUTH2",sections:[o]},TBA:{authMode:"TBA",sections:[{title:"Authentication Credentials",description:"You'll need to create an application in the provider's developer console to get these credentials.",fields:[i,j,k]}]},APP:{authMode:"APP",sections:[{title:"App Credentials",description:"You'll need to create an app in the provider's developer portal to get these credentials.",fields:[l,m,n]}]},CUSTOM:{authMode:"CUSTOM",sections:[{title:"OAuth Credentials",fields:[i,j]},{title:"App Credentials",fields:[l,m,n]}]}};var q=a.i(322471),r=a.i(937214),s=a.i(932345),t=a.i(595148),u=a.i(178880),v=a.i(872166),w=a.i(888170),x=a.i(888890),y=a.i(637771),z=a.i(167418);function A({provider:a,backLink:c,onSubmit:d,loading:f=!1,className:g}){let h=p[a.auth_mode]||null,i=h?.sections.flatMap(a=>a.fields)||[],j=h?function(a){let b=a.sections.flatMap(a=>a.fields),c={};for(let a of b){let b=t.string();a.validate&&(b=b.refine(b=>{let c=String(b||"");return!c&&!a.required||!(a.validate?a.validate(c):void 0)},{message:`Invalid ${a.label.toLowerCase()}`})),b=a.required?t.string().min(1,`${a.label} is required`):t.string().optional().or(t.literal("")),c[a.key]=b}return t.object(c)}(h):t.object({_placeholder:t.string().optional()}),k=Object.fromEntries(i.map(a=>[a.key,""])),l=(0,s.useForm)({resolver:h?(0,q.zodResolver)(j):void 0,defaultValues:k});if(!h)return(0,b.jsxs)("div",{className:(0,z.cn)("flex items-center gap-4 h-full",g),children:[(0,b.jsx)(x.Button,{variant:"outline",asChild:!0,children:(0,b.jsxs)(e.default,{href:c,children:[(0,b.jsx)(r.ArrowLeft,{})," Back"]})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-bold",children:"Configuration Not Available"}),(0,b.jsxs)("p",{className:"text-muted-foreground",children:["No configuration form is available for ",a.auth_mode," authentication mode."]})]})]});let m=a=>{let c="private_key"===a.key,d=a.label;return"textarea"===a.component?(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(v.GenericTextarea,{control:l.control,name:a.key,label:d,isRequired:a.required,placeholder:a.placeholder,className:c?"font-mono text-sm min-h-[120px]":"min-h-[80px]"}),a.helpText&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:a.helpText})]},a.key):(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(u.GenericInput,{control:l.control,name:a.key,label:d,isRequired:a.required,type:a.type,placeholder:a.placeholder,disabled:f}),a.helpText&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:a.helpText})]},a.key)};return(0,b.jsxs)("div",{className:(0,z.cn)("space-y-6",g),children:[(0,b.jsx)("div",{className:"flex items-center gap-4",children:(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(w.ProviderIcon,{provider:a.name,size:24}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("h1",{className:"text-lg font-medium",children:["Setup ",a.display_name||a.name]}),(0,b.jsx)("p",{className:"text-muted-foreground",children:"Complete the required fields to set up this credential."})]})]})}),(0,b.jsx)(y.Form,{...l,children:(0,b.jsxs)("form",{onSubmit:l.handleSubmit(a=>{let b={};for(let[c,d]of Object.entries(a)){let a=d?.toString().trim();a&&(b[c]=a)}d(b)}),className:"space-y-8",children:[h.sections.map((a,c)=>(0,b.jsxs)("div",{className:"space-y-8",children:[a.title&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-lg font-medium",children:a.title}),a.description&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground mt-1",children:a.description})]}),a.fields.map(m)]},c)),(0,b.jsxs)("div",{className:"flex gap-3",children:[(0,b.jsx)(x.Button,{type:"submit",disabled:f,children:f?"Creating Credential...":"Create Credential"}),(0,b.jsx)(x.Button,{type:"button",variant:"outline",asChild:!0,disabled:f,children:(0,b.jsx)(e.default,{href:c,children:"Cancel"})})]})]})})]})}var B=a.i(21073),C=a.i(191455),D=a.i(118873),E=a.i(135478),F=a.i(642518);let G=(0,F.createServerReference)("7fe8754733f2b3d001aabcdd07867ea0324bde1c4b",F.callServer,void 0,F.findSourceMapURL,"fetchNangoProviders");var H=a.i(754798);class I extends Error{operation;cause;constructor(a,b,c){super(a),this.operation=b,this.cause=c,this.name="NangoError"}}var J=a.i(511300),K=a.i(765351);a.s(["default",0,function({params:a}){let i=(0,f.useRouter)(),{canEdit:j}=(0,C.useProjectPermissions)(),{providers:k,loading:l}=function(){let[a,b]=(0,g.useState)(null),[c,d]=(0,g.useState)(!0),[e,f]=(0,g.useState)(null);return(0,g.useEffect)(()=>{!async function(){try{d(!0),f(null);let a=await G();b(a)}catch(a){f(a instanceof Error?a.message:"Failed to load providers"),b([])}finally{d(!1)}}()},[]),{providers:a,loading:c,error:e}}(),[m,n]=(0,g.useState)(!1),[o,q]=(0,g.useState)(!1),{openNangoConnect:r}=(0,E.useNangoConnect)(),{user:s}=(0,D.useAuthSession)(),t=(0,B.useAuthClient)(),{providerId:u,tenantId:v,projectId:w}=(0,g.use)(a);(0,g.useEffect)(()=>{j||i.replace(`/${v}/projects/${w}/credentials`)},[j,i,v,w]);let y=k?.find(a=>encodeURIComponent(a.name)===u),z=(0,g.useCallback)(async a=>{if(y&&"connect"===a.type){if(!a.payload?.connectionId||!a.payload?.providerConfigKey){console.error("Missing required connection data:",a.payload),h.toast.error("Invalid connection data received");return}try{await (0,J.findOrCreateCredential)(v,w,{id:(0,K.generateId)(),name:y.name,type:c.CredentialStoreType.nango,createdBy:s?.email??void 0,credentialStoreId:d.DEFAULT_NANGO_STORE_ID,retrievalParams:{connectionId:a.payload.connectionId,providerConfigKey:a.payload.providerConfigKey,provider:y.name,authMode:y.auth_mode}}),h.toast.success("Credential created successfully"),i.push(`/${v}/projects/${w}/credentials`)}catch(a){console.error("Failed to create credential record:",a),a instanceof Error&&a.message?.includes("database")?h.toast.error("Failed to save credential. Please check your connection and try again."):h.toast.error("Failed to save credential. Please try again.")}}},[y,v,w,i,s?.email]),F=(0,g.useCallback)(async a=>{if(!y)return;let{data:b}=await t.organization.getFullOrganization();n(!0),q(!0);try{let c=await (0,H.createProviderConnectSession)({providerName:y.name,uniqueKey:y.name,displayName:y.name,credentials:a&&y.auth_mode?{...a,type:y.auth_mode}:void 0,endUserId:s?.id,endUserEmail:s?.email,endUserDisplayName:s?.name,organizationId:b?.id,organizationDisplayName:b?.name});r({sessionToken:c,onEvent:z})}catch(a){console.error("Failed to create credential:",a),a instanceof I?"createConnectSession"===a.operation?h.toast.error("Failed to start authentication flow. Please try again."):h.toast.error("Service temporarily unavailable. Please try again later."):a instanceof Error&&a.message?.includes("NANGO_SECRET_KEY")?h.toast.error("Configuration error. Please contact support."):h.toast.error("Failed to create credential. Please try again.")}finally{n(!1)}},[y,r,z,s?.id,s?.email,s?.name,t]);(0,g.useEffect)(()=>{!y||y.auth_mode in p||m||o||F()},[y,m,o,F]);let L=`/${v}/projects/${w}/credentials/new/providers`;return l?(0,b.jsx)("div",{className:"flex items-center justify-center h-64",children:"Loading provider..."}):y?y.auth_mode in p?(0,b.jsx)(A,{className:"max-w-2xl mx-auto",provider:y,backLink:L,onSubmit:F,loading:m}):(0,b.jsx)("div",{className:"flex items-center justify-center h-64",children:(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center space-y-4",children:[(0,b.jsxs)("h2",{className:"text-xl font-semibold",children:["Connecting to ",y.name,"..."]}),(0,b.jsxs)("p",{className:"text-muted-foreground",children:["Please wait while we connect to ",y.name,"..."]}),(0,b.jsx)(x.Button,{asChild:!0,children:(0,b.jsx)(e.default,{href:L,children:"Back to providers"})})]})}):(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center h-64 space-y-4",children:[(0,b.jsx)("h2",{className:"text-xl font-semibold",children:"Provider not found."}),(0,b.jsxs)("p",{className:"text-muted-foreground",children:['The provider "',decodeURIComponent(u),'" was not found.']}),(0,b.jsx)(x.Button,{asChild:!0,children:(0,b.jsx)(e.default,{href:L,children:"Back to providers"})})]})}],244322)}];
2
2
 
3
- //# sourceMappingURL=agents-manage-ui_src_2e25ed0b._.js.map
3
+ //# sourceMappingURL=agents-manage-ui_src_a3dcb285._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[935121,a=>{"use strict";var b=a.i(731932),c=a.i(198351),d=a.i(992676),e=a.i(268166),f=a.i(135681);async function g(a,b){(0,e.validateTenantId)(a),(0,e.validateProjectId)(b);let c=await (0,d.makeManagementApiRequest)(`tenants/${a}/projects/${b}/data-components?limit=100`);return{...c,data:c.data.map(a=>({...a,props:a.props||{}}))}}async function h(a,b,c){(0,e.validateTenantId)(a),(0,e.validateProjectId)(b);let f=await (0,d.makeManagementApiRequest)(`tenants/${a}/projects/${b}/data-components/${c}`);return{...f.data,props:f.data.props||{}}}let i=(0,c.cache)(h);async function j(a,b,c){(0,e.validateTenantId)(a),(0,e.validateProjectId)(b);let f=await (0,d.makeManagementApiRequest)(`tenants/${a}/projects/${b}/data-components`,{method:"POST",body:JSON.stringify(c)});return{...f.data,props:f.data.props||{}}}async function k(a,b,c){(0,e.validateTenantId)(a),(0,e.validateProjectId)(b);let f=await (0,d.makeManagementApiRequest)(`tenants/${a}/projects/${b}/data-components/${c.id}`,{method:"PUT",body:JSON.stringify(c)});return{...f.data,props:f.data.props||{}}}async function l(a,b,c){(0,e.validateTenantId)(a),(0,e.validateProjectId)(b),await (0,d.makeManagementApiRequest)(`tenants/${a}/projects/${b}/data-components/${c}`,{method:"DELETE"})}(0,f.ensureServerEntryExports)([g,j,k,l,i]),(0,b.registerServerReference)(g,"60316920864c91847a385a6cd2658e22ce39bd1d1b",null),(0,b.registerServerReference)(j,"708f18b538721e0886c12327254ce8f861b8f6eb91",null),(0,b.registerServerReference)(k,"706b8cfb4a7e8a94781532f292314f86e518b77394",null),(0,b.registerServerReference)(l,"70d374fb784cd44e5789bac84a39799322118755b3",null),(0,b.registerServerReference)(i,"7f15bfdb66f9e0afcdc56803d8ba6475bf852a9840",null),a.s(["createDataComponent",()=>j,"deleteDataComponent",()=>l,"fetchDataComponent",0,i,"fetchDataComponents",()=>g,"updateDataComponent",()=>k])},862949,a=>{"use strict";a.s(["DataComponentForm",()=>b]);let b=(0,a.i(591628).registerClientReference)(function(){throw Error("Attempted to call DataComponentForm() from the server but DataComponentForm 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.")},"[project]/agents-manage-ui/src/components/data-components/form/data-component-form.tsx <module evaluation>","DataComponentForm")},719553,a=>{"use strict";a.s(["DataComponentForm",()=>b]);let b=(0,a.i(591628).registerClientReference)(function(){throw Error("Attempted to call DataComponentForm() from the server but DataComponentForm 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.")},"[project]/agents-manage-ui/src/components/data-components/form/data-component-form.tsx","DataComponentForm")},271741,a=>{"use strict";a.i(862949);var b=a.i(719553);a.n(b)},698271,a=>{"use strict";var b=a.i(53871),c=a.i(271741),d=a.i(115295),e=a.i(935121),f=a.i(307429),g=a.i(351071);async function h({params:a}){let{tenantId:h,projectId:i,dataComponentId:j}=await a;try{let[a,d]=await Promise.all([(0,e.fetchDataComponent)(h,i,j),(0,f.fetchProjectPermissions)(h,i)]),{name:g,description:k,props:l,render:m}=a;return(0,b.jsx)(c.DataComponentForm,{className:"max-w-2xl mx-auto",tenantId:h,projectId:i,id:j,readOnly:!d.canEdit,initialData:{id:j,name:g,description:k??"",props:l,render:m}})}catch(a){return(0,b.jsx)(d.default,{errorCode:(0,g.getErrorCode)(a),link:`/${h}/projects/${i}/components`,linkText:"Back to components",context:"component"})}}a.s(["default",()=>h,"dynamic",0,"force-dynamic"])}];
1
+ module.exports=[935121,a=>{"use strict";var b=a.i(731932),c=a.i(198351),d=a.i(992676),e=a.i(268166),f=a.i(135681);async function g(a,b){(0,e.validateTenantId)(a),(0,e.validateProjectId)(b);let c=await (0,d.makeManagementApiRequest)(`tenants/${a}/projects/${b}/data-components?limit=100`);return{...c,data:c.data.map(a=>({...a,props:a.props||{}}))}}async function h(a,b,c){(0,e.validateTenantId)(a),(0,e.validateProjectId)(b);let f=await (0,d.makeManagementApiRequest)(`tenants/${a}/projects/${b}/data-components/${c}`);return{...f.data,props:f.data.props||{}}}let i=(0,c.cache)(h);async function j(a,b,c){(0,e.validateTenantId)(a),(0,e.validateProjectId)(b);let f=await (0,d.makeManagementApiRequest)(`tenants/${a}/projects/${b}/data-components`,{method:"POST",body:JSON.stringify(c)});return{...f.data,props:f.data.props||{}}}async function k(a,b,c){(0,e.validateTenantId)(a),(0,e.validateProjectId)(b);let f=await (0,d.makeManagementApiRequest)(`tenants/${a}/projects/${b}/data-components/${c.id}`,{method:"PUT",body:JSON.stringify(c)});return{...f.data,props:f.data.props||{}}}async function l(a,b,c){(0,e.validateTenantId)(a),(0,e.validateProjectId)(b),await (0,d.makeManagementApiRequest)(`tenants/${a}/projects/${b}/data-components/${c}`,{method:"DELETE"})}(0,f.ensureServerEntryExports)([g,j,k,l,i]),(0,b.registerServerReference)(g,"6098e5dad869d607443e33b78327e435905a24b6d3",null),(0,b.registerServerReference)(j,"702fdb78c596dbd11c8f146bd6408a31bda3da2f56",null),(0,b.registerServerReference)(k,"70cc6ed988d7865e0dd570f5e03a0eed28bea90e57",null),(0,b.registerServerReference)(l,"706f94b24b57f0ac315080e56219e63f366420ec68",null),(0,b.registerServerReference)(i,"7fd12d2ec419f0b2ea464b943f554cc9a6215d584c",null),a.s(["createDataComponent",()=>j,"deleteDataComponent",()=>l,"fetchDataComponent",0,i,"fetchDataComponents",()=>g,"updateDataComponent",()=>k])},862949,a=>{"use strict";a.s(["DataComponentForm",()=>b]);let b=(0,a.i(591628).registerClientReference)(function(){throw Error("Attempted to call DataComponentForm() from the server but DataComponentForm 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.")},"[project]/agents-manage-ui/src/components/data-components/form/data-component-form.tsx <module evaluation>","DataComponentForm")},719553,a=>{"use strict";a.s(["DataComponentForm",()=>b]);let b=(0,a.i(591628).registerClientReference)(function(){throw Error("Attempted to call DataComponentForm() from the server but DataComponentForm 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.")},"[project]/agents-manage-ui/src/components/data-components/form/data-component-form.tsx","DataComponentForm")},271741,a=>{"use strict";a.i(862949);var b=a.i(719553);a.n(b)},698271,a=>{"use strict";var b=a.i(53871),c=a.i(271741),d=a.i(115295),e=a.i(935121),f=a.i(307429),g=a.i(351071);async function h({params:a}){let{tenantId:h,projectId:i,dataComponentId:j}=await a;try{let[a,d]=await Promise.all([(0,e.fetchDataComponent)(h,i,j),(0,f.fetchProjectPermissions)(h,i)]),{name:g,description:k,props:l,render:m}=a;return(0,b.jsx)(c.DataComponentForm,{className:"max-w-2xl mx-auto",tenantId:h,projectId:i,id:j,readOnly:!d.canEdit,initialData:{id:j,name:g,description:k??"",props:l,render:m}})}catch(a){return(0,b.jsx)(d.default,{errorCode:(0,g.getErrorCode)(a),link:`/${h}/projects/${i}/components`,linkText:"Back to components",context:"component"})}}a.s(["default",()=>h,"dynamic",0,"force-dynamic"])}];
2
2
 
3
3
  //# sourceMappingURL=agents-manage-ui_src_a788ad0e._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[989199,a=>{"use strict";var b=a.i(554609),c=a.i(25148),d=a.i(918458);a.i(562366);var e=a.i(267043),f=a.i(683560),g=a.i(615379),h=a.i(769297),i=a.i(840576),j=a.i(441980),k=a.i(870664),l=a.i(888890),m=a.i(535567),n=a.i(475799),o=a.i(932912),p=a.i(21073),q=a.i(726464);let r=[{value:e.OrgRoles.ADMIN,label:"Admin",description:"Full access to manage organization settings and members"},{value:e.OrgRoles.MEMBER,label:"Member",description:"Must be added to projects individually with a project role"}],s=({value:a,onChange:c,disabled:d=!1,triggerClassName:e})=>{let g=r.find(b=>b.value===a)?.label||a;return(0,b.jsxs)(q.DropdownMenu,{children:[(0,b.jsx)(q.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsxs)(l.Button,{variant:"outline",size:"sm",className:`gap-1 normal-case text-xs justify-between ${e||""}`,disabled:d,children:[g,(0,b.jsx)(f.ChevronDown,{className:"size-3 shrink-0"})]})}),(0,b.jsx)(q.DropdownMenuContent,{align:"end",className:"w-[300px]",children:r.map(d=>(0,b.jsx)(q.DropdownMenuItem,{onClick:()=>c(d.value),className:d.value===a?"bg-muted":"",children:(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)("span",{children:d.label}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:d.description})]})},d.value))})]})};function t({open:a,onOpenChange:d,isOrgAdmin:f,onInvitationsSent:g}){let h=(0,k.useParams)().tenantId,q=(0,p.useAuthClient)(),[r,t]=(0,c.useState)(""),[u,v]=(0,c.useState)(e.OrgRoles.MEMBER),[w,x]=(0,c.useState)(!1),[y,z]=(0,c.useState)(null),[A,B]=(0,c.useState)([]),C=async a=>{if(a.preventDefault(),!r.trim())return void z("At least one email is required");if(!h)return void z("No organization selected");if(!f)return void z("You are not authorized to invite members");x(!0),z(null),B([]);let b=r.split(",").map(a=>a.trim()).filter(a=>a.length>0),c=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,d=b.filter(a=>!c.test(a));if(d.length>0){z(`Invalid email format: ${d.join(", ")}`),x(!1);return}let e=[];for(let a of b)try{let b=await q.organization.inviteMember({email:a,role:u,organizationId:h});if("error"in b&&b.error)e.push({email:a,status:"error",error:b.error.message||"Failed to add member"});else if("data"in b&&b.data&&"id"in b.data){let c=b.data.id,d=window.location.origin,f=`${d}/accept-invitation/${c}`;e.push({email:a,status:"success",link:f})}else e.push({email:a,status:"error",error:"Failed to add member"})}catch(b){e.push({email:a,status:"error",error:b instanceof Error?b.message:"Failed to add member"})}B(e),x(!1)},D=a=>{if(!w){let b=A.some(a=>"success"===a.status);t(""),v(e.OrgRoles.MEMBER),z(null),B([]),d(a),!a&&b&&g?.()}},E=A.length>0,F=A.filter(a=>"success"===a.status).length,G=A.filter(a=>"error"===a.status).length;return(0,b.jsx)(m.Dialog,{open:a,onOpenChange:D,children:(0,b.jsxs)(m.DialogContent,{className:"sm:max-w-[600px]",children:[(0,b.jsxs)(m.DialogHeader,{children:[(0,b.jsx)(m.DialogTitle,{className:"flex items-center gap-2",children:E?"Team Members Added":"Add Team Members"}),(0,b.jsx)(m.DialogDescription,{children:E?`${F} successful, ${G} failed`:"Enter one or more email addresses (comma-separated) to add members to your organization."})]}),E?(0,b.jsxs)("div",{className:"space-y-4 py-4",children:[(0,b.jsx)("div",{className:"space-y-3 max-h-[400px] overflow-y-auto",children:A.map((a,c)=>(0,b.jsx)("div",{className:`rounded-md border p-3 ${"success"===a.status?"border-green-200 bg-green-50 dark:border-green-900 dark:bg-green-950":"border-red-200 bg-red-50 dark:border-red-900 dark:bg-red-950"}`,children:(0,b.jsx)("div",{className:"flex items-start justify-between gap-2",children:(0,b.jsx)("div",{className:"flex-1 min-w-0",children:(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:["success"===a.status?(0,b.jsx)(j.Check,{className:"h-4 w-4 text-green-600 shrink-0"}):(0,b.jsx)(i.AlertCircle,{className:"h-4 w-4 text-red-600 shrink-0"}),(0,b.jsx)("span",{className:"font-medium text-sm truncate",children:a.email})]})})})},c))}),F>0&&(0,b.jsxs)("div",{className:"rounded-md bg-blue-500/10 p-3 text-sm text-blue-600 dark:text-blue-400",children:[(0,b.jsx)("p",{className:"font-medium mb-1",children:"Next Steps:"}),(0,b.jsxs)("ol",{className:"list-decimal list-inside space-y-1 text-xs",children:[(0,b.jsx)("li",{children:"They'll sign in with the email they were added with"}),(0,b.jsx)("li",{children:'They\'ll click "Accept Invitation" to join your organization'})]})]}),(0,b.jsx)(m.DialogFooter,{children:(0,b.jsx)(l.Button,{type:"button",onClick:()=>D(!1),children:"Done"})})]}):(0,b.jsxs)("form",{onSubmit:C,children:[(0,b.jsxs)("div",{className:"grid gap-4 py-4",children:[(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsx)(n.Label,{htmlFor:"emails",children:"Email addresses"}),(0,b.jsx)(o.Textarea,{id:"emails",value:r,onChange:a=>t(a.target.value),disabled:w,autoFocus:!0,required:!0,rows:3,placeholder:"user@example.com, another@example.com, ...",className:"resize-none"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Separate multiple email addresses with commas"})]}),(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsx)(n.Label,{children:"Role"}),(0,b.jsx)(s,{value:u,onChange:v,disabled:w,triggerClassName:"w-full h-auto py-2"})]}),y&&(0,b.jsx)("div",{className:"rounded-md bg-destructive/10 p-3 text-sm text-destructive",children:y})]}),(0,b.jsxs)(m.DialogFooter,{children:[(0,b.jsx)(l.Button,{type:"button",variant:"outline",onClick:()=>D(!1),disabled:w,children:"Cancel"}),(0,b.jsx)(l.Button,{type:"submit",disabled:w||!r.trim(),children:w?"Adding...":"Add Members"})]})]})]})})}var u=a.i(213923),v=a.i(699618),w=a.i(66753),x=a.i(799241),y=a.i(161315),z=a.i(760197),A=a.i(794418),B=a.i(642518);let C=(0,B.createServerReference)("409650fccb94918c7010fb9c74294158b9a97fd2b1",B.callServer,void 0,B.findSourceMapURL,"listUserProjectMemberships");var D=a.i(136862),E=a.i(129858);let F=(0,B.createServerReference)("7fe6fa0f6fe7990b1eb51ab138ae070dea0101be0e",B.callServer,void 0,B.findSourceMapURL,"fetchProjects");function G({open:a,onOpenChange:d,tenantId:f,userId:g,userName:i,mode:j,readOnly:k=!1,onComplete:o}){let[p,q]=(0,c.useState)([]),[r,s]=(0,c.useState)(!0),[t,v]=(0,c.useState)(!1),[w,B]=(0,c.useState)(new Map),[G,H]=(0,c.useState)(new Map);(0,c.useEffect)(()=>{if(!a)return;let b=!1;return(async()=>{s(!0);try{let[a,c]=await Promise.all([F(f),"manage"===j?C({tenantId:f,userId:g}):Promise.resolve({data:[]})]);if(b)return;let d=a.data||[],e=new Map,h=new Map;for(let a of c.data||[])e.set(a.projectId,{role:a.role,isNew:!1,originalRole:a.role}),h.set(a.projectId,a.role);q(d),B(e),H(h)}catch(a){console.error("Failed to fetch data:",a),h.toast.error("Failed to load data")}finally{b||s(!1)}})(),()=>{b=!0}},[a,f,g,j]);let I=a=>{a||(q([]),B(new Map),H(new Map),s(!0)),d(a)},J=()=>{for(let[,a]of w)if(a.isNew&&!a.removed||a.removed||a.originalRole&&a.role!==a.originalRole)return!0;return!1},K=async()=>{if(!J()&&"manage"===j)return void I(!1);v(!0);let a=[];for(let[b,c]of w)try{c.removed&&c.originalRole?await (0,D.removeProjectMember)({tenantId:f,projectId:b,userId:g,role:c.originalRole}):c.isNew&&!c.removed?await (0,A.addProjectMember)({tenantId:f,projectId:b,userId:g,role:c.role}):c.originalRole&&c.role!==c.originalRole&&!c.removed&&await (0,E.updateProjectMember)({tenantId:f,projectId:b,userId:g,role:c.role,previousRole:c.originalRole})}catch{a.push(b)}if(0===a.length){let a=[],b=0,c=0,d=0;for(let[,a]of w)a.isNew&&!a.removed?b++:a.removed?c++:a.originalRole&&a.role!==a.originalRole&&d++;b>0&&a.push(`${b} added`),c>0&&a.push(`${c} removed`),d>0&&a.push(`${d} updated`),h.toast.success("Project access updated",{description:a.join(", ")||"No changes made"})}else h.toast.error("Some updates failed",{description:`${a.length} project(s) could not be updated.`});v(!1),I(!1),o?.()},L=Array.from(w.values()).filter(a=>!a.removed&&(a.isNew||a.originalRole)).length,M=k?`View ${i}'s project access.`:"assign"===j?`${i} has been changed to Member. Select which projects they should have access to.`:`Manage ${i}'s project access.`;return(0,b.jsx)(m.Dialog,{open:a,onOpenChange:I,children:(0,b.jsxs)(m.DialogContent,{className:"sm:max-w-[500px]",children:[(0,b.jsxs)(m.DialogHeader,{children:[(0,b.jsx)(m.DialogTitle,{children:k?"Project Access":"assign"===j?"Assign to Projects":"Project Access"}),(0,b.jsx)(m.DialogDescription,{children:M})]}),(0,b.jsx)("div",{className:"py-4 space-y-3 max-h-[300px] overflow-y-auto",children:r?(0,b.jsx)(b.Fragment,{children:[1,2,3].map(a=>(0,b.jsx)("div",{className:"rounded-lg border p-3",children:(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(z.Skeleton,{className:"h-4 w-4 rounded"}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)(z.Skeleton,{className:"h-4 w-32"}),(0,b.jsx)(z.Skeleton,{className:"h-3 w-48 mt-1"})]})]})},a))}):0===p.length?(0,b.jsx)("div",{className:"flex items-center justify-center py-8 text-muted-foreground",children:"No access to any projects."}):p.map(a=>{let c=w.get(a.projectId),d=c&&!c.removed,f=c?.removed;return(0,b.jsx)("div",{className:`rounded-lg border p-3 transition-colors ${d?"border-primary bg-primary/5":f?"border-destructive/30 bg-destructive/5":"border-border"}`,children:(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(y.Checkbox,{id:`project-${a.projectId}`,checked:!!d,onCheckedChange:()=>{var b;let c,d,f;return b=a.projectId,d=(c=new Map(w)).get(b),f=G.has(b),void(d&&!d.removed?f?c.set(b,{...d,removed:!0}):c.delete(b):d?.removed?c.set(b,{role:d.originalRole||e.ProjectRoles.VIEWER,isNew:!1,originalRole:d.originalRole,removed:!1}):c.set(b,{role:e.ProjectRoles.VIEWER,isNew:!0}),B(c))},disabled:k}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)(n.Label,{htmlFor:`project-${a.projectId}`,className:`font-medium ${k?"cursor-default":"cursor-pointer"} ${f?"line-through text-muted-foreground":""}`,children:a.name}),a.description&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5 truncate",children:a.description})]}),d&&c?.role&&(k?(0,b.jsx)(u.Badge,{variant:"secondary",className:"text-muted-foreground normal-case text-xs",children:(0,x.getProjectRoleLabel)(c.role)}):(0,b.jsx)(x.ProjectRoleSelector,{value:c.role,onChange:b=>{var c;let d,e;return c=a.projectId,void((e=(d=new Map(w)).get(c))&&d.set(c,{...e,role:b}),B(d))}}))]})},a.projectId)})}),(0,b.jsx)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground border-t pt-4 min-h-[28px]",children:!r&&(L>0||!k&&J())&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{children:"Access:"}),(0,b.jsxs)(u.Badge,{variant:"secondary",children:[L," project",1!==L?"s":""]}),!k&&J()&&"manage"===j&&(0,b.jsx)(u.Badge,{variant:"outline",className:"text-amber-600",children:"Unsaved changes"})]})}),(0,b.jsx)(m.DialogFooter,{children:k?(0,b.jsx)(l.Button,{type:"button",variant:"outline",onClick:()=>I(!1),children:"Close"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(l.Button,{type:"button",variant:"outline",onClick:()=>{I(!1),"assign"===j&&o?.()},disabled:t,children:"assign"===j?"Skip":"Cancel"}),(0,b.jsx)(l.Button,{type:"button",onClick:K,disabled:t||r||"manage"===j&&!J(),children:t?"Saving...":"assign"===j?L>0?`Assign to ${L} Project${L>1?"s":""}`:"Done":"Save Changes"})]})})]})})}let H=[{value:e.OrgRoles.ADMIN,label:"Admin",description:"Full access to manage organization settings and members"},{value:e.OrgRoles.MEMBER,label:"Member",description:"Must be added to projects individually with a project role"}],I=a=>{if(!a)return"";if(a===e.OrgRoles.OWNER)return"Owner";let b=H.find(b=>b.value===a);return b?.label||a.charAt(0).toUpperCase()+a.slice(1)};function J({members:a,pendingInvitations:d=[],currentMember:i,organizationId:j,onMemberUpdated:k,isOrgAdmin:m}){let n=(0,p.useAuthClient)(),[o,r]=(0,c.useState)(!1),[s,x]=(0,c.useState)(null),{PUBLIC_GOOGLE_CLIENT_ID:y}=(0,w.useRuntimeConfig)(),[z,A]=(0,c.useState)(!1),[B,C]=(0,c.useState)("assign"),[D,E]=(0,c.useState)(null),F=(0,c.useMemo)(()=>[...a].sort((a,b)=>{let c=(a.user.name||a.user.email).toLowerCase(),d=(b.user.name||b.user.email).toLowerCase();return c.localeCompare(d)}),[a]),J=async(a,b,c)=>{if(!m||b.role===c)return;let d=(b.role===e.OrgRoles.ADMIN||b.role===e.OrgRoles.OWNER)&&c===e.OrgRoles.MEMBER;x(a);try{let{error:e}=await n.organization.updateMemberRole({memberId:a,role:c,organizationId:j});if(e)return void h.toast.error("Failed to update role",{description:e.message||"An error occurred while updating the role."});h.toast.success("Role updated",{description:`Member role has been changed to ${I(c)}.`}),d?(E({userId:b.user.id,userName:b.user.name||b.user.email}),C("assign"),A(!0)):k?.()}catch(a){h.toast.error("Failed to update role",{description:a instanceof Error?a.message:"An unexpected error occurred."})}finally{x(null)}};return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"rounded-lg border",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 py-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("h2",{className:"text-md font-medium text-gray-700 dark:text-white/70",children:"Members"}),(0,b.jsx)(u.Badge,{variant:"count",children:a.length})]}),y&&m&&(0,b.jsxs)(l.Button,{onClick:()=>r(!0),size:"sm",variant:"outline",children:[(0,b.jsx)(g.Plus,{}),"Add"]})]}),(0,b.jsxs)(v.Table,{children:[(0,b.jsx)(v.TableHeader,{children:(0,b.jsxs)(v.TableRow,{noHover:!0,children:[(0,b.jsx)(v.TableHead,{children:"Name"}),(0,b.jsx)(v.TableHead,{children:"Role"}),(0,b.jsx)(v.TableHead,{children:"Project Access"})]})}),(0,b.jsx)(v.TableBody,{children:0===a.length&&0===d.length?(0,b.jsx)(v.TableRow,{noHover:!0,children:(0,b.jsx)(v.TableCell,{colSpan:3,className:"text-center text-muted-foreground",children:"No members yet."})}):(0,b.jsxs)(b.Fragment,{children:[F.map(a=>{let{id:c,user:d,role:g}=a,h=i?.id===c,j=!!m&&!!i&&a.id!==i.id&&(i.role!==e.OrgRoles.ADMIN||a.role!==e.OrgRoles.OWNER),k=s===c;return(0,b.jsxs)(v.TableRow,{noHover:!0,children:[(0,b.jsx)(v.TableCell,{children:(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsxs)("span",{className:"font-medium text-foreground",children:[d.name||d.email,h&&(0,b.jsx)("span",{className:"ml-2 text-xs text-muted-foreground",children:"(you)"})]}),(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:d.email})]})}),(0,b.jsx)(v.TableCell,{children:j?(0,b.jsxs)(q.DropdownMenu,{children:[(0,b.jsx)(q.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsxs)(l.Button,{variant:"outline",size:"sm",className:"gap-1 normal-case text-xs h-7",disabled:k,children:[I(g),(0,b.jsx)(f.ChevronDown,{className:"size-3"})]})}),(0,b.jsx)(q.DropdownMenuContent,{align:"end",children:H.map(d=>(0,b.jsx)(q.DropdownMenuItem,{onClick:()=>J(c,a,d.value),className:g===d.value?"bg-muted":"",children:(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)("span",{children:d.label}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:d.description})]})},d.value))})]}):g&&(0,b.jsx)(u.Badge,{variant:"code",className:"h-7 px-3 text-xs inline-flex items-center",children:I(g)})}),(0,b.jsx)(v.TableCell,{children:g===e.OrgRoles.ADMIN||g===e.OrgRoles.OWNER?(0,b.jsx)(u.Badge,{variant:"code",className:"h-7 px-3 text-xs inline-flex items-center",children:"All projects"}):(0,b.jsx)(l.Button,{type:"button",variant:"outline",size:"sm",className:"text-xs h-7 normal-case",onClick:()=>{E({userId:a.user.id,userName:a.user.name||a.user.email}),C("manage"),A(!0)},children:m?"Manage":"View"})})]},c)}),d.map(a=>(0,b.jsxs)(v.TableRow,{noHover:!0,className:"bg-muted/30",children:[(0,b.jsx)(v.TableCell,{children:(0,b.jsx)("div",{className:"flex flex-col",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-medium text-muted-foreground",children:a.email}),(0,b.jsx)(u.Badge,{variant:"outline",className:"h-5 px-1.5 text-[10px] gap-1 text-amber-600 dark:text-amber-400 border-amber-300 dark:border-amber-600",children:"Pending"})]})})}),(0,b.jsx)(v.TableCell,{children:(0,b.jsx)(u.Badge,{variant:"code",className:"h-7 px-3 text-xs inline-flex items-center",children:I(a.role)})}),(0,b.jsx)(v.TableCell,{})]},a.id))]})})]})]}),(0,b.jsx)(t,{open:o,onOpenChange:r,isOrgAdmin:m,onInvitationsSent:k}),D&&(0,b.jsx)(G,{open:z,onOpenChange:A,tenantId:j,userId:D.userId,userName:D.userName,mode:B,readOnly:!m,onComplete:()=>{E(null),k?.()}})]})}var K=a.i(64075);a.i(549352);var L=a.i(579284);function M(){return(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)(z.Skeleton,{className:"h-25 w-full rounded-lg"}),(0,b.jsx)(z.Skeleton,{className:"h-64 w-full rounded-lg"})]})}function N({params:a}){let e=(0,p.useAuthClient)(),{tenantId:f}=(0,c.use)(a),[g,h]=(0,c.useState)(),[i,j]=(0,c.useState)(null),[k,l]=(0,c.useState)([]),[m,n]=(0,c.useState)(!0),[o,q]=(0,c.useState)(null),r=(0,c.useCallback)(async()=>{if(f)try{let[a,b,c]=await Promise.all([e.organization.getFullOrganization({query:{organizationId:f,membersLimit:100}}),e.organization.getActiveMember(),e.organization.listInvitations({query:{organizationId:f}})]);if(a.error)return void q(a.error.message||"Failed to fetch organization");if(a.data&&h(a.data),b.data&&j(b.data),c.data){let a=c.data.filter(a=>"pending"===a.status);l(a)}}catch(a){q(a instanceof Error?a.message:"Failed to fetch organization")}finally{n(!1)}},[f,e]);return((0,c.useEffect)(()=>{r()},[r]),m)?(0,b.jsx)(M,{}):o||!g?(0,b.jsx)(d.ErrorContent,{error:Error(o||"Failed to load organization"),context:"organization"}):(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{className:"flex items-center gap-6 rounded-lg border p-4",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-2 flex-1",children:[(0,b.jsx)("p",{className:"text-sm font-medium",children:"Organization name"}),(0,b.jsx)(K.CopyableSingleLineCode,{code:g.name})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-2 flex-1",children:[(0,b.jsx)("p",{className:"text-sm font-medium",children:"Organization id"}),(0,b.jsx)(K.CopyableSingleLineCode,{code:g.id})]})]}),(0,b.jsx)(J,{members:g?.members||[],pendingInvitations:k,currentMember:i,organizationId:f,onMemberUpdated:r,isOrgAdmin:i?.role===L.OrgRoles.OWNER||i?.role===L.OrgRoles.ADMIN})]})}a.s(["default",()=>N],989199)}];
1
+ module.exports=[989199,a=>{"use strict";var b=a.i(554609),c=a.i(25148),d=a.i(918458);a.i(562366);var e=a.i(267043),f=a.i(683560),g=a.i(615379),h=a.i(769297),i=a.i(840576),j=a.i(441980),k=a.i(870664),l=a.i(888890),m=a.i(535567),n=a.i(475799),o=a.i(932912),p=a.i(21073),q=a.i(726464);let r=[{value:e.OrgRoles.ADMIN,label:"Admin",description:"Full access to manage organization settings and members"},{value:e.OrgRoles.MEMBER,label:"Member",description:"Must be added to projects individually with a project role"}],s=({value:a,onChange:c,disabled:d=!1,triggerClassName:e})=>{let g=r.find(b=>b.value===a)?.label||a;return(0,b.jsxs)(q.DropdownMenu,{children:[(0,b.jsx)(q.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsxs)(l.Button,{variant:"outline",size:"sm",className:`gap-1 normal-case text-xs justify-between ${e||""}`,disabled:d,children:[g,(0,b.jsx)(f.ChevronDown,{className:"size-3 shrink-0"})]})}),(0,b.jsx)(q.DropdownMenuContent,{align:"end",className:"w-[300px]",children:r.map(d=>(0,b.jsx)(q.DropdownMenuItem,{onClick:()=>c(d.value),className:d.value===a?"bg-muted":"",children:(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)("span",{children:d.label}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:d.description})]})},d.value))})]})};function t({open:a,onOpenChange:d,isOrgAdmin:f,onInvitationsSent:g}){let h=(0,k.useParams)().tenantId,q=(0,p.useAuthClient)(),[r,t]=(0,c.useState)(""),[u,v]=(0,c.useState)(e.OrgRoles.MEMBER),[w,x]=(0,c.useState)(!1),[y,z]=(0,c.useState)(null),[A,B]=(0,c.useState)([]),C=async a=>{if(a.preventDefault(),!r.trim())return void z("At least one email is required");if(!h)return void z("No organization selected");if(!f)return void z("You are not authorized to invite members");x(!0),z(null),B([]);let b=r.split(",").map(a=>a.trim()).filter(a=>a.length>0),c=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,d=b.filter(a=>!c.test(a));if(d.length>0){z(`Invalid email format: ${d.join(", ")}`),x(!1);return}let e=[];for(let a of b)try{let b=await q.organization.inviteMember({email:a,role:u,organizationId:h});if("error"in b&&b.error)e.push({email:a,status:"error",error:b.error.message||"Failed to add member"});else if("data"in b&&b.data&&"id"in b.data){let c=b.data.id,d=window.location.origin,f=`${d}/accept-invitation/${c}`;e.push({email:a,status:"success",link:f})}else e.push({email:a,status:"error",error:"Failed to add member"})}catch(b){e.push({email:a,status:"error",error:b instanceof Error?b.message:"Failed to add member"})}B(e),x(!1)},D=a=>{if(!w){let b=A.some(a=>"success"===a.status);t(""),v(e.OrgRoles.MEMBER),z(null),B([]),d(a),!a&&b&&g?.()}},E=A.length>0,F=A.filter(a=>"success"===a.status).length,G=A.filter(a=>"error"===a.status).length;return(0,b.jsx)(m.Dialog,{open:a,onOpenChange:D,children:(0,b.jsxs)(m.DialogContent,{className:"sm:max-w-[600px]",children:[(0,b.jsxs)(m.DialogHeader,{children:[(0,b.jsx)(m.DialogTitle,{className:"flex items-center gap-2",children:E?"Team Members Added":"Add Team Members"}),(0,b.jsx)(m.DialogDescription,{children:E?`${F} successful, ${G} failed`:"Enter one or more email addresses (comma-separated) to add members to your organization."})]}),E?(0,b.jsxs)("div",{className:"space-y-4 py-4",children:[(0,b.jsx)("div",{className:"space-y-3 max-h-[400px] overflow-y-auto",children:A.map((a,c)=>(0,b.jsx)("div",{className:`rounded-md border p-3 ${"success"===a.status?"border-green-200 bg-green-50 dark:border-green-900 dark:bg-green-950":"border-red-200 bg-red-50 dark:border-red-900 dark:bg-red-950"}`,children:(0,b.jsx)("div",{className:"flex items-start justify-between gap-2",children:(0,b.jsx)("div",{className:"flex-1 min-w-0",children:(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:["success"===a.status?(0,b.jsx)(j.Check,{className:"h-4 w-4 text-green-600 shrink-0"}):(0,b.jsx)(i.AlertCircle,{className:"h-4 w-4 text-red-600 shrink-0"}),(0,b.jsx)("span",{className:"font-medium text-sm truncate",children:a.email})]})})})},c))}),F>0&&(0,b.jsxs)("div",{className:"rounded-md bg-blue-500/10 p-3 text-sm text-blue-600 dark:text-blue-400",children:[(0,b.jsx)("p",{className:"font-medium mb-1",children:"Next Steps:"}),(0,b.jsxs)("ol",{className:"list-decimal list-inside space-y-1 text-xs",children:[(0,b.jsx)("li",{children:"They'll sign in with the email they were added with"}),(0,b.jsx)("li",{children:'They\'ll click "Accept Invitation" to join your organization'})]})]}),(0,b.jsx)(m.DialogFooter,{children:(0,b.jsx)(l.Button,{type:"button",onClick:()=>D(!1),children:"Done"})})]}):(0,b.jsxs)("form",{onSubmit:C,children:[(0,b.jsxs)("div",{className:"grid gap-4 py-4",children:[(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsx)(n.Label,{htmlFor:"emails",children:"Email addresses"}),(0,b.jsx)(o.Textarea,{id:"emails",value:r,onChange:a=>t(a.target.value),disabled:w,autoFocus:!0,required:!0,rows:3,placeholder:"user@example.com, another@example.com, ...",className:"resize-none"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Separate multiple email addresses with commas"})]}),(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsx)(n.Label,{children:"Role"}),(0,b.jsx)(s,{value:u,onChange:v,disabled:w,triggerClassName:"w-full h-auto py-2"})]}),y&&(0,b.jsx)("div",{className:"rounded-md bg-destructive/10 p-3 text-sm text-destructive",children:y})]}),(0,b.jsxs)(m.DialogFooter,{children:[(0,b.jsx)(l.Button,{type:"button",variant:"outline",onClick:()=>D(!1),disabled:w,children:"Cancel"}),(0,b.jsx)(l.Button,{type:"submit",disabled:w||!r.trim(),children:w?"Adding...":"Add Members"})]})]})]})})}var u=a.i(213923),v=a.i(699618),w=a.i(66753),x=a.i(799241),y=a.i(161315),z=a.i(760197),A=a.i(777448),B=a.i(642518);let C=(0,B.createServerReference)("40c1485a95cfdf445dcc041bbf7abb405f2e300874",B.callServer,void 0,B.findSourceMapURL,"listUserProjectMemberships");var D=a.i(699318),E=a.i(697574);let F=(0,B.createServerReference)("7f12c8b7119ec30e1f2039288c70223da9ac25c07a",B.callServer,void 0,B.findSourceMapURL,"fetchProjects");function G({open:a,onOpenChange:d,tenantId:f,userId:g,userName:i,mode:j,readOnly:k=!1,onComplete:o}){let[p,q]=(0,c.useState)([]),[r,s]=(0,c.useState)(!0),[t,v]=(0,c.useState)(!1),[w,B]=(0,c.useState)(new Map),[G,H]=(0,c.useState)(new Map);(0,c.useEffect)(()=>{if(!a)return;let b=!1;return(async()=>{s(!0);try{let[a,c]=await Promise.all([F(f),"manage"===j?C({tenantId:f,userId:g}):Promise.resolve({data:[]})]);if(b)return;let d=a.data||[],e=new Map,h=new Map;for(let a of c.data||[])e.set(a.projectId,{role:a.role,isNew:!1,originalRole:a.role}),h.set(a.projectId,a.role);q(d),B(e),H(h)}catch(a){console.error("Failed to fetch data:",a),h.toast.error("Failed to load data")}finally{b||s(!1)}})(),()=>{b=!0}},[a,f,g,j]);let I=a=>{a||(q([]),B(new Map),H(new Map),s(!0)),d(a)},J=()=>{for(let[,a]of w)if(a.isNew&&!a.removed||a.removed||a.originalRole&&a.role!==a.originalRole)return!0;return!1},K=async()=>{if(!J()&&"manage"===j)return void I(!1);v(!0);let a=[];for(let[b,c]of w)try{c.removed&&c.originalRole?await (0,D.removeProjectMember)({tenantId:f,projectId:b,userId:g,role:c.originalRole}):c.isNew&&!c.removed?await (0,A.addProjectMember)({tenantId:f,projectId:b,userId:g,role:c.role}):c.originalRole&&c.role!==c.originalRole&&!c.removed&&await (0,E.updateProjectMember)({tenantId:f,projectId:b,userId:g,role:c.role,previousRole:c.originalRole})}catch{a.push(b)}if(0===a.length){let a=[],b=0,c=0,d=0;for(let[,a]of w)a.isNew&&!a.removed?b++:a.removed?c++:a.originalRole&&a.role!==a.originalRole&&d++;b>0&&a.push(`${b} added`),c>0&&a.push(`${c} removed`),d>0&&a.push(`${d} updated`),h.toast.success("Project access updated",{description:a.join(", ")||"No changes made"})}else h.toast.error("Some updates failed",{description:`${a.length} project(s) could not be updated.`});v(!1),I(!1),o?.()},L=Array.from(w.values()).filter(a=>!a.removed&&(a.isNew||a.originalRole)).length,M=k?`View ${i}'s project access.`:"assign"===j?`${i} has been changed to Member. Select which projects they should have access to.`:`Manage ${i}'s project access.`;return(0,b.jsx)(m.Dialog,{open:a,onOpenChange:I,children:(0,b.jsxs)(m.DialogContent,{className:"sm:max-w-[500px]",children:[(0,b.jsxs)(m.DialogHeader,{children:[(0,b.jsx)(m.DialogTitle,{children:k?"Project Access":"assign"===j?"Assign to Projects":"Project Access"}),(0,b.jsx)(m.DialogDescription,{children:M})]}),(0,b.jsx)("div",{className:"py-4 space-y-3 max-h-[300px] overflow-y-auto",children:r?(0,b.jsx)(b.Fragment,{children:[1,2,3].map(a=>(0,b.jsx)("div",{className:"rounded-lg border p-3",children:(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(z.Skeleton,{className:"h-4 w-4 rounded"}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)(z.Skeleton,{className:"h-4 w-32"}),(0,b.jsx)(z.Skeleton,{className:"h-3 w-48 mt-1"})]})]})},a))}):0===p.length?(0,b.jsx)("div",{className:"flex items-center justify-center py-8 text-muted-foreground",children:"No access to any projects."}):p.map(a=>{let c=w.get(a.projectId),d=c&&!c.removed,f=c?.removed;return(0,b.jsx)("div",{className:`rounded-lg border p-3 transition-colors ${d?"border-primary bg-primary/5":f?"border-destructive/30 bg-destructive/5":"border-border"}`,children:(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(y.Checkbox,{id:`project-${a.projectId}`,checked:!!d,onCheckedChange:()=>{var b;let c,d,f;return b=a.projectId,d=(c=new Map(w)).get(b),f=G.has(b),void(d&&!d.removed?f?c.set(b,{...d,removed:!0}):c.delete(b):d?.removed?c.set(b,{role:d.originalRole||e.ProjectRoles.VIEWER,isNew:!1,originalRole:d.originalRole,removed:!1}):c.set(b,{role:e.ProjectRoles.VIEWER,isNew:!0}),B(c))},disabled:k}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)(n.Label,{htmlFor:`project-${a.projectId}`,className:`font-medium ${k?"cursor-default":"cursor-pointer"} ${f?"line-through text-muted-foreground":""}`,children:a.name}),a.description&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5 truncate",children:a.description})]}),d&&c?.role&&(k?(0,b.jsx)(u.Badge,{variant:"secondary",className:"text-muted-foreground normal-case text-xs",children:(0,x.getProjectRoleLabel)(c.role)}):(0,b.jsx)(x.ProjectRoleSelector,{value:c.role,onChange:b=>{var c;let d,e;return c=a.projectId,void((e=(d=new Map(w)).get(c))&&d.set(c,{...e,role:b}),B(d))}}))]})},a.projectId)})}),(0,b.jsx)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground border-t pt-4 min-h-[28px]",children:!r&&(L>0||!k&&J())&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{children:"Access:"}),(0,b.jsxs)(u.Badge,{variant:"secondary",children:[L," project",1!==L?"s":""]}),!k&&J()&&"manage"===j&&(0,b.jsx)(u.Badge,{variant:"outline",className:"text-amber-600",children:"Unsaved changes"})]})}),(0,b.jsx)(m.DialogFooter,{children:k?(0,b.jsx)(l.Button,{type:"button",variant:"outline",onClick:()=>I(!1),children:"Close"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(l.Button,{type:"button",variant:"outline",onClick:()=>{I(!1),"assign"===j&&o?.()},disabled:t,children:"assign"===j?"Skip":"Cancel"}),(0,b.jsx)(l.Button,{type:"button",onClick:K,disabled:t||r||"manage"===j&&!J(),children:t?"Saving...":"assign"===j?L>0?`Assign to ${L} Project${L>1?"s":""}`:"Done":"Save Changes"})]})})]})})}let H=[{value:e.OrgRoles.ADMIN,label:"Admin",description:"Full access to manage organization settings and members"},{value:e.OrgRoles.MEMBER,label:"Member",description:"Must be added to projects individually with a project role"}],I=a=>{if(!a)return"";if(a===e.OrgRoles.OWNER)return"Owner";let b=H.find(b=>b.value===a);return b?.label||a.charAt(0).toUpperCase()+a.slice(1)};function J({members:a,pendingInvitations:d=[],currentMember:i,organizationId:j,onMemberUpdated:k,isOrgAdmin:m}){let n=(0,p.useAuthClient)(),[o,r]=(0,c.useState)(!1),[s,x]=(0,c.useState)(null),{PUBLIC_GOOGLE_CLIENT_ID:y}=(0,w.useRuntimeConfig)(),[z,A]=(0,c.useState)(!1),[B,C]=(0,c.useState)("assign"),[D,E]=(0,c.useState)(null),F=(0,c.useMemo)(()=>[...a].sort((a,b)=>{let c=(a.user.name||a.user.email).toLowerCase(),d=(b.user.name||b.user.email).toLowerCase();return c.localeCompare(d)}),[a]),J=async(a,b,c)=>{if(!m||b.role===c)return;let d=(b.role===e.OrgRoles.ADMIN||b.role===e.OrgRoles.OWNER)&&c===e.OrgRoles.MEMBER;x(a);try{let{error:e}=await n.organization.updateMemberRole({memberId:a,role:c,organizationId:j});if(e)return void h.toast.error("Failed to update role",{description:e.message||"An error occurred while updating the role."});h.toast.success("Role updated",{description:`Member role has been changed to ${I(c)}.`}),d?(E({userId:b.user.id,userName:b.user.name||b.user.email}),C("assign"),A(!0)):k?.()}catch(a){h.toast.error("Failed to update role",{description:a instanceof Error?a.message:"An unexpected error occurred."})}finally{x(null)}};return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"rounded-lg border",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 py-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("h2",{className:"text-md font-medium text-gray-700 dark:text-white/70",children:"Members"}),(0,b.jsx)(u.Badge,{variant:"count",children:a.length})]}),y&&m&&(0,b.jsxs)(l.Button,{onClick:()=>r(!0),size:"sm",variant:"outline",children:[(0,b.jsx)(g.Plus,{}),"Add"]})]}),(0,b.jsxs)(v.Table,{children:[(0,b.jsx)(v.TableHeader,{children:(0,b.jsxs)(v.TableRow,{noHover:!0,children:[(0,b.jsx)(v.TableHead,{children:"Name"}),(0,b.jsx)(v.TableHead,{children:"Role"}),(0,b.jsx)(v.TableHead,{children:"Project Access"})]})}),(0,b.jsx)(v.TableBody,{children:0===a.length&&0===d.length?(0,b.jsx)(v.TableRow,{noHover:!0,children:(0,b.jsx)(v.TableCell,{colSpan:3,className:"text-center text-muted-foreground",children:"No members yet."})}):(0,b.jsxs)(b.Fragment,{children:[F.map(a=>{let{id:c,user:d,role:g}=a,h=i?.id===c,j=!!m&&!!i&&a.id!==i.id&&(i.role!==e.OrgRoles.ADMIN||a.role!==e.OrgRoles.OWNER),k=s===c;return(0,b.jsxs)(v.TableRow,{noHover:!0,children:[(0,b.jsx)(v.TableCell,{children:(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsxs)("span",{className:"font-medium text-foreground",children:[d.name||d.email,h&&(0,b.jsx)("span",{className:"ml-2 text-xs text-muted-foreground",children:"(you)"})]}),(0,b.jsx)("span",{className:"text-sm text-muted-foreground",children:d.email})]})}),(0,b.jsx)(v.TableCell,{children:j?(0,b.jsxs)(q.DropdownMenu,{children:[(0,b.jsx)(q.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsxs)(l.Button,{variant:"outline",size:"sm",className:"gap-1 normal-case text-xs h-7",disabled:k,children:[I(g),(0,b.jsx)(f.ChevronDown,{className:"size-3"})]})}),(0,b.jsx)(q.DropdownMenuContent,{align:"end",children:H.map(d=>(0,b.jsx)(q.DropdownMenuItem,{onClick:()=>J(c,a,d.value),className:g===d.value?"bg-muted":"",children:(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)("span",{children:d.label}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:d.description})]})},d.value))})]}):g&&(0,b.jsx)(u.Badge,{variant:"code",className:"h-7 px-3 text-xs inline-flex items-center",children:I(g)})}),(0,b.jsx)(v.TableCell,{children:g===e.OrgRoles.ADMIN||g===e.OrgRoles.OWNER?(0,b.jsx)(u.Badge,{variant:"code",className:"h-7 px-3 text-xs inline-flex items-center",children:"All projects"}):(0,b.jsx)(l.Button,{type:"button",variant:"outline",size:"sm",className:"text-xs h-7 normal-case",onClick:()=>{E({userId:a.user.id,userName:a.user.name||a.user.email}),C("manage"),A(!0)},children:m?"Manage":"View"})})]},c)}),d.map(a=>(0,b.jsxs)(v.TableRow,{noHover:!0,className:"bg-muted/30",children:[(0,b.jsx)(v.TableCell,{children:(0,b.jsx)("div",{className:"flex flex-col",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-medium text-muted-foreground",children:a.email}),(0,b.jsx)(u.Badge,{variant:"outline",className:"h-5 px-1.5 text-[10px] gap-1 text-amber-600 dark:text-amber-400 border-amber-300 dark:border-amber-600",children:"Pending"})]})})}),(0,b.jsx)(v.TableCell,{children:(0,b.jsx)(u.Badge,{variant:"code",className:"h-7 px-3 text-xs inline-flex items-center",children:I(a.role)})}),(0,b.jsx)(v.TableCell,{})]},a.id))]})})]})]}),(0,b.jsx)(t,{open:o,onOpenChange:r,isOrgAdmin:m,onInvitationsSent:k}),D&&(0,b.jsx)(G,{open:z,onOpenChange:A,tenantId:j,userId:D.userId,userName:D.userName,mode:B,readOnly:!m,onComplete:()=>{E(null),k?.()}})]})}var K=a.i(64075);a.i(549352);var L=a.i(579284);function M(){return(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)(z.Skeleton,{className:"h-25 w-full rounded-lg"}),(0,b.jsx)(z.Skeleton,{className:"h-64 w-full rounded-lg"})]})}function N({params:a}){let e=(0,p.useAuthClient)(),{tenantId:f}=(0,c.use)(a),[g,h]=(0,c.useState)(),[i,j]=(0,c.useState)(null),[k,l]=(0,c.useState)([]),[m,n]=(0,c.useState)(!0),[o,q]=(0,c.useState)(null),r=(0,c.useCallback)(async()=>{if(f)try{let[a,b,c]=await Promise.all([e.organization.getFullOrganization({query:{organizationId:f,membersLimit:100}}),e.organization.getActiveMember(),e.organization.listInvitations({query:{organizationId:f}})]);if(a.error)return void q(a.error.message||"Failed to fetch organization");if(a.data&&h(a.data),b.data&&j(b.data),c.data){let a=c.data.filter(a=>"pending"===a.status);l(a)}}catch(a){q(a instanceof Error?a.message:"Failed to fetch organization")}finally{n(!1)}},[f,e]);return((0,c.useEffect)(()=>{r()},[r]),m)?(0,b.jsx)(M,{}):o||!g?(0,b.jsx)(d.ErrorContent,{error:Error(o||"Failed to load organization"),context:"organization"}):(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{className:"flex items-center gap-6 rounded-lg border p-4",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-2 flex-1",children:[(0,b.jsx)("p",{className:"text-sm font-medium",children:"Organization name"}),(0,b.jsx)(K.CopyableSingleLineCode,{code:g.name})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-2 flex-1",children:[(0,b.jsx)("p",{className:"text-sm font-medium",children:"Organization id"}),(0,b.jsx)(K.CopyableSingleLineCode,{code:g.id})]})]}),(0,b.jsx)(J,{members:g?.members||[],pendingInvitations:k,currentMember:i,organizationId:f,onMemberUpdated:r,isOrgAdmin:i?.role===L.OrgRoles.OWNER||i?.role===L.OrgRoles.ADMIN})]})}a.s(["default",()=>N],989199)}];
2
2
 
3
3
  //# sourceMappingURL=agents-manage-ui_src_app_%5BtenantId%5D_settings_page_tsx_e3878235._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[257793,a=>{"use strict";var b=a.i(554609),c=a.i(937214),d=a.i(63255),e=a.i(55512),f=a.i(658160),g=a.i(438794),h=a.i(308194),i=a.i(816402),j=a.i(437499),k=a.i(25148),l=a.i(400558),m=a.i(888890),n=a.i(334622),o=a.i(475799),p=a.i(404598),q=a.i(760197);a.i(549352);var r=a.i(579284),s=a.i(875033),t=a.i(282187),u=a.i(886856);function v(a){return a>=1e6?`${(a/1e6).toFixed(2)}M`:a>=1e3?`${(a/1e3).toFixed(1)}K`:a.toLocaleString()}let w={"24h":{label:"Last 24 hours",hours:24},"7d":{label:"Last 7 days",hours:168},"15d":{label:"Last 15 days",hours:360},"30d":{label:"Last 30 days",hours:720}};function x({params:a}){let{tenantId:x}=(0,k.use)(a),y=`/${x}/stats`,{timeRange:z,customStartDate:A,customEndDate:B,setTimeRange:C,setCustomDateRange:D}=(0,s.useTracesQueryState)(),[E,F]=(0,k.useState)([]),[G,H]=(0,k.useState)([]),[I,J]=(0,k.useState)({byModel:[],byAgent:[],byProject:[],totals:{inputTokens:0,outputTokens:0,totalTokens:0}}),[K,L]=(0,k.useState)(!0),[M,N]=(0,k.useState)(null),[O,P]=(0,k.useState)([]),[Q,R]=(0,k.useState)(!0),[S,T]=(0,k.useState)("all");(0,k.useEffect)(()=>{(async()=>{try{R(!0);let a=await (0,t.fetchProjectsAction)(x);a.success&&a.data&&P(a.data)}catch(a){console.error("Failed to fetch projects:",a)}finally{R(!1)}})()},[x]);let{startTime:U,endTime:V}=(0,k.useMemo)(()=>{let a=Date.now();if(z===l.CUSTOM){if(A&&B){let[a,b,c]=A.split("-").map(Number),[d,e,f]=B.split("-").map(Number),g=new Date(a,(b||1)-1,c||1,0,0,0,0),h=Math.min(new Date(d,(e||1)-1,f||1,23,59,59,999).getTime(),Date.now()-1);return{startTime:g.getTime(),endTime:h}}return{startTime:a-60*w["30d"].hours*6e4,endTime:a}}return{startTime:a-60*(w[z]?.hours||720)*6e4,endTime:a}},[z,A,B]);(0,k.useEffect)(()=>{(async()=>{try{L(!0),N(null);let a=(0,u.getSigNozStatsClient)(x),b="all"===S?void 0:[S],[c,d,e]=await Promise.all([a.getStatsByProject(U,V,b),a.getAICallsByModel(U,V,void 0,"all"===S?void 0:S),a.getTokenUsageStats(U,V,"all"===S?void 0:S)]);F(c),H(d),J(e)}catch(a){console.error("Error fetching AI calls data:",a),N(a instanceof Error?a.message:"Failed to fetch AI calls data")}finally{L(!1)}})()},[S,U,V,x]);let W=(0,k.useMemo)(()=>{let a=new Map;for(let b of O)a.set(b.projectId,b.name);return a},[O]),X=E.reduce((a,b)=>a+b.totalAICalls,0);return M?(0,b.jsx)("div",{className:"space-y-4",children:(0,b.jsx)(n.Card,{className:"shadow-none bg-background",children:(0,b.jsx)(n.CardContent,{className:"flex items-center justify-center py-8",children:(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)(i.MessageSquare,{className:"h-8 w-8 text-red-500 mx-auto mb-2"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"Failed to load AI calls data"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/70 mt-1",children:M})]})})})}):(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsx)(m.Button,{variant:"ghost",size:"sm",asChild:!0,className:"gap-2",children:(0,b.jsxs)(j.default,{href:y,children:[(0,b.jsx)(c.ArrowLeft,{className:"h-4 w-4"}),"Back to Stats"]})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-bold text-foreground",children:"AI Calls Breakdown"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"Detailed view of AI calls across all projects"})]})]}),(0,b.jsxs)(n.Card,{className:"shadow-none bg-background",children:[(0,b.jsx)(n.CardHeader,{className:"pb-3",children:(0,b.jsx)(n.CardTitle,{className:"text-foreground text-base",children:"Filters"})}),(0,b.jsxs)(n.CardContent,{className:"pt-0",children:[(0,b.jsxs)("div",{className:"flex flex-col md:flex-row gap-2 md:gap-4 max-w-4xl",children:[(0,b.jsxs)("div",{className:"space-y-1 flex-1",children:[(0,b.jsx)(o.Label,{htmlFor:"project-filter",className:"text-sm",children:"Project"}),(0,b.jsxs)(p.Select,{value:S,onValueChange:T,children:[(0,b.jsx)(p.SelectTrigger,{id:"project-filter",children:(0,b.jsx)(p.SelectValue,{placeholder:"Select project"})}),(0,b.jsxs)(p.SelectContent,{children:[(0,b.jsx)(p.SelectItem,{value:"all",children:"All Projects"}),Q?(0,b.jsx)(p.SelectItem,{value:"loading",disabled:!0,children:"Loading..."}):O.map(a=>(0,b.jsx)(p.SelectItem,{value:a.projectId,children:a.name},a.projectId))]})]})]}),(0,b.jsxs)("div",{className:"space-y-1 flex-1",children:[(0,b.jsx)(o.Label,{htmlFor:"time-filter",className:"text-sm",children:"Time Range"}),(0,b.jsx)(l.DatePickerWithPresets,{label:"Time range",onRemove:()=>C("30d"),value:z===l.CUSTOM?{from:A,to:B}:z,onAdd:a=>{C(a),a!==l.CUSTOM&&D("","")},setCustomDateRange:(a,b)=>D(a,b),options:Object.entries(w).map(([a,b])=>({value:a,label:b.label})),showCalendarDirectly:!1})]})]}),!K&&(0,b.jsxs)("div",{className:"mt-3 space-y-1 text-sm text-muted-foreground",children:[(0,b.jsx)("div",{children:"all"===S?`Showing AI calls across ${E.length} projects`:`Showing AI calls for project: ${W.get(S)||S}`}),(0,b.jsxs)("div",{className:"flex items-center gap-1 text-xs",children:[(0,b.jsx)(e.Calendar,{className:"h-3 w-3"}),"Time range:"," ",z===l.CUSTOM?"Custom range":w[z]?.label||z,(0,b.jsxs)("span",{className:"text-muted-foreground/70",children:["(",new Date(U).toLocaleDateString()," -"," ",new Date(V).toLocaleDateString(),")"]})]})]})]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4",children:[(0,b.jsxs)(n.Card,{className:"shadow-none bg-background",children:[(0,b.jsxs)(n.CardHeader,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[(0,b.jsx)(n.CardTitle,{className:"text-sm font-medium text-foreground",children:"Total AI Calls"}),(0,b.jsx)(i.MessageSquare,{className:"h-4 w-4 text-muted-foreground"})]}),(0,b.jsxs)(n.CardContent,{children:[K?(0,b.jsx)(q.Skeleton,{className:"h-8 w-20 mb-2"}):(0,b.jsx)("div",{className:"text-2xl font-bold text-foreground",children:X.toLocaleString()}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"all"===S?`Across ${E.length} projects`:"For selected project"})]})]}),(0,b.jsxs)(n.Card,{className:"shadow-none bg-background",children:[(0,b.jsxs)(n.CardHeader,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[(0,b.jsx)(n.CardTitle,{className:"text-sm font-medium text-foreground",children:"Total Tokens"}),(0,b.jsx)(f.Coins,{className:"h-4 w-4 text-muted-foreground"})]}),(0,b.jsxs)(n.CardContent,{children:[K?(0,b.jsx)(q.Skeleton,{className:"h-8 w-20 mb-2"}):(0,b.jsx)("div",{className:"text-2xl font-bold text-foreground",children:v(I.totals.totalTokens)}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Input + Output tokens"})]})]}),(0,b.jsxs)(n.Card,{className:"shadow-none bg-background",children:[(0,b.jsxs)(n.CardHeader,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[(0,b.jsx)(n.CardTitle,{className:"text-sm font-medium text-foreground",children:"Input Tokens"}),(0,b.jsx)(f.Coins,{className:"h-4 w-4 text-blue-500"})]}),(0,b.jsxs)(n.CardContent,{children:[K?(0,b.jsx)(q.Skeleton,{className:"h-8 w-20 mb-2"}):(0,b.jsx)("div",{className:"text-2xl font-bold text-blue-600",children:v(I.totals.inputTokens)}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Prompt tokens used"})]})]}),(0,b.jsxs)(n.Card,{className:"shadow-none bg-background",children:[(0,b.jsxs)(n.CardHeader,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[(0,b.jsx)(n.CardTitle,{className:"text-sm font-medium text-foreground",children:"Output Tokens"}),(0,b.jsx)(f.Coins,{className:"h-4 w-4 text-green-500"})]}),(0,b.jsxs)(n.CardContent,{children:[K?(0,b.jsx)(q.Skeleton,{className:"h-8 w-20 mb-2"}):(0,b.jsx)("div",{className:"text-2xl font-bold text-green-600",children:v(I.totals.outputTokens)}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Completion tokens generated"})]})]})]}),(0,b.jsxs)(n.Card,{className:"shadow-none bg-background",children:[(0,b.jsx)(n.CardHeader,{children:(0,b.jsx)(n.CardTitle,{className:"text-foreground",children:"AI Calls by Project"})}),(0,b.jsx)(n.CardContent,{children:K?(0,b.jsx)("div",{className:"space-y-4",children:Array.from({length:5}).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-muted/30 rounded-lg",children:[(0,b.jsx)(q.Skeleton,{className:"h-4 w-32"}),(0,b.jsx)(q.Skeleton,{className:"h-4 w-16"})]},c))}):E.length>0?(0,b.jsx)("div",{className:"space-y-3 max-h-[600px] overflow-y-auto pr-2",children:[...E].sort((a,b)=>b.totalAICalls-a.totalAICalls).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-blue-50/30 dark:bg-blue-900/20 rounded-lg border border-border",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(h.FolderKanban,{className:"h-5 w-5 text-blue-600"}),(0,b.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-sm font-medium text-foreground",children:W.get(a.projectId)||a.projectId}),a.projectId!==r.UNKNOWN_VALUE&&W.get(a.projectId)&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground font-mono",children:a.projectId}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:[a.totalConversations.toLocaleString()," conversations"]})]})]}),(0,b.jsxs)("div",{className:"text-right",children:[(0,b.jsx)("div",{className:"text-lg font-bold text-blue-600",children:a.totalAICalls.toLocaleString()}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground",children:"AI calls"})]})]},c))}):(0,b.jsxs)("div",{className:"text-center py-8",children:[(0,b.jsx)(h.FolderKanban,{className:"h-8 w-8 text-muted-foreground mx-auto mb-2"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"No AI calls found."}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/70 mt-1",children:"No AI calls detected in the selected time range."})]})})]}),(0,b.jsxs)(n.Card,{className:"shadow-none bg-background",children:[(0,b.jsx)(n.CardHeader,{children:(0,b.jsx)(n.CardTitle,{className:"text-foreground",children:"AI Calls by Model"})}),(0,b.jsx)(n.CardContent,{children:K?(0,b.jsx)("div",{className:"space-y-4",children:Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-muted/30 rounded-lg",children:[(0,b.jsx)(q.Skeleton,{className:"h-4 w-48"}),(0,b.jsx)(q.Skeleton,{className:"h-4 w-16"})]},c))}):G.length>0?(0,b.jsx)("div",{className:"space-y-3 max-h-[400px] overflow-y-auto pr-2",children:G.map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-green-50/30 dark:bg-green-900/20 rounded-lg border border-border",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(g.Cpu,{className:"h-5 w-5 text-green-600"}),(0,b.jsx)("div",{className:"flex flex-col gap-1",children:(0,b.jsx)("span",{className:"text-sm font-medium text-foreground",children:a.modelId===r.UNKNOWN_VALUE?"Unknown Model":a.modelId})})]}),(0,b.jsxs)("div",{className:"text-right",children:[(0,b.jsx)("div",{className:"text-lg font-bold text-green-600",children:a.totalCalls.toLocaleString()}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground",children:"AI calls"})]})]},c))}):(0,b.jsxs)("div",{className:"text-center py-8",children:[(0,b.jsx)(g.Cpu,{className:"h-8 w-8 text-muted-foreground mx-auto mb-2"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"No model data found."}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/70 mt-1",children:"No model data detected in the selected time range."})]})})]}),(0,b.jsxs)(n.Card,{className:"shadow-none bg-background",children:[(0,b.jsx)(n.CardHeader,{children:(0,b.jsx)(n.CardTitle,{className:"text-foreground",children:"Token Usage by Model"})}),(0,b.jsx)(n.CardContent,{children:K?(0,b.jsx)("div",{className:"space-y-4",children:Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-muted/30 rounded-lg",children:[(0,b.jsx)(q.Skeleton,{className:"h-4 w-48"}),(0,b.jsx)(q.Skeleton,{className:"h-4 w-32"})]},c))}):I.byModel.length>0?(0,b.jsx)("div",{className:"space-y-3 max-h-[400px] overflow-y-auto pr-2",children:I.byModel.map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-purple-50/30 dark:bg-purple-900/20 rounded-lg border border-border",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(g.Cpu,{className:"h-5 w-5 text-purple-600"}),(0,b.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-sm font-medium text-foreground",children:a.modelId===r.UNKNOWN_VALUE?"Unknown Model":a.modelId}),(0,b.jsxs)("div",{className:"flex gap-3 text-xs text-muted-foreground",children:[(0,b.jsxs)("span",{children:["Input:"," ",(0,b.jsx)("span",{className:"text-blue-600 font-medium",children:v(a.inputTokens)})]}),(0,b.jsxs)("span",{children:["Output:"," ",(0,b.jsx)("span",{className:"text-green-600 font-medium",children:v(a.outputTokens)})]})]})]})]}),(0,b.jsxs)("div",{className:"text-right",children:[(0,b.jsx)("div",{className:"text-lg font-bold text-purple-600",children:v(a.totalTokens)}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground",children:"total tokens"})]})]},c))}):(0,b.jsxs)("div",{className:"text-center py-8",children:[(0,b.jsx)(g.Cpu,{className:"h-8 w-8 text-muted-foreground mx-auto mb-2"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"No token usage data found."}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/70 mt-1",children:"No token data detected in the selected time range."})]})})]}),(0,b.jsxs)(n.Card,{className:"shadow-none bg-background",children:[(0,b.jsx)(n.CardHeader,{children:(0,b.jsx)(n.CardTitle,{className:"text-foreground",children:"Token Usage by Agent"})}),(0,b.jsx)(n.CardContent,{children:K?(0,b.jsx)("div",{className:"space-y-4",children:Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-muted/30 rounded-lg",children:[(0,b.jsx)(q.Skeleton,{className:"h-4 w-48"}),(0,b.jsx)(q.Skeleton,{className:"h-4 w-32"})]},c))}):I.byAgent.length>0?(0,b.jsx)("div",{className:"space-y-3 max-h-[400px] overflow-y-auto pr-2",children:I.byAgent.map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-orange-50/30 dark:bg-orange-900/20 rounded-lg border border-border",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(d.Bot,{className:"h-5 w-5 text-orange-600"}),(0,b.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-sm font-medium text-foreground",children:a.agentId===r.UNKNOWN_VALUE?"Unknown Agent":a.agentId}),(0,b.jsxs)("div",{className:"flex gap-3 text-xs text-muted-foreground",children:[(0,b.jsxs)("span",{children:["Input:"," ",(0,b.jsx)("span",{className:"text-blue-600 font-medium",children:v(a.inputTokens)})]}),(0,b.jsxs)("span",{children:["Output:"," ",(0,b.jsx)("span",{className:"text-green-600 font-medium",children:v(a.outputTokens)})]})]})]})]}),(0,b.jsxs)("div",{className:"text-right",children:[(0,b.jsx)("div",{className:"text-lg font-bold text-orange-600",children:v(a.totalTokens)}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground",children:"total tokens"})]})]},c))}):(0,b.jsxs)("div",{className:"text-center py-8",children:[(0,b.jsx)(d.Bot,{className:"h-8 w-8 text-muted-foreground mx-auto mb-2"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"No token usage by agent found."}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/70 mt-1",children:"No agent token data detected in the selected time range."})]})})]}),(0,b.jsxs)(n.Card,{className:"shadow-none bg-background",children:[(0,b.jsx)(n.CardHeader,{children:(0,b.jsx)(n.CardTitle,{className:"text-foreground",children:"Token Usage by Project"})}),(0,b.jsx)(n.CardContent,{children:K?(0,b.jsx)("div",{className:"space-y-4",children:Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-muted/30 rounded-lg",children:[(0,b.jsx)(q.Skeleton,{className:"h-4 w-48"}),(0,b.jsx)(q.Skeleton,{className:"h-4 w-32"})]},c))}):I.byProject.length>0?(0,b.jsx)("div",{className:"space-y-3 max-h-[400px] overflow-y-auto pr-2",children:I.byProject.map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-cyan-50/30 dark:bg-cyan-900/20 rounded-lg border border-border",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(h.FolderKanban,{className:"h-5 w-5 text-cyan-600"}),(0,b.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-sm font-medium text-foreground",children:W.get(a.projectId)||a.projectId}),a.projectId!==r.UNKNOWN_VALUE&&W.get(a.projectId)&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground font-mono",children:a.projectId}),(0,b.jsxs)("div",{className:"flex gap-3 text-xs text-muted-foreground",children:[(0,b.jsxs)("span",{children:["Input:"," ",(0,b.jsx)("span",{className:"text-blue-600 font-medium",children:v(a.inputTokens)})]}),(0,b.jsxs)("span",{children:["Output:"," ",(0,b.jsx)("span",{className:"text-green-600 font-medium",children:v(a.outputTokens)})]})]})]})]}),(0,b.jsxs)("div",{className:"text-right",children:[(0,b.jsx)("div",{className:"text-lg font-bold text-cyan-600",children:v(a.totalTokens)}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground",children:"total tokens"})]})]},c))}):(0,b.jsxs)("div",{className:"text-center py-8",children:[(0,b.jsx)(h.FolderKanban,{className:"h-8 w-8 text-muted-foreground mx-auto mb-2"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"No token usage by project found."}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/70 mt-1",children:"No project token data detected in the selected time range."})]})})]})]})}a.s(["default",()=>x])}];
1
+ module.exports=[257793,a=>{"use strict";var b=a.i(554609),c=a.i(937214),d=a.i(63255),e=a.i(55512),f=a.i(658160),g=a.i(438794),h=a.i(308194),i=a.i(816402),j=a.i(437499),k=a.i(25148),l=a.i(400558),m=a.i(888890),n=a.i(334622),o=a.i(475799),p=a.i(404598),q=a.i(760197);a.i(549352);var r=a.i(579284),s=a.i(875033),t=a.i(403139),u=a.i(886856);function v(a){return a>=1e6?`${(a/1e6).toFixed(2)}M`:a>=1e3?`${(a/1e3).toFixed(1)}K`:a.toLocaleString()}let w={"24h":{label:"Last 24 hours",hours:24},"7d":{label:"Last 7 days",hours:168},"15d":{label:"Last 15 days",hours:360},"30d":{label:"Last 30 days",hours:720}};function x({params:a}){let{tenantId:x}=(0,k.use)(a),y=`/${x}/stats`,{timeRange:z,customStartDate:A,customEndDate:B,setTimeRange:C,setCustomDateRange:D}=(0,s.useTracesQueryState)(),[E,F]=(0,k.useState)([]),[G,H]=(0,k.useState)([]),[I,J]=(0,k.useState)({byModel:[],byAgent:[],byProject:[],totals:{inputTokens:0,outputTokens:0,totalTokens:0}}),[K,L]=(0,k.useState)(!0),[M,N]=(0,k.useState)(null),[O,P]=(0,k.useState)([]),[Q,R]=(0,k.useState)(!0),[S,T]=(0,k.useState)("all");(0,k.useEffect)(()=>{(async()=>{try{R(!0);let a=await (0,t.fetchProjectsAction)(x);a.success&&a.data&&P(a.data)}catch(a){console.error("Failed to fetch projects:",a)}finally{R(!1)}})()},[x]);let{startTime:U,endTime:V}=(0,k.useMemo)(()=>{let a=Date.now();if(z===l.CUSTOM){if(A&&B){let[a,b,c]=A.split("-").map(Number),[d,e,f]=B.split("-").map(Number),g=new Date(a,(b||1)-1,c||1,0,0,0,0),h=Math.min(new Date(d,(e||1)-1,f||1,23,59,59,999).getTime(),Date.now()-1);return{startTime:g.getTime(),endTime:h}}return{startTime:a-60*w["30d"].hours*6e4,endTime:a}}return{startTime:a-60*(w[z]?.hours||720)*6e4,endTime:a}},[z,A,B]);(0,k.useEffect)(()=>{(async()=>{try{L(!0),N(null);let a=(0,u.getSigNozStatsClient)(x),b="all"===S?void 0:[S],[c,d,e]=await Promise.all([a.getStatsByProject(U,V,b),a.getAICallsByModel(U,V,void 0,"all"===S?void 0:S),a.getTokenUsageStats(U,V,"all"===S?void 0:S)]);F(c),H(d),J(e)}catch(a){console.error("Error fetching AI calls data:",a),N(a instanceof Error?a.message:"Failed to fetch AI calls data")}finally{L(!1)}})()},[S,U,V,x]);let W=(0,k.useMemo)(()=>{let a=new Map;for(let b of O)a.set(b.projectId,b.name);return a},[O]),X=E.reduce((a,b)=>a+b.totalAICalls,0);return M?(0,b.jsx)("div",{className:"space-y-4",children:(0,b.jsx)(n.Card,{className:"shadow-none bg-background",children:(0,b.jsx)(n.CardContent,{className:"flex items-center justify-center py-8",children:(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)(i.MessageSquare,{className:"h-8 w-8 text-red-500 mx-auto mb-2"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"Failed to load AI calls data"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/70 mt-1",children:M})]})})})}):(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsx)(m.Button,{variant:"ghost",size:"sm",asChild:!0,className:"gap-2",children:(0,b.jsxs)(j.default,{href:y,children:[(0,b.jsx)(c.ArrowLeft,{className:"h-4 w-4"}),"Back to Stats"]})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-bold text-foreground",children:"AI Calls Breakdown"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"Detailed view of AI calls across all projects"})]})]}),(0,b.jsxs)(n.Card,{className:"shadow-none bg-background",children:[(0,b.jsx)(n.CardHeader,{className:"pb-3",children:(0,b.jsx)(n.CardTitle,{className:"text-foreground text-base",children:"Filters"})}),(0,b.jsxs)(n.CardContent,{className:"pt-0",children:[(0,b.jsxs)("div",{className:"flex flex-col md:flex-row gap-2 md:gap-4 max-w-4xl",children:[(0,b.jsxs)("div",{className:"space-y-1 flex-1",children:[(0,b.jsx)(o.Label,{htmlFor:"project-filter",className:"text-sm",children:"Project"}),(0,b.jsxs)(p.Select,{value:S,onValueChange:T,children:[(0,b.jsx)(p.SelectTrigger,{id:"project-filter",children:(0,b.jsx)(p.SelectValue,{placeholder:"Select project"})}),(0,b.jsxs)(p.SelectContent,{children:[(0,b.jsx)(p.SelectItem,{value:"all",children:"All Projects"}),Q?(0,b.jsx)(p.SelectItem,{value:"loading",disabled:!0,children:"Loading..."}):O.map(a=>(0,b.jsx)(p.SelectItem,{value:a.projectId,children:a.name},a.projectId))]})]})]}),(0,b.jsxs)("div",{className:"space-y-1 flex-1",children:[(0,b.jsx)(o.Label,{htmlFor:"time-filter",className:"text-sm",children:"Time Range"}),(0,b.jsx)(l.DatePickerWithPresets,{label:"Time range",onRemove:()=>C("30d"),value:z===l.CUSTOM?{from:A,to:B}:z,onAdd:a=>{C(a),a!==l.CUSTOM&&D("","")},setCustomDateRange:(a,b)=>D(a,b),options:Object.entries(w).map(([a,b])=>({value:a,label:b.label})),showCalendarDirectly:!1})]})]}),!K&&(0,b.jsxs)("div",{className:"mt-3 space-y-1 text-sm text-muted-foreground",children:[(0,b.jsx)("div",{children:"all"===S?`Showing AI calls across ${E.length} projects`:`Showing AI calls for project: ${W.get(S)||S}`}),(0,b.jsxs)("div",{className:"flex items-center gap-1 text-xs",children:[(0,b.jsx)(e.Calendar,{className:"h-3 w-3"}),"Time range:"," ",z===l.CUSTOM?"Custom range":w[z]?.label||z,(0,b.jsxs)("span",{className:"text-muted-foreground/70",children:["(",new Date(U).toLocaleDateString()," -"," ",new Date(V).toLocaleDateString(),")"]})]})]})]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4",children:[(0,b.jsxs)(n.Card,{className:"shadow-none bg-background",children:[(0,b.jsxs)(n.CardHeader,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[(0,b.jsx)(n.CardTitle,{className:"text-sm font-medium text-foreground",children:"Total AI Calls"}),(0,b.jsx)(i.MessageSquare,{className:"h-4 w-4 text-muted-foreground"})]}),(0,b.jsxs)(n.CardContent,{children:[K?(0,b.jsx)(q.Skeleton,{className:"h-8 w-20 mb-2"}):(0,b.jsx)("div",{className:"text-2xl font-bold text-foreground",children:X.toLocaleString()}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"all"===S?`Across ${E.length} projects`:"For selected project"})]})]}),(0,b.jsxs)(n.Card,{className:"shadow-none bg-background",children:[(0,b.jsxs)(n.CardHeader,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[(0,b.jsx)(n.CardTitle,{className:"text-sm font-medium text-foreground",children:"Total Tokens"}),(0,b.jsx)(f.Coins,{className:"h-4 w-4 text-muted-foreground"})]}),(0,b.jsxs)(n.CardContent,{children:[K?(0,b.jsx)(q.Skeleton,{className:"h-8 w-20 mb-2"}):(0,b.jsx)("div",{className:"text-2xl font-bold text-foreground",children:v(I.totals.totalTokens)}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Input + Output tokens"})]})]}),(0,b.jsxs)(n.Card,{className:"shadow-none bg-background",children:[(0,b.jsxs)(n.CardHeader,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[(0,b.jsx)(n.CardTitle,{className:"text-sm font-medium text-foreground",children:"Input Tokens"}),(0,b.jsx)(f.Coins,{className:"h-4 w-4 text-blue-500"})]}),(0,b.jsxs)(n.CardContent,{children:[K?(0,b.jsx)(q.Skeleton,{className:"h-8 w-20 mb-2"}):(0,b.jsx)("div",{className:"text-2xl font-bold text-blue-600",children:v(I.totals.inputTokens)}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Prompt tokens used"})]})]}),(0,b.jsxs)(n.Card,{className:"shadow-none bg-background",children:[(0,b.jsxs)(n.CardHeader,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[(0,b.jsx)(n.CardTitle,{className:"text-sm font-medium text-foreground",children:"Output Tokens"}),(0,b.jsx)(f.Coins,{className:"h-4 w-4 text-green-500"})]}),(0,b.jsxs)(n.CardContent,{children:[K?(0,b.jsx)(q.Skeleton,{className:"h-8 w-20 mb-2"}):(0,b.jsx)("div",{className:"text-2xl font-bold text-green-600",children:v(I.totals.outputTokens)}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Completion tokens generated"})]})]})]}),(0,b.jsxs)(n.Card,{className:"shadow-none bg-background",children:[(0,b.jsx)(n.CardHeader,{children:(0,b.jsx)(n.CardTitle,{className:"text-foreground",children:"AI Calls by Project"})}),(0,b.jsx)(n.CardContent,{children:K?(0,b.jsx)("div",{className:"space-y-4",children:Array.from({length:5}).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-muted/30 rounded-lg",children:[(0,b.jsx)(q.Skeleton,{className:"h-4 w-32"}),(0,b.jsx)(q.Skeleton,{className:"h-4 w-16"})]},c))}):E.length>0?(0,b.jsx)("div",{className:"space-y-3 max-h-[600px] overflow-y-auto pr-2",children:[...E].sort((a,b)=>b.totalAICalls-a.totalAICalls).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-blue-50/30 dark:bg-blue-900/20 rounded-lg border border-border",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(h.FolderKanban,{className:"h-5 w-5 text-blue-600"}),(0,b.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-sm font-medium text-foreground",children:W.get(a.projectId)||a.projectId}),a.projectId!==r.UNKNOWN_VALUE&&W.get(a.projectId)&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground font-mono",children:a.projectId}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:[a.totalConversations.toLocaleString()," conversations"]})]})]}),(0,b.jsxs)("div",{className:"text-right",children:[(0,b.jsx)("div",{className:"text-lg font-bold text-blue-600",children:a.totalAICalls.toLocaleString()}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground",children:"AI calls"})]})]},c))}):(0,b.jsxs)("div",{className:"text-center py-8",children:[(0,b.jsx)(h.FolderKanban,{className:"h-8 w-8 text-muted-foreground mx-auto mb-2"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"No AI calls found."}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/70 mt-1",children:"No AI calls detected in the selected time range."})]})})]}),(0,b.jsxs)(n.Card,{className:"shadow-none bg-background",children:[(0,b.jsx)(n.CardHeader,{children:(0,b.jsx)(n.CardTitle,{className:"text-foreground",children:"AI Calls by Model"})}),(0,b.jsx)(n.CardContent,{children:K?(0,b.jsx)("div",{className:"space-y-4",children:Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-muted/30 rounded-lg",children:[(0,b.jsx)(q.Skeleton,{className:"h-4 w-48"}),(0,b.jsx)(q.Skeleton,{className:"h-4 w-16"})]},c))}):G.length>0?(0,b.jsx)("div",{className:"space-y-3 max-h-[400px] overflow-y-auto pr-2",children:G.map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-green-50/30 dark:bg-green-900/20 rounded-lg border border-border",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(g.Cpu,{className:"h-5 w-5 text-green-600"}),(0,b.jsx)("div",{className:"flex flex-col gap-1",children:(0,b.jsx)("span",{className:"text-sm font-medium text-foreground",children:a.modelId===r.UNKNOWN_VALUE?"Unknown Model":a.modelId})})]}),(0,b.jsxs)("div",{className:"text-right",children:[(0,b.jsx)("div",{className:"text-lg font-bold text-green-600",children:a.totalCalls.toLocaleString()}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground",children:"AI calls"})]})]},c))}):(0,b.jsxs)("div",{className:"text-center py-8",children:[(0,b.jsx)(g.Cpu,{className:"h-8 w-8 text-muted-foreground mx-auto mb-2"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"No model data found."}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/70 mt-1",children:"No model data detected in the selected time range."})]})})]}),(0,b.jsxs)(n.Card,{className:"shadow-none bg-background",children:[(0,b.jsx)(n.CardHeader,{children:(0,b.jsx)(n.CardTitle,{className:"text-foreground",children:"Token Usage by Model"})}),(0,b.jsx)(n.CardContent,{children:K?(0,b.jsx)("div",{className:"space-y-4",children:Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-muted/30 rounded-lg",children:[(0,b.jsx)(q.Skeleton,{className:"h-4 w-48"}),(0,b.jsx)(q.Skeleton,{className:"h-4 w-32"})]},c))}):I.byModel.length>0?(0,b.jsx)("div",{className:"space-y-3 max-h-[400px] overflow-y-auto pr-2",children:I.byModel.map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-purple-50/30 dark:bg-purple-900/20 rounded-lg border border-border",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(g.Cpu,{className:"h-5 w-5 text-purple-600"}),(0,b.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-sm font-medium text-foreground",children:a.modelId===r.UNKNOWN_VALUE?"Unknown Model":a.modelId}),(0,b.jsxs)("div",{className:"flex gap-3 text-xs text-muted-foreground",children:[(0,b.jsxs)("span",{children:["Input:"," ",(0,b.jsx)("span",{className:"text-blue-600 font-medium",children:v(a.inputTokens)})]}),(0,b.jsxs)("span",{children:["Output:"," ",(0,b.jsx)("span",{className:"text-green-600 font-medium",children:v(a.outputTokens)})]})]})]})]}),(0,b.jsxs)("div",{className:"text-right",children:[(0,b.jsx)("div",{className:"text-lg font-bold text-purple-600",children:v(a.totalTokens)}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground",children:"total tokens"})]})]},c))}):(0,b.jsxs)("div",{className:"text-center py-8",children:[(0,b.jsx)(g.Cpu,{className:"h-8 w-8 text-muted-foreground mx-auto mb-2"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"No token usage data found."}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/70 mt-1",children:"No token data detected in the selected time range."})]})})]}),(0,b.jsxs)(n.Card,{className:"shadow-none bg-background",children:[(0,b.jsx)(n.CardHeader,{children:(0,b.jsx)(n.CardTitle,{className:"text-foreground",children:"Token Usage by Agent"})}),(0,b.jsx)(n.CardContent,{children:K?(0,b.jsx)("div",{className:"space-y-4",children:Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-muted/30 rounded-lg",children:[(0,b.jsx)(q.Skeleton,{className:"h-4 w-48"}),(0,b.jsx)(q.Skeleton,{className:"h-4 w-32"})]},c))}):I.byAgent.length>0?(0,b.jsx)("div",{className:"space-y-3 max-h-[400px] overflow-y-auto pr-2",children:I.byAgent.map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-orange-50/30 dark:bg-orange-900/20 rounded-lg border border-border",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(d.Bot,{className:"h-5 w-5 text-orange-600"}),(0,b.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-sm font-medium text-foreground",children:a.agentId===r.UNKNOWN_VALUE?"Unknown Agent":a.agentId}),(0,b.jsxs)("div",{className:"flex gap-3 text-xs text-muted-foreground",children:[(0,b.jsxs)("span",{children:["Input:"," ",(0,b.jsx)("span",{className:"text-blue-600 font-medium",children:v(a.inputTokens)})]}),(0,b.jsxs)("span",{children:["Output:"," ",(0,b.jsx)("span",{className:"text-green-600 font-medium",children:v(a.outputTokens)})]})]})]})]}),(0,b.jsxs)("div",{className:"text-right",children:[(0,b.jsx)("div",{className:"text-lg font-bold text-orange-600",children:v(a.totalTokens)}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground",children:"total tokens"})]})]},c))}):(0,b.jsxs)("div",{className:"text-center py-8",children:[(0,b.jsx)(d.Bot,{className:"h-8 w-8 text-muted-foreground mx-auto mb-2"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"No token usage by agent found."}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/70 mt-1",children:"No agent token data detected in the selected time range."})]})})]}),(0,b.jsxs)(n.Card,{className:"shadow-none bg-background",children:[(0,b.jsx)(n.CardHeader,{children:(0,b.jsx)(n.CardTitle,{className:"text-foreground",children:"Token Usage by Project"})}),(0,b.jsx)(n.CardContent,{children:K?(0,b.jsx)("div",{className:"space-y-4",children:Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-muted/30 rounded-lg",children:[(0,b.jsx)(q.Skeleton,{className:"h-4 w-48"}),(0,b.jsx)(q.Skeleton,{className:"h-4 w-32"})]},c))}):I.byProject.length>0?(0,b.jsx)("div",{className:"space-y-3 max-h-[400px] overflow-y-auto pr-2",children:I.byProject.map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-cyan-50/30 dark:bg-cyan-900/20 rounded-lg border border-border",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(h.FolderKanban,{className:"h-5 w-5 text-cyan-600"}),(0,b.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-sm font-medium text-foreground",children:W.get(a.projectId)||a.projectId}),a.projectId!==r.UNKNOWN_VALUE&&W.get(a.projectId)&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground font-mono",children:a.projectId}),(0,b.jsxs)("div",{className:"flex gap-3 text-xs text-muted-foreground",children:[(0,b.jsxs)("span",{children:["Input:"," ",(0,b.jsx)("span",{className:"text-blue-600 font-medium",children:v(a.inputTokens)})]}),(0,b.jsxs)("span",{children:["Output:"," ",(0,b.jsx)("span",{className:"text-green-600 font-medium",children:v(a.outputTokens)})]})]})]})]}),(0,b.jsxs)("div",{className:"text-right",children:[(0,b.jsx)("div",{className:"text-lg font-bold text-cyan-600",children:v(a.totalTokens)}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground",children:"total tokens"})]})]},c))}):(0,b.jsxs)("div",{className:"text-center py-8",children:[(0,b.jsx)(h.FolderKanban,{className:"h-8 w-8 text-muted-foreground mx-auto mb-2"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"No token usage by project found."}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/70 mt-1",children:"No project token data detected in the selected time range."})]})})]})]})}a.s(["default",()=>x])}];
2
2
 
3
3
  //# sourceMappingURL=agents-manage-ui_src_app_%5BtenantId%5D_stats_ai-calls_page_tsx_7d404d39._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[278958,a=>{"use strict";var b=a.i(554609),c=a.i(937214),d=a.i(55512),e=a.i(308194),f=a.i(544570),g=a.i(83143),h=a.i(437499),i=a.i(25148),j=a.i(400558),k=a.i(888890),l=a.i(334622),m=a.i(475799),n=a.i(404598),o=a.i(760197);a.i(549352);var p=a.i(579284),q=a.i(875033),r=a.i(282187),s=a.i(886856);let t={"24h":{label:"Last 24 hours",hours:24},"7d":{label:"Last 7 days",hours:168},"15d":{label:"Last 15 days",hours:360},"30d":{label:"Last 30 days",hours:720}};function u({params:a}){let u,v,{tenantId:w}=(0,i.use)(a),x=`/${w}/stats`,{timeRange:y,customStartDate:z,customEndDate:A,setTimeRange:B,setCustomDateRange:C}=(0,q.useTracesQueryState)(),[D,E]=(0,i.useState)([]),[F,G]=(0,i.useState)([]),[H,I]=(0,i.useState)(!0),[J,K]=(0,i.useState)(null),[L,M]=(0,i.useState)([]),[N,O]=(0,i.useState)(!0),[P,Q]=(0,i.useState)("all");(0,i.useEffect)(()=>{(async()=>{try{O(!0);let a=await (0,r.fetchProjectsAction)(w);a.success&&a.data&&M(a.data)}catch(a){console.error("Failed to fetch projects:",a)}finally{O(!1)}})()},[w]);let{startTime:R,endTime:S}=(0,i.useMemo)(()=>{let a=Date.now();if(y===j.CUSTOM){if(z&&A){let[a,b,c]=z.split("-").map(Number),[d,e,f]=A.split("-").map(Number),g=new Date(a,(b||1)-1,c||1,0,0,0,0),h=Math.min(new Date(d,(e||1)-1,f||1,23,59,59,999).getTime(),Date.now()-1);return{startTime:g.getTime(),endTime:h}}return{startTime:a-60*t["30d"].hours*6e4,endTime:a}}return{startTime:a-60*(t[y]?.hours||720)*6e4,endTime:a}},[y,z,A]);(0,i.useEffect)(()=>{(async()=>{try{I(!0),K(null);let a=(0,s.getSigNozStatsClient)(w),b="all"===P?void 0:[P],[c,d]=await Promise.all([a.getStatsByProject(R,S,b),a.getToolCallsByTool(R,S,void 0,"all"===P?void 0:P)]);E(c),G(d)}catch(a){console.error("Error fetching tool calls data:",a),K(a instanceof Error?a.message:"Failed to fetch tool calls data")}finally{I(!1)}})()},[P,R,S,w]);let T=(0,i.useMemo)(()=>{let a=new Map;for(let b of L)a.set(b.projectId,b.name);return a},[L]),U=D.reduce((a,b)=>a+b.totalMCPCalls,0),V=F.reduce((a,b)=>a+b.errorCount,0),W=F.reduce((a,b)=>a+b.totalCalls,0),X=W>0?(W-V)/W*100:100;return J?(0,b.jsx)("div",{className:"space-y-4",children:(0,b.jsx)(l.Card,{className:"shadow-none bg-background",children:(0,b.jsx)(l.CardContent,{className:"flex items-center justify-center py-8",children:(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)(g.Wrench,{className:"h-8 w-8 text-red-500 mx-auto mb-2"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"Failed to load tool calls data"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/70 mt-1",children:J})]})})})}):(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsx)(k.Button,{variant:"ghost",size:"sm",asChild:!0,className:"gap-2",children:(0,b.jsxs)(h.default,{href:x,children:[(0,b.jsx)(c.ArrowLeft,{className:"h-4 w-4"}),"Back to Stats"]})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-bold text-foreground",children:"Tool Calls Breakdown"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"Detailed view of MCP tool calls across all projects"})]})]}),(0,b.jsxs)(l.Card,{className:"shadow-none bg-background",children:[(0,b.jsx)(l.CardHeader,{className:"pb-3",children:(0,b.jsx)(l.CardTitle,{className:"text-foreground text-base",children:"Filters"})}),(0,b.jsxs)(l.CardContent,{className:"pt-0",children:[(0,b.jsxs)("div",{className:"flex flex-col md:flex-row gap-2 md:gap-4 max-w-4xl",children:[(0,b.jsxs)("div",{className:"space-y-1 flex-1",children:[(0,b.jsx)(m.Label,{htmlFor:"project-filter",className:"text-sm",children:"Project"}),(0,b.jsxs)(n.Select,{value:P,onValueChange:Q,children:[(0,b.jsx)(n.SelectTrigger,{id:"project-filter",children:(0,b.jsx)(n.SelectValue,{placeholder:"Select project"})}),(0,b.jsxs)(n.SelectContent,{children:[(0,b.jsx)(n.SelectItem,{value:"all",children:"All Projects"}),N?(0,b.jsx)(n.SelectItem,{value:"loading",disabled:!0,children:"Loading..."}):L.map(a=>(0,b.jsx)(n.SelectItem,{value:a.projectId,children:a.name},a.projectId))]})]})]}),(0,b.jsxs)("div",{className:"space-y-1 flex-1",children:[(0,b.jsx)(m.Label,{htmlFor:"time-filter",className:"text-sm",children:"Time Range"}),(0,b.jsx)(j.DatePickerWithPresets,{label:"Time range",onRemove:()=>B("30d"),value:y===j.CUSTOM?{from:z,to:A}:y,onAdd:a=>{B(a),a!==j.CUSTOM&&C("","")},setCustomDateRange:(a,b)=>C(a,b),options:Object.entries(t).map(([a,b])=>({value:a,label:b.label})),showCalendarDirectly:!1})]})]}),!H&&(0,b.jsxs)("div",{className:"mt-3 space-y-1 text-sm text-muted-foreground",children:[(0,b.jsx)("div",{children:"all"===P?`Showing MCP calls across ${D.length} projects`:`Showing MCP calls for project: ${T.get(P)||P}`}),(0,b.jsxs)("div",{className:"flex items-center gap-1 text-xs",children:[(0,b.jsx)(d.Calendar,{className:"h-3 w-3"}),"Time range:"," ",y===j.CUSTOM?"Custom range":t[y]?.label||y,(0,b.jsxs)("span",{className:"text-muted-foreground/70",children:["(",new Date(R).toLocaleDateString()," -"," ",new Date(S).toLocaleDateString(),")"]})]})]})]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)(l.Card,{className:"shadow-none bg-background",children:[(0,b.jsxs)(l.CardHeader,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[(0,b.jsx)(l.CardTitle,{className:"text-sm font-medium text-foreground",children:"Total MCP Calls"}),(0,b.jsx)(g.Wrench,{className:"h-4 w-4 text-muted-foreground"})]}),(0,b.jsxs)(l.CardContent,{children:[H?(0,b.jsx)(o.Skeleton,{className:"h-8 w-20 mb-2"}):(0,b.jsx)("div",{className:"text-2xl font-bold text-foreground",children:U.toLocaleString()}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"all"===P?`Tool calls across ${D.length} projects`:"Tool calls for selected project"})]})]}),(0,b.jsxs)(l.Card,{className:"shadow-none bg-background",children:[(0,b.jsxs)(l.CardHeader,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[(0,b.jsx)(l.CardTitle,{className:"text-sm font-medium text-foreground",children:"Success Rate"}),(0,b.jsx)(g.Wrench,{className:"h-4 w-4 text-muted-foreground"})]}),(0,b.jsxs)(l.CardContent,{children:[H?(0,b.jsx)(o.Skeleton,{className:"h-8 w-20 mb-2"}):(0,b.jsxs)("div",{className:"text-2xl font-bold text-green-600 dark:text-green-500",children:[X.toFixed(0),"%"]}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:[W-V,"/",W," calls successful"]})]})]})]}),(0,b.jsxs)(l.Card,{className:"shadow-none bg-background",children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardTitle,{className:"text-foreground",children:"MCP Calls by Project"})}),(0,b.jsx)(l.CardContent,{children:H?(0,b.jsx)("div",{className:"space-y-4",children:Array.from({length:5}).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-muted/30 rounded-lg",children:[(0,b.jsx)(o.Skeleton,{className:"h-4 w-32"}),(0,b.jsx)(o.Skeleton,{className:"h-4 w-16"})]},c))}):D.length>0?(0,b.jsx)("div",{className:"space-y-3 max-h-[600px] overflow-y-auto pr-2",children:[...D].sort((a,b)=>b.totalMCPCalls-a.totalMCPCalls).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-orange-50/30 dark:bg-orange-900/20 rounded-lg border border-border",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(e.FolderKanban,{className:"h-5 w-5 text-orange-600"}),(0,b.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-sm font-medium text-foreground",children:T.get(a.projectId)||a.projectId}),a.projectId!==p.UNKNOWN_VALUE&&T.get(a.projectId)&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground font-mono",children:a.projectId}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:[a.totalConversations.toLocaleString()," conversations"]})]})]}),(0,b.jsxs)("div",{className:"text-right",children:[(0,b.jsx)("div",{className:"text-lg font-bold text-orange-600",children:a.totalMCPCalls.toLocaleString()}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground",children:"MCP calls"})]})]},c))}):(0,b.jsxs)("div",{className:"text-center py-8",children:[(0,b.jsx)(e.FolderKanban,{className:"h-8 w-8 text-muted-foreground mx-auto mb-2"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"No MCP calls found."}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/70 mt-1",children:"No MCP calls detected in the selected time range."})]})})]}),(0,b.jsxs)(l.Card,{className:"shadow-none bg-background",children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardTitle,{className:"text-foreground",children:"Tool Calls by Server"})}),(0,b.jsx)(l.CardContent,{children:H?(0,b.jsx)("div",{className:"space-y-4",children:Array.from({length:3}).map((a,c)=>(0,b.jsx)("div",{className:"space-y-2",children:(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-muted/30 rounded-lg",children:[(0,b.jsx)(o.Skeleton,{className:"h-5 w-48"}),(0,b.jsx)(o.Skeleton,{className:"h-5 w-20"})]})},c))}):0===(v=Object.keys(u=F.reduce((a,b)=>{let c=b.serverName||p.UNKNOWN_VALUE;return a[c]||(a[c]=[]),a[c].push(b),a},{})).sort((a,b)=>a===p.UNKNOWN_VALUE?1:b===p.UNKNOWN_VALUE?-1:a.localeCompare(b))).length?(0,b.jsxs)("div",{className:"text-center py-8",children:[(0,b.jsx)(f.Server,{className:"h-8 w-8 text-muted-foreground mx-auto mb-2"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"No tool calls found."}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/70 mt-1",children:"No MCP tool calls detected in the selected time range."})]}):(0,b.jsx)("div",{className:"space-y-4 max-h-[600px] overflow-y-auto pr-2",children:v.map(a=>{let c=u[a],d=c.reduce((a,b)=>a+b.totalCalls,0),e=d-c.reduce((a,b)=>a+b.errorCount,0),h=d>0?e/d*100:0,i=c[0]?.serverId;return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:`flex items-center justify-between p-4 rounded-lg border ${0===h?"border-red-500 bg-red-50 dark:bg-red-950/30":"border-border bg-muted/40"}`,children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(f.Server,{className:`h-5 w-5 ${0===h?"text-red-600 dark:text-red-400":"text-muted-foreground"}`}),(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:`text-sm font-semibold ${0===h?"text-red-700 dark:text-red-300":"text-foreground"}`,children:a===p.UNKNOWN_VALUE?"Unknown Server":a}),i&&i!==p.UNKNOWN_VALUE&&(0,b.jsx)("p",{className:`text-xs font-mono ${0===h?"text-red-600/80 dark:text-red-400/80":"text-muted-foreground"}`,children:i}),(0,b.jsxs)("p",{className:`text-xs ${0===h?"text-red-600/80 dark:text-red-400/80":"text-muted-foreground"}`,children:[c.length," tool",1!==c.length?"s":""]})]})]}),(0,b.jsxs)("div",{className:"text-right",children:[(0,b.jsxs)("div",{className:`text-lg font-bold ${0===h?"text-red-700 dark:text-red-400":"text-foreground"}`,children:[h.toFixed(0),"%"]}),(0,b.jsxs)("div",{className:`text-xs ${0===h?"text-red-600/80 dark:text-red-400/80":"text-muted-foreground"}`,children:[e,"/",d," calls"]})]})]}),(0,b.jsx)("div",{className:"ml-6 space-y-2",children:c.sort((a,b)=>b.totalCalls-a.totalCalls).map((a,c)=>{let d=a.totalCalls-a.errorCount,e=a.totalCalls>0?d/a.totalCalls*100:0;return(0,b.jsxs)("div",{className:`flex items-center justify-between p-3 rounded-md border ${0===e?"border-red-500 bg-red-50 dark:bg-red-950/30":"border-border/50 bg-muted/20"}`,children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(g.Wrench,{className:`h-4 w-4 ${0===e?"text-red-600 dark:text-red-400":"text-muted-foreground"}`}),(0,b.jsx)("span",{className:`text-sm ${0===e?"text-red-700 dark:text-red-300":"text-foreground"}`,children:a.toolName===p.UNKNOWN_VALUE?"Unknown Tool":a.toolName})]}),(0,b.jsxs)("div",{className:"text-right",children:[(0,b.jsxs)("div",{className:`text-sm font-medium ${0===e?"text-red-700 dark:text-red-400":"text-foreground"}`,children:[e.toFixed(0),"%"]}),(0,b.jsxs)("div",{className:`text-xs ${0===e?"text-red-600/80 dark:text-red-400/80":"text-muted-foreground"}`,children:[d,"/",a.totalCalls," calls"]})]})]},c)})})]},a)})})})]})]})}a.s(["default",()=>u])}];
1
+ module.exports=[278958,a=>{"use strict";var b=a.i(554609),c=a.i(937214),d=a.i(55512),e=a.i(308194),f=a.i(544570),g=a.i(83143),h=a.i(437499),i=a.i(25148),j=a.i(400558),k=a.i(888890),l=a.i(334622),m=a.i(475799),n=a.i(404598),o=a.i(760197);a.i(549352);var p=a.i(579284),q=a.i(875033),r=a.i(403139),s=a.i(886856);let t={"24h":{label:"Last 24 hours",hours:24},"7d":{label:"Last 7 days",hours:168},"15d":{label:"Last 15 days",hours:360},"30d":{label:"Last 30 days",hours:720}};function u({params:a}){let u,v,{tenantId:w}=(0,i.use)(a),x=`/${w}/stats`,{timeRange:y,customStartDate:z,customEndDate:A,setTimeRange:B,setCustomDateRange:C}=(0,q.useTracesQueryState)(),[D,E]=(0,i.useState)([]),[F,G]=(0,i.useState)([]),[H,I]=(0,i.useState)(!0),[J,K]=(0,i.useState)(null),[L,M]=(0,i.useState)([]),[N,O]=(0,i.useState)(!0),[P,Q]=(0,i.useState)("all");(0,i.useEffect)(()=>{(async()=>{try{O(!0);let a=await (0,r.fetchProjectsAction)(w);a.success&&a.data&&M(a.data)}catch(a){console.error("Failed to fetch projects:",a)}finally{O(!1)}})()},[w]);let{startTime:R,endTime:S}=(0,i.useMemo)(()=>{let a=Date.now();if(y===j.CUSTOM){if(z&&A){let[a,b,c]=z.split("-").map(Number),[d,e,f]=A.split("-").map(Number),g=new Date(a,(b||1)-1,c||1,0,0,0,0),h=Math.min(new Date(d,(e||1)-1,f||1,23,59,59,999).getTime(),Date.now()-1);return{startTime:g.getTime(),endTime:h}}return{startTime:a-60*t["30d"].hours*6e4,endTime:a}}return{startTime:a-60*(t[y]?.hours||720)*6e4,endTime:a}},[y,z,A]);(0,i.useEffect)(()=>{(async()=>{try{I(!0),K(null);let a=(0,s.getSigNozStatsClient)(w),b="all"===P?void 0:[P],[c,d]=await Promise.all([a.getStatsByProject(R,S,b),a.getToolCallsByTool(R,S,void 0,"all"===P?void 0:P)]);E(c),G(d)}catch(a){console.error("Error fetching tool calls data:",a),K(a instanceof Error?a.message:"Failed to fetch tool calls data")}finally{I(!1)}})()},[P,R,S,w]);let T=(0,i.useMemo)(()=>{let a=new Map;for(let b of L)a.set(b.projectId,b.name);return a},[L]),U=D.reduce((a,b)=>a+b.totalMCPCalls,0),V=F.reduce((a,b)=>a+b.errorCount,0),W=F.reduce((a,b)=>a+b.totalCalls,0),X=W>0?(W-V)/W*100:100;return J?(0,b.jsx)("div",{className:"space-y-4",children:(0,b.jsx)(l.Card,{className:"shadow-none bg-background",children:(0,b.jsx)(l.CardContent,{className:"flex items-center justify-center py-8",children:(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)(g.Wrench,{className:"h-8 w-8 text-red-500 mx-auto mb-2"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"Failed to load tool calls data"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/70 mt-1",children:J})]})})})}):(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsx)(k.Button,{variant:"ghost",size:"sm",asChild:!0,className:"gap-2",children:(0,b.jsxs)(h.default,{href:x,children:[(0,b.jsx)(c.ArrowLeft,{className:"h-4 w-4"}),"Back to Stats"]})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-bold text-foreground",children:"Tool Calls Breakdown"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"Detailed view of MCP tool calls across all projects"})]})]}),(0,b.jsxs)(l.Card,{className:"shadow-none bg-background",children:[(0,b.jsx)(l.CardHeader,{className:"pb-3",children:(0,b.jsx)(l.CardTitle,{className:"text-foreground text-base",children:"Filters"})}),(0,b.jsxs)(l.CardContent,{className:"pt-0",children:[(0,b.jsxs)("div",{className:"flex flex-col md:flex-row gap-2 md:gap-4 max-w-4xl",children:[(0,b.jsxs)("div",{className:"space-y-1 flex-1",children:[(0,b.jsx)(m.Label,{htmlFor:"project-filter",className:"text-sm",children:"Project"}),(0,b.jsxs)(n.Select,{value:P,onValueChange:Q,children:[(0,b.jsx)(n.SelectTrigger,{id:"project-filter",children:(0,b.jsx)(n.SelectValue,{placeholder:"Select project"})}),(0,b.jsxs)(n.SelectContent,{children:[(0,b.jsx)(n.SelectItem,{value:"all",children:"All Projects"}),N?(0,b.jsx)(n.SelectItem,{value:"loading",disabled:!0,children:"Loading..."}):L.map(a=>(0,b.jsx)(n.SelectItem,{value:a.projectId,children:a.name},a.projectId))]})]})]}),(0,b.jsxs)("div",{className:"space-y-1 flex-1",children:[(0,b.jsx)(m.Label,{htmlFor:"time-filter",className:"text-sm",children:"Time Range"}),(0,b.jsx)(j.DatePickerWithPresets,{label:"Time range",onRemove:()=>B("30d"),value:y===j.CUSTOM?{from:z,to:A}:y,onAdd:a=>{B(a),a!==j.CUSTOM&&C("","")},setCustomDateRange:(a,b)=>C(a,b),options:Object.entries(t).map(([a,b])=>({value:a,label:b.label})),showCalendarDirectly:!1})]})]}),!H&&(0,b.jsxs)("div",{className:"mt-3 space-y-1 text-sm text-muted-foreground",children:[(0,b.jsx)("div",{children:"all"===P?`Showing MCP calls across ${D.length} projects`:`Showing MCP calls for project: ${T.get(P)||P}`}),(0,b.jsxs)("div",{className:"flex items-center gap-1 text-xs",children:[(0,b.jsx)(d.Calendar,{className:"h-3 w-3"}),"Time range:"," ",y===j.CUSTOM?"Custom range":t[y]?.label||y,(0,b.jsxs)("span",{className:"text-muted-foreground/70",children:["(",new Date(R).toLocaleDateString()," -"," ",new Date(S).toLocaleDateString(),")"]})]})]})]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)(l.Card,{className:"shadow-none bg-background",children:[(0,b.jsxs)(l.CardHeader,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[(0,b.jsx)(l.CardTitle,{className:"text-sm font-medium text-foreground",children:"Total MCP Calls"}),(0,b.jsx)(g.Wrench,{className:"h-4 w-4 text-muted-foreground"})]}),(0,b.jsxs)(l.CardContent,{children:[H?(0,b.jsx)(o.Skeleton,{className:"h-8 w-20 mb-2"}):(0,b.jsx)("div",{className:"text-2xl font-bold text-foreground",children:U.toLocaleString()}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"all"===P?`Tool calls across ${D.length} projects`:"Tool calls for selected project"})]})]}),(0,b.jsxs)(l.Card,{className:"shadow-none bg-background",children:[(0,b.jsxs)(l.CardHeader,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[(0,b.jsx)(l.CardTitle,{className:"text-sm font-medium text-foreground",children:"Success Rate"}),(0,b.jsx)(g.Wrench,{className:"h-4 w-4 text-muted-foreground"})]}),(0,b.jsxs)(l.CardContent,{children:[H?(0,b.jsx)(o.Skeleton,{className:"h-8 w-20 mb-2"}):(0,b.jsxs)("div",{className:"text-2xl font-bold text-green-600 dark:text-green-500",children:[X.toFixed(0),"%"]}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:[W-V,"/",W," calls successful"]})]})]})]}),(0,b.jsxs)(l.Card,{className:"shadow-none bg-background",children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardTitle,{className:"text-foreground",children:"MCP Calls by Project"})}),(0,b.jsx)(l.CardContent,{children:H?(0,b.jsx)("div",{className:"space-y-4",children:Array.from({length:5}).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-muted/30 rounded-lg",children:[(0,b.jsx)(o.Skeleton,{className:"h-4 w-32"}),(0,b.jsx)(o.Skeleton,{className:"h-4 w-16"})]},c))}):D.length>0?(0,b.jsx)("div",{className:"space-y-3 max-h-[600px] overflow-y-auto pr-2",children:[...D].sort((a,b)=>b.totalMCPCalls-a.totalMCPCalls).map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-orange-50/30 dark:bg-orange-900/20 rounded-lg border border-border",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(e.FolderKanban,{className:"h-5 w-5 text-orange-600"}),(0,b.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-sm font-medium text-foreground",children:T.get(a.projectId)||a.projectId}),a.projectId!==p.UNKNOWN_VALUE&&T.get(a.projectId)&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground font-mono",children:a.projectId}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:[a.totalConversations.toLocaleString()," conversations"]})]})]}),(0,b.jsxs)("div",{className:"text-right",children:[(0,b.jsx)("div",{className:"text-lg font-bold text-orange-600",children:a.totalMCPCalls.toLocaleString()}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground",children:"MCP calls"})]})]},c))}):(0,b.jsxs)("div",{className:"text-center py-8",children:[(0,b.jsx)(e.FolderKanban,{className:"h-8 w-8 text-muted-foreground mx-auto mb-2"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"No MCP calls found."}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/70 mt-1",children:"No MCP calls detected in the selected time range."})]})})]}),(0,b.jsxs)(l.Card,{className:"shadow-none bg-background",children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardTitle,{className:"text-foreground",children:"Tool Calls by Server"})}),(0,b.jsx)(l.CardContent,{children:H?(0,b.jsx)("div",{className:"space-y-4",children:Array.from({length:3}).map((a,c)=>(0,b.jsx)("div",{className:"space-y-2",children:(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 bg-muted/30 rounded-lg",children:[(0,b.jsx)(o.Skeleton,{className:"h-5 w-48"}),(0,b.jsx)(o.Skeleton,{className:"h-5 w-20"})]})},c))}):0===(v=Object.keys(u=F.reduce((a,b)=>{let c=b.serverName||p.UNKNOWN_VALUE;return a[c]||(a[c]=[]),a[c].push(b),a},{})).sort((a,b)=>a===p.UNKNOWN_VALUE?1:b===p.UNKNOWN_VALUE?-1:a.localeCompare(b))).length?(0,b.jsxs)("div",{className:"text-center py-8",children:[(0,b.jsx)(f.Server,{className:"h-8 w-8 text-muted-foreground mx-auto mb-2"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"No tool calls found."}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/70 mt-1",children:"No MCP tool calls detected in the selected time range."})]}):(0,b.jsx)("div",{className:"space-y-4 max-h-[600px] overflow-y-auto pr-2",children:v.map(a=>{let c=u[a],d=c.reduce((a,b)=>a+b.totalCalls,0),e=d-c.reduce((a,b)=>a+b.errorCount,0),h=d>0?e/d*100:0,i=c[0]?.serverId;return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:`flex items-center justify-between p-4 rounded-lg border ${0===h?"border-red-500 bg-red-50 dark:bg-red-950/30":"border-border bg-muted/40"}`,children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(f.Server,{className:`h-5 w-5 ${0===h?"text-red-600 dark:text-red-400":"text-muted-foreground"}`}),(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:`text-sm font-semibold ${0===h?"text-red-700 dark:text-red-300":"text-foreground"}`,children:a===p.UNKNOWN_VALUE?"Unknown Server":a}),i&&i!==p.UNKNOWN_VALUE&&(0,b.jsx)("p",{className:`text-xs font-mono ${0===h?"text-red-600/80 dark:text-red-400/80":"text-muted-foreground"}`,children:i}),(0,b.jsxs)("p",{className:`text-xs ${0===h?"text-red-600/80 dark:text-red-400/80":"text-muted-foreground"}`,children:[c.length," tool",1!==c.length?"s":""]})]})]}),(0,b.jsxs)("div",{className:"text-right",children:[(0,b.jsxs)("div",{className:`text-lg font-bold ${0===h?"text-red-700 dark:text-red-400":"text-foreground"}`,children:[h.toFixed(0),"%"]}),(0,b.jsxs)("div",{className:`text-xs ${0===h?"text-red-600/80 dark:text-red-400/80":"text-muted-foreground"}`,children:[e,"/",d," calls"]})]})]}),(0,b.jsx)("div",{className:"ml-6 space-y-2",children:c.sort((a,b)=>b.totalCalls-a.totalCalls).map((a,c)=>{let d=a.totalCalls-a.errorCount,e=a.totalCalls>0?d/a.totalCalls*100:0;return(0,b.jsxs)("div",{className:`flex items-center justify-between p-3 rounded-md border ${0===e?"border-red-500 bg-red-50 dark:bg-red-950/30":"border-border/50 bg-muted/20"}`,children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(g.Wrench,{className:`h-4 w-4 ${0===e?"text-red-600 dark:text-red-400":"text-muted-foreground"}`}),(0,b.jsx)("span",{className:`text-sm ${0===e?"text-red-700 dark:text-red-300":"text-foreground"}`,children:a.toolName===p.UNKNOWN_VALUE?"Unknown Tool":a.toolName})]}),(0,b.jsxs)("div",{className:"text-right",children:[(0,b.jsxs)("div",{className:`text-sm font-medium ${0===e?"text-red-700 dark:text-red-400":"text-foreground"}`,children:[e.toFixed(0),"%"]}),(0,b.jsxs)("div",{className:`text-xs ${0===e?"text-red-600/80 dark:text-red-400/80":"text-muted-foreground"}`,children:[d,"/",a.totalCalls," calls"]})]})]},c)})})]},a)})})})]})]})}a.s(["default",()=>u])}];
2
2
 
3
3
  //# sourceMappingURL=agents-manage-ui_src_app_%5BtenantId%5D_stats_tool-calls_page_tsx_cdfe0a94._.js.map
@@ -0,0 +1,4 @@
1
+ module.exports=[639789,a=>{"use strict";var b=a.i(642518);let c=(0,b.createServerReference)("70a5d842b0cbb02a8370bb8203e3273ed90024e12a",b.callServer,void 0,b.findSourceMapURL,"createArtifactComponentAction");a.s(["createArtifactComponentAction",()=>c])},876454,a=>{"use strict";var b=a.i(642518);let c=(0,b.createServerReference)("709e0fa37b003ae8db010e0f7f8306086d53ccd13f",b.callServer,void 0,b.findSourceMapURL,"updateArtifactComponentAction");a.s(["updateArtifactComponentAction",()=>c])},150542,a=>{"use strict";var b=a.i(642518);let c=(0,b.createServerReference)("704029d092b99dff03a659e0b08f06c2bea870aefd",b.callServer,void 0,b.findSourceMapURL,"updateArtifactComponent");a.s(["updateArtifactComponent",()=>c])},650206,a=>a.a(async(b,c)=>{try{var d=a.i(554609),e=a.i(806348),f=a.i(459180),g=a.i(409193),h=a.i(440066),i=a.i(25148),j=a.i(769297);a.i(438236);var k=a.i(846820),l=a.i(600126),m=a.i(265640),n=a.i(888890),o=a.i(334622),p=a.i(27545),q=a.i(475799),r=a.i(329188),s=a.i(238076),t=a.i(932912),u=a.i(150542),v=a.i(136821),w=b([l,m]);function x({tenantId:a,projectId:b,artifactComponentId:c,existingRender:w,onRenderChanged:x}){let[y,z]=(0,i.useState)(w||null),[A,B]=(0,i.useState)(!1),[C,D]=(0,i.useState)(!1),[E,F]=(0,i.useState)(""),[G,H]=(0,i.useState)(!!w),[I,J]=(0,i.useState)(!!w),[K,L]=(0,i.useState)(""),[M,N]=(0,i.useState)(!1),O=async d=>{B(!0),z(null),F(""),H(!1),J(!1);try{let e=await fetch(`/api/artifact-components/${c}/generate-render`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tenantId:a,projectId:b,instructions:d||void 0,existingCode:d?y?.component:void 0})});if(!e.ok)throw Error("Failed to generate render");if(!e.body)throw Error("No response body");let f=e.body.getReader(),g=new TextDecoder,h="",i=null;for(;;){let{done:a,value:b}=await f.read();if(a)break;let c=g.decode(b,{stream:!0}),d=(h+=c).split("\n");for(let a of(h=d.pop()||"",d))if(a.trim())try{let b=JSON.parse(a);i=b,b.component&&F(b.component)}catch(b){console.warn("Failed to parse line:",a,b)}}if(i)z(i),H(!0),x?.(i),j.toast.success("Render generated successfully");else throw Error("No valid render generated")}catch(a){console.error("Failed to generate render:",a),j.toast.error("Failed to generate render"),H(!0)}finally{B(!1)}},P=async()=>{D(!0);try{await (0,u.updateArtifactComponent)(a,b,{id:c,render:null}),z(null),J(!1),x?.(null),j.toast.success("Render deleted")}catch(a){console.error("Error deleting render:",a),j.toast.error("Failed to delete render")}finally{D(!1)}},Q=null!==y&&(y.component?.trim().length??0)>0,R=(0,i.useMemo)(()=>y?.mockData?JSON.stringify(y.mockData,null,2):"{}",[y?.mockData]),S=(0,i.useMemo)(()=>y?.component||"",[y?.component]),T=(0,i.useMemo)(()=>y?.mockData||{},[y?.mockData]),U=(0,i.useCallback)(a=>{if(y)try{let b=JSON.parse(a),c={...y,mockData:b};z(c),x?.(c)}catch{}},[y,x]);return(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("h3",{className:"text-md font-medium",children:"Component Renderer"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Generate a React/Tailwind component based on your artifact schema."})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[!Q&&(0,d.jsx)(n.Button,{onClick:()=>O(),disabled:A,size:"sm",className:"gap-2",children:A?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(e.Loader2,{className:"h-4 w-4 animate-spin"}),"Generating..."]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g.Sparkles,{className:"h-4 w-4"}),"Generate"]})}),Q&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(r.Popover,{open:M,onOpenChange:N,children:[(0,d.jsx)(r.PopoverTrigger,{asChild:!0,children:(0,d.jsx)(n.Button,{variant:"outline",size:"sm",disabled:C||A,className:"gap-2 font-mono uppercase",children:A?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(e.Loader2,{className:"h-4 w-4 animate-spin"}),"Regenerating..."]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(f.RefreshCw,{className:"h-4 w-4"}),"Regenerate"]})})}),(0,d.jsx)(r.PopoverContent,{className:"w-96",children:(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h4",{className:"font-medium text-sm mb-2",children:"Modify Component"}),(0,d.jsx)(q.Label,{htmlFor:"instructions",className:"text-xs text-muted-foreground",children:"Describe what you'd like to change (optional)"}),(0,d.jsx)(t.Textarea,{id:"instructions",placeholder:"e.g. Make it more compact, add a border, use different icons...",value:K,onChange:a=>L(a.target.value),className:"mt-2 min-h-[100px]"})]}),(0,d.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,d.jsx)(n.Button,{size:"sm",variant:"outline",onClick:()=>{N(!1),L("")},children:"Cancel"}),(0,d.jsx)(n.Button,{size:"sm",onClick:async()=>{N(!1),await O(K||void 0),L("")},disabled:A,children:K?"Apply Changes":"Regenerate"})]})]})})]}),I&&(0,d.jsx)(n.Button,{variant:"destructive-outline",onClick:P,disabled:C||A,size:"icon",title:"Delete render",children:C?(0,d.jsx)(e.Loader2,{className:"h-4 w-4 animate-spin"}):(0,d.jsx)(h.Trash2,{className:"h-4 w-4"})})]})]})]}),A&&E&&(0,d.jsx)(k.Streamdown,{isAnimating:!0,className:"[&_[data-code-block-header=true]]:hidden [&_pre]:bg-muted/40!",children:`\`\`\`jsx
2
+ ${E}\`\`\``}),A&&!E&&(0,d.jsx)(o.Card,{className:"p-6",children:(0,d.jsxs)("div",{className:"flex flex-row items-center justify-center gap-2",children:[(0,d.jsx)(e.Loader2,{className:"h-4 w-4 animate-spin text-muted-foreground/50"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground/70",children:"Generating component render..."})]})}),Q&&!A&&G&&y&&(0,d.jsx)(o.Card,{className:"px-2 py-4 pt-0",children:(0,d.jsxs)(s.Tabs,{defaultValue:"render",className:"w-full",children:[(0,d.jsxs)(s.TabsList,{className:"bg-transparent relative rounded-none border-b p-0 w-full justify-start gap-2",children:[(0,d.jsx)(s.TabsTrigger,{variant:"underline",value:"render",children:"Render"}),(0,d.jsx)(s.TabsTrigger,{variant:"underline",value:"code",children:"Code"}),(0,d.jsx)(s.TabsTrigger,{variant:"underline",value:"data",children:"Sample Data"})]}),(0,d.jsx)(s.TabsContent,{value:"render",children:(0,d.jsx)("div",{className:"p-4",children:(0,d.jsx)(v.DynamicComponentRenderer,{code:S,props:T})})}),(0,d.jsx)(s.TabsContent,{value:"code",children:(0,d.jsx)(l.CodeEditor,{value:S,onChange:a=>{if(!y)return;let b={...y,component:a};z(b),x?.(b)},className:"max-h-[500px] border-0 shadow-none"})}),(0,d.jsx)(s.TabsContent,{value:"data",children:(0,d.jsx)(m.JsonEditor,{value:R,onChange:U,className:"max-h-[500px] border-0 shadow-none"})})]})}),!Q&&!A&&!G&&(0,d.jsx)(p.InfoCard,{children:(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"No render generated"})})]})}[l,m]=w.then?(await w)():w,a.s(["ComponentRenderGenerator",()=>x]),c()}catch(a){c(a)}},!1),567966,a=>{"use strict";a.s(["defaultValues",0,{id:"",name:"",description:"",props:void 0}])},651115,a=>{"use strict";var b=a.i(871580),c=a.i(917888),d=a.i(487451);let e=b.z.object({id:d.idSchema,name:b.z.string().min(1,"Name is required."),description:b.z.string().optional(),props:b.z.union([b.z.string(),b.z.null(),b.z.undefined()]).transform((a,d)=>{if(a)try{let e=JSON.parse(a),f=(0,c.validateJsonSchemaForLlm)(a);if(!f.isValid){let a=f.errors[0]?.message||"Invalid JSON schema";return d.addIssue({code:b.z.ZodIssueCode.custom,message:a}),b.z.NEVER}return e.required??=[],e}catch(a){return d.addIssue({code:b.z.ZodIssueCode.custom,message:(0,c.getJsonParseError)(a)}),b.z.NEVER}}).optional(),render:b.z.object({component:b.z.string(),mockData:b.z.record(b.z.string(),b.z.unknown())}).nullable().optional()});a.s(["artifactComponentSchema",0,e])},358181,a=>a.a(async(b,c)=>{try{var d=a.i(554609),e=a.i(322471),f=a.i(870664),g=a.i(25148),h=a.i(932345),i=a.i(769297),j=a.i(178880),k=a.i(872166),l=a.i(125597),m=a.i(888890),n=a.i(535567),o=a.i(637771),p=a.i(447182),q=a.i(639789),r=a.i(876454),s=a.i(167418),t=a.i(537781),u=a.i(650206),v=a.i(567966),w=a.i(651115),x=b([l,u]);function y({id:a,tenantId:b,projectId:c,initialData:x,readOnly:y=!1}){let[z,A]=(0,g.useState)(!1),B=(0,h.useForm)({resolver:(0,e.zodResolver)(w.artifactComponentSchema),defaultValues:(a=>{if(!a)return v.defaultValues;let b={...a};return b.props&&(b.props=(0,s.formatJsonField)(b.props)),b})(x)}),{isSubmitting:C}=B.formState,D=(0,f.useRouter)();(0,p.useAutoPrefillId)({form:B,nameField:"name",idField:"id",isEditing:!!a});let E=async d=>{try{let e={...d};if(void 0===e.props&&(e.props=null),a){let a=await (0,r.updateArtifactComponentAction)(b,c,e);if(!a.success)return void i.toast.error(a.error||"Failed to update artifact.");i.toast.success("Artifact updated.");return}let f=await (0,q.createArtifactComponentAction)(b,c,e);if(!f.success)return void i.toast.error(f.error||"Failed to create artifact");i.toast.success("Artifact created."),D.push(`/${b}/projects/${c}/artifacts`)}catch(b){console.error("Error submitting artifact:",b);let a=b instanceof Error?b.message:"An unexpected error occurred.";i.toast.error(a)}};return(0,d.jsxs)(n.Dialog,{open:z,onOpenChange:A,children:[(0,d.jsx)(o.Form,{...B,children:(0,d.jsxs)("form",{onSubmit:B.handleSubmit(E),className:"max-w-3xl mx-auto space-y-8",children:[(0,d.jsx)(j.GenericInput,{control:B.control,name:"name",label:"Name",placeholder:"Document Artifact",isRequired:!0,disabled:y}),(0,d.jsx)(j.GenericInput,{control:B.control,name:"id",label:"Id",placeholder:"my-artifact",disabled:!!a||y,isRequired:!0,description:!a&&"Choose a unique identifier for this artifact. Using an existing id will replace that artifact."}),(0,d.jsx)(k.GenericTextarea,{control:B.control,name:"description",label:"Description",placeholder:"Structured factual information extracted from search results",className:"min-h-[80px]",disabled:y}),(0,d.jsx)(l.JsonSchemaInput,{control:B.control,name:"props",label:"Properties",placeholder:"Enter a valid JSON Schema with inPreview flags, or leave empty to save entire tool result...",description:"Optional: Define specific fields with inPreview flags, or leave empty to capture the complete tool response.",uri:"custom-json-schema-artifact-component.json",hasInPreview:!0,readOnly:y}),a&&!y&&(0,d.jsx)(u.ComponentRenderGenerator,{tenantId:b,projectId:c,artifactComponentId:a,existingRender:x?.render||null,onRenderChanged:a=>{B.setValue("render",a)}}),!y&&(0,d.jsxs)("div",{className:"flex w-full justify-between",children:[(0,d.jsx)(m.Button,{type:"submit",disabled:C,children:"Save"}),a&&(0,d.jsx)(n.DialogTrigger,{asChild:!0,children:(0,d.jsx)(m.Button,{type:"button",variant:"destructive-outline",children:"Delete Artifact"})})]})]})}),z&&a&&(0,d.jsx)(t.DeleteArtifactComponentConfirmation,{artifactComponentId:a,artifactComponentName:B.getValues("name"),setIsOpen:A,redirectOnDelete:!0})]})}[l,u]=x.then?(await x)():x,a.s(["ArtifactComponentForm",()=>y]),c()}catch(a){c(a)}},!1)];
3
+
4
+ //# sourceMappingURL=agents-manage-ui_src_b4417edd._.js.map