@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
|
@@ -9,7 +9,7 @@ export type TimeRange = (typeof timeRanges)[number];
|
|
|
9
9
|
* Provides type-safe query parameter management for:
|
|
10
10
|
* - Time range selection (24h, 7d, 15d, custom)
|
|
11
11
|
* - Custom date range (start/end dates)
|
|
12
|
-
* -
|
|
12
|
+
* - Agent filtering
|
|
13
13
|
* - Model filtering
|
|
14
14
|
*/
|
|
15
15
|
export function useAICallsQueryState() {
|
|
@@ -22,7 +22,7 @@ export function useAICallsQueryState() {
|
|
|
22
22
|
customEndDate: parseAsString.withDefault(''),
|
|
23
23
|
|
|
24
24
|
// Filtering options
|
|
25
|
-
|
|
25
|
+
selectedAgent: parseAsString.withDefault('all'),
|
|
26
26
|
selectedModel: parseAsString.withDefault('all'),
|
|
27
27
|
});
|
|
28
28
|
|
|
@@ -31,7 +31,7 @@ export function useAICallsQueryState() {
|
|
|
31
31
|
timeRange: queryState.timeRange,
|
|
32
32
|
customStartDate: queryState.customStartDate,
|
|
33
33
|
customEndDate: queryState.customEndDate,
|
|
34
|
-
|
|
34
|
+
selectedAgent: queryState.selectedAgent,
|
|
35
35
|
selectedModel: queryState.selectedModel,
|
|
36
36
|
|
|
37
37
|
// State setters
|
|
@@ -41,11 +41,11 @@ export function useAICallsQueryState() {
|
|
|
41
41
|
setTimeRange: (timeRange: TimeRange) => setQueryState({ timeRange }),
|
|
42
42
|
setCustomDateRange: (start: string, end: string) =>
|
|
43
43
|
setQueryState({ customStartDate: start, customEndDate: end }),
|
|
44
|
-
|
|
44
|
+
setAgentFilter: (agent: string) => setQueryState({ selectedAgent: agent }),
|
|
45
45
|
setModelFilter: (model: string) => setQueryState({ selectedModel: model }),
|
|
46
46
|
clearFilters: () =>
|
|
47
47
|
setQueryState({
|
|
48
|
-
|
|
48
|
+
selectedAgent: 'all',
|
|
49
49
|
selectedModel: 'all',
|
|
50
50
|
timeRange: '15d',
|
|
51
51
|
customStartDate: '',
|
|
@@ -30,7 +30,7 @@ export function useAutoPrefillIdZustand({
|
|
|
30
30
|
currentIdValue.current = idValue;
|
|
31
31
|
}, [onIdChange, idValue]);
|
|
32
32
|
|
|
33
|
-
// Reset manual edit tracking when switching between
|
|
33
|
+
// Reset manual edit tracking when switching between agent
|
|
34
34
|
useEffect(() => {
|
|
35
35
|
if (isEditing) {
|
|
36
36
|
hasManuallyEditedId.current = false;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useReactFlow } from '@xyflow/react';
|
|
2
2
|
import { useCallback, useRef } from 'react';
|
|
3
|
-
import {
|
|
4
|
-
import type { ErrorHelpers } from './use-
|
|
3
|
+
import { useAgentActions } from '@/features/agent/state/use-agent-store';
|
|
4
|
+
import type { ErrorHelpers } from './use-agent-errors';
|
|
5
5
|
|
|
6
6
|
interface UseNodeEditorOptions {
|
|
7
7
|
selectedNodeId: string;
|
|
@@ -10,7 +10,7 @@ interface UseNodeEditorOptions {
|
|
|
10
10
|
|
|
11
11
|
export function useNodeEditor({ selectedNodeId, errorHelpers }: UseNodeEditorOptions) {
|
|
12
12
|
const { updateNodeData } = useReactFlow();
|
|
13
|
-
const { markUnsaved } =
|
|
13
|
+
const { markUnsaved } = useAgentActions();
|
|
14
14
|
|
|
15
15
|
// Focus management for error fields
|
|
16
16
|
const fieldRefs = useRef<Record<string, HTMLElement>>({});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { parseAsString, parseAsStringLiteral, useQueryStates } from 'nuqs';
|
|
2
2
|
|
|
3
|
-
const paneType = ['
|
|
3
|
+
const paneType = ['agent', 'node', 'edge'] as const;
|
|
4
4
|
|
|
5
5
|
export function useSidePane() {
|
|
6
6
|
const [queryState, setQueryState] = useQueryStates({
|
|
@@ -15,6 +15,6 @@ export function useSidePane() {
|
|
|
15
15
|
edgeId: queryState.edgeId,
|
|
16
16
|
isOpen: Boolean(queryState.pane),
|
|
17
17
|
setQueryState,
|
|
18
|
-
|
|
18
|
+
openAgentPane: () => setQueryState({ pane: 'agent', nodeId: null, edgeId: null }),
|
|
19
19
|
};
|
|
20
20
|
}
|
package/src/hooks/use-traces.ts
CHANGED
|
@@ -38,7 +38,7 @@ export interface UseConversationStatsOptions {
|
|
|
38
38
|
pageSize?: number;
|
|
39
39
|
};
|
|
40
40
|
searchQuery?: string;
|
|
41
|
-
|
|
41
|
+
agentId?: string;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
export function useConversationStats(
|
|
@@ -77,7 +77,7 @@ export function useConversationStats(
|
|
|
77
77
|
options?.projectId,
|
|
78
78
|
paginationParams,
|
|
79
79
|
options?.searchQuery,
|
|
80
|
-
options?.
|
|
80
|
+
options?.agentId
|
|
81
81
|
);
|
|
82
82
|
|
|
83
83
|
if (paginationEnabled && typeof result === 'object' && 'data' in result) {
|
|
@@ -105,7 +105,7 @@ export function useConversationStats(
|
|
|
105
105
|
options?.filters,
|
|
106
106
|
options?.projectId,
|
|
107
107
|
options?.searchQuery,
|
|
108
|
-
options?.
|
|
108
|
+
options?.agentId,
|
|
109
109
|
paginationEnabled,
|
|
110
110
|
pageSize,
|
|
111
111
|
currentPage,
|
|
@@ -187,7 +187,7 @@ export function useAggregateStats(options?: {
|
|
|
187
187
|
endTime?: number;
|
|
188
188
|
filters?: SpanFilterOptions;
|
|
189
189
|
projectId?: string;
|
|
190
|
-
|
|
190
|
+
agentId?: string;
|
|
191
191
|
}) {
|
|
192
192
|
const [aggregateStats, setAggregateStats] = useState({
|
|
193
193
|
totalToolCalls: 0,
|
|
@@ -213,7 +213,7 @@ export function useAggregateStats(options?: {
|
|
|
213
213
|
currentEndTime,
|
|
214
214
|
options?.filters,
|
|
215
215
|
options?.projectId,
|
|
216
|
-
options?.
|
|
216
|
+
options?.agentId
|
|
217
217
|
);
|
|
218
218
|
|
|
219
219
|
setAggregateStats(stats);
|
|
@@ -229,7 +229,7 @@ export function useAggregateStats(options?: {
|
|
|
229
229
|
options?.endTime,
|
|
230
230
|
options?.filters,
|
|
231
231
|
options?.projectId,
|
|
232
|
-
options?.
|
|
232
|
+
options?.agentId,
|
|
233
233
|
]);
|
|
234
234
|
|
|
235
235
|
useEffect(() => {
|
package/src/lib/README.md
CHANGED
|
@@ -28,13 +28,13 @@ import {
|
|
|
28
28
|
} from '@/lib';
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
-
### Create a new
|
|
31
|
+
### Create a new agent
|
|
32
32
|
|
|
33
33
|
```typescript
|
|
34
34
|
const result = await createFullGraphAction('tenant-123', {
|
|
35
|
-
id: 'my-
|
|
36
|
-
name: 'My Customer Service
|
|
37
|
-
description: 'A
|
|
35
|
+
id: 'my-agent',
|
|
36
|
+
name: 'My Customer Service Agent',
|
|
37
|
+
description: 'A agent for customer service operations',
|
|
38
38
|
defaultSubAgentId: 'support-agent',
|
|
39
39
|
agents: {
|
|
40
40
|
'support-agent': {
|
|
@@ -55,55 +55,55 @@ const result = await createFullGraphAction('tenant-123', {
|
|
|
55
55
|
});
|
|
56
56
|
|
|
57
57
|
if (result.success) {
|
|
58
|
-
console.log('
|
|
58
|
+
console.log('Agent created:', result.data);
|
|
59
59
|
} else {
|
|
60
60
|
console.error('Error:', result.error);
|
|
61
61
|
}
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
### Get an existing
|
|
64
|
+
### Get an existing agent
|
|
65
65
|
|
|
66
66
|
```typescript
|
|
67
|
-
const result = await getFullGraphAction('tenant-123', 'my-
|
|
67
|
+
const result = await getFullGraphAction('tenant-123', 'my-agent');
|
|
68
68
|
|
|
69
69
|
if (result.success) {
|
|
70
|
-
console.log('
|
|
70
|
+
console.log('Agent retrieved:', result.data);
|
|
71
71
|
} else {
|
|
72
72
|
console.error('Error:', result.error);
|
|
73
73
|
}
|
|
74
74
|
```
|
|
75
75
|
|
|
76
|
-
### Update
|
|
76
|
+
### Update an agent
|
|
77
77
|
|
|
78
78
|
```typescript
|
|
79
79
|
const updatedGraph = {
|
|
80
|
-
id: 'my-
|
|
81
|
-
name: 'Updated Customer Service
|
|
80
|
+
id: 'my-agent',
|
|
81
|
+
name: 'Updated Customer Service Agent',
|
|
82
82
|
// ... other properties
|
|
83
83
|
};
|
|
84
84
|
|
|
85
|
-
const result = await updateFullGraphAction('tenant-123', 'my-
|
|
85
|
+
const result = await updateFullGraphAction('tenant-123', 'my-agent', updatedGraph);
|
|
86
86
|
|
|
87
87
|
if (result.success) {
|
|
88
|
-
console.log('
|
|
88
|
+
console.log('Agent updated:', result.data);
|
|
89
89
|
} else {
|
|
90
90
|
console.error('Error:', result.error);
|
|
91
91
|
}
|
|
92
92
|
```
|
|
93
93
|
|
|
94
|
-
### Delete
|
|
94
|
+
### Delete an agent
|
|
95
95
|
|
|
96
96
|
```typescript
|
|
97
|
-
const result = await deleteFullGraphAction('tenant-123', 'my-
|
|
97
|
+
const result = await deleteFullGraphAction('tenant-123', 'my-agent');
|
|
98
98
|
|
|
99
99
|
if (result.success) {
|
|
100
|
-
console.log('
|
|
100
|
+
console.log('Agent deleted successfully');
|
|
101
101
|
} else {
|
|
102
102
|
console.error('Error:', result.error);
|
|
103
103
|
}
|
|
104
104
|
```
|
|
105
105
|
|
|
106
|
-
### Validate
|
|
106
|
+
### Validate agent data
|
|
107
107
|
|
|
108
108
|
Use this for form validation before submitting:
|
|
109
109
|
|
|
@@ -138,9 +138,9 @@ type ActionResult<T = void> = {
|
|
|
138
138
|
|
|
139
139
|
The API may return the following error codes:
|
|
140
140
|
|
|
141
|
-
- `not_found`:
|
|
141
|
+
- `not_found`: Agent not found
|
|
142
142
|
- `bad_request`: Invalid request data
|
|
143
143
|
- `internal_server_error`: Server error
|
|
144
|
-
- `conflict`:
|
|
144
|
+
- `conflict`: Agent already exists (on create)
|
|
145
145
|
- `validation_error`: Client-side validation failed
|
|
146
146
|
- `unknown_error`: Unexpected error occurred
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
'use server';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Server Actions for
|
|
4
|
+
* Server Actions for Agent Full Operations
|
|
5
5
|
*
|
|
6
|
-
* These server actions wrap the
|
|
6
|
+
* These server actions wrap the AgentFull REST API endpoints and provide
|
|
7
7
|
* type-safe functions that can be called from React components.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { revalidatePath } from 'next/cache';
|
|
11
11
|
import {
|
|
12
12
|
ApiError,
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
} from '../api/
|
|
13
|
+
createFullAgent as apiCreateFullAgent,
|
|
14
|
+
deleteFullAgent as apiDeleteFullAgent,
|
|
15
|
+
fetchAgents as apiFetchAgents,
|
|
16
|
+
getFullAgent as apiGetFullAgent,
|
|
17
|
+
updateFullAgent as apiUpdateFullAgent,
|
|
18
|
+
} from '../api/agent-full-client';
|
|
19
19
|
import {
|
|
20
|
-
type
|
|
21
|
-
|
|
22
|
-
type
|
|
23
|
-
} from '../types/
|
|
20
|
+
type FullAgentDefinition,
|
|
21
|
+
FullAgentDefinitionSchema,
|
|
22
|
+
type Agent,
|
|
23
|
+
} from '../types/agent-full';
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* Result type for server actions - follows a consistent pattern
|
|
@@ -36,12 +36,12 @@ export type ActionResult<T = void> =
|
|
|
36
36
|
code?: string;
|
|
37
37
|
};
|
|
38
38
|
|
|
39
|
-
export async function
|
|
39
|
+
export async function getAllAgentsAction(
|
|
40
40
|
tenantId: string,
|
|
41
41
|
projectId: string
|
|
42
|
-
): Promise<ActionResult<
|
|
42
|
+
): Promise<ActionResult<Agent[]>> {
|
|
43
43
|
try {
|
|
44
|
-
const response = await
|
|
44
|
+
const response = await apiFetchAgents(tenantId, projectId);
|
|
45
45
|
return {
|
|
46
46
|
success: true,
|
|
47
47
|
data: response.data,
|
|
@@ -49,26 +49,26 @@ export async function getAllGraphsAction(
|
|
|
49
49
|
} catch (error) {
|
|
50
50
|
return {
|
|
51
51
|
success: false,
|
|
52
|
-
error: error instanceof Error ? error.message : 'Failed to fetch
|
|
52
|
+
error: error instanceof Error ? error.message : 'Failed to fetch agent',
|
|
53
53
|
code: 'unknown_error',
|
|
54
54
|
};
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
/**
|
|
59
|
-
* Create a new full
|
|
59
|
+
* Create a new full agent
|
|
60
60
|
*/
|
|
61
|
-
export async function
|
|
61
|
+
export async function createFullAgentAction(
|
|
62
62
|
tenantId: string,
|
|
63
63
|
projectId: string,
|
|
64
|
-
|
|
65
|
-
): Promise<ActionResult<
|
|
64
|
+
agentData: FullAgentDefinition
|
|
65
|
+
): Promise<ActionResult<FullAgentDefinition>> {
|
|
66
66
|
try {
|
|
67
|
-
const response = await
|
|
67
|
+
const response = await apiCreateFullAgent(tenantId, projectId, agentData);
|
|
68
68
|
|
|
69
69
|
// Revalidate relevant pages
|
|
70
|
-
revalidatePath(`/${tenantId}/projects/${projectId}/
|
|
71
|
-
revalidatePath(`/${tenantId}/projects/${projectId}/
|
|
70
|
+
revalidatePath(`/${tenantId}/projects/${projectId}/agents`);
|
|
71
|
+
revalidatePath(`/${tenantId}/projects/${projectId}/agents/${response.data.id}`);
|
|
72
72
|
|
|
73
73
|
return {
|
|
74
74
|
success: true,
|
|
@@ -85,22 +85,22 @@ export async function createFullGraphAction(
|
|
|
85
85
|
|
|
86
86
|
return {
|
|
87
87
|
success: false,
|
|
88
|
-
error: error instanceof Error ? error.message : 'Failed to create
|
|
88
|
+
error: error instanceof Error ? error.message : 'Failed to create agent',
|
|
89
89
|
code: 'validation_error',
|
|
90
90
|
};
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
/**
|
|
95
|
-
* Get a full
|
|
95
|
+
* Get a full agent by ID
|
|
96
96
|
*/
|
|
97
|
-
export async function
|
|
97
|
+
export async function getFullAgentAction(
|
|
98
98
|
tenantId: string,
|
|
99
99
|
projectId: string,
|
|
100
|
-
|
|
101
|
-
): Promise<ActionResult<
|
|
100
|
+
agentId: string
|
|
101
|
+
): Promise<ActionResult<FullAgentDefinition>> {
|
|
102
102
|
try {
|
|
103
|
-
const response = await
|
|
103
|
+
const response = await apiGetFullAgent(tenantId, projectId, agentId);
|
|
104
104
|
|
|
105
105
|
return {
|
|
106
106
|
success: true,
|
|
@@ -117,36 +117,36 @@ export async function getFullGraphAction(
|
|
|
117
117
|
|
|
118
118
|
return {
|
|
119
119
|
success: false,
|
|
120
|
-
error: error instanceof Error ? error.message : 'Failed to get
|
|
120
|
+
error: error instanceof Error ? error.message : 'Failed to get agent',
|
|
121
121
|
code: 'unknown_error',
|
|
122
122
|
};
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
/**
|
|
127
|
-
* Update or create a full
|
|
127
|
+
* Update or create a full agent (upsert)
|
|
128
128
|
*/
|
|
129
|
-
export async function
|
|
129
|
+
export async function updateFullAgentAction(
|
|
130
130
|
tenantId: string,
|
|
131
131
|
projectId: string,
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
): Promise<ActionResult<
|
|
132
|
+
agentId: string,
|
|
133
|
+
agentData: FullAgentDefinition
|
|
134
|
+
): Promise<ActionResult<FullAgentDefinition>> {
|
|
135
135
|
try {
|
|
136
|
-
// Ensure the
|
|
137
|
-
if (
|
|
136
|
+
// Ensure the agent ID matches
|
|
137
|
+
if (agentId !== agentData.id) {
|
|
138
138
|
return {
|
|
139
139
|
success: false,
|
|
140
|
-
error: `
|
|
140
|
+
error: `Agent ID mismatch: expected ${agentId}, got ${agentData.id}`,
|
|
141
141
|
code: 'bad_request',
|
|
142
142
|
};
|
|
143
143
|
}
|
|
144
144
|
|
|
145
|
-
const response = await
|
|
145
|
+
const response = await apiUpdateFullAgent(tenantId, projectId, agentId, agentData);
|
|
146
146
|
|
|
147
147
|
// Revalidate relevant pages
|
|
148
|
-
revalidatePath(`/${tenantId}/projects/${projectId}/
|
|
149
|
-
revalidatePath(`/${tenantId}/projects/${projectId}/
|
|
148
|
+
revalidatePath(`/${tenantId}/projects/${projectId}/agents`);
|
|
149
|
+
revalidatePath(`/${tenantId}/projects/${projectId}/agents/${agentId}`);
|
|
150
150
|
|
|
151
151
|
return {
|
|
152
152
|
success: true,
|
|
@@ -163,25 +163,25 @@ export async function updateFullGraphAction(
|
|
|
163
163
|
|
|
164
164
|
return {
|
|
165
165
|
success: false,
|
|
166
|
-
error: error instanceof Error ? error.message : 'Failed to update
|
|
166
|
+
error: error instanceof Error ? error.message : 'Failed to update agent',
|
|
167
167
|
code: 'validation_error',
|
|
168
168
|
};
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
171
|
|
|
172
172
|
/**
|
|
173
|
-
* Delete a full
|
|
173
|
+
* Delete a full agent
|
|
174
174
|
*/
|
|
175
|
-
export async function
|
|
175
|
+
export async function deleteFullAgentAction(
|
|
176
176
|
tenantId: string,
|
|
177
177
|
projectId: string,
|
|
178
|
-
|
|
178
|
+
agentId: string
|
|
179
179
|
): Promise<ActionResult<void>> {
|
|
180
180
|
try {
|
|
181
|
-
await
|
|
181
|
+
await apiDeleteFullAgent(tenantId, projectId, agentId);
|
|
182
182
|
|
|
183
183
|
// Revalidate relevant pages
|
|
184
|
-
revalidatePath(`/${tenantId}/projects/${projectId}/
|
|
184
|
+
revalidatePath(`/${tenantId}/projects/${projectId}/agents`);
|
|
185
185
|
|
|
186
186
|
return {
|
|
187
187
|
success: true,
|
|
@@ -198,19 +198,19 @@ export async function deleteFullGraphAction(
|
|
|
198
198
|
|
|
199
199
|
return {
|
|
200
200
|
success: false,
|
|
201
|
-
error: error instanceof Error ? error.message : 'Failed to delete
|
|
201
|
+
error: error instanceof Error ? error.message : 'Failed to delete agent',
|
|
202
202
|
code: 'unknown_error',
|
|
203
203
|
};
|
|
204
204
|
}
|
|
205
205
|
}
|
|
206
206
|
|
|
207
207
|
/**
|
|
208
|
-
* Validate
|
|
208
|
+
* Validate agent data without making an API call
|
|
209
209
|
* Useful for form validation on the client side
|
|
210
210
|
*/
|
|
211
|
-
export async function
|
|
211
|
+
export async function validateAgentData(data: unknown): Promise<ActionResult<FullAgentDefinition>> {
|
|
212
212
|
try {
|
|
213
|
-
const validatedData =
|
|
213
|
+
const validatedData = FullAgentDefinitionSchema.parse(data);
|
|
214
214
|
return {
|
|
215
215
|
success: true,
|
|
216
216
|
data: validatedData,
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API Client for Agent Full Operations
|
|
3
|
+
*
|
|
4
|
+
* This module provides HTTP client functions to communicate with the
|
|
5
|
+
* inkeep-chat backend AgentFull REST API endpoints.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { ApiError } from '../types/errors';
|
|
9
|
+
import type {
|
|
10
|
+
CreateAgentResponse,
|
|
11
|
+
FullAgentDefinition,
|
|
12
|
+
GetAgentResponse,
|
|
13
|
+
Agent,
|
|
14
|
+
UpdateAgentResponse,
|
|
15
|
+
} from '../types/agent-full';
|
|
16
|
+
import type { ListResponse } from '../types/response';
|
|
17
|
+
import { makeManagementApiRequest } from './api-config';
|
|
18
|
+
import { validateProjectId, validateTenantId } from './resource-validation';
|
|
19
|
+
|
|
20
|
+
export async function fetchAgents(
|
|
21
|
+
tenantId: string,
|
|
22
|
+
projectId: string
|
|
23
|
+
): Promise<ListResponse<Agent>> {
|
|
24
|
+
validateTenantId(tenantId);
|
|
25
|
+
validateProjectId(projectId);
|
|
26
|
+
|
|
27
|
+
return makeManagementApiRequest<ListResponse<Agent>>(
|
|
28
|
+
`tenants/${tenantId}/projects/${projectId}/agents`
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Create a new full agent
|
|
34
|
+
*/
|
|
35
|
+
export async function createFullAgent(
|
|
36
|
+
tenantId: string,
|
|
37
|
+
projectId: string,
|
|
38
|
+
agentData: FullAgentDefinition
|
|
39
|
+
): Promise<CreateAgentResponse> {
|
|
40
|
+
validateTenantId(tenantId);
|
|
41
|
+
validateProjectId(projectId);
|
|
42
|
+
|
|
43
|
+
return makeManagementApiRequest<CreateAgentResponse>(
|
|
44
|
+
`tenants/${tenantId}/projects/${projectId}/agent`,
|
|
45
|
+
{
|
|
46
|
+
method: 'POST',
|
|
47
|
+
body: JSON.stringify(agentData),
|
|
48
|
+
}
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Get a full agent by ID
|
|
54
|
+
*/
|
|
55
|
+
export async function getFullAgent(
|
|
56
|
+
tenantId: string,
|
|
57
|
+
projectId: string,
|
|
58
|
+
agentId: string
|
|
59
|
+
): Promise<GetAgentResponse> {
|
|
60
|
+
validateTenantId(tenantId);
|
|
61
|
+
validateProjectId(projectId);
|
|
62
|
+
|
|
63
|
+
return makeManagementApiRequest<GetAgentResponse>(
|
|
64
|
+
`tenants/${tenantId}/projects/${projectId}/agent/${agentId}`,
|
|
65
|
+
{
|
|
66
|
+
method: 'GET',
|
|
67
|
+
}
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Update or create a full agent (upsert)
|
|
73
|
+
*/
|
|
74
|
+
export async function updateFullAgent(
|
|
75
|
+
tenantId: string,
|
|
76
|
+
projectId: string,
|
|
77
|
+
agentId: string,
|
|
78
|
+
agentData: FullAgentDefinition
|
|
79
|
+
): Promise<UpdateAgentResponse> {
|
|
80
|
+
validateTenantId(tenantId);
|
|
81
|
+
validateProjectId(projectId);
|
|
82
|
+
|
|
83
|
+
return makeManagementApiRequest<UpdateAgentResponse>(
|
|
84
|
+
`tenants/${tenantId}/projects/${projectId}/agent/${agentId}`,
|
|
85
|
+
{
|
|
86
|
+
method: 'PUT',
|
|
87
|
+
body: JSON.stringify(agentData),
|
|
88
|
+
}
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Delete a full agent
|
|
94
|
+
*/
|
|
95
|
+
export async function deleteFullAgent(
|
|
96
|
+
tenantId: string,
|
|
97
|
+
projectId: string,
|
|
98
|
+
agentId: string
|
|
99
|
+
): Promise<void> {
|
|
100
|
+
validateTenantId(tenantId);
|
|
101
|
+
validateProjectId(projectId);
|
|
102
|
+
|
|
103
|
+
await makeManagementApiRequest(`tenants/${tenantId}/projects/${projectId}/agent/${agentId}`, {
|
|
104
|
+
method: 'DELETE',
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// Export the error class for use in server actions
|
|
109
|
+
export { ApiError };
|