@inkeep/agents-manage-ui 0.18.1 → 0.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/agents-manage-ui/.next/BUILD_ID +1 -1
- package/.next/standalone/agents-manage-ui/.next/app-build-manifest.json +170 -170
- package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +4 -4
- 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/routes-manifest.json +28 -28
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js +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 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/{graphs/[graphId] → 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 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page.js +2 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/{graphs → 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 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page.js +2 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page_client-reference-manifest.js +1 -0
- 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_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 +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js +2 -2
- 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_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_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js +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_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +9 -9
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route.js +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.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app-paths-manifest.json +4 -4
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2067.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2083.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/{2219.js → 4336.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5585.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6641.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7457.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7504.js +184 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7711.js +5 -5
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7966.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8068.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8461.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8498.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9043.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9590.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/23624-24cf5c441db07bb8.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/49858-7df5d3e19fc00977.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/53311-dcaffd9591b1ba2f.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{71558-d1be134327bfb796.js → 71558-54860b9701b3c3b7.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7190-a1746d1f397fc270.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/78225-048fec2920ee12a7.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/92775-e7b3d0637300a752.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/error-8ae206d1430882ab.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/{graphs/[graphId]/loading-2e73ab0d984262a3.js → agents/[agentId]/loading-721e10fd249e4b77.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/page-6698176eeabcc156.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/error-aa8e3feab2fca22e.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/loading-f63f184c7d568cae.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/page-1d103e4d651d7a06.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-ed64555359fc6a6f.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-94e86b14e412e458.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-d544438c11bb29e3.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/loading-f63f184c7d568cae.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-d544438c11bb29e3.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-5cddc35c41f0b4bd.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/{page-567703a1de3eb0cb.js → page-64e52a288c7cc915.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/loading-f63f184c7d568cae.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/{page-567703a1de3eb0cb.js → page-64e52a288c7cc915.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-341107af2f9d8258.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-34aeb4593707c411.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-e03e3ad2f6e09b24.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/page-f63f184c7d568cae.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-fc4dc3e6880d1d9a.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-f8382ae4e84509e1.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/{layout-2e73ab0d984262a3.js → layout-721e10fd249e4b77.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/{page-ec8f69f612ee910a.js → page-3b4b46cfd3d73e1f.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/{page-465374bbcf614837.js → page-d247515a13ec7ab8.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/{page-3b35ec1ae9cfc841.js → page-e58d76ff092f7998.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/{page-bbc69ed5bac228d6.js → page-ce50bc6c7bda7d23.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/ai-calls/{page-19d7430a79f63bd4.js → page-00cee6f3d629b552.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page-48512f59a08d0878.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-cbd9f6c5b7ab322e.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/loading-f63f184c7d568cae.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-3c80e96c8f4b13db.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-be82aa02cebb19df.js +1 -0
- package/.next/standalone/agents-manage-ui/package.json +2 -1
- package/.next/standalone/package.json +1 -0
- package/.next/standalone/packages/agents-core/package.json +3 -1
- package/README.md +2 -2
- package/package.json +5 -4
- package/src/app/[tenantId]/page.tsx +1 -1
- package/src/app/[tenantId]/projects/[projectId]/{graphs/[graphId] → agents/[agentId]}/error.tsx +3 -3
- package/src/app/[tenantId]/projects/[projectId]/{graphs/[graphId] → agents/[agentId]}/loading.tsx +1 -1
- package/src/app/[tenantId]/projects/[projectId]/{graphs/[graphId] → agents/[agentId]}/page.tsx +14 -14
- package/src/app/[tenantId]/projects/[projectId]/{graphs → agents}/error.tsx +1 -1
- package/src/app/[tenantId]/projects/[projectId]/{graphs → agents}/loading.tsx +3 -3
- package/src/app/[tenantId]/projects/[projectId]/{graphs → agents}/new/page.tsx +6 -6
- package/src/app/[tenantId]/projects/[projectId]/agents/page.tsx +50 -0
- package/src/app/[tenantId]/projects/[projectId]/api-keys/page.tsx +12 -12
- package/src/app/[tenantId]/projects/[projectId]/page.tsx +1 -1
- package/src/app/api/signoz/conversations/[conversationId]/route.ts +32 -32
- package/src/app/api/signoz/route.ts +1 -1
- package/src/app/layout.tsx +1 -1
- package/src/app/page.tsx +1 -1
- package/src/components/{graph/graph.tsx → agent/agent.tsx} +70 -70
- package/src/components/{graph/configuration/graph-types.tsx → agent/configuration/agent-types.tsx} +7 -7
- package/src/components/agent/configuration/model-options.tsx +74 -0
- package/src/components/{graph → agent}/configuration/node-types.tsx +12 -12
- package/src/components/{graph/error-display/graph-error-summary.tsx → agent/error-display/agent-error-summary.tsx} +21 -21
- package/src/components/{graph → agent}/error-display/error-indicator.tsx +2 -2
- package/src/components/{graph → agent}/node-library/node-library.tsx +1 -1
- package/src/components/{graph → agent}/nodes/external-agent-node.tsx +3 -3
- package/src/components/{graph → agent}/nodes/function-tool-node.tsx +2 -2
- package/src/components/{graph → agent}/nodes/mcp-node.tsx +2 -2
- package/src/components/{graph/nodes/agent-node.tsx → agent/nodes/sub-agent-node.tsx} +8 -8
- package/src/components/{graph → agent}/playground/chat-widget.tsx +8 -5
- package/src/components/{graph → agent}/playground/playground.tsx +3 -3
- package/src/components/{graph → agent}/sidepane/edges/edge-editor.tsx +2 -2
- package/src/components/{graph → agent}/sidepane/metadata/context-config.tsx +3 -3
- package/src/components/{graph → agent}/sidepane/metadata/metadata-editor.tsx +34 -34
- package/src/components/{graph → agent}/sidepane/nodes/external-agent-node-editor.tsx +4 -4
- package/src/components/{graph → agent}/sidepane/nodes/mcp-node-editor.tsx +4 -4
- package/src/components/{graph → agent}/sidepane/nodes/model-section.tsx +11 -11
- package/src/components/{graph → agent}/sidepane/nodes/model-selector.tsx +1 -1
- package/src/components/{graph/sidepane/nodes/agent-node-editor.tsx → agent/sidepane/nodes/sub-agent-node-editor.tsx} +9 -9
- package/src/components/{graph → agent}/sidepane/sidepane.tsx +10 -10
- package/src/components/{graph → agent}/toolbar/toolbar.tsx +5 -5
- package/src/components/{graphs/graph-item-menu.tsx → agents/agent-item-menu.tsx} +6 -6
- package/src/components/{graphs/graph-item.tsx → agents/agent-item.tsx} +7 -7
- package/src/components/agents/agents-list.tsx +20 -0
- package/src/components/{graphs/delete-graph-confirmation.tsx → agents/delete-agent-confirmation.tsx} +11 -11
- package/src/components/{graphs/new-graph-item.tsx → agents/new-agent-item.tsx} +4 -4
- package/src/components/api-keys/api-keys-table.tsx +4 -4
- package/src/components/api-keys/form/api-key-form.tsx +8 -8
- package/src/components/api-keys/form/form-configuration.tsx +1 -1
- package/src/components/api-keys/form/validation.ts +1 -1
- package/src/components/api-keys/new-api-key-dialog.tsx +7 -7
- package/src/components/form/prompt-editor.tsx +2 -2
- package/src/components/icons/empty-state/{graphs.tsx → agents.tsx} +2 -2
- package/src/components/projects/form/form-configuration.ts +1 -1
- package/src/components/projects/form/model-inheritance-info.tsx +1 -1
- package/src/components/projects/form/project-form.tsx +2 -2
- package/src/components/projects/form/project-models-section.tsx +2 -2
- package/src/components/projects/form/project-stopwhen-section.tsx +4 -4
- package/src/components/projects/new-project-dialog.tsx +1 -1
- package/src/components/sidebar-nav/sidebar-nav.tsx +2 -2
- package/src/components/traces/ai-calls-breakdown.tsx +36 -36
- package/src/components/traces/conversation-detail.tsx +3 -3
- package/src/components/traces/conversation-stats/conversation-list-item.tsx +3 -3
- package/src/components/traces/filters/{graph-filter.tsx → agent-filter.tsx} +18 -18
- package/src/components/traces/filters/span-filters.tsx +5 -5
- package/src/components/traces/timeline/render-panel-content.tsx +15 -23
- package/src/components/traces/timeline/span-attributes.tsx +1 -1
- package/src/components/traces/timeline/timeline-wrapper.tsx +1 -1
- package/src/components/traces/timeline/types.ts +3 -3
- package/src/components/traces/traces-overview.tsx +31 -31
- package/src/components/ui/inheritance-indicator.tsx +12 -13
- package/src/constants/page-descriptions.tsx +4 -4
- package/src/features/{graph → agent}/commands/commands.ts +18 -18
- package/src/features/{graph → agent}/domain/__tests__/roundtrip.test.ts +17 -17
- package/src/features/{graph → agent}/domain/__tests__/serialize.test.ts +29 -29
- package/src/features/agent/domain/agent-initializer-helpers.ts +61 -0
- package/src/features/{graph → agent}/domain/deserialize.ts +7 -7
- package/src/features/{graph → agent}/domain/index.ts +1 -1
- package/src/features/{graph → agent}/domain/serialize.ts +23 -23
- package/src/features/{graph/state/use-graph-store.ts → agent/state/use-agent-store.ts} +25 -25
- package/src/features/{graph/ui/use-graph-shortcuts.ts → agent/ui/use-agent-shortcuts.ts} +3 -3
- package/src/hooks/{use-graph-errors.ts → use-agent-errors.ts} +5 -5
- package/src/hooks/use-ai-calls-query-state.ts +5 -5
- package/src/hooks/use-auto-prefill-id-zustand.ts +1 -1
- package/src/hooks/use-node-editor.ts +3 -3
- package/src/hooks/use-side-pane.ts +2 -2
- package/src/hooks/use-traces.ts +6 -6
- package/src/lib/README.md +19 -19
- package/src/lib/actions/{graph-full.ts → agent-full.ts} +51 -51
- package/src/lib/api/agent-full-client.ts +109 -0
- package/src/lib/api/signoz-stats.ts +88 -88
- package/src/lib/events.ts +1 -1
- package/src/lib/index.ts +23 -23
- package/src/lib/services/save-agent.ts +14 -0
- package/src/lib/types/{graph-full.ts → agent-full.ts} +19 -19
- package/src/lib/utils/{graph-error-parser.ts → agent-error-parser.ts} +42 -43
- package/src/lib/utils/orphaned-tools-detector.ts +5 -5
- package/src/lib/utils/project-redirect.ts +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page.js +0 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page_client-reference-manifest.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/new/page.js +0 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/new/page_client-reference-manifest.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/page.js +0 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/page_client-reference-manifest.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2539.js +0 -184
- package/.next/standalone/agents-manage-ui/.next/server/chunks/4045.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6709.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/804.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9147.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/23624-e46204ab16d88ea6.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/26133-a58a4ae4fea4e563.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/48130-d79da4489e6e5400.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/49858-4c276f889c13606c.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/57167-a86a3c94e5831a59.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/92775-723c692effee6fcb.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-0048d6b4b19cb869.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-ae190df12aef66e0.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/loading-f262904f64bb3b83.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-ae190df12aef66e0.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-0e4e8d994b8c515b.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/loading-f262904f64bb3b83.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-e1ecdf3a54ce7ea0.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-425506e0e283e21c.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-f9d4b7f9c344be4d.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/page-f262904f64bb3b83.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-5eae92411a9101e8.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-c01750f081055384.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/[graphId]/error-931affb0037bb07e.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page-b28ea53e47e090d9.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/error-a95deb3a2467dd39.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/loading-f262904f64bb3b83.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/new/page-beef8d7a50586359.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/page-c55467557da2a19f.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page-7586936cc0f5f2da.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-fc23844ac69cc3e3.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/loading-f262904f64bb3b83.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-243899de5c62b46e.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-3aa87b43e49ec0fe.js +0 -1
- package/src/app/[tenantId]/projects/[projectId]/graphs/page.tsx +0 -50
- package/src/components/graph/configuration/model-options.tsx +0 -68
- package/src/components/graphs/graph-list.tsx +0 -20
- package/src/features/graph/domain/graph-initializer-helpers.ts +0 -61
- package/src/lib/api/graph-full-client.ts +0 -112
- package/src/lib/services/save-graph.ts +0 -14
- /package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/{graphs → agents}/page.js.nft.json +0 -0
- /package/.next/standalone/agents-manage-ui/.next/static/{RDDnfeMsvfce5j5a7L5_h → Sn6Mg6V7bkTmvM8yDFLdc}/_buildManifest.js +0 -0
- /package/.next/standalone/agents-manage-ui/.next/static/{RDDnfeMsvfce5j5a7L5_h → Sn6Mg6V7bkTmvM8yDFLdc}/_ssgManifest.js +0 -0
- /package/src/components/{graph → agent}/configuration/edge-types.tsx +0 -0
- /package/src/components/{graph → agent}/edges/agent-to-agent-edge.tsx +0 -0
- /package/src/components/{graph → agent}/edges/default-edge.tsx +0 -0
- /package/src/components/{graph → agent}/edges/self-loop-edge.tsx +0 -0
- /package/src/components/{graph → agent}/markers/default-marker.tsx +0 -0
- /package/src/components/{graph → agent}/markers/selected-marker.tsx +0 -0
- /package/src/components/{graph → agent}/node-library/node-item.tsx +0 -0
- /package/src/components/{graph → agent}/nodes/base-node.tsx +0 -0
- /package/src/components/{graph → agent}/nodes/handle.tsx +0 -0
- /package/src/components/{graph → agent}/nodes/mcp-placeholder-node.tsx +0 -0
- /package/src/components/{graph → agent}/nodes/node-tab.tsx +0 -0
- /package/src/components/{graph → agent}/playground/custom-headers-dialog.tsx +0 -0
- /package/src/components/{graph → agent}/playground/ikp-message.tsx +0 -0
- /package/src/components/{graph → agent}/sidepane/collapsible-settings.tsx +0 -0
- /package/src/components/{graph → agent}/sidepane/heading.tsx +0 -0
- /package/src/components/{graph → agent}/sidepane/nodes/component-selector/component-dropdown.tsx +0 -0
- /package/src/components/{graph → agent}/sidepane/nodes/component-selector/component-header.tsx +0 -0
- /package/src/components/{graph → agent}/sidepane/nodes/component-selector/component-selector.tsx +0 -0
- /package/src/components/{graph → agent}/sidepane/nodes/component-selector/selected-components.tsx +0 -0
- /package/src/components/{graph → agent}/sidepane/nodes/credential-selector.tsx +0 -0
- /package/src/components/{graph → agent}/sidepane/nodes/empty-state.tsx +0 -0
- /package/src/components/{graph → agent}/sidepane/nodes/expandable-text-area.tsx +0 -0
- /package/src/components/{graph → agent}/sidepane/nodes/form-fields.tsx +0 -0
- /package/src/components/{graph → agent}/sidepane/nodes/function-tool-node-editor.tsx +0 -0
- /package/src/components/{graph → agent}/sidepane/nodes/mcp-selector/loading.tsx +0 -0
- /package/src/components/{graph → agent}/sidepane/nodes/mcp-selector/mcp-selector.tsx +0 -0
- /package/src/components/{graph → agent}/sidepane/nodes/mcp-selector/mcp-server-item.tsx +0 -0
- /package/src/components/{graph → agent}/sidepane/section.tsx +0 -0
- /package/src/features/{graph → agent}/commands/command-manager.ts +0 -0
|
@@ -14,7 +14,7 @@ import { AreaChartCard } from './charts/area-chart-card';
|
|
|
14
14
|
import { StatCard } from './charts/stat-card';
|
|
15
15
|
import { ConversationStatsCard } from './conversation-stats/conversation-stats-card';
|
|
16
16
|
import { CUSTOM, DatePickerWithPresets } from './filters/date-picker';
|
|
17
|
-
import {
|
|
17
|
+
import { AgentFilter } from './filters/agent-filter';
|
|
18
18
|
import { SpanFilters } from './filters/span-filters';
|
|
19
19
|
import { DOCS_BASE_URL } from '@/constants/page-descriptions';
|
|
20
20
|
|
|
@@ -48,14 +48,14 @@ export function TracesOverview({ refreshKey }: TracesOverviewProps) {
|
|
|
48
48
|
// Check if Signoz is configured
|
|
49
49
|
const { isLoading: isSignozConfigLoading, configError: signozConfigError } = useSignozConfig();
|
|
50
50
|
|
|
51
|
-
const [
|
|
51
|
+
const [selectedAgent, setSelectedAgent] = useState<string | undefined>(undefined);
|
|
52
52
|
const [searchQuery, setSearchQuery] = useState<string>('');
|
|
53
53
|
const [debouncedSearchQuery, setDebouncedSearchQuery] = useState<string>('');
|
|
54
54
|
const [availableSpanNames, setAvailableSpanNames] = useState<string[]>([]);
|
|
55
55
|
const [spanNamesLoading, setSpanNamesLoading] = useState(false);
|
|
56
56
|
// Aggregate stats now come from useAggregateStats hook
|
|
57
|
-
const [
|
|
58
|
-
Array<{
|
|
57
|
+
const [aiCallsByAgent, setAiCallsByAgent] = useState<
|
|
58
|
+
Array<{ agentId: string; totalCalls: number }>
|
|
59
59
|
>([]);
|
|
60
60
|
const [_aiCallsLoading, setAiCallsLoading] = useState(true);
|
|
61
61
|
const [activityData, setActivityData] = useState<Array<{ date: string; count: number }>>([]);
|
|
@@ -133,7 +133,7 @@ export function TracesOverview({ refreshKey }: TracesOverviewProps) {
|
|
|
133
133
|
endTime,
|
|
134
134
|
filters: spanFilters,
|
|
135
135
|
projectId: projectId as string,
|
|
136
|
-
|
|
136
|
+
agentId: selectedAgent,
|
|
137
137
|
});
|
|
138
138
|
|
|
139
139
|
// Get paginated conversations for the list display
|
|
@@ -144,7 +144,7 @@ export function TracesOverview({ refreshKey }: TracesOverviewProps) {
|
|
|
144
144
|
projectId: projectId as string,
|
|
145
145
|
searchQuery: debouncedSearchQuery,
|
|
146
146
|
pagination: { enabled: true, pageSize: 10 },
|
|
147
|
-
|
|
147
|
+
agentId: selectedAgent,
|
|
148
148
|
});
|
|
149
149
|
|
|
150
150
|
// Server-side pagination is now handled by the hook
|
|
@@ -159,22 +159,22 @@ export function TracesOverview({ refreshKey }: TracesOverviewProps) {
|
|
|
159
159
|
|
|
160
160
|
// Aggregate stats now come directly from server-side aggregation
|
|
161
161
|
|
|
162
|
-
// Fetch AI calls by
|
|
162
|
+
// Fetch AI calls by agent
|
|
163
163
|
useEffect(() => {
|
|
164
|
-
const
|
|
164
|
+
const fetchAICallsByAgent = async () => {
|
|
165
165
|
try {
|
|
166
166
|
setAiCallsLoading(true);
|
|
167
167
|
const client = getSigNozStatsClient();
|
|
168
|
-
const aiCallsData = await client.
|
|
169
|
-
|
|
168
|
+
const aiCallsData = await client.getAICallsByAgent(startTime, endTime, projectId as string);
|
|
169
|
+
setAiCallsByAgent(aiCallsData);
|
|
170
170
|
} catch (err) {
|
|
171
|
-
console.error('Error fetching AI calls by
|
|
171
|
+
console.error('Error fetching AI calls by agent:', err);
|
|
172
172
|
} finally {
|
|
173
173
|
setAiCallsLoading(false);
|
|
174
174
|
}
|
|
175
175
|
};
|
|
176
176
|
|
|
177
|
-
|
|
177
|
+
fetchAICallsByAgent();
|
|
178
178
|
}, [startTime, endTime, projectId]);
|
|
179
179
|
|
|
180
180
|
// Fetch conversations per day activity
|
|
@@ -183,17 +183,17 @@ export function TracesOverview({ refreshKey }: TracesOverviewProps) {
|
|
|
183
183
|
try {
|
|
184
184
|
setActivityLoading(true);
|
|
185
185
|
const client = getSigNozStatsClient();
|
|
186
|
-
const
|
|
186
|
+
const agentId = selectedAgent ? selectedAgent : undefined;
|
|
187
187
|
console.log('🔍 Fetching activity data:', {
|
|
188
188
|
startTime,
|
|
189
189
|
endTime,
|
|
190
|
-
|
|
191
|
-
|
|
190
|
+
agentId,
|
|
191
|
+
selectedAgent,
|
|
192
192
|
});
|
|
193
193
|
const data = await client.getConversationsPerDay(
|
|
194
194
|
startTime,
|
|
195
195
|
endTime,
|
|
196
|
-
|
|
196
|
+
agentId,
|
|
197
197
|
projectId as string
|
|
198
198
|
);
|
|
199
199
|
console.log('🔍 Activity data received:', data);
|
|
@@ -208,9 +208,9 @@ export function TracesOverview({ refreshKey }: TracesOverviewProps) {
|
|
|
208
208
|
if (startTime && endTime) {
|
|
209
209
|
fetchActivity();
|
|
210
210
|
}
|
|
211
|
-
}, [startTime, endTime,
|
|
211
|
+
}, [startTime, endTime, selectedAgent, projectId]);
|
|
212
212
|
|
|
213
|
-
// Fetch available span names when time range or selected
|
|
213
|
+
// Fetch available span names when time range or selected agent changes
|
|
214
214
|
useEffect(() => {
|
|
215
215
|
const fetchSpanNames = async () => {
|
|
216
216
|
if (!startTime || !endTime) return;
|
|
@@ -221,7 +221,7 @@ export function TracesOverview({ refreshKey }: TracesOverviewProps) {
|
|
|
221
221
|
const spanNames = await client.getAvailableSpanNames(
|
|
222
222
|
startTime,
|
|
223
223
|
endTime,
|
|
224
|
-
|
|
224
|
+
selectedAgent,
|
|
225
225
|
projectId as string
|
|
226
226
|
);
|
|
227
227
|
setAvailableSpanNames(spanNames);
|
|
@@ -237,19 +237,19 @@ export function TracesOverview({ refreshKey }: TracesOverviewProps) {
|
|
|
237
237
|
if (startTime && endTime) {
|
|
238
238
|
fetchSpanNames();
|
|
239
239
|
}
|
|
240
|
-
}, [startTime, endTime,
|
|
240
|
+
}, [startTime, endTime, selectedAgent, projectId]);
|
|
241
241
|
|
|
242
|
-
// Filter stats based on selected
|
|
242
|
+
// Filter stats based on selected agent (for aggregate calculations)
|
|
243
243
|
// Server-side pagination and filtering is now handled by the hooks
|
|
244
244
|
|
|
245
|
-
// Get AI calls for selected
|
|
246
|
-
const
|
|
247
|
-
if (!
|
|
245
|
+
// Get AI calls for selected agent
|
|
246
|
+
const selectedAgentAICalls = useMemo(() => {
|
|
247
|
+
if (!selectedAgent) {
|
|
248
248
|
return aggregateStats.totalAICalls;
|
|
249
249
|
}
|
|
250
|
-
const
|
|
251
|
-
return
|
|
252
|
-
}, [
|
|
250
|
+
const agentAICalls = aiCallsByAgent.find((ac) => ac.agentId === selectedAgent);
|
|
251
|
+
return agentAICalls?.totalCalls || 0;
|
|
252
|
+
}, [selectedAgent, aiCallsByAgent, aggregateStats.totalAICalls]);
|
|
253
253
|
|
|
254
254
|
if (error) {
|
|
255
255
|
return (
|
|
@@ -324,8 +324,8 @@ export function TracesOverview({ refreshKey }: TracesOverviewProps) {
|
|
|
324
324
|
)}
|
|
325
325
|
|
|
326
326
|
<div className="flex items-center gap-4">
|
|
327
|
-
{/*
|
|
328
|
-
<
|
|
327
|
+
{/* Agent Filter */}
|
|
328
|
+
<AgentFilter onSelect={setSelectedAgent} selectedValue={selectedAgent} />
|
|
329
329
|
{/* Time Range Filter */}
|
|
330
330
|
<DatePickerWithPresets
|
|
331
331
|
label="Time range"
|
|
@@ -356,7 +356,7 @@ export function TracesOverview({ refreshKey }: TracesOverviewProps) {
|
|
|
356
356
|
updateAttribute={updateAttribute}
|
|
357
357
|
isNumeric={isNumeric}
|
|
358
358
|
spanNamesLoading={spanNamesLoading}
|
|
359
|
-
|
|
359
|
+
selectedAgent={selectedAgent}
|
|
360
360
|
/>
|
|
361
361
|
</div>
|
|
362
362
|
|
|
@@ -427,7 +427,7 @@ export function TracesOverview({ refreshKey }: TracesOverviewProps) {
|
|
|
427
427
|
{/* AI Usage */}
|
|
428
428
|
<StatCard
|
|
429
429
|
title="AI calls"
|
|
430
|
-
stat={
|
|
430
|
+
stat={selectedAgentAICalls}
|
|
431
431
|
statDescription={`Over ${aggregateStats.totalConversations} conversations`}
|
|
432
432
|
isLoading={aggregateLoading}
|
|
433
433
|
Icon={SparklesIcon}
|
|
@@ -7,7 +7,7 @@ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/comp
|
|
|
7
7
|
export interface InheritanceIndicatorProps {
|
|
8
8
|
/** Whether this value is explicitly set (not inherited) */
|
|
9
9
|
isExplicit?: boolean;
|
|
10
|
-
/** The source of inheritance (e.g., "Project", "
|
|
10
|
+
/** The source of inheritance (e.g., "Project", "Agent") */
|
|
11
11
|
inheritedFrom?: string;
|
|
12
12
|
/** Additional tooltip information */
|
|
13
13
|
tooltip?: string;
|
|
@@ -104,7 +104,7 @@ export function InheritanceIndicator({
|
|
|
104
104
|
|
|
105
105
|
// Helper function to determine inheritance status for models
|
|
106
106
|
export function getModelInheritanceStatus(
|
|
107
|
-
currentLevel: 'project' | '
|
|
107
|
+
currentLevel: 'project' | 'agent' | 'subagent',
|
|
108
108
|
currentValue: any,
|
|
109
109
|
parentValue: any,
|
|
110
110
|
grandparentValue?: any
|
|
@@ -123,7 +123,7 @@ export function getModelInheritanceStatus(
|
|
|
123
123
|
// This handles the case where the builder resolves inheritance and stores the actual values
|
|
124
124
|
if (currentLevel !== 'project') {
|
|
125
125
|
if (hasCurrentValue && hasParentValue && currentValue === parentValue) {
|
|
126
|
-
const inheritedFromLevel = currentLevel === 'agent' ? '
|
|
126
|
+
const inheritedFromLevel = currentLevel === 'agent' ? 'Agent' : 'Project';
|
|
127
127
|
return {
|
|
128
128
|
isExplicit: false,
|
|
129
129
|
inheritedFrom: inheritedFromLevel,
|
|
@@ -131,7 +131,7 @@ export function getModelInheritanceStatus(
|
|
|
131
131
|
};
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
// For agent level: also check if it matches grandparent (when
|
|
134
|
+
// For agent level: also check if it matches grandparent (when agent doesn't have it set)
|
|
135
135
|
if (
|
|
136
136
|
currentLevel === 'agent' &&
|
|
137
137
|
hasCurrentValue &&
|
|
@@ -157,12 +157,12 @@ export function getModelInheritanceStatus(
|
|
|
157
157
|
|
|
158
158
|
// No current value - show what would be inherited
|
|
159
159
|
switch (currentLevel) {
|
|
160
|
-
case '
|
|
160
|
+
case 'subagent':
|
|
161
161
|
if (hasParentValue) {
|
|
162
162
|
return {
|
|
163
163
|
isExplicit: false,
|
|
164
|
-
inheritedFrom: '
|
|
165
|
-
tooltip: 'Will inherit from the
|
|
164
|
+
inheritedFrom: 'Agent',
|
|
165
|
+
tooltip: 'Will inherit from the agent level',
|
|
166
166
|
};
|
|
167
167
|
}
|
|
168
168
|
if (hasGrandparentValue) {
|
|
@@ -173,8 +173,7 @@ export function getModelInheritanceStatus(
|
|
|
173
173
|
};
|
|
174
174
|
}
|
|
175
175
|
break;
|
|
176
|
-
|
|
177
|
-
case 'graph':
|
|
176
|
+
case 'agent':
|
|
178
177
|
if (hasParentValue) {
|
|
179
178
|
return {
|
|
180
179
|
isExplicit: false,
|
|
@@ -198,7 +197,7 @@ export function getModelInheritanceStatus(
|
|
|
198
197
|
|
|
199
198
|
// Helper function for execution limits inheritance
|
|
200
199
|
export function getExecutionLimitInheritanceStatus(
|
|
201
|
-
currentLevel: 'project' | '
|
|
200
|
+
currentLevel: 'project' | 'agent' | 'agent',
|
|
202
201
|
limitType: 'transferCountIs' | 'stepCountIs',
|
|
203
202
|
currentValue: any,
|
|
204
203
|
parentValue: any
|
|
@@ -213,7 +212,7 @@ export function getExecutionLimitInheritanceStatus(
|
|
|
213
212
|
// Check if current value matches parent value (indicating inheritance after builder resolution)
|
|
214
213
|
if (hasCurrentValue && hasParentValue && currentValue === parentValue) {
|
|
215
214
|
// Inheritance rules for execution limits
|
|
216
|
-
if (limitType === 'transferCountIs' && currentLevel === '
|
|
215
|
+
if (limitType === 'transferCountIs' && currentLevel === 'agent') {
|
|
217
216
|
return {
|
|
218
217
|
isExplicit: false,
|
|
219
218
|
inheritedFrom: 'Project',
|
|
@@ -239,8 +238,8 @@ export function getExecutionLimitInheritanceStatus(
|
|
|
239
238
|
|
|
240
239
|
// No current value - check what would be inherited
|
|
241
240
|
if (limitType === 'transferCountIs') {
|
|
242
|
-
// transferCountIs: Project →
|
|
243
|
-
if (currentLevel === '
|
|
241
|
+
// transferCountIs: Project → Agent only
|
|
242
|
+
if (currentLevel === 'agent' && hasParentValue) {
|
|
244
243
|
return {
|
|
245
244
|
isExplicit: false,
|
|
246
245
|
inheritedFrom: 'Project',
|
|
@@ -21,18 +21,18 @@ export const dataComponentDescription = (
|
|
|
21
21
|
</>
|
|
22
22
|
);
|
|
23
23
|
|
|
24
|
-
export const
|
|
24
|
+
export const agentDescription = (
|
|
25
25
|
<>
|
|
26
|
-
|
|
26
|
+
Agents are visual representations of the data flow between agents and tools.
|
|
27
27
|
{'\n'}
|
|
28
|
-
<ExternalLink href={`${DOCS_BASE_URL}/visual-builder/
|
|
28
|
+
<ExternalLink href={`${DOCS_BASE_URL}/visual-builder/agent`}>Learn more</ExternalLink>
|
|
29
29
|
</>
|
|
30
30
|
);
|
|
31
31
|
|
|
32
32
|
export const apiKeyDescription = (
|
|
33
33
|
<>
|
|
34
34
|
API keys are use to authenticate against the Inkeep Agents Run API. They are associated with a
|
|
35
|
-
|
|
35
|
+
agent and can be used to chat with the agent programmatically.
|
|
36
36
|
{'\n'}
|
|
37
37
|
</>
|
|
38
38
|
);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Connection, Edge, Node } from '@xyflow/react';
|
|
2
2
|
import { addEdge } from '@xyflow/react';
|
|
3
|
-
import { EdgeType } from '@/components/
|
|
4
|
-
import type {
|
|
5
|
-
import {
|
|
3
|
+
import { EdgeType } from '@/components/agent/configuration/edge-types';
|
|
4
|
+
import type { AgentMetadata } from '@/components/agent/configuration/agent-types';
|
|
5
|
+
import { agentStore } from '@/features/agent/state/use-agent-store';
|
|
6
6
|
import { eventBus } from '@/lib/events';
|
|
7
7
|
import type { Command } from './command-manager';
|
|
8
8
|
|
|
@@ -13,11 +13,11 @@ export class AddNodeCommand implements Command {
|
|
|
13
13
|
this.node = node;
|
|
14
14
|
}
|
|
15
15
|
execute() {
|
|
16
|
-
const { actions } =
|
|
16
|
+
const { actions } = agentStore.getState();
|
|
17
17
|
actions.setNodes((prev) => prev.concat(this.node));
|
|
18
18
|
}
|
|
19
19
|
undo() {
|
|
20
|
-
const { actions } =
|
|
20
|
+
const { actions } = agentStore.getState();
|
|
21
21
|
actions.setNodes((prev) => prev.filter((n) => n.id !== this.node.id));
|
|
22
22
|
}
|
|
23
23
|
}
|
|
@@ -25,12 +25,12 @@ export class AddNodeCommand implements Command {
|
|
|
25
25
|
export class DeleteSelectionCommand implements Command {
|
|
26
26
|
readonly name = 'DeleteSelection';
|
|
27
27
|
execute() {
|
|
28
|
-
const { actions } =
|
|
28
|
+
const { actions } = agentStore.getState();
|
|
29
29
|
actions.deleteSelected();
|
|
30
30
|
}
|
|
31
31
|
undo() {
|
|
32
32
|
// relies on store history; in a richer system we'd capture diffs
|
|
33
|
-
const { actions } =
|
|
33
|
+
const { actions } = agentStore.getState();
|
|
34
34
|
actions.undo();
|
|
35
35
|
}
|
|
36
36
|
}
|
|
@@ -43,7 +43,7 @@ export class ConnectEdgeCommand implements Command {
|
|
|
43
43
|
this.connection = connection;
|
|
44
44
|
}
|
|
45
45
|
execute() {
|
|
46
|
-
const { actions } =
|
|
46
|
+
const { actions } = agentStore.getState();
|
|
47
47
|
actions.setEdges((eds) => {
|
|
48
48
|
const newEdges = addEdge(this.connection as any, eds);
|
|
49
49
|
const last = newEdges[newEdges.length - 1];
|
|
@@ -53,7 +53,7 @@ export class ConnectEdgeCommand implements Command {
|
|
|
53
53
|
}
|
|
54
54
|
undo() {
|
|
55
55
|
if (!this.createdEdgeId) return;
|
|
56
|
-
const { actions } =
|
|
56
|
+
const { actions } = agentStore.getState();
|
|
57
57
|
const id = this.createdEdgeId;
|
|
58
58
|
actions.setEdges((eds) => eds.filter((e) => e.id !== id));
|
|
59
59
|
}
|
|
@@ -61,20 +61,20 @@ export class ConnectEdgeCommand implements Command {
|
|
|
61
61
|
|
|
62
62
|
export class UpdateMetadataCommand implements Command {
|
|
63
63
|
readonly name = 'UpdateMetadata';
|
|
64
|
-
private field: keyof
|
|
65
|
-
private value:
|
|
66
|
-
private prev:
|
|
67
|
-
constructor(field: keyof
|
|
64
|
+
private field: keyof AgentMetadata;
|
|
65
|
+
private value: AgentMetadata[keyof AgentMetadata];
|
|
66
|
+
private prev: AgentMetadata[keyof AgentMetadata] | undefined;
|
|
67
|
+
constructor(field: keyof AgentMetadata, value: AgentMetadata[keyof AgentMetadata]) {
|
|
68
68
|
this.field = field;
|
|
69
69
|
this.value = value;
|
|
70
70
|
}
|
|
71
71
|
execute() {
|
|
72
|
-
const { metadata, actions } =
|
|
72
|
+
const { metadata, actions } = agentStore.getState();
|
|
73
73
|
this.prev = metadata[this.field];
|
|
74
74
|
actions.setMetadata(this.field, this.value);
|
|
75
75
|
}
|
|
76
76
|
undo() {
|
|
77
|
-
const { actions } =
|
|
77
|
+
const { actions } = agentStore.getState();
|
|
78
78
|
actions.setMetadata(this.field, this.prev as any);
|
|
79
79
|
}
|
|
80
80
|
}
|
|
@@ -82,7 +82,7 @@ export class UpdateMetadataCommand implements Command {
|
|
|
82
82
|
export class ClearSelectionCommand implements Command {
|
|
83
83
|
readonly name = 'ClearSelection';
|
|
84
84
|
execute() {
|
|
85
|
-
const { actions } =
|
|
85
|
+
const { actions } = agentStore.getState();
|
|
86
86
|
actions.clearSelection();
|
|
87
87
|
}
|
|
88
88
|
undo() {
|
|
@@ -99,7 +99,7 @@ export class AddPreparedEdgeCommand implements Command {
|
|
|
99
99
|
this.deselectOtherEdgesIfA2A = Boolean(options?.deselectOtherEdgesIfA2A);
|
|
100
100
|
}
|
|
101
101
|
execute() {
|
|
102
|
-
const { actions } =
|
|
102
|
+
const { actions } = agentStore.getState();
|
|
103
103
|
if (this.edge.type === EdgeType.A2A) {
|
|
104
104
|
// deselect nodes when creating an A2A edge
|
|
105
105
|
actions.setNodes((nds) => nds.map((n) => ({ ...n, selected: false })));
|
|
@@ -116,7 +116,7 @@ export class AddPreparedEdgeCommand implements Command {
|
|
|
116
116
|
});
|
|
117
117
|
}
|
|
118
118
|
undo() {
|
|
119
|
-
const { actions } =
|
|
119
|
+
const { actions } = agentStore.getState();
|
|
120
120
|
const id = this.edge.id;
|
|
121
121
|
actions.setEdges((eds) => eds.filter((e) => e.id !== id));
|
|
122
122
|
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import type { Edge, Node } from '@xyflow/react';
|
|
2
|
-
import { EdgeType } from '@/components/
|
|
3
|
-
import { NodeType } from '@/components/
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { EdgeType } from '@/components/agent/configuration/edge-types';
|
|
3
|
+
import { NodeType } from '@/components/agent/configuration/node-types';
|
|
4
|
+
import { deserializeAgentData } from '@/features/agent/domain/deserialize';
|
|
5
|
+
import { serializeAgentData } from '@/features/agent/domain/serialize';
|
|
6
6
|
|
|
7
|
-
describe('
|
|
7
|
+
describe('agent serialize/deserialize', () => {
|
|
8
8
|
it('handles self-referencing agents correctly', () => {
|
|
9
9
|
const nodes: Node[] = [
|
|
10
10
|
{
|
|
11
11
|
id: 'goodbye-agent',
|
|
12
|
-
type: NodeType.
|
|
12
|
+
type: NodeType.SubAgent,
|
|
13
13
|
position: { x: 0, y: 0 },
|
|
14
14
|
data: {
|
|
15
15
|
id: 'goodbye-agent',
|
|
@@ -19,7 +19,7 @@ describe('graph serialize/deserialize', () => {
|
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
id: 'hello-agent',
|
|
22
|
-
type: NodeType.
|
|
22
|
+
type: NodeType.SubAgent,
|
|
23
23
|
position: { x: 0, y: 100 },
|
|
24
24
|
data: {
|
|
25
25
|
id: 'hello-agent',
|
|
@@ -47,10 +47,10 @@ describe('graph serialize/deserialize', () => {
|
|
|
47
47
|
} as Edge,
|
|
48
48
|
];
|
|
49
49
|
|
|
50
|
-
const serialized =
|
|
51
|
-
id: 'test-
|
|
52
|
-
name: 'Test
|
|
53
|
-
description: '
|
|
50
|
+
const serialized = serializeAgentData(nodes, edges, {
|
|
51
|
+
id: 'test-agent',
|
|
52
|
+
name: 'Test Agent',
|
|
53
|
+
description: 'Agent with self-referencing agent',
|
|
54
54
|
contextConfig: {
|
|
55
55
|
id: '',
|
|
56
56
|
contextVariables: '',
|
|
@@ -67,7 +67,7 @@ describe('graph serialize/deserialize', () => {
|
|
|
67
67
|
expect(goodbyeAgent.canDelegateTo).toContain('goodbye-agent');
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
const deserialized =
|
|
70
|
+
const deserialized = deserializeAgentData(serialized);
|
|
71
71
|
|
|
72
72
|
// Should have the self-loop edge
|
|
73
73
|
const selfLoopEdge = deserialized.edges.find(
|
|
@@ -90,14 +90,14 @@ describe('graph serialize/deserialize', () => {
|
|
|
90
90
|
const nodes: Node[] = [
|
|
91
91
|
{
|
|
92
92
|
id: 'a1',
|
|
93
|
-
type: NodeType.
|
|
93
|
+
type: NodeType.SubAgent,
|
|
94
94
|
position: { x: 0, y: 0 },
|
|
95
95
|
data: { id: 'a1', name: 'A1', isDefault: true, prompt: 'i' },
|
|
96
96
|
deletable: false,
|
|
97
97
|
},
|
|
98
98
|
{
|
|
99
99
|
id: 'a2',
|
|
100
|
-
type: NodeType.
|
|
100
|
+
type: NodeType.SubAgent,
|
|
101
101
|
position: { x: 0, y: 0 },
|
|
102
102
|
data: { id: 'a2', name: 'A2', prompt: 'i' },
|
|
103
103
|
},
|
|
@@ -131,7 +131,7 @@ describe('graph serialize/deserialize', () => {
|
|
|
131
131
|
} as Edge,
|
|
132
132
|
];
|
|
133
133
|
|
|
134
|
-
const serialized =
|
|
134
|
+
const serialized = serializeAgentData(nodes, edges, {
|
|
135
135
|
id: 'g1',
|
|
136
136
|
name: 'G',
|
|
137
137
|
description: 'D',
|
|
@@ -142,7 +142,7 @@ describe('graph serialize/deserialize', () => {
|
|
|
142
142
|
});
|
|
143
143
|
expect(serialized.id).toBe('g1');
|
|
144
144
|
expect(serialized.subAgents.a1).toBeDefined();
|
|
145
|
-
// Note: Tools are now project-scoped and not included in
|
|
145
|
+
// Note: Tools are now project-scoped and not included in agent serialization
|
|
146
146
|
// expect(serialized.tools.t1).toBeDefined();
|
|
147
147
|
const a1 = serialized.subAgents.a1;
|
|
148
148
|
if ('tools' in a1) {
|
|
@@ -152,7 +152,7 @@ describe('graph serialize/deserialize', () => {
|
|
|
152
152
|
expect(a1.canTransferTo).toContain('a2');
|
|
153
153
|
}
|
|
154
154
|
|
|
155
|
-
const deserialized =
|
|
155
|
+
const deserialized = deserializeAgentData(serialized);
|
|
156
156
|
expect(deserialized.nodes.length).toBeGreaterThan(0);
|
|
157
157
|
expect(deserialized.edges.length).toBeGreaterThan(0);
|
|
158
158
|
});
|