@inkeep/agents-manage-ui 0.24.1 → 0.24.2
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 +147 -171
- package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +3 -3
- package/.next/standalone/agents-manage-ui/.next/build-manifest.json +2 -2
- package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_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.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page_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 +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +9 -9
- package/.next/standalone/agents-manage-ui/.next/server/app/api/data-components/[dataComponentId]/generate-preview/route_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app-paths-manifest.json +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/chunks/1613.js +14 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/{5109.js → 3468.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3547.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/4653.js +196 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5262.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5450.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5732.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6035.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6721.js +4 -4
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6747.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/707.js +4 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7988.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8526.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8884.js +1 -4
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9122.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9128.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9222.js +4080 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/{1524.js → 9234.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/agents-manage-ui/.next/server/pages/404.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/pages/500.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{16631-6c857871fa924141.js → 16631-e313c6f18339824b.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/17022-540bbf991b193531.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/18726-cd04df960a499e08.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/20837-d77f86e28c8ac7aa.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/23364-08749556f2446cad.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{79423-ed95cf583a063427.js → 23650-279b019c0d10672a.js} +3 -3
- package/.next/standalone/agents-manage-ui/.next/static/chunks/36551-09ba51a7603b6640.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/48869-3adeab47774071e4.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{30721-9fe13c117a9408a9.js → 67132-6a36ac852bc82474.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/70613-cb7a1ac35bddb6bf.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/78225-5445b2afb05249db.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/85232-22a9d60836ca811e.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/86507-340cc6112e9218de.js +2 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/87193-3d26f0490b9b0a29.js +25 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{68637-2ab8e9a5394e8525.js → 96982-3db869dc9ca83c87.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/loading-deaaaaef5d47014d.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/{page-fdbebdb8c3371c73.js → page-9b08f45294a2041b.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/loading-7c6d3a56c46ab4e4.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/loading-deaaaaef5d47014d.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/page-633b2ccbc49cb865.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-31799b84d22395a9.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-4f45e4faafd17dea.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-f4a38461a135be91.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/loading-7c6d3a56c46ab4e4.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-5debce906045b390.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-689b7881ec533096.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/{page-2551beb91f3aa6e6.js → page-2affd4f21c17e73d.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/loading-7c6d3a56c46ab4e4.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/page-089d6e9a7adc24d0.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-9b370b3ff69e1891.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-c3bd0a85e2c23715.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-637284cef2f03cfa.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/page-7c6d3a56c46ab4e4.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-effcc7ad7a251c11.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/page-accc8e5a5d324305.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-9ab6b0b2810d46ab.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/layout-1a97adf59dd6a2fe.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page-00d3bd4e0e0283ca.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-d9421c0fe814f7ee.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/layout-deaaaaef5d47014d.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-c7df640ea2699c60.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-19309f8dea87d91d.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/page-60d99eca498e8ca9.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/ai-calls/{page-d7f81fb8018ccb8f.js → page-3b222f3ae3101ba8.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page-4e07cce32c8cfa4c.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-6201459e626dfd90.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/error-f9cda97c25875770.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/loading-7c6d3a56c46ab4e4.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-76b7b5622c4726f8.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-2494491bcdc2dd72.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/not-found-1a97adf59dd6a2fe.js +1 -0
- package/.next/standalone/agents-manage-ui/package.json +2 -2
- package/.next/standalone/packages/agents-core/package.json +1 -1
- package/package.json +5 -5
- package/src/app/[tenantId]/page.tsx +1 -1
- package/src/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.tsx +3 -5
- package/src/app/[tenantId]/projects/[projectId]/agents/new/page.tsx +1 -3
- package/src/app/[tenantId]/projects/[projectId]/agents/page.tsx +1 -5
- package/src/app/[tenantId]/projects/[projectId]/api-keys/page.tsx +1 -5
- package/src/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.tsx +3 -9
- package/src/app/[tenantId]/projects/[projectId]/artifacts/new/page.tsx +3 -5
- package/src/app/[tenantId]/projects/[projectId]/artifacts/page.tsx +3 -5
- package/src/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.tsx +3 -9
- package/src/app/[tenantId]/projects/[projectId]/components/new/page.tsx +3 -5
- package/src/app/[tenantId]/projects/[projectId]/components/page.tsx +3 -5
- package/src/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.tsx +1 -7
- package/src/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.tsx +1 -3
- package/src/app/[tenantId]/projects/[projectId]/credentials/new/page.tsx +3 -4
- package/src/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.tsx +3 -9
- package/src/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.tsx +1 -3
- package/src/app/[tenantId]/projects/[projectId]/credentials/page.tsx +1 -3
- package/src/app/[tenantId]/projects/[projectId]/layout.tsx +4 -7
- package/src/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.tsx +3 -7
- package/src/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.tsx +3 -5
- package/src/app/[tenantId]/projects/[projectId]/mcp-servers/new/layout.tsx +1 -4
- package/src/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.tsx +1 -3
- package/src/app/[tenantId]/projects/[projectId]/mcp-servers/page.tsx +1 -3
- package/src/app/[tenantId]/projects/[projectId]/settings/page.tsx +3 -8
- package/src/app/[tenantId]/projects/page.tsx +1 -1
- package/src/app/api/data-components/[dataComponentId]/generate-preview/route.ts +4 -7
- package/src/app/api/signoz/conversations/[conversationId]/route.ts +3 -6
- package/src/components/agent/agent.tsx +3 -3
- package/src/components/agent/playground/chat-widget.tsx +2 -2
- package/src/components/agent/playground/playground.tsx +2 -2
- package/src/components/agent/sidepane/metadata/metadata-editor.tsx +4 -4
- package/src/components/agent/sidepane/nodes/sub-agent-node-editor.tsx +22 -4
- package/src/components/artifact-components/delete-artifact-component-confirmation.tsx +7 -1
- package/src/components/artifact-components/form/artifact-component-form.tsx +64 -41
- package/src/components/credentials/credential-tools-list.tsx +5 -4
- package/src/components/credentials/views/credential-form.tsx +1 -1
- package/src/components/credentials/views/edit-credential-form.tsx +112 -70
- package/src/components/data-components/delete-data-component-confirmation.tsx +7 -1
- package/src/components/data-components/form/data-component-form.tsx +87 -64
- package/src/components/data-components/preview/component-preview-generator.tsx +7 -0
- package/src/components/mcp-servers/form/mcp-server-form.tsx +51 -8
- package/src/components/mcp-servers/selection/mcp-server-selection.tsx +3 -3
- package/src/components/ui/info-card.tsx +7 -5
- package/src/features/agent/domain/deserialize.ts +2 -2
- package/src/features/agent/domain/serialize.ts +13 -4
- package/src/hooks/use-auto-prefill-id-zustand.ts +2 -2
- package/src/hooks/use-auto-prefill-id.ts +2 -2
- package/src/hooks/use-node-editor.ts +18 -1
- package/src/lib/actions/artifact-components.ts +0 -1
- package/src/lib/actions/credentials.ts +0 -1
- package/src/lib/actions/data-components.ts +0 -1
- package/src/lib/actions/tools.ts +6 -4
- package/src/lib/utils/generate-id.ts +1 -1
- package/src/lib/utils/id-utils.ts +4 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2584.js +0 -14
- package/.next/standalone/agents-manage-ui/.next/server/chunks/526.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5478.js +0 -4080
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6503.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7733.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7848.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8038.js +0 -196
- package/.next/standalone/agents-manage-ui/.next/static/chunks/1499-20f18a3858daee94.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/20837-f8b0d86a8303f4c3.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/20982-49c49e2dfe9b7055.js +0 -2
- package/.next/standalone/agents-manage-ui/.next/static/chunks/24994-975eb584d5b2438a.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/35250-5a05e05770ea8f06.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/39438-3324f04d95405812.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/44251-15d8824c35b7ca83.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/47259-95ea98b229d39774.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/48949-692c5f8265558813.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/58124-080a600083669e79.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/63569-33a7ac3e7076968e.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/63969-591c2e039348bc39.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/6481-def23a19cb7832d7.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/74206-85aa3065dce9dc8a.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/76125-82ebb14b304cfe0b.js +0 -25
- package/.next/standalone/agents-manage-ui/.next/static/chunks/78225-17ad3e82fb563fc9.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/92160-0e9ba9d3fc9f7a53.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/94167-1d0eb19e0f384370.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/loading-9bfadd2bfe02c9c2.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/loading-5c7849713f85ab22.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/loading-9bfadd2bfe02c9c2.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/page-bc76e9554c5d2341.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-4c5fb257a6233694.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-5158b01426eb0f32.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-75c72891b2f2923c.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/loading-5c7849713f85ab22.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-4cae1de757715499.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-528fffe4fc232ff4.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/loading-5c7849713f85ab22.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/page-05a78b9d37131b1a.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-d238c502f632f4e0.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-3655f333086c211d.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-20579bf7a4fb87d3.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/page-5c7849713f85ab22.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-f109a80577d83568.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/page-07db6760153791ce.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-9eafe11017316482.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/layout-0f84ce3202492bc1.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page-b52db9884e7955e1.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-5b25bf3f3967c268.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/layout-9bfadd2bfe02c9c2.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-d970759f74621cfe.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-57be5eb54ad97e11.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/page-11cfe0365b56c6b2.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page-73c7ac508b857ff8.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-bb2b8d64b23cf563.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/error-a4c58861fad98c65.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/loading-5c7849713f85ab22.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-cf6f4f3394d4813d.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-d83e519e9bcc6269.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/not-found-4fc170fc11e5aaec.js +0 -1
- /package/.next/standalone/agents-manage-ui/.next/static/{TwV2TGtXdOiFkslre7D-k → 4HTfKGfjXenctXjz8hNi9}/_buildManifest.js +0 -0
- /package/.next/standalone/agents-manage-ui/.next/static/{TwV2TGtXdOiFkslre7D-k → 4HTfKGfjXenctXjz8hNi9}/_ssgManifest.js +0 -0
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { zodResolver } from '@hookform/resolvers/zod';
|
|
4
4
|
import { CredentialStoreType } from '@inkeep/agents-core/client-exports';
|
|
5
5
|
import { useRouter } from 'next/navigation';
|
|
6
|
+
import { useState } from 'react';
|
|
6
7
|
import { useForm } from 'react-hook-form';
|
|
7
8
|
import { toast } from 'sonner';
|
|
8
9
|
import { z } from 'zod';
|
|
@@ -10,10 +11,13 @@ import { CredentialToolsList } from '@/components/credentials/credential-tools-l
|
|
|
10
11
|
import { GenericInput } from '@/components/form/generic-input';
|
|
11
12
|
import { GenericKeyValueInput } from '@/components/form/generic-key-value-input';
|
|
12
13
|
import { Button } from '@/components/ui/button';
|
|
14
|
+
import { DeleteConfirmation } from '@/components/ui/delete-confirmation';
|
|
15
|
+
import { Dialog, DialogTrigger } from '@/components/ui/dialog';
|
|
13
16
|
import { Form } from '@/components/ui/form';
|
|
14
17
|
import { InfoCard } from '@/components/ui/info-card';
|
|
15
18
|
import { Input } from '@/components/ui/input';
|
|
16
19
|
import { Label } from '@/components/ui/label';
|
|
20
|
+
import { deleteCredentialAction } from '@/lib/actions/credentials';
|
|
17
21
|
import { type Credential, updateCredential } from '@/lib/api/credentials';
|
|
18
22
|
import { setNangoConnectionMetadata } from '@/lib/mcp-tools/nango';
|
|
19
23
|
|
|
@@ -55,6 +59,8 @@ export function EditCredentialForm({
|
|
|
55
59
|
initialFormData,
|
|
56
60
|
}: EditCredentialFormProps) {
|
|
57
61
|
const router = useRouter();
|
|
62
|
+
const [isDeleteOpen, setIsDeleteOpen] = useState(false);
|
|
63
|
+
const [isDeleting, setIsDeleting] = useState(false);
|
|
58
64
|
|
|
59
65
|
const form = useForm({
|
|
60
66
|
resolver: zodResolver(editCredentialFormSchema),
|
|
@@ -97,79 +103,115 @@ export function EditCredentialForm({
|
|
|
97
103
|
await handleUpdateCredential(data);
|
|
98
104
|
};
|
|
99
105
|
|
|
106
|
+
const handleDelete = async () => {
|
|
107
|
+
setIsDeleting(true);
|
|
108
|
+
try {
|
|
109
|
+
const result = await deleteCredentialAction(tenantId, projectId, credential.id);
|
|
110
|
+
if (result.success) {
|
|
111
|
+
setIsDeleteOpen(false);
|
|
112
|
+
toast.success('Credential deleted.');
|
|
113
|
+
router.push(`/${tenantId}/projects/${projectId}/credentials`);
|
|
114
|
+
} else {
|
|
115
|
+
toast.error(result.error);
|
|
116
|
+
}
|
|
117
|
+
} finally {
|
|
118
|
+
setIsDeleting(false);
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
|
|
100
122
|
return (
|
|
101
|
-
<
|
|
102
|
-
<
|
|
103
|
-
{
|
|
104
|
-
|
|
105
|
-
<
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
<
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
<
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
<
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
123
|
+
<Dialog open={isDeleteOpen} onOpenChange={setIsDeleteOpen}>
|
|
124
|
+
<Form {...form}>
|
|
125
|
+
<form onSubmit={form.handleSubmit(onSubmit)} className="space-y-8">
|
|
126
|
+
{/* Credential Details Section */}
|
|
127
|
+
<div className="space-y-8">
|
|
128
|
+
<GenericInput
|
|
129
|
+
control={form.control}
|
|
130
|
+
name="name"
|
|
131
|
+
label="Name"
|
|
132
|
+
placeholder="e.g., production-api-key"
|
|
133
|
+
disabled={true}
|
|
134
|
+
/>
|
|
135
|
+
|
|
136
|
+
{/* Credential Type Display */}
|
|
137
|
+
<div className="space-y-3">
|
|
138
|
+
<Label>Credential type</Label>
|
|
139
|
+
<Input type="text" disabled={true} value={getCredentialType(credential)} />
|
|
140
|
+
{getCredentialType(credential) === 'Bearer Auth' && (
|
|
141
|
+
<InfoCard title="How this works">
|
|
142
|
+
<p>
|
|
143
|
+
When your agent connects to the MCP server, this API key will be automatically
|
|
144
|
+
sent as an authentication header:
|
|
145
|
+
</p>
|
|
146
|
+
<p className="my-2">
|
|
147
|
+
<code className="bg-background px-1.5 py-0.5 rounded border">
|
|
148
|
+
Authorization: Bearer your-api-key-here
|
|
149
|
+
</code>
|
|
150
|
+
</p>
|
|
151
|
+
<p>This ensures secure access to the server's tools and data.</p>
|
|
152
|
+
</InfoCard>
|
|
153
|
+
)}
|
|
154
|
+
</div>
|
|
155
|
+
|
|
156
|
+
{/* Metadata / Headers Section */}
|
|
157
|
+
{credential.type === CredentialStoreType.nango && (
|
|
158
|
+
<div className="space-y-3">
|
|
159
|
+
<GenericKeyValueInput
|
|
160
|
+
control={form.control}
|
|
161
|
+
name="metadata"
|
|
162
|
+
label="Headers (optional)"
|
|
163
|
+
keyPlaceholder="Header name (e.g., X-API-Key)"
|
|
164
|
+
valuePlaceholder="Header value"
|
|
165
|
+
/>
|
|
166
|
+
<InfoCard title="How this works">
|
|
167
|
+
<p className="mb-2">
|
|
168
|
+
Add extra headers to be included with authentication requests.
|
|
169
|
+
</p>
|
|
170
|
+
<p>
|
|
171
|
+
Examples:{' '}
|
|
172
|
+
<code className="bg-background px-1.5 py-0.5 rounded border mx-1">
|
|
173
|
+
User-Agent
|
|
174
|
+
</code>
|
|
175
|
+
<code className="bg-background px-1.5 py-0.5 rounded border mx-1">
|
|
176
|
+
X-API-Key
|
|
177
|
+
</code>
|
|
178
|
+
<code className="bg-background px-1.5 py-0.5 rounded border mx-1">
|
|
179
|
+
Content-Type
|
|
180
|
+
</code>
|
|
181
|
+
</p>
|
|
182
|
+
</InfoCard>
|
|
183
|
+
</div>
|
|
130
184
|
)}
|
|
185
|
+
|
|
186
|
+
{/* MCP Servers Using This Credential */}
|
|
187
|
+
<CredentialToolsList
|
|
188
|
+
tools={credential.tools}
|
|
189
|
+
tenantId={tenantId}
|
|
190
|
+
projectId={projectId}
|
|
191
|
+
/>
|
|
131
192
|
</div>
|
|
132
193
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
</code>
|
|
156
|
-
</p>
|
|
157
|
-
</div>
|
|
158
|
-
</div>
|
|
159
|
-
)}
|
|
160
|
-
|
|
161
|
-
{/* MCP Servers Using This Credential */}
|
|
162
|
-
<CredentialToolsList tools={credential.tools} tenantId={tenantId} projectId={projectId} />
|
|
163
|
-
</div>
|
|
164
|
-
|
|
165
|
-
<div className="flex gap-3 pt-4">
|
|
166
|
-
{credential.type === CredentialStoreType.nango && (
|
|
167
|
-
<Button type="submit" disabled={isSubmitting}>
|
|
168
|
-
Save
|
|
169
|
-
</Button>
|
|
170
|
-
)}
|
|
171
|
-
</div>
|
|
172
|
-
</form>
|
|
173
|
-
</Form>
|
|
194
|
+
<div className="flex w-full justify-between">
|
|
195
|
+
{credential.type === CredentialStoreType.nango && (
|
|
196
|
+
<Button type="submit" disabled={isSubmitting}>
|
|
197
|
+
Save
|
|
198
|
+
</Button>
|
|
199
|
+
)}
|
|
200
|
+
<DialogTrigger asChild>
|
|
201
|
+
<Button type="button" variant="secondary">
|
|
202
|
+
Delete Credential
|
|
203
|
+
</Button>
|
|
204
|
+
</DialogTrigger>
|
|
205
|
+
</div>
|
|
206
|
+
</form>
|
|
207
|
+
</Form>
|
|
208
|
+
{isDeleteOpen && (
|
|
209
|
+
<DeleteConfirmation
|
|
210
|
+
itemName={credential.id || 'this credential'}
|
|
211
|
+
isSubmitting={isDeleting}
|
|
212
|
+
onDelete={handleDelete}
|
|
213
|
+
/>
|
|
214
|
+
)}
|
|
215
|
+
</Dialog>
|
|
174
216
|
);
|
|
175
217
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { useParams } from 'next/navigation';
|
|
3
|
+
import { useParams, useRouter } from 'next/navigation';
|
|
4
4
|
import { useState } from 'react';
|
|
5
5
|
import { toast } from 'sonner';
|
|
6
6
|
import { DeleteConfirmation } from '@/components/ui/delete-confirmation';
|
|
@@ -10,17 +10,20 @@ interface DeleteDataComponentConfirmationProps {
|
|
|
10
10
|
dataComponentId: string;
|
|
11
11
|
dataComponentName?: string;
|
|
12
12
|
setIsOpen: (isOpen: boolean) => void;
|
|
13
|
+
redirectOnDelete?: boolean;
|
|
13
14
|
}
|
|
14
15
|
|
|
15
16
|
export function DeleteDataComponentConfirmation({
|
|
16
17
|
dataComponentId,
|
|
17
18
|
dataComponentName,
|
|
18
19
|
setIsOpen,
|
|
20
|
+
redirectOnDelete = false,
|
|
19
21
|
}: DeleteDataComponentConfirmationProps) {
|
|
20
22
|
const { tenantId, projectId } = useParams<{
|
|
21
23
|
tenantId: string;
|
|
22
24
|
projectId: string;
|
|
23
25
|
}>();
|
|
26
|
+
const router = useRouter();
|
|
24
27
|
const [isSubmitting, setIsSubmitting] = useState(false);
|
|
25
28
|
|
|
26
29
|
const handleDelete = async () => {
|
|
@@ -30,6 +33,9 @@ export function DeleteDataComponentConfirmation({
|
|
|
30
33
|
if (result.success) {
|
|
31
34
|
setIsOpen(false);
|
|
32
35
|
toast.success('Component deleted.');
|
|
36
|
+
if (redirectOnDelete) {
|
|
37
|
+
router.push(`/${tenantId}/projects/${projectId}/components`);
|
|
38
|
+
}
|
|
33
39
|
} else {
|
|
34
40
|
toast.error(result.error);
|
|
35
41
|
}
|
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
import { zodResolver } from '@hookform/resolvers/zod';
|
|
4
4
|
import { useRouter } from 'next/navigation';
|
|
5
|
+
import { useState } from 'react';
|
|
5
6
|
import { useForm } from 'react-hook-form';
|
|
6
7
|
import { toast } from 'sonner';
|
|
7
8
|
import { GenericInput } from '@/components/form/generic-input';
|
|
8
9
|
import { GenericTextarea } from '@/components/form/generic-textarea';
|
|
9
10
|
import { JsonSchemaInput } from '@/components/form/json-schema-input';
|
|
10
11
|
import { Button } from '@/components/ui/button';
|
|
12
|
+
import { Dialog, DialogTrigger } from '@/components/ui/dialog';
|
|
11
13
|
import { ExternalLink } from '@/components/ui/external-link';
|
|
12
14
|
import { Form } from '@/components/ui/form';
|
|
13
15
|
import { useAutoPrefillId } from '@/hooks/use-auto-prefill-id';
|
|
@@ -17,6 +19,7 @@ import {
|
|
|
17
19
|
} from '@/lib/actions/data-components';
|
|
18
20
|
import type { DataComponent } from '@/lib/api/data-components';
|
|
19
21
|
import { formatJsonField } from '@/lib/utils';
|
|
22
|
+
import { DeleteDataComponentConfirmation } from '../delete-data-component-confirmation';
|
|
20
23
|
import { ComponentPreviewGenerator } from '../preview/component-preview-generator';
|
|
21
24
|
import { defaultValues } from './form-configuration';
|
|
22
25
|
import { type DataComponentFormData, dataComponentSchema } from './validation';
|
|
@@ -44,6 +47,7 @@ export function DataComponentForm({
|
|
|
44
47
|
id,
|
|
45
48
|
initialData,
|
|
46
49
|
}: DataComponentFormProps) {
|
|
50
|
+
const [isDeleteOpen, setIsDeleteOpen] = useState(false);
|
|
47
51
|
const form = useForm<DataComponentFormData>({
|
|
48
52
|
resolver: zodResolver(dataComponentSchema),
|
|
49
53
|
defaultValues: formatFormData(initialData),
|
|
@@ -87,71 +91,90 @@ export function DataComponentForm({
|
|
|
87
91
|
};
|
|
88
92
|
|
|
89
93
|
return (
|
|
90
|
-
<
|
|
91
|
-
<
|
|
92
|
-
<
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
{id && (
|
|
140
|
-
<ComponentPreviewGenerator
|
|
141
|
-
tenantId={tenantId}
|
|
142
|
-
projectId={projectId}
|
|
143
|
-
dataComponentId={id}
|
|
144
|
-
existingPreview={initialData?.preview || null}
|
|
145
|
-
onPreviewChanged={(preview) => {
|
|
146
|
-
form.setValue('preview', preview);
|
|
147
|
-
}}
|
|
94
|
+
<Dialog open={isDeleteOpen} onOpenChange={setIsDeleteOpen}>
|
|
95
|
+
<Form {...form}>
|
|
96
|
+
<form onSubmit={form.handleSubmit(onSubmit)} className="space-y-8">
|
|
97
|
+
<GenericInput
|
|
98
|
+
control={form.control}
|
|
99
|
+
name="name"
|
|
100
|
+
label="Name"
|
|
101
|
+
placeholder="ListOrders"
|
|
102
|
+
description={
|
|
103
|
+
<>
|
|
104
|
+
This name is used to identify the component in chat widget integration.{' '}
|
|
105
|
+
<ExternalLink
|
|
106
|
+
href="https://docs.inkeep.com/typescript-sdk/structured-outputs/data-components#frontend-integration"
|
|
107
|
+
target="_blank"
|
|
108
|
+
>
|
|
109
|
+
Learn more
|
|
110
|
+
</ExternalLink>
|
|
111
|
+
</>
|
|
112
|
+
}
|
|
113
|
+
isRequired
|
|
114
|
+
/>
|
|
115
|
+
<GenericInput
|
|
116
|
+
control={form.control}
|
|
117
|
+
name="id"
|
|
118
|
+
label="Id"
|
|
119
|
+
placeholder="my-data-component"
|
|
120
|
+
disabled={!!id}
|
|
121
|
+
description={
|
|
122
|
+
id
|
|
123
|
+
? ''
|
|
124
|
+
: 'Choose a unique identifier for this component. Using an existing id will replace that component.'
|
|
125
|
+
}
|
|
126
|
+
isRequired
|
|
127
|
+
/>
|
|
128
|
+
<GenericTextarea
|
|
129
|
+
control={form.control}
|
|
130
|
+
name="description"
|
|
131
|
+
label="Description"
|
|
132
|
+
placeholder="Display a list of user orders with interactive options"
|
|
133
|
+
className="min-h-[80px]"
|
|
134
|
+
isRequired
|
|
135
|
+
/>
|
|
136
|
+
<JsonSchemaInput
|
|
137
|
+
control={form.control}
|
|
138
|
+
name="props"
|
|
139
|
+
label="Props (JSON schema)"
|
|
140
|
+
placeholder="Enter a valid JSON Schema..."
|
|
141
|
+
isRequired
|
|
148
142
|
/>
|
|
149
|
-
)}
|
|
150
143
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
144
|
+
{id && (
|
|
145
|
+
<ComponentPreviewGenerator
|
|
146
|
+
tenantId={tenantId}
|
|
147
|
+
projectId={projectId}
|
|
148
|
+
dataComponentId={id}
|
|
149
|
+
existingPreview={initialData?.preview || null}
|
|
150
|
+
onPreviewChanged={(preview) => {
|
|
151
|
+
form.setValue('preview', preview);
|
|
152
|
+
}}
|
|
153
|
+
/>
|
|
154
|
+
)}
|
|
155
|
+
|
|
156
|
+
<div className="flex w-full justify-between">
|
|
157
|
+
<Button type="submit" disabled={isSubmitting}>
|
|
158
|
+
Save
|
|
159
|
+
</Button>
|
|
160
|
+
{id && (
|
|
161
|
+
<DialogTrigger asChild>
|
|
162
|
+
<Button type="button" variant="secondary">
|
|
163
|
+
Delete Component
|
|
164
|
+
</Button>
|
|
165
|
+
</DialogTrigger>
|
|
166
|
+
)}
|
|
167
|
+
</div>
|
|
168
|
+
</form>
|
|
169
|
+
</Form>
|
|
170
|
+
{isDeleteOpen && id && (
|
|
171
|
+
<DeleteDataComponentConfirmation
|
|
172
|
+
dataComponentId={id}
|
|
173
|
+
dataComponentName={form.getValues('name')}
|
|
174
|
+
setIsOpen={setIsDeleteOpen}
|
|
175
|
+
redirectOnDelete={true}
|
|
176
|
+
/>
|
|
177
|
+
)}
|
|
178
|
+
</Dialog>
|
|
156
179
|
);
|
|
157
180
|
}
|
|
@@ -8,6 +8,7 @@ import { CodeEditor } from '@/components/form/code-editor';
|
|
|
8
8
|
import { JsonEditor } from '@/components/form/json-editor';
|
|
9
9
|
import { Button } from '@/components/ui/button';
|
|
10
10
|
import { Card } from '@/components/ui/card';
|
|
11
|
+
import { InfoCard } from '@/components/ui/info-card';
|
|
11
12
|
import { Label } from '@/components/ui/label';
|
|
12
13
|
import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';
|
|
13
14
|
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
|
|
@@ -317,6 +318,12 @@ export function ComponentPreviewGenerator({
|
|
|
317
318
|
</TabsContent>
|
|
318
319
|
</Tabs>
|
|
319
320
|
)}
|
|
321
|
+
|
|
322
|
+
{!hasPreview && !isGenerating && !isComplete && (
|
|
323
|
+
<InfoCard>
|
|
324
|
+
<p className="text-sm text-muted-foreground">No preview generated</p>
|
|
325
|
+
</InfoCard>
|
|
326
|
+
)}
|
|
320
327
|
</div>
|
|
321
328
|
);
|
|
322
329
|
}
|
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { zodResolver } from '@hookform/resolvers/zod';
|
|
4
|
+
import { generateId } from '@/lib/utils/id-utils';
|
|
4
5
|
import { detectAuthenticationRequired, MCPTransportType } from '@inkeep/agents-core/client-exports';
|
|
5
|
-
import { nanoid } from 'nanoid';
|
|
6
6
|
import { useRouter } from 'next/navigation';
|
|
7
|
+
import { useState } from 'react';
|
|
7
8
|
import { useForm } from 'react-hook-form';
|
|
8
9
|
import { toast } from 'sonner';
|
|
9
10
|
import { GenericInput } from '@/components/form/generic-input';
|
|
10
11
|
import { GenericSelect } from '@/components/form/generic-select';
|
|
11
12
|
import { Button } from '@/components/ui/button';
|
|
13
|
+
import { DeleteConfirmation } from '@/components/ui/delete-confirmation';
|
|
14
|
+
import { Dialog, DialogTrigger } from '@/components/ui/dialog';
|
|
12
15
|
import { Form } from '@/components/ui/form';
|
|
13
16
|
import { InfoCard } from '@/components/ui/info-card';
|
|
14
17
|
import { useOAuthLogin } from '@/hooks/use-oauth-login';
|
|
18
|
+
import { deleteToolAction } from '@/lib/actions/tools';
|
|
15
19
|
import type { Credential } from '@/lib/api/credentials';
|
|
16
20
|
import { createMCPTool, updateMCPTool } from '@/lib/api/tools';
|
|
17
21
|
import type { MCPTool } from '@/lib/types/tools';
|
|
@@ -54,6 +58,8 @@ export function MCPServerForm({
|
|
|
54
58
|
projectId,
|
|
55
59
|
}: MCPServerFormProps) {
|
|
56
60
|
const router = useRouter();
|
|
61
|
+
const [isDeleteOpen, setIsDeleteOpen] = useState(false);
|
|
62
|
+
const [isDeleting, setIsDeleting] = useState(false);
|
|
57
63
|
|
|
58
64
|
const form = useForm({
|
|
59
65
|
resolver: zodResolver(mcpToolSchema),
|
|
@@ -82,7 +88,7 @@ export function MCPServerForm({
|
|
|
82
88
|
try {
|
|
83
89
|
// handle oauth login
|
|
84
90
|
if (data.credentialReferenceId === 'oauth') {
|
|
85
|
-
const toolId =
|
|
91
|
+
const toolId = generateId();
|
|
86
92
|
|
|
87
93
|
const isAuthenticationRequired = await detectAuthenticationRequired({
|
|
88
94
|
serverUrl: data.config.mcp.server.url,
|
|
@@ -146,7 +152,7 @@ export function MCPServerForm({
|
|
|
146
152
|
} else {
|
|
147
153
|
const newTool = await createMCPTool(tenantId, projectId, {
|
|
148
154
|
...transformedData,
|
|
149
|
-
id:
|
|
155
|
+
id: generateId(),
|
|
150
156
|
});
|
|
151
157
|
toast.success('MCP server created successfully');
|
|
152
158
|
router.push(`/${tenantId}/projects/${projectId}/mcp-servers/${newTool.id}`);
|
|
@@ -157,9 +163,29 @@ export function MCPServerForm({
|
|
|
157
163
|
}
|
|
158
164
|
};
|
|
159
165
|
|
|
166
|
+
const handleDelete = async () => {
|
|
167
|
+
if (!tool) return;
|
|
168
|
+
|
|
169
|
+
setIsDeleting(true);
|
|
170
|
+
try {
|
|
171
|
+
// Don't revalidate to avoid Next.js trying to refetch the deleted resource on current page
|
|
172
|
+
const result = await deleteToolAction(tenantId, projectId, tool.id, false);
|
|
173
|
+
if (result.success) {
|
|
174
|
+
setIsDeleteOpen(false);
|
|
175
|
+
toast.success('MCP server deleted.');
|
|
176
|
+
router.push(`/${tenantId}/projects/${projectId}/mcp-servers`);
|
|
177
|
+
} else {
|
|
178
|
+
toast.error(result.error || 'Failed to delete MCP server.');
|
|
179
|
+
}
|
|
180
|
+
} finally {
|
|
181
|
+
setIsDeleting(false);
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
|
|
160
185
|
return (
|
|
161
|
-
<
|
|
162
|
-
<
|
|
186
|
+
<Dialog open={isDeleteOpen} onOpenChange={setIsDeleteOpen}>
|
|
187
|
+
<Form {...form}>
|
|
188
|
+
<form onSubmit={form.handleSubmit(onSubmit)} className="space-y-8">
|
|
163
189
|
<GenericInput
|
|
164
190
|
control={form.control}
|
|
165
191
|
name="name"
|
|
@@ -240,10 +266,27 @@ export function MCPServerForm({
|
|
|
240
266
|
/>
|
|
241
267
|
)}
|
|
242
268
|
|
|
243
|
-
<
|
|
244
|
-
|
|
245
|
-
|
|
269
|
+
<div className="flex w-full justify-between">
|
|
270
|
+
<Button type="submit" disabled={isSubmitting}>
|
|
271
|
+
{mode === 'update' ? 'Save' : 'Create'}
|
|
272
|
+
</Button>
|
|
273
|
+
{mode === 'update' && tool && (
|
|
274
|
+
<DialogTrigger asChild>
|
|
275
|
+
<Button type="button" variant="secondary">
|
|
276
|
+
Delete Server
|
|
277
|
+
</Button>
|
|
278
|
+
</DialogTrigger>
|
|
279
|
+
)}
|
|
280
|
+
</div>
|
|
246
281
|
</form>
|
|
247
282
|
</Form>
|
|
283
|
+
{isDeleteOpen && tool && (
|
|
284
|
+
<DeleteConfirmation
|
|
285
|
+
itemName={tool.name || 'this MCP server'}
|
|
286
|
+
isSubmitting={isDeleting}
|
|
287
|
+
onDelete={handleDelete}
|
|
288
|
+
/>
|
|
289
|
+
)}
|
|
290
|
+
</Dialog>
|
|
248
291
|
);
|
|
249
292
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { generateId } from '@/lib/utils/id-utils';
|
|
4
4
|
import { useRouter } from 'next/navigation';
|
|
5
5
|
import { useState } from 'react';
|
|
6
6
|
import { toast } from 'sonner';
|
|
@@ -39,7 +39,7 @@ export function MCPServerSelection({ credentials, tenantId, projectId }: MCPServ
|
|
|
39
39
|
try {
|
|
40
40
|
// Transform prebuilt server data to MCPToolFormData format
|
|
41
41
|
const mcpToolData = {
|
|
42
|
-
id:
|
|
42
|
+
id: generateId(),
|
|
43
43
|
name: server.name,
|
|
44
44
|
config: {
|
|
45
45
|
type: 'mcp' as const,
|
|
@@ -62,7 +62,7 @@ export function MCPServerSelection({ credentials, tenantId, projectId }: MCPServ
|
|
|
62
62
|
toast.success(`${server.name} MCP server created successfully`);
|
|
63
63
|
router.push(`/${tenantId}/projects/${projectId}/mcp-servers/${newTool.id}`);
|
|
64
64
|
} else {
|
|
65
|
-
handleOAuthLogin({toolId: newTool.id, mcpServerUrl: server.url, toolName: server.name});
|
|
65
|
+
handleOAuthLogin({ toolId: newTool.id, mcpServerUrl: server.url, toolName: server.name });
|
|
66
66
|
}
|
|
67
67
|
} catch (error) {
|
|
68
68
|
console.error('Failed to create prebuilt MCP server:', error);
|
|
@@ -4,7 +4,7 @@ import { ChevronDown } from 'lucide-react';
|
|
|
4
4
|
import { Button } from './button';
|
|
5
5
|
|
|
6
6
|
interface InfoCardProps {
|
|
7
|
-
title
|
|
7
|
+
title?: string;
|
|
8
8
|
Icon?: LucideIcon;
|
|
9
9
|
children: React.ReactNode;
|
|
10
10
|
}
|
|
@@ -12,10 +12,12 @@ interface InfoCardProps {
|
|
|
12
12
|
export function InfoCard({ title, Icon, children }: InfoCardProps) {
|
|
13
13
|
return (
|
|
14
14
|
<div className="text-xs text-gray-800 dark:text-muted-foreground p-3 bg-gray-100/80 dark:bg-sidebar rounded-md">
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
{title && (
|
|
16
|
+
<div className="flex items-center gap-2 mb-2">
|
|
17
|
+
{Icon && <Icon className="w-3 h-3 text-muted-foreground" />}
|
|
18
|
+
<p className="font-medium text-foreground font-mono uppercase">{title}</p>
|
|
19
|
+
</div>
|
|
20
|
+
)}
|
|
19
21
|
{children}
|
|
20
22
|
</div>
|
|
21
23
|
);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { generateId } from '@/lib/utils/id-utils';
|
|
1
2
|
import type { Edge, Node } from '@xyflow/react';
|
|
2
3
|
import * as dagre from 'dagre';
|
|
3
|
-
import { nanoid } from 'nanoid';
|
|
4
4
|
import { EdgeType } from '@/components/agent/configuration/edge-types';
|
|
5
5
|
import {
|
|
6
6
|
agentNodeSourceHandleId,
|
|
@@ -205,7 +205,7 @@ export function deserializeAgentData(data: FullAgentDefinition): TransformResult
|
|
|
205
205
|
if ('canUse' in agent && agent.canUse && agent.canUse.length > 0) {
|
|
206
206
|
for (const canUseItem of agent.canUse) {
|
|
207
207
|
const toolId = canUseItem.toolId;
|
|
208
|
-
const toolNodeId =
|
|
208
|
+
const toolNodeId = generateId();
|
|
209
209
|
const relationshipId = canUseItem.agentToolRelationId;
|
|
210
210
|
|
|
211
211
|
const tool = data.tools?.[toolId] || data.functionTools?.[toolId];
|