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