@inkeep/agents-manage-ui 0.15.0 → 0.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/agents-manage-ui/.next/BUILD_ID +1 -1
- package/.next/standalone/agents-manage-ui/.next/app-build-manifest.json +424 -416
- package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +5 -5
- package/.next/standalone/agents-manage-ui/.next/build-manifest.json +5 -5
- package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +13 -13
- package/.next/standalone/agents-manage-ui/.next/react-loadable-manifest.json +38 -38
- 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]/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 +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/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 +2 -2
- 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 +3 -3
- 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 +3 -3
- 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 +2 -2
- 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/signoz/conversations/[conversationId]/route.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route.js.nft.json +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 +5 -5
- package/.next/standalone/agents-manage-ui/.next/server/chunks/127.js +21 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/1434.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/1518.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/1616.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/1670.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2067.js +11 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2408.js +211 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2539.js +29 -13
- package/.next/standalone/agents-manage-ui/.next/server/chunks/276.js +61 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2854.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3388.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3547.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3856.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3948.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/425.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/4605.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5076.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5294.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/{6957.js → 5450.js} +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5650.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5797.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5864.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5922.js +7 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6041.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6116.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6212.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6503.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6721.js +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6747.js +1 -10
- package/.next/standalone/agents-manage-ui/.next/server/chunks/679.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6796.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6997.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7024.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7165.js +26 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7177.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/720.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/726.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7269.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/{2606.js → 7426.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7457.js +10 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7585.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7683.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7989.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8048.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8212.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8321.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8475.js +20 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8717.js +4087 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8727.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8742.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8832.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8884.js +4 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9221.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9235.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9815.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/pages/404.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/pages/500.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/pages-manifest.json +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/1405-3d85d23533ac6db2.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/1558-1902ff84dafc5b8f.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/1902-5f7e6f890c56fd5e.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/1906-7edc57a875e3f637.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/1916-97e7964ff1873f04.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/2092-eb2102222c483d4b.js +7 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/230-e00b347e7fa8192b.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/2327-47c2efb7e68a3a64.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{2501-85880c1e62f3270a.js → 2501-45440e2c111488cb.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/2947.33c815aac92bf675.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/3802.60ebababbed6635a.js +24 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/3943.05fb6032ee56342e.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/4101.e12eb22d4869a078.js +43 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/4167-6e2ebf97b76ecf07.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/4244-3aeb1f17a6512e46.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/4380.a70de60979c0b24c.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/4445-ac4f162b12731ad3.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/4510-b1e4449b69c314b1.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{4229.8460547691a15bed.js → 4698.d0f44a1901da1e58.js} +6 -6
- package/.next/standalone/agents-manage-ui/.next/static/chunks/4708-47c2efb7e68a3a64.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/4786.4cf4811a45c86c6e.js +63 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/4880.a17273d067c06fb1.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/4957-eb8c2b2357c2a78d.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/4f68d2c2-0b7d67fcc83f7b6e.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/5188-f7764a58cbc7416d.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/5252.7d390fbdcb5f4cbc.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/5763-74a168a5f84761f7.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/5809-b9f93e5ead5ab206.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{5929.e9603f345807d0b1.js → 5929.4b73bd08ca9773be.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/6303-13576c46bcf7491d.js +25 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/64ea4822-bc4cc13ff3d9e51a.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/6507-d535f4c136d62561.js +2 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/6649-7055c690296e6bd7.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/6999-08a650d82fe142b8.js +20 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7167-6976d39ec7f6ac78.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7565-47c2efb7e68a3a64.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/773.8158cbbe8f7154a4.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7775-a5a671900cf6b566.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7812-4e6561b17e62ca3d.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/8003-441e723f2477b9b0.js +197 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{8197-93dc03bb0bdcd89b.js → 8197-25120aae7b35c5c6.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/8249-7cdd72c83cae4dcb.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/8266-d06f452cd81d0518.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{645-18422068b91714c4.js → 8430-2d2f75d518393a7d.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{8444.7864e443bafd6d1c.js → 8444.68c888789241ee31.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/8467-dd9ac18eb87f3c69.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/8616.65ba9cec5fdd761a.js +24 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{26ad7772-cc27a89d8e005d3f.js → 869872cd-49ad39a4beb2445b.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{8831-4edf015fab6c8a62.js → 8831-49777a8a731c0173.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/8873.92eaf7254e471e1c.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/8988-0b24ec45fae98d4b.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/9380-aaf892de452319c9.js +2 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/9529-2d77e5bef96b23e9.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/9748.3660cca522247ff0.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{9814.a4a28b324a9159e2.js → 9814.94e448878a25ac08.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/static/chunks/9858-1e1f5164b005b5d5.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/9860-8536a6eec72e4370.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/9946-47c2efb7e68a3a64.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{c222bd80-0514e3312bf9c78f.js → 9f915ca0-321a1a2664e96060.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/{error-98ca4c8d51368705.js → error-a4822bb605736375.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-3f77732c28eac5b2.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/{error-ef3511a0253a1330.js → error-3864b5a1f5cc7302.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-2ff4e9110b97be98.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/{error-0672656e9e678998.js → error-19bb2aa5cdaaff99.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/loading-89fe75b3b7575a9c.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-2ff4e9110b97be98.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-98a9696e4a55253f.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/{error-be8b5708f23d2e43.js → error-98a33adec29f93fe.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/{page-7a7b925b18cdfd93.js → page-8356cdab82213d08.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/{error-3b86172a5fe22d1c.js → error-0e22cabe487490a9.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/loading-89fe75b3b7575a9c.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/{page-7a7b925b18cdfd93.js → page-8356cdab82213d08.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/{page-d92ba4a2b4ac984e.js → page-e09895dc62b61b6e.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-5147f98b148f5a01.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/{error-30b8013604e83604.js → error-1f13cc4e89ec65bb.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-c6663bec65b05b5e.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/page-89fe75b3b7575a9c.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/{page-a59bad5d4913fa77.js → page-f9a4450c8779c664.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/page-93066be3852bcb7d.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-1c5769985850e2b3.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/[graphId]/{error-e6e8d53b544b7a3a.js → error-627bc925813d4c0e.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/[graphId]/loading-d6b356cceaefdf5c.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page-1befa5c6752d0d34.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/{error-80ac013e2e0d39ec.js → error-81a5d2faf618e23a.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/loading-89fe75b3b7575a9c.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/new/page-25b84b1e4e21a45f.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/page-524bf97da69dc1ab.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/{page-4498950740edb744.js → page-36229a249ec451f4.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/{page-f92fa2fae8802a02.js → page-9153447bb5026249.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/layout-d6b356cceaefdf5c.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-b43d9969547db312.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-12e152d8dd947a35.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/{not-found-89770606dca36166.js → not-found-d01b3c88f2a32798.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/{error-eca20c06c32063db.js → error-77c7a93fdc65e128.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/page-2c30ed902003a4cb.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/ai-calls/page-7782a4cf841a7e3f.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page-e49e847d402ef20e.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-59ad0e44b2ea6daa.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/{error-f217058bf7db150a.js → error-e7e1d627b4279b71.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/loading-89fe75b3b7575a9c.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-dfb60f6296b75b84.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-7eb12014eb28697d.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/webpack-c55841bbe3abf748.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/css/a3435362caba0331.css +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/css/{09dfadb69bdaa005.css → df64af30921ff372.css} +1 -1
- package/.next/standalone/agents-manage-ui/package.json +3 -3
- package/.next/standalone/packages/agents-core/package.json +3 -2
- package/package.json +6 -6
- package/src/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.tsx +2 -3
- package/src/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.tsx +5 -0
- package/src/app/api/signoz/conversations/[conversationId]/route.ts +17 -15
- package/src/app/api/signoz/route.ts +81 -4
- package/src/app/utils/active-tools.ts +2 -2
- package/src/components/artifact-components/form/artifact-component-form.tsx +18 -17
- package/src/components/artifact-components/form/form-configuration.tsx +1 -2
- package/src/components/artifact-components/form/validation.ts +13 -9
- package/src/components/credentials/credential-tools-list.tsx +6 -15
- package/src/components/credentials/views/credential-form.tsx +46 -46
- package/src/components/credentials/views/edit-credential-form.tsx +5 -1
- package/src/components/form/generic-input.tsx +3 -0
- package/src/components/form/generic-select.tsx +9 -1
- package/src/components/form/prompt-editor.tsx +3 -3
- package/src/components/form/standalone-json-editor.tsx +2 -2
- package/src/components/graph/configuration/graph-types.tsx +1 -3
- package/src/components/graph/configuration/node-types.tsx +23 -1
- package/src/components/graph/graph.tsx +56 -28
- package/src/components/graph/node-library/node-library.tsx +1 -0
- package/src/components/graph/nodes/function-tool-node.tsx +32 -0
- package/src/components/graph/nodes/mcp-node.tsx +1 -1
- package/src/components/graph/playground/chat-widget.tsx +40 -9
- package/src/components/graph/playground/ikp-message.tsx +1 -1
- package/src/components/graph/playground/playground.tsx +1 -0
- package/src/components/graph/sidepane/metadata/context-config.tsx +5 -40
- package/src/components/graph/sidepane/nodes/expandable-text-area.tsx +7 -9
- package/src/components/graph/sidepane/nodes/function-tool-node-editor.tsx +194 -0
- package/src/components/graph/sidepane/nodes/mcp-node-editor.tsx +2 -2
- package/src/components/graph/sidepane/nodes/mcp-selector/mcp-server-item.tsx +2 -2
- package/src/components/graph/sidepane/sidepane.tsx +7 -0
- package/src/components/graph/toolbar/toolbar.tsx +8 -8
- package/src/components/mcp-servers/available-tools-card.tsx +1 -1
- package/src/components/mcp-servers/mcp-tool-item.tsx +2 -2
- package/src/components/mcp-servers/view-mcp-server-details.tsx +10 -9
- package/src/components/projects/form/form-configuration.ts +6 -0
- package/src/components/projects/form/project-form.tsx +40 -0
- package/src/components/projects/form/project-sandbox-section.tsx +139 -0
- package/src/components/projects/form/validation.ts +4 -0
- package/src/components/traces/timeline/render-panel-content.tsx +24 -105
- package/src/components/traces/timeline/timeline-item.tsx +24 -25
- package/src/components/traces/timeline/timeline-wrapper.tsx +42 -12
- package/src/components/traces/traces-overview.tsx +48 -27
- package/src/constants/signoz.ts +1 -1
- package/src/features/graph/domain/__tests__/roundtrip.test.ts +2 -6
- package/src/features/graph/domain/__tests__/serialize.test.ts +4 -4
- package/src/features/graph/domain/deserialize.ts +40 -6
- package/src/features/graph/domain/graph-initializer-helpers.ts +3 -5
- package/src/features/graph/domain/serialize.ts +76 -17
- package/src/features/graph/state/use-graph-store.ts +1 -3
- package/src/hooks/use-signoz-config.ts +36 -0
- package/src/lib/__tests__/context-suggestions.test.ts +6 -6
- package/src/lib/api/artifact-components.ts +10 -32
- package/src/lib/api/tools.ts +2 -1
- package/src/lib/context-suggestions.ts +6 -6
- package/src/lib/json-schema-validation.ts +2 -2
- package/src/lib/types/graph-full.ts +37 -16
- package/src/lib/utils/graph-error-parser.ts +1 -1
- package/src/lib/utils/orphaned-tools-detector.ts +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/1288.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/1720.js +0 -4
- package/.next/standalone/agents-manage-ui/.next/server/chunks/195.js +0 -21
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2415.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/245.js +0 -55
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2450.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2463.js +0 -20
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2496.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3485.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3538.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/4843.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5058.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5518.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5552.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5716.js +0 -20
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5893.js +0 -25
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6007.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6333.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6525.js +0 -4087
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7346.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7707.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7862.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8100.js +0 -211
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8294.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8314.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9128.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9340.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9490.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9659.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/102-7512914c45c3b1c7.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/1191-22286038e3cf98ee.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/1482-9b4bf21cc7c344fc.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/1558-f09ec7786b6ad866.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/1604.5c14717292e6bd99.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/1736-6a4a9b76c41bb120.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/1771-5ceaf6a0f3601ad4.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/1830.703ab2b09936da70.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/1894.e4de443956283938.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/1907-4a95aef238167de5.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/225-12afe2ed1ce8f747.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/2334-9c0d908003b40bcd.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/24a2b255-903019441fb58706.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/2597-b309d80128db51fe.js +0 -20
- package/.next/standalone/agents-manage-ui/.next/static/chunks/2811-5cbe9d781cd0bafb.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/3562.2ce66b7f59b86e19.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/3737-2a02432078b2f2f0.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/3802.835e425d6843e779.js +0 -24
- package/.next/standalone/agents-manage-ui/.next/static/chunks/397-611c044fe87d89cd.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/4101.482e37ad7b4d8b59.js +0 -43
- package/.next/standalone/agents-manage-ui/.next/static/chunks/4492-20e1ab26a989aec8.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/4786.8e2bd3c6084b0d83.js +0 -63
- package/.next/standalone/agents-manage-ui/.next/static/chunks/4a1e02d9-c537fee21142b0db.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/5052.aa398bbfbdf4a25b.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/6118-2a02432078b2f2f0.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/6410-f93d663c6ef0d128.js +0 -2
- package/.next/standalone/agents-manage-ui/.next/static/chunks/6419-cc97e3d16c7907dd.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/6497-64d489b4b3b89b0a.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/6501-2c90923d1b2f0f3e.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/6992.d83965ff53297d6a.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7167-7f56dcb4d30b0d06.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/718.29e58bde611f434b.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7273-2a07799b9220335f.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7305-4bde6b1356d61f7a.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7548-72eac23478e21cf6.js +0 -25
- package/.next/standalone/agents-manage-ui/.next/static/chunks/773.40b145c0733f6112.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/776-1b93689bfa34311b.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7775-846c2c087ca8b724.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7829-0a56074397c08ece.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7904-825c751bfba62e0d.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/8057-4851dad2e4c79710.js +0 -2
- package/.next/standalone/agents-manage-ui/.next/static/chunks/8096-7bededbba20a8c6d.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/8098-ddd83ff45bfe3a5d.js +0 -197
- package/.next/standalone/agents-manage-ui/.next/static/chunks/8130-05473727afa10148.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/8467-977d32f1b1634139.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/8499-2a02432078b2f2f0.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/8616.ea1f6008d83a0711.js +0 -24
- package/.next/standalone/agents-manage-ui/.next/static/chunks/880-2a02432078b2f2f0.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/9425-43d6833e2edd012c.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/9846-e037fda0c364e432.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-08055bb8e4382446.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-d9490f6b6f579170.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/loading-0afec83059c372f2.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-d9490f6b6f579170.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-74a91afbcd7ed8fb.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/loading-0afec83059c372f2.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-8e935b1928cbd189.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-2ec81d74c5356465.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/page-0afec83059c372f2.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/page-9e9e45f4ed4671bd.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-84c46da56823c111.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/[graphId]/loading-cb0a860db0fa369e.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page-1eb60b0e4938c014.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/loading-0afec83059c372f2.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/new/page-c5b98195dd79bb1b.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/page-158b4e4e3a38ab44.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/layout-cb0a860db0fa369e.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-946383d2e06948f8.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-5dcaab857d668f9c.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/page-c6c8dab9e2bf498d.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/ai-calls/page-e1fbd32969de96cb.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page-9eaf84488f4f9f65.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-8f75d39c519a0275.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/loading-0afec83059c372f2.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-e5d5c9a0e199dbf1.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-0d1a9bb089c95c35.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/webpack-b20dc8e12f728891.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/css/ad6f03aa74529d84.css +0 -1
- /package/.next/standalone/agents-manage-ui/.next/static/{ysAmL8fwnhlbMOx-TKHjN → zCyXob78JMEB3IDoUAavP}/_buildManifest.js +0 -0
- /package/.next/standalone/agents-manage-ui/.next/static/{ysAmL8fwnhlbMOx-TKHjN → zCyXob78JMEB3IDoUAavP}/_ssgManifest.js +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Bot, BotMessageSquare, Hammer } from 'lucide-react';
|
|
1
|
+
import { Bot, BotMessageSquare, Code, Hammer } from 'lucide-react';
|
|
2
2
|
import { AgentNode } from '../nodes/agent-node';
|
|
3
3
|
import { ExternalAgentNode } from '../nodes/external-agent-node';
|
|
4
|
+
import { FunctionToolNode } from '../nodes/function-tool-node';
|
|
4
5
|
import { MCPNode } from '../nodes/mcp-node';
|
|
5
6
|
import { MCPPlaceholderNode } from '../nodes/mcp-placeholder-node';
|
|
6
7
|
import type { GraphModels } from './graph-types';
|
|
@@ -46,11 +47,21 @@ export interface ExternalAgentNodeData extends Record<string, unknown> {
|
|
|
46
47
|
credentialReferenceId?: string | null;
|
|
47
48
|
}
|
|
48
49
|
|
|
50
|
+
export interface FunctionToolNodeData extends Record<string, unknown> {
|
|
51
|
+
functionToolId: string;
|
|
52
|
+
agentId?: string | null; // null when unconnected, string when connected to specific agent
|
|
53
|
+
name?: string;
|
|
54
|
+
description?: string;
|
|
55
|
+
code?: string;
|
|
56
|
+
inputSchema?: Record<string, unknown>;
|
|
57
|
+
}
|
|
58
|
+
|
|
49
59
|
export enum NodeType {
|
|
50
60
|
Agent = 'agent',
|
|
51
61
|
ExternalAgent = 'external-agent',
|
|
52
62
|
MCP = 'mcp',
|
|
53
63
|
MCPPlaceholder = 'mcp-placeholder',
|
|
64
|
+
FunctionTool = 'function-tool',
|
|
54
65
|
}
|
|
55
66
|
|
|
56
67
|
export const nodeTypes = {
|
|
@@ -58,12 +69,14 @@ export const nodeTypes = {
|
|
|
58
69
|
[NodeType.ExternalAgent]: ExternalAgentNode,
|
|
59
70
|
[NodeType.MCP]: MCPNode,
|
|
60
71
|
[NodeType.MCPPlaceholder]: MCPPlaceholderNode,
|
|
72
|
+
[NodeType.FunctionTool]: FunctionToolNode,
|
|
61
73
|
};
|
|
62
74
|
|
|
63
75
|
export const mcpNodeHandleId = 'target-mcp';
|
|
64
76
|
export const agentNodeSourceHandleId = 'source-agent';
|
|
65
77
|
export const agentNodeTargetHandleId = 'target-agent';
|
|
66
78
|
export const externalAgentNodeTargetHandleId = 'target-external-agent';
|
|
79
|
+
export const functionToolNodeHandleId = 'target-function-tool';
|
|
67
80
|
|
|
68
81
|
export const newNodeDefaults: Record<keyof typeof nodeTypes, NodeData> = {
|
|
69
82
|
[NodeType.Agent]: {
|
|
@@ -80,6 +93,10 @@ export const newNodeDefaults: Record<keyof typeof nodeTypes, NodeData> = {
|
|
|
80
93
|
[NodeType.MCPPlaceholder]: {
|
|
81
94
|
name: 'Select MCP server',
|
|
82
95
|
},
|
|
96
|
+
[NodeType.FunctionTool]: {
|
|
97
|
+
name: 'Function Tool',
|
|
98
|
+
agentId: null,
|
|
99
|
+
},
|
|
83
100
|
};
|
|
84
101
|
|
|
85
102
|
export const nodeTypeMap = {
|
|
@@ -103,4 +120,9 @@ export const nodeTypeMap = {
|
|
|
103
120
|
name: 'MCP',
|
|
104
121
|
Icon: Hammer,
|
|
105
122
|
},
|
|
123
|
+
[NodeType.FunctionTool]: {
|
|
124
|
+
type: NodeType.FunctionTool,
|
|
125
|
+
name: 'Function Tool',
|
|
126
|
+
Icon: Code,
|
|
127
|
+
},
|
|
106
128
|
};
|
|
@@ -26,8 +26,9 @@ import {
|
|
|
26
26
|
type ExtendedFullGraphDefinition,
|
|
27
27
|
extractGraphMetadata,
|
|
28
28
|
serializeGraphData,
|
|
29
|
+
validateSerializedData,
|
|
29
30
|
} from '@/features/graph/domain';
|
|
30
|
-
import { useGraphActions, useGraphStore } from '@/features/graph/state/use-graph-store'
|
|
31
|
+
import { useGraphActions, useGraphStore } from '@/features/graph/state/use-graph-store';
|
|
31
32
|
import { useGraphShortcuts } from '@/features/graph/ui/use-graph-shortcuts';
|
|
32
33
|
import { useGraphErrors } from '@/hooks/use-graph-errors';
|
|
33
34
|
import { useSidePane } from '@/hooks/use-side-pane';
|
|
@@ -180,7 +181,14 @@ function Flow({
|
|
|
180
181
|
return lookup;
|
|
181
182
|
}, [graph?.agents]);
|
|
182
183
|
|
|
183
|
-
const {
|
|
184
|
+
const {
|
|
185
|
+
screenToFlowPosition,
|
|
186
|
+
updateNodeData,
|
|
187
|
+
fitView,
|
|
188
|
+
getNodes,
|
|
189
|
+
getEdges,
|
|
190
|
+
getIntersectingNodes,
|
|
191
|
+
} = useReactFlow();
|
|
184
192
|
const { storeNodes, edges, metadata } = useGraphStore((state) => ({
|
|
185
193
|
storeNodes: state.nodes,
|
|
186
194
|
edges: state.edges,
|
|
@@ -207,33 +215,36 @@ function Flow({
|
|
|
207
215
|
* Custom `onNodesChange` handler that relayouts the graph using Dagre
|
|
208
216
|
* when a `replace` change causes node intersections.
|
|
209
217
|
**/
|
|
210
|
-
const onNodesChange: typeof storeOnNodesChange = useCallback(
|
|
211
|
-
|
|
218
|
+
const onNodesChange: typeof storeOnNodesChange = useCallback(
|
|
219
|
+
(changes) => {
|
|
220
|
+
storeOnNodesChange(changes);
|
|
212
221
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
}
|
|
217
|
-
// Using `setTimeout` instead of `requestAnimationFrame` ensures updated node positions are available,
|
|
218
|
-
// as `requestAnimationFrame` may run too early, causing `hasIntersections` to incorrectly return false.
|
|
219
|
-
setTimeout(() => {
|
|
220
|
-
const currentNodes = getNodes();
|
|
221
|
-
// Check if any of the replaced nodes are intersecting with others
|
|
222
|
-
for (const change of replaceChanges) {
|
|
223
|
-
const node = currentNodes.find(n => n.id === change.id);
|
|
224
|
-
if (!node) {
|
|
225
|
-
continue
|
|
226
|
-
}
|
|
227
|
-
// Use React Flow's intersection detection
|
|
228
|
-
const intersectingNodes = getIntersectingNodes(node);
|
|
229
|
-
if (intersectingNodes.length > 0) {
|
|
230
|
-
// Apply Dagre layout to resolve intersections
|
|
231
|
-
setNodes((prev) => applyDagreLayout(prev, getEdges()))
|
|
232
|
-
return // exit loop
|
|
233
|
-
}
|
|
222
|
+
const replaceChanges = changes.filter((change) => change.type === 'replace');
|
|
223
|
+
if (!replaceChanges.length) {
|
|
224
|
+
return;
|
|
234
225
|
}
|
|
235
|
-
|
|
236
|
-
|
|
226
|
+
// Using `setTimeout` instead of `requestAnimationFrame` ensures updated node positions are available,
|
|
227
|
+
// as `requestAnimationFrame` may run too early, causing `hasIntersections` to incorrectly return false.
|
|
228
|
+
setTimeout(() => {
|
|
229
|
+
const currentNodes = getNodes();
|
|
230
|
+
// Check if any of the replaced nodes are intersecting with others
|
|
231
|
+
for (const change of replaceChanges) {
|
|
232
|
+
const node = currentNodes.find((n) => n.id === change.id);
|
|
233
|
+
if (!node) {
|
|
234
|
+
continue;
|
|
235
|
+
}
|
|
236
|
+
// Use React Flow's intersection detection
|
|
237
|
+
const intersectingNodes = getIntersectingNodes(node);
|
|
238
|
+
if (intersectingNodes.length > 0) {
|
|
239
|
+
// Apply Dagre layout to resolve intersections
|
|
240
|
+
setNodes((prev) => applyDagreLayout(prev, getEdges()));
|
|
241
|
+
return; // exit loop
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}, 0);
|
|
245
|
+
},
|
|
246
|
+
[getNodes, getEdges, getIntersectingNodes, setNodes, storeOnNodesChange]
|
|
247
|
+
);
|
|
237
248
|
|
|
238
249
|
// biome-ignore lint/correctness/useExhaustiveDependencies: we only want to run this effect on first render
|
|
239
250
|
useEffect(() => {
|
|
@@ -569,6 +580,23 @@ function Flow({
|
|
|
569
580
|
agentToolConfigLookup
|
|
570
581
|
);
|
|
571
582
|
|
|
583
|
+
// Validate the serialized data before saving
|
|
584
|
+
const validationErrors = validateSerializedData(serializedData);
|
|
585
|
+
if (validationErrors.length > 0) {
|
|
586
|
+
// Convert validation errors to the format expected by parseGraphValidationErrors
|
|
587
|
+
const errorObjects = validationErrors.map((error) => ({
|
|
588
|
+
message: error,
|
|
589
|
+
field: 'general',
|
|
590
|
+
code: 'custom_validation',
|
|
591
|
+
path: [],
|
|
592
|
+
}));
|
|
593
|
+
|
|
594
|
+
const errorSummary = parseGraphValidationErrors(JSON.stringify(errorObjects));
|
|
595
|
+
setErrors(errorSummary);
|
|
596
|
+
toast.error(`Validation failed: ${validationErrors[0]}`);
|
|
597
|
+
return;
|
|
598
|
+
}
|
|
599
|
+
|
|
572
600
|
const res = await saveGraph(
|
|
573
601
|
tenantId,
|
|
574
602
|
projectId,
|
|
@@ -704,7 +732,7 @@ function Flow({
|
|
|
704
732
|
<Panel position="top-right">
|
|
705
733
|
<Toolbar
|
|
706
734
|
onSubmit={onSubmit}
|
|
707
|
-
|
|
735
|
+
inPreviewDisabled={!graph?.id}
|
|
708
736
|
toggleSidePane={isOpen ? backToGraph : openGraphPane}
|
|
709
737
|
setShowPlayground={() => {
|
|
710
738
|
closeSidePane();
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type NodeProps, Position } from '@xyflow/react';
|
|
2
|
+
import { Code } from 'lucide-react';
|
|
3
|
+
import { type FunctionToolNodeData, functionToolNodeHandleId } from '../configuration/node-types';
|
|
4
|
+
import { BaseNode, BaseNodeHeader, BaseNodeHeaderTitle } from './base-node';
|
|
5
|
+
import { Handle } from './handle';
|
|
6
|
+
|
|
7
|
+
export function FunctionToolNode(props: NodeProps & { data: FunctionToolNodeData }) {
|
|
8
|
+
const { data, selected } = props;
|
|
9
|
+
|
|
10
|
+
// Get data directly from node (like agents do)
|
|
11
|
+
const name = String(data.name || 'Function Tool');
|
|
12
|
+
const description = String(data.description || '');
|
|
13
|
+
|
|
14
|
+
return (
|
|
15
|
+
<BaseNode isSelected={selected} className="rounded-4xl min-w-40 max-w-xs">
|
|
16
|
+
<BaseNodeHeader className="mb-0 py-3">
|
|
17
|
+
<div className="flex flex-col gap-1.5">
|
|
18
|
+
<div className="flex items-center gap-2">
|
|
19
|
+
<div className="w-5 h-5 rounded flex items-center justify-center flex-shrink-0">
|
|
20
|
+
<Code className="w-4 h-4 text-foreground/70" />
|
|
21
|
+
</div>
|
|
22
|
+
<BaseNodeHeaderTitle className="flex-1 truncate">{name}</BaseNodeHeaderTitle>
|
|
23
|
+
</div>
|
|
24
|
+
{description?.trim() ? (
|
|
25
|
+
<p className="text-xs text-muted-foreground line-clamp-2 pl-7">{description}</p>
|
|
26
|
+
) : null}
|
|
27
|
+
</div>
|
|
28
|
+
</BaseNodeHeader>
|
|
29
|
+
<Handle id={functionToolNodeHandleId} type="target" position={Position.Top} isConnectable />
|
|
30
|
+
</BaseNode>
|
|
31
|
+
);
|
|
32
|
+
}
|
|
@@ -27,7 +27,7 @@ export function MCPNode(props: NodeProps & { data: MCPNodeData }) {
|
|
|
27
27
|
|
|
28
28
|
const activeTools = getActiveTools({
|
|
29
29
|
availableTools: availableTools,
|
|
30
|
-
activeTools: toolData?.config?.mcp
|
|
30
|
+
activeTools: toolData?.config?.type === 'mcp' ? toolData.config.mcp.activeTools : undefined,
|
|
31
31
|
});
|
|
32
32
|
|
|
33
33
|
const selectedTools = getCurrentSelectedToolsForNode(props, agentToolConfigLookup, edges);
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { InkeepEmbeddedChat } from '@inkeep/
|
|
3
|
-
import type { ComponentsConfig, InkeepCallbackEvent } from '@inkeep/
|
|
2
|
+
import { InkeepEmbeddedChat } from '@inkeep/agents-ui';
|
|
3
|
+
import type { ComponentsConfig, InkeepCallbackEvent } from '@inkeep/agents-ui/types';
|
|
4
4
|
import { nanoid } from 'nanoid';
|
|
5
|
-
import { useEffect, useRef } from 'react';
|
|
5
|
+
import { useCallback, useEffect, useRef } from 'react';
|
|
6
|
+
import type { ConversationDetail } from '@/components/traces/timeline/types';
|
|
6
7
|
import { useRuntimeConfig } from '@/contexts/runtime-config-context';
|
|
7
8
|
import { IkpMessage as IkpMessageComponent } from './ikp-message';
|
|
8
9
|
|
|
@@ -15,6 +16,7 @@ interface ChatWidgetProps {
|
|
|
15
16
|
startPolling: () => void;
|
|
16
17
|
stopPolling: () => void;
|
|
17
18
|
customHeaders?: Record<string, string>;
|
|
19
|
+
chatActivities: ConversationDetail | null;
|
|
18
20
|
}
|
|
19
21
|
|
|
20
22
|
const styleOverrides = `
|
|
@@ -127,9 +129,35 @@ export function ChatWidget({
|
|
|
127
129
|
startPolling,
|
|
128
130
|
stopPolling,
|
|
129
131
|
customHeaders = {},
|
|
132
|
+
chatActivities,
|
|
130
133
|
}: ChatWidgetProps) {
|
|
131
134
|
const { INKEEP_AGENTS_RUN_API_URL, INKEEP_AGENTS_RUN_API_BYPASS_SECRET } = useRuntimeConfig();
|
|
132
135
|
const stopPollingTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);
|
|
136
|
+
const hasReceivedAssistantMessageRef = useRef(false);
|
|
137
|
+
const POLLING_TIMEOUT_MS = 5 * 60 * 1000; // 5 minutes
|
|
138
|
+
|
|
139
|
+
// Helper function to reset the stop polling timeout
|
|
140
|
+
const resetStopPollingTimeout = useCallback(() => {
|
|
141
|
+
// Clear any existing timeout
|
|
142
|
+
if (stopPollingTimeoutRef.current) {
|
|
143
|
+
clearTimeout(stopPollingTimeoutRef.current);
|
|
144
|
+
stopPollingTimeoutRef.current = null;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// Set a new timeout for 5 minutes
|
|
148
|
+
stopPollingTimeoutRef.current = setTimeout(() => {
|
|
149
|
+
stopPolling();
|
|
150
|
+
stopPollingTimeoutRef.current = null;
|
|
151
|
+
}, POLLING_TIMEOUT_MS);
|
|
152
|
+
}, [stopPolling, POLLING_TIMEOUT_MS]);
|
|
153
|
+
|
|
154
|
+
// Reset timeout when new activities come in AFTER assistant message received
|
|
155
|
+
useEffect(() => {
|
|
156
|
+
// Only reset timeout if we've already received the assistant message and new activities were added
|
|
157
|
+
if (hasReceivedAssistantMessageRef.current) {
|
|
158
|
+
resetStopPollingTimeout();
|
|
159
|
+
}
|
|
160
|
+
}, [chatActivities?.activities?.length, resetStopPollingTimeout]);
|
|
133
161
|
|
|
134
162
|
useEffect(() => {
|
|
135
163
|
return () => {
|
|
@@ -147,13 +175,14 @@ export function ChatWidget({
|
|
|
147
175
|
baseSettings={{
|
|
148
176
|
onEvent: (event: InkeepCallbackEvent) => {
|
|
149
177
|
if (event.eventName === 'assistant_message_received') {
|
|
150
|
-
//
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
}, 15000);
|
|
178
|
+
// Mark that we've received the assistant message
|
|
179
|
+
hasReceivedAssistantMessageRef.current = true;
|
|
180
|
+
// Reset the timeout to 5 minutes after receiving an assistant message
|
|
181
|
+
resetStopPollingTimeout();
|
|
155
182
|
}
|
|
156
183
|
if (event.eventName === 'user_message_submitted') {
|
|
184
|
+
// Reset the flag
|
|
185
|
+
hasReceivedAssistantMessageRef.current = false;
|
|
157
186
|
// Cancel any pending stop polling timeout since we need to keep polling
|
|
158
187
|
if (stopPollingTimeoutRef.current) {
|
|
159
188
|
clearTimeout(stopPollingTimeoutRef.current);
|
|
@@ -162,6 +191,8 @@ export function ChatWidget({
|
|
|
162
191
|
startPolling();
|
|
163
192
|
}
|
|
164
193
|
if (event.eventName === 'chat_clear_button_clicked') {
|
|
194
|
+
// Reset the flag
|
|
195
|
+
hasReceivedAssistantMessageRef.current = false;
|
|
165
196
|
// Cancel any pending stop polling timeout
|
|
166
197
|
if (stopPollingTimeoutRef.current) {
|
|
167
198
|
clearTimeout(stopPollingTimeoutRef.current);
|
|
@@ -234,7 +265,7 @@ export function ChatWidget({
|
|
|
234
265
|
);
|
|
235
266
|
}
|
|
236
267
|
|
|
237
|
-
// using the built in IkpMessage component from
|
|
268
|
+
// using the built in IkpMessage component from agents-ui but leaving this here for reference / testing
|
|
238
269
|
const _IkpMessage: ComponentsConfig<Record<string, unknown>>['IkpMessage'] = (props) => {
|
|
239
270
|
const { message, renderMarkdown, renderComponent } = props;
|
|
240
271
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Message } from '@inkeep/
|
|
1
|
+
import type { Message } from '@inkeep/agents-ui/types';
|
|
2
2
|
import { BookOpen, Check, ChevronRight, LoaderCircle } from 'lucide-react';
|
|
3
3
|
import { type FC, useEffect, useRef, useState } from 'react';
|
|
4
4
|
import supersub from 'remark-supersub';
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import { ExpandableJsonEditor } from '@/components/form/expandable-json-editor';
|
|
2
|
-
import { Input } from '@/components/ui/input';
|
|
3
|
-
import { Label } from '@/components/ui/label';
|
|
4
|
-
import { Textarea } from '@/components/ui/textarea';
|
|
5
2
|
import type { ContextConfig, GraphMetadata } from '../../configuration/graph-types';
|
|
6
3
|
import { SectionHeader } from '../section';
|
|
7
4
|
|
|
@@ -12,7 +9,7 @@ export function ContextConfigForm({
|
|
|
12
9
|
contextConfig: ContextConfig;
|
|
13
10
|
updateMetadata: (field: keyof GraphMetadata, value: GraphMetadata[keyof GraphMetadata]) => void;
|
|
14
11
|
}) {
|
|
15
|
-
const {
|
|
12
|
+
const { contextVariables, headersSchema } = contextConfig;
|
|
16
13
|
|
|
17
14
|
const updateContextConfig = (field: keyof ContextConfig, value: string) => {
|
|
18
15
|
const updatedContextConfig = {
|
|
@@ -29,38 +26,6 @@ export function ContextConfigForm({
|
|
|
29
26
|
description="Configure dynamic context for this graph."
|
|
30
27
|
/>
|
|
31
28
|
<div className="flex flex-col space-y-8">
|
|
32
|
-
<div className="space-y-2">
|
|
33
|
-
<Label htmlFor="id">Id</Label>
|
|
34
|
-
<Input
|
|
35
|
-
id="id"
|
|
36
|
-
value={id || ''}
|
|
37
|
-
onChange={(e) => updateContextConfig('id', e.target.value)}
|
|
38
|
-
placeholder="my-context"
|
|
39
|
-
/>
|
|
40
|
-
<p className="text-xs text-muted-foreground">
|
|
41
|
-
Choose a unique identifier for this configuration. Using an existing id will replace
|
|
42
|
-
that configuration.
|
|
43
|
-
</p>
|
|
44
|
-
</div>
|
|
45
|
-
<div className="space-y-2">
|
|
46
|
-
<Label htmlFor="name">Name</Label>
|
|
47
|
-
<Input
|
|
48
|
-
id="name"
|
|
49
|
-
value={name}
|
|
50
|
-
onChange={(e) => updateContextConfig('name', e.target.value)}
|
|
51
|
-
placeholder="My context"
|
|
52
|
-
/>
|
|
53
|
-
</div>
|
|
54
|
-
<div className="space-y-2">
|
|
55
|
-
<Label htmlFor="description">Description</Label>
|
|
56
|
-
<Textarea
|
|
57
|
-
id="description"
|
|
58
|
-
value={description}
|
|
59
|
-
onChange={(e) => updateContextConfig('description', e.target.value)}
|
|
60
|
-
placeholder="Context description..."
|
|
61
|
-
className="max-h-96"
|
|
62
|
-
/>
|
|
63
|
-
</div>
|
|
64
29
|
<ExpandableJsonEditor
|
|
65
30
|
name="contextVariables"
|
|
66
31
|
label="Context variables (JSON)"
|
|
@@ -70,10 +35,10 @@ export function ContextConfigForm({
|
|
|
70
35
|
className=""
|
|
71
36
|
/>
|
|
72
37
|
<ExpandableJsonEditor
|
|
73
|
-
name="
|
|
74
|
-
label="
|
|
75
|
-
value={
|
|
76
|
-
onChange={(value) => updateContextConfig('
|
|
38
|
+
name="headersSchema"
|
|
39
|
+
label="Headers schema (JSON)"
|
|
40
|
+
value={headersSchema}
|
|
41
|
+
onChange={(value) => updateContextConfig('headersSchema', value)}
|
|
77
42
|
placeholder="{}"
|
|
78
43
|
className=""
|
|
79
44
|
/>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { type FC, type RefObject, useRef, type ComponentProps } from 'react';
|
|
2
|
-
import { ExpandableField } from '@/components/form/expandable-field';
|
|
3
|
-
import { Button } from '@/components/ui/button';
|
|
4
1
|
import { Braces } from 'lucide-react';
|
|
5
|
-
import {
|
|
2
|
+
import { type ComponentProps, type FC, type RefObject, useRef } from 'react';
|
|
3
|
+
import { ExpandableField } from '@/components/form/expandable-field';
|
|
6
4
|
import { PromptEditor } from '@/components/form/prompt-editor';
|
|
5
|
+
import { Button } from '@/components/ui/button';
|
|
6
|
+
import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';
|
|
7
7
|
import { cn } from '@/lib/utils';
|
|
8
8
|
|
|
9
9
|
// Extract inner type from RefObject<T>
|
|
@@ -14,7 +14,7 @@ const PromptEditorWithAddVariables: FC<
|
|
|
14
14
|
tooltipClassName: string;
|
|
15
15
|
}
|
|
16
16
|
> = ({ tooltipClassName, ...props }) => {
|
|
17
|
-
const codemirrorRef = useRef<RefValue<typeof props.ref>>(null
|
|
17
|
+
const codemirrorRef = useRef<RefValue<typeof props.ref>>(null);
|
|
18
18
|
const variablesText = 'Add variables';
|
|
19
19
|
return (
|
|
20
20
|
<div className="h-full relative">
|
|
@@ -30,16 +30,14 @@ const PromptEditorWithAddVariables: FC<
|
|
|
30
30
|
)}
|
|
31
31
|
type="button"
|
|
32
32
|
onClick={() => {
|
|
33
|
-
codemirrorRef.current
|
|
33
|
+
codemirrorRef.current?.insertTemplateVariable();
|
|
34
34
|
}}
|
|
35
35
|
>
|
|
36
36
|
<Braces className="h-4 w-4 text-muted-foreground" />
|
|
37
37
|
<span className="sr-only">{variablesText}</span>
|
|
38
38
|
</Button>
|
|
39
39
|
</TooltipTrigger>
|
|
40
|
-
<TooltipContent>
|
|
41
|
-
{variablesText}
|
|
42
|
-
</TooltipContent>
|
|
40
|
+
<TooltipContent>{variablesText}</TooltipContent>
|
|
43
41
|
</Tooltip>
|
|
44
42
|
</div>
|
|
45
43
|
);
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import type { Node } from '@xyflow/react';
|
|
2
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
3
|
+
import { StandaloneJsonEditor } from '@/components/form/standalone-json-editor';
|
|
4
|
+
import { useNodeEditor } from '@/hooks/use-node-editor';
|
|
5
|
+
import type { FunctionToolNodeData } from '../../configuration/node-types';
|
|
6
|
+
import { InputField, TextareaField } from './form-fields';
|
|
7
|
+
|
|
8
|
+
interface FunctionToolNodeEditorProps {
|
|
9
|
+
selectedNode: Node<FunctionToolNodeData>;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export function FunctionToolNodeEditor({ selectedNode }: FunctionToolNodeEditorProps) {
|
|
13
|
+
const { getFieldError, setFieldRef, updatePath } = useNodeEditor({
|
|
14
|
+
selectedNodeId: selectedNode.id,
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
// Get data directly from node (like agents do)
|
|
18
|
+
const nodeData = selectedNode.data;
|
|
19
|
+
|
|
20
|
+
// Local state for form fields - initialize from node data
|
|
21
|
+
const [name, setName] = useState(String(nodeData.name || ''));
|
|
22
|
+
const [description, setDescription] = useState(String(nodeData.description || ''));
|
|
23
|
+
const [code, setCode] = useState(String(nodeData.code || ''));
|
|
24
|
+
const [inputSchema, setInputSchema] = useState(
|
|
25
|
+
nodeData.inputSchema ? JSON.stringify(nodeData.inputSchema, null, 2) : ''
|
|
26
|
+
);
|
|
27
|
+
const [dependencies, setDependencies] = useState(
|
|
28
|
+
nodeData.dependencies ? JSON.stringify(nodeData.dependencies, null, 2) : ''
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
// Sync local state with node data when node changes
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
setName(String(nodeData.name || ''));
|
|
34
|
+
setDescription(String(nodeData.description || ''));
|
|
35
|
+
setCode(String(nodeData.code || ''));
|
|
36
|
+
setInputSchema(nodeData.inputSchema ? JSON.stringify(nodeData.inputSchema, null, 2) : '');
|
|
37
|
+
setDependencies(nodeData.dependencies ? JSON.stringify(nodeData.dependencies, null, 2) : '');
|
|
38
|
+
}, [nodeData]);
|
|
39
|
+
|
|
40
|
+
// Handle input schema changes with JSON validation
|
|
41
|
+
const handleInputSchemaChange = useCallback(
|
|
42
|
+
(value: string) => {
|
|
43
|
+
setInputSchema(value);
|
|
44
|
+
|
|
45
|
+
if (!value?.trim()) {
|
|
46
|
+
updatePath('inputSchema', undefined);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
try {
|
|
51
|
+
const parsed = JSON.parse(value);
|
|
52
|
+
updatePath('inputSchema', parsed);
|
|
53
|
+
} catch {
|
|
54
|
+
// Invalid JSON - don't update
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
[updatePath]
|
|
58
|
+
);
|
|
59
|
+
|
|
60
|
+
// Handle dependencies changes with JSON validation
|
|
61
|
+
const handleDependenciesChange = useCallback(
|
|
62
|
+
(value: string) => {
|
|
63
|
+
setDependencies(value);
|
|
64
|
+
|
|
65
|
+
if (!value?.trim()) {
|
|
66
|
+
updatePath('dependencies', undefined);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
try {
|
|
71
|
+
const parsed = JSON.parse(value);
|
|
72
|
+
updatePath('dependencies', parsed);
|
|
73
|
+
} catch {
|
|
74
|
+
// Invalid JSON - don't update
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
[updatePath]
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
// Handle name changes
|
|
81
|
+
const handleNameChange = useCallback(
|
|
82
|
+
(e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {
|
|
83
|
+
const newName = e.target.value;
|
|
84
|
+
setName(newName);
|
|
85
|
+
updatePath('name', newName);
|
|
86
|
+
},
|
|
87
|
+
[updatePath]
|
|
88
|
+
);
|
|
89
|
+
|
|
90
|
+
// Handle code changes
|
|
91
|
+
const handleCodeChange = useCallback(
|
|
92
|
+
(e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {
|
|
93
|
+
const newCode = e.target.value;
|
|
94
|
+
setCode(newCode);
|
|
95
|
+
updatePath('code', newCode);
|
|
96
|
+
},
|
|
97
|
+
[updatePath]
|
|
98
|
+
);
|
|
99
|
+
|
|
100
|
+
// Handle description changes
|
|
101
|
+
const handleDescriptionChange = useCallback(
|
|
102
|
+
(e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {
|
|
103
|
+
const newDescription = e.target.value;
|
|
104
|
+
setDescription(newDescription);
|
|
105
|
+
updatePath('description', newDescription);
|
|
106
|
+
},
|
|
107
|
+
[updatePath]
|
|
108
|
+
);
|
|
109
|
+
|
|
110
|
+
return (
|
|
111
|
+
<div className="space-y-6">
|
|
112
|
+
<InputField
|
|
113
|
+
ref={(el) => setFieldRef('name', el)}
|
|
114
|
+
id="function-tool-name"
|
|
115
|
+
name="name"
|
|
116
|
+
label="Name"
|
|
117
|
+
value={name}
|
|
118
|
+
onChange={handleNameChange}
|
|
119
|
+
placeholder="Enter function tool name..."
|
|
120
|
+
error={getFieldError('name')}
|
|
121
|
+
isRequired
|
|
122
|
+
/>
|
|
123
|
+
|
|
124
|
+
<TextareaField
|
|
125
|
+
ref={(el) => setFieldRef('description', el)}
|
|
126
|
+
id="function-tool-description"
|
|
127
|
+
name="description"
|
|
128
|
+
label="Description"
|
|
129
|
+
value={description}
|
|
130
|
+
onChange={handleDescriptionChange}
|
|
131
|
+
placeholder="Enter function tool description..."
|
|
132
|
+
error={getFieldError('description')}
|
|
133
|
+
isRequired
|
|
134
|
+
maxHeight="max-h-32"
|
|
135
|
+
/>
|
|
136
|
+
|
|
137
|
+
<TextareaField
|
|
138
|
+
ref={(el) => setFieldRef('code', el)}
|
|
139
|
+
id="function-tool-code"
|
|
140
|
+
name="code"
|
|
141
|
+
label="Code"
|
|
142
|
+
value={code}
|
|
143
|
+
onChange={handleCodeChange}
|
|
144
|
+
placeholder="Enter function code here..."
|
|
145
|
+
error={getFieldError('code')}
|
|
146
|
+
isRequired
|
|
147
|
+
className="min-h-[200px] font-mono text-sm"
|
|
148
|
+
/>
|
|
149
|
+
|
|
150
|
+
<div className="space-y-2">
|
|
151
|
+
<div className="text-sm font-medium">
|
|
152
|
+
Input Schema <span className="text-red-500">*</span>
|
|
153
|
+
</div>
|
|
154
|
+
<StandaloneJsonEditor
|
|
155
|
+
value={inputSchema}
|
|
156
|
+
onChange={handleInputSchemaChange}
|
|
157
|
+
placeholder={`{
|
|
158
|
+
"type": "object",
|
|
159
|
+
"properties": {
|
|
160
|
+
"param1": {
|
|
161
|
+
"type": "string",
|
|
162
|
+
"description": "Description of parameter 1"
|
|
163
|
+
},
|
|
164
|
+
"param2": {
|
|
165
|
+
"type": "number",
|
|
166
|
+
"description": "Description of parameter 2"
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
"required": ["param1"]
|
|
170
|
+
}`}
|
|
171
|
+
/>
|
|
172
|
+
{getFieldError('inputSchema') && (
|
|
173
|
+
<p className="text-sm text-red-600">{getFieldError('inputSchema')}</p>
|
|
174
|
+
)}
|
|
175
|
+
</div>
|
|
176
|
+
|
|
177
|
+
<div className="space-y-2">
|
|
178
|
+
<div className="text-sm font-medium">Dependencies (Optional)</div>
|
|
179
|
+
<StandaloneJsonEditor
|
|
180
|
+
value={dependencies}
|
|
181
|
+
onChange={handleDependenciesChange}
|
|
182
|
+
placeholder={`{
|
|
183
|
+
"axios": "^1.6.0",
|
|
184
|
+
"lodash": "^4.17.21"
|
|
185
|
+
}`}
|
|
186
|
+
/>
|
|
187
|
+
{getFieldError('dependencies') && (
|
|
188
|
+
<p className="text-sm text-red-600">{getFieldError('dependencies')}</p>
|
|
189
|
+
)}
|
|
190
|
+
</div>
|
|
191
|
+
</div>
|
|
192
|
+
);
|
|
193
|
+
}
|
|
194
|
+
|
|
@@ -61,7 +61,7 @@ export function MCPServerNodeEditor({
|
|
|
61
61
|
|
|
62
62
|
const activeTools = getActiveTools({
|
|
63
63
|
availableTools: availableTools,
|
|
64
|
-
activeTools: toolData?.config
|
|
64
|
+
activeTools: toolData?.config && toolData.config.type === 'mcp' ? toolData.config.mcp.activeTools : undefined,
|
|
65
65
|
});
|
|
66
66
|
|
|
67
67
|
// Handle missing tool data
|
|
@@ -191,7 +191,7 @@ export function MCPServerNodeEditor({
|
|
|
191
191
|
<Input
|
|
192
192
|
id="url"
|
|
193
193
|
name="url"
|
|
194
|
-
value={toolData?.config
|
|
194
|
+
value={toolData?.config && toolData.config.type === 'mcp' ? toolData.config.mcp.server.url : ''}
|
|
195
195
|
onChange={handleInputChange}
|
|
196
196
|
placeholder="https://mcp.inkeep.com"
|
|
197
197
|
disabled
|