@inkeep/agents-manage-ui 0.9.0 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/.next/standalone/agents-manage-ui/.next/BUILD_ID +1 -1
  2. package/.next/standalone/agents-manage-ui/.next/app-build-manifest.json +198 -198
  3. package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +7 -7
  4. package/.next/standalone/agents-manage-ui/.next/build-manifest.json +5 -5
  5. package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +3 -3
  6. package/.next/standalone/agents-manage-ui/.next/react-loadable-manifest.json +2 -2
  7. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js +1 -1
  8. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js +3 -3
  10. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/[artifactComponentId]/page.js +2 -2
  12. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/[artifactComponentId]/page.js.nft.json +1 -1
  13. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/[artifactComponentId]/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/new/page.js +2 -2
  15. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/new/page.js.nft.json +1 -1
  16. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/new/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/page.js +2 -2
  18. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js +2 -2
  20. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js.nft.json +1 -1
  21. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js +2 -2
  23. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js.nft.json +1 -1
  24. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js +1 -1
  26. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js +2 -2
  28. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
  29. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js +2 -2
  31. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js.nft.json +1 -1
  32. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js +2 -2
  34. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
  35. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/[dataComponentId]/page.js +2 -2
  36. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/[dataComponentId]/page.js.nft.json +1 -1
  37. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/[dataComponentId]/page_client-reference-manifest.js +1 -1
  38. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/new/page.js +2 -2
  39. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/new/page.js.nft.json +1 -1
  40. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/new/page_client-reference-manifest.js +1 -1
  41. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/page.js +2 -2
  42. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page.js +2 -2
  44. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page.js.nft.json +1 -1
  45. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/new/page.js +1 -1
  47. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/new/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/page.js +2 -2
  49. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js +2 -2
  51. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js.nft.json +1 -1
  52. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page_client-reference-manifest.js +1 -1
  53. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js +2 -2
  54. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page_client-reference-manifest.js +1 -1
  55. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js +2 -2
  56. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js.nft.json +1 -1
  57. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
  58. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js +2 -2
  59. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page_client-reference-manifest.js +1 -1
  60. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js +2 -2
  61. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  62. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js +2 -2
  63. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page_client-reference-manifest.js +1 -1
  64. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js +2 -2
  65. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js.nft.json +1 -1
  66. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page_client-reference-manifest.js +1 -1
  67. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js +1 -1
  68. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page_client-reference-manifest.js +1 -1
  69. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js +3 -3
  70. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js.nft.json +1 -1
  71. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page_client-reference-manifest.js +1 -1
  72. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js +2 -2
  73. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page_client-reference-manifest.js +1 -1
  74. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js +1 -1
  75. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  76. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
  77. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +9 -9
  78. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route.js +1 -1
  79. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/agents-manage-ui/.next/server/app/page.js +2 -2
  82. package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
  83. package/.next/standalone/agents-manage-ui/.next/server/app-paths-manifest.json +7 -7
  84. package/.next/standalone/agents-manage-ui/.next/server/chunks/2539.js +3 -3
  85. package/.next/standalone/agents-manage-ui/.next/server/chunks/{5286.js → 3251.js} +1 -1
  86. package/.next/standalone/agents-manage-ui/.next/server/chunks/3424.js +1 -0
  87. package/.next/standalone/agents-manage-ui/.next/server/chunks/3547.js +1 -1
  88. package/.next/standalone/agents-manage-ui/.next/server/chunks/3859.js +19 -3
  89. package/.next/standalone/agents-manage-ui/.next/server/chunks/6777.js +1 -0
  90. package/.next/standalone/agents-manage-ui/.next/server/chunks/{7652.js → 7965.js} +1 -1
  91. package/.next/standalone/agents-manage-ui/.next/server/chunks/{2563.js → 8284.js} +1 -1
  92. package/.next/standalone/agents-manage-ui/.next/server/chunks/8444.js +1 -0
  93. package/.next/standalone/agents-manage-ui/.next/server/chunks/8449.js +2 -2
  94. package/.next/standalone/agents-manage-ui/.next/server/chunks/9093.js +2 -2
  95. package/.next/standalone/agents-manage-ui/.next/server/middleware-build-manifest.js +1 -1
  96. package/.next/standalone/agents-manage-ui/.next/server/middleware-react-loadable-manifest.js +1 -1
  97. package/.next/standalone/agents-manage-ui/.next/server/pages/404.html +1 -1
  98. package/.next/standalone/agents-manage-ui/.next/server/pages/500.html +1 -1
  99. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.js +1 -1
  100. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.json +1 -1
  101. package/.next/standalone/agents-manage-ui/.next/static/chunks/{4095-96d343710caf26be.js → 1348-d5a92ab92bcff5e2.js} +1 -1
  102. package/.next/standalone/agents-manage-ui/.next/static/chunks/2063-51504d0b4f82277e.js +1 -0
  103. package/.next/standalone/agents-manage-ui/.next/static/chunks/2823-d5aa2a7ec93a8174.js +1 -0
  104. package/.next/standalone/agents-manage-ui/.next/static/chunks/{4132.e82c1ad08339ac0f.js → 4132.0629ebed95bad681.js} +1 -1
  105. package/.next/standalone/agents-manage-ui/.next/static/chunks/{1413-48a35bb8b2d9a310.js → 4160-58edceff96697674.js} +1 -1
  106. package/.next/standalone/agents-manage-ui/.next/static/chunks/7167-5ae757a48267eecd.js +1 -0
  107. package/.next/standalone/agents-manage-ui/.next/static/chunks/{9964-e16d35b53a509ad4.js → 9964-02d4a76792a0abc8.js} +1 -1
  108. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-4293910b444cc135.js +1 -0
  109. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/[artifactComponentId]/page-c3ed0ba99186d0d6.js +1 -0
  110. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/new/page-c3ed0ba99186d0d6.js +1 -0
  111. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/page-874c135f55b0ca0f.js +1 -0
  112. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-ba0f0ba1b92291e8.js +1 -0
  113. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-8dbbb7c3696c4b18.js +1 -0
  114. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-62a5f6c00f915faf.js +1 -0
  115. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-71df4b4a01fc0dd1.js +1 -0
  116. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/[dataComponentId]/{page-4bee752045ef90e0.js → page-0f4fd1d8b7db8265.js} +1 -1
  117. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/new/{page-4bee752045ef90e0.js → page-0f4fd1d8b7db8265.js} +1 -1
  118. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/{page-0b8a51e424924a54.js → page-318381630d4f6030.js} +1 -1
  119. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/page-0302c606381a745f.js +1 -0
  120. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/{page-546eada72bc05113.js → page-46c65d299589f5ee.js} +1 -1
  121. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/{page-aa753859a6cd98f8.js → page-d4d01b9c19e6a359.js} +1 -1
  122. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/{page-dd6ae70ea7fabd25.js → page-6c3986967816a7e7.js} +1 -1
  123. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-3eb5183a82b07c23.js +1 -0
  124. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/{page-a0922720c62feda3.js → page-3e56a25e59c5c30e.js} +1 -1
  125. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-250e186f12cac2f8.js +1 -0
  126. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-3e96b2df7be28113.js +1 -0
  127. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-238b7db4cb9e8101.js +1 -0
  128. package/.next/standalone/agents-manage-ui/.next/static/chunks/{webpack-2d4148ddf995243a.js → webpack-211ed257f0444458.js} +1 -1
  129. package/.next/standalone/agents-manage-ui/.next/static/css/{d6cfe4d39e9ec828.css → 2f1b486594d6d68b.css} +1 -1
  130. package/.next/standalone/agents-manage-ui/package.json +1 -1
  131. package/.next/standalone/package.json +1 -6
  132. package/.next/standalone/packages/agents-core/package.json +5 -3
  133. package/package.json +4 -4
  134. package/src/app/api/signoz/conversations/[conversationId]/route.ts +20 -4
  135. package/src/components/graph/graph.tsx +23 -1
  136. package/src/components/traces/timeline/activity-timeline.tsx +3 -0
  137. package/src/components/traces/timeline/render-panel-content.tsx +63 -9
  138. package/src/components/traces/timeline/timeline-item.tsx +19 -1
  139. package/src/components/traces/timeline/timeline-wrapper.tsx +12 -7
  140. package/src/components/traces/timeline/types.ts +4 -0
  141. package/src/lib/utils/mcp-urls.ts +1 -2
  142. package/.next/standalone/agents-manage-ui/.next/server/chunks/3679.js +0 -1
  143. package/.next/standalone/agents-manage-ui/.next/server/chunks/6675.js +0 -1
  144. package/.next/standalone/agents-manage-ui/.next/server/chunks/9831.js +0 -1
  145. package/.next/standalone/agents-manage-ui/.next/static/chunks/2063-fdc0702cbb1a1a89.js +0 -1
  146. package/.next/standalone/agents-manage-ui/.next/static/chunks/2082-891b4e1bcad00d88.js +0 -1
  147. package/.next/standalone/agents-manage-ui/.next/static/chunks/7167-11a12434690e1440.js +0 -1
  148. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-10994c4134a5b1f6.js +0 -1
  149. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/[artifactComponentId]/page-ac21ae31668741aa.js +0 -1
  150. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/new/page-ac21ae31668741aa.js +0 -1
  151. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/page-2bb568b6c23a881e.js +0 -1
  152. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-3d397c420bb8143b.js +0 -1
  153. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-f7c50d8bbfd65b0d.js +0 -1
  154. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-e11b688b8c64e54e.js +0 -1
  155. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-9845708b28d20181.js +0 -1
  156. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/page-85b42eb6434f29e0.js +0 -1
  157. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-cdc9588a55a0d92c.js +0 -1
  158. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-2a12f980f96c7c38.js +0 -1
  159. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-7e81c1c4a1f31187.js +0 -1
  160. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-3d8dfc51ee03d859.js +0 -1
  161. /package/.next/standalone/agents-manage-ui/.next/static/{P565yMuBD-0DpQccwOL1W → b4zppSKvfyEEhDL6m73WI}/_buildManifest.js +0 -0
  162. /package/.next/standalone/agents-manage-ui/.next/static/{P565yMuBD-0DpQccwOL1W → b4zppSKvfyEEhDL6m73WI}/_ssgManifest.js +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/agents-manage-ui",
3
- "version": "0.9.0",
3
+ "version": "0.10.1",
4
4
  "license": "SEE LICENSE IN LICENSE.md",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -77,10 +77,5 @@
77
77
  "packageManager": "pnpm@10.10.0",
78
78
  "engines": {
79
79
  "node": ">=22.0.0"
80
- },
81
- "pnpm": {
82
- "onlyBuiltDependencies": [
83
- "keytar"
84
- ]
85
80
  }
86
- }
81
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/agents-core",
3
- "version": "0.9.0",
3
+ "version": "0.10.1",
4
4
  "description": "Agents Core contains the database schema, types, and validation schemas for Inkeep Agent Framework, along with core components.",
5
5
  "type": "module",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -65,13 +65,15 @@
65
65
  "find-up": "^7.0.0",
66
66
  "hono": "^4.9.7",
67
67
  "jmespath": "^0.16.0",
68
- "keytar": "^7.9.0",
69
68
  "nanoid": "^5.0.9",
70
69
  "pino": "^9.11.0",
71
70
  "pino-pretty": "^13.1.1",
72
71
  "ts-pattern": "^5.7.1",
73
72
  "zod": "^4.1.5"
74
73
  },
74
+ "optionalDependencies": {
75
+ "keytar": "^7.9.0"
76
+ },
75
77
  "devDependencies": {
76
78
  "@types/jmespath": "^0.15.2",
77
79
  "@types/node": "^20.11.24",
@@ -100,4 +102,4 @@
100
102
  "url": "git+https://github.com/inkeep/agents.git",
101
103
  "directory": "packages/agents-core"
102
104
  }
103
- }
105
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/agents-manage-ui",
3
- "version": "0.9.0",
3
+ "version": "0.10.1",
4
4
  "license": "SEE LICENSE IN LICENSE.md",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -81,9 +81,9 @@
81
81
  "use-stick-to-bottom": "^1.1.1",
82
82
  "zod": "^4.1.5",
83
83
  "zustand": "^5.0.7",
84
- "@inkeep/agents-core": "^0.9.0",
85
- "@inkeep/agents-manage-api": "^0.9.0",
86
- "@inkeep/agents-run-api": "^0.9.0"
84
+ "@inkeep/agents-core": "^0.10.1",
85
+ "@inkeep/agents-manage-api": "^0.10.1",
86
+ "@inkeep/agents-run-api": "^0.10.1"
87
87
  },
88
88
  "devDependencies": {
89
89
  "@tailwindcss/postcss": "^4",
@@ -204,6 +204,10 @@ function buildConversationListPayload(
204
204
  key: SPAN_KEYS.AI_TOOL_CALL_RESULT,
205
205
  ...QUERY_FIELD_CONFIGS.STRING_TAG,
206
206
  },
207
+ {
208
+ key: SPAN_KEYS.AI_TOOL_CALL_ARGS,
209
+ ...QUERY_FIELD_CONFIGS.STRING_TAG,
210
+ },
207
211
  { key: SPAN_KEYS.AI_TOOL_TYPE, ...QUERY_FIELD_CONFIGS.STRING_TAG },
208
212
  { key: SPAN_KEYS.AI_AGENT_NAME, ...QUERY_FIELD_CONFIGS.STRING_TAG },
209
213
  {
@@ -579,6 +583,10 @@ function buildConversationListPayload(
579
583
  key: SPAN_KEYS.GEN_AI_USAGE_OUTPUT_TOKENS,
580
584
  ...QUERY_FIELD_CONFIGS.INT64_TAG,
581
585
  },
586
+ {
587
+ key: SPAN_KEYS.AI_RESPONSE_TEXT,
588
+ ...QUERY_FIELD_CONFIGS.STRING_TAG,
589
+ },
582
590
  ]
583
591
  ),
584
592
 
@@ -783,6 +791,7 @@ export async function GET(
783
791
  serviceTier?: string;
784
792
  aiResponseContent?: string;
785
793
  aiResponseTimestamp?: string;
794
+ aiResponseText?: string;
786
795
  // user
787
796
  messageContent?: string;
788
797
  // context resolution
@@ -795,6 +804,8 @@ export async function GET(
795
804
  // tool specifics
796
805
  toolType?: string;
797
806
  toolPurpose?: string;
807
+ toolCallArgs?: string;
808
+ toolCallResult?: string;
798
809
  // delegation/transfer
799
810
  delegationFromAgentId?: string;
800
811
  delegationToAgentId?: string;
@@ -833,11 +844,13 @@ export async function GET(
833
844
  const transferFromAgentId = getString(span, SPAN_KEYS.TRANSFER_FROM_AGENT_ID, '');
834
845
  const transferToAgentId = getString(span, SPAN_KEYS.TRANSFER_TO_AGENT_ID, '');
835
846
 
847
+ // Extract tool call args and result for ALL tool calls
848
+ const toolCallArgs = getString(span, SPAN_KEYS.AI_TOOL_CALL_ARGS, '');
849
+ const toolCallResult = getString(span, SPAN_KEYS.AI_TOOL_CALL_RESULT, '');
850
+
836
851
  // Parse save_tool_result JSON if present
837
852
  let saveFields: any = {};
838
853
  if (name === TOOL_NAMES.SAVE_TOOL_RESULT) {
839
- const toolResult = getString(span, SPAN_KEYS.AI_TOOL_CALL_RESULT, '');
840
- const toolArgs = getString(span, SPAN_KEYS.AI_TOOL_CALL_ARGS, '');
841
854
  const operationId = getString(span, SPAN_KEYS.AI_OPERATION_ID, '');
842
855
  const toolCallId = getString(span, SPAN_KEYS.AI_TOOL_CALL_ID, '');
843
856
  const functionId = getString(span, SPAN_KEYS.AI_TELEMETRY_FUNCTION_ID, '');
@@ -845,14 +858,14 @@ export async function GET(
845
858
  // Parse tool arguments
846
859
  let parsedArgs: any = {};
847
860
  try {
848
- parsedArgs = JSON.parse(toolArgs);
861
+ parsedArgs = JSON.parse(toolCallArgs);
849
862
  } catch (_e) {
850
863
  // Keep empty if parsing fails
851
864
  }
852
865
 
853
866
  // Parse tool result
854
867
  try {
855
- const parsed = JSON.parse(toolResult);
868
+ const parsed = JSON.parse(toolCallResult);
856
869
  // Extract first artifact info if available
857
870
  const firstArtifact = parsed.artifacts
858
871
  ? (Object.values(parsed.artifacts)[0] as any)
@@ -898,6 +911,8 @@ export async function GET(
898
911
  delegationToAgentId: delegationToAgentId || undefined,
899
912
  transferFromAgentId: transferFromAgentId || undefined,
900
913
  transferToAgentId: transferToAgentId || undefined,
914
+ toolCallArgs: toolCallArgs || undefined,
915
+ toolCallResult: toolCallResult || undefined,
901
916
  ...saveFields, // Include save_tool_result specific fields
902
917
  });
903
918
  }
@@ -1040,6 +1055,7 @@ export async function GET(
1040
1055
  aiModel: getString(span, SPAN_KEYS.AI_RESPONSE_MODEL, 'Unknown Model'),
1041
1056
  inputTokens: getNumber(span, SPAN_KEYS.GEN_AI_USAGE_INPUT_TOKENS, 0),
1042
1057
  outputTokens: getNumber(span, SPAN_KEYS.GEN_AI_USAGE_OUTPUT_TOKENS, 0),
1058
+ aiResponseText: getString(span, SPAN_KEYS.AI_RESPONSE_TEXT, '') || undefined,
1043
1059
  });
1044
1060
  }
1045
1061
 
@@ -179,7 +179,7 @@ function Flow({
179
179
  return lookup;
180
180
  }, [graph?.agents]);
181
181
 
182
- const { screenToFlowPosition, updateNodeData } = useReactFlow();
182
+ const { screenToFlowPosition, updateNodeData, fitView } = useReactFlow();
183
183
  const {
184
184
  nodes: storeNodes,
185
185
  edges,
@@ -259,6 +259,28 @@ function Flow({
259
259
  }
260
260
  }, []);
261
261
 
262
+ // Auto-center graph when sidepane opens/closes
263
+ // biome-ignore lint/correctness/useExhaustiveDependencies: we want to trigger on isOpen changes
264
+ useEffect(() => {
265
+ // Delay to allow CSS transition to complete (300ms transition + 50ms buffer)
266
+ const timer = setTimeout(() => {
267
+ fitView({ maxZoom: 1, duration: 200 });
268
+ }, 350);
269
+
270
+ return () => clearTimeout(timer);
271
+ }, [isOpen, fitView]);
272
+
273
+ // Auto-center graph when playground opens/closes
274
+ // biome-ignore lint/correctness/useExhaustiveDependencies: we want to trigger on showPlayground changes
275
+ useEffect(() => {
276
+ // Delay to allow CSS transition to complete
277
+ const timer = setTimeout(() => {
278
+ fitView({ maxZoom: 1, duration: 200 });
279
+ }, 350);
280
+
281
+ return () => clearTimeout(timer);
282
+ }, [showPlayground, fitView]);
283
+
262
284
  // biome-ignore lint/correctness/useExhaustiveDependencies: we only want to add/connect edges once
263
285
  const onConnectWrapped = useCallback((params: Connection) => {
264
286
  markUnsaved();
@@ -4,11 +4,13 @@ import type { ActivityItem } from '@/components/traces/timeline/types';
4
4
  export function ActivityTimeline({
5
5
  activities,
6
6
  onSelect,
7
+ selectedActivityId,
7
8
  collapsedAiMessages,
8
9
  onToggleAiMessageCollapse,
9
10
  }: {
10
11
  activities: ActivityItem[];
11
12
  onSelect: (a: ActivityItem) => void;
13
+ selectedActivityId?: string | null;
12
14
  collapsedAiMessages?: Set<string>;
13
15
  onToggleAiMessageCollapse?: (activityId: string) => void;
14
16
  }) {
@@ -21,6 +23,7 @@ export function ActivityTimeline({
21
23
  activity={activity}
22
24
  isLast={index === activities.length - 1}
23
25
  onSelect={() => onSelect(activity)}
26
+ isSelected={selectedActivityId === activity.id}
24
27
  isAiMessageCollapsed={collapsedAiMessages?.has(activity.id) || false}
25
28
  onToggleAiMessageCollapse={onToggleAiMessageCollapse}
26
29
  />
@@ -88,6 +88,13 @@ export function renderPanelContent({
88
88
  <Info label="Input tokens" value={a.inputTokens?.toLocaleString() || '0'} />
89
89
  <Info label="Output tokens" value={a.outputTokens?.toLocaleString() || '0'} />
90
90
  <Info label="Agent" value={a.agentName || '-'} />
91
+ {a.aiResponseText && (
92
+ <LabeledBlock label="Response text">
93
+ <Bubble className="whitespace-pre-wrap break-words max-h-96 overflow-y-auto">
94
+ {a.aiResponseText}
95
+ </Bubble>
96
+ </LabeledBlock>
97
+ )}
91
98
  <StatusBadge status={a.status} />
92
99
  <Info label="Timestamp" value={formatDateTime(a.timestamp)} />
93
100
  </Section>
@@ -221,7 +228,20 @@ export function renderPanelContent({
221
228
  }
222
229
  />
223
230
  <StatusBadge status={a.status} />
224
- <Info label="Result" value={a.toolResult || 'No result available'} />
231
+ {a.toolCallArgs && (
232
+ <LabeledBlock label="Tool arguments">
233
+ <CodeBubble className="max-h-60 overflow-y-auto">
234
+ <Streamdown>{`\`\`\`json\n${a.toolCallArgs}\n\`\`\``}</Streamdown>
235
+ </CodeBubble>
236
+ </LabeledBlock>
237
+ )}
238
+ {a.toolCallResult && (
239
+ <LabeledBlock label="Tool result">
240
+ <CodeBubble className="max-h-60 overflow-y-auto">
241
+ <Streamdown>{`\`\`\`json\n${a.toolCallResult}\n\`\`\``}</Streamdown>
242
+ </CodeBubble>
243
+ </LabeledBlock>
244
+ )}
225
245
  <Info label="Timestamp" value={formatDateTime(a.timestamp)} />
226
246
  </Section>
227
247
  <Divider />
@@ -253,7 +273,20 @@ export function renderPanelContent({
253
273
  }
254
274
  />
255
275
  <StatusBadge status={a.status} />
256
- <Info label="Result" value={a.toolResult || 'No result available'} />
276
+ {a.toolCallArgs && (
277
+ <LabeledBlock label="Tool arguments">
278
+ <CodeBubble className="max-h-60 overflow-y-auto">
279
+ <Streamdown>{`\`\`\`json\n${a.toolCallArgs}\n\`\`\``}</Streamdown>
280
+ </CodeBubble>
281
+ </LabeledBlock>
282
+ )}
283
+ {a.toolCallResult && (
284
+ <LabeledBlock label="Tool result">
285
+ <CodeBubble className="max-h-60 overflow-y-auto">
286
+ <Streamdown>{`\`\`\`json\n${a.toolCallResult}\n\`\`\``}</Streamdown>
287
+ </CodeBubble>
288
+ </LabeledBlock>
289
+ )}
257
290
  <Info label="Timestamp" value={formatDateTime(a.timestamp)} />
258
291
  </Section>
259
292
  <Divider />
@@ -286,7 +319,20 @@ export function renderPanelContent({
286
319
  </LabeledBlock>
287
320
  <Info label="Agent" value={a.agentName || 'Unknown agent'} />
288
321
  <StatusBadge status={a.status} />
289
- <Info label="Result" value={a.toolResult || 'No result available'} />
322
+ {a.toolCallArgs && (
323
+ <LabeledBlock label="Tool arguments">
324
+ <CodeBubble className="max-h-60 overflow-y-auto">
325
+ <Streamdown>{`\`\`\`json\n${a.toolCallArgs}\n\`\`\``}</Streamdown>
326
+ </CodeBubble>
327
+ </LabeledBlock>
328
+ )}
329
+ {a.toolCallResult && (
330
+ <LabeledBlock label="Tool result">
331
+ <CodeBubble className="max-h-60 overflow-y-auto">
332
+ <Streamdown>{`\`\`\`json\n${a.toolCallResult}\n\`\`\``}</Streamdown>
333
+ </CodeBubble>
334
+ </LabeledBlock>
335
+ )}
290
336
  <Info label="Timestamp" value={formatDateTime(a.timestamp)} />
291
337
  </Section>
292
338
  <Divider />
@@ -315,7 +361,20 @@ export function renderPanelContent({
315
361
  </LabeledBlock>
316
362
  )}
317
363
  <StatusBadge status={a.status} />
318
- <Info label="Result" value={a.toolResult || 'No result available'} />
364
+ {a.toolCallArgs && (
365
+ <LabeledBlock label="Tool arguments">
366
+ <CodeBubble className="max-h-60 overflow-y-auto">
367
+ <Streamdown>{`\`\`\`json\n${a.toolCallArgs}\n\`\`\``}</Streamdown>
368
+ </CodeBubble>
369
+ </LabeledBlock>
370
+ )}
371
+ {a.toolCallResult && (
372
+ <LabeledBlock label="Tool result">
373
+ <CodeBubble className="max-h-60 overflow-y-auto">
374
+ <Streamdown>{`\`\`\`json\n${a.toolCallResult}\n\`\`\``}</Streamdown>
375
+ </CodeBubble>
376
+ </LabeledBlock>
377
+ )}
319
378
  <Info label="Timestamp" value={formatDateTime(a.timestamp)} />
320
379
  </Section>
321
380
  <Divider />
@@ -341,11 +400,6 @@ export function renderPanelContent({
341
400
  <Info label="Output tokens" value={a.outputTokens?.toLocaleString() || '0'} />
342
401
  <StatusBadge status={a.status} />
343
402
  <Info label="Timestamp" value={formatDateTime(a.timestamp)} />
344
- <LabeledBlock label="Streamed text content">
345
- <Bubble className="whitespace-pre-wrap break-words max-h-96 overflow-y-auto">
346
- {a.aiStreamTextContent || 'No content available'}
347
- </Bubble>
348
- </LabeledBlock>
349
403
  </Section>
350
404
  <Divider />
351
405
  {SignozButton}
@@ -21,6 +21,7 @@ import {
21
21
  type ActivityKind,
22
22
  TOOL_TYPES,
23
23
  } from '@/components/traces/timeline/types';
24
+ import { Badge } from '@/components/ui/badge';
24
25
 
25
26
  function truncateWords(s: string, nWords: number) {
26
27
  const words = s.split(/\s+/);
@@ -72,6 +73,7 @@ interface TimelineItemProps {
72
73
  activity: ActivityItem;
73
74
  isLast: boolean;
74
75
  onSelect: () => void;
76
+ isSelected?: boolean;
75
77
  isAiMessageCollapsed?: boolean;
76
78
  onToggleAiMessageCollapse?: (activityId: string) => void;
77
79
  }
@@ -80,6 +82,7 @@ export function TimelineItem({
80
82
  activity,
81
83
  isLast,
82
84
  onSelect,
85
+ isSelected = false,
83
86
  isAiMessageCollapsed = false,
84
87
  onToggleAiMessageCollapse,
85
88
  }: TimelineItemProps) {
@@ -99,7 +102,13 @@ export function TimelineItem({
99
102
  const isoDateTime = new Date(activity.timestamp).toISOString();
100
103
 
101
104
  return (
102
- <div className="flex flex-col text-muted-foreground relative text-xs">
105
+ <div
106
+ className={`flex flex-col text-muted-foreground relative text-xs transition-all duration-200 rounded-lg ${
107
+ isSelected
108
+ ? 'bg-primary/5 dark:bg-primary/15 px-3 py-2 ring-2 ring-primary/20 dark:ring-primary/40'
109
+ : 'py-2'
110
+ }`}
111
+ >
103
112
  <div className="flex items-start">
104
113
  <div className="mr-4 pt-[1px]">
105
114
  <Icon className={`w-4 h-4 ${className}`} />
@@ -368,6 +377,15 @@ export function TimelineItem({
368
377
  </CodeBubble>
369
378
  )}
370
379
 
380
+ {/* agent name for AI generation */}
381
+ {activity.type === ACTIVITY_TYPES.AI_GENERATION && activity.agentName && (
382
+ <div className="mb-1">
383
+ <Badge variant="code">
384
+ {activity.agentName}
385
+ </Badge>
386
+ </div>
387
+ )}
388
+
371
389
  <time
372
390
  className="text-xs mb-2 inline-block text-gray-500 dark:text-white/50"
373
391
  dateTime={isoDateTime}
@@ -253,7 +253,9 @@ export function TimelineWrapper({
253
253
 
254
254
  const closePanel = () => {
255
255
  setPanelVisible(false);
256
- setTimeout(() => setSelected(null), 300);
256
+ setTimeout(() => {
257
+ setSelected(null);
258
+ }, 300);
257
259
  };
258
260
 
259
261
  const findSpanById = (id?: string) =>
@@ -355,12 +357,13 @@ export function TimelineWrapper({
355
357
  <StickToBottom.Content>
356
358
  <ActivityTimeline
357
359
  activities={sortedActivities}
358
- onSelect={(activity) =>
360
+ onSelect={(activity) => {
359
361
  setSelected({
360
362
  type: determinePanelType(activity),
361
363
  item: activity,
362
- })
363
- }
364
+ });
365
+ }}
366
+ selectedActivityId={selected?.item?.id}
364
367
  collapsedAiMessages={collapsedAiMessages}
365
368
  onToggleAiMessageCollapse={toggleAiMessageCollapse}
366
369
  />
@@ -388,12 +391,13 @@ export function TimelineWrapper({
388
391
  <div className="h-full overflow-y-auto scrollbar-thin scrollbar-thumb-muted-foreground/30 scrollbar-track-transparent dark:scrollbar-thumb-muted-foreground/50">
389
392
  <ActivityTimeline
390
393
  activities={sortedActivities}
391
- onSelect={(activity) =>
394
+ onSelect={(activity) => {
392
395
  setSelected({
393
396
  type: determinePanelType(activity),
394
397
  item: activity,
395
- })
396
- }
398
+ });
399
+ }}
400
+ selectedActivityId={selected?.item?.id}
397
401
  collapsedAiMessages={collapsedAiMessages}
398
402
  onToggleAiMessageCollapse={toggleAiMessageCollapse}
399
403
  />
@@ -407,6 +411,7 @@ export function TimelineWrapper({
407
411
  {selected && (
408
412
  <ResizablePanel order={3}>
409
413
  <ActivityDetailsSidePane
414
+ key={selected.item.id}
410
415
  title={panelTitle(selected)}
411
416
  open={panelVisible}
412
417
  onClose={closePanel}
@@ -73,6 +73,9 @@ export interface ActivityItem {
73
73
  aiStreamTextModel?: string;
74
74
  aiStreamTextProvider?: string;
75
75
  aiStreamTextOperationId?: string;
76
+ toolCallArgs?: string;
77
+ toolCallResult?: string;
78
+ aiResponseText?: string;
76
79
  }
77
80
 
78
81
  export interface ToolCall {
@@ -128,6 +131,7 @@ export interface ConversationDetail {
128
131
  data: Record<string, any>;
129
132
  }>;
130
133
  mcpToolErrors?: Array<{
134
+ id: string;
131
135
  spanId: string;
132
136
  toolName: string;
133
137
  error: string;
@@ -52,8 +52,7 @@ export function getOAuthLoginUrl({
52
52
  );
53
53
  }
54
54
 
55
- // Build URL with proper encoding
56
- const url = `${INKEEP_AGENTS_MANAGE_API_URL}/tenants/${encodeURIComponent(tenantId)}/projects/${encodeURIComponent(projectId)}/tools/${encodeURIComponent(id)}/oauth-login`;
55
+ const url = `${INKEEP_AGENTS_MANAGE_API_URL}/oauth/login?tenantId=${encodeURIComponent(tenantId)}&projectId=${encodeURIComponent(projectId)}&toolId=${encodeURIComponent(id)}`;
57
56
 
58
57
  // Verify the final URL starts with our expected base
59
58
  if (!url.startsWith(INKEEP_AGENTS_MANAGE_API_URL)) {
@@ -1 +0,0 @@
1
- "use strict";exports.id=3679,exports.ids=[3679],exports.modules={35406:(a,b,c)=>{c.d(b,{A3:()=>i,Nv:()=>q,PC:()=>j,SH:()=>f,SL:()=>o,U_:()=>n,XQ:()=>m,YL:()=>r,aR:()=>d,cZ:()=>k,qf:()=>s,we:()=>l,yR:()=>e,yZ:()=>t,zD:()=>p});let d={AI_TOOL_CALL:"ai.toolCall",CONTEXT_RESOLUTION:"context-resolver.resolve_single_fetch_definition",CONTEXT_HANDLE:"context.handle_context_resolution",AGENT_GENERATION:"agent.generate",CONTEXT_FETCHER:"context-fetcher.http-request"},e={GENERATE_TEXT:"ai.generateText.doGenerate",STREAM_TEXT:"ai.streamText.doStream"},f={SPAN_ID:"spanID",TRACE_ID:"traceID",DURATION_NANO:"durationNano",TIMESTAMP:"timestamp",HAS_ERROR:"hasError",STATUS_MESSAGE:"status_message",OTEL_STATUS_DESCRIPTION:"otel.status_description",GRAPH_ID:"graph.id",GRAPH_NAME:"graph.name",TENANT_ID:"tenant.id",PROJECT_ID:"project.id",AI_AGENT_NAME:"ai.agentName",AI_AGENT_NAME_ALT:"ai.agent.name",AI_OPERATION_ID:"ai.operationId",AI_RESPONSE_TIMESTAMP:"ai.response.timestamp",AI_RESPONSE_CONTENT:"ai.response.content",AI_RESPONSE_TEXT:"ai.response.text",AI_RESPONSE_MODEL:"ai.response.model",AI_MODEL_PROVIDER:"ai.model.provider",AI_TELEMETRY_FUNCTION_ID:"ai.telemetry.functionId",AI_MODEL_ID:"ai.model.id",AI_TOOL_CALL_NAME:"ai.toolCall.name",AI_TOOL_CALL_RESULT:"ai.toolCall.result",AI_TOOL_CALL_ARGS:"ai.toolCall.args",AI_TOOL_CALL_ID:"ai.toolCall.id",AI_TOOL_TYPE:"ai.toolType",TOOL_PURPOSE:"tool.purpose",AGENT_ID:"agent.id",AGENT_NAME:"agent.name",GEN_AI_USAGE_INPUT_TOKENS:"gen_ai.usage.input_tokens",GEN_AI_USAGE_OUTPUT_TOKENS:"gen_ai.usage.output_tokens",CONTEXT_URL:"context.url",CONTEXT_CONFIG_ID:"context.context_config_id",CONTEXT_AGENT_GRAPH_ID:"context.agent_graph_id",CONTEXT_REQUEST_KEYS:"context.request_context_keys",MESSAGE_CONTENT:"message.content",MESSAGE_TIMESTAMP:"message.timestamp",MCP_TOOL_DESCRIPTION:"mcp.tool.description",DELEGATION_FROM_AGENT_ID:"delegation.from_agent_id",DELEGATION_TO_AGENT_ID:"delegation.to_agent_id",TRANSFER_FROM_AGENT_ID:"transfer.from_agent_id",TRANSFER_TO_AGENT_ID:"transfer.to_agent_id",HTTP_URL:"http.url",HTTP_STATUS_CODE:"http.status_code",HTTP_RESPONSE_BODY_SIZE:"http.response.body_size",NAME:"name",PARENT_SPAN_ID:"parentSpanID",CONVERSATION_ID:"conversation.id"},g={STRING:"string",INT64:"int64",FLOAT64:"float64",BOOL:"bool"},h={TAG:"tag"},i={STRING_TAG:{dataType:g.STRING,type:h.TAG,isColumn:!1},STRING_TAG_COLUMN:{dataType:g.STRING,type:h.TAG,isColumn:!0},INT64_TAG:{dataType:g.INT64,type:h.TAG,isColumn:!1},INT64_TAG_COLUMN:{dataType:g.INT64,type:h.TAG,isColumn:!0},FLOAT64_TAG:{dataType:g.FLOAT64,type:h.TAG,isColumn:!1},FLOAT64_TAG_COLUMN:{dataType:g.FLOAT64,type:h.TAG,isColumn:!0},BOOL_TAG:{dataType:g.BOOL,type:h.TAG,isColumn:!1},BOOL_TAG_COLUMN:{dataType:g.BOOL,type:h.TAG,isColumn:!0}},j="unknown",k={MCP:"mcp",TRANSFER:"transfer",DELEGATION:"delegation"},l={EQUALS:"=",NOT_EQUALS:"!=",LESS_THAN:"<",GREATER_THAN:">",LESS_THAN_OR_EQUAL:"<=",GREATER_THAN_OR_EQUAL:">=",LIKE:"like",NOT_LIKE:"nlike",EXISTS:"exists",NOT_EXISTS:"nexists",AND:"AND",OR:"OR"},m={SPAN_NAMES:"spanNames",AGENT_MODEL_CALLS:"agentModelCalls",MODEL_CALLS:"modelCalls",LAST_ACTIVITY:"lastActivity",CONVERSATION_METADATA:"conversationMetadata",FILTERED_CONVERSATIONS:"filteredConversations",TOOLS:"tools",TRANSFERS:"transfers",DELEGATIONS:"delegations",AI_CALLS:"aiCalls",CONTEXT_ERRORS:"contextErrors",AGENT_GENERATION_ERRORS:"agentGenerationErrors",USER_MESSAGES:"userMessages",UNIQUE_GRAPHS:"uniqueGraphs",UNIQUE_MODELS:"uniqueModels",TOOL_CALLS:"toolCalls",CONTEXT_RESOLUTION:"contextResolution",CONTEXT_HANDLE:"contextHandle",AI_ASSISTANT_MESSAGES:"aiAssistantMessages",AI_GENERATIONS:"aiGenerations",AI_STREAMING_TEXT:"aiStreamingText",CONTEXT_FETCHERS:"contextFetchers",DURATION_SPANS:"durationSpans"},n={SUM:"sum",MAX:"max",MIN:"min",AVG:"avg",COUNT:"count"},o={ASC:"asc",DESC:"desc"},p={BUILDER:"builder",CLICKHOUSE:"clickhouse",PROMQL:"promql"},q={LIST:"list",TABLE:"table",GRAPH:"graph",VALUE:"value"},r={TRACES:"traces",METRICS:"metrics",LOGS:"logs"},s={COUNT:"count",SUM:"sum",AVG:"avg",MIN:"min",MAX:"max",NOOP:"noop"},t={STEP:60,STEP_INTERVAL:60,OFFSET:0,DISABLED:!1,HAVING:[],LEGEND:"",LIMIT_NULL:null,LIMIT_ZERO:0,LIMIT_1000:1e3,EMPTY_GROUP_BY:[]}},40367:(a,b,c)=>{c.d(b,{H:()=>p});var d=c(36532),e=c(68764),f=c(45809),g=c(35406);let h=a=>Math.floor(a/1e6),i=f.union([f.string(),f.number(),f.boolean()]),j=a=>{try{if("true"===a)return i.parse(!0);if("false"===a)return i.parse(!1);let b=(a=>/^-?\d+(\.\d+)?$/.test(a)?Number(a):a)(a);if("number"==typeof b)return i.parse(b);return i.parse(a)}catch(b){return console.warn(`Failed to parse filter value "${a}":`,b),i.parse(a)}},k=a=>parseInt(a.values?.[0]?.value??"0",10)||0,l=a=>Number(a.values?.[0]?.value??0)||0,m=(a,b)=>{let c=new Date(a);c.setHours(0,0,0,0);let d=new Date(b);d.setHours(0,0,0,0);let e=[];for(let a=new Date(c);a<=d;a.setDate(a.getDate()+1))e.push(`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")}`);return e};(0,e.Ay)(d.A,{retries:3,retryDelay:e.Ay.exponentialDelay});class n{async makeRequest(a){return(await d.A.post("/api/signoz",a,{timeout:3e4,headers:{"Content-Type":"application/json"}})).data}extractSeries(a,b){return a?.data?.result?.find(a=>a?.queryName===b)?.series??[]}async getConversationStats(a,b,c,d,e,f,i){try{let j=this.buildCombinedPayload(a,b,c,d,i),k=await this.makeRequest(j),m=this.extractSeries(k,g.XQ.TOOLS),n=this.extractSeries(k,g.XQ.TRANSFERS),o=this.extractSeries(k,g.XQ.DELEGATIONS),p=this.extractSeries(k,g.XQ.AI_CALLS),q=this.extractSeries(k,g.XQ.LAST_ACTIVITY),r=this.extractSeries(k,g.XQ.CONVERSATION_METADATA),s=this.extractSeries(k,g.XQ.CONTEXT_ERRORS),t=this.extractSeries(k,g.XQ.AGENT_GENERATION_ERRORS),u=this.extractSeries(k,g.XQ.USER_MESSAGES),v=new Map;for(let a of r){let b=a.labels?.[g.SH.CONVERSATION_ID];b&&v.set(b,{tenantId:a.labels?.[g.SH.TENANT_ID]??g.PC,graphId:a.labels?.[g.SH.GRAPH_ID]??g.PC,graphName:a.labels?.[g.SH.GRAPH_NAME]??g.PC})}let w=new Map;for(let a of q){let b=a.labels?.[g.SH.CONVERSATION_ID];b&&w.set(b,l(a))}let x=new Map,y=new Map;for(let a of u){let b=a.labels?.[g.SH.CONVERSATION_ID],c=a.labels?.[g.SH.MESSAGE_CONTENT],d=l(a);b&&c&&(y.get(b)??y.set(b,[]).get(b))?.push({t:d,c:c})}for(let[a,b]of y){b.sort((a,b)=>a.t-b.t);let c=b[0];if(c){let b=c.c.length>100?`${c.c.slice(0,100)}...`:c.c;x.set(a,{content:b,timestamp:h(c.t)})}}let z=this.toConversationStats(m,n,o,p,v,s,t,x);if((c?.spanName||c?.attributes?.length)&&(z=await this.applySpanFilters(z,a,b,c,d)),f?.trim()){let a=f.toLowerCase().trim();z=z.filter(b=>b.firstUserMessage?.toLowerCase().includes(a)||b.conversationId.toLowerCase().includes(a)||b.graphId.toLowerCase().includes(a))}if(z.sort((a,b)=>((a=0,b=0)=>b-a)(w.get(a.conversationId),w.get(b.conversationId))),!e)return z;let{page:A,limit:B}=e,C=z.length,D=Math.ceil(C/B),E=(A-1)*B;return{data:z.slice(E,E+B),pagination:{page:A,limit:B,total:C,totalPages:D,hasNextPage:A<D,hasPreviousPage:A>1}}}catch(a){return console.error("getConversationStats error:",a),[]}}async getAICallsByGraph(a,b,c){try{let d=await this.makeRequest(this.buildCombinedPayload(a,b,void 0,c)),e=this.extractSeries(d,g.XQ.AI_CALLS),f=new Map;for(let a of e){let b=a.labels?.[g.SH.GRAPH_ID]||g.PC,c=k(a);c&&f.set(b,(f.get(b)||0)+c)}return[...f].map(([a,b])=>({graphId:a,totalCalls:b})).sort((a,b)=>b.totalCalls-a.totalCalls)}catch(a){return console.error("getAICallsByGraph error:",a),[]}}async getAICallsByAgent(a,b,c,d,e){try{let f=await this.makeRequest(this.buildAgentModelBreakdownPayload(a,b,e)),h=this.extractSeries(f,"agentModelCalls"),i=new Map;for(let a of h){let b=a.labels?.[g.SH.AI_TELEMETRY_FUNCTION_ID]||g.PC,e=a.labels?.[g.SH.GRAPH_ID]||g.PC,f=a.labels?.[g.SH.AI_MODEL_ID]||g.PC,h=k(a);if(!h||c&&"all"!==c&&e!==c||d&&"all"!==d&&f!==d)continue;let j=`${b}::${e}::${f}`,l=i.get(j)||{agentId:b,graphId:e,modelId:f,totalCalls:0};l.totalCalls+=h,i.set(j,l)}return[...i.values()].sort((a,b)=>b.totalCalls-a.totalCalls)}catch(a){return console.error("getAICallsByAgent error:",a),[]}}async getAICallsByModel(a,b,c,d){try{let e=await this.makeRequest(this.buildModelBreakdownPayload(a,b,d)),f=this.extractSeries(e,"modelCalls"),h=new Map;for(let a of f){let b=a.labels?.[g.SH.AI_MODEL_ID]||g.PC,d=a.labels?.[g.SH.GRAPH_ID]||g.PC,e=k(a);e&&(c&&"all"!==c&&d!==c||h.set(b,(h.get(b)||0)+e))}return[...h].map(([a,b])=>({modelId:a,totalCalls:b})).sort((a,b)=>b.totalCalls-a.totalCalls)}catch(a){return console.error("getAICallsByModel error:",a),[]}}async getUniqueGraphs(a,b,c){try{let d=await this.makeRequest(this.buildUniqueGraphsPayload(a,b,c)),e=this.extractSeries(d,"uniqueGraphs").map(a=>a.labels?.[g.SH.GRAPH_ID]).filter(a=>!!a&&a!==g.PC).sort();return[...new Set(e)]}catch(a){return console.error("getUniqueGraphs error:",a),[]}}async getUniqueModels(a,b,c){try{let d=await this.makeRequest(this.buildUniqueModelsPayload(a,b,c)),e=this.extractSeries(d,"uniqueModels").map(a=>a.labels?.[g.SH.AI_MODEL_ID]).filter(a=>!!a&&a!==g.PC).sort();return[...new Set(e)]}catch(a){return console.error("getUniqueModels error:",a),[]}}async getConversationsPerDay(a,b,c,d){try{let e=await this.makeRequest(this.buildConversationMetadataPayload(a,b,c,d)),f=this.extractSeries(e,"conversationMetadata").length?this.extractSeries(await this.makeRequest(this.buildConversationActivityPayload(a,b,c,d)),"lastActivity"):[],g=new Map;for(let a of f){let b=h(l(a));if(!b)continue;let c=new Date(b),d=`${c.getFullYear()}-${String(c.getMonth()+1).padStart(2,"0")}-${String(c.getDate()).padStart(2,"0")}`;g.set(d,(g.get(d)||0)+1)}return m(a,b).map(a=>({date:a,count:g.get(a)||0}))}catch(c){return console.error("getConversationsPerDay error:",c),m(a,b).map(a=>({date:a,count:0}))}}async getAggregateStats(a,b,c,d,e){try{let f=await this.makeRequest(this.buildCombinedPayload(a,b,c,d,e)),h=this.extractSeries(f,"tools"),i=this.extractSeries(f,"transfers"),j=this.extractSeries(f,"delegations"),k=this.extractSeries(f,"aiCalls"),l=this.extractSeries(f,"conversationMetadata"),m=this.extractSeries(f,"contextErrors"),n=this.extractSeries(f,"agentGenerationErrors"),o=new Map;for(let a of l){let b=a.labels?.[g.SH.CONVERSATION_ID];b&&o.set(b,{tenantId:a.labels?.[g.SH.TENANT_ID]??g.PC,graphId:a.labels?.[g.SH.GRAPH_ID]??g.PC,graphName:a.labels?.[g.SH.GRAPH_NAME]??g.PC})}let p=this.toConversationStats(h,i,j,k,o,m,n,new Map);return(c?.spanName||c?.attributes?.length)&&(p=await this.applySpanFilters(p,a,b,c,d)),{totalToolCalls:p.reduce((a,b)=>a+b.totalToolCalls,0),totalTransfers:p.reduce((a,b)=>a+b.totalTransfers,0),totalDelegations:p.reduce((a,b)=>a+b.totalDelegations,0),totalConversations:p.length,totalAICalls:p.reduce((a,b)=>a+b.totalAICalls,0)}}catch(a){return console.error("getAggregateStats error:",a),{totalToolCalls:0,totalTransfers:0,totalDelegations:0,totalConversations:0,totalAICalls:0}}}async getAvailableSpanNames(a,b,c,d){try{let e=[{key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EXISTS,value:""}];c&&"all"!==c&&e.push({key:{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}),d&&e.push({key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d});let f={start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.LIST,builderQueries:{spanNames:{dataSource:g.YL.TRACES,queryName:g.XQ.SPAN_NAMES,aggregateOperator:g.qf.NOOP,aggregateAttribute:{},filters:{op:g.we.AND,items:e},selectColumns:[{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN}],expression:g.XQ.SPAN_NAMES,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,stepInterval:g.yZ.STEP_INTERVAL,limit:g.yZ.LIMIT_1000,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],groupBy:g.yZ.EMPTY_GROUP_BY,offset:g.yZ.OFFSET}}},dataSource:g.YL.TRACES,projectId:d},h=await this.makeRequest(f),i=h?.data?.result?.find(a=>a?.queryName==="spanNames")?.list??[],j=new Set;for(let a of i){let b=a?.data?.name??a?.name;b&&j.add(b)}return[...j].sort()}catch(a){return console.error("getAvailableSpanNames error:",a),[]}}toConversationStats(a,b,c,d,e,f,h,i){let j=new Map,l=a=>{let b=j.get(a);if(b)return b;let c={totalToolCalls:0,toolsUsed:new Map,transfers:new Map,totalTransfers:0,delegations:new Map,totalDelegations:0,totalAICalls:0,totalErrors:0};return j.set(a,c),c};for(let b of a){let a=b.labels?.[g.SH.CONVERSATION_ID];if(!a)continue;let c=b.labels?.[g.SH.AI_TOOL_CALL_NAME];if(!c)continue;let d=k(b);if(!d)continue;let e=b.labels?.[g.SH.MCP_TOOL_DESCRIPTION]||"",f=l(a);f.totalToolCalls+=d;let h=f.toolsUsed.get(c)||{name:c,calls:0,description:e};h.calls+=d,f.toolsUsed.set(c,h)}for(let a of b){let b=a.labels?.[g.SH.CONVERSATION_ID];if(!b)continue;let c=a.labels?.[g.SH.TRANSFER_FROM_AGENT_ID],d=a.labels?.[g.SH.TRANSFER_TO_AGENT_ID],e=k(a);if(!c||!d||!e)continue;let f=l(b);f.totalTransfers+=e;let h=`${c}→${d}`,i=f.transfers.get(h)||{from:c,to:d,count:0};i.count+=e,f.transfers.set(h,i)}for(let a of c){let b=a.labels?.[g.SH.CONVERSATION_ID];if(!b)continue;let c=a.labels?.[g.SH.DELEGATION_FROM_AGENT_ID],d=a.labels?.[g.SH.DELEGATION_TO_AGENT_ID],e=k(a);if(!c||!d||!e)continue;let f=l(b);f.totalDelegations+=e;let h=`${c}→${d}`,i=f.delegations.get(h)||{from:c,to:d,count:0};i.count+=e,f.delegations.set(h,i)}for(let a of d){let b=a.labels?.[g.SH.CONVERSATION_ID];if(!b)continue;let c=k(a);c&&(l(b).totalAICalls+=c)}for(let a of[...f,...h]){let b=a.labels?.[g.SH.CONVERSATION_ID];if(!b)continue;let c=k(a);c&&(l(b).totalErrors+=c)}let m=[];for(let a of new Set([...j.keys(),...e.keys()])){let b=j.get(a)||l(a),c=e.get(a)||{tenantId:g.PC,graphId:g.PC,graphName:g.PC};m.push({conversationId:a,tenantId:c.tenantId,graphId:c.graphId,graphName:c.graphName||"",totalToolCalls:b.totalToolCalls,toolsUsed:[...b.toolsUsed.values()],transfers:[...b.transfers.values()],totalTransfers:b.totalTransfers,delegations:[...b.delegations.values()],totalDelegations:b.totalDelegations,totalAICalls:b.totalAICalls,totalErrors:b.totalErrors,hasErrors:b.totalErrors>0,firstUserMessage:i.get(a)?.content,startTime:i.get(a)?.timestamp})}return m}async applySpanFilters(a,b,c,d,e){try{let f=await this.makeRequest(this.buildFilteredConversationsPayload(b,c,d,e)),h=this.extractSeries(f,"filteredConversations"),i=new Set(h.map(a=>a.labels?.[g.SH.CONVERSATION_ID]).filter(Boolean));return a.filter(a=>i.has(a.conversationId))}catch(b){return console.error("applySpanFilters error:",b),a}}buildAgentModelBreakdownPayload(a,b,c){return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{agentModelCalls:{dataSource:g.YL.TRACES,queryName:g.XQ.AGENT_MODEL_CALLS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:[{key:{key:g.SH.AI_OPERATION_ID,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.yR.GENERATE_TEXT},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},...c?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[]]},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.AI_TELEMETRY_FUNCTION_ID,...g.A3.STRING_TAG_COLUMN},{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG},{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG_COLUMN}],expression:g.XQ.AGENT_MODEL_CALLS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:c}}buildModelBreakdownPayload(a,b,c){return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{modelCalls:{dataSource:g.YL.TRACES,queryName:g.XQ.MODEL_CALLS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:[{key:{key:g.SH.AI_OPERATION_ID,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.yR.GENERATE_TEXT},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},...c?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[]]},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG_COLUMN},{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG}],expression:g.XQ.MODEL_CALLS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_ZERO}}},dataSource:g.YL.TRACES,projectId:c}}buildConversationActivityPayload(a,b,c,d){let e=[{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},...c&&"all"!==c?[{key:{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[],...d?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d}]:[]];return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{lastActivity:{dataSource:g.YL.TRACES,queryName:g.XQ.LAST_ACTIVITY,aggregateOperator:g.qf.MIN,aggregateAttribute:{key:g.SH.TIMESTAMP,...g.A3.INT64_TAG_COLUMN},filters:{op:g.we.AND,items:e},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG}],expression:g.XQ.LAST_ACTIVITY,reduceTo:g.U_.MIN,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:d}}buildConversationMetadataPayload(a,b,c,d){let e=[{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.TENANT_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},...c&&"all"!==c?[{key:{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[],...d?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d}]:[]];return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{conversationMetadata:{dataSource:g.YL.TRACES,queryName:g.XQ.CONVERSATION_METADATA,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:e},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.TENANT_ID,...g.A3.STRING_TAG},{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG},{key:g.SH.GRAPH_NAME,...g.A3.STRING_TAG}],expression:g.XQ.CONVERSATION_METADATA,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:d}}buildFilteredConversationsPayload(a,b,c,d){let e=[{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}];for(let a of(c.spanName&&e.push({key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:c.spanName}),c.attributes??[])){let b=a.operator??g.we.EQUALS,c=j(a.value),d="string";if("boolean"==typeof c?d="bool":"number"==typeof c&&(d=Number.isInteger(c)?"int64":"float64"),b===g.we.EXISTS||b===g.we.NOT_EXISTS){e.push({key:{key:a.key,...g.A3.STRING_TAG},op:b,value:""});continue}if(b!==g.we.LIKE&&b!==g.we.NOT_LIKE||"string"!=typeof c||c.includes("%")||(c=`%${c}%`),("int64"===d||"float64"===d)&&b===g.we.EQUALS){let b="int64"===d?g.A3.INT64_TAG:g.A3.FLOAT64_TAG;e.push({key:{key:a.key,...b},op:g.we.GREATER_THAN_OR_EQUAL,value:c}),e.push({key:{key:a.key,...b},op:g.we.LESS_THAN_OR_EQUAL,value:c})}else{let f="string"===d?g.A3.STRING_TAG:"int64"===d?g.A3.INT64_TAG:"float64"===d?g.A3.FLOAT64_TAG:g.A3.BOOL_TAG;e.push({key:{key:a.key,...f},op:b,value:c})}}return d&&e.push({key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d}),{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{filteredConversations:{dataSource:g.YL.TRACES,queryName:g.XQ.FILTERED_CONVERSATIONS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:e},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG}],expression:g.XQ.FILTERED_CONVERSATIONS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:d}}buildCombinedPayload(a,b,c,d,e){let f=a=>{let b=a;return d&&(b=[...b,{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d}]),e&&(b=[...b,{key:{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:e}]),b};return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{tools:{dataSource:g.YL.TRACES,queryName:g.XQ.TOOLS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.aR.AI_TOOL_CALL},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.AI_TOOL_TYPE,...g.A3.STRING_TAG},op:g.we.EQUALS,value:g.cZ.MCP}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.AI_TOOL_CALL_NAME,...g.A3.STRING_TAG}],expression:g.XQ.TOOLS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},transfers:{dataSource:g.YL.TRACES,queryName:g.XQ.TRANSFERS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.aR.AI_TOOL_CALL},{key:{key:g.SH.AI_TOOL_TYPE,...g.A3.STRING_TAG},op:g.we.EQUALS,value:g.cZ.TRANSFER},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.TRANSFER_FROM_AGENT_ID,...g.A3.STRING_TAG},{key:g.SH.TRANSFER_TO_AGENT_ID,...g.A3.STRING_TAG}],expression:g.XQ.TRANSFERS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},delegations:{dataSource:g.YL.TRACES,queryName:g.XQ.DELEGATIONS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.aR.AI_TOOL_CALL},{key:{key:g.SH.AI_TOOL_TYPE,...g.A3.STRING_TAG},op:g.we.EQUALS,value:g.cZ.DELEGATION},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.DELEGATION_FROM_AGENT_ID,...g.A3.STRING_TAG},{key:g.SH.DELEGATION_TO_AGENT_ID,...g.A3.STRING_TAG}],expression:g.XQ.DELEGATIONS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},conversationMetadata:{dataSource:g.YL.TRACES,queryName:g.XQ.CONVERSATION_METADATA,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.TENANT_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.TENANT_ID,...g.A3.STRING_TAG},{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG},{key:g.SH.GRAPH_NAME,...g.A3.STRING_TAG}],expression:g.XQ.CONVERSATION_METADATA,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},aiCalls:{dataSource:g.YL.TRACES,queryName:g.XQ.AI_CALLS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.AI_OPERATION_ID,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.yR.GENERATE_TEXT},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG},{key:"ai.telemetry.functionId",...g.A3.STRING_TAG_COLUMN}],expression:g.XQ.AI_CALLS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},lastActivity:{dataSource:g.YL.TRACES,queryName:g.XQ.LAST_ACTIVITY,aggregateOperator:g.qf.MIN,aggregateAttribute:{key:g.SH.TIMESTAMP,...g.A3.INT64_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG}],expression:g.XQ.LAST_ACTIVITY,reduceTo:g.U_.MIN,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},contextErrors:{dataSource:g.YL.TRACES,queryName:g.XQ.CONTEXT_ERRORS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.aR.CONTEXT_HANDLE},{key:{key:g.SH.HAS_ERROR,...g.A3.BOOL_TAG_COLUMN},op:g.we.EQUALS,value:!0},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG}],expression:g.XQ.CONTEXT_ERRORS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},agentGenerationErrors:{dataSource:g.YL.TRACES,queryName:g.XQ.AGENT_GENERATION_ERRORS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.aR.AGENT_GENERATION},{key:{key:g.SH.HAS_ERROR,...g.A3.BOOL_TAG_COLUMN},op:g.we.EQUALS,value:!0},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG}],expression:g.XQ.AGENT_GENERATION_ERRORS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},userMessages:{dataSource:g.YL.TRACES,queryName:g.XQ.USER_MESSAGES,aggregateOperator:g.qf.MIN,aggregateAttribute:{key:g.SH.TIMESTAMP,...g.A3.INT64_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.MESSAGE_CONTENT,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.MESSAGE_CONTENT,...g.A3.STRING_TAG}],expression:g.XQ.USER_MESSAGES,reduceTo:g.U_.MIN,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.ASC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:d}}buildUniqueGraphsPayload(a,b,c){let d=[{key:{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG},op:g.we.NOT_EQUALS,value:g.PC},...c?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[]];return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{uniqueGraphs:{dataSource:g.YL.TRACES,queryName:g.XQ.UNIQUE_GRAPHS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:d},groupBy:[{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG}],expression:g.XQ.UNIQUE_GRAPHS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.GRAPH_ID,order:g.SL.ASC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:c}}buildUniqueModelsPayload(a,b,c){let d=[{key:{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG_COLUMN},op:g.we.EXISTS,value:""},{key:{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG_COLUMN},op:g.we.NOT_EQUALS,value:g.PC},...c?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[]];return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{uniqueModels:{dataSource:g.YL.TRACES,queryName:g.XQ.UNIQUE_MODELS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:d},groupBy:[{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG_COLUMN}],expression:g.XQ.UNIQUE_MODELS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.AI_MODEL_ID,order:g.SL.ASC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:c}}}let o=null;function p(){return o??=new n}},49540:(a,b,c)=>{c.d(b,{bq:()=>l,eb:()=>n,gC:()=>m,l6:()=>j,yv:()=>k});var d=c(59111),e=c(41404),f=c(67048),g=c(39108),h=c(25773),i=c(42723);function j({...a}){return(0,d.jsx)(e.bL,{"data-slot":"select",...a})}function k({...a}){return(0,d.jsx)(e.WT,{"data-slot":"select-value",...a})}function l({className:a,size:b="default",children:c,...g}){return(0,d.jsxs)(e.l9,{"data-slot":"select-trigger","data-size":b,className:(0,i.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 font-normal normal-case",a),...g,children:[c,(0,d.jsx)(e.In,{asChild:!0,children:(0,d.jsx)(f.A,{className:"size-4 opacity-50"})})]})}function m({className:a,children:b,position:c="popper",...f}){return(0,d.jsx)(e.ZL,{children:(0,d.jsxs)(e.UC,{"data-slot":"select-content",className:(0,i.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto scrollbar-thin scrollbar-thumb-muted-foreground/30 dark:scrollbar-thumb-muted-foreground/50 scrollbar-track-transparent rounded-md border shadow-md","popper"===c&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:c,...f,children:[(0,d.jsx)(o,{}),(0,d.jsx)(e.LM,{className:(0,i.cn)("p-1","popper"===c&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:b}),(0,d.jsx)(p,{})]})})}function n({className:a,children:b,...c}){return(0,d.jsxs)(e.q7,{"data-slot":"select-item",className:(0,i.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",a),...c,children:[(0,d.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,d.jsx)(e.VF,{children:(0,d.jsx)(g.A,{className:"size-4"})})}),(0,d.jsx)(e.p4,{children:b})]})}function o({className:a,...b}){return(0,d.jsx)(e.PP,{"data-slot":"select-scroll-up-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(h.A,{className:"size-4"})})}function p({className:a,...b}){return(0,d.jsx)(e.wn,{"data-slot":"select-scroll-down-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(f.A,{className:"size-4"})})}},50508:(a,b,c)=>{c.r(b),c.d(b,{"40cd5eaee616787cf1427e0ea298bfc9c5ded3b0ec":()=>d.vj,"60117624eefdf4d0fabeca4eefd3eebb422a3ce216":()=>d.gA,"60155821740f703f49fdfc5f15a35c26a0bea01a46":()=>d.Sw,"60a7c7644a7895be39beb54696f5a9ead44600c7a7":()=>d.xx,"709d629750df3b592aab47d64ebe62d60526c21d54":()=>d.vr});var d=c(54637)}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=6675,exports.ids=[6675],exports.modules={6461:(a,b,c)=>{let d,e;c.d(b,{Ak:()=>g});var f=c(77598);function g(a=21){var b;b=a|=0,!d||d.length<b?(d=Buffer.allocUnsafe(128*b),f.webcrypto.getRandomValues(d),e=0):e+b>d.length&&(f.webcrypto.getRandomValues(d),e=0),e+=b;let c="";for(let b=e-a;b<e;b++)c+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&d[b]];return c}},12463:(a,b,c)=>{c.d(b,{E:()=>i});var d=c(59111),e=c(98848),f=c(53433),g=c(42723);let h=(0,f.F)("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",primary:"border border-primary/50 text-primary bg-primary/5 rounded-sm p-0.5 px-1.5 font-mono",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",code:"text-xs text-muted-foreground border bg-muted/80 dark:bg-muted/50 rounded-sm p-0.5 px-1.5 font-mono",success:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-emerald-50 border-emerald-200 text-emerald-800 dark:text-emerald-300 dark:bg-emerald-950/40 uppercase",error:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-red-50 border-red-200 text-red-800 dark:border-red-700 dark:text-red-300 dark:bg-red-950/40 uppercase",warning:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-amber-50 border-amber-200 text-amber-800 dark:border-amber-700 dark:text-amber-300 dark:bg-amber-950/40 uppercase",sky:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-sky-50 border-sky-200 text-sky-800 dark:border-sky-700 dark:text-sky-300 dark:bg-sky-950/40",violet:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-violet-50 border-violet-200 text-violet-800 dark:border-violet-700 dark:text-violet-300 dark:bg-violet-950/40",orange:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-orange-50 border-orange-200 text-orange-800 dark:border-orange-700 dark:text-orange-300 dark:bg-orange-950/40"}},defaultVariants:{variant:"default"}});function i({className:a,variant:b,asChild:c=!1,...f}){let i=c?e.DX:"span";return(0,d.jsx)(i,{"data-slot":"badge",className:(0,g.cn)(h({variant:b}),a),...f})}},24703:(a,b,c)=>{c.d(b,{S:()=>h});var d=c(59111),e=c(51006),f=c(39108),g=c(42723);function h({className:a,...b}){return(0,d.jsx)(e.bL,{"data-slot":"checkbox",className:(0,g.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",a),...b,children:(0,d.jsx)(e.C1,{"data-slot":"checkbox-indicator",className:"flex items-center justify-center text-current transition-none",children:(0,d.jsx)(f.A,{className:"size-3.5"})})})}},49540:(a,b,c)=>{c.d(b,{bq:()=>l,eb:()=>n,gC:()=>m,l6:()=>j,yv:()=>k});var d=c(59111),e=c(41404),f=c(67048),g=c(39108),h=c(25773),i=c(42723);function j({...a}){return(0,d.jsx)(e.bL,{"data-slot":"select",...a})}function k({...a}){return(0,d.jsx)(e.WT,{"data-slot":"select-value",...a})}function l({className:a,size:b="default",children:c,...g}){return(0,d.jsxs)(e.l9,{"data-slot":"select-trigger","data-size":b,className:(0,i.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 font-normal normal-case",a),...g,children:[c,(0,d.jsx)(e.In,{asChild:!0,children:(0,d.jsx)(f.A,{className:"size-4 opacity-50"})})]})}function m({className:a,children:b,position:c="popper",...f}){return(0,d.jsx)(e.ZL,{children:(0,d.jsxs)(e.UC,{"data-slot":"select-content",className:(0,i.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto scrollbar-thin scrollbar-thumb-muted-foreground/30 dark:scrollbar-thumb-muted-foreground/50 scrollbar-track-transparent rounded-md border shadow-md","popper"===c&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:c,...f,children:[(0,d.jsx)(o,{}),(0,d.jsx)(e.LM,{className:(0,i.cn)("p-1","popper"===c&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:b}),(0,d.jsx)(p,{})]})})}function n({className:a,children:b,...c}){return(0,d.jsxs)(e.q7,{"data-slot":"select-item",className:(0,i.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",a),...c,children:[(0,d.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,d.jsx)(e.VF,{children:(0,d.jsx)(g.A,{className:"size-4"})})}),(0,d.jsx)(e.p4,{children:b})]})}function o({className:a,...b}){return(0,d.jsx)(e.PP,{"data-slot":"select-scroll-up-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(h.A,{className:"size-4"})})}function p({className:a,...b}){return(0,d.jsx)(e.wn,{"data-slot":"select-scroll-down-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(f.A,{className:"size-4"})})}},51006:(a,b,c)=>{c.d(b,{C1:()=>x,bL:()=>v});var d=c(14450),e=c(90890),f=c(2102),g=c(13254),h=c(19975),i=c(82087),j=c(22871),k=c(66261),l=c(6118),m=c(59111),n="Checkbox",[o,p]=(0,f.A)(n),[q,r]=o(n);function s(a){let{__scopeCheckbox:b,checked:c,children:e,defaultChecked:f,disabled:g,form:i,name:j,onCheckedChange:k,required:l,value:o="on",internal_do_not_use_render:p}=a,[r,s]=(0,h.i)({prop:c,defaultProp:f??!1,onChange:k,caller:n}),[t,u]=d.useState(null),[v,w]=d.useState(null),x=d.useRef(!1),y=!t||!!i||!!t.closest("form"),z={checked:r,disabled:g,setChecked:s,control:t,setControl:u,name:j,form:i,value:o,hasConsumerStoppedPropagationRef:x,required:l,defaultChecked:!A(f)&&f,isFormControl:y,bubbleInput:v,setBubbleInput:w};return(0,m.jsx)(q,{scope:b,...z,children:"function"==typeof p?p(z):e})}var t="CheckboxTrigger",u=d.forwardRef(({__scopeCheckbox:a,onKeyDown:b,onClick:c,...f},h)=>{let{control:i,value:j,disabled:k,checked:n,required:o,setControl:p,setChecked:q,hasConsumerStoppedPropagationRef:s,isFormControl:u,bubbleInput:v}=r(t,a),w=(0,e.s)(h,p),x=d.useRef(n);return d.useEffect(()=>{let a=i?.form;if(a){let b=()=>q(x.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[i,q]),(0,m.jsx)(l.sG.button,{type:"button",role:"checkbox","aria-checked":A(n)?"mixed":n,"aria-required":o,"data-state":B(n),"data-disabled":k?"":void 0,disabled:k,value:j,...f,ref:w,onKeyDown:(0,g.mK)(b,a=>{"Enter"===a.key&&a.preventDefault()}),onClick:(0,g.mK)(c,a=>{q(a=>!!A(a)||!a),v&&u&&(s.current=a.isPropagationStopped(),s.current||a.stopPropagation())})})});u.displayName=t;var v=d.forwardRef((a,b)=>{let{__scopeCheckbox:c,name:d,checked:e,defaultChecked:f,required:g,disabled:h,value:i,onCheckedChange:j,form:k,...l}=a;return(0,m.jsx)(s,{__scopeCheckbox:c,checked:e,defaultChecked:f,disabled:h,required:g,onCheckedChange:j,name:d,form:k,value:i,internal_do_not_use_render:({isFormControl:a})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(u,{...l,ref:b,__scopeCheckbox:c}),a&&(0,m.jsx)(z,{__scopeCheckbox:c})]})})});v.displayName=n;var w="CheckboxIndicator",x=d.forwardRef((a,b)=>{let{__scopeCheckbox:c,forceMount:d,...e}=a,f=r(w,c);return(0,m.jsx)(k.C,{present:d||A(f.checked)||!0===f.checked,children:(0,m.jsx)(l.sG.span,{"data-state":B(f.checked),"data-disabled":f.disabled?"":void 0,...e,ref:b,style:{pointerEvents:"none",...a.style}})})});x.displayName=w;var y="CheckboxBubbleInput",z=d.forwardRef(({__scopeCheckbox:a,...b},c)=>{let{control:f,hasConsumerStoppedPropagationRef:g,checked:h,defaultChecked:k,required:n,disabled:o,name:p,value:q,form:s,bubbleInput:t,setBubbleInput:u}=r(y,a),v=(0,e.s)(c,u),w=(0,i.Z)(h),x=(0,j.X)(f);d.useEffect(()=>{if(!t)return;let a=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,b=!g.current;if(w!==h&&a){let c=new Event("click",{bubbles:b});t.indeterminate=A(h),a.call(t,!A(h)&&h),t.dispatchEvent(c)}},[t,w,h,g]);let z=d.useRef(!A(h)&&h);return(0,m.jsx)(l.sG.input,{type:"checkbox","aria-hidden":!0,defaultChecked:k??z.current,required:n,disabled:o,name:p,value:q,form:s,...b,tabIndex:-1,ref:v,style:{...b.style,...x,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function A(a){return"indeterminate"===a}function B(a){return A(a)?"indeterminate":a?"checked":"unchecked"}z.displayName=y},55124:(a,b,c)=>{c.d(b,{U:()=>g});var d=c(59111),e=c(49540),f=c(71771);function g({control:a,name:b,label:c,placeholder:g,options:h,disabled:i=!1,selectTriggerClassName:j,isRequired:k=!1}){return(0,d.jsx)(f.u,{control:a,name:b,label:c,isRequired:k,children:a=>(0,d.jsxs)(e.l6,{onValueChange:a.onChange,defaultValue:a.value,disabled:i,children:[(0,d.jsx)(e.bq,{disabled:i,className:j,children:(0,d.jsx)(e.yv,{placeholder:g})}),(0,d.jsx)(e.gC,{children:h.map(a=>(0,d.jsx)(e.eb,{value:a.value,disabled:a.disabled,children:a.label},a.value))})]})})}},72969:(a,b,c)=>{c.d(b,{MCPServerForm:()=>d});let d=(0,c(60241).registerClientReference)(function(){throw Error("Attempted to call MCPServerForm() from the server but MCPServerForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/components/mcp-servers/form/mcp-server-form.tsx","MCPServerForm")},74499:(a,b,c)=>{c.d(b,{MCPServerForm:()=>C});var d=c(59111),e=c(59099),f=c(35558),g=c(6461),h=c(485),i=c(94150),j=c(68156),k=c(17130),l=c(55124),m=c(2856),n=c(93622),o=c(82551),p=c(90147);let q=(0,p.createServerReference)("7099d48bbba21f9db33883703ecfbe8524723633b9",p.callServer,void 0,p.findSourceMapURL,"createMCPTool");var r=c(91740),s=c(39108),t=c(14450),u=c(12463),v=c(24703),w=c(37671);function x({control:a,name:b,label:c,availableTools:e=[],description:f,disabled:g=!1}){let{field:{value:h,onChange:j},fieldState:{error:k}}=(0,i.as)({name:b,control:a}),l=(0,t.useMemo)(()=>"object"==typeof h&&null!==h&&"type"in h?"all"===h.type?{type:"all"}:"selective"===h.type&&Array.isArray(h.tools)?{type:"selective",tools:h.tools}:{type:"selective",tools:[]}:{type:"selective",tools:[]},[h]),o=()=>{j({type:"all"})},p=()=>{j({type:"selective",tools:[]})},q=(a,b)=>{if("all"===l.type){let c=e.map(a=>a.name).filter(b=>b!==a);j({type:"selective",tools:b?[...c,a]:c})}else j({type:"selective",tools:b?[...l.tools.filter(b=>b!==a),a]:l.tools.filter(b=>b!==a)})},x=()=>{switch(l.type){case"all":return e.length;case"selective":return l.tools.filter(a=>e.some(b=>b.name===a)).length;default:return 0}},y=x()===e.length;return(0,d.jsx)(n.zB,{control:a,name:b,render:()=>(0,d.jsxs)(n.eI,{children:[(0,d.jsxs)(n.lR,{children:[c,(0,d.jsx)(u.E,{variant:"code",className:"border-none px-2 text-[10px] text-muted-foreground",children:x()})]}),f&&(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:f}),(0,d.jsxs)("div",{className:"mt-2",children:[0===e.length&&(0,d.jsx)("div",{className:"text-sm text-muted-foreground border rounded-md p-3 py-2 bg-gray-100/80 dark:bg-sidebar",children:"No tools available from this server"}),e.length>0&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 justify-between py-3 px-6 rounded-t-lg border border-b-0",children:[(0,d.jsxs)("div",{className:"text-sm",children:[x()," ",(0,d.jsxs)("span",{className:"text-gray-400 dark:text-white/40",children:["/ ",e.length," tool",1===e.length?"":"s"]})]}),y?(0,d.jsxs)(m.$,{type:"button",variant:"outline",size:"sm",onClick:p,disabled:g,children:[(0,d.jsx)(r.A,{className:"w-4 h-4 text-muted-foreground"}),"Deselect all"]}):(0,d.jsxs)(m.$,{type:"button",variant:"outline",size:"sm",onClick:o,disabled:g,children:[(0,d.jsx)(s.A,{className:"w-4 h-4 text-muted-foreground"}),"Select all"]})]}),(0,d.jsx)("div",{className:"max-h-96 overflow-y-auto border rounded-lg rounded-t-none scrollbar-thin scrollbar-thumb-muted-foreground/30 dark:scrollbar-thumb-muted-foreground/50 scrollbar-track-transparent",children:e.map(a=>{let b=(a=>{switch(l.type){case"all":return e.some(b=>b.name===a);case"selective":return l.tools.includes(a)&&e.some(b=>b.name===a);default:return!1}})(a.name);return(0,d.jsxs)("div",{className:"space-y-2 flex items-start gap-6 border-b last:border-b-0 py-4 px-6 relative",children:[(0,d.jsx)("div",{className:"flex items-center h-[22px]",children:(0,d.jsx)(v.S,{checked:b,disabled:g,className:"mb-0",onClick:()=>!g&&q(a.name,!b)})}),(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)(u.E,{variant:b?"primary":"code",className:`font-mono font-medium text-xs cursor-pointer transition-colors ${g?"opacity-50 cursor-not-allowed":""}`,onClick:()=>!g&&q(a.name,!b),children:a.name}),(0,d.jsxs)(w.Tooltip,{delayDuration:800,children:[(0,d.jsx)(w.TooltipTrigger,{asChild:!0,children:(0,d.jsx)("p",{className:"text-sm text-muted-foreground line-clamp-1",children:a.description})}),(0,d.jsx)(w.TooltipContent,{side:"bottom",align:"start",children:a.description})]})]})]},a.name)})})]})]}),(0,d.jsx)(n.C5,{children:k?.message})]})})}var y=c(45809);let z=y.discriminatedUnion("type",[y.object({type:y.literal("all")}),y.object({type:y.literal("selective"),tools:y.array(y.string())})]),A=y.object({name:y.string().min(1,"Name is required."),config:y.object({type:y.literal("mcp"),mcp:y.object({server:y.object({url:y.string().url("Must be a valid URL.")}),transport:y.object({type:y.nativeEnum(f.o7)}),toolsConfig:z.default({type:"all"})})}),credentialReferenceId:y.string().nullish(),imageUrl:y.string().optional()}),B={name:"",config:{type:"mcp",mcp:{server:{url:""},transport:{type:f.o7.streamableHttp},toolsConfig:{type:"all"}}},imageUrl:"",credentialReferenceId:"none"};function C({initialData:a,mode:b="create",tool:c,credentials:p,tenantId:r,projectId:s}){let t=(0,h.useRouter)(),u=(0,i.mN)({resolver:(0,e.u)(A),defaultValues:{...B,...a}}),{isSubmitting:v}=u.formState,w=async a=>{try{let d={...a,credentialReferenceId:"none"===a.credentialReferenceId?null:a.credentialReferenceId,config:{...a.config,mcp:{...a.config.mcp,activeTools:(a=>{if("all"===a.type)return;let b=c?.availableTools?.map(a=>a.name)||[];return a.tools.filter(a=>b.includes(a))})(a.config.mcp.toolsConfig)}}};if("update"===b&&c)await (0,o.Y)(r,s,c.id,d),j.oR.success("MCP server updated successfully"),t.push(`/${r}/projects/${s}/mcp-servers/${c.id}`);else{let a=await q(r,s,{...d,id:(0,g.Ak)()});j.oR.success("MCP server created successfully"),t.push(`/${r}/projects/${s}/mcp-servers/${a.id}`)}}catch(a){console.error(`Failed to ${b} MCP tool:`,a),j.oR.error(`Failed to ${b} MCP server. Please try again.`)}};return(0,d.jsx)(n.lV,{...u,children:(0,d.jsxs)("form",{onSubmit:u.handleSubmit(w),className:"space-y-8",children:[(0,d.jsx)(k.a,{control:u.control,name:"name",label:"Name",placeholder:"MCP server",isRequired:!0}),(0,d.jsx)(k.a,{control:u.control,name:"config.mcp.server.url",label:"URL",placeholder:"https://api.example.com/mcp",isRequired:!0}),(0,d.jsx)(l.U,{control:u.control,selectTriggerClassName:"w-full",name:"config.mcp.transport.type",label:"Transport type",placeholder:"Select transport type",options:[{value:f.o7.streamableHttp,label:"Streamable HTTP"},{value:f.o7.sse,label:"Server-Sent Events (SSE)"}]}),(0,d.jsx)(k.a,{control:u.control,name:"imageUrl",label:"Image URL (optional)",placeholder:"https://example.com/icon.png or data:image/png;base64,..."}),(0,d.jsx)(l.U,{control:u.control,selectTriggerClassName:"w-full",name:"credentialReferenceId",label:"Credential",placeholder:"Select a credential",options:[{value:"none",label:"No Authentication"},...p.map(a=>({value:a.id,label:a.id}))]}),"update"===b&&(0,d.jsx)(x,{control:u.control,name:"config.mcp.toolsConfig",label:"Tools",availableTools:c?.availableTools||[],description:"Select which tools should be enabled for this MCP server"}),(0,d.jsx)(m.$,{type:"submit",disabled:v,children:"update"===b?"Save":"Create"})]})})}},81097:(a,b,c)=>{c.d(b,{$Y:()=>g,GO:()=>i,K3:()=>h,h9:()=>k,nZ:()=>j});var d=c(1274);c(2082);var e=c(53842),f=c(41979);async function g(a,b,c=1,d=50){(0,f.M2)(a),(0,f.nt)(b);let h=new URLSearchParams({page:c.toString(),limit:d.toString()});return(await (0,e.J)(`tenants/${a}/projects/${b}/credentials?${h}`)).data}async function h(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`)).data}async function i(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials`,{method:"POST",body:JSON.stringify(c)})).data}async function j(a,b,c,d){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`,{method:"PUT",body:JSON.stringify(d)})).data}async function k(a,b,c){(0,f.M2)(a),(0,f.nt)(b),await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`,{method:"DELETE"})}(0,c(95454).D)([g,h,i,j,k]),(0,d.A)(g,"782e24cf435e08dc067ae7759963928612338fd7e4",null),(0,d.A)(h,"70ad2376439cedddd551a1979a81e554a7c5862220",null),(0,d.A)(i,"701b0a646bd0a635cab9f9368f7f913262590b510d",null),(0,d.A)(j,"78d826cfdac86df7527423145099ceae090f780b80",null),(0,d.A)(k,"70a5fea1496aa327cfac7a63694059d9fb0055722e",null)},82551:(a,b,c)=>{c.d(b,{Y:()=>e});var d=c(90147);let e=(0,d.createServerReference)("78d7b572072f663e7a100349e95d3618b799ee331e",d.callServer,void 0,d.findSourceMapURL,"updateMCPTool")}};