@inkeep/agents-manage-ui 0.23.4 → 0.24.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 +104 -104
- package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +3 -3
- package/.next/standalone/agents-manage-ui/.next/build-manifest.json +2 -2
- package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +3 -3
- 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 +2 -2
- 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 +1 -1
- 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]/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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +2 -2
- 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 +1 -1
- 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.js +1 -1
- 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.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 +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/chunks/{9853.js → 1525.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2005.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/244.js +14 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2851.js +196 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3041.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3547.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5109.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5450.js +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5642.js +4080 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5732.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6741.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/728.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/7848.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/{7953.js → 7977.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7988.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9003.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/middleware-manifest.json +5 -5
- 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/20837-041beb6a2f540583.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/27396-d1c1a1a24f7b06ca.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/28186-1f8894e8a9f58785.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/39523-c0cadec114d31336.js +25 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/47216-52f3cc04486d36c9.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{4875-6cc31870e1b4f78e.js → 4875-306209ac5547e001.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{30721-9fe13c117a9408a9.js → 55851-6ebca09d3e107386.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/57786-36b73daa228df68d.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/83858-2bfa9973ce3ce326.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/87367-c73fa08200830a15.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{78225-17ad3e82fb563fc9.js → 93231-f6a13c3278793654.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/94167-3fd33f8ffc652db2.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/{page-06ad671ecebdb051.js → page-f68f3c960e8db83f.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/{page-432441460d16cfca.js → page-2a7d8de41c87958d.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-62cab20aa4353d45.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-81d720721aab1586.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/{page-45aa3756e3432ab6.js → page-9d7e4ff201cf3345.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/{page-819342f697b73b23.js → page-8f72a85f26135a46.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/{page-9163d82f18c05859.js → page-9f13fb47f54d0757.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/{page-cabbbb12300d69e2.js → page-59df08cb46c7e592.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/{page-15e5f802e35f9b2d.js → page-a4738db9057ca109.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/{page-ed01a0be181bc578.js → page-87415ca1bf6d1477.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-91ba0f87b3d09f30.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-bdf1d5105b7e878a.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-8d2ec09f9385c4a6.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-609abc0d3feeef77.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/{page-b52db9884e7955e1.js → page-cbf0830dece4f6c4.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-d5ff2cbd01568451.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-e410d10ef6ae24de.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-14b54cd8fc861b32.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/{page-dbf18aaaa9aaf047.js → page-f64f1dc069a6d95b.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page-73c7ac508b857ff8.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-39b4c79dd6ee832e.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/{page-e142f8be4dd06553.js → page-d48f9593e232f3e1.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-25a2e915d1b1d0ba.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/css/86b7c14b860f21e3.css +1 -0
- package/.next/standalone/agents-manage-ui/package.json +2 -2
- package/.next/standalone/packages/agents-core/package.json +1 -1
- package/package.json +5 -5
- package/src/app/api/data-components/[dataComponentId]/generate-preview/route.ts +17 -2
- package/src/app/api/signoz/conversations/[conversationId]/route.ts +15 -0
- package/src/app/globals.css +21 -0
- package/src/components/agent/agent.tsx +176 -5
- package/src/components/agent/configuration/edge-types.tsx +7 -1
- package/src/components/agent/configuration/node-types.tsx +7 -0
- package/src/components/agent/edges/agent-to-agent-edge.tsx +11 -5
- package/src/components/agent/edges/default-edge.tsx +54 -11
- package/src/components/agent/node-library/node-item.tsx +1 -1
- package/src/components/agent/nodes/base-node.tsx +15 -20
- package/src/components/agent/nodes/external-agent-node.tsx +9 -4
- package/src/components/agent/nodes/function-tool-node.tsx +7 -2
- package/src/components/agent/nodes/mcp-node.tsx +29 -26
- package/src/components/agent/nodes/node-tab.tsx +7 -6
- package/src/components/agent/nodes/sub-agent-node.tsx +8 -3
- package/src/components/agent/playground/chat-widget.tsx +2 -2
- package/src/components/agent/playground/playground.tsx +32 -2
- package/src/components/agent/toolbar/toolbar.tsx +18 -7
- package/src/components/mcp-servers/form/mcp-server-form.tsx +3 -3
- package/src/components/mcp-servers/selection/mcp-server-selection.tsx +3 -3
- package/src/components/traces/timeline/render-panel-content.tsx +55 -9
- package/src/components/traces/timeline/timeline-item.tsx +32 -0
- package/src/features/agent/domain/deserialize.ts +2 -2
- package/src/features/agent/domain/serialize.ts +5 -5
- package/src/hooks/use-auto-prefill-id-zustand.ts +2 -2
- package/src/hooks/use-auto-prefill-id.ts +1 -1
- package/src/lib/actions/data-components.ts +2 -1
- package/src/lib/utils/generate-id.ts +1 -1
- package/src/lib/utils/id-utils.ts +4 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3884.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7283.js +0 -4080
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7613.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7714.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8664.js +0 -196
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9525.js +0 -14
- package/.next/standalone/agents-manage-ui/.next/static/chunks/20837-57e1345903eae942.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/2646-5e494997093f8a20.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/27604-8d9cf308292ec547.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/39438-3324f04d95405812.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/40343-c601d93c1e721f8e.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/49858-7e18c65ea9efae5d.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/53821-8e97ecfda24c69bb.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/85014-410be6cfd6c0b753.js +0 -25
- package/.next/standalone/agents-manage-ui/.next/static/chunks/94167-1d0eb19e0f384370.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-3865a57b0e18e871.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-356ac0d696aa5be8.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-15c26f9aa3b849e1.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-ad9c88bc8654631b.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-fca9f040a66152f9.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-c1364202b7b6e78e.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-1d0fdaea2ee9fb94.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-99a3f138e54fa2a3.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-f2a8df9cb8983d75.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page-ca177c1cd0f1f45a.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-5de5d73ac6b2641e.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-37eaa5406f98632b.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/css/6966eea3739e6598.css +0 -1
- /package/.next/standalone/agents-manage-ui/.next/static/{GEgg7iTyqia87yUa_7Nha → pSmoxTjEZijMAqPrIfiP9}/_buildManifest.js +0 -0
- /package/.next/standalone/agents-manage-ui/.next/static/{GEgg7iTyqia87yUa_7Nha → pSmoxTjEZijMAqPrIfiP9}/_ssgManifest.js +0 -0
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { Bug, X } from 'lucide-react';
|
|
2
|
-
import { nanoid } from 'nanoid';
|
|
3
2
|
import { useState } from 'react';
|
|
3
|
+
import { toast } from 'sonner';
|
|
4
4
|
import { TimelineWrapper } from '@/components/traces/timeline/timeline-wrapper';
|
|
5
5
|
import { Button } from '@/components/ui/button';
|
|
6
6
|
import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from '@/components/ui/resizable';
|
|
7
7
|
import { useChatActivitiesPolling } from '@/hooks/use-chat-activities-polling';
|
|
8
8
|
import type { DataComponent } from '@/lib/api/data-components';
|
|
9
|
+
import { generateId } from '@/lib/utils/id-utils';
|
|
10
|
+
import { copyTraceToClipboard } from '@/lib/utils/trace-formatter';
|
|
9
11
|
import { ChatWidget } from './chat-widget';
|
|
10
12
|
import CustomHeadersDialog from './custom-headers-dialog';
|
|
11
13
|
|
|
@@ -26,9 +28,10 @@ export const Playground = ({
|
|
|
26
28
|
setShowPlayground,
|
|
27
29
|
dataComponentLookup = {},
|
|
28
30
|
}: PlaygroundProps) => {
|
|
29
|
-
const [conversationId, setConversationId] = useState<string>(
|
|
31
|
+
const [conversationId, setConversationId] = useState<string>(generateId());
|
|
30
32
|
const [customHeaders, setCustomHeaders] = useState<Record<string, string>>({});
|
|
31
33
|
const [showTraces, setShowTraces] = useState<boolean>(false);
|
|
34
|
+
const [isCopying, setIsCopying] = useState(false);
|
|
32
35
|
const {
|
|
33
36
|
chatActivities,
|
|
34
37
|
isPolling,
|
|
@@ -41,6 +44,31 @@ export const Playground = ({
|
|
|
41
44
|
conversationId,
|
|
42
45
|
});
|
|
43
46
|
|
|
47
|
+
const handleCopyTrace = async () => {
|
|
48
|
+
if (!chatActivities) return;
|
|
49
|
+
|
|
50
|
+
setIsCopying(true);
|
|
51
|
+
try {
|
|
52
|
+
const result = await copyTraceToClipboard(chatActivities);
|
|
53
|
+
if (result.success) {
|
|
54
|
+
toast.success('Trace copied to clipboard', {
|
|
55
|
+
description: 'The OTEL trace has been copied successfully.',
|
|
56
|
+
});
|
|
57
|
+
} else {
|
|
58
|
+
toast.error('Failed to copy trace', {
|
|
59
|
+
description: result.error || 'An unknown error occurred',
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
} catch (err) {
|
|
63
|
+
toast.error('Failed to copy trace', {
|
|
64
|
+
description: err instanceof Error ? err.message : 'An unknown error occurred',
|
|
65
|
+
});
|
|
66
|
+
} finally {
|
|
67
|
+
await new Promise((resolve) => setTimeout(resolve, 200));
|
|
68
|
+
setIsCopying(false);
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
|
|
44
72
|
return (
|
|
45
73
|
<div
|
|
46
74
|
className={`bg-background z-10 flex flex-col border-l ${showTraces ? 'w-full' : 'w-1/3 min-w-96'}`}
|
|
@@ -103,6 +131,8 @@ export const Playground = ({
|
|
|
103
131
|
refreshOnce={refreshOnce}
|
|
104
132
|
showConversationTracesLink={true}
|
|
105
133
|
conversationId={conversationId}
|
|
134
|
+
onCopyTrace={handleCopyTrace}
|
|
135
|
+
isCopying={isCopying}
|
|
106
136
|
/>
|
|
107
137
|
</>
|
|
108
138
|
)}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Play, Settings } from 'lucide-react';
|
|
2
|
-
import { useEffect, useRef } from 'react';
|
|
2
|
+
import { useEffect, useRef, type ComponentProps } from 'react';
|
|
3
3
|
import { Button } from '@/components/ui/button';
|
|
4
4
|
import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';
|
|
5
5
|
import { useAgentStore } from '@/features/agent/state/use-agent-store';
|
|
@@ -20,14 +20,20 @@ export function Toolbar({
|
|
|
20
20
|
}: ToolbarProps) {
|
|
21
21
|
const dirty = useAgentStore((state) => state.dirty);
|
|
22
22
|
const saveButtonRef = useRef<HTMLButtonElement>(null);
|
|
23
|
+
|
|
24
|
+
const commonProps: ComponentProps<typeof Button> = {
|
|
25
|
+
className: 'backdrop-blur-3xl',
|
|
26
|
+
type: 'button',
|
|
27
|
+
variant: 'outline',
|
|
28
|
+
};
|
|
29
|
+
|
|
23
30
|
const PreviewButton = (
|
|
24
31
|
<Button
|
|
32
|
+
{...commonProps}
|
|
25
33
|
disabled={dirty || inPreviewDisabled}
|
|
26
|
-
variant="outline"
|
|
27
|
-
type="button"
|
|
28
34
|
onClick={() => setShowPlayground(true)}
|
|
29
35
|
>
|
|
30
|
-
<Play className="
|
|
36
|
+
<Play className="size-4 text-muted-foreground" />
|
|
31
37
|
Try it
|
|
32
38
|
</Button>
|
|
33
39
|
);
|
|
@@ -48,10 +54,14 @@ export function Toolbar({
|
|
|
48
54
|
}, []);
|
|
49
55
|
|
|
50
56
|
return (
|
|
51
|
-
<div className="flex gap-2">
|
|
57
|
+
<div className="flex gap-2 flex-wrap justify-end content-start">
|
|
52
58
|
{dirty || inPreviewDisabled ? (
|
|
53
59
|
<Tooltip>
|
|
54
60
|
<TooltipTrigger asChild>
|
|
61
|
+
{/**
|
|
62
|
+
* Wrap the disabled button in a <div> that can receive hover events since disabled <button> elements
|
|
63
|
+
* don’t trigger pointer events in the browser
|
|
64
|
+
**/}
|
|
55
65
|
<div>{PreviewButton}</div>
|
|
56
66
|
</TooltipTrigger>
|
|
57
67
|
<TooltipContent>
|
|
@@ -64,6 +74,7 @@ export function Toolbar({
|
|
|
64
74
|
PreviewButton
|
|
65
75
|
)}
|
|
66
76
|
<Button
|
|
77
|
+
{...commonProps}
|
|
67
78
|
onClick={onSubmit}
|
|
68
79
|
variant={dirty ? 'default' : 'outline'}
|
|
69
80
|
disabled={!dirty && !inPreviewDisabled}
|
|
@@ -71,8 +82,8 @@ export function Toolbar({
|
|
|
71
82
|
>
|
|
72
83
|
{inPreviewDisabled ? 'Save' : 'Save changes'}
|
|
73
84
|
</Button>
|
|
74
|
-
<Button
|
|
75
|
-
<Settings className="
|
|
85
|
+
<Button {...commonProps} onClick={toggleSidePane}>
|
|
86
|
+
<Settings className="size-4" />
|
|
76
87
|
Agent Settings
|
|
77
88
|
</Button>
|
|
78
89
|
</div>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { zodResolver } from '@hookform/resolvers/zod';
|
|
4
|
+
import { generateId } from '@/lib/utils/id-utils';
|
|
4
5
|
import { detectAuthenticationRequired, MCPTransportType } from '@inkeep/agents-core/client-exports';
|
|
5
|
-
import { nanoid } from 'nanoid';
|
|
6
6
|
import { useRouter } from 'next/navigation';
|
|
7
7
|
import { useForm } from 'react-hook-form';
|
|
8
8
|
import { toast } from 'sonner';
|
|
@@ -82,7 +82,7 @@ export function MCPServerForm({
|
|
|
82
82
|
try {
|
|
83
83
|
// handle oauth login
|
|
84
84
|
if (data.credentialReferenceId === 'oauth') {
|
|
85
|
-
const toolId =
|
|
85
|
+
const toolId = generateId();
|
|
86
86
|
|
|
87
87
|
const isAuthenticationRequired = await detectAuthenticationRequired({
|
|
88
88
|
serverUrl: data.config.mcp.server.url,
|
|
@@ -146,7 +146,7 @@ export function MCPServerForm({
|
|
|
146
146
|
} else {
|
|
147
147
|
const newTool = await createMCPTool(tenantId, projectId, {
|
|
148
148
|
...transformedData,
|
|
149
|
-
id:
|
|
149
|
+
id: generateId(),
|
|
150
150
|
});
|
|
151
151
|
toast.success('MCP server created successfully');
|
|
152
152
|
router.push(`/${tenantId}/projects/${projectId}/mcp-servers/${newTool.id}`);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { generateId } from '@/lib/utils/id-utils';
|
|
4
4
|
import { useRouter } from 'next/navigation';
|
|
5
5
|
import { useState } from 'react';
|
|
6
6
|
import { toast } from 'sonner';
|
|
@@ -39,7 +39,7 @@ export function MCPServerSelection({ credentials, tenantId, projectId }: MCPServ
|
|
|
39
39
|
try {
|
|
40
40
|
// Transform prebuilt server data to MCPToolFormData format
|
|
41
41
|
const mcpToolData = {
|
|
42
|
-
id:
|
|
42
|
+
id: generateId(),
|
|
43
43
|
name: server.name,
|
|
44
44
|
config: {
|
|
45
45
|
type: 'mcp' as const,
|
|
@@ -62,7 +62,7 @@ export function MCPServerSelection({ credentials, tenantId, projectId }: MCPServ
|
|
|
62
62
|
toast.success(`${server.name} MCP server created successfully`);
|
|
63
63
|
router.push(`/${tenantId}/projects/${projectId}/mcp-servers/${newTool.id}`);
|
|
64
64
|
} else {
|
|
65
|
-
handleOAuthLogin({toolId: newTool.id, mcpServerUrl: server.url, toolName: server.name});
|
|
65
|
+
handleOAuthLogin({ toolId: newTool.id, mcpServerUrl: server.url, toolName: server.name });
|
|
66
66
|
}
|
|
67
67
|
} catch (error) {
|
|
68
68
|
console.error('Failed to create prebuilt MCP server:', error);
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import dynamic from 'next/dynamic';
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { Streamdown } from 'streamdown';
|
|
2
4
|
import { formatDateTime } from '@/app/utils/format-date';
|
|
3
5
|
import { SignozSpanLink } from '@/components/traces/signoz-link';
|
|
4
6
|
import {
|
|
@@ -13,6 +15,7 @@ import { Bubble, CodeBubble } from '@/components/traces/timeline/bubble';
|
|
|
13
15
|
import { SpanAttributes } from '@/components/traces/timeline/span-attributes';
|
|
14
16
|
import type { ConversationDetail, SelectedPanel } from '@/components/traces/timeline/types';
|
|
15
17
|
import { Badge } from '@/components/ui/badge';
|
|
18
|
+
import { Button } from '@/components/ui/button';
|
|
16
19
|
|
|
17
20
|
const JsonEditorWithCopy = dynamic(
|
|
18
21
|
() =>
|
|
@@ -30,6 +33,33 @@ function formatJsonSafely(content: string): string {
|
|
|
30
33
|
}
|
|
31
34
|
}
|
|
32
35
|
|
|
36
|
+
function AssistantMessageContent({ content }: { content: string }) {
|
|
37
|
+
const [isExpanded, setIsExpanded] = useState(false);
|
|
38
|
+
|
|
39
|
+
return (
|
|
40
|
+
<LabeledBlock label="AI response content">
|
|
41
|
+
<div className="relative">
|
|
42
|
+
<Bubble className={`break-words ${isExpanded ? '' : 'max-h-48 overflow-hidden'}`}>
|
|
43
|
+
<Streamdown>
|
|
44
|
+
{content}
|
|
45
|
+
</Streamdown>
|
|
46
|
+
</Bubble>
|
|
47
|
+
{!isExpanded && (
|
|
48
|
+
<div className="absolute bottom-0 left-0 right-0 h-12 bg-gradient-to-t from-white dark:from-gray-900 to-transparent pointer-events-none" />
|
|
49
|
+
)}
|
|
50
|
+
</div>
|
|
51
|
+
<Button
|
|
52
|
+
variant="ghost"
|
|
53
|
+
size="sm"
|
|
54
|
+
onClick={() => setIsExpanded(!isExpanded)}
|
|
55
|
+
className="mt-2 w-full text-xs"
|
|
56
|
+
>
|
|
57
|
+
{isExpanded ? 'Show less' : 'Show more'}
|
|
58
|
+
</Button>
|
|
59
|
+
</LabeledBlock>
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
|
|
33
63
|
export function renderPanelContent({
|
|
34
64
|
selected,
|
|
35
65
|
findSpanById,
|
|
@@ -131,6 +161,16 @@ export function renderPanelContent({
|
|
|
131
161
|
return (
|
|
132
162
|
<>
|
|
133
163
|
<Section>
|
|
164
|
+
<Info
|
|
165
|
+
label="Sub agent"
|
|
166
|
+
value={
|
|
167
|
+
a.subAgentId ? (
|
|
168
|
+
<Badge variant="code">{a.subAgentId}</Badge>
|
|
169
|
+
) : (
|
|
170
|
+
'Unknown'
|
|
171
|
+
)
|
|
172
|
+
}
|
|
173
|
+
/>
|
|
134
174
|
{a.hasError && a.otelStatusDescription && (
|
|
135
175
|
<LabeledBlock label="Error">
|
|
136
176
|
<Bubble className="bg-red-50 border-red-200 text-red-800 dark:bg-red-900/20 dark:border-red-800 dark:text-red-300">
|
|
@@ -171,12 +211,9 @@ export function renderPanelContent({
|
|
|
171
211
|
return (
|
|
172
212
|
<>
|
|
173
213
|
<Section>
|
|
174
|
-
<LabeledBlock label="AI response content">
|
|
175
|
-
<Bubble className=" whitespace-pre-wrap break-words">
|
|
176
|
-
{a.aiResponseContent || 'Response content not available'}
|
|
177
|
-
</Bubble>
|
|
178
|
-
</LabeledBlock>
|
|
179
214
|
<Info label="Sub agent" value={a.subAgentName || 'Unknown'} />
|
|
215
|
+
<AssistantMessageContent content={a.aiResponseContent || 'Response content not available'} />
|
|
216
|
+
|
|
180
217
|
<StatusBadge status={a.status} />
|
|
181
218
|
<Info label="Activity timestamp" value={formatDateTime(a.timestamp)} />
|
|
182
219
|
</Section>
|
|
@@ -404,10 +441,13 @@ export function renderPanelContent({
|
|
|
404
441
|
<>
|
|
405
442
|
<Section>
|
|
406
443
|
<Info label="Model" value={<ModelBadge model={a.aiStreamTextModel || 'Unknown'} />} />
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
444
|
+
|
|
445
|
+
{a.aiTelemetryFunctionId && (
|
|
446
|
+
<Info
|
|
447
|
+
label="Sub agent"
|
|
448
|
+
value={<Badge variant="code">{a.aiTelemetryFunctionId}</Badge>}
|
|
449
|
+
/>
|
|
450
|
+
)}
|
|
411
451
|
<Info label="Input tokens" value={a.inputTokens?.toLocaleString() || '0'} />
|
|
412
452
|
<Info label="Output tokens" value={a.outputTokens?.toLocaleString() || '0'} />
|
|
413
453
|
<StatusBadge status={a.status} />
|
|
@@ -424,6 +464,12 @@ export function renderPanelContent({
|
|
|
424
464
|
<>
|
|
425
465
|
<Section>
|
|
426
466
|
<Info label="Model" value={<ModelBadge model={a.aiStreamObjectModel || 'Unknown'} />} />
|
|
467
|
+
{a.aiTelemetryFunctionId && (
|
|
468
|
+
<Info
|
|
469
|
+
label="Sub agent"
|
|
470
|
+
value={<Badge variant="code">{a.aiTelemetryFunctionId}</Badge>}
|
|
471
|
+
/>
|
|
472
|
+
)}
|
|
427
473
|
<Info label="Input tokens" value={a.inputTokens?.toLocaleString() || '0'} />
|
|
428
474
|
<Info label="Output tokens" value={a.outputTokens?.toLocaleString() || '0'} />
|
|
429
475
|
{a.aiStreamObjectContent && (
|
|
@@ -182,6 +182,13 @@ export function TimelineItem({
|
|
|
182
182
|
</div>
|
|
183
183
|
)}
|
|
184
184
|
|
|
185
|
+
{/* subagent badge for AI assistant message */}
|
|
186
|
+
{activity.type === ACTIVITY_TYPES.AI_ASSISTANT_MESSAGE && activity.subAgentName && (
|
|
187
|
+
<div className="mb-1">
|
|
188
|
+
<Badge variant="code">{activity.subAgentName}</Badge>
|
|
189
|
+
</div>
|
|
190
|
+
)}
|
|
191
|
+
|
|
185
192
|
{/* streamed text bubble */}
|
|
186
193
|
{activity.type === 'ai_model_streamed_text' && activity.aiStreamTextContent && (
|
|
187
194
|
<div className="space-y-2">
|
|
@@ -210,6 +217,15 @@ export function TimelineItem({
|
|
|
210
217
|
</div>
|
|
211
218
|
)}
|
|
212
219
|
|
|
220
|
+
{/* ai.telemetry.functionId badge for streamed text */}
|
|
221
|
+
{activity.type === 'ai_model_streamed_text' && activity.aiTelemetryFunctionId && (
|
|
222
|
+
<div className="mb-1">
|
|
223
|
+
<Badge variant="code" className="text-xs">
|
|
224
|
+
{activity.aiTelemetryFunctionId}
|
|
225
|
+
</Badge>
|
|
226
|
+
</div>
|
|
227
|
+
)}
|
|
228
|
+
|
|
213
229
|
{/* streamed object bubble */}
|
|
214
230
|
{activity.type === 'ai_model_streamed_object' && activity.aiStreamObjectContent && (
|
|
215
231
|
<div className="space-y-2">
|
|
@@ -244,6 +260,15 @@ export function TimelineItem({
|
|
|
244
260
|
</div>
|
|
245
261
|
)}
|
|
246
262
|
|
|
263
|
+
{/* ai.telemetry.functionId badge for streamed object */}
|
|
264
|
+
{activity.type === 'ai_model_streamed_object' && activity.aiTelemetryFunctionId && (
|
|
265
|
+
<div className="mb-1">
|
|
266
|
+
<Badge variant="code" className="text-xs">
|
|
267
|
+
{activity.aiTelemetryFunctionId}
|
|
268
|
+
</Badge>
|
|
269
|
+
</div>
|
|
270
|
+
)}
|
|
271
|
+
|
|
247
272
|
{/* context fetch url */}
|
|
248
273
|
{activity.type === 'context_fetch' && activity.toolResult && (
|
|
249
274
|
<div className="mb-1">
|
|
@@ -335,6 +360,13 @@ export function TimelineItem({
|
|
|
335
360
|
</div>
|
|
336
361
|
)}
|
|
337
362
|
|
|
363
|
+
{/* agent ID for agent generation */}
|
|
364
|
+
{activity.type === ACTIVITY_TYPES.AGENT_GENERATION && activity.subAgentId && (
|
|
365
|
+
<div className="mb-1">
|
|
366
|
+
<Badge variant="code">{activity.subAgentId}</Badge>
|
|
367
|
+
</div>
|
|
368
|
+
)}
|
|
369
|
+
|
|
338
370
|
{/* ai.telemetry.functionId badge for ai.toolCall spans that aren't delegate or transfers */}
|
|
339
371
|
{activity.type === ACTIVITY_TYPES.TOOL_CALL &&
|
|
340
372
|
activity.aiTelemetryFunctionId &&
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { generateId } from '@/lib/utils/id-utils';
|
|
1
2
|
import type { Edge, Node } from '@xyflow/react';
|
|
2
3
|
import * as dagre from 'dagre';
|
|
3
|
-
import { nanoid } from 'nanoid';
|
|
4
4
|
import { EdgeType } from '@/components/agent/configuration/edge-types';
|
|
5
5
|
import {
|
|
6
6
|
agentNodeSourceHandleId,
|
|
@@ -205,7 +205,7 @@ export function deserializeAgentData(data: FullAgentDefinition): TransformResult
|
|
|
205
205
|
if ('canUse' in agent && agent.canUse && agent.canUse.length > 0) {
|
|
206
206
|
for (const canUseItem of agent.canUse) {
|
|
207
207
|
const toolId = canUseItem.toolId;
|
|
208
|
-
const toolNodeId =
|
|
208
|
+
const toolNodeId = generateId();
|
|
209
209
|
const relationshipId = canUseItem.agentToolRelationId;
|
|
210
210
|
|
|
211
211
|
const tool = data.tools?.[toolId] || data.functionTools?.[toolId];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { generateId } from '@/lib/utils/id-utils';
|
|
1
2
|
import type { Edge, Node } from '@xyflow/react';
|
|
2
|
-
import { nanoid } from 'nanoid';
|
|
3
3
|
import type { AgentToolConfigLookup } from '@/components/agent/agent';
|
|
4
4
|
import type { AgentMetadata } from '@/components/agent/configuration/agent-types';
|
|
5
5
|
import type { A2AEdgeData } from '@/components/agent/configuration/edge-types';
|
|
@@ -259,7 +259,7 @@ export function serializeAgentData(
|
|
|
259
259
|
...(stopWhen && { stopWhen }),
|
|
260
260
|
};
|
|
261
261
|
|
|
262
|
-
if (
|
|
262
|
+
if (node.data.isDefault) {
|
|
263
263
|
defaultSubAgentId = subAgentId;
|
|
264
264
|
}
|
|
265
265
|
|
|
@@ -280,7 +280,7 @@ export function serializeAgentData(
|
|
|
280
280
|
credentialReferenceId: (node.data.credentialReferenceId as string) || null,
|
|
281
281
|
};
|
|
282
282
|
|
|
283
|
-
if (
|
|
283
|
+
if (node.data.isDefault) {
|
|
284
284
|
defaultSubAgentId = subAgentId;
|
|
285
285
|
}
|
|
286
286
|
|
|
@@ -378,7 +378,7 @@ export function serializeAgentData(
|
|
|
378
378
|
}
|
|
379
379
|
|
|
380
380
|
const result: FullAgentDefinition = {
|
|
381
|
-
id: metadata?.id ||
|
|
381
|
+
id: metadata?.id || generateId(),
|
|
382
382
|
name: metadata?.name || 'Untitled Agent',
|
|
383
383
|
description: metadata?.description || undefined,
|
|
384
384
|
defaultSubAgentId,
|
|
@@ -432,7 +432,7 @@ export function serializeAgentData(
|
|
|
432
432
|
|
|
433
433
|
// Add contextConfig if there's meaningful data
|
|
434
434
|
if (hasContextConfig && metadata?.contextConfig) {
|
|
435
|
-
const contextConfigId = metadata.contextConfig.id ||
|
|
435
|
+
const contextConfigId = metadata.contextConfig.id || generateId();
|
|
436
436
|
(result as any).contextConfigId = contextConfigId;
|
|
437
437
|
(result as any).contextConfig = {
|
|
438
438
|
id: contextConfigId,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useEffect, useRef } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { generateIdFromName } from '@/lib/utils/generate-id';
|
|
3
3
|
|
|
4
4
|
interface UseAutoPrefillIdZustandOptions {
|
|
5
5
|
nameValue: string | undefined;
|
|
@@ -56,7 +56,7 @@ export function useAutoPrefillIdZustand({
|
|
|
56
56
|
// Auto-prefill ID based on name field
|
|
57
57
|
useEffect(() => {
|
|
58
58
|
if (!isEditing && nameValue && !hasManuallyEditedId.current) {
|
|
59
|
-
const generatedId =
|
|
59
|
+
const generatedId = generateIdFromName(nameValue);
|
|
60
60
|
|
|
61
61
|
// Only update if the generated ID is different from current ID
|
|
62
62
|
if (generatedId !== currentIdValue.current) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useEffect } from 'react';
|
|
2
2
|
import { type FieldValues, type UseFormReturn, useWatch } from 'react-hook-form';
|
|
3
|
-
import { generateId } from '@/lib/utils/
|
|
3
|
+
import { generateId } from '@/lib/utils/id-utils';
|
|
4
4
|
|
|
5
5
|
interface UseAutoPrefillIdOptions<T extends FieldValues> {
|
|
6
6
|
form: UseFormReturn<T>;
|
|
@@ -95,9 +95,10 @@ export async function updateDataComponentAction(
|
|
|
95
95
|
};
|
|
96
96
|
} catch (error) {
|
|
97
97
|
if (error instanceof ApiError) {
|
|
98
|
+
const errorMessage = error.error.message ?? error.message;
|
|
98
99
|
return {
|
|
99
100
|
success: false,
|
|
100
|
-
error:
|
|
101
|
+
error: errorMessage,
|
|
101
102
|
code: error.error.code,
|
|
102
103
|
};
|
|
103
104
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=3884,exports.ids=[3884],exports.modules={29122:(a,b,c)=>{c.r(b),c.d(b,{conf:()=>d,language:()=>e});var d={comments:{lineComment:"REM"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],folding:{markers:{start:RegExp("^\\s*(::\\s*|REM\\s+)#region"),end:RegExp("^\\s*(::\\s*|REM\\s+)#endregion")}}},e={defaultToken:"",ignoreCase:!0,tokenPostfix:".bat",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:/call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,symbols:/[=><!~?&|+\-*\/\^;\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)(rem(?:\s.*|))$/,["","comment"]],[/(\@?)(@keywords)(?!\w)/,[{token:"keyword"},{token:"keyword.$2"}]],[/[ \t\r\n]+/,""],[/setlocal(?!\w)/,"keyword.tag-setlocal"],[/endlocal(?!\w)/,"keyword.tag-setlocal"],[/[a-zA-Z_]\w*/,""],[/:\w*/,"metatag"],[/%[^%]+%/,"variable"],[/%%[\w]+(?!\w)/,"variable"],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],string:[[/[^\\"'%]+/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/%[\w ]+%/,"variable"],[/%%[\w]+(?!\w)/,"variable"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/$/,"string","@popall"]]}}}};
|