@inkeep/agents-manage-ui 0.0.0-dev-20251017201015 → 0.0.0-dev-20251018033935
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 +148 -148
- 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 +3 -3
- package/.next/standalone/agents-manage-ui/.next/react-loadable-manifest.json +6 -6
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js +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_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +9 -9
- package/.next/standalone/agents-manage-ui/.next/server/app/api/data-components/[dataComponentId]/generate-preview/route.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/api/data-components/[dataComponentId]/generate-preview/route_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route.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 +5 -5
- package/.next/standalone/agents-manage-ui/.next/server/chunks/1213.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2373.js +196 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2783.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3041.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/{4643.js → 4206.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/4529.js +123 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5109.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5164.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5732.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6351.js +1 -189
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6721.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6999.js +14 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7283.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7711.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7848.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7988.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8586.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/882.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9600.js +16 -16
- package/.next/standalone/agents-manage-ui/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/middleware-manifest.json +5 -5
- 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/{98928-14207f1b9e316de8.js → 16631-6c857871fa924141.js} +3 -3
- package/.next/standalone/agents-manage-ui/.next/static/chunks/20837-65cb634be65713b6.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{23113.0ea76f60228c7fe6.js → 23113.536c8c9bea4a8c7b.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{40394.72d4efd21bafbc80.js → 40394.0f04666dda97595a.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/4875-306209ac5547e001.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{26842-abaf6c72bbfae575.js → 50285-9138bb26e62daef6.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{80095-a79e434c0cb9d9ae.js → 58857-25ea4e47782800c3.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/59352-1073f56d4177807e.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/82382-2ec1fba08e0e167a.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{85014-ef922017dc0055bb.js → 85014-410be6cfd6c0b753.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/87367-c73fa08200830a15.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/89101-92130409b1415c97.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/91256-ce81f9b9b7090774.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/{page-b78862e058e21d1d.js → page-efe560225036a9f6.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/{page-9b7a16cbc5e56361.js → page-ce87806ea0a2fb9f.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-9f2da832ec1b94cd.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-c82db08e9344f68c.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/{page-83d9fd2c55f8460c.js → page-32b6c7e2635bea05.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-fdc1ce5478c3f0cb.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-990d882d78a195fd.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/{page-cb64034759c93e8e.js → page-00743b00bc2a3efc.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/{page-c8c96bda6b72e594.js → page-97e1941742c88f0e.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-64813d371a05bde6.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/{page-ea039a5b380b8e24.js → page-7446ee2644d0185a.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-7b7a3ec55ec162a3.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-5b6aff4d987c89a4.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-4a371cd2cc6618ad.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-2f7f46580a298486.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/{page-fb462b164cd56e10.js → page-bca1259638485a50.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-9a035796f985a386.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/{page-cf4fe5e2568c0ab3.js → page-35cbbe7f8218c59e.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page-73c7ac508b857ff8.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-4cf0ddb5140d1a72.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/{page-47fbb375bc24ec38.js → page-a8d0dc9a08662376.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-08983ed4e0a95a94.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{webpack-bba93f11b84a7915.js → webpack-d65a3369c23bc1a6.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/css/5dfa86d258326297.css +1 -0
- package/.next/standalone/agents-manage-ui/package.json +1 -1
- package/.next/standalone/packages/agents-core/package.json +1 -1
- package/package.json +4 -4
- package/src/app/api/data-components/[dataComponentId]/generate-preview/route.ts +6 -1
- package/src/app/api/signoz/conversations/[conversationId]/route.ts +15 -0
- package/src/components/agent/playground/playground.tsx +30 -0
- package/src/components/data-components/preview/component-preview-generator.tsx +77 -22
- package/src/components/data-components/preview/dynamic-component-renderer.tsx +34 -17
- package/src/components/traces/timeline/render-panel-content.tsx +55 -9
- package/src/components/traces/timeline/timeline-item.tsx +32 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/1360.js +0 -7
- package/.next/standalone/agents-manage-ui/.next/server/chunks/1589.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2521.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2855.js +0 -123
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3143.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7714.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8607.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/1175-aadbf39b68307a3c.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/20837-85b0eaa57956ec46.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/49858-7e18c65ea9efae5d.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/55627-6799a4a8ebba64fe.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/80777-631ad155f80e43c0.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/87635-205c5e911047d0ea.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/92626-47f83788787493e1.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-2b3ecbe37c83a77a.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-bd91b7b1d9d5a2af.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-4e5c53f4de9337ae.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-2fdf71f69aa50f28.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-7770a04f50bc999f.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-9f6c50142f61d7ed.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-c89d52531ad58c47.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-1d6b4264ed0fac9d.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-f045d5e6f150aca4.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-715ac81713bb1138.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page-ca177c1cd0f1f45a.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-443e03a0b81d57bf.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-64df6b1dd180e612.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/css/ee777fdd61d7533e.css +0 -1
- /package/.next/standalone/agents-manage-ui/.next/static/{aziC8boh0W-LaHRZw5NWO → R4a26_eEJuwEWgW_zHsHJ}/_buildManifest.js +0 -0
- /package/.next/standalone/agents-manage-ui/.next/static/{aziC8boh0W-LaHRZw5NWO → R4a26_eEJuwEWgW_zHsHJ}/_ssgManifest.js +0 -0
|
@@ -8,7 +8,10 @@ import { CodeEditor } from '@/components/form/code-editor';
|
|
|
8
8
|
import { JsonEditor } from '@/components/form/json-editor';
|
|
9
9
|
import { Button } from '@/components/ui/button';
|
|
10
10
|
import { Card } from '@/components/ui/card';
|
|
11
|
+
import { Label } from '@/components/ui/label';
|
|
12
|
+
import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';
|
|
11
13
|
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
|
|
14
|
+
import { Textarea } from '@/components/ui/textarea';
|
|
12
15
|
import { updateDataComponent } from '@/lib/api/data-components';
|
|
13
16
|
import { DynamicComponentRenderer } from './dynamic-component-renderer';
|
|
14
17
|
|
|
@@ -35,8 +38,10 @@ export function ComponentPreviewGenerator({
|
|
|
35
38
|
const [streamingCode, setStreamingCode] = useState<string>('');
|
|
36
39
|
const [isComplete, setIsComplete] = useState(!!existingPreview);
|
|
37
40
|
const [isSaved, setIsSaved] = useState(!!existingPreview);
|
|
41
|
+
const [regenerateInstructions, setRegenerateInstructions] = useState('');
|
|
42
|
+
const [isPopoverOpen, setIsPopoverOpen] = useState(false);
|
|
38
43
|
|
|
39
|
-
const generatePreview = async () => {
|
|
44
|
+
const generatePreview = async (instructions?: string) => {
|
|
40
45
|
setIsGenerating(true);
|
|
41
46
|
setPreview(null);
|
|
42
47
|
setStreamingCode('');
|
|
@@ -49,7 +54,12 @@ export function ComponentPreviewGenerator({
|
|
|
49
54
|
headers: {
|
|
50
55
|
'Content-Type': 'application/json',
|
|
51
56
|
},
|
|
52
|
-
body: JSON.stringify({
|
|
57
|
+
body: JSON.stringify({
|
|
58
|
+
tenantId,
|
|
59
|
+
projectId,
|
|
60
|
+
instructions: instructions || undefined,
|
|
61
|
+
existingCode: instructions ? preview?.code : undefined,
|
|
62
|
+
}),
|
|
53
63
|
});
|
|
54
64
|
|
|
55
65
|
if (!response.ok) {
|
|
@@ -163,7 +173,7 @@ export function ComponentPreviewGenerator({
|
|
|
163
173
|
</div>
|
|
164
174
|
<div className="flex gap-2">
|
|
165
175
|
{!hasPreview && (
|
|
166
|
-
<Button onClick={generatePreview} disabled={isGenerating} className="gap-2">
|
|
176
|
+
<Button onClick={() => generatePreview()} disabled={isGenerating} className="gap-2">
|
|
167
177
|
{isGenerating ? (
|
|
168
178
|
<>
|
|
169
179
|
<Loader2 className="h-4 w-4 animate-spin" />
|
|
@@ -179,24 +189,64 @@ export function ComponentPreviewGenerator({
|
|
|
179
189
|
)}
|
|
180
190
|
{hasPreview && (
|
|
181
191
|
<>
|
|
182
|
-
<
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
192
|
+
<Popover open={isPopoverOpen} onOpenChange={setIsPopoverOpen}>
|
|
193
|
+
<PopoverTrigger asChild>
|
|
194
|
+
<Button variant="outline" disabled={isDeleting || isGenerating} className="gap-2">
|
|
195
|
+
{isGenerating ? (
|
|
196
|
+
<>
|
|
197
|
+
<Loader2 className="h-4 w-4 animate-spin" />
|
|
198
|
+
Regenerating...
|
|
199
|
+
</>
|
|
200
|
+
) : (
|
|
201
|
+
<>
|
|
202
|
+
<RefreshCw className="h-4 w-4" />
|
|
203
|
+
Regenerate
|
|
204
|
+
</>
|
|
205
|
+
)}
|
|
206
|
+
</Button>
|
|
207
|
+
</PopoverTrigger>
|
|
208
|
+
<PopoverContent className="w-96">
|
|
209
|
+
<div className="space-y-4">
|
|
210
|
+
<div>
|
|
211
|
+
<h4 className="font-medium text-sm mb-2">Modify Component</h4>
|
|
212
|
+
<Label htmlFor="instructions" className="text-xs text-muted-foreground">
|
|
213
|
+
Describe what you'd like to change (optional)
|
|
214
|
+
</Label>
|
|
215
|
+
<Textarea
|
|
216
|
+
id="instructions"
|
|
217
|
+
placeholder="e.g. Make it more compact, add a border, use different icons..."
|
|
218
|
+
value={regenerateInstructions}
|
|
219
|
+
onChange={(e) => setRegenerateInstructions(e.target.value)}
|
|
220
|
+
className="mt-2 min-h-[100px]"
|
|
221
|
+
/>
|
|
222
|
+
</div>
|
|
223
|
+
<div className="flex gap-2">
|
|
224
|
+
<Button
|
|
225
|
+
size="sm"
|
|
226
|
+
onClick={async () => {
|
|
227
|
+
setIsPopoverOpen(false);
|
|
228
|
+
await generatePreview(regenerateInstructions || undefined);
|
|
229
|
+
setRegenerateInstructions('');
|
|
230
|
+
}}
|
|
231
|
+
disabled={isGenerating}
|
|
232
|
+
className="flex-1"
|
|
233
|
+
>
|
|
234
|
+
{regenerateInstructions ? 'Apply Changes' : 'Regenerate'}
|
|
235
|
+
</Button>
|
|
236
|
+
<Button
|
|
237
|
+
size="sm"
|
|
238
|
+
variant="outline"
|
|
239
|
+
onClick={() => {
|
|
240
|
+
setIsPopoverOpen(false);
|
|
241
|
+
setRegenerateInstructions('');
|
|
242
|
+
}}
|
|
243
|
+
>
|
|
244
|
+
Cancel
|
|
245
|
+
</Button>
|
|
246
|
+
</div>
|
|
247
|
+
</div>
|
|
248
|
+
</PopoverContent>
|
|
249
|
+
</Popover>
|
|
200
250
|
{isSaved && (
|
|
201
251
|
<Button
|
|
202
252
|
variant="destructive"
|
|
@@ -255,10 +305,15 @@ export function ComponentPreviewGenerator({
|
|
|
255
305
|
onPreviewChanged?.(updatedPreview);
|
|
256
306
|
}}
|
|
257
307
|
language="jsx"
|
|
308
|
+
className="max-h-[500px]"
|
|
258
309
|
/>
|
|
259
310
|
</TabsContent>
|
|
260
311
|
<TabsContent value="data">
|
|
261
|
-
<JsonEditor
|
|
312
|
+
<JsonEditor
|
|
313
|
+
value={stringifiedData}
|
|
314
|
+
onChange={handleDataChange}
|
|
315
|
+
className="max-h-[500px]"
|
|
316
|
+
/>
|
|
262
317
|
</TabsContent>
|
|
263
318
|
</Tabs>
|
|
264
319
|
)}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
import * as LucideIcons from 'lucide-react';
|
|
4
4
|
import { useMemo } from 'react';
|
|
5
|
+
import * as ErrorBoundary from 'react-error-boundary';
|
|
5
6
|
import { useRunner } from 'react-runner';
|
|
6
|
-
import { Alert, AlertDescription } from '@/components/ui/alert';
|
|
7
|
+
import { Alert, AlertDescription, AlertTitle } from '@/components/ui/alert';
|
|
7
8
|
|
|
8
9
|
const { AlertCircle } = LucideIcons;
|
|
9
10
|
|
|
@@ -12,6 +13,7 @@ interface DynamicComponentRendererProps {
|
|
|
12
13
|
props: Record<string, unknown>;
|
|
13
14
|
}
|
|
14
15
|
|
|
16
|
+
const js = String.raw;
|
|
15
17
|
const transformCode = (code: string, props: Record<string, unknown>) => {
|
|
16
18
|
// Extract component name from code using regex, handling both function and arrow function syntax
|
|
17
19
|
const componentNameMatch = code.match(
|
|
@@ -19,41 +21,56 @@ const transformCode = (code: string, props: Record<string, unknown>) => {
|
|
|
19
21
|
);
|
|
20
22
|
const componentName = componentNameMatch?.[1] || componentNameMatch?.[2] || 'App';
|
|
21
23
|
|
|
22
|
-
return `
|
|
24
|
+
return js`
|
|
25
|
+
import { ErrorBoundary } from "react-error-boundary";
|
|
26
|
+
|
|
23
27
|
${code}
|
|
28
|
+
|
|
24
29
|
export default function App() {
|
|
25
30
|
const props = ${JSON.stringify(props)};
|
|
26
|
-
return
|
|
31
|
+
return (
|
|
32
|
+
<ErrorBoundary fallbackRender={fallbackRender}>
|
|
33
|
+
<${componentName} {...props} />
|
|
34
|
+
</ErrorBoundary>
|
|
35
|
+
);
|
|
27
36
|
}`;
|
|
28
37
|
};
|
|
29
38
|
|
|
39
|
+
function fallbackRender({ error }: { error: Error }) {
|
|
40
|
+
// Parse error to get better formatting
|
|
41
|
+
const errorString = String(error);
|
|
42
|
+
const errorLines = errorString.split('\n');
|
|
43
|
+
const errorMessage = errorLines[0] || errorString;
|
|
44
|
+
const errorStack = errorLines.slice(1).join('\n');
|
|
45
|
+
|
|
46
|
+
return (
|
|
47
|
+
<Alert variant="destructive" className="max-w-full">
|
|
48
|
+
<AlertCircle className="h-4 w-4" />
|
|
49
|
+
<AlertTitle className="font-semibold text-sm">{errorStack}</AlertTitle>
|
|
50
|
+
<AlertDescription className="mt-2 space-y-2">
|
|
51
|
+
<div className="font-mono text-xs break-words">{errorMessage}</div>
|
|
52
|
+
</AlertDescription>
|
|
53
|
+
</Alert>
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
|
|
30
57
|
export function DynamicComponentRenderer({ code, props }: DynamicComponentRendererProps) {
|
|
31
58
|
const transformedCode = useMemo(() => transformCode(code, props), [code, props]);
|
|
32
59
|
const scope = useMemo(
|
|
33
60
|
() => ({
|
|
34
|
-
|
|
61
|
+
fallbackRender,
|
|
35
62
|
import: {
|
|
36
63
|
'lucide-react': LucideIcons,
|
|
64
|
+
'react-error-boundary': ErrorBoundary,
|
|
37
65
|
},
|
|
38
66
|
}),
|
|
39
|
-
[
|
|
67
|
+
[]
|
|
40
68
|
);
|
|
41
69
|
|
|
42
|
-
const { element
|
|
70
|
+
const { element } = useRunner({
|
|
43
71
|
code: transformedCode,
|
|
44
72
|
scope,
|
|
45
73
|
});
|
|
46
74
|
|
|
47
|
-
if (error) {
|
|
48
|
-
return (
|
|
49
|
-
<Alert variant="destructive">
|
|
50
|
-
<AlertCircle className="h-4 w-4" />
|
|
51
|
-
<AlertDescription className="font-mono text-xs">
|
|
52
|
-
Error rendering component: {error}
|
|
53
|
-
</AlertDescription>
|
|
54
|
-
</Alert>
|
|
55
|
-
);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
75
|
return <div>{element}</div>;
|
|
59
76
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import dynamic from 'next/dynamic';
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { Streamdown } from 'streamdown';
|
|
2
4
|
import { formatDateTime } from '@/app/utils/format-date';
|
|
3
5
|
import { SignozSpanLink } from '@/components/traces/signoz-link';
|
|
4
6
|
import {
|
|
@@ -13,6 +15,7 @@ import { Bubble, CodeBubble } from '@/components/traces/timeline/bubble';
|
|
|
13
15
|
import { SpanAttributes } from '@/components/traces/timeline/span-attributes';
|
|
14
16
|
import type { ConversationDetail, SelectedPanel } from '@/components/traces/timeline/types';
|
|
15
17
|
import { Badge } from '@/components/ui/badge';
|
|
18
|
+
import { Button } from '@/components/ui/button';
|
|
16
19
|
|
|
17
20
|
const JsonEditorWithCopy = dynamic(
|
|
18
21
|
() =>
|
|
@@ -30,6 +33,33 @@ function formatJsonSafely(content: string): string {
|
|
|
30
33
|
}
|
|
31
34
|
}
|
|
32
35
|
|
|
36
|
+
function AssistantMessageContent({ content }: { content: string }) {
|
|
37
|
+
const [isExpanded, setIsExpanded] = useState(false);
|
|
38
|
+
|
|
39
|
+
return (
|
|
40
|
+
<LabeledBlock label="AI response content">
|
|
41
|
+
<div className="relative">
|
|
42
|
+
<Bubble className={`break-words ${isExpanded ? '' : 'max-h-48 overflow-hidden'}`}>
|
|
43
|
+
<Streamdown>
|
|
44
|
+
{content}
|
|
45
|
+
</Streamdown>
|
|
46
|
+
</Bubble>
|
|
47
|
+
{!isExpanded && (
|
|
48
|
+
<div className="absolute bottom-0 left-0 right-0 h-12 bg-gradient-to-t from-white dark:from-gray-900 to-transparent pointer-events-none" />
|
|
49
|
+
)}
|
|
50
|
+
</div>
|
|
51
|
+
<Button
|
|
52
|
+
variant="ghost"
|
|
53
|
+
size="sm"
|
|
54
|
+
onClick={() => setIsExpanded(!isExpanded)}
|
|
55
|
+
className="mt-2 w-full text-xs"
|
|
56
|
+
>
|
|
57
|
+
{isExpanded ? 'Show less' : 'Show more'}
|
|
58
|
+
</Button>
|
|
59
|
+
</LabeledBlock>
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
|
|
33
63
|
export function renderPanelContent({
|
|
34
64
|
selected,
|
|
35
65
|
findSpanById,
|
|
@@ -131,6 +161,16 @@ export function renderPanelContent({
|
|
|
131
161
|
return (
|
|
132
162
|
<>
|
|
133
163
|
<Section>
|
|
164
|
+
<Info
|
|
165
|
+
label="Sub agent"
|
|
166
|
+
value={
|
|
167
|
+
a.subAgentId ? (
|
|
168
|
+
<Badge variant="code">{a.subAgentId}</Badge>
|
|
169
|
+
) : (
|
|
170
|
+
'Unknown'
|
|
171
|
+
)
|
|
172
|
+
}
|
|
173
|
+
/>
|
|
134
174
|
{a.hasError && a.otelStatusDescription && (
|
|
135
175
|
<LabeledBlock label="Error">
|
|
136
176
|
<Bubble className="bg-red-50 border-red-200 text-red-800 dark:bg-red-900/20 dark:border-red-800 dark:text-red-300">
|
|
@@ -171,12 +211,9 @@ export function renderPanelContent({
|
|
|
171
211
|
return (
|
|
172
212
|
<>
|
|
173
213
|
<Section>
|
|
174
|
-
<LabeledBlock label="AI response content">
|
|
175
|
-
<Bubble className=" whitespace-pre-wrap break-words">
|
|
176
|
-
{a.aiResponseContent || 'Response content not available'}
|
|
177
|
-
</Bubble>
|
|
178
|
-
</LabeledBlock>
|
|
179
214
|
<Info label="Sub agent" value={a.subAgentName || 'Unknown'} />
|
|
215
|
+
<AssistantMessageContent content={a.aiResponseContent || 'Response content not available'} />
|
|
216
|
+
|
|
180
217
|
<StatusBadge status={a.status} />
|
|
181
218
|
<Info label="Activity timestamp" value={formatDateTime(a.timestamp)} />
|
|
182
219
|
</Section>
|
|
@@ -404,10 +441,13 @@ export function renderPanelContent({
|
|
|
404
441
|
<>
|
|
405
442
|
<Section>
|
|
406
443
|
<Info label="Model" value={<ModelBadge model={a.aiStreamTextModel || 'Unknown'} />} />
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
444
|
+
|
|
445
|
+
{a.aiTelemetryFunctionId && (
|
|
446
|
+
<Info
|
|
447
|
+
label="Sub agent"
|
|
448
|
+
value={<Badge variant="code">{a.aiTelemetryFunctionId}</Badge>}
|
|
449
|
+
/>
|
|
450
|
+
)}
|
|
411
451
|
<Info label="Input tokens" value={a.inputTokens?.toLocaleString() || '0'} />
|
|
412
452
|
<Info label="Output tokens" value={a.outputTokens?.toLocaleString() || '0'} />
|
|
413
453
|
<StatusBadge status={a.status} />
|
|
@@ -424,6 +464,12 @@ export function renderPanelContent({
|
|
|
424
464
|
<>
|
|
425
465
|
<Section>
|
|
426
466
|
<Info label="Model" value={<ModelBadge model={a.aiStreamObjectModel || 'Unknown'} />} />
|
|
467
|
+
{a.aiTelemetryFunctionId && (
|
|
468
|
+
<Info
|
|
469
|
+
label="Sub agent"
|
|
470
|
+
value={<Badge variant="code">{a.aiTelemetryFunctionId}</Badge>}
|
|
471
|
+
/>
|
|
472
|
+
)}
|
|
427
473
|
<Info label="Input tokens" value={a.inputTokens?.toLocaleString() || '0'} />
|
|
428
474
|
<Info label="Output tokens" value={a.outputTokens?.toLocaleString() || '0'} />
|
|
429
475
|
{a.aiStreamObjectContent && (
|
|
@@ -182,6 +182,13 @@ export function TimelineItem({
|
|
|
182
182
|
</div>
|
|
183
183
|
)}
|
|
184
184
|
|
|
185
|
+
{/* subagent badge for AI assistant message */}
|
|
186
|
+
{activity.type === ACTIVITY_TYPES.AI_ASSISTANT_MESSAGE && activity.subAgentName && (
|
|
187
|
+
<div className="mb-1">
|
|
188
|
+
<Badge variant="code">{activity.subAgentName}</Badge>
|
|
189
|
+
</div>
|
|
190
|
+
)}
|
|
191
|
+
|
|
185
192
|
{/* streamed text bubble */}
|
|
186
193
|
{activity.type === 'ai_model_streamed_text' && activity.aiStreamTextContent && (
|
|
187
194
|
<div className="space-y-2">
|
|
@@ -210,6 +217,15 @@ export function TimelineItem({
|
|
|
210
217
|
</div>
|
|
211
218
|
)}
|
|
212
219
|
|
|
220
|
+
{/* ai.telemetry.functionId badge for streamed text */}
|
|
221
|
+
{activity.type === 'ai_model_streamed_text' && activity.aiTelemetryFunctionId && (
|
|
222
|
+
<div className="mb-1">
|
|
223
|
+
<Badge variant="code" className="text-xs">
|
|
224
|
+
{activity.aiTelemetryFunctionId}
|
|
225
|
+
</Badge>
|
|
226
|
+
</div>
|
|
227
|
+
)}
|
|
228
|
+
|
|
213
229
|
{/* streamed object bubble */}
|
|
214
230
|
{activity.type === 'ai_model_streamed_object' && activity.aiStreamObjectContent && (
|
|
215
231
|
<div className="space-y-2">
|
|
@@ -244,6 +260,15 @@ export function TimelineItem({
|
|
|
244
260
|
</div>
|
|
245
261
|
)}
|
|
246
262
|
|
|
263
|
+
{/* ai.telemetry.functionId badge for streamed object */}
|
|
264
|
+
{activity.type === 'ai_model_streamed_object' && activity.aiTelemetryFunctionId && (
|
|
265
|
+
<div className="mb-1">
|
|
266
|
+
<Badge variant="code" className="text-xs">
|
|
267
|
+
{activity.aiTelemetryFunctionId}
|
|
268
|
+
</Badge>
|
|
269
|
+
</div>
|
|
270
|
+
)}
|
|
271
|
+
|
|
247
272
|
{/* context fetch url */}
|
|
248
273
|
{activity.type === 'context_fetch' && activity.toolResult && (
|
|
249
274
|
<div className="mb-1">
|
|
@@ -335,6 +360,13 @@ export function TimelineItem({
|
|
|
335
360
|
</div>
|
|
336
361
|
)}
|
|
337
362
|
|
|
363
|
+
{/* agent ID for agent generation */}
|
|
364
|
+
{activity.type === ACTIVITY_TYPES.AGENT_GENERATION && activity.subAgentId && (
|
|
365
|
+
<div className="mb-1">
|
|
366
|
+
<Badge variant="code">{activity.subAgentId}</Badge>
|
|
367
|
+
</div>
|
|
368
|
+
)}
|
|
369
|
+
|
|
338
370
|
{/* ai.telemetry.functionId badge for ai.toolCall spans that aren't delegate or transfers */}
|
|
339
371
|
{activity.type === ACTIVITY_TYPES.TOOL_CALL &&
|
|
340
372
|
activity.aiTelemetryFunctionId &&
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=1360,exports.ids=[1360],exports.modules={29160:(a,b,c)=>{c.r(b),c.d(b,{default:()=>h,dynamic:()=>g});var d=c(72669),e=c(45907),f=c(54637);let g="force-dynamic";async function h({children:a,params:b}){let{tenantId:c,projectId:g}=await b;try{await (0,f.Sw)(c,g)}catch(a){return(0,d.jsx)(e.default,{error:a,context:"project"})}return(0,d.jsx)(d.Fragment,{children:a})}},39878:(a,b,c)=>{c.d(b,{$:()=>i});var d=c(59111),e=c(2856),f=c(80974),g=c(42723),h=c(67466);function i(a){return(0,d.jsxs)("div",{"data-slot":"json-editor",className:`space-y-3 relative overflow-hidden p-1 ${a.className||""}`,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 absolute top-3 right-3 z-10",children:[!a.value?.trim()&&(0,d.jsx)(e.$,{type:"button",onClick:()=>{let b=(0,f.Qj)();a.onChange(b)},variant:"outline",size:"sm",className:"h-6 px-2 text-xs rounded-sm",children:"Template"}),(0,d.jsx)(e.$,{type:"button",onClick:()=>{let b=a.value;if(b?.trim()){let c=(0,g.IB)(b);a.onChange(c)}},variant:"outline",size:"sm",className:"h-6 px-2 text-xs rounded-sm",disabled:!a.value?.trim(),children:"Format"})]}),(0,d.jsx)(h.i,{value:a.value||"",onChange:a.onChange,placeholder:a.placeholder,disabled:a.disabled,readOnly:a.readOnly})]})}},40029:(a,b,c)=>{c.d(b,{EN:()=>i,Z3:()=>g,df:()=>j,nD:()=>k,sO:()=>h});var d=c(29991);c(58415);var e=c(8703),f=c(45796);async function g(a,b){(0,f.M2)(a),(0,f.nt)(b);let c=await (0,e.J)(`tenants/${a}/projects/${b}/data-components`);return{...c,data:c.data.map(a=>({...a,props:a.props||{}}))}}async function h(a,b,c){(0,f.M2)(a),(0,f.nt)(b);let d=await (0,e.J)(`tenants/${a}/projects/${b}/data-components/${c}`);return{...d.data,props:d.data.props||{}}}async function i(a,b,c){(0,f.M2)(a),(0,f.nt)(b);let d=await (0,e.J)(`tenants/${a}/projects/${b}/data-components`,{method:"POST",body:JSON.stringify(c)});return{...d.data,props:d.data.props||{}}}async function j(a,b,c){(0,f.M2)(a),(0,f.nt)(b);let d=await (0,e.J)(`tenants/${a}/projects/${b}/data-components/${c.id}`,{method:"PUT",body:JSON.stringify(c)});return{...d.data,props:d.data.props||{}}}async function k(a,b,c){(0,f.M2)(a),(0,f.nt)(b),await (0,e.J)(`tenants/${a}/projects/${b}/data-components/${c}`,{method:"DELETE"})}(0,c(33451).D)([g,h,i,j,k]),(0,d.A)(g,"60821fe6ad711e50d78952f12d1a16a2b1f16a3ecf",null),(0,d.A)(h,"704a90b13f7286a18aa7037ffcf500d273e42f6055",null),(0,d.A)(i,"702736560bbcd10c5253145f569467bd2ea5f34502",null),(0,d.A)(j,"70950501e7f27ad5b7361109d28a574d205c8edfc2",null),(0,d.A)(k,"7034c28fea6a81d59caf6ab39467614377394207e5",null)},54257:(a,b,c)=>{c.d(b,{s:()=>j});var d=c(59111),e=c(92707),f=c(14450),g=c(18061),h=c(57904);let{AlertCircle:i}=e;function j({code:a,props:b}){let c=(0,f.useMemo)(()=>((a,b)=>{let c=a.match(/(?:export\s+(?:default\s+)?)?(?:function\s+(\w+)|const\s+(\w+)\s*=\s*(?:\(.*\)\s*=>|\(\)))/),d=c?.[1]||c?.[2]||"App";return`
|
|
2
|
-
${a}
|
|
3
|
-
export default function App() {
|
|
4
|
-
const props = ${JSON.stringify(b)};
|
|
5
|
-
return <${d} {...props} />;
|
|
6
|
-
}`})(a,b),[a,b]),j=(0,f.useMemo)(()=>({props:b,import:{"lucide-react":e}}),[b]),{element:k,error:l}=(0,g.CL)({code:c,scope:j});return l?(0,d.jsxs)(h.Fc,{variant:"destructive",children:[(0,d.jsx)(i,{className:"h-4 w-4"}),(0,d.jsxs)(h.TN,{className:"font-mono text-xs",children:["Error rendering component: ",l]})]}):(0,d.jsx)("div",{children:k})}},56008:(a,b,c)=>{c.d(b,{Fs:()=>j,Hn:()=>h,Qs:()=>i,bO:()=>k});var d=c(29991);c(58415);var e=c(83248),f=c(40029),g=c(36608);async function h(a,b){try{let c=await (0,f.Z3)(a,b);return{success:!0,data:c.data}}catch(a){if(a instanceof g.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function i(a,b,c){try{let d=await (0,f.EN)(a,b,c);return(0,e.revalidatePath)(`/${a}/projects/${b}/components`),{success:!0,data:d}}catch(a){if(a instanceof g.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function j(a,b,c){try{let d=await (0,f.df)(a,b,c);return(0,e.revalidatePath)(`/${a}/projects/${b}/components`),(0,e.revalidatePath)(`/${a}/projects/${b}/components/${c.id}`),{success:!0,data:d}}catch(a){if(a instanceof g.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function k(a,b,c){try{return await (0,f.nD)(a,b,c),(0,e.revalidatePath)(`/${a}/projects/${b}/components`),(0,e.revalidatePath)(`/${a}/projects/${b}/components/${c}`),{success:!0}}catch(a){if(a instanceof g.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}(0,c(33451).D)([h,i,j,k]),(0,d.A)(h,"60f24b9882296a041082119f969bb70df9925f365e",null),(0,d.A)(i,"707f866da8fa6398d0c781be9322db9b752d336d2b",null),(0,d.A)(j,"701516ccc8bc0caec4e4f266ced7ee0417e08d5af9",null),(0,d.A)(k,"7012fee48cc02670f426a7890cbe04fc914cc7e8be",null)},56019:(a,b,c)=>{c.d(b,{S:()=>g});var d=c(59111),e=c(71771),f=c(39878);function g({control:a,name:b,label:c="JSON Schema",placeholder:g,disabled:h,description:i,readOnly:j,isRequired:k=!1}){return(0,d.jsx)(e.u,{control:a,name:b,label:c,description:i,isRequired:k,children:a=>(0,d.jsx)(f.$,{placeholder:g,...a,onChange:a.onChange,readOnly:j,disabled:h})})}},56546:(a,b,c)=>{c.d(b,{DataComponentForm:()=>T});var d=c(59111),e=c(6614),f=c(485),g=c(75823),h=c(68156),i=c(17130),j=c(16426),k=c(56019),l=c(2856),m=c(60848),n=c(93622),o=c(35283),p=c(90147);let q=(0,p.createServerReference)("701516ccc8bc0caec4e4f266ced7ee0417e08d5af9",p.callServer,void 0,p.findSourceMapURL,"updateDataComponentAction"),r=(0,p.createServerReference)("707f866da8fa6398d0c781be9322db9b752d336d2b",p.callServer,void 0,p.findSourceMapURL,"createDataComponentAction");var s=c(42723),t=c(53710),u=c(89565),v=c(27218),w=c(3905),x=c(14450),y=c(58616),z=c(85660),A=c(51023),B=c(75726),C=c(76469);function D(a){let{resolvedTheme:b}=(0,C.D)(),{language:c="jsx",className:e,value:f,onChange:g,placeholder:h,disabled:i,readOnly:j,...k}=a,l=[(0,z.Q2)({jsx:"jsx"===c||"tsx"===c,typescript:"typescript"===c||"tsx"===c})];return(0,d.jsx)(B.Ay,{...k,value:f||"",onChange:a=>g(a),extensions:l,theme:"dark"===b?A.nQ:A.Bs,placeholder:h||"Enter code...",editable:!i&&!j,basicSetup:{lineNumbers:!1,foldGutter:!0,dropCursor:!1,allowMultipleSelections:!1,bracketMatching:!0,closeBrackets:!0,autocompletion:!0},"data-disabled":i?"":void 0,"data-read-only":j?"":void 0,className:(0,s.cn)("h-full [&>.cm-editor]:max-h-[inherit] [&_.cm-gutters]:!bg-transparent [&>.cm-editor]:!bg-transparent dark:[&>.cm-editor]:!bg-input/30 [&>.cm-editor]:!outline-none [&>.cm-editor]:rounded-[7px] [&>.cm-editor]:px-3 [&>.cm-editor]:py-2 leading-2 text-xs font-mono rounded-md border border-input shadow-xs transition-[color,box-shadow] data-disabled:cursor-not-allowed data-disabled:opacity-50 data-disabled:bg-muted data-invalid:border-destructive has-[.cm-focused]:border-ring has-[.cm-focused]:ring-ring/50 has-[.cm-focused]:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e)})}var E=c(67466),F=c(71534),G=c(14875);let H=G.bL,I=x.forwardRef(({className:a,...b},c)=>(0,d.jsx)(G.B8,{ref:c,className:(0,s.cn)("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",a),...b}));I.displayName=G.B8.displayName;let J=x.forwardRef(({className:a,...b},c)=>(0,d.jsx)(G.l9,{ref:c,className:(0,s.cn)("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",a),...b}));J.displayName=G.l9.displayName;let K=x.forwardRef(({className:a,...b},c)=>(0,d.jsx)(G.UC,{ref:c,className:(0,s.cn)("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",a),...b}));K.displayName=G.UC.displayName;let L=(0,p.createServerReference)("70950501e7f27ad5b7361109d28a574d205c8edfc2",p.callServer,void 0,p.findSourceMapURL,"updateDataComponent");var M=c(54257);function N({tenantId:a,projectId:b,dataComponentId:c,existingPreview:e,onPreviewChanged:f}){let[g,i]=(0,x.useState)(e||null),[j,k]=(0,x.useState)(!1),[m,n]=(0,x.useState)(!1),[o,p]=(0,x.useState)(""),[q,r]=(0,x.useState)(!!e),[s,z]=(0,x.useState)(!!e),A=async()=>{k(!0),i(null),p(""),r(!1),z(!1);try{let d=await fetch(`/api/data-components/${c}/generate-preview`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tenantId:a,projectId:b})});if(!d.ok)throw Error("Failed to generate preview");if(!d.body)throw Error("No response body");let e=d.body.getReader(),g=new TextDecoder,j="",k=null;for(;;){let{done:a,value:b}=await e.read();if(a)break;let c=g.decode(b,{stream:!0}),d=(j+=c).split("\n");for(let a of(j=d.pop()||"",d))if(a.trim())try{let b=JSON.parse(a);k=b,b.code&&p(b.code)}catch(b){console.warn("Failed to parse line:",a,b)}}if(k)i(k),r(!0),f?.(k),h.oR.success("Preview generated successfully");else throw Error("No valid preview generated")}catch(a){console.error("Failed to generate preview:",a),h.oR.error("Failed to generate preview"),r(!0)}finally{k(!1)}},B=async()=>{n(!0);try{await L(a,b,{id:c,preview:null}),i(null),z(!1),f?.(null),h.oR.success("Preview deleted")}catch(a){console.error("Error deleting preview:",a),h.oR.error("Failed to delete preview")}finally{n(!1)}},C=null!==g&&(g.code?.trim().length??0)>0,G=(0,x.useMemo)(()=>g?.data?JSON.stringify(g.data,null,2):"{}",[g?.data]),N=(0,x.useMemo)(()=>g?.code||"",[g?.code]),O=(0,x.useMemo)(()=>g?.data||{},[g?.data]),P=(0,x.useCallback)(a=>{if(g)try{let b=JSON.parse(a),c={...g,data:b};i(c),f?.(c)}catch{}},[g,f]);return(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-lg font-semibold",children:"Component Preview"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Generate a React/Tailwind component based on your schema"})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[!C&&(0,d.jsx)(l.$,{onClick:A,disabled:j,className:"gap-2",children:j?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(t.A,{className:"h-4 w-4 animate-spin"}),"Generating..."]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(u.A,{className:"h-4 w-4"}),"Generate"]})}),C&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(l.$,{variant:"outline",onClick:A,disabled:m||j,className:"gap-2",children:j?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(t.A,{className:"h-4 w-4 animate-spin"}),"Regenerating..."]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(v.A,{className:"h-4 w-4"}),"Regenerate"]})}),s&&(0,d.jsx)(l.$,{variant:"destructive",onClick:B,disabled:m||j,size:"icon",title:"Delete preview",children:m?(0,d.jsx)(t.A,{className:"h-4 w-4 animate-spin"}):(0,d.jsx)(w.A,{className:"h-4 w-4"})})]})]})]}),j&&o&&(0,d.jsx)(y.jH,{isAnimating:!0,className:"[&_[data-code-block-header=true]]:hidden [&_pre]:bg-muted/40!",children:`\`\`\`jsx
|
|
7
|
-
${o}\`\`\``}),j&&!o&&(0,d.jsx)(F.Zp,{className:"p-6",children:(0,d.jsxs)("div",{className:"flex flex-col items-center justify-center space-y-4",children:[(0,d.jsx)(t.A,{className:"h-8 w-8 animate-spin text-primary"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Generating component preview..."})]})}),C&&!j&&q&&g&&(0,d.jsxs)(H,{defaultValue:"preview",className:"w-full",children:[(0,d.jsxs)(I,{children:[(0,d.jsx)(J,{value:"preview",children:"Preview"}),(0,d.jsx)(J,{value:"code",children:"Code"}),(0,d.jsx)(J,{value:"data",children:"Sample Data"})]}),(0,d.jsx)(K,{value:"preview",children:(0,d.jsx)(F.Zp,{className:"p-6",children:(0,d.jsx)(M.s,{code:N,props:O})})}),(0,d.jsx)(K,{value:"code",children:(0,d.jsx)(D,{value:N,onChange:a=>{if(!g)return;let b={...g,code:a};i(b),f?.(b)},language:"jsx"})}),(0,d.jsx)(K,{value:"data",children:(0,d.jsx)(E.i,{value:G,onChange:P})})]})]})}let O={id:"",name:"",description:"",props:""};var P=c(34576),Q=c(80974),R=c(62503);let S=P.object({id:R.f,name:P.string().min(1,"Name is required."),description:P.string().min(1,"Description is required."),props:P.string().min(1,"Props schema is required.").transform((a,b)=>{try{let c=JSON.parse(a),d=(0,Q._O)(a);if(!d.isValid){let a=d.errors[0]?.message||"Invalid JSON schema";return b.addIssue({code:P.ZodIssueCode.custom,message:a}),P.NEVER}return c}catch(a){return b.addIssue({code:P.ZodIssueCode.custom,message:(0,Q.SR)(a)}),P.NEVER}}).optional(),preview:P.object({code:P.string(),data:P.record(P.string(),P.unknown())}).nullable().optional()});function T({tenantId:a,projectId:b,id:c,initialData:p}){let t=(0,g.mN)({resolver:(0,e.u)(S),defaultValues:(a=>{if(!a)return O;let b={...a};return b.props&&(b.props=(0,s.S_)(b.props)),b})(p)}),{isSubmitting:u}=t.formState,v=(0,f.useRouter)();(0,o.S)({form:t,nameField:"name",idField:"id",isEditing:!!c});let w=async d=>{try{let e={...d};if(c){let c=await q(a,b,e);if(!c.success)return void h.oR.error(c.error||"Failed to update component");h.oR.success("Component updated")}else{let c=await r(a,b,e);if(!c.success)return void h.oR.error(c.error||"Failed to create component");h.oR.success("Component created"),v.push(`/${a}/projects/${b}/components`)}}catch(b){console.error("Error submitting component:",b);let a=b instanceof Error?b.message:"An unexpected error occurred";h.oR.error(a)}};return(0,d.jsx)(n.lV,{...t,children:(0,d.jsxs)("form",{onSubmit:t.handleSubmit(w),className:"space-y-8",children:[(0,d.jsx)(i.a,{control:t.control,name:"name",label:"Name",placeholder:"ListOrders",description:(0,d.jsxs)(d.Fragment,{children:["This name is used to identify the component in chat widget integration."," ",(0,d.jsx)(m.G,{href:"https://docs.inkeep.com/typescript-sdk/structured-outputs/data-components#frontend-integration",target:"_blank",children:"Learn more"})]}),isRequired:!0}),(0,d.jsx)(i.a,{control:t.control,name:"id",label:"Id",placeholder:"my-data-component",disabled:!!c,description:c?"":"Choose a unique identifier for this component. Using an existing id will replace that component.",isRequired:!0}),(0,d.jsx)(j.K,{control:t.control,name:"description",label:"Description",placeholder:"Display a list of user orders with interactive options",className:"min-h-[80px]",isRequired:!0}),(0,d.jsx)(k.S,{control:t.control,name:"props",label:"Props (JSON schema)",placeholder:"Enter a valid JSON Schema...",isRequired:!0}),c&&(0,d.jsx)(N,{tenantId:a,projectId:b,dataComponentId:c,existingPreview:p?.preview||null,onPreviewChanged:a=>{t.setValue("preview",a)}}),(0,d.jsx)(l.$,{type:"submit",disabled:u,children:"Save"})]})})}},57904:(a,b,c)=>{c.d(b,{Fc:()=>h,TN:()=>j,XL:()=>i});var d=c(59111),e=c(53433),f=c(42723);let g=(0,e.F)("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90",warning:"text-amber-700 bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-amber-700/90 *:data-[slot=alert-description]:dark:text-amber-300/90 dark:text-amber-300 bg-amber-50 border-amber-200 dark:bg-amber-950/40 dark:border-amber-700"}},defaultVariants:{variant:"default"}});function h({className:a,variant:b,...c}){return(0,d.jsx)("div",{"data-slot":"alert",role:"alert",className:(0,f.cn)(g({variant:b}),a),...c})}function i({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"alert-title",className:(0,f.cn)("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",a),...b})}function j({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"alert-description",className:(0,f.cn)("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",a),...b})}},62503:(a,b,c)=>{c.d(b,{f:()=>d});let d=c(34576).string().min(1,"Id is required.").max(64,"Id must be less than 64 characters.").regex(/^[a-zA-Z0-9_-]+$/,"Id must contain only alphanumeric characters, underscores, and dashes. No spaces allowed.")},71534:(a,b,c)=>{c.d(b,{BT:()=>i,Wu:()=>j,ZB:()=>h,Zp:()=>f,aR:()=>g,wL:()=>k});var d=c(59111),e=c(42723);function f({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card",className:(0,e.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",a),...b})}function g({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-header",className:(0,e.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",a),...b})}function h({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-title",className:(0,e.cn)("leading-none font-semibold",a),...b})}function i({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-description",className:(0,e.cn)("text-muted-foreground text-sm",a),...b})}function j({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-content",className:(0,e.cn)("px-6",a),...b})}function k({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-footer",className:(0,e.cn)("flex items-center px-6 [.border-t]:pt-6",a),...b})}},80974:(a,b,c)=>{c.d(b,{Qj:()=>k,SR:()=>l,_O:()=>j});var d=c(7352),e=c(43381);let f=d.ZU.Object({type:d.ZU.Union([d.ZU.Literal("string"),d.ZU.Literal("number"),d.ZU.Literal("integer"),d.ZU.Literal("boolean"),d.ZU.Literal("array"),d.ZU.Literal("object"),d.ZU.Literal("null")]),description:d.ZU.String({minLength:1}),format:d.ZU.Optional(d.ZU.String()),pattern:d.ZU.Optional(d.ZU.String()),minimum:d.ZU.Optional(d.ZU.Number()),maximum:d.ZU.Optional(d.ZU.Number()),minLength:d.ZU.Optional(d.ZU.Number()),maxLength:d.ZU.Optional(d.ZU.Number()),items:d.ZU.Optional(d.ZU.Any()),properties:d.ZU.Optional(d.ZU.Any()),enum:d.ZU.Optional(d.ZU.Array(d.ZU.Any())),const:d.ZU.Optional(d.ZU.Any()),default:d.ZU.Optional(d.ZU.Any())}),g=d.ZU.Object({type:d.ZU.Literal("object"),properties:d.ZU.Record(d.ZU.String(),f),required:d.ZU.Array(d.ZU.String(),{minItems:1}),additionalProperties:d.ZU.Optional(d.ZU.Boolean()),description:d.ZU.Optional(d.ZU.String())}),h=e.gv.Compile(f),i=e.gv.Compile(g);function j(a){let b=[],{parsed:c,errors:d}=function(a){let b=[],c=null;if(!a?.trim())return{parsed:null,errors:b};try{c=JSON.parse(a)}catch(a){b.push({path:"root",message:a instanceof Error?a.message:"Invalid JSON syntax",type:"syntax"})}return{parsed:c,errors:b}}(a);if(d.length>0)return{isValid:!1,errors:d,warnings:b};if(!c)return{isValid:!0,errors:[],warnings:["Empty schema provided"]};let e=[...function(a){let b=[];return a&&"object"==typeof a?!i.Check(a)&&(a.type&&"object"===a.type||b.push({path:"type",message:'Schema must have type: "object" for LLM compatibility',type:"llm_requirement"}),a.properties&&"object"==typeof a.properties||b.push({path:"properties",message:'Schema must have a "properties" object',type:"schema"}),a.required&&Array.isArray(a.required)||b.push({path:"required",message:'Schema must have a "required" array (can be empty)',type:"llm_requirement"}),a.properties&&"object"==typeof a.properties&&Object.entries(a.properties).forEach(([a,c])=>{h.Check(c)||[...h.Errors(c)].forEach(c=>{let d=c.message;"/description"===c.path?d='Each property must have a "description" for LLM compatibility':"/type"===c.path&&(d='Each property must have a valid "type"'),b.push({path:`properties.${a}${c.path}`,message:d,type:"/description"===c.path?"llm_requirement":"schema"})})})):b.push({path:"root",message:"Schema must be an object",type:"schema"}),b}(c),...function(a){let b=[];return a&&"object"==typeof a&&(a.required&&Array.isArray(a.required)&&a.properties&&a.required.forEach(c=>{a.properties[c]||b.push({path:"required",message:`Required property "${c}" must exist in properties`,type:"schema"})}),a.properties&&"object"==typeof a.properties&&Object.entries(a.properties).forEach(([a,c])=>{c.description&&"string"==typeof c.description&&0!==c.description.trim().length||b.push({path:`properties.${a}.description`,message:"Each property must have a non-empty description for LLM compatibility",type:"llm_requirement"})})),b}(c)];return{isValid:0===e.length,errors:e,warnings:b}}function k(){return JSON.stringify({type:"object",properties:{example_property:{type:"string",description:"Description of what this property represents"}},required:["example_property"]},null,2)}function l(a){if(a instanceof SyntaxError){let b=a.message.toLowerCase();return b.includes("unexpected end of json input")?"Incomplete JSON - missing closing brackets or quotes":b.includes("unexpected token")?"Invalid character in JSON - check for missing commas, quotes, or brackets":b.includes("expected property name")||b.includes("expected ':' after property name")?"Property names must be in double quotes":b.includes("duplicate keys")?"Duplicate property names are not allowed":"Invalid JSON syntax - check structure and formatting"}return"Unable to parse JSON"}},92107:(a,b,c)=>{c.r(b),c.d(b,{default:()=>j});var d=c(72669),e=c(17932),f=c(96737),g=c(39885),h=c(3687),i=c(43461);function j(){return(0,d.jsx)(e.H,{breadcrumbs:[{label:"Components"}],children:(0,d.jsxs)(f.D,{children:[(0,d.jsx)(g.zY,{title:"Components",description:i.yr}),(0,d.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-3 md:gap-4",children:Array.from({length:6}).map((a,b)=>(0,d.jsx)(h.E,{className:"h-36 w-full rounded-lg"},`loading-skeleton-${b}`))})]})})}},98261:(a,b,c)=>{c.d(b,{DataComponentForm:()=>d});let d=(0,c(60241).registerClientReference)(function(){throw Error("Attempted to call DataComponentForm() from the server but DataComponentForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/components/data-components/form/data-component-form.tsx","DataComponentForm")}};
|