@inkeep/agents-manage-ui 0.0.0-dev-20251021180725 → 0.0.0-dev-20251021181503
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 +219 -165
- package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +8 -4
- package/.next/standalone/agents-manage-ui/.next/build-manifest.json +5 -5
- package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +3 -3
- package/.next/standalone/agents-manage-ui/.next/react-loadable-manifest.json +9 -9
- package/.next/standalone/agents-manage-ui/.next/routes-manifest.json +38 -0
- 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.js.nft.json +1 -1
- 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]/agents/[agentId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/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.js.nft.json +1 -1
- 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 +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js.nft.json +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.js.nft.json +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.js.nft.json +1 -1
- 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]/external-agents/[externalAgentId]/edit/page.js +2 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page.js.nft.json +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page_client-reference-manifest.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page.js +2 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page.js.nft.json +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page_client-reference-manifest.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page.js +2 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page.js.nft.json +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page_client-reference-manifest.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page.js +2 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page.js.nft.json +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page_client-reference-manifest.js +1 -0
- 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.js.nft.json +1 -1
- 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.js.nft.json +1 -1
- 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.js.nft.json +1 -1
- 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.js.nft.json +1 -1
- 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 +3 -3
- 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 +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js.nft.json +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 +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js.nft.json +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/data-components/[dataComponentId]/generate-preview/route_client-reference-manifest.js +1 -1
- 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.js.nft.json +1 -1
- 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 +8 -4
- package/.next/standalone/agents-manage-ui/.next/server/chunks/{7953.js → 1653.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/1735.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2634.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2848.js +123 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/{4414.js → 2912.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3086.js +196 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/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/4629.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/4944.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/{9222.js → 5478.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5732.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5781.js +1 -14
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5793.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6035.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6060.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6565.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6721.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7013.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7440.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7711.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7988.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7990.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8860.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9394.js +14 -1
- package/.next/standalone/agents-manage-ui/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/agents-manage-ui/.next/server/middleware-react-loadable-manifest.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/13328-7cdffb43af522e3b.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{16631-e313c6f18339824b.js → 16631-6020bdaf3d69b1d9.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/20837-bb4579d108ec132f.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{50285-9138bb26e62daef6.js → 23610-476f03c272ca3950.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/24380.bf03581f9f4f3543.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/2450-e80bfc42611f5806.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/25672-93f2aa7eb2408291.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{4698.3051cd4ec04e2aa4.js → 4698.c8eaa281e28f5497.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/50503-8147daf12b637511.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/54244-d5b0e0495a8ba6ff.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{74811-ceebff5ae7c61a66.js → 57812-14885c4aa73b748e.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{55744-14f65637fb7140bb.js → 74216-541bdcf5750174cf.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{87193-3d26f0490b9b0a29.js → 76125-20d7ba477878f956.js} +3 -3
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{63209-c85b701265732b38.js → 90777-529736d21bc531c4.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/92580-8da57347f4ec8f0d.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/99458-561dd09c8e46e93b.js +2 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/{page-559a0e2feb9d1b88.js → page-cf6d8b309524a6a4.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/{page-e4badb90e08fca0e.js → page-c4db7bcff51d7bcd.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/{page-fd4931a4dce7bbcc.js → page-0198738719aade6d.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-e2ef59e68782fef0.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-5a2f0b3eb7b9bede.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-62ac2a74e0e3c202.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/{page-4fd992b333ee8376.js → page-ee610980e823a381.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/{page-d4178e9e1916d13a.js → page-81fb8f0e0da184b2.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/page-a5dd61821ccc3368.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-9b60c2a4d919b4b8.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-06480b4647090c3d.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-8b956cdee22f9770.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-df1ac1dca5b29f1d.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/{page-8039ddab76f9faaf.js → page-921320ba530d1773.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page-bd0cead36aa29cda.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page-ec2d6dba69b9f4c6.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/new/page-a1f80beb45dc2276.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/page-6502a0a11215e5cf.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/{page-00d3bd4e0e0283ca.js → page-c990397341b90672.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-4f8d9541b96da7d8.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/{page-d174ad393f08c235.js → page-03c7faf211e2744e.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/{page-c378465695b7fcbd.js → page-12a8345548e2abc2.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/page-535499d8ef464a34.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/ai-calls/page-e1b396ac418b8a24.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-fe6a59c18be829f1.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-53f9be3e392609d2.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-e62e04f2573a78d7.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{webpack-d65a3369c23bc1a6.js → webpack-f5115703464e7f56.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/css/feeaa90d59b8c0fb.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]/agents/[agentId]/page.tsx +18 -10
- package/src/app/[tenantId]/projects/[projectId]/agents/new/page.tsx +13 -7
- package/src/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page.tsx +86 -0
- package/src/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page.tsx +52 -0
- package/src/app/[tenantId]/projects/[projectId]/external-agents/new/page.tsx +43 -0
- package/src/app/[tenantId]/projects/[projectId]/external-agents/page.tsx +64 -0
- package/src/components/agent/agent.tsx +43 -1
- package/src/components/agent/configuration/node-types.tsx +18 -5
- package/src/components/agent/node-library/node-library.tsx +1 -1
- package/src/components/agent/nodes/external-agent-node.tsx +8 -12
- package/src/components/agent/nodes/{mcp-placeholder-node.tsx → placeholder-node.tsx} +8 -4
- package/src/components/agent/sidepane/nodes/external-agent-node-editor.tsx +72 -17
- package/src/components/agent/sidepane/nodes/external-agent-selector/external-agent-item.tsx +39 -0
- package/src/components/agent/sidepane/nodes/external-agent-selector/external-agent-selector.tsx +114 -0
- package/src/components/agent/sidepane/nodes/external-agent-selector/loading.tsx +26 -0
- package/src/components/agent/sidepane/sidepane.tsx +9 -1
- package/src/components/credentials/credential-resources-list.tsx +146 -0
- package/src/components/credentials/views/credential-form-validation.ts +1 -0
- package/src/components/credentials/views/credential-form.tsx +96 -5
- package/src/components/credentials/views/edit-credential-form.tsx +4 -3
- package/src/components/credentials/views/new-credential-form.tsx +13 -0
- package/src/components/external-agents/external-agent-item.tsx +169 -0
- package/src/components/external-agents/external-agents-list.tsx +29 -0
- package/src/components/external-agents/form/external-agent-form.tsx +146 -0
- package/src/components/external-agents/form/validation.ts +10 -0
- package/src/components/external-agents/view-external-agent-details.tsx +129 -0
- package/src/components/sidebar-nav/sidebar-nav.tsx +6 -0
- package/src/features/agent/domain/deserialize.ts +144 -111
- package/src/features/agent/domain/serialize.ts +142 -77
- package/src/features/agent/state/use-agent-store.ts +27 -3
- package/src/lib/actions/agent-full.ts +1 -1
- package/src/lib/actions/external-agents.ts +73 -0
- package/src/lib/api/credentials.ts +2 -0
- package/src/lib/api/external-agents.ts +121 -0
- package/src/lib/types/agent-full.ts +4 -2
- package/src/lib/types/external-agents.ts +2 -0
- package/src/lib/utils/external-agent-utils.ts +33 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3717.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/4529.js +0 -123
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6358.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6818.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6870.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8162.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/891.js +0 -196
- package/.next/standalone/agents-manage-ui/.next/static/chunks/13328-851660ac17cd9821.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/20837-5c45452d86333b49.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/24380.e6f7d95645e17d66.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/37191-b9540cf50a41d10d.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/50324-6c2b8627fccd09fe.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/61089-ddd70e2d283804f5.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/86507-340cc6112e9218de.js +0 -2
- package/.next/standalone/agents-manage-ui/.next/static/chunks/87817-86c2e7dd6f1d2a25.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-e6a0d040757d714c.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-2ef30d1c4a08bf1c.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-2dc9232570ef8f79.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/page-8030a774459e9505.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-cd615e6939889e58.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-e3410fb65d776373.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-122d64932f58f736.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-0a2a574c78526792.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-626d879ae1110842.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/page-8333b2227270a61e.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/ai-calls/page-3b222f3ae3101ba8.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-dd16edcb356553d6.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-7d8c096775d48dd2.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-460655c327b24cc4.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/css/86b7c14b860f21e3.css +0 -1
- /package/.next/standalone/agents-manage-ui/.next/static/{XDBVQcoBx1lmqIF-dFkO9 → _hhV2vscjy4Dr-g-NJY1d}/_buildManifest.js +0 -0
- /package/.next/standalone/agents-manage-ui/.next/static/{XDBVQcoBx1lmqIF-dFkO9 → _hhV2vscjy4Dr-g-NJY1d}/_ssgManifest.js +0 -0
|
@@ -3,11 +3,15 @@ import { addEdge, applyEdgeChanges, applyNodeChanges } from '@xyflow/react';
|
|
|
3
3
|
import { create } from 'zustand';
|
|
4
4
|
import { devtools } from 'zustand/middleware';
|
|
5
5
|
import { useShallow } from 'zustand/react/shallow';
|
|
6
|
-
import type {
|
|
6
|
+
import type {
|
|
7
|
+
AgentToolConfigLookup,
|
|
8
|
+
SubAgentExternalAgentConfigLookup,
|
|
9
|
+
} from '@/components/agent/agent';
|
|
7
10
|
import type { AgentMetadata } from '@/components/agent/configuration/agent-types';
|
|
8
11
|
import { mcpNodeHandleId, NodeType } from '@/components/agent/configuration/node-types';
|
|
9
12
|
import type { ArtifactComponent } from '@/lib/api/artifact-components';
|
|
10
13
|
import type { DataComponent } from '@/lib/api/data-components';
|
|
14
|
+
import type { ExternalAgent } from '@/lib/types/external-agents';
|
|
11
15
|
import type { MCPTool } from '@/lib/types/tools';
|
|
12
16
|
import type { AgentErrorSummary } from '@/lib/utils/agent-error-parser';
|
|
13
17
|
|
|
@@ -20,7 +24,9 @@ type AgentStateData = {
|
|
|
20
24
|
dataComponentLookup: Record<string, DataComponent>;
|
|
21
25
|
artifactComponentLookup: Record<string, ArtifactComponent>;
|
|
22
26
|
toolLookup: Record<string, MCPTool>;
|
|
27
|
+
externalAgentLookup: Record<string, ExternalAgent>;
|
|
23
28
|
agentToolConfigLookup: AgentToolConfigLookup;
|
|
29
|
+
subAgentExternalAgentConfigLookup: SubAgentExternalAgentConfigLookup;
|
|
24
30
|
dirty: boolean;
|
|
25
31
|
history: HistoryEntry[];
|
|
26
32
|
future: HistoryEntry[];
|
|
@@ -36,13 +42,19 @@ type AgentActions = {
|
|
|
36
42
|
dataComponentLookup?: Record<string, DataComponent>,
|
|
37
43
|
artifactComponentLookup?: Record<string, ArtifactComponent>,
|
|
38
44
|
toolLookup?: Record<string, MCPTool>,
|
|
39
|
-
agentToolConfigLookup?: AgentToolConfigLookup
|
|
45
|
+
agentToolConfigLookup?: AgentToolConfigLookup,
|
|
46
|
+
externalAgentLookup?: Record<string, ExternalAgent>,
|
|
47
|
+
subAgentExternalAgentConfigLookup?: SubAgentExternalAgentConfigLookup
|
|
40
48
|
): void;
|
|
41
49
|
reset(): void;
|
|
42
50
|
setDataComponentLookup(dataComponentLookup: Record<string, DataComponent>): void;
|
|
43
51
|
setArtifactComponentLookup(artifactComponentLookup: Record<string, ArtifactComponent>): void;
|
|
44
52
|
setToolLookup(toolLookup: Record<string, MCPTool>): void;
|
|
45
53
|
setAgentToolConfigLookup(agentToolConfigLookup: AgentToolConfigLookup): void;
|
|
54
|
+
setExternalAgentLookup(externalAgentLookup: Record<string, ExternalAgent>): void;
|
|
55
|
+
setSubAgentExternalAgentConfigLookup(
|
|
56
|
+
subAgentExternalAgentConfigLookup: SubAgentExternalAgentConfigLookup
|
|
57
|
+
): void;
|
|
46
58
|
setNodes(updater: (prev: Node[]) => Node[]): void;
|
|
47
59
|
setEdges(updater: (prev: Edge[]) => Edge[]): void;
|
|
48
60
|
onNodesChange(changes: NodeChange[]): void;
|
|
@@ -88,6 +100,8 @@ const initialAgentState: AgentStateData = {
|
|
|
88
100
|
artifactComponentLookup: {},
|
|
89
101
|
toolLookup: {},
|
|
90
102
|
agentToolConfigLookup: {},
|
|
103
|
+
externalAgentLookup: {},
|
|
104
|
+
subAgentExternalAgentConfigLookup: {},
|
|
91
105
|
dirty: false,
|
|
92
106
|
history: [],
|
|
93
107
|
future: [],
|
|
@@ -107,7 +121,9 @@ export const agentStore = create<AgentState>()(
|
|
|
107
121
|
dataComponentLookup = {},
|
|
108
122
|
artifactComponentLookup = {},
|
|
109
123
|
toolLookup = {},
|
|
110
|
-
agentToolConfigLookup = {}
|
|
124
|
+
agentToolConfigLookup = {},
|
|
125
|
+
externalAgentLookup = {},
|
|
126
|
+
subAgentExternalAgentConfigLookup = {}
|
|
111
127
|
) {
|
|
112
128
|
set({
|
|
113
129
|
nodes,
|
|
@@ -117,6 +133,8 @@ export const agentStore = create<AgentState>()(
|
|
|
117
133
|
artifactComponentLookup,
|
|
118
134
|
toolLookup,
|
|
119
135
|
agentToolConfigLookup,
|
|
136
|
+
externalAgentLookup,
|
|
137
|
+
subAgentExternalAgentConfigLookup,
|
|
120
138
|
dirty: false,
|
|
121
139
|
history: [],
|
|
122
140
|
future: [],
|
|
@@ -139,6 +157,12 @@ export const agentStore = create<AgentState>()(
|
|
|
139
157
|
setAgentToolConfigLookup(agentToolConfigLookup) {
|
|
140
158
|
set({ agentToolConfigLookup });
|
|
141
159
|
},
|
|
160
|
+
setExternalAgentLookup(externalAgentLookup) {
|
|
161
|
+
set({ externalAgentLookup });
|
|
162
|
+
},
|
|
163
|
+
setSubAgentExternalAgentConfigLookup(subAgentExternalAgentConfigLookup) {
|
|
164
|
+
set({ subAgentExternalAgentConfigLookup });
|
|
165
|
+
},
|
|
142
166
|
setNodes(updater) {
|
|
143
167
|
set((state) => ({ nodes: updater(state.nodes) }));
|
|
144
168
|
},
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server actions for external agent operations with path revalidation
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
'use server';
|
|
6
|
+
|
|
7
|
+
import { revalidatePath } from 'next/cache';
|
|
8
|
+
import { deleteExternalAgent, fetchExternalAgents } from '../api/external-agents';
|
|
9
|
+
import { ApiError } from '../types/errors';
|
|
10
|
+
import type { ExternalAgent } from '../types/external-agents';
|
|
11
|
+
import type { ActionResult } from './types';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Fetch all external agents for a project
|
|
15
|
+
*/
|
|
16
|
+
export async function fetchExternalAgentsAction(
|
|
17
|
+
tenantId: string,
|
|
18
|
+
projectId: string
|
|
19
|
+
): Promise<ActionResult<ExternalAgent[]>> {
|
|
20
|
+
try {
|
|
21
|
+
const externalAgents = await fetchExternalAgents(tenantId, projectId);
|
|
22
|
+
return {
|
|
23
|
+
success: true,
|
|
24
|
+
data: externalAgents,
|
|
25
|
+
};
|
|
26
|
+
} catch (error) {
|
|
27
|
+
if (error instanceof ApiError) {
|
|
28
|
+
return {
|
|
29
|
+
success: false,
|
|
30
|
+
error: error.message,
|
|
31
|
+
code: error.error.code,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return {
|
|
36
|
+
success: false,
|
|
37
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred',
|
|
38
|
+
code: 'unknown_error',
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Delete an external agent
|
|
45
|
+
*/
|
|
46
|
+
export async function deleteExternalAgentAction(
|
|
47
|
+
tenantId: string,
|
|
48
|
+
projectId: string,
|
|
49
|
+
externalAgentId: string
|
|
50
|
+
): Promise<ActionResult<void>> {
|
|
51
|
+
try {
|
|
52
|
+
await deleteExternalAgent(tenantId, projectId, externalAgentId);
|
|
53
|
+
revalidatePath(`/${tenantId}/projects/${projectId}/external-agents`);
|
|
54
|
+
revalidatePath(`/${tenantId}/projects/${projectId}/external-agents/${externalAgentId}`);
|
|
55
|
+
return {
|
|
56
|
+
success: true,
|
|
57
|
+
};
|
|
58
|
+
} catch (error) {
|
|
59
|
+
if (error instanceof ApiError) {
|
|
60
|
+
return {
|
|
61
|
+
success: false,
|
|
62
|
+
error: error.message,
|
|
63
|
+
code: error.error.code,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return {
|
|
68
|
+
success: false,
|
|
69
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred',
|
|
70
|
+
code: 'unknown_error',
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import type {
|
|
4
4
|
CredentialReferenceApiInsert,
|
|
5
5
|
CredentialReferenceApiSelect,
|
|
6
|
+
ExternalAgentApiSelect,
|
|
6
7
|
McpTool,
|
|
7
8
|
} from '@inkeep/agents-core';
|
|
8
9
|
import type { ListResponse, SingleResponse } from '../types/response';
|
|
@@ -13,6 +14,7 @@ import { validateProjectId, validateTenantId } from './resource-validation';
|
|
|
13
14
|
// Re-export types from core package for convenience
|
|
14
15
|
export type Credential = CredentialReferenceApiSelect & {
|
|
15
16
|
tools?: McpTool[];
|
|
17
|
+
externalAgents?: ExternalAgentApiSelect[];
|
|
16
18
|
};
|
|
17
19
|
export type CreateCredentialRequest = CredentialReferenceApiInsert;
|
|
18
20
|
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
'use server';
|
|
2
|
+
|
|
3
|
+
import type { ExternalAgentApiInsert, ExternalAgentApiSelect } from '@inkeep/agents-core';
|
|
4
|
+
|
|
5
|
+
import type { ListResponse, SingleResponse } from '../types/response';
|
|
6
|
+
// Default configuration
|
|
7
|
+
import { makeManagementApiRequest } from './api-config';
|
|
8
|
+
import { validateProjectId, validateTenantId } from './resource-validation';
|
|
9
|
+
|
|
10
|
+
// Use Omit to make id optional for creation
|
|
11
|
+
type CreateExternalAgentRequest = Omit<ExternalAgentApiInsert, 'id'> & {
|
|
12
|
+
id?: string; // Make id optional for creation
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export type ExternalAgent = ExternalAgentApiSelect;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* List all external agents for the current project
|
|
19
|
+
*/
|
|
20
|
+
export async function fetchExternalAgents(
|
|
21
|
+
tenantId: string,
|
|
22
|
+
projectId: string,
|
|
23
|
+
page = 1,
|
|
24
|
+
pageSize = 50
|
|
25
|
+
): Promise<ExternalAgent[]> {
|
|
26
|
+
validateTenantId(tenantId);
|
|
27
|
+
validateProjectId(projectId);
|
|
28
|
+
|
|
29
|
+
const params = new URLSearchParams({
|
|
30
|
+
page: page.toString(),
|
|
31
|
+
limit: pageSize.toString(),
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
const response = await makeManagementApiRequest<ListResponse<ExternalAgent>>(
|
|
35
|
+
`tenants/${tenantId}/projects/${projectId}/external-agents?${params}`
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
return response.data;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Get a single external agent by ID
|
|
43
|
+
*/
|
|
44
|
+
export async function fetchExternalAgent(
|
|
45
|
+
tenantId: string,
|
|
46
|
+
projectId: string,
|
|
47
|
+
id: string
|
|
48
|
+
): Promise<ExternalAgent> {
|
|
49
|
+
validateTenantId(tenantId);
|
|
50
|
+
validateProjectId(projectId);
|
|
51
|
+
|
|
52
|
+
const response = await makeManagementApiRequest<SingleResponse<ExternalAgent>>(
|
|
53
|
+
`tenants/${tenantId}/projects/${projectId}/external-agents/${id}`
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
return response.data;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Create a new external agent
|
|
61
|
+
*/
|
|
62
|
+
export async function createExternalAgent(
|
|
63
|
+
tenantId: string,
|
|
64
|
+
projectId: string,
|
|
65
|
+
data: CreateExternalAgentRequest
|
|
66
|
+
): Promise<ExternalAgent> {
|
|
67
|
+
validateTenantId(tenantId);
|
|
68
|
+
validateProjectId(projectId);
|
|
69
|
+
|
|
70
|
+
const response = await makeManagementApiRequest<SingleResponse<ExternalAgent>>(
|
|
71
|
+
`tenants/${tenantId}/projects/${projectId}/external-agents`,
|
|
72
|
+
{
|
|
73
|
+
method: 'POST',
|
|
74
|
+
body: JSON.stringify(data),
|
|
75
|
+
}
|
|
76
|
+
);
|
|
77
|
+
|
|
78
|
+
return response.data;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Update an existing external agent
|
|
83
|
+
*/
|
|
84
|
+
export async function updateExternalAgent(
|
|
85
|
+
tenantId: string,
|
|
86
|
+
projectId: string,
|
|
87
|
+
id: string,
|
|
88
|
+
data: Partial<CreateExternalAgentRequest>
|
|
89
|
+
): Promise<ExternalAgent> {
|
|
90
|
+
validateTenantId(tenantId);
|
|
91
|
+
validateProjectId(projectId);
|
|
92
|
+
|
|
93
|
+
const response = await makeManagementApiRequest<SingleResponse<ExternalAgent>>(
|
|
94
|
+
`tenants/${tenantId}/projects/${projectId}/external-agents/${id}`,
|
|
95
|
+
{
|
|
96
|
+
method: 'PUT',
|
|
97
|
+
body: JSON.stringify(data),
|
|
98
|
+
}
|
|
99
|
+
);
|
|
100
|
+
|
|
101
|
+
return response.data;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Delete an external agent
|
|
106
|
+
*/
|
|
107
|
+
export async function deleteExternalAgent(
|
|
108
|
+
tenantId: string,
|
|
109
|
+
projectId: string,
|
|
110
|
+
id: string
|
|
111
|
+
): Promise<void> {
|
|
112
|
+
validateTenantId(tenantId);
|
|
113
|
+
validateProjectId(projectId);
|
|
114
|
+
|
|
115
|
+
await makeManagementApiRequest<void>(
|
|
116
|
+
`tenants/${tenantId}/projects/${projectId}/external-agents/${id}`,
|
|
117
|
+
{
|
|
118
|
+
method: 'DELETE',
|
|
119
|
+
}
|
|
120
|
+
);
|
|
121
|
+
}
|
|
@@ -9,12 +9,13 @@ import { z } from 'zod';
|
|
|
9
9
|
|
|
10
10
|
// Import core types and schemas
|
|
11
11
|
import {
|
|
12
|
-
type AgentApiInsert,
|
|
13
|
-
AgentApiInsertSchema,
|
|
14
12
|
AgentAgentApiInsertSchema,
|
|
15
13
|
type AgentAgentInsert,
|
|
14
|
+
type AgentApiInsert,
|
|
15
|
+
AgentApiInsertSchema,
|
|
16
16
|
type FullAgentDefinition as CoreFullAgentDefinition,
|
|
17
17
|
ErrorResponseSchema,
|
|
18
|
+
type ExternalAgentApiInsert,
|
|
18
19
|
type ExternalAgentDefinition,
|
|
19
20
|
FullAgentDefinitionSchema,
|
|
20
21
|
type FunctionApiInsert,
|
|
@@ -31,6 +32,7 @@ import type { SingleResponse } from './response';
|
|
|
31
32
|
// Extend FullAgentDefinition with UI-specific lookup maps
|
|
32
33
|
export type FullAgentDefinition = CoreFullAgentDefinition & {
|
|
33
34
|
tools?: Record<string, ToolApiInsert>;
|
|
35
|
+
externalAgents?: Record<string, ExternalAgentApiInsert>;
|
|
34
36
|
functionTools?: Record<string, any>; // Function tools are agent-scoped
|
|
35
37
|
functions?: Record<string, FunctionApiInsert>;
|
|
36
38
|
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { Edge } from '@xyflow/react';
|
|
2
|
+
import type { ExternalAgentNodeData } from '@/components/agent/configuration/node-types';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Enhanced lookup for headers - uses relationshipId
|
|
6
|
+
*/
|
|
7
|
+
export function getCurrentHeadersForExternalAgentNode(
|
|
8
|
+
node: { data: ExternalAgentNodeData; id: string },
|
|
9
|
+
subAgentExternalAgentConfigLookup: Record<
|
|
10
|
+
string,
|
|
11
|
+
Record<string, { externalAgentId: string; headers?: Record<string, string> }>
|
|
12
|
+
>,
|
|
13
|
+
_edges: Edge[]
|
|
14
|
+
): Record<string, string> {
|
|
15
|
+
// First check if we have temporary headers stored on the node (from recent edits)
|
|
16
|
+
if ((node.data as any).tempHeaders !== undefined) {
|
|
17
|
+
return (node.data as any).tempHeaders;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// If node has relationshipId, find config by relationshipId
|
|
21
|
+
const relationshipId = (node.data as any).relationshipId;
|
|
22
|
+
if (relationshipId) {
|
|
23
|
+
for (const externalAgentMap of Object.values(subAgentExternalAgentConfigLookup)) {
|
|
24
|
+
const config = externalAgentMap[relationshipId];
|
|
25
|
+
if (config) {
|
|
26
|
+
return config.headers ?? {};
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// No relationshipId found, return empty headers
|
|
32
|
+
return {};
|
|
33
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=3717,exports.ids=[3717],exports.modules={27159:(a,b,c)=>{c.d(b,{bq:()=>l,eb:()=>n,gC:()=>m,l6:()=>j,yv:()=>k});var d=c(59111),e=c(22836),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"})})}},33582:(a,b,c)=>{c.r(b),c.d(b,{"407f397734429bf01b1cf20b9c5bfeef4aaf11f311":()=>d.vj,"6050956cb23b1476364c34b3df8db6823aacd1f372":()=>d.gA,"60da0225ddec571c47f7af4740deb3c17fd637d635":()=>d.Sw,"60e15ce8487c63c7c4b43302d1948686957a683f4f":()=>d.xx,"708ee6e7cec482cb6da2cd74cddca6a7e96355682a":()=>d.vr});var d=c(54637)},35406:(a,b,c)=>{c.d(b,{A3:()=>d.A3,Nv:()=>d.Nv,PC:()=>d.PC,SH:()=>d.SH,SL:()=>d.SL,U_:()=>d.U_,XQ:()=>d.XQ,YL:()=>d.YL,aR:()=>d.aR,cZ:()=>d.cZ,qf:()=>d.qf,we:()=>d.we,yR:()=>d.yR,yZ:()=>d.yZ,zD:()=>d.zD});var d=c(4558)},40367:(a,b,c)=>{c.d(b,{H:()=>p});var d=c(36532),e=c(68764),f=c(34576),g=c(35406);let h=a=>Math.floor(a/1e6),i=f.union([f.string(),f.number(),f.boolean()]),j=a=>{try{if("true"===a)return i.parse(!0);if("false"===a)return i.parse(!1);let b=(a=>/^-?\d+(\.\d+)?$/.test(a)?Number(a):a)(a);if("number"==typeof b)return i.parse(b);return i.parse(a)}catch(b){return console.warn(`Failed to parse filter value "${a}":`,b),i.parse(a)}},k=a=>parseInt(a.values?.[0]?.value??"0",10)||0,l=a=>Number(a.values?.[0]?.value??0)||0,m=(a,b)=>{let c=new Date(a);c.setHours(0,0,0,0);let d=new Date(b);d.setHours(0,0,0,0);let e=[];for(let a=new Date(c);a<=d;a.setDate(a.getDate()+1))e.push(`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")}`);return e};(0,e.Ay)(d.A,{retries:3,retryDelay:e.Ay.exponentialDelay});class n{async makeRequest(a){return(await d.A.post("/api/signoz",a,{timeout:3e4,headers:{"Content-Type":"application/json"}})).data}extractSeries(a,b){return a?.data?.result?.find(a=>a?.queryName===b)?.series??[]}async getConversationStats(a,b,c,d,e,f,i){try{let j=this.buildCombinedPayload(a,b,c,d,i),k=await this.makeRequest(j),m=this.extractSeries(k,g.XQ.TOOLS),n=this.extractSeries(k,g.XQ.TRANSFERS),o=this.extractSeries(k,g.XQ.DELEGATIONS),p=this.extractSeries(k,g.XQ.AI_CALLS),q=this.extractSeries(k,g.XQ.LAST_ACTIVITY),r=this.extractSeries(k,g.XQ.CONVERSATION_METADATA),s=this.extractSeries(k,g.XQ.SPANS_WITH_ERRORS),t=this.extractSeries(k,g.XQ.USER_MESSAGES),u=new Map;for(let a of r){let b=a.labels?.[g.SH.CONVERSATION_ID];b&&u.set(b,{tenantId:a.labels?.[g.SH.TENANT_ID]??g.PC,agentId:a.labels?.[g.SH.AGENT_ID]??g.PC,agentName:a.labels?.[g.SH.AGENT_NAME]??g.PC})}let v=new Map;for(let a of q){let b=a.labels?.[g.SH.CONVERSATION_ID];b&&v.set(b,l(a))}let w=new Map,x=new Map;for(let a of t){let b=a.labels?.[g.SH.CONVERSATION_ID],c=a.labels?.[g.SH.MESSAGE_CONTENT],d=l(a);b&&c&&(x.get(b)??x.set(b,[]).get(b))?.push({t:d,c:c})}for(let[a,b]of x){b.sort((a,b)=>a.t-b.t);let c=b[0];if(c){let b=c.c.length>100?`${c.c.slice(0,100)}...`:c.c;w.set(a,{content:b,timestamp:h(c.t)})}}let y=this.toConversationStats(m,n,o,p,u,s,w);if((c?.spanName||c?.attributes?.length)&&(y=await this.applySpanFilters(y,a,b,c,d)),f?.trim()){let a=f.toLowerCase().trim();y=y.filter(b=>b.firstUserMessage?.toLowerCase().includes(a)||b.conversationId.toLowerCase().includes(a)||b.agentId.toLowerCase().includes(a))}if(y.sort((a,b)=>((a=0,b=0)=>b-a)(v.get(a.conversationId),v.get(b.conversationId))),!e)return y;let{page:z,limit:A}=e,B=y.length,C=Math.ceil(B/A),D=(z-1)*A;return{data:y.slice(D,D+A),pagination:{page:z,limit:A,total:B,totalPages:C,hasNextPage:z<C,hasPreviousPage:z>1}}}catch(a){return console.error("getConversationStats error:",a),[]}}async getAICallsByAgent(a,b,c){try{let d=await this.makeRequest(this.buildCombinedPayload(a,b,void 0,c)),e=this.extractSeries(d,g.XQ.AI_CALLS),f=new Map;for(let a of e){let b=a.labels?.[g.SH.AGENT_ID]||g.PC,c=k(a);c&&f.set(b,(f.get(b)||0)+c)}return[...f].map(([a,b])=>({agentId:a,totalCalls:b})).sort((a,b)=>b.totalCalls-a.totalCalls)}catch(a){return console.error("getAICallsByAgent error:",a),[]}}async getAICallsBySubAgent(a,b,c,d,e){try{let f=await this.makeRequest(this.buildAgentModelBreakdownPayload(a,b,e)),h=this.extractSeries(f,"agentModelCalls"),i=new Map;for(let a of h){let b=a.labels?.[g.SH.AI_TELEMETRY_FUNCTION_ID]||g.PC,e=a.labels?.[g.SH.AGENT_ID]||g.PC,f=a.labels?.[g.SH.AI_MODEL_ID]||g.PC,h=k(a);if(!h||c&&"all"!==c&&e!==c||d&&"all"!==d&&f!==d)continue;let j=`${b}::${e}::${f}`,l=i.get(j)||{subAgentId:b,agentId:e,modelId:f,totalCalls:0};l.totalCalls+=h,i.set(j,l)}return[...i.values()].sort((a,b)=>b.totalCalls-a.totalCalls)}catch(a){return console.error("getAICallsByAgent error:",a),[]}}async getAICallsByModel(a,b,c,d){try{let e=await this.makeRequest(this.buildModelBreakdownPayload(a,b,d)),f=this.extractSeries(e,"modelCalls"),h=new Map;for(let a of f){let b=a.labels?.[g.SH.AI_MODEL_ID]||g.PC,d=a.labels?.[g.SH.AGENT_ID]||g.PC,e=k(a);e&&(c&&"all"!==c&&d!==c||h.set(b,(h.get(b)||0)+e))}return[...h].map(([a,b])=>({modelId:a,totalCalls:b})).sort((a,b)=>b.totalCalls-a.totalCalls)}catch(a){return console.error("getAICallsByModel error:",a),[]}}async getUniqueAgents(a,b,c){try{let d=await this.makeRequest(this.buildUniqueAgentsPayload(a,b,c)),e=this.extractSeries(d,"uniqueAgents").map(a=>a.labels?.[g.SH.AGENT_ID]).filter(a=>!!a&&a!==g.PC).sort();return[...new Set(e)]}catch(a){return console.error("getUniqueAgents error:",a),[]}}async getUniqueModels(a,b,c){try{let d=await this.makeRequest(this.buildUniqueModelsPayload(a,b,c)),e=this.extractSeries(d,"uniqueModels").map(a=>a.labels?.[g.SH.AI_MODEL_ID]).filter(a=>!!a&&a!==g.PC).sort();return[...new Set(e)]}catch(a){return console.error("getUniqueModels error:",a),[]}}async getConversationsPerDay(a,b,c,d){try{let e=await this.makeRequest(this.buildConversationMetadataPayload(a,b,c,d)),f=this.extractSeries(e,"conversationMetadata").length?this.extractSeries(await this.makeRequest(this.buildConversationActivityPayload(a,b,c,d)),"lastActivity"):[],g=new Map;for(let a of f){let b=h(l(a));if(!b)continue;let c=new Date(b),d=`${c.getFullYear()}-${String(c.getMonth()+1).padStart(2,"0")}-${String(c.getDate()).padStart(2,"0")}`;g.set(d,(g.get(d)||0)+1)}return m(a,b).map(a=>({date:a,count:g.get(a)||0}))}catch(c){return console.error("getConversationsPerDay error:",c),m(a,b).map(a=>({date:a,count:0}))}}async getAggregateStats(a,b,c,d,e){try{let f=await this.makeRequest(this.buildCombinedPayload(a,b,c,d,e)),h=this.extractSeries(f,"tools"),i=this.extractSeries(f,"transfers"),j=this.extractSeries(f,"delegations"),k=this.extractSeries(f,"aiCalls"),l=this.extractSeries(f,"conversationMetadata"),m=this.extractSeries(f,g.XQ.SPANS_WITH_ERRORS),n=new Map;for(let a of l){let b=a.labels?.[g.SH.CONVERSATION_ID];b&&n.set(b,{tenantId:a.labels?.[g.SH.TENANT_ID]??g.PC,agentId:a.labels?.[g.SH.AGENT_ID]??g.PC,agentName:a.labels?.[g.SH.AGENT_NAME]??g.PC})}let o=this.toConversationStats(h,i,j,k,n,m,new Map);return(c?.spanName||c?.attributes?.length)&&(o=await this.applySpanFilters(o,a,b,c,d)),{totalToolCalls:o.reduce((a,b)=>a+b.totalToolCalls,0),totalTransfers:o.reduce((a,b)=>a+b.totalTransfers,0),totalDelegations:o.reduce((a,b)=>a+b.totalDelegations,0),totalConversations:o.length,totalAICalls:o.reduce((a,b)=>a+b.totalAICalls,0)}}catch(a){return console.error("getAggregateStats error:",a),{totalToolCalls:0,totalTransfers:0,totalDelegations:0,totalConversations:0,totalAICalls:0}}}async getAvailableSpanNames(a,b,c,d){try{let e=[{key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EXISTS,value:""}];c&&"all"!==c&&e.push({key:{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}),d&&e.push({key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d});let f={start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.LIST,builderQueries:{spanNames:{dataSource:g.YL.TRACES,queryName:g.XQ.SPAN_NAMES,aggregateOperator:g.qf.NOOP,aggregateAttribute:{},filters:{op:g.we.AND,items:e},selectColumns:[{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN}],expression:g.XQ.SPAN_NAMES,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,stepInterval:g.yZ.STEP_INTERVAL,limit:g.yZ.LIMIT_1000,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],groupBy:g.yZ.EMPTY_GROUP_BY,offset:g.yZ.OFFSET}}},dataSource:g.YL.TRACES,projectId:d},h=await this.makeRequest(f),i=h?.data?.result?.find(a=>a?.queryName==="spanNames")?.list??[],j=new Set;for(let a of i){let b=a?.data?.name??a?.name;b&&j.add(b)}return[...j].sort()}catch(a){return console.error("getAvailableSpanNames error:",a),[]}}toConversationStats(a,b,c,d,e,f,h){let i=new Map,j=a=>{let b=i.get(a);if(b)return b;let c={totalToolCalls:0,toolsUsed:new Map,transfers:new Map,totalTransfers:0,delegations:new Map,totalDelegations:0,totalAICalls:0,totalErrors:0};return i.set(a,c),c};for(let b of a){let a=b.labels?.[g.SH.CONVERSATION_ID];if(!a)continue;let c=b.labels?.[g.SH.AI_TOOL_CALL_NAME];if(!c)continue;let d=k(b);if(!d)continue;let e=b.labels?.[g.SH.MCP_TOOL_DESCRIPTION]||"",f=j(a);f.totalToolCalls+=d;let h=f.toolsUsed.get(c)||{name:c,calls:0,description:e};h.calls+=d,f.toolsUsed.set(c,h)}for(let a of b){let b=a.labels?.[g.SH.CONVERSATION_ID];if(!b)continue;let c=a.labels?.[g.SH.TRANSFER_FROM_SUB_AGENT_ID],d=a.labels?.[g.SH.TRANSFER_TO_SUB_AGENT_ID],e=k(a);if(!c||!d||!e)continue;let f=j(b);f.totalTransfers+=e;let h=`${c}→${d}`,i=f.transfers.get(h)||{from:c,to:d,count:0};i.count+=e,f.transfers.set(h,i)}for(let a of c){let b=a.labels?.[g.SH.CONVERSATION_ID];if(!b)continue;let c=a.labels?.[g.SH.DELEGATION_FROM_SUB_AGENT_ID],d=a.labels?.[g.SH.DELEGATION_TO_SUB_AGENT_ID],e=k(a);if(!c||!d||!e)continue;let f=j(b);f.totalDelegations+=e;let h=`${c}→${d}`,i=f.delegations.get(h)||{from:c,to:d,count:0};i.count+=e,f.delegations.set(h,i)}for(let a of d){let b=a.labels?.[g.SH.CONVERSATION_ID];if(!b)continue;let c=k(a);c&&(j(b).totalAICalls+=c)}let l=["execution_handler.execute","agent.load_tools","context.handle_context_resolution","context.resolve","agent.generate","context-resolver.resolve_single_fetch_definition","agent_session.generate_structured_update","agent_session.process_artifact","agent_session.generate_artifact_metadata","response.format_object_response","response.format_response","ai.toolCall"];for(let a of f){let b=a.labels?.[g.SH.CONVERSATION_ID];if(!b)continue;let c=a.labels?.[g.SH.NAME]||"",d=k(a);d&&l.includes(c)&&(j(b).totalErrors+=d)}let m=[];for(let a of new Set([...i.keys(),...e.keys()])){let b=i.get(a)||j(a),c=e.get(a)||{tenantId:g.PC,agentId:g.PC,agentName:g.PC};m.push({conversationId:a,tenantId:c.tenantId,agentId:c.agentId,agentName:c.agentName||"",totalToolCalls:b.totalToolCalls,toolsUsed:[...b.toolsUsed.values()],transfers:[...b.transfers.values()],totalTransfers:b.totalTransfers,delegations:[...b.delegations.values()],totalDelegations:b.totalDelegations,totalAICalls:b.totalAICalls,totalErrors:b.totalErrors,hasErrors:b.totalErrors>0,firstUserMessage:h.get(a)?.content,startTime:h.get(a)?.timestamp})}return m}async applySpanFilters(a,b,c,d,e){try{let f=await this.makeRequest(this.buildFilteredConversationsPayload(b,c,d,e)),h=this.extractSeries(f,"filteredConversations"),i=new Set(h.map(a=>a.labels?.[g.SH.CONVERSATION_ID]).filter(Boolean));return a.filter(a=>i.has(a.conversationId))}catch(b){return console.error("applySpanFilters error:",b),a}}buildAgentModelBreakdownPayload(a,b,c){return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{agentModelCalls:{dataSource:g.YL.TRACES,queryName:g.XQ.AGENT_MODEL_CALLS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:[{key:{key:g.SH.AI_OPERATION_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:g.yR.GENERATE_TEXT},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},...c?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[]]},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.AI_TELEMETRY_FUNCTION_ID,...g.A3.STRING_TAG},{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG}],expression:g.XQ.AGENT_MODEL_CALLS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:c}}buildModelBreakdownPayload(a,b,c){return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{modelCalls:{dataSource:g.YL.TRACES,queryName:g.XQ.MODEL_CALLS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:[{key:{key:g.SH.AI_OPERATION_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:g.yR.GENERATE_TEXT},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},...c?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[]]},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG},{key:g.SH.AGENT_ID,...g.A3.STRING_TAG}],expression:g.XQ.MODEL_CALLS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_ZERO}}},dataSource:g.YL.TRACES,projectId:c}}buildConversationActivityPayload(a,b,c,d){let e=[{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},...c&&"all"!==c?[{key:{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[],...d?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d}]:[]];return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{lastActivity:{dataSource:g.YL.TRACES,queryName:g.XQ.LAST_ACTIVITY,aggregateOperator:g.qf.MIN,aggregateAttribute:{key:g.SH.TIMESTAMP,...g.A3.INT64_TAG_COLUMN},filters:{op:g.we.AND,items:e},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG}],expression:g.XQ.LAST_ACTIVITY,reduceTo:g.U_.MIN,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:d}}buildConversationMetadataPayload(a,b,c,d){let e=[{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.TENANT_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},...c&&"all"!==c?[{key:{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[],...d?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d}]:[]];return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{conversationMetadata:{dataSource:g.YL.TRACES,queryName:g.XQ.CONVERSATION_METADATA,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:e},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.TENANT_ID,...g.A3.STRING_TAG},{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},{key:g.SH.AGENT_NAME,...g.A3.STRING_TAG}],expression:g.XQ.CONVERSATION_METADATA,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:d}}buildFilteredConversationsPayload(a,b,c,d){let e=[{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}];for(let a of(c.spanName&&e.push({key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:c.spanName}),c.attributes??[])){let b=a.operator??g.we.EQUALS,c=j(a.value),d="string";if("boolean"==typeof c?d="bool":"number"==typeof c&&(d=Number.isInteger(c)?"int64":"float64"),b===g.we.EXISTS||b===g.we.NOT_EXISTS){e.push({key:{key:a.key,...g.A3.STRING_TAG},op:b,value:""});continue}if(b!==g.we.LIKE&&b!==g.we.NOT_LIKE||"string"!=typeof c||c.includes("%")||(c=`%${c}%`),("int64"===d||"float64"===d)&&b===g.we.EQUALS){let b="int64"===d?g.A3.INT64_TAG:g.A3.FLOAT64_TAG;e.push({key:{key:a.key,...b},op:g.we.GREATER_THAN_OR_EQUAL,value:c}),e.push({key:{key:a.key,...b},op:g.we.LESS_THAN_OR_EQUAL,value:c})}else{let f="string"===d?g.A3.STRING_TAG:"int64"===d?g.A3.INT64_TAG:"float64"===d?g.A3.FLOAT64_TAG:g.A3.BOOL_TAG;e.push({key:{key:a.key,...f},op:b,value:c})}}return d&&e.push({key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d}),{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{filteredConversations:{dataSource:g.YL.TRACES,queryName:g.XQ.FILTERED_CONVERSATIONS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:e},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG}],expression:g.XQ.FILTERED_CONVERSATIONS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:d}}buildCombinedPayload(a,b,c,d,e){let f=a=>{let b=a;return d&&(b=[...b,{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d}]),e&&(b=[...b,{key:{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:e}]),b};return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{tools:{dataSource:g.YL.TRACES,queryName:g.XQ.TOOLS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.aR.AI_TOOL_CALL},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.AI_TOOL_TYPE,...g.A3.STRING_TAG},op:g.we.EQUALS,value:g.cZ.MCP}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.AI_TOOL_CALL_NAME,...g.A3.STRING_TAG}],expression:g.XQ.TOOLS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},transfers:{dataSource:g.YL.TRACES,queryName:g.XQ.TRANSFERS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.aR.AI_TOOL_CALL},{key:{key:g.SH.AI_TOOL_TYPE,...g.A3.STRING_TAG},op:g.we.EQUALS,value:g.cZ.TRANSFER},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.TRANSFER_FROM_SUB_AGENT_ID,...g.A3.STRING_TAG},{key:g.SH.TRANSFER_TO_SUB_AGENT_ID,...g.A3.STRING_TAG}],expression:g.XQ.TRANSFERS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},delegations:{dataSource:g.YL.TRACES,queryName:g.XQ.DELEGATIONS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.aR.AI_TOOL_CALL},{key:{key:g.SH.AI_TOOL_TYPE,...g.A3.STRING_TAG},op:g.we.EQUALS,value:g.cZ.DELEGATION},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.DELEGATION_FROM_SUB_AGENT_ID,...g.A3.STRING_TAG},{key:g.SH.DELEGATION_TO_SUB_AGENT_ID,...g.A3.STRING_TAG}],expression:g.XQ.DELEGATIONS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},conversationMetadata:{dataSource:g.YL.TRACES,queryName:g.XQ.CONVERSATION_METADATA,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.TENANT_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.TENANT_ID,...g.A3.STRING_TAG},{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},{key:g.SH.AGENT_NAME,...g.A3.STRING_TAG}],expression:g.XQ.CONVERSATION_METADATA,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},aiCalls:{dataSource:g.YL.TRACES,queryName:g.XQ.AI_CALLS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.AI_OPERATION_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:g.yR.GENERATE_TEXT},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},{key:g.SH.AI_TELEMETRY_FUNCTION_ID,...g.A3.STRING_TAG}],expression:g.XQ.AI_CALLS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},lastActivity:{dataSource:g.YL.TRACES,queryName:g.XQ.LAST_ACTIVITY,aggregateOperator:g.qf.MIN,aggregateAttribute:{key:g.SH.TIMESTAMP,...g.A3.INT64_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG}],expression:g.XQ.LAST_ACTIVITY,reduceTo:g.U_.MIN,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},spansWithErrors:{dataSource:g.YL.TRACES,queryName:g.XQ.SPANS_WITH_ERRORS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.HAS_ERROR,...g.A3.BOOL_TAG_COLUMN},op:g.we.EQUALS,value:!0},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN}],expression:g.XQ.SPANS_WITH_ERRORS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},userMessages:{dataSource:g.YL.TRACES,queryName:g.XQ.USER_MESSAGES,aggregateOperator:g.qf.MIN,aggregateAttribute:{key:g.SH.TIMESTAMP,...g.A3.INT64_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.MESSAGE_CONTENT,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.MESSAGE_CONTENT,...g.A3.STRING_TAG}],expression:g.XQ.USER_MESSAGES,reduceTo:g.U_.MIN,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.ASC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:d}}buildUniqueAgentsPayload(a,b,c){let d=[{key:{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},op:g.we.NOT_EQUALS,value:g.PC},...c?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[]];return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{uniqueAgents:{dataSource:g.YL.TRACES,queryName:g.XQ.UNIQUE_AGENTS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:d},groupBy:[{key:g.SH.AGENT_ID,...g.A3.STRING_TAG}],expression:g.XQ.UNIQUE_AGENTS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.AGENT_ID,order:g.SL.ASC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:c}}buildUniqueModelsPayload(a,b,c){let d=[{key:{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG},op:g.we.NOT_EQUALS,value:g.PC},...c?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[]];return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{uniqueModels:{dataSource:g.YL.TRACES,queryName:g.XQ.UNIQUE_MODELS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:d},groupBy:[{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG}],expression:g.XQ.UNIQUE_MODELS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.AI_MODEL_ID,order:g.SL.ASC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:c}}}let o=null;function p(){return o??=new n}}};
|