@inkeep/agents-manage-ui 0.9.0 → 0.10.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 +219 -219
- package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +10 -10
- package/.next/standalone/agents-manage-ui/.next/build-manifest.json +5 -5
- package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +20 -20
- package/.next/standalone/agents-manage-ui/.next/react-loadable-manifest.json +4 -4
- package/.next/standalone/agents-manage-ui/.next/routes-manifest.json +37 -37
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js +2 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/{data-components/new → 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 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js +2 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/{data-components/[dataComponentId] → 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 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js +2 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page_client-reference-manifest.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js +2 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/{artifact-components/[artifactComponentId] → 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 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js +2 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/{artifact-components → 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 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js +2 -0
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page_client-reference-manifest.js +1 -0
- 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_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/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_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_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_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js +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 +2 -2
- 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 +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_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +9 -9
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app-paths-manifest.json +10 -10
- package/.next/standalone/agents-manage-ui/.next/server/chunks/1902.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/209.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2314.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2539.js +5 -5
- package/.next/standalone/agents-manage-ui/.next/server/chunks/{3679.js → 3113.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3547.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3859.js +19 -3
- package/.next/standalone/agents-manage-ui/.next/server/chunks/{7652.js → 4038.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/71.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7293.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8449.js +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/chunks/{2563.js → 8799.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9093.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9237.js +1 -0
- 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/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/2063-af61e7c864e76f4f.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{4132.e82c1ad08339ac0f.js → 4132.0629ebed95bad681.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{6530.aafea7600cb29c93.js → 4149.b5aa052344354415.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{4095-96d343710caf26be.js → 4261-454575adeb801448.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{3693.64ddbe1e3726f385.js → 6074.8b094e68e36d7e9c.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7167-730aff54edcfb10c.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7885-0b12122c31695e33.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/9644-54e28306f3abe125.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{9964-e16d35b53a509ad4.js → 9964-fa3450b6002dd562.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-6d39fab4d195c19a.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/error-f1418a11c66d8096.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-5150a6de8b80c4b4.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/error-30269bcc821d7de1.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/loading-025ec4e3a5810eca.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-5150a6de8b80c4b4.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-1c17260377b32c91.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/error-cc0a7cc2ba09d619.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page-664381776dad1c85.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/error-4a78192429f3c345.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/loading-025ec4e3a5810eca.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/page-664381776dad1c85.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-d84ad34da5dc5af8.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-51ae865fa7c52430.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-9adfab93a442927d.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/page-025ec4e3a5810eca.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-dda2db18ed173e31.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/{page-9845708b28d20181.js → page-f4c25df5d1755217.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/loading-025ec4e3a5810eca.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/{page-85b42eb6434f29e0.js → page-d0db257541c6509a.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/{page-546eada72bc05113.js → page-9a01d68fffd96a5a.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-7e0d6905b3917360.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/{page-dd6ae70ea7fabd25.js → page-c8b2486c3ad4a568.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/{page-cdc9588a55a0d92c.js → page-a720eff492b73cb2.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/{page-a0922720c62feda3.js → page-b248a0ea8649e4f3.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-dfdb58eb7760e57d.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/loading-025ec4e3a5810eca.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-55e12f6eb0a99f77.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-f0703e32230d7952.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{webpack-2d4148ddf995243a.js → webpack-b20dc8e12f728891.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/css/4891c14dcbd99183.css +1 -0
- package/.next/standalone/agents-manage-ui/package.json +1 -1
- package/.next/standalone/package.json +2 -6
- package/.next/standalone/packages/agents-core/package.json +5 -4
- package/package.json +4 -4
- package/src/app/[tenantId]/projects/[projectId]/{artifact-components → artifacts}/[artifactComponentId]/error.tsx +2 -2
- package/src/app/[tenantId]/projects/[projectId]/{artifact-components → artifacts}/[artifactComponentId]/page.tsx +2 -2
- package/src/app/[tenantId]/projects/[projectId]/{artifact-components → artifacts}/loading.tsx +2 -2
- package/src/app/[tenantId]/projects/[projectId]/{artifact-components → artifacts}/new/page.tsx +3 -3
- package/src/app/[tenantId]/projects/[projectId]/{artifact-components → artifacts}/page.tsx +9 -9
- package/src/app/[tenantId]/projects/[projectId]/{data-components → components}/[dataComponentId]/error.tsx +2 -2
- package/src/app/[tenantId]/projects/[projectId]/{data-components → components}/[dataComponentId]/page.tsx +2 -2
- package/src/app/[tenantId]/projects/[projectId]/{data-components → components}/loading.tsx +2 -2
- package/src/app/[tenantId]/projects/[projectId]/{data-components → components}/new/page.tsx +3 -3
- package/src/app/[tenantId]/projects/[projectId]/{data-components → components}/page.tsx +8 -8
- package/src/app/api/signoz/conversations/[conversationId]/route.ts +26 -4
- package/src/components/artifact-components/artifact-component-item.tsx +1 -1
- package/src/components/artifact-components/delete-artifact-component-confirmation.tsx +2 -2
- package/src/components/artifact-components/form/artifact-component-form.tsx +9 -9
- package/src/components/data-components/data-component-item.tsx +1 -1
- package/src/components/data-components/delete-data-component-confirmation.tsx +2 -2
- package/src/components/data-components/form/data-component-form.tsx +6 -6
- package/src/components/graph/graph.tsx +24 -2
- package/src/components/graph/nodes/agent-node.tsx +2 -6
- package/src/components/graph/sidepane/metadata/metadata-editor.tsx +10 -6
- package/src/components/graph/sidepane/nodes/agent-node-editor.tsx +10 -10
- package/src/components/graph/sidepane/nodes/credential-selector.tsx +17 -13
- package/src/components/graph/sidepane/nodes/model-section.tsx +10 -6
- package/src/components/graph/sidepane/nodes/model-selector.tsx +5 -1
- package/src/components/projects/form/project-models-section.tsx +1 -1
- package/src/components/sidebar-nav/sidebar-nav.tsx +11 -11
- package/src/components/traces/timeline/activity-timeline.tsx +3 -0
- package/src/components/traces/timeline/render-panel-content.tsx +63 -9
- package/src/components/traces/timeline/timeline-item.tsx +18 -4
- package/src/components/traces/timeline/timeline-wrapper.tsx +32 -18
- package/src/components/traces/timeline/types.ts +4 -0
- package/src/components/ui/external-link.tsx +13 -2
- package/src/constants/page-descriptions.tsx +1 -1
- package/src/features/graph/domain/deserialize.ts +2 -2
- package/src/lib/actions/artifact-components.ts +9 -9
- package/src/lib/actions/data-components.ts +5 -5
- package/src/lib/api/artifact-components.ts +4 -4
- package/src/lib/utils/graph-error-parser.ts +2 -2
- package/src/lib/utils/mcp-urls.ts +1 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/[artifactComponentId]/page.js +0 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/[artifactComponentId]/page_client-reference-manifest.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/new/page.js +0 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/new/page_client-reference-manifest.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/page.js +0 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/page_client-reference-manifest.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/[dataComponentId]/page.js +0 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/[dataComponentId]/page_client-reference-manifest.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/new/page.js +0 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/new/page_client-reference-manifest.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/page.js +0 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/page_client-reference-manifest.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5286.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6675.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9831.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/1413-48a35bb8b2d9a310.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/2063-fdc0702cbb1a1a89.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/2082-891b4e1bcad00d88.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7167-11a12434690e1440.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-10994c4134a5b1f6.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/[artifactComponentId]/error-5ea01b42c0d946d5.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/[artifactComponentId]/page-ac21ae31668741aa.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/error-3b2af015fcc2359e.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/loading-ef3dedb418fb26d6.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/new/page-ac21ae31668741aa.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/page-2bb568b6c23a881e.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-3d397c420bb8143b.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-f7c50d8bbfd65b0d.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/page-ef3dedb418fb26d6.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-e11b688b8c64e54e.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/[dataComponentId]/error-7dcfd95f4b78d6bc.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/[dataComponentId]/page-4bee752045ef90e0.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/error-aab618cc712fb97f.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/loading-ef3dedb418fb26d6.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/new/page-4bee752045ef90e0.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/page-0b8a51e424924a54.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/loading-ef3dedb418fb26d6.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-aa753859a6cd98f8.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-2a12f980f96c7c38.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/loading-ef3dedb418fb26d6.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-7e81c1c4a1f31187.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-3d8dfc51ee03d859.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/css/d6cfe4d39e9ec828.css +0 -1
- /package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/{artifact-components → artifacts}/page.js.nft.json +0 -0
- /package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/{data-components → components}/page.js.nft.json +0 -0
- /package/.next/standalone/agents-manage-ui/.next/static/{P565yMuBD-0DpQccwOL1W → L7WcT2fRRZif5hXZksQdA}/_buildManifest.js +0 -0
- /package/.next/standalone/agents-manage-ui/.next/static/{P565yMuBD-0DpQccwOL1W → L7WcT2fRRZif5hXZksQdA}/_ssgManifest.js +0 -0
- /package/src/app/[tenantId]/projects/[projectId]/{artifact-components → artifacts}/error.tsx +0 -0
- /package/src/app/[tenantId]/projects/[projectId]/{data-components → components}/error.tsx +0 -0
|
@@ -22,24 +22,24 @@ async function DataComponentsPage({ params }: DataComponentsPageProps) {
|
|
|
22
22
|
const response = await fetchDataComponents(tenantId, projectId);
|
|
23
23
|
dataComponents = response;
|
|
24
24
|
} catch (_error) {
|
|
25
|
-
throw new Error('Failed to fetch
|
|
25
|
+
throw new Error('Failed to fetch components');
|
|
26
26
|
}
|
|
27
27
|
return (
|
|
28
|
-
<BodyTemplate breadcrumbs={[{ label: '
|
|
28
|
+
<BodyTemplate breadcrumbs={[{ label: 'Components' }]}>
|
|
29
29
|
<MainContent className="min-h-full">
|
|
30
30
|
{dataComponents.data.length > 0 ? (
|
|
31
31
|
<>
|
|
32
32
|
<PageHeader
|
|
33
|
-
title="
|
|
33
|
+
title="Components"
|
|
34
34
|
description={dataComponentDescription}
|
|
35
35
|
action={
|
|
36
36
|
<Button asChild>
|
|
37
37
|
<Link
|
|
38
|
-
href={`/${tenantId}/projects/${projectId}/
|
|
38
|
+
href={`/${tenantId}/projects/${projectId}/components/new`}
|
|
39
39
|
className="flex items-center gap-2"
|
|
40
40
|
>
|
|
41
41
|
<Plus className="size-4" />
|
|
42
|
-
New
|
|
42
|
+
New component
|
|
43
43
|
</Link>
|
|
44
44
|
</Button>
|
|
45
45
|
}
|
|
@@ -52,10 +52,10 @@ async function DataComponentsPage({ params }: DataComponentsPageProps) {
|
|
|
52
52
|
</>
|
|
53
53
|
) : (
|
|
54
54
|
<EmptyState
|
|
55
|
-
title="No
|
|
55
|
+
title="No components yet."
|
|
56
56
|
description={dataComponentDescription}
|
|
57
|
-
link={`/${tenantId}/projects/${projectId}/
|
|
58
|
-
linkText="Create
|
|
57
|
+
link={`/${tenantId}/projects/${projectId}/components/new`}
|
|
58
|
+
linkText="Create component"
|
|
59
59
|
/>
|
|
60
60
|
)}
|
|
61
61
|
</MainContent>
|
|
@@ -204,6 +204,10 @@ function buildConversationListPayload(
|
|
|
204
204
|
key: SPAN_KEYS.AI_TOOL_CALL_RESULT,
|
|
205
205
|
...QUERY_FIELD_CONFIGS.STRING_TAG,
|
|
206
206
|
},
|
|
207
|
+
{
|
|
208
|
+
key: SPAN_KEYS.AI_TOOL_CALL_ARGS,
|
|
209
|
+
...QUERY_FIELD_CONFIGS.STRING_TAG,
|
|
210
|
+
},
|
|
207
211
|
{ key: SPAN_KEYS.AI_TOOL_TYPE, ...QUERY_FIELD_CONFIGS.STRING_TAG },
|
|
208
212
|
{ key: SPAN_KEYS.AI_AGENT_NAME, ...QUERY_FIELD_CONFIGS.STRING_TAG },
|
|
209
213
|
{
|
|
@@ -579,6 +583,10 @@ function buildConversationListPayload(
|
|
|
579
583
|
key: SPAN_KEYS.GEN_AI_USAGE_OUTPUT_TOKENS,
|
|
580
584
|
...QUERY_FIELD_CONFIGS.INT64_TAG,
|
|
581
585
|
},
|
|
586
|
+
{
|
|
587
|
+
key: SPAN_KEYS.AI_RESPONSE_TEXT,
|
|
588
|
+
...QUERY_FIELD_CONFIGS.STRING_TAG,
|
|
589
|
+
},
|
|
582
590
|
]
|
|
583
591
|
),
|
|
584
592
|
|
|
@@ -783,6 +791,7 @@ export async function GET(
|
|
|
783
791
|
serviceTier?: string;
|
|
784
792
|
aiResponseContent?: string;
|
|
785
793
|
aiResponseTimestamp?: string;
|
|
794
|
+
aiResponseText?: string;
|
|
786
795
|
// user
|
|
787
796
|
messageContent?: string;
|
|
788
797
|
// context resolution
|
|
@@ -795,6 +804,8 @@ export async function GET(
|
|
|
795
804
|
// tool specifics
|
|
796
805
|
toolType?: string;
|
|
797
806
|
toolPurpose?: string;
|
|
807
|
+
toolCallArgs?: string;
|
|
808
|
+
toolCallResult?: string;
|
|
798
809
|
// delegation/transfer
|
|
799
810
|
delegationFromAgentId?: string;
|
|
800
811
|
delegationToAgentId?: string;
|
|
@@ -824,6 +835,12 @@ export async function GET(
|
|
|
824
835
|
// tool calls → activities
|
|
825
836
|
for (const span of toolCallSpans) {
|
|
826
837
|
const name = getString(span, SPAN_KEYS.AI_TOOL_CALL_NAME, 'Unknown Tool');
|
|
838
|
+
|
|
839
|
+
// Skip thinking_complete tool calls from the timeline
|
|
840
|
+
if (name === 'thinking_complete') {
|
|
841
|
+
continue;
|
|
842
|
+
}
|
|
843
|
+
|
|
827
844
|
const hasError = getField(span, SPAN_KEYS.HAS_ERROR) === true;
|
|
828
845
|
const durMs = getNumber(span, SPAN_KEYS.DURATION_NANO) / 1e6;
|
|
829
846
|
const toolType = getString(span, SPAN_KEYS.AI_TOOL_TYPE, '');
|
|
@@ -833,11 +850,13 @@ export async function GET(
|
|
|
833
850
|
const transferFromAgentId = getString(span, SPAN_KEYS.TRANSFER_FROM_AGENT_ID, '');
|
|
834
851
|
const transferToAgentId = getString(span, SPAN_KEYS.TRANSFER_TO_AGENT_ID, '');
|
|
835
852
|
|
|
853
|
+
// Extract tool call args and result for ALL tool calls
|
|
854
|
+
const toolCallArgs = getString(span, SPAN_KEYS.AI_TOOL_CALL_ARGS, '');
|
|
855
|
+
const toolCallResult = getString(span, SPAN_KEYS.AI_TOOL_CALL_RESULT, '');
|
|
856
|
+
|
|
836
857
|
// Parse save_tool_result JSON if present
|
|
837
858
|
let saveFields: any = {};
|
|
838
859
|
if (name === TOOL_NAMES.SAVE_TOOL_RESULT) {
|
|
839
|
-
const toolResult = getString(span, SPAN_KEYS.AI_TOOL_CALL_RESULT, '');
|
|
840
|
-
const toolArgs = getString(span, SPAN_KEYS.AI_TOOL_CALL_ARGS, '');
|
|
841
860
|
const operationId = getString(span, SPAN_KEYS.AI_OPERATION_ID, '');
|
|
842
861
|
const toolCallId = getString(span, SPAN_KEYS.AI_TOOL_CALL_ID, '');
|
|
843
862
|
const functionId = getString(span, SPAN_KEYS.AI_TELEMETRY_FUNCTION_ID, '');
|
|
@@ -845,14 +864,14 @@ export async function GET(
|
|
|
845
864
|
// Parse tool arguments
|
|
846
865
|
let parsedArgs: any = {};
|
|
847
866
|
try {
|
|
848
|
-
parsedArgs = JSON.parse(
|
|
867
|
+
parsedArgs = JSON.parse(toolCallArgs);
|
|
849
868
|
} catch (_e) {
|
|
850
869
|
// Keep empty if parsing fails
|
|
851
870
|
}
|
|
852
871
|
|
|
853
872
|
// Parse tool result
|
|
854
873
|
try {
|
|
855
|
-
const parsed = JSON.parse(
|
|
874
|
+
const parsed = JSON.parse(toolCallResult);
|
|
856
875
|
// Extract first artifact info if available
|
|
857
876
|
const firstArtifact = parsed.artifacts
|
|
858
877
|
? (Object.values(parsed.artifacts)[0] as any)
|
|
@@ -898,6 +917,8 @@ export async function GET(
|
|
|
898
917
|
delegationToAgentId: delegationToAgentId || undefined,
|
|
899
918
|
transferFromAgentId: transferFromAgentId || undefined,
|
|
900
919
|
transferToAgentId: transferToAgentId || undefined,
|
|
920
|
+
toolCallArgs: toolCallArgs || undefined,
|
|
921
|
+
toolCallResult: toolCallResult || undefined,
|
|
901
922
|
...saveFields, // Include save_tool_result specific fields
|
|
902
923
|
});
|
|
903
924
|
}
|
|
@@ -1040,6 +1061,7 @@ export async function GET(
|
|
|
1040
1061
|
aiModel: getString(span, SPAN_KEYS.AI_RESPONSE_MODEL, 'Unknown Model'),
|
|
1041
1062
|
inputTokens: getNumber(span, SPAN_KEYS.GEN_AI_USAGE_INPUT_TOKENS, 0),
|
|
1042
1063
|
outputTokens: getNumber(span, SPAN_KEYS.GEN_AI_USAGE_OUTPUT_TOKENS, 0),
|
|
1064
|
+
aiResponseText: getString(span, SPAN_KEYS.AI_RESPONSE_TEXT, '') || undefined,
|
|
1043
1065
|
});
|
|
1044
1066
|
}
|
|
1045
1067
|
|
|
@@ -21,7 +21,7 @@ export function ArtifactComponentItem({
|
|
|
21
21
|
tenantId,
|
|
22
22
|
projectId,
|
|
23
23
|
}: ArtifactComponent & { tenantId: string; projectId: string }) {
|
|
24
|
-
const linkPath = `/${tenantId}/projects/${projectId}/
|
|
24
|
+
const linkPath = `/${tenantId}/projects/${projectId}/artifacts/${id}`;
|
|
25
25
|
|
|
26
26
|
return (
|
|
27
27
|
<ItemCardRoot>
|
|
@@ -29,7 +29,7 @@ export function DeleteArtifactComponentConfirmation({
|
|
|
29
29
|
const result = await deleteArtifactComponentAction(tenantId, projectId, artifactComponentId);
|
|
30
30
|
if (result.success) {
|
|
31
31
|
setIsOpen(false);
|
|
32
|
-
toast.success('Artifact
|
|
32
|
+
toast.success('Artifact deleted.');
|
|
33
33
|
} else {
|
|
34
34
|
toast.error(result.error);
|
|
35
35
|
}
|
|
@@ -40,7 +40,7 @@ export function DeleteArtifactComponentConfirmation({
|
|
|
40
40
|
|
|
41
41
|
return (
|
|
42
42
|
<DeleteConfirmation
|
|
43
|
-
itemName={artifactComponentName || 'this artifact
|
|
43
|
+
itemName={artifactComponentName || 'this artifact'}
|
|
44
44
|
isSubmitting={isSubmitting}
|
|
45
45
|
onDelete={handleDelete}
|
|
46
46
|
/>
|
|
@@ -67,22 +67,22 @@ export function ArtifactComponentForm({
|
|
|
67
67
|
if (id) {
|
|
68
68
|
const res = await updateArtifactComponentAction(tenantId, projectId, payload);
|
|
69
69
|
if (!res.success) {
|
|
70
|
-
toast.error(res.error || 'Failed to update artifact
|
|
70
|
+
toast.error(res.error || 'Failed to update artifact.');
|
|
71
71
|
return;
|
|
72
72
|
}
|
|
73
|
-
toast.success('Artifact
|
|
73
|
+
toast.success('Artifact updated.');
|
|
74
74
|
} else {
|
|
75
75
|
const res = await createArtifactComponentAction(tenantId, projectId, payload);
|
|
76
76
|
if (!res.success) {
|
|
77
|
-
toast.error(res.error || 'Failed to create artifact
|
|
77
|
+
toast.error(res.error || 'Failed to create artifact');
|
|
78
78
|
return;
|
|
79
79
|
}
|
|
80
|
-
toast.success('Artifact
|
|
81
|
-
router.push(`/${tenantId}/projects/${projectId}/
|
|
80
|
+
toast.success('Artifact created.');
|
|
81
|
+
router.push(`/${tenantId}/projects/${projectId}/artifacts`);
|
|
82
82
|
}
|
|
83
83
|
} catch (error) {
|
|
84
|
-
console.error('Error submitting artifact
|
|
85
|
-
const errorMessage = error instanceof Error ? error.message : 'An unexpected error occurred';
|
|
84
|
+
console.error('Error submitting artifact:', error);
|
|
85
|
+
const errorMessage = error instanceof Error ? error.message : 'An unexpected error occurred.';
|
|
86
86
|
toast.error(errorMessage);
|
|
87
87
|
}
|
|
88
88
|
};
|
|
@@ -101,13 +101,13 @@ export function ArtifactComponentForm({
|
|
|
101
101
|
control={form.control}
|
|
102
102
|
name="id"
|
|
103
103
|
label="Id"
|
|
104
|
-
placeholder="my-artifact
|
|
104
|
+
placeholder="my-artifact"
|
|
105
105
|
disabled={!!id}
|
|
106
106
|
isRequired
|
|
107
107
|
description={
|
|
108
108
|
id
|
|
109
109
|
? ''
|
|
110
|
-
: 'Choose a unique identifier for this
|
|
110
|
+
: 'Choose a unique identifier for this artifact. Using an existing id will replace that artifact.'
|
|
111
111
|
}
|
|
112
112
|
/>
|
|
113
113
|
<GenericTextarea
|
|
@@ -21,7 +21,7 @@ export function DataComponentItem({
|
|
|
21
21
|
tenantId,
|
|
22
22
|
projectId,
|
|
23
23
|
}: DataComponent & { tenantId: string; projectId: string }) {
|
|
24
|
-
const linkPath = `/${tenantId}/projects/${projectId}/
|
|
24
|
+
const linkPath = `/${tenantId}/projects/${projectId}/components/${id}`;
|
|
25
25
|
|
|
26
26
|
return (
|
|
27
27
|
<ItemCardRoot>
|
|
@@ -29,7 +29,7 @@ export function DeleteDataComponentConfirmation({
|
|
|
29
29
|
const result = await deleteDataComponentAction(tenantId, projectId, dataComponentId);
|
|
30
30
|
if (result.success) {
|
|
31
31
|
setIsOpen(false);
|
|
32
|
-
toast.success('
|
|
32
|
+
toast.success('Component deleted.');
|
|
33
33
|
} else {
|
|
34
34
|
toast.error(result.error);
|
|
35
35
|
}
|
|
@@ -40,7 +40,7 @@ export function DeleteDataComponentConfirmation({
|
|
|
40
40
|
|
|
41
41
|
return (
|
|
42
42
|
<DeleteConfirmation
|
|
43
|
-
itemName={dataComponentName || 'this
|
|
43
|
+
itemName={dataComponentName || 'this component'}
|
|
44
44
|
isSubmitting={isSubmitting}
|
|
45
45
|
onDelete={handleDelete}
|
|
46
46
|
/>
|
|
@@ -64,21 +64,21 @@ export function DataComponentForm({
|
|
|
64
64
|
if (id) {
|
|
65
65
|
const res = await updateDataComponentAction(tenantId, projectId, payload);
|
|
66
66
|
if (!res.success) {
|
|
67
|
-
toast.error(res.error || 'Failed to update
|
|
67
|
+
toast.error(res.error || 'Failed to update component');
|
|
68
68
|
return;
|
|
69
69
|
}
|
|
70
|
-
toast.success('
|
|
70
|
+
toast.success('Component updated');
|
|
71
71
|
} else {
|
|
72
72
|
const res = await createDataComponentAction(tenantId, projectId, payload);
|
|
73
73
|
if (!res.success) {
|
|
74
|
-
toast.error(res.error || 'Failed to create
|
|
74
|
+
toast.error(res.error || 'Failed to create component');
|
|
75
75
|
return;
|
|
76
76
|
}
|
|
77
|
-
toast.success('
|
|
78
|
-
router.push(`/${tenantId}/projects/${projectId}/
|
|
77
|
+
toast.success('Component created');
|
|
78
|
+
router.push(`/${tenantId}/projects/${projectId}/components`);
|
|
79
79
|
}
|
|
80
80
|
} catch (error) {
|
|
81
|
-
console.error('Error submitting
|
|
81
|
+
console.error('Error submitting component:', error);
|
|
82
82
|
const errorMessage = error instanceof Error ? error.message : 'An unexpected error occurred';
|
|
83
83
|
toast.error(errorMessage);
|
|
84
84
|
}
|
|
@@ -179,7 +179,7 @@ function Flow({
|
|
|
179
179
|
return lookup;
|
|
180
180
|
}, [graph?.agents]);
|
|
181
181
|
|
|
182
|
-
const { screenToFlowPosition, updateNodeData } = useReactFlow();
|
|
182
|
+
const { screenToFlowPosition, updateNodeData, fitView } = useReactFlow();
|
|
183
183
|
const {
|
|
184
184
|
nodes: storeNodes,
|
|
185
185
|
edges,
|
|
@@ -259,6 +259,28 @@ function Flow({
|
|
|
259
259
|
}
|
|
260
260
|
}, []);
|
|
261
261
|
|
|
262
|
+
// Auto-center graph when sidepane opens/closes
|
|
263
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: we want to trigger on isOpen changes
|
|
264
|
+
useEffect(() => {
|
|
265
|
+
// Delay to allow CSS transition to complete (300ms transition + 50ms buffer)
|
|
266
|
+
const timer = setTimeout(() => {
|
|
267
|
+
fitView({ maxZoom: 1, duration: 200 });
|
|
268
|
+
}, 350);
|
|
269
|
+
|
|
270
|
+
return () => clearTimeout(timer);
|
|
271
|
+
}, [isOpen, fitView]);
|
|
272
|
+
|
|
273
|
+
// Auto-center graph when playground opens/closes
|
|
274
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: we want to trigger on showPlayground changes
|
|
275
|
+
useEffect(() => {
|
|
276
|
+
// Delay to allow CSS transition to complete
|
|
277
|
+
const timer = setTimeout(() => {
|
|
278
|
+
fitView({ maxZoom: 1, duration: 200 });
|
|
279
|
+
}, 350);
|
|
280
|
+
|
|
281
|
+
return () => clearTimeout(timer);
|
|
282
|
+
}, [showPlayground, fitView]);
|
|
283
|
+
|
|
262
284
|
// biome-ignore lint/correctness/useExhaustiveDependencies: we only want to add/connect edges once
|
|
263
285
|
const onConnectWrapped = useCallback((params: Connection) => {
|
|
264
286
|
markUnsaved();
|
|
@@ -648,7 +670,7 @@ function Flow({
|
|
|
648
670
|
<Toolbar
|
|
649
671
|
onSubmit={onSubmit}
|
|
650
672
|
isPreviewDisabled={!graph?.id}
|
|
651
|
-
toggleSidePane={isOpen ?
|
|
673
|
+
toggleSidePane={isOpen ? backToGraph : openGraphPane}
|
|
652
674
|
setShowPlayground={() => {
|
|
653
675
|
closeSidePane();
|
|
654
676
|
setShowPlayground(true);
|
|
@@ -108,14 +108,10 @@ export function AgentNode(props: NodeProps & { data: AgentNodeData }) {
|
|
|
108
108
|
</Badge>
|
|
109
109
|
) : null}
|
|
110
110
|
{dataComponentNames?.length > 0 && (
|
|
111
|
-
<ListSection title="
|
|
111
|
+
<ListSection title="Components" items={dataComponentNames} Icon={Component} />
|
|
112
112
|
)}
|
|
113
113
|
{artifactComponentNames?.length > 0 && (
|
|
114
|
-
<ListSection
|
|
115
|
-
title="Artifact components"
|
|
116
|
-
items={artifactComponentNames}
|
|
117
|
-
Icon={Library}
|
|
118
|
-
/>
|
|
114
|
+
<ListSection title="Artifacts" items={artifactComponentNames} Icon={Library} />
|
|
119
115
|
)}
|
|
120
116
|
</BaseNodeContent>
|
|
121
117
|
<Handle id={agentNodeTargetHandleId} type="source" position={Position.Top} isConnectable />
|
|
@@ -147,7 +147,7 @@ function MetadataEditor() {
|
|
|
147
147
|
title="Default models"
|
|
148
148
|
description="Set default models that will be inherited by agents that don't have their own models configured."
|
|
149
149
|
/>
|
|
150
|
-
<div className="relative">
|
|
150
|
+
<div className="relative space-y-2">
|
|
151
151
|
<ModelSelector
|
|
152
152
|
value={models?.base?.model || ''}
|
|
153
153
|
inheritedValue={project?.models?.base?.model}
|
|
@@ -176,8 +176,8 @@ function MetadataEditor() {
|
|
|
176
176
|
/>
|
|
177
177
|
</div>
|
|
178
178
|
}
|
|
179
|
-
tooltip="Primary model for general agent responses"
|
|
180
179
|
/>
|
|
180
|
+
<p className="text-xs text-muted-foreground">Primary model for general agent responses</p>
|
|
181
181
|
</div>
|
|
182
182
|
|
|
183
183
|
<Collapsible
|
|
@@ -195,7 +195,7 @@ function MetadataEditor() {
|
|
|
195
195
|
</Button>
|
|
196
196
|
</CollapsibleTrigger>
|
|
197
197
|
<CollapsibleContent className="space-y-8 mt-4 data-[state=closed]:animate-[collapsible-up_200ms_ease-out] data-[state=open]:animate-[collapsible-down_200ms_ease-out] overflow-hidden px-4 pb-6">
|
|
198
|
-
<div className="relative">
|
|
198
|
+
<div className="relative space-y-2">
|
|
199
199
|
<ModelSelector
|
|
200
200
|
value={models?.structuredOutput?.model || ''}
|
|
201
201
|
inheritedValue={
|
|
@@ -228,10 +228,12 @@ function MetadataEditor() {
|
|
|
228
228
|
/>
|
|
229
229
|
</div>
|
|
230
230
|
}
|
|
231
|
-
tooltip="Model for structured outputs and data components (defaults to base model)"
|
|
232
231
|
/>
|
|
232
|
+
<p className="text-xs text-muted-foreground">
|
|
233
|
+
Model for structured outputs and components (defaults to base model)
|
|
234
|
+
</p>
|
|
233
235
|
</div>
|
|
234
|
-
<div className="relative">
|
|
236
|
+
<div className="relative space-y-2">
|
|
235
237
|
<ModelSelector
|
|
236
238
|
value={models?.summarizer?.model || ''}
|
|
237
239
|
inheritedValue={
|
|
@@ -264,8 +266,10 @@ function MetadataEditor() {
|
|
|
264
266
|
/>
|
|
265
267
|
</div>
|
|
266
268
|
}
|
|
267
|
-
tooltip="Model for summarization tasks (defaults to base model)"
|
|
268
269
|
/>
|
|
270
|
+
<p className="text-xs text-muted-foreground">
|
|
271
|
+
Model for summarization tasks (defaults to base model)
|
|
272
|
+
</p>
|
|
269
273
|
</div>
|
|
270
274
|
</CollapsibleContent>
|
|
271
275
|
</Collapsible>
|
|
@@ -198,29 +198,29 @@ export function AgentNodeEditor({
|
|
|
198
198
|
</div>
|
|
199
199
|
<Separator />
|
|
200
200
|
<ComponentSelector
|
|
201
|
-
label="
|
|
201
|
+
label="Components"
|
|
202
202
|
componentLookup={dataComponentLookup}
|
|
203
203
|
selectedComponents={selectedDataComponents}
|
|
204
204
|
onSelectionChange={(newSelection) => {
|
|
205
205
|
updatePath('dataComponents', newSelection);
|
|
206
206
|
}}
|
|
207
|
-
emptyStateMessage="No
|
|
208
|
-
emptyStateActionText="Create
|
|
209
|
-
emptyStateActionHref={`/${tenantId}/projects/${projectId}/
|
|
210
|
-
placeholder="Select
|
|
207
|
+
emptyStateMessage="No components found."
|
|
208
|
+
emptyStateActionText="Create component"
|
|
209
|
+
emptyStateActionHref={`/${tenantId}/projects/${projectId}/components/new`}
|
|
210
|
+
placeholder="Select components..."
|
|
211
211
|
/>
|
|
212
212
|
|
|
213
213
|
<ComponentSelector
|
|
214
|
-
label="
|
|
214
|
+
label="Artifacts"
|
|
215
215
|
componentLookup={artifactComponentLookup}
|
|
216
216
|
selectedComponents={selectedArtifactComponents}
|
|
217
217
|
onSelectionChange={(newSelection) => {
|
|
218
218
|
updatePath('artifactComponents', newSelection);
|
|
219
219
|
}}
|
|
220
|
-
emptyStateMessage="No
|
|
221
|
-
emptyStateActionText="Create artifact
|
|
222
|
-
emptyStateActionHref={`/${tenantId}/projects/${projectId}/
|
|
223
|
-
placeholder="Select
|
|
220
|
+
emptyStateMessage="No artifacts found."
|
|
221
|
+
emptyStateActionText="Create artifact"
|
|
222
|
+
emptyStateActionHref={`/${tenantId}/projects/${projectId}/artifacts/new`}
|
|
223
|
+
placeholder="Select artifacts..."
|
|
224
224
|
/>
|
|
225
225
|
</div>
|
|
226
226
|
);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { ChevronsUpDown } from 'lucide-react';
|
|
3
|
+
import { Check, ChevronsUpDown } from 'lucide-react';
|
|
4
|
+
import { useParams } from 'next/navigation';
|
|
4
5
|
import { useState } from 'react';
|
|
5
|
-
import { Badge } from '@/components/ui/badge';
|
|
6
6
|
import { Button } from '@/components/ui/button';
|
|
7
7
|
import {
|
|
8
8
|
Command,
|
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
import { Label } from '@/components/ui/label';
|
|
16
16
|
import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';
|
|
17
17
|
import type { Credential } from '@/lib/api/credentials';
|
|
18
|
+
import { EmptyState } from './empty-state';
|
|
18
19
|
|
|
19
20
|
// Header component - shows label and status
|
|
20
21
|
interface CredentialHeaderProps {
|
|
@@ -44,6 +45,10 @@ function CredentialDropdown({
|
|
|
44
45
|
placeholder = 'Select credential...',
|
|
45
46
|
}: CredentialDropdownProps) {
|
|
46
47
|
const [open, setOpen] = useState(false);
|
|
48
|
+
const { tenantId, projectId } = useParams<{
|
|
49
|
+
tenantId: string;
|
|
50
|
+
projectId: string;
|
|
51
|
+
}>();
|
|
47
52
|
|
|
48
53
|
return (
|
|
49
54
|
<div className="flex w-full">
|
|
@@ -80,7 +85,14 @@ function CredentialDropdown({
|
|
|
80
85
|
<Command>
|
|
81
86
|
<CommandInput placeholder="Search credentials..." />
|
|
82
87
|
<CommandList>
|
|
83
|
-
<CommandEmpty>
|
|
88
|
+
<CommandEmpty>
|
|
89
|
+
{' '}
|
|
90
|
+
<EmptyState
|
|
91
|
+
message={'No credentials found.'}
|
|
92
|
+
actionText={'Create credential'}
|
|
93
|
+
actionHref={`/${tenantId}/projects/${projectId}/credentials/new`}
|
|
94
|
+
/>
|
|
95
|
+
</CommandEmpty>
|
|
84
96
|
<CommandGroup>
|
|
85
97
|
{/* No Authentication option */}
|
|
86
98
|
<CommandItem
|
|
@@ -96,11 +108,7 @@ function CredentialDropdown({
|
|
|
96
108
|
<div className="font-medium">No Authentication</div>
|
|
97
109
|
<div className="text-xs text-muted-foreground">Unsecured connection</div>
|
|
98
110
|
</div>
|
|
99
|
-
{selectedCredentialId === null &&
|
|
100
|
-
<Badge variant="success" className="text-[10px]">
|
|
101
|
-
Selected
|
|
102
|
-
</Badge>
|
|
103
|
-
)}
|
|
111
|
+
{selectedCredentialId === null && <Check className="ml-2 h-4 w-4" />}
|
|
104
112
|
</div>
|
|
105
113
|
</CommandItem>
|
|
106
114
|
|
|
@@ -120,11 +128,7 @@ function CredentialDropdown({
|
|
|
120
128
|
<div className="font-medium">{credential.id}</div>
|
|
121
129
|
<div className="text-xs text-muted-foreground">{credential.type}</div>
|
|
122
130
|
</div>
|
|
123
|
-
{selectedCredentialId === credential.id &&
|
|
124
|
-
<Badge variant="success" className="text-[10px]">
|
|
125
|
-
Selected
|
|
126
|
-
</Badge>
|
|
127
|
-
)}
|
|
131
|
+
{selectedCredentialId === credential.id && <Check className="ml-2 h-4 w-4" />}
|
|
128
132
|
</div>
|
|
129
133
|
</CommandItem>
|
|
130
134
|
))}
|
|
@@ -29,7 +29,7 @@ export function ModelSection({
|
|
|
29
29
|
|
|
30
30
|
return (
|
|
31
31
|
<div className="space-y-8">
|
|
32
|
-
<div className="relative">
|
|
32
|
+
<div className="relative space-y-2">
|
|
33
33
|
<ModelSelector
|
|
34
34
|
value={models?.base?.model || ''}
|
|
35
35
|
onValueChange={(modelValue) => {
|
|
@@ -50,8 +50,8 @@ export function ModelSection({
|
|
|
50
50
|
/>
|
|
51
51
|
</div>
|
|
52
52
|
}
|
|
53
|
-
tooltip="Primary model for general agent responses"
|
|
54
53
|
/>
|
|
54
|
+
<p className="text-xs text-muted-foreground">Primary model for general agent responses</p>
|
|
55
55
|
</div>
|
|
56
56
|
|
|
57
57
|
<Collapsible
|
|
@@ -69,7 +69,7 @@ export function ModelSection({
|
|
|
69
69
|
</Button>
|
|
70
70
|
</CollapsibleTrigger>
|
|
71
71
|
<CollapsibleContent className="space-y-8 mt-4 data-[state=closed]:animate-[collapsible-up_200ms_ease-out] data-[state=open]:animate-[collapsible-down_200ms_ease-out] overflow-hidden px-4 pb-6">
|
|
72
|
-
<div className="relative">
|
|
72
|
+
<div className="relative space-y-2">
|
|
73
73
|
<ModelSelector
|
|
74
74
|
value={models?.structuredOutput?.model || ''}
|
|
75
75
|
onValueChange={(modelValue) => {
|
|
@@ -96,10 +96,12 @@ export function ModelSection({
|
|
|
96
96
|
/>
|
|
97
97
|
</div>
|
|
98
98
|
}
|
|
99
|
-
tooltip="The model used for structured output and data components (defaults to base model)"
|
|
100
99
|
/>
|
|
100
|
+
<p className="text-xs text-muted-foreground">
|
|
101
|
+
The model used for structured output and components (defaults to base model)
|
|
102
|
+
</p>
|
|
101
103
|
</div>
|
|
102
|
-
<div className="relative">
|
|
104
|
+
<div className="relative space-y-2">
|
|
103
105
|
<ModelSelector
|
|
104
106
|
value={models?.summarizer?.model || ''}
|
|
105
107
|
onValueChange={(modelValue) => {
|
|
@@ -126,8 +128,10 @@ export function ModelSection({
|
|
|
126
128
|
/>
|
|
127
129
|
</div>
|
|
128
130
|
}
|
|
129
|
-
tooltip="The model used for summarization tasks (defaults to base model)"
|
|
130
131
|
/>
|
|
132
|
+
<p className="text-xs text-muted-foreground">
|
|
133
|
+
The model used for summarization tasks (defaults to base model)
|
|
134
|
+
</p>
|
|
131
135
|
</div>
|
|
132
136
|
</CollapsibleContent>
|
|
133
137
|
</Collapsible>
|
|
@@ -182,6 +182,7 @@ export function ModelSelector({
|
|
|
182
182
|
value="__openrouter__"
|
|
183
183
|
onSelect={() => {
|
|
184
184
|
setShowCustomInput('openrouter');
|
|
185
|
+
setOpen(false);
|
|
185
186
|
setCustomModelInput('');
|
|
186
187
|
}}
|
|
187
188
|
>
|
|
@@ -192,6 +193,7 @@ export function ModelSelector({
|
|
|
192
193
|
value="__gateway__"
|
|
193
194
|
onSelect={() => {
|
|
194
195
|
setShowCustomInput('gateway');
|
|
196
|
+
setOpen(false);
|
|
195
197
|
setCustomModelInput('');
|
|
196
198
|
}}
|
|
197
199
|
>
|
|
@@ -209,6 +211,8 @@ export function ModelSelector({
|
|
|
209
211
|
onSelect={(currentValue) => {
|
|
210
212
|
onValueChange?.(currentValue === value ? '' : currentValue);
|
|
211
213
|
setOpen(false);
|
|
214
|
+
setCustomModelInput('');
|
|
215
|
+
setShowCustomInput(null);
|
|
212
216
|
}}
|
|
213
217
|
>
|
|
214
218
|
{model.label}
|
|
@@ -239,7 +243,7 @@ export function ModelSelector({
|
|
|
239
243
|
? 'Examples: anthropic/claude-3-5-sonnet, meta-llama/llama-3.1-405b-instruct'
|
|
240
244
|
: 'Examples: openai/gpt-4o, anthropic/claude-3-5-sonnet'}
|
|
241
245
|
</div>
|
|
242
|
-
<div className="flex gap-2">
|
|
246
|
+
<div className="flex gap-2 items-center">
|
|
243
247
|
<input
|
|
244
248
|
className="flex-1 px-3 py-2 text-sm border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
|
|
245
249
|
placeholder={
|
|
@@ -83,7 +83,7 @@ function StructuredOutputModelSection({ control }: { control: Control<ProjectFor
|
|
|
83
83
|
control={control}
|
|
84
84
|
name="models.structuredOutput.model"
|
|
85
85
|
label="Structured output model"
|
|
86
|
-
description="Model for structured outputs and
|
|
86
|
+
description="Model for structured outputs and components (defaults to base model)"
|
|
87
87
|
>
|
|
88
88
|
{(field) => (
|
|
89
89
|
<ModelSelector
|
|
@@ -60,7 +60,7 @@ export function AppSidebar({ ...props }: React.ComponentProps<typeof Sidebar>) {
|
|
|
60
60
|
icon: Workflow,
|
|
61
61
|
},
|
|
62
62
|
{
|
|
63
|
-
title: '
|
|
63
|
+
title: 'API Keys',
|
|
64
64
|
url: `/${tenantId}/projects/${projectId}/api-keys`,
|
|
65
65
|
icon: Key,
|
|
66
66
|
},
|
|
@@ -69,16 +69,6 @@ export function AppSidebar({ ...props }: React.ComponentProps<typeof Sidebar>) {
|
|
|
69
69
|
url: `/${tenantId}/projects/${projectId}/mcp-servers`,
|
|
70
70
|
icon: MCPIcon as LucideIcon,
|
|
71
71
|
},
|
|
72
|
-
{
|
|
73
|
-
title: 'Data Components',
|
|
74
|
-
url: `/${tenantId}/projects/${projectId}/data-components`,
|
|
75
|
-
icon: Component,
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
title: 'Artifact Components',
|
|
79
|
-
url: `/${tenantId}/projects/${projectId}/artifact-components`,
|
|
80
|
-
icon: Library,
|
|
81
|
-
},
|
|
82
72
|
{
|
|
83
73
|
title: 'Credentials',
|
|
84
74
|
url: `/${tenantId}/projects/${projectId}/credentials`,
|
|
@@ -89,6 +79,16 @@ export function AppSidebar({ ...props }: React.ComponentProps<typeof Sidebar>) {
|
|
|
89
79
|
url: `/${tenantId}/projects/${projectId}/traces`,
|
|
90
80
|
icon: Activity,
|
|
91
81
|
},
|
|
82
|
+
{
|
|
83
|
+
title: 'Components',
|
|
84
|
+
url: `/${tenantId}/projects/${projectId}/components`,
|
|
85
|
+
icon: Component,
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
title: 'Artifacts',
|
|
89
|
+
url: `/${tenantId}/projects/${projectId}/artifacts`,
|
|
90
|
+
icon: Library,
|
|
91
|
+
},
|
|
92
92
|
{
|
|
93
93
|
title: 'Settings',
|
|
94
94
|
url: `/${tenantId}/projects/${projectId}/settings`,
|