@inkeep/agents-manage-ui 0.24.0 → 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 +143 -167
- package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +2 -2
- package/.next/standalone/agents-manage-ui/.next/build-manifest.json +2 -2
- package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +9 -9
- package/.next/standalone/agents-manage-ui/.next/server/app/api/data-components/[dataComponentId]/generate-preview/route_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app-paths-manifest.json +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/1613.js +14 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2005.js +1 -1
- 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/{2851.js → 4653.js} +19 -19
- 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/{7977.js → 7953.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7988.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/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/{5642.js → 9222.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9234.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/agents-manage-ui/.next/server/pages/404.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/pages/500.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{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/{4875-306209ac5547e001.js → 4875-6cc31870e1b4f78e.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/48869-3adeab47774071e4.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{55851-6ebca09d3e107386.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-f68f3c960e8db83f.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-59df08cb46c7e592.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/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 +48 -5
- package/src/components/ui/info-card.tsx +7 -5
- package/src/features/agent/domain/serialize.ts +10 -1
- 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/.next/standalone/agents-manage-ui/.next/server/chunks/1525.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/244.js +0 -14
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6503.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/728.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/9003.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/1499-20f18a3858daee94.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/20837-041beb6a2f540583.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/27396-d1c1a1a24f7b06ca.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/28186-1f8894e8a9f58785.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/39523-c0cadec114d31336.js +0 -25
- package/.next/standalone/agents-manage-ui/.next/static/chunks/44251-15d8824c35b7ca83.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/47216-52f3cc04486d36c9.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/57786-36b73daa228df68d.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/83858-2bfa9973ce3ce326.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/93231-f6a13c3278793654.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/94167-3fd33f8ffc652db2.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-2a7d8de41c87958d.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-62cab20aa4353d45.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-81d720721aab1586.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-9d7e4ff201cf3345.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-8f72a85f26135a46.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-9f13fb47f54d0757.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-a4738db9057ca109.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-87415ca1bf6d1477.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-91ba0f87b3d09f30.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-bdf1d5105b7e878a.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-8d2ec09f9385c4a6.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-609abc0d3feeef77.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-cbf0830dece4f6c4.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-d5ff2cbd01568451.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-e410d10ef6ae24de.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-14b54cd8fc861b32.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/page-f64f1dc069a6d95b.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-39b4c79dd6ee832e.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-d48f9593e232f3e1.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-25a2e915d1b1d0ba.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/{pSmoxTjEZijMAqPrIfiP9 → 4HTfKGfjXenctXjz8hNi9}/_buildManifest.js +0 -0
- /package/.next/standalone/agents-manage-ui/.next/static/{pSmoxTjEZijMAqPrIfiP9 → 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
|
}
|
|
@@ -4,14 +4,18 @@ import { zodResolver } from '@hookform/resolvers/zod';
|
|
|
4
4
|
import { generateId } from '@/lib/utils/id-utils';
|
|
5
5
|
import { detectAuthenticationRequired, MCPTransportType } from '@inkeep/agents-core/client-exports';
|
|
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),
|
|
@@ -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
|
}
|
|
@@ -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
|
);
|
|
@@ -458,9 +458,18 @@ export function validateSerializedData(
|
|
|
458
458
|
): StructuredValidationError[] {
|
|
459
459
|
const errors: StructuredValidationError[] = [];
|
|
460
460
|
|
|
461
|
+
if (!data.defaultSubAgentId) {
|
|
462
|
+
errors.push({
|
|
463
|
+
message: 'Default sub agent ID is required, please select a default sub agent.',
|
|
464
|
+
field: 'defaultSubAgentId',
|
|
465
|
+
code: 'required',
|
|
466
|
+
path: ['defaultSubAgentId'],
|
|
467
|
+
});
|
|
468
|
+
}
|
|
469
|
+
|
|
461
470
|
if (data.defaultSubAgentId && !data.subAgents[data.defaultSubAgentId]) {
|
|
462
471
|
errors.push({
|
|
463
|
-
message: `Default agent ID '${data.defaultSubAgentId}' not found in agents.`,
|
|
472
|
+
message: `Default sub agent ID '${data.defaultSubAgentId}' not found in sub agents.`,
|
|
464
473
|
field: 'defaultSubAgentId',
|
|
465
474
|
code: 'invalid_reference',
|
|
466
475
|
path: ['defaultSubAgentId'],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useEffect } from 'react';
|
|
2
2
|
import { type FieldValues, type UseFormReturn, useWatch } from 'react-hook-form';
|
|
3
|
-
import {
|
|
3
|
+
import { generateIdFromName } from '@/lib/utils/generate-id';
|
|
4
4
|
|
|
5
5
|
interface UseAutoPrefillIdOptions<T extends FieldValues> {
|
|
6
6
|
form: UseFormReturn<T>;
|
|
@@ -29,7 +29,7 @@ export function useAutoPrefillId<T extends FieldValues>({
|
|
|
29
29
|
// biome-ignore lint/correctness/useExhaustiveDependencies: we don't want to re-run this effect when the isIdFieldModified changes since that means the user has manually edited the ID field
|
|
30
30
|
useEffect(() => {
|
|
31
31
|
if (!isEditing && nameValue && !isIdFieldModified) {
|
|
32
|
-
const generatedId =
|
|
32
|
+
const generatedId = generateIdFromName(nameValue);
|
|
33
33
|
form.setValue(idField as any, generatedId as any, {
|
|
34
34
|
shouldValidate: true,
|
|
35
35
|
});
|
|
@@ -9,9 +9,25 @@ interface UseNodeEditorOptions {
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
export function useNodeEditor({ selectedNodeId, errorHelpers }: UseNodeEditorOptions) {
|
|
12
|
-
const { updateNodeData } = useReactFlow();
|
|
12
|
+
const { updateNodeData, setNodes } = useReactFlow();
|
|
13
13
|
const { markUnsaved } = useAgentActions();
|
|
14
14
|
|
|
15
|
+
const updateDefaultSubAgent = useCallback(
|
|
16
|
+
(isDefault: boolean) => {
|
|
17
|
+
setNodes((nodes) =>
|
|
18
|
+
nodes.map((node) => {
|
|
19
|
+
if (node.id === selectedNodeId) {
|
|
20
|
+
return { ...node, data: { ...node.data, isDefault }, deletable: !isDefault };
|
|
21
|
+
} else if (isDefault && node.data.isDefault) {
|
|
22
|
+
return { ...node, data: { ...node.data, isDefault: false }, deletable: true };
|
|
23
|
+
}
|
|
24
|
+
return node;
|
|
25
|
+
})
|
|
26
|
+
);
|
|
27
|
+
},
|
|
28
|
+
[selectedNodeId, setNodes]
|
|
29
|
+
);
|
|
30
|
+
|
|
15
31
|
// Focus management for error fields
|
|
16
32
|
const fieldRefs = useRef<Record<string, HTMLElement>>({});
|
|
17
33
|
|
|
@@ -127,6 +143,7 @@ export function useNodeEditor({ selectedNodeId, errorHelpers }: UseNodeEditorOpt
|
|
|
127
143
|
updatePath,
|
|
128
144
|
updateNestedPath,
|
|
129
145
|
handleInputChange,
|
|
146
|
+
updateDefaultSubAgent,
|
|
130
147
|
|
|
131
148
|
// Error handling
|
|
132
149
|
getFieldError,
|
|
@@ -121,7 +121,6 @@ export async function deleteArtifactComponentAction(
|
|
|
121
121
|
try {
|
|
122
122
|
await deleteArtifactComponent(tenantId, projectId, artifactComponentId);
|
|
123
123
|
revalidatePath(`/${tenantId}/projects/${projectId}/artifacts`);
|
|
124
|
-
revalidatePath(`/${tenantId}/projects/${projectId}/artifacts/${artifactComponentId}`);
|
|
125
124
|
return {
|
|
126
125
|
success: true,
|
|
127
126
|
};
|