@inkeep/agents-manage-ui 0.24.0 → 0.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/agents-manage-ui/.next/BUILD_ID +1 -1
- package/.next/standalone/agents-manage-ui/.next/app-build-manifest.json +77 -77
- package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +2 -2
- package/.next/standalone/agents-manage-ui/.next/build-manifest.json +2 -2
- package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +8 -8
- package/.next/standalone/agents-manage-ui/.next/server/app/api/data-components/[dataComponentId]/generate-preview/route_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app-paths-manifest.json +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/1524.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2005.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2584.js +14 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3547.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5109.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/526.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/{5642.js → 5478.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5732.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7733.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7848.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/{7977.js → 7953.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7988.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8038.js +196 -0
- package/.next/standalone/agents-manage-ui/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/agents-manage-ui/.next/server/pages/404.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/pages/500.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/20837-f8b0d86a8303f4c3.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/24994-975eb584d5b2438a.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{55851-6ebca09d3e107386.js → 30721-9fe13c117a9408a9.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/39438-3324f04d95405812.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/47259-95ea98b229d39774.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{4875-306209ac5547e001.js → 4875-6cc31870e1b4f78e.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/48949-692c5f8265558813.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/74206-85aa3065dce9dc8a.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{39523-c0cadec114d31336.js → 76125-82ebb14b304cfe0b.js} +4 -4
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{93231-f6a13c3278793654.js → 78225-17ad3e82fb563fc9.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/94167-1d0eb19e0f384370.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/{page-f68f3c960e8db83f.js → page-fdbebdb8c3371c73.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/{page-2a7d8de41c87958d.js → page-bc76e9554c5d2341.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-4c5fb257a6233694.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-5158b01426eb0f32.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/{page-9d7e4ff201cf3345.js → page-75c72891b2f2923c.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/{page-8f72a85f26135a46.js → page-4cae1de757715499.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/{page-9f13fb47f54d0757.js → page-528fffe4fc232ff4.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/{page-59df08cb46c7e592.js → page-2551beb91f3aa6e6.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/{page-a4738db9057ca109.js → page-05a78b9d37131b1a.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/{page-87415ca1bf6d1477.js → page-d238c502f632f4e0.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/{page-91ba0f87b3d09f30.js → page-3655f333086c211d.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-20579bf7a4fb87d3.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-f109a80577d83568.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/{page-609abc0d3feeef77.js → page-9eafe11017316482.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/{page-cbf0830dece4f6c4.js → page-b52db9884e7955e1.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-5b25bf3f3967c268.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-d970759f74621cfe.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/{page-14b54cd8fc861b32.js → page-57be5eb54ad97e11.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/{page-f64f1dc069a6d95b.js → page-11cfe0365b56c6b2.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-bb2b8d64b23cf563.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-cf6f4f3394d4813d.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-d83e519e9bcc6269.js +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/components/agent/agent.tsx +3 -3
- package/src/components/agent/playground/chat-widget.tsx +2 -2
- package/src/components/agent/playground/playground.tsx +2 -2
- package/src/components/mcp-servers/form/mcp-server-form.tsx +3 -3
- package/src/components/mcp-servers/selection/mcp-server-selection.tsx +3 -3
- package/src/features/agent/domain/deserialize.ts +2 -2
- package/src/features/agent/domain/serialize.ts +3 -3
- package/src/hooks/use-auto-prefill-id-zustand.ts +2 -2
- package/src/hooks/use-auto-prefill-id.ts +1 -1
- package/src/lib/utils/generate-id.ts +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/1525.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/244.js +0 -14
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2851.js +0 -196
- package/.next/standalone/agents-manage-ui/.next/server/chunks/728.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9003.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/20837-041beb6a2f540583.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/27396-d1c1a1a24f7b06ca.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/28186-1f8894e8a9f58785.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/47216-52f3cc04486d36c9.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/57786-36b73daa228df68d.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/83858-2bfa9973ce3ce326.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/94167-3fd33f8ffc652db2.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-62cab20aa4353d45.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-81d720721aab1586.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-bdf1d5105b7e878a.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-8d2ec09f9385c4a6.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-d5ff2cbd01568451.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-e410d10ef6ae24de.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-39b4c79dd6ee832e.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-d48f9593e232f3e1.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-25a2e915d1b1d0ba.js +0 -1
- package/src/lib/utils/id-utils.ts +0 -4
- /package/.next/standalone/agents-manage-ui/.next/static/{pSmoxTjEZijMAqPrIfiP9 → TwV2TGtXdOiFkslre7D-k}/_buildManifest.js +0 -0
- /package/.next/standalone/agents-manage-ui/.next/static/{pSmoxTjEZijMAqPrIfiP9 → TwV2TGtXdOiFkslre7D-k}/_ssgManifest.js +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { zodResolver } from '@hookform/resolvers/zod';
|
|
4
|
-
import { generateId } from '@/lib/utils/id-utils';
|
|
5
4
|
import { detectAuthenticationRequired, MCPTransportType } from '@inkeep/agents-core/client-exports';
|
|
5
|
+
import { nanoid } from 'nanoid';
|
|
6
6
|
import { useRouter } from 'next/navigation';
|
|
7
7
|
import { useForm } from 'react-hook-form';
|
|
8
8
|
import { toast } from 'sonner';
|
|
@@ -82,7 +82,7 @@ export function MCPServerForm({
|
|
|
82
82
|
try {
|
|
83
83
|
// handle oauth login
|
|
84
84
|
if (data.credentialReferenceId === 'oauth') {
|
|
85
|
-
const toolId =
|
|
85
|
+
const toolId = nanoid();
|
|
86
86
|
|
|
87
87
|
const isAuthenticationRequired = await detectAuthenticationRequired({
|
|
88
88
|
serverUrl: data.config.mcp.server.url,
|
|
@@ -146,7 +146,7 @@ export function MCPServerForm({
|
|
|
146
146
|
} else {
|
|
147
147
|
const newTool = await createMCPTool(tenantId, projectId, {
|
|
148
148
|
...transformedData,
|
|
149
|
-
id:
|
|
149
|
+
id: nanoid(),
|
|
150
150
|
});
|
|
151
151
|
toast.success('MCP server created successfully');
|
|
152
152
|
router.push(`/${tenantId}/projects/${projectId}/mcp-servers/${newTool.id}`);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { nanoid } from 'nanoid';
|
|
4
4
|
import { useRouter } from 'next/navigation';
|
|
5
5
|
import { useState } from 'react';
|
|
6
6
|
import { toast } from 'sonner';
|
|
@@ -39,7 +39,7 @@ export function MCPServerSelection({ credentials, tenantId, projectId }: MCPServ
|
|
|
39
39
|
try {
|
|
40
40
|
// Transform prebuilt server data to MCPToolFormData format
|
|
41
41
|
const mcpToolData = {
|
|
42
|
-
id:
|
|
42
|
+
id: nanoid(),
|
|
43
43
|
name: server.name,
|
|
44
44
|
config: {
|
|
45
45
|
type: 'mcp' as const,
|
|
@@ -62,7 +62,7 @@ export function MCPServerSelection({ credentials, tenantId, projectId }: MCPServ
|
|
|
62
62
|
toast.success(`${server.name} MCP server created successfully`);
|
|
63
63
|
router.push(`/${tenantId}/projects/${projectId}/mcp-servers/${newTool.id}`);
|
|
64
64
|
} else {
|
|
65
|
-
handleOAuthLogin({
|
|
65
|
+
handleOAuthLogin({toolId: newTool.id, mcpServerUrl: server.url, toolName: server.name});
|
|
66
66
|
}
|
|
67
67
|
} catch (error) {
|
|
68
68
|
console.error('Failed to create prebuilt MCP server:', error);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { generateId } from '@/lib/utils/id-utils';
|
|
2
1
|
import type { Edge, Node } from '@xyflow/react';
|
|
3
2
|
import * as dagre from 'dagre';
|
|
3
|
+
import { nanoid } from 'nanoid';
|
|
4
4
|
import { EdgeType } from '@/components/agent/configuration/edge-types';
|
|
5
5
|
import {
|
|
6
6
|
agentNodeSourceHandleId,
|
|
@@ -205,7 +205,7 @@ export function deserializeAgentData(data: FullAgentDefinition): TransformResult
|
|
|
205
205
|
if ('canUse' in agent && agent.canUse && agent.canUse.length > 0) {
|
|
206
206
|
for (const canUseItem of agent.canUse) {
|
|
207
207
|
const toolId = canUseItem.toolId;
|
|
208
|
-
const toolNodeId =
|
|
208
|
+
const toolNodeId = nanoid();
|
|
209
209
|
const relationshipId = canUseItem.agentToolRelationId;
|
|
210
210
|
|
|
211
211
|
const tool = data.tools?.[toolId] || data.functionTools?.[toolId];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { generateId } from '@/lib/utils/id-utils';
|
|
2
1
|
import type { Edge, Node } from '@xyflow/react';
|
|
2
|
+
import { nanoid } from 'nanoid';
|
|
3
3
|
import type { AgentToolConfigLookup } from '@/components/agent/agent';
|
|
4
4
|
import type { AgentMetadata } from '@/components/agent/configuration/agent-types';
|
|
5
5
|
import type { A2AEdgeData } from '@/components/agent/configuration/edge-types';
|
|
@@ -378,7 +378,7 @@ export function serializeAgentData(
|
|
|
378
378
|
}
|
|
379
379
|
|
|
380
380
|
const result: FullAgentDefinition = {
|
|
381
|
-
id: metadata?.id ||
|
|
381
|
+
id: metadata?.id || nanoid(),
|
|
382
382
|
name: metadata?.name || 'Untitled Agent',
|
|
383
383
|
description: metadata?.description || undefined,
|
|
384
384
|
defaultSubAgentId,
|
|
@@ -432,7 +432,7 @@ export function serializeAgentData(
|
|
|
432
432
|
|
|
433
433
|
// Add contextConfig if there's meaningful data
|
|
434
434
|
if (hasContextConfig && metadata?.contextConfig) {
|
|
435
|
-
const contextConfigId = metadata.contextConfig.id ||
|
|
435
|
+
const contextConfigId = metadata.contextConfig.id || nanoid();
|
|
436
436
|
(result as any).contextConfigId = contextConfigId;
|
|
437
437
|
(result as any).contextConfig = {
|
|
438
438
|
id: contextConfigId,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useEffect, useRef } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { generateId } from '@/lib/utils/generate-id';
|
|
3
3
|
|
|
4
4
|
interface UseAutoPrefillIdZustandOptions {
|
|
5
5
|
nameValue: string | undefined;
|
|
@@ -56,7 +56,7 @@ export function useAutoPrefillIdZustand({
|
|
|
56
56
|
// Auto-prefill ID based on name field
|
|
57
57
|
useEffect(() => {
|
|
58
58
|
if (!isEditing && nameValue && !hasManuallyEditedId.current) {
|
|
59
|
-
const generatedId =
|
|
59
|
+
const generatedId = generateId(nameValue);
|
|
60
60
|
|
|
61
61
|
// Only update if the generated ID is different from current ID
|
|
62
62
|
if (generatedId !== currentIdValue.current) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useEffect } from 'react';
|
|
2
2
|
import { type FieldValues, type UseFormReturn, useWatch } from 'react-hook-form';
|
|
3
|
-
import { generateId } from '@/lib/utils/id
|
|
3
|
+
import { generateId } from '@/lib/utils/generate-id';
|
|
4
4
|
|
|
5
5
|
interface UseAutoPrefillIdOptions<T extends FieldValues> {
|
|
6
6
|
form: UseFormReturn<T>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=1525,exports.ids=[1525],exports.modules={27159:(a,b,c)=>{c.d(b,{bq:()=>l,eb:()=>n,gC:()=>m,l6:()=>j,yv:()=>k});var d=c(59111),e=c(22836),f=c(67048),g=c(39108),h=c(25773),i=c(42723);function j({...a}){return(0,d.jsx)(e.bL,{"data-slot":"select",...a})}function k({...a}){return(0,d.jsx)(e.WT,{"data-slot":"select-value",...a})}function l({className:a,size:b="default",children:c,...g}){return(0,d.jsxs)(e.l9,{"data-slot":"select-trigger","data-size":b,className:(0,i.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 font-normal normal-case",a),...g,children:[c,(0,d.jsx)(e.In,{asChild:!0,children:(0,d.jsx)(f.A,{className:"size-4 opacity-50"})})]})}function m({className:a,children:b,position:c="popper",...f}){return(0,d.jsx)(e.ZL,{children:(0,d.jsxs)(e.UC,{"data-slot":"select-content",className:(0,i.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto scrollbar-thin scrollbar-thumb-muted-foreground/30 dark:scrollbar-thumb-muted-foreground/50 scrollbar-track-transparent rounded-md border shadow-md","popper"===c&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:c,...f,children:[(0,d.jsx)(o,{}),(0,d.jsx)(e.LM,{className:(0,i.cn)("p-1","popper"===c&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:b}),(0,d.jsx)(p,{})]})})}function n({className:a,children:b,...c}){return(0,d.jsxs)(e.q7,{"data-slot":"select-item",className:(0,i.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",a),...c,children:[(0,d.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,d.jsx)(e.VF,{children:(0,d.jsx)(g.A,{className:"size-4"})})}),(0,d.jsx)(e.p4,{children:b})]})}function o({className:a,...b}){return(0,d.jsx)(e.PP,{"data-slot":"select-scroll-up-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(h.A,{className:"size-4"})})}function p({className:a,...b}){return(0,d.jsx)(e.wn,{"data-slot":"select-scroll-down-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(f.A,{className:"size-4"})})}},35406:(a,b,c)=>{c.d(b,{A3:()=>d.A3,Nv:()=>d.Nv,PC:()=>d.PC,SH:()=>d.SH,SL:()=>d.SL,U_:()=>d.U_,XQ:()=>d.XQ,YL:()=>d.YL,aR:()=>d.aR,cZ:()=>d.cZ,qf:()=>d.qf,we:()=>d.we,yR:()=>d.yR,yZ:()=>d.yZ,zD:()=>d.zD});var d=c(4558)},40367:(a,b,c)=>{c.d(b,{H:()=>p});var d=c(36532),e=c(68764),f=c(34576),g=c(35406);let h=a=>Math.floor(a/1e6),i=f.union([f.string(),f.number(),f.boolean()]),j=a=>{try{if("true"===a)return i.parse(!0);if("false"===a)return i.parse(!1);let b=(a=>/^-?\d+(\.\d+)?$/.test(a)?Number(a):a)(a);if("number"==typeof b)return i.parse(b);return i.parse(a)}catch(b){return console.warn(`Failed to parse filter value "${a}":`,b),i.parse(a)}},k=a=>parseInt(a.values?.[0]?.value??"0",10)||0,l=a=>Number(a.values?.[0]?.value??0)||0,m=(a,b)=>{let c=new Date(a);c.setHours(0,0,0,0);let d=new Date(b);d.setHours(0,0,0,0);let e=[];for(let a=new Date(c);a<=d;a.setDate(a.getDate()+1))e.push(`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")}`);return e};(0,e.Ay)(d.A,{retries:3,retryDelay:e.Ay.exponentialDelay});class n{async makeRequest(a){return(await d.A.post("/api/signoz",a,{timeout:3e4,headers:{"Content-Type":"application/json"}})).data}extractSeries(a,b){return a?.data?.result?.find(a=>a?.queryName===b)?.series??[]}async getConversationStats(a,b,c,d,e,f,i){try{let j=this.buildCombinedPayload(a,b,c,d,i),k=await this.makeRequest(j),m=this.extractSeries(k,g.XQ.TOOLS),n=this.extractSeries(k,g.XQ.TRANSFERS),o=this.extractSeries(k,g.XQ.DELEGATIONS),p=this.extractSeries(k,g.XQ.AI_CALLS),q=this.extractSeries(k,g.XQ.LAST_ACTIVITY),r=this.extractSeries(k,g.XQ.CONVERSATION_METADATA),s=this.extractSeries(k,g.XQ.SPANS_WITH_ERRORS),t=this.extractSeries(k,g.XQ.USER_MESSAGES),u=new Map;for(let a of r){let b=a.labels?.[g.SH.CONVERSATION_ID];b&&u.set(b,{tenantId:a.labels?.[g.SH.TENANT_ID]??g.PC,agentId:a.labels?.[g.SH.AGENT_ID]??g.PC,agentName:a.labels?.[g.SH.AGENT_NAME]??g.PC})}let v=new Map;for(let a of q){let b=a.labels?.[g.SH.CONVERSATION_ID];b&&v.set(b,l(a))}let w=new Map,x=new Map;for(let a of t){let b=a.labels?.[g.SH.CONVERSATION_ID],c=a.labels?.[g.SH.MESSAGE_CONTENT],d=l(a);b&&c&&(x.get(b)??x.set(b,[]).get(b))?.push({t:d,c:c})}for(let[a,b]of x){b.sort((a,b)=>a.t-b.t);let c=b[0];if(c){let b=c.c.length>100?`${c.c.slice(0,100)}...`:c.c;w.set(a,{content:b,timestamp:h(c.t)})}}let y=this.toConversationStats(m,n,o,p,u,s,w);if((c?.spanName||c?.attributes?.length)&&(y=await this.applySpanFilters(y,a,b,c,d)),f?.trim()){let a=f.toLowerCase().trim();y=y.filter(b=>b.firstUserMessage?.toLowerCase().includes(a)||b.conversationId.toLowerCase().includes(a)||b.agentId.toLowerCase().includes(a))}if(y.sort((a,b)=>((a=0,b=0)=>b-a)(v.get(a.conversationId),v.get(b.conversationId))),!e)return y;let{page:z,limit:A}=e,B=y.length,C=Math.ceil(B/A),D=(z-1)*A;return{data:y.slice(D,D+A),pagination:{page:z,limit:A,total:B,totalPages:C,hasNextPage:z<C,hasPreviousPage:z>1}}}catch(a){return console.error("getConversationStats error:",a),[]}}async getAICallsByAgent(a,b,c){try{let d=await this.makeRequest(this.buildCombinedPayload(a,b,void 0,c)),e=this.extractSeries(d,g.XQ.AI_CALLS),f=new Map;for(let a of e){let b=a.labels?.[g.SH.AGENT_ID]||g.PC,c=k(a);c&&f.set(b,(f.get(b)||0)+c)}return[...f].map(([a,b])=>({agentId:a,totalCalls:b})).sort((a,b)=>b.totalCalls-a.totalCalls)}catch(a){return console.error("getAICallsByAgent error:",a),[]}}async getAICallsBySubAgent(a,b,c,d,e){try{let f=await this.makeRequest(this.buildAgentModelBreakdownPayload(a,b,e)),h=this.extractSeries(f,"agentModelCalls"),i=new Map;for(let a of h){let b=a.labels?.[g.SH.AI_TELEMETRY_FUNCTION_ID]||g.PC,e=a.labels?.[g.SH.AGENT_ID]||g.PC,f=a.labels?.[g.SH.AI_MODEL_ID]||g.PC,h=k(a);if(!h||c&&"all"!==c&&e!==c||d&&"all"!==d&&f!==d)continue;let j=`${b}::${e}::${f}`,l=i.get(j)||{subAgentId:b,agentId:e,modelId:f,totalCalls:0};l.totalCalls+=h,i.set(j,l)}return[...i.values()].sort((a,b)=>b.totalCalls-a.totalCalls)}catch(a){return console.error("getAICallsByAgent error:",a),[]}}async getAICallsByModel(a,b,c,d){try{let e=await this.makeRequest(this.buildModelBreakdownPayload(a,b,d)),f=this.extractSeries(e,"modelCalls"),h=new Map;for(let a of f){let b=a.labels?.[g.SH.AI_MODEL_ID]||g.PC,d=a.labels?.[g.SH.AGENT_ID]||g.PC,e=k(a);e&&(c&&"all"!==c&&d!==c||h.set(b,(h.get(b)||0)+e))}return[...h].map(([a,b])=>({modelId:a,totalCalls:b})).sort((a,b)=>b.totalCalls-a.totalCalls)}catch(a){return console.error("getAICallsByModel error:",a),[]}}async getUniqueAgents(a,b,c){try{let d=await this.makeRequest(this.buildUniqueAgentsPayload(a,b,c)),e=this.extractSeries(d,"uniqueAgents").map(a=>a.labels?.[g.SH.AGENT_ID]).filter(a=>!!a&&a!==g.PC).sort();return[...new Set(e)]}catch(a){return console.error("getUniqueAgents error:",a),[]}}async getUniqueModels(a,b,c){try{let d=await this.makeRequest(this.buildUniqueModelsPayload(a,b,c)),e=this.extractSeries(d,"uniqueModels").map(a=>a.labels?.[g.SH.AI_MODEL_ID]).filter(a=>!!a&&a!==g.PC).sort();return[...new Set(e)]}catch(a){return console.error("getUniqueModels error:",a),[]}}async getConversationsPerDay(a,b,c,d){try{let e=await this.makeRequest(this.buildConversationMetadataPayload(a,b,c,d)),f=this.extractSeries(e,"conversationMetadata").length?this.extractSeries(await this.makeRequest(this.buildConversationActivityPayload(a,b,c,d)),"lastActivity"):[],g=new Map;for(let a of f){let b=h(l(a));if(!b)continue;let c=new Date(b),d=`${c.getFullYear()}-${String(c.getMonth()+1).padStart(2,"0")}-${String(c.getDate()).padStart(2,"0")}`;g.set(d,(g.get(d)||0)+1)}return m(a,b).map(a=>({date:a,count:g.get(a)||0}))}catch(c){return console.error("getConversationsPerDay error:",c),m(a,b).map(a=>({date:a,count:0}))}}async getAggregateStats(a,b,c,d,e){try{let f=await this.makeRequest(this.buildCombinedPayload(a,b,c,d,e)),h=this.extractSeries(f,"tools"),i=this.extractSeries(f,"transfers"),j=this.extractSeries(f,"delegations"),k=this.extractSeries(f,"aiCalls"),l=this.extractSeries(f,"conversationMetadata"),m=this.extractSeries(f,g.XQ.SPANS_WITH_ERRORS),n=new Map;for(let a of l){let b=a.labels?.[g.SH.CONVERSATION_ID];b&&n.set(b,{tenantId:a.labels?.[g.SH.TENANT_ID]??g.PC,agentId:a.labels?.[g.SH.AGENT_ID]??g.PC,agentName:a.labels?.[g.SH.AGENT_NAME]??g.PC})}let o=this.toConversationStats(h,i,j,k,n,m,new Map);return(c?.spanName||c?.attributes?.length)&&(o=await this.applySpanFilters(o,a,b,c,d)),{totalToolCalls:o.reduce((a,b)=>a+b.totalToolCalls,0),totalTransfers:o.reduce((a,b)=>a+b.totalTransfers,0),totalDelegations:o.reduce((a,b)=>a+b.totalDelegations,0),totalConversations:o.length,totalAICalls:o.reduce((a,b)=>a+b.totalAICalls,0)}}catch(a){return console.error("getAggregateStats error:",a),{totalToolCalls:0,totalTransfers:0,totalDelegations:0,totalConversations:0,totalAICalls:0}}}async getAvailableSpanNames(a,b,c,d){try{let e=[{key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EXISTS,value:""}];c&&"all"!==c&&e.push({key:{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}),d&&e.push({key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d});let f={start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.LIST,builderQueries:{spanNames:{dataSource:g.YL.TRACES,queryName:g.XQ.SPAN_NAMES,aggregateOperator:g.qf.NOOP,aggregateAttribute:{},filters:{op:g.we.AND,items:e},selectColumns:[{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN}],expression:g.XQ.SPAN_NAMES,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,stepInterval:g.yZ.STEP_INTERVAL,limit:g.yZ.LIMIT_1000,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],groupBy:g.yZ.EMPTY_GROUP_BY,offset:g.yZ.OFFSET}}},dataSource:g.YL.TRACES,projectId:d},h=await this.makeRequest(f),i=h?.data?.result?.find(a=>a?.queryName==="spanNames")?.list??[],j=new Set;for(let a of i){let b=a?.data?.name??a?.name;b&&j.add(b)}return[...j].sort()}catch(a){return console.error("getAvailableSpanNames error:",a),[]}}toConversationStats(a,b,c,d,e,f,h){let i=new Map,j=a=>{let b=i.get(a);if(b)return b;let c={totalToolCalls:0,toolsUsed:new Map,transfers:new Map,totalTransfers:0,delegations:new Map,totalDelegations:0,totalAICalls:0,totalErrors:0};return i.set(a,c),c};for(let b of a){let a=b.labels?.[g.SH.CONVERSATION_ID];if(!a)continue;let c=b.labels?.[g.SH.AI_TOOL_CALL_NAME];if(!c)continue;let d=k(b);if(!d)continue;let e=b.labels?.[g.SH.MCP_TOOL_DESCRIPTION]||"",f=j(a);f.totalToolCalls+=d;let h=f.toolsUsed.get(c)||{name:c,calls:0,description:e};h.calls+=d,f.toolsUsed.set(c,h)}for(let a of b){let b=a.labels?.[g.SH.CONVERSATION_ID];if(!b)continue;let c=a.labels?.[g.SH.TRANSFER_FROM_SUB_AGENT_ID],d=a.labels?.[g.SH.TRANSFER_TO_SUB_AGENT_ID],e=k(a);if(!c||!d||!e)continue;let f=j(b);f.totalTransfers+=e;let h=`${c}→${d}`,i=f.transfers.get(h)||{from:c,to:d,count:0};i.count+=e,f.transfers.set(h,i)}for(let a of c){let b=a.labels?.[g.SH.CONVERSATION_ID];if(!b)continue;let c=a.labels?.[g.SH.DELEGATION_FROM_SUB_AGENT_ID],d=a.labels?.[g.SH.DELEGATION_TO_SUB_AGENT_ID],e=k(a);if(!c||!d||!e)continue;let f=j(b);f.totalDelegations+=e;let h=`${c}→${d}`,i=f.delegations.get(h)||{from:c,to:d,count:0};i.count+=e,f.delegations.set(h,i)}for(let a of d){let b=a.labels?.[g.SH.CONVERSATION_ID];if(!b)continue;let c=k(a);c&&(j(b).totalAICalls+=c)}let l=["execution_handler.execute","agent.load_tools","context.handle_context_resolution","context.resolve","agent.generate","context-resolver.resolve_single_fetch_definition","agent_session.generate_structured_update","agent_session.process_artifact","agent_session.generate_artifact_metadata","response.format_object_response","response.format_response","ai.toolCall"];for(let a of f){let b=a.labels?.[g.SH.CONVERSATION_ID];if(!b)continue;let c=a.labels?.[g.SH.NAME]||"",d=k(a);d&&l.includes(c)&&(j(b).totalErrors+=d)}let m=[];for(let a of new Set([...i.keys(),...e.keys()])){let b=i.get(a)||j(a),c=e.get(a)||{tenantId:g.PC,agentId:g.PC,agentName:g.PC};m.push({conversationId:a,tenantId:c.tenantId,agentId:c.agentId,agentName:c.agentName||"",totalToolCalls:b.totalToolCalls,toolsUsed:[...b.toolsUsed.values()],transfers:[...b.transfers.values()],totalTransfers:b.totalTransfers,delegations:[...b.delegations.values()],totalDelegations:b.totalDelegations,totalAICalls:b.totalAICalls,totalErrors:b.totalErrors,hasErrors:b.totalErrors>0,firstUserMessage:h.get(a)?.content,startTime:h.get(a)?.timestamp})}return m}async applySpanFilters(a,b,c,d,e){try{let f=await this.makeRequest(this.buildFilteredConversationsPayload(b,c,d,e)),h=this.extractSeries(f,"filteredConversations"),i=new Set(h.map(a=>a.labels?.[g.SH.CONVERSATION_ID]).filter(Boolean));return a.filter(a=>i.has(a.conversationId))}catch(b){return console.error("applySpanFilters error:",b),a}}buildAgentModelBreakdownPayload(a,b,c){return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{agentModelCalls:{dataSource:g.YL.TRACES,queryName:g.XQ.AGENT_MODEL_CALLS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:[{key:{key:g.SH.AI_OPERATION_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:g.yR.GENERATE_TEXT},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},...c?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[]]},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.AI_TELEMETRY_FUNCTION_ID,...g.A3.STRING_TAG},{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG}],expression:g.XQ.AGENT_MODEL_CALLS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:c}}buildModelBreakdownPayload(a,b,c){return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{modelCalls:{dataSource:g.YL.TRACES,queryName:g.XQ.MODEL_CALLS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:[{key:{key:g.SH.AI_OPERATION_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:g.yR.GENERATE_TEXT},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},...c?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[]]},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG},{key:g.SH.AGENT_ID,...g.A3.STRING_TAG}],expression:g.XQ.MODEL_CALLS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_ZERO}}},dataSource:g.YL.TRACES,projectId:c}}buildConversationActivityPayload(a,b,c,d){let e=[{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},...c&&"all"!==c?[{key:{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[],...d?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d}]:[]];return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{lastActivity:{dataSource:g.YL.TRACES,queryName:g.XQ.LAST_ACTIVITY,aggregateOperator:g.qf.MIN,aggregateAttribute:{key:g.SH.TIMESTAMP,...g.A3.INT64_TAG_COLUMN},filters:{op:g.we.AND,items:e},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG}],expression:g.XQ.LAST_ACTIVITY,reduceTo:g.U_.MIN,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:d}}buildConversationMetadataPayload(a,b,c,d){let e=[{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.TENANT_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},...c&&"all"!==c?[{key:{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[],...d?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d}]:[]];return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{conversationMetadata:{dataSource:g.YL.TRACES,queryName:g.XQ.CONVERSATION_METADATA,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:e},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.TENANT_ID,...g.A3.STRING_TAG},{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},{key:g.SH.AGENT_NAME,...g.A3.STRING_TAG}],expression:g.XQ.CONVERSATION_METADATA,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:d}}buildFilteredConversationsPayload(a,b,c,d){let e=[{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}];for(let a of(c.spanName&&e.push({key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:c.spanName}),c.attributes??[])){let b=a.operator??g.we.EQUALS,c=j(a.value),d="string";if("boolean"==typeof c?d="bool":"number"==typeof c&&(d=Number.isInteger(c)?"int64":"float64"),b===g.we.EXISTS||b===g.we.NOT_EXISTS){e.push({key:{key:a.key,...g.A3.STRING_TAG},op:b,value:""});continue}if(b!==g.we.LIKE&&b!==g.we.NOT_LIKE||"string"!=typeof c||c.includes("%")||(c=`%${c}%`),("int64"===d||"float64"===d)&&b===g.we.EQUALS){let b="int64"===d?g.A3.INT64_TAG:g.A3.FLOAT64_TAG;e.push({key:{key:a.key,...b},op:g.we.GREATER_THAN_OR_EQUAL,value:c}),e.push({key:{key:a.key,...b},op:g.we.LESS_THAN_OR_EQUAL,value:c})}else{let f="string"===d?g.A3.STRING_TAG:"int64"===d?g.A3.INT64_TAG:"float64"===d?g.A3.FLOAT64_TAG:g.A3.BOOL_TAG;e.push({key:{key:a.key,...f},op:b,value:c})}}return d&&e.push({key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d}),{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{filteredConversations:{dataSource:g.YL.TRACES,queryName:g.XQ.FILTERED_CONVERSATIONS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:e},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG}],expression:g.XQ.FILTERED_CONVERSATIONS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:d}}buildCombinedPayload(a,b,c,d,e){let f=a=>{let b=a;return d&&(b=[...b,{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d}]),e&&(b=[...b,{key:{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:e}]),b};return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{tools:{dataSource:g.YL.TRACES,queryName:g.XQ.TOOLS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.aR.AI_TOOL_CALL},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.AI_TOOL_TYPE,...g.A3.STRING_TAG},op:g.we.EQUALS,value:g.cZ.MCP}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.AI_TOOL_CALL_NAME,...g.A3.STRING_TAG}],expression:g.XQ.TOOLS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},transfers:{dataSource:g.YL.TRACES,queryName:g.XQ.TRANSFERS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.aR.AI_TOOL_CALL},{key:{key:g.SH.AI_TOOL_TYPE,...g.A3.STRING_TAG},op:g.we.EQUALS,value:g.cZ.TRANSFER},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.TRANSFER_FROM_SUB_AGENT_ID,...g.A3.STRING_TAG},{key:g.SH.TRANSFER_TO_SUB_AGENT_ID,...g.A3.STRING_TAG}],expression:g.XQ.TRANSFERS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},delegations:{dataSource:g.YL.TRACES,queryName:g.XQ.DELEGATIONS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.aR.AI_TOOL_CALL},{key:{key:g.SH.AI_TOOL_TYPE,...g.A3.STRING_TAG},op:g.we.EQUALS,value:g.cZ.DELEGATION},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.DELEGATION_FROM_SUB_AGENT_ID,...g.A3.STRING_TAG},{key:g.SH.DELEGATION_TO_SUB_AGENT_ID,...g.A3.STRING_TAG}],expression:g.XQ.DELEGATIONS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},conversationMetadata:{dataSource:g.YL.TRACES,queryName:g.XQ.CONVERSATION_METADATA,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.TENANT_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.TENANT_ID,...g.A3.STRING_TAG},{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},{key:g.SH.AGENT_NAME,...g.A3.STRING_TAG}],expression:g.XQ.CONVERSATION_METADATA,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},aiCalls:{dataSource:g.YL.TRACES,queryName:g.XQ.AI_CALLS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.AI_OPERATION_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:g.yR.GENERATE_TEXT},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},{key:g.SH.AI_TELEMETRY_FUNCTION_ID,...g.A3.STRING_TAG}],expression:g.XQ.AI_CALLS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},lastActivity:{dataSource:g.YL.TRACES,queryName:g.XQ.LAST_ACTIVITY,aggregateOperator:g.qf.MIN,aggregateAttribute:{key:g.SH.TIMESTAMP,...g.A3.INT64_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG}],expression:g.XQ.LAST_ACTIVITY,reduceTo:g.U_.MIN,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},spansWithErrors:{dataSource:g.YL.TRACES,queryName:g.XQ.SPANS_WITH_ERRORS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.HAS_ERROR,...g.A3.BOOL_TAG_COLUMN},op:g.we.EQUALS,value:!0},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN}],expression:g.XQ.SPANS_WITH_ERRORS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},userMessages:{dataSource:g.YL.TRACES,queryName:g.XQ.USER_MESSAGES,aggregateOperator:g.qf.MIN,aggregateAttribute:{key:g.SH.TIMESTAMP,...g.A3.INT64_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.MESSAGE_CONTENT,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.MESSAGE_CONTENT,...g.A3.STRING_TAG}],expression:g.XQ.USER_MESSAGES,reduceTo:g.U_.MIN,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.ASC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:d}}buildUniqueAgentsPayload(a,b,c){let d=[{key:{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.AGENT_ID,...g.A3.STRING_TAG},op:g.we.NOT_EQUALS,value:g.PC},...c?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[]];return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{uniqueAgents:{dataSource:g.YL.TRACES,queryName:g.XQ.UNIQUE_AGENTS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:d},groupBy:[{key:g.SH.AGENT_ID,...g.A3.STRING_TAG}],expression:g.XQ.UNIQUE_AGENTS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.AGENT_ID,order:g.SL.ASC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:c}}buildUniqueModelsPayload(a,b,c){let d=[{key:{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG},op:g.we.NOT_EQUALS,value:g.PC},...c?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[]];return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{uniqueModels:{dataSource:g.YL.TRACES,queryName:g.XQ.UNIQUE_MODELS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:d},groupBy:[{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG}],expression:g.XQ.UNIQUE_MODELS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.AI_MODEL_ID,order:g.SL.ASC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:c}}}let o=null;function p(){return o??=new n}},95022:(a,b,c)=>{c.r(b),c.d(b,{"40a2105d323e3ab08bd9bb92cbef6a476625a2d1cd":()=>d.vj,"6012a528349313d9edf78ed6cc0a7599d7a22b6734":()=>d.xx,"6017da27d0bb288feac842316fb90940bd410430e4":()=>d.gA,"60678c0b08aed75a99f6a4b997f5f848886df71c30":()=>d.Sw,"70442783b2aa7d6c7d9ba29ab7a08b7e3b14bf296d":()=>d.vr});var d=c(54637)}};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=244,exports.ids=[244],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,"60ebc77e3f628226b79703ec4223dd14d20a10b1e0",null),(0,d.A)(h,"70f6ecd07ccb7c58c8dc27ccef2e933c971a5bea3e",null),(0,d.A)(i,"70db96b1eb98acf7027adb0e4c9d8d0ed3be9d526d",null),(0,d.A)(j,"7026a03262c6a5a2b1a3fb794efae64f33d075db19",null),(0,d.A)(k,"705df6c10c5cef92b70d46cca10497e65ce3f7c231",null)},54257:(a,b,c)=>{c.d(b,{s:()=>m});var d=c(59111),e=c(92707),f=c(14450),g=c(44451),h=c(18061),i=c(57904);let{AlertCircle:j}=e,k=String.raw;function l({error:a}){let b=String(a),c=b.split("\n"),e=c[0]||b,f=c.slice(1).join("\n");return(0,d.jsxs)(i.Fc,{variant:"destructive",className:"max-w-full",children:[(0,d.jsx)(j,{className:"h-4 w-4"}),(0,d.jsx)(i.XL,{className:"font-semibold text-sm",children:f}),(0,d.jsx)(i.TN,{className:"mt-2 space-y-2",children:(0,d.jsx)("div",{className:"font-mono text-xs break-words",children:e})})]})}function m({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 k`
|
|
2
|
-
import { ErrorBoundary } from "react-error-boundary";
|
|
3
|
-
|
|
4
|
-
${a}
|
|
5
|
-
|
|
6
|
-
export default function App() {
|
|
7
|
-
const props = ${JSON.stringify(b)};
|
|
8
|
-
return (
|
|
9
|
-
<ErrorBoundary fallbackRender={fallbackRender}>
|
|
10
|
-
<${d} {...props} />
|
|
11
|
-
</ErrorBoundary>
|
|
12
|
-
);
|
|
13
|
-
}`})(a,b),[a,b]),i=(0,f.useMemo)(()=>({fallbackRender:l,import:{"lucide-react":e,"react-error-boundary":g}}),[]),{element:j}=(0,h.CL)({code:c,scope:i});return(0,d.jsx)("div",{children:j})}},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.error.message??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,"603c83aaba3a69010f1b634aeacb9e543675e5fb99",null),(0,d.A)(i,"70d9fee500e4b859923feee2073a539983890f59c4",null),(0,d.A)(j,"70bcd360a714ddc62dc65a44ad59364c8e8570a952",null),(0,d.A)(k,"70f72f15f4635679643f83417b26fd3229e01311bc",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})})}},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"}},85406:(a,b,c)=>{c.d(b,{DataComponentForm:()=>W});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)("70bcd360a714ddc62dc65a44ad59364c8e8570a952",p.callServer,void 0,p.findSourceMapURL,"updateDataComponentAction"),r=(0,p.createServerReference)("70d9fee500e4b859923feee2073a539983890f59c4",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(34740),H=c(39729),I=c(14875);let J=I.bL,K=x.forwardRef(({className:a,...b},c)=>(0,d.jsx)(I.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}));K.displayName=I.B8.displayName;let L=x.forwardRef(({className:a,...b},c)=>(0,d.jsx)(I.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}));L.displayName=I.l9.displayName;let M=x.forwardRef(({className:a,...b},c)=>(0,d.jsx)(I.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}));M.displayName=I.UC.displayName;var N=c(32442);let O=(0,p.createServerReference)("7026a03262c6a5a2b1a3fb794efae64f33d075db19",p.callServer,void 0,p.findSourceMapURL,"updateDataComponent");var P=c(54257);function Q({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,B]=(0,x.useState)(""),[C,I]=(0,x.useState)(!1),Q=async d=>{k(!0),i(null),p(""),r(!1),z(!1);try{let e=await fetch(`/api/data-components/${c}/generate-preview`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tenantId:a,projectId:b,instructions:d||void 0,existingCode:d?g?.code:void 0})});if(!e.ok)throw Error("Failed to generate preview");if(!e.body)throw Error("No response body");let j=e.body.getReader(),k=new TextDecoder,l="",m=null;for(;;){let{done:a,value:b}=await j.read();if(a)break;let c=k.decode(b,{stream:!0}),d=(l+=c).split("\n");for(let a of(l=d.pop()||"",d))if(a.trim())try{let b=JSON.parse(a);m=b,b.code&&p(b.code)}catch(b){console.warn("Failed to parse line:",a,b)}}if(m)i(m),r(!0),f?.(m),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)}},R=async()=>{n(!0);try{await O(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)}},S=null!==g&&(g.code?.trim().length??0)>0,T=(0,x.useMemo)(()=>g?.data?JSON.stringify(g.data,null,2):"{}",[g?.data]),U=(0,x.useMemo)(()=>g?.code||"",[g?.code]),V=(0,x.useMemo)(()=>g?.data||{},[g?.data]),W=(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:[!S&&(0,d.jsx)(l.$,{onClick:()=>Q(),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"]})}),S&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(H.AM,{open:C,onOpenChange:I,children:[(0,d.jsx)(H.Wv,{asChild:!0,children:(0,d.jsx)(l.$,{variant:"outline",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"]})})}),(0,d.jsx)(H.hl,{className:"w-96",children:(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h4",{className:"font-medium text-sm mb-2",children:"Modify Component"}),(0,d.jsx)(G.J,{htmlFor:"instructions",className:"text-xs text-muted-foreground",children:"Describe what you'd like to change (optional)"}),(0,d.jsx)(N.T,{id:"instructions",placeholder:"e.g. Make it more compact, add a border, use different icons...",value:A,onChange:a=>B(a.target.value),className:"mt-2 min-h-[100px]"})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(l.$,{size:"sm",onClick:async()=>{I(!1),await Q(A||void 0),B("")},disabled:j,className:"flex-1",children:A?"Apply Changes":"Regenerate"}),(0,d.jsx)(l.$,{size:"sm",variant:"outline",onClick:()=>{I(!1),B("")},children:"Cancel"})]})]})})]}),s&&(0,d.jsx)(l.$,{variant:"destructive",onClick:R,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
|
|
14
|
-
${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..."})]})}),S&&!j&&q&&g&&(0,d.jsxs)(J,{defaultValue:"preview",className:"w-full",children:[(0,d.jsxs)(K,{children:[(0,d.jsx)(L,{value:"preview",children:"Preview"}),(0,d.jsx)(L,{value:"code",children:"Code"}),(0,d.jsx)(L,{value:"data",children:"Sample Data"})]}),(0,d.jsx)(M,{value:"preview",children:(0,d.jsx)(F.Zp,{className:"p-6",children:(0,d.jsx)(P.s,{code:U,props:V})})}),(0,d.jsx)(M,{value:"code",children:(0,d.jsx)(D,{value:U,onChange:a=>{if(!g)return;let b={...g,code:a};i(b),f?.(b)},language:"jsx",className:"max-h-[500px]"})}),(0,d.jsx)(M,{value:"data",children:(0,d.jsx)(E.i,{value:T,onChange:W,className:"max-h-[500px]"})})]})]})}let R={id:"",name:"",description:"",props:""};var S=c(34576),T=c(80974),U=c(62503);let V=S.object({id:U.f,name:S.string().min(1,"Name is required."),description:S.string().min(1,"Description is required."),props:S.string().min(1,"Props schema is required.").transform((a,b)=>{try{let c=JSON.parse(a),d=(0,T._O)(a);if(!d.isValid){let a=d.errors[0]?.message||"Invalid JSON schema";return b.addIssue({code:S.ZodIssueCode.custom,message:a}),S.NEVER}return c}catch(a){return b.addIssue({code:S.ZodIssueCode.custom,message:(0,T.SR)(a)}),S.NEVER}}).optional(),preview:S.object({code:S.string(),data:S.record(S.string(),S.unknown())}).nullable().optional()});function W({tenantId:a,projectId:b,id:c,initialData:p}){let t=(0,g.mN)({resolver:(0,e.u)(V),defaultValues:(a=>{if(!a)return R;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)(Q,{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"})]})})}},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")}};
|