@inkeep/agents-manage-ui 0.22.3 → 0.22.5
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 +104 -94
- package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +3 -3
- package/.next/standalone/agents-manage-ui/.next/build-manifest.json +4 -4
- package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +13 -13
- 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 +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/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_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +9 -9
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route_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 +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/chunks/1869.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2496.js +184 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3547.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3840.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/453.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6212.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6782.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7457.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7711.js +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/edge-runtime-webpack.js +2 -0
- 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 +28 -2
- 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/server/src/middleware.js +14 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/64228-648dc5042411205d.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{71558-09e7e3d1322b0bd1.js → 71558-6a7ced3c9e21fc39.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7190-51a6552459a3376d.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/78225-259f39396b8ad0f3.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/loading-e1f169e1ecbf908b.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/loading-e1f169e1ecbf908b.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-9961edaa999e5895.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-b2769ce928c048d2.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/{page-307ffafed40f4069.js → page-8aa517dc5954ef18.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/{page-307ffafed40f4069.js → page-8aa517dc5954ef18.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-41aeddaaba5e86f9.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page-b0291afca477479a.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/page-b0291afca477479a.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-4829a475cd59760a.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-23e1fb1e2d5f5a66.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-f2a47a3c378a85ea.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-ff9eb948e508117c.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-49540c7f1e4c6cc1.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/layout-e1f169e1ecbf908b.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/{page-7e3bb93e78b43ec7.js → page-377c75e5161c67cb.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-0339ee6b779aafd8.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/{page-1d17d906388bbd8c.js → page-be8bd412295f982d.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-7ff89a7f1a0c8868.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-be957f199374355d.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-32972e3ae0a05b82.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/main-f6a588d23fbb5abc.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/css/a813c86aed230074.css +1 -0
- package/.next/standalone/agents-manage-ui/package.json +1 -1
- package/.next/standalone/package.json +3 -2
- package/.next/standalone/packages/agents-core/package.json +1 -1
- package/package.json +4 -4
- package/src/app/[tenantId]/projects/[projectId]/agents/[agentId]/loading.tsx +2 -26
- package/src/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.tsx +1 -1
- package/src/app/[tenantId]/projects/[projectId]/agents/new/loading.tsx +5 -0
- package/src/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.tsx +0 -1
- package/src/app/api/signoz/route.ts +0 -2
- package/src/app/utils/active-tools.ts +0 -2
- package/src/app/utils/format-date.ts +0 -2
- package/src/components/agent/agent-loading-skeleton.tsx +26 -0
- package/src/components/agent/agent.tsx +21 -39
- package/src/components/agent/configuration/model-options.tsx +11 -8
- package/src/components/agent/edges/self-loop-edge.tsx +0 -1
- package/src/components/agent/nodes/function-tool-node.tsx +0 -1
- package/src/components/agent/nodes/mcp-node.tsx +0 -1
- package/src/components/agent/playground/chat-widget.tsx +0 -1
- package/src/components/agent/playground/ikp-message.tsx +0 -3
- package/src/components/agent/sidepane/edges/edge-editor.tsx +0 -3
- package/src/components/agent/sidepane/editor-loading-skeleton.tsx +40 -0
- package/src/components/agent/sidepane/nodes/function-tool-node-editor.tsx +0 -1
- package/src/components/agent/sidepane/nodes/mcp-node-editor.tsx +0 -1
- package/src/components/agent/sidepane/nodes/sub-agent-node-editor.tsx +0 -2
- package/src/components/agent/sidepane/sidepane.tsx +14 -4
- package/src/components/artifact-components/form/validation.ts +0 -2
- package/src/components/credentials/views/edit-credential-form.tsx +0 -2
- package/src/components/credentials/views/generic-auth-form.tsx +0 -1
- package/src/components/data-components/form/validation.ts +0 -1
- package/src/components/form/prompt-editor.tsx +0 -4
- package/src/components/mcp-servers/mcp-tool-image.tsx +0 -1
- package/src/components/projects/form/project-form.tsx +0 -4
- package/src/components/projects/form/project-models-section.tsx +0 -2
- package/src/components/projects/form/project-stopwhen-section.tsx +0 -1
- package/src/components/traces/conversation-stats/conversation-list-item.tsx +0 -1
- package/src/components/traces/editors/json-editor-with-copy.tsx +0 -3
- package/src/components/traces/timeline/span-attributes.tsx +0 -1
- package/src/components/traces/timeline/timeline-wrapper.tsx +0 -2
- package/src/components/traces/traces-overview.tsx +0 -3
- package/src/components/ui/card-grid.tsx +0 -1
- package/src/components/ui/chart.tsx +0 -1
- package/src/components/ui/inheritance-indicator.tsx +0 -3
- package/src/components/ui/item-card-grid.tsx +0 -1
- package/src/features/agent/domain/deserialize.ts +0 -5
- package/src/features/agent/domain/serialize.ts +0 -8
- package/src/features/agent/state/use-agent-store.ts +32 -26
- package/src/hooks/use-chat-activities-polling.ts +0 -2
- package/src/hooks/use-node-editor.ts +0 -1
- package/src/hooks/use-oauth-login.ts +0 -1
- package/src/hooks/use-side-pane.ts +5 -2
- package/src/hooks/use-traces-query-state.ts +0 -1
- package/src/lib/api/api-config.ts +0 -1
- package/src/lib/api/artifact-components.ts +0 -4
- package/src/lib/api/projects.ts +0 -4
- package/src/lib/api/signoz-sql.ts +0 -1
- package/src/lib/api/signoz-stats.ts +0 -1
- package/src/lib/json-schema-validation.ts +0 -5
- package/src/lib/mcp-tools/nango-types.ts +0 -1
- package/src/lib/mcp-tools/nango.ts +0 -8
- package/src/lib/utils/agent-error-parser.ts +0 -2
- package/src/lib/utils/credentials-utils.ts +0 -1
- package/src/lib/utils/mcp-urls.ts +0 -2
- package/src/middleware.ts +18 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/4059.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/428.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7320.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7504.js +0 -184
- package/.next/standalone/agents-manage-ui/.next/server/chunks/7521.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/54848-b8b349adf584e69d.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7190-aa6560bbe61271d7.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/78225-21eddae3f1b5ec1f.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/loading-721e10fd249e4b77.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-30250ffa231b377c.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-437cdd3080259f1e.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-32b8fcfa86abe256.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page-12d4291fe72e0026.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/page-12d4291fe72e0026.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-d1d7693e125ff510.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-33822c38f99da934.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-a740a126e11feafe.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-90d0b130845acb11.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-a1407ebc77250007.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/layout-721e10fd249e4b77.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-cb8ce7a25d839cad.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-6d8b3ec5cc084fc6.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-e4b74625b57c57d8.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-322a4f6225bcc7e2.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/main-2ddea5276081c6f7.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/css/42e93c4387888412.css +0 -1
- /package/.next/standalone/agents-manage-ui/.next/static/{NLgskf8DwJF0IXIIw2oaS → APJpYPMfKpAFVamL2w8y-}/_buildManifest.js +0 -0
- /package/.next/standalone/agents-manage-ui/.next/static/{NLgskf8DwJF0IXIIw2oaS → APJpYPMfKpAFVamL2w8y-}/_ssgManifest.js +0 -0
|
@@ -164,7 +164,6 @@ export function deserializeAgentData(data: FullAgentDefinition): TransformResult
|
|
|
164
164
|
? { stepCountIs: internalAgent.stopWhen.stepCountIs }
|
|
165
165
|
: undefined,
|
|
166
166
|
type: agent.type,
|
|
167
|
-
// Convert canUse back to tools, selectedTools, headers for UI
|
|
168
167
|
tools: internalAgent.canUse ? internalAgent.canUse.map((item) => item.toolId) : [],
|
|
169
168
|
selectedTools: internalAgent.canUse
|
|
170
169
|
? internalAgent.canUse.reduce(
|
|
@@ -201,17 +200,14 @@ export function deserializeAgentData(data: FullAgentDefinition): TransformResult
|
|
|
201
200
|
nodes.push(agentNode);
|
|
202
201
|
}
|
|
203
202
|
|
|
204
|
-
// Create tool nodes from canUse items (using tools and functions lookups)
|
|
205
203
|
for (const subAgentId of subAgentIds) {
|
|
206
204
|
const agent = data.subAgents[subAgentId];
|
|
207
|
-
// Check if agent has canUse property (internal agents)
|
|
208
205
|
if ('canUse' in agent && agent.canUse && agent.canUse.length > 0) {
|
|
209
206
|
for (const canUseItem of agent.canUse) {
|
|
210
207
|
const toolId = canUseItem.toolId;
|
|
211
208
|
const toolNodeId = nanoid();
|
|
212
209
|
const relationshipId = canUseItem.agentToolRelationId;
|
|
213
210
|
|
|
214
|
-
// Get tool details from lookup
|
|
215
211
|
const tool = data.tools?.[toolId] || data.functionTools?.[toolId];
|
|
216
212
|
|
|
217
213
|
// Determine node type based on tool type
|
|
@@ -277,7 +273,6 @@ export function deserializeAgentData(data: FullAgentDefinition): TransformResult
|
|
|
277
273
|
for (const sourceSubAgentId of subAgentIds) {
|
|
278
274
|
const sourceAgent = data.subAgents[sourceSubAgentId];
|
|
279
275
|
|
|
280
|
-
// Check if agent has relationship properties (internal agents only)
|
|
281
276
|
if ('canTransferTo' in sourceAgent && sourceAgent.canTransferTo) {
|
|
282
277
|
for (const targetSubAgentId of sourceAgent.canTransferTo) {
|
|
283
278
|
if (data.subAgents[targetSubAgentId]) {
|
|
@@ -31,7 +31,6 @@ export type ExtendedAgent =
|
|
|
31
31
|
})
|
|
32
32
|
| ExternalAgent;
|
|
33
33
|
|
|
34
|
-
// Type guard to check if an agent is an internal agent
|
|
35
34
|
function isInternalAgent(
|
|
36
35
|
agent: ExtendedAgent | FullAgentDefinition['subAgents'][string]
|
|
37
36
|
): agent is InternalAgent {
|
|
@@ -121,7 +120,6 @@ export function serializeAgentData(
|
|
|
121
120
|
|
|
122
121
|
const stopWhen = (node.data as any).stopWhen;
|
|
123
122
|
|
|
124
|
-
// Build canUse array from edges connecting this agent to tool nodes (MCP and Function)
|
|
125
123
|
const canUse: Array<{
|
|
126
124
|
toolId: string;
|
|
127
125
|
toolSelection?: string[] | null;
|
|
@@ -143,11 +141,9 @@ export function serializeAgentData(
|
|
|
143
141
|
const toolId = (mcpNode.data as any).toolId;
|
|
144
142
|
|
|
145
143
|
if (toolId) {
|
|
146
|
-
// Get selected tools from MCP node's tempSelectedTools
|
|
147
144
|
const tempSelectedTools = (mcpNode.data as any).tempSelectedTools;
|
|
148
145
|
let toolSelection: string[] | null = null;
|
|
149
146
|
|
|
150
|
-
// Get the relationshipId from the MCP node first
|
|
151
147
|
const relationshipId = (mcpNode.data as any).relationshipId;
|
|
152
148
|
|
|
153
149
|
if (tempSelectedTools !== undefined) {
|
|
@@ -217,10 +213,8 @@ export function serializeAgentData(
|
|
|
217
213
|
const functionToolId = nodeData.functionToolId || nodeData.toolId || functionToolNode.id;
|
|
218
214
|
const relationshipId = nodeData.relationshipId;
|
|
219
215
|
|
|
220
|
-
// Get the function ID from the node data (should reference existing function)
|
|
221
216
|
const functionId = nodeData.functionId || functionToolId;
|
|
222
217
|
|
|
223
|
-
// Create function tool entry
|
|
224
218
|
const functionToolData = {
|
|
225
219
|
id: functionToolId,
|
|
226
220
|
name: nodeData.name || '',
|
|
@@ -493,7 +487,6 @@ export function validateSerializedData(
|
|
|
493
487
|
}
|
|
494
488
|
}
|
|
495
489
|
|
|
496
|
-
// Validate function tools for internal agents (check canUse array for function tools)
|
|
497
490
|
if (isInternalAgent(agent) && agent.canUse) {
|
|
498
491
|
for (const canUseItem of agent.canUse) {
|
|
499
492
|
const toolId = canUseItem.toolId;
|
|
@@ -519,7 +512,6 @@ export function validateSerializedData(
|
|
|
519
512
|
// Use the node map to get the React Flow node ID if available
|
|
520
513
|
const nodeId = functionToolNodeMap?.get(toolId) || toolId;
|
|
521
514
|
|
|
522
|
-
// Validate required fields for function tools
|
|
523
515
|
if (!functionTool.name || String(functionTool.name).trim() === '') {
|
|
524
516
|
errors.push({
|
|
525
517
|
message: 'Function tool name is required',
|
|
@@ -38,6 +38,7 @@ type AgentActions = {
|
|
|
38
38
|
toolLookup?: Record<string, MCPTool>,
|
|
39
39
|
agentToolConfigLookup?: AgentToolConfigLookup
|
|
40
40
|
): void;
|
|
41
|
+
reset(): void;
|
|
41
42
|
setDataComponentLookup(dataComponentLookup: Record<string, DataComponent>): void;
|
|
42
43
|
setArtifactComponentLookup(artifactComponentLookup: Record<string, ArtifactComponent>): void;
|
|
43
44
|
setToolLookup(toolLookup: Record<string, MCPTool>): void;
|
|
@@ -67,32 +68,36 @@ type AgentState = AgentStateData & {
|
|
|
67
68
|
actions: AgentActions;
|
|
68
69
|
};
|
|
69
70
|
|
|
71
|
+
const initialAgentState: AgentStateData = {
|
|
72
|
+
nodes: [],
|
|
73
|
+
edges: [],
|
|
74
|
+
metadata: {
|
|
75
|
+
id: undefined,
|
|
76
|
+
name: '',
|
|
77
|
+
description: '',
|
|
78
|
+
contextConfig: {
|
|
79
|
+
contextVariables: '',
|
|
80
|
+
headersSchema: '',
|
|
81
|
+
},
|
|
82
|
+
models: undefined,
|
|
83
|
+
stopWhen: undefined,
|
|
84
|
+
prompt: undefined,
|
|
85
|
+
statusUpdates: undefined,
|
|
86
|
+
},
|
|
87
|
+
dataComponentLookup: {},
|
|
88
|
+
artifactComponentLookup: {},
|
|
89
|
+
toolLookup: {},
|
|
90
|
+
agentToolConfigLookup: {},
|
|
91
|
+
dirty: false,
|
|
92
|
+
history: [],
|
|
93
|
+
future: [],
|
|
94
|
+
errors: null,
|
|
95
|
+
showErrors: false,
|
|
96
|
+
};
|
|
97
|
+
|
|
70
98
|
export const agentStore = create<AgentState>()(
|
|
71
99
|
devtools((set, get) => ({
|
|
72
|
-
|
|
73
|
-
edges: [],
|
|
74
|
-
metadata: {
|
|
75
|
-
id: undefined,
|
|
76
|
-
name: '',
|
|
77
|
-
description: '',
|
|
78
|
-
contextConfig: {
|
|
79
|
-
contextVariables: '',
|
|
80
|
-
headersSchema: '',
|
|
81
|
-
},
|
|
82
|
-
models: undefined,
|
|
83
|
-
stopWhen: undefined,
|
|
84
|
-
prompt: undefined,
|
|
85
|
-
statusUpdates: undefined,
|
|
86
|
-
},
|
|
87
|
-
dataComponentLookup: {},
|
|
88
|
-
artifactComponentLookup: {},
|
|
89
|
-
toolLookup: {},
|
|
90
|
-
agentToolConfigLookup: {},
|
|
91
|
-
dirty: false,
|
|
92
|
-
history: [],
|
|
93
|
-
future: [],
|
|
94
|
-
errors: null,
|
|
95
|
-
showErrors: false,
|
|
100
|
+
...initialAgentState,
|
|
96
101
|
// Separate "namespace" for actions
|
|
97
102
|
actions: {
|
|
98
103
|
setInitial(
|
|
@@ -119,6 +124,9 @@ export const agentStore = create<AgentState>()(
|
|
|
119
124
|
showErrors: false,
|
|
120
125
|
});
|
|
121
126
|
},
|
|
127
|
+
reset() {
|
|
128
|
+
set(initialAgentState);
|
|
129
|
+
},
|
|
122
130
|
setDataComponentLookup(dataComponentLookup) {
|
|
123
131
|
set({ dataComponentLookup });
|
|
124
132
|
},
|
|
@@ -144,7 +152,6 @@ export const agentStore = create<AgentState>()(
|
|
|
144
152
|
}));
|
|
145
153
|
},
|
|
146
154
|
onNodesChange(changes) {
|
|
147
|
-
// Check if any change type would modify the agent (not just selection changes)
|
|
148
155
|
const hasModifyingChange = changes.some(
|
|
149
156
|
// Don't trigger `position` as modified change, since when the nodes are repositioned,
|
|
150
157
|
// they'll be re-laid out during the initial load anyway
|
|
@@ -158,7 +165,6 @@ export const agentStore = create<AgentState>()(
|
|
|
158
165
|
}));
|
|
159
166
|
},
|
|
160
167
|
onEdgesChange(changes) {
|
|
161
|
-
// Check if any change type would modify the agent (not just selection changes)
|
|
162
168
|
const hasModifyingChange = changes.some(
|
|
163
169
|
(change) => change.type === 'remove' || change.type === 'add' || change.type === 'replace'
|
|
164
170
|
);
|
|
@@ -33,7 +33,6 @@ export const useChatActivitiesPolling = ({
|
|
|
33
33
|
try {
|
|
34
34
|
setError(null);
|
|
35
35
|
|
|
36
|
-
// Create new abort controller for this request
|
|
37
36
|
abortControllerRef.current = new AbortController();
|
|
38
37
|
const currentConversationId = conversationId; // Capture current ID
|
|
39
38
|
|
|
@@ -63,7 +62,6 @@ export const useChatActivitiesPolling = ({
|
|
|
63
62
|
|
|
64
63
|
const data: ConversationDetail = await response.json();
|
|
65
64
|
|
|
66
|
-
// Validate that the response is still for the current conversation
|
|
67
65
|
if (isComponentMountedRef.current && currentConversationId === conversationId) {
|
|
68
66
|
// Only update state if data actually changed (by checking activity count)
|
|
69
67
|
const newCount = data.activities?.length || 0;
|
|
@@ -107,7 +107,6 @@ export function useNodeEditor({ selectedNodeId, errorHelpers }: UseNodeEditorOpt
|
|
|
107
107
|
const finalKey = nestedPath[nestedPath.length - 1];
|
|
108
108
|
if (value === undefined || value === null || value === '') {
|
|
109
109
|
delete current[finalKey];
|
|
110
|
-
// Check if the parent object becomes empty after deletion
|
|
111
110
|
if (Object.keys(updatedParent).length === 0) {
|
|
112
111
|
updateField(parentField, null);
|
|
113
112
|
return;
|
|
@@ -25,7 +25,6 @@ export function useOAuthLogin({ tenantId, projectId, onFinish, onError }: UseOAu
|
|
|
25
25
|
activeAttempts.delete(toolId);
|
|
26
26
|
}
|
|
27
27
|
try {
|
|
28
|
-
// Get the OAuth URL and open in popup window
|
|
29
28
|
const oauthUrl = getOAuthLoginUrl({
|
|
30
29
|
PUBLIC_INKEEP_AGENTS_MANAGE_API_URL,
|
|
31
30
|
tenantId,
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { parseAsString, parseAsStringLiteral, useQueryStates } from 'nuqs';
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
export const PANE_TYPES = ['agent', 'node', 'edge'] as const;
|
|
4
|
+
export type PaneType = (typeof PANE_TYPES)[number];
|
|
5
|
+
|
|
6
|
+
export const DEFAULT_NEW_AGENT_PANE: PaneType = 'agent';
|
|
4
7
|
|
|
5
8
|
export function useSidePane() {
|
|
6
9
|
const [queryState, setQueryState] = useQueryStates({
|
|
7
|
-
pane: parseAsStringLiteral(
|
|
10
|
+
pane: parseAsStringLiteral(PANE_TYPES),
|
|
8
11
|
nodeId: parseAsString,
|
|
9
12
|
edgeId: parseAsString,
|
|
10
13
|
});
|
|
@@ -46,7 +46,6 @@ export function useTracesQueryState() {
|
|
|
46
46
|
// Span filtering
|
|
47
47
|
spanName: parseAsString.withDefault(''),
|
|
48
48
|
spanAttributes: parseAsJson((value: unknown): SpanAttribute[] => {
|
|
49
|
-
// Validate that the parsed JSON is an array of SpanAttribute objects
|
|
50
49
|
if (!Array.isArray(value)) return [];
|
|
51
50
|
|
|
52
51
|
return value.filter(
|
|
@@ -35,7 +35,6 @@ export async function fetchArtifactComponents(
|
|
|
35
35
|
`tenants/${tenantId}/projects/${projectId}/artifact-components`
|
|
36
36
|
);
|
|
37
37
|
|
|
38
|
-
// Return the response as-is, preserving null/undefined props
|
|
39
38
|
return response;
|
|
40
39
|
}
|
|
41
40
|
|
|
@@ -54,7 +53,6 @@ export async function fetchArtifactComponent(
|
|
|
54
53
|
`tenants/${tenantId}/projects/${projectId}/artifact-components/${artifactComponentId}`
|
|
55
54
|
);
|
|
56
55
|
|
|
57
|
-
// Return the response as-is, preserving null/undefined props
|
|
58
56
|
return response.data;
|
|
59
57
|
}
|
|
60
58
|
|
|
@@ -77,7 +75,6 @@ export async function createArtifactComponent(
|
|
|
77
75
|
}
|
|
78
76
|
);
|
|
79
77
|
|
|
80
|
-
// Return the response as-is, preserving null/undefined props
|
|
81
78
|
return response.data;
|
|
82
79
|
}
|
|
83
80
|
|
|
@@ -100,7 +97,6 @@ export async function updateArtifactComponent(
|
|
|
100
97
|
}
|
|
101
98
|
);
|
|
102
99
|
|
|
103
|
-
// Return the response as-is, preserving null/undefined props
|
|
104
100
|
return response.data;
|
|
105
101
|
}
|
|
106
102
|
|
package/src/lib/api/projects.ts
CHANGED
|
@@ -13,7 +13,6 @@ export async function fetchProjects(tenantId: string): Promise<ListResponse<Proj
|
|
|
13
13
|
`tenants/${tenantId}/projects`
|
|
14
14
|
);
|
|
15
15
|
|
|
16
|
-
// Map backend 'id' field to 'projectId' for frontend consistency
|
|
17
16
|
if (response.data) {
|
|
18
17
|
response.data = response.data.map((project: any) => ({
|
|
19
18
|
...project,
|
|
@@ -34,7 +33,6 @@ export async function fetchProject(
|
|
|
34
33
|
`tenants/${tenantId}/projects/${projectId}`
|
|
35
34
|
);
|
|
36
35
|
|
|
37
|
-
// Map backend 'id' field to 'projectId' for frontend consistency
|
|
38
36
|
if (response.data) {
|
|
39
37
|
response.data = {
|
|
40
38
|
...response.data,
|
|
@@ -59,7 +57,6 @@ export async function createProject(
|
|
|
59
57
|
}
|
|
60
58
|
);
|
|
61
59
|
|
|
62
|
-
// Map backend 'id' field to 'projectId' for frontend consistency
|
|
63
60
|
if (response.data) {
|
|
64
61
|
response.data = {
|
|
65
62
|
...response.data,
|
|
@@ -84,7 +81,6 @@ export async function updateProject(
|
|
|
84
81
|
body: JSON.stringify(project),
|
|
85
82
|
}
|
|
86
83
|
);
|
|
87
|
-
// Map backend 'id' field to 'projectId' for frontend consistency
|
|
88
84
|
if (response.data) {
|
|
89
85
|
response.data = {
|
|
90
86
|
...response.data,
|
|
@@ -123,7 +123,6 @@ export async function fetchAllSpanAttributes_SQL(
|
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
for (const r of rows) {
|
|
126
|
-
// Build the span.data bag from the projected JSON maps
|
|
127
126
|
const attrsString = JSON.parse(r.attributes_string_json || '{}');
|
|
128
127
|
const attrsNum = JSON.parse(r.attributes_number_json || '{}');
|
|
129
128
|
const attrsBool = JSON.parse(r.attributes_bool_json || '{}');
|
|
@@ -103,7 +103,6 @@ const asTypedFilterValue = (v: string): FilterValue => {
|
|
|
103
103
|
return FilterValueSchema.parse(numericValue);
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
-
// Return as validated string
|
|
107
106
|
return FilterValueSchema.parse(v);
|
|
108
107
|
} catch (error) {
|
|
109
108
|
// If validation fails, log the error and return the original string
|
|
@@ -97,7 +97,6 @@ function validateJsonSchema(schema: any): ValidationError[] {
|
|
|
97
97
|
return errors;
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
// Check if it's a valid object schema
|
|
101
100
|
if (!objectValidator.Check(schema)) {
|
|
102
101
|
// Check individual properties for better error messages
|
|
103
102
|
if (!schema.type || schema.type !== 'object') {
|
|
@@ -124,7 +123,6 @@ function validateJsonSchema(schema: any): ValidationError[] {
|
|
|
124
123
|
});
|
|
125
124
|
}
|
|
126
125
|
|
|
127
|
-
// Validate each property
|
|
128
126
|
if (schema.properties && typeof schema.properties === 'object') {
|
|
129
127
|
Object.entries(schema.properties).forEach(([propertyName, propertySchema]) => {
|
|
130
128
|
if (!propertyValidator.Check(propertySchema)) {
|
|
@@ -205,7 +203,6 @@ function validateLlmRequirements(schema: any): ValidationError[] {
|
|
|
205
203
|
export function validateJsonSchemaForLlm(jsonString: string): ValidationResult {
|
|
206
204
|
const warnings: string[] = [];
|
|
207
205
|
|
|
208
|
-
// Step 1: Validate JSON syntax
|
|
209
206
|
const { parsed, errors: syntaxErrors } = validateJsonSyntax(jsonString);
|
|
210
207
|
|
|
211
208
|
if (syntaxErrors.length > 0) {
|
|
@@ -224,10 +221,8 @@ export function validateJsonSchemaForLlm(jsonString: string): ValidationResult {
|
|
|
224
221
|
};
|
|
225
222
|
}
|
|
226
223
|
|
|
227
|
-
// Step 2: Validate JSON Schema structure
|
|
228
224
|
const schemaErrors = validateJsonSchema(parsed);
|
|
229
225
|
|
|
230
|
-
// Step 3: Validate LLM-specific requirements
|
|
231
226
|
const llmErrors = validateLlmRequirements(parsed);
|
|
232
227
|
|
|
233
228
|
const allErrors = [...schemaErrors, ...llmErrors];
|
|
@@ -10,7 +10,6 @@ export class NangoError extends Error {
|
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
// Helper to wrap errors, preserving existing NangoErrors
|
|
14
13
|
export function wrapNangoError(error: unknown, message: string, operation?: string): never {
|
|
15
14
|
if (error instanceof NangoError) {
|
|
16
15
|
throw error;
|
|
@@ -131,7 +131,6 @@ export async function fetchNangoIntegration(
|
|
|
131
131
|
areCredentialsSet,
|
|
132
132
|
};
|
|
133
133
|
} catch (error) {
|
|
134
|
-
// Check if this is a 404 (integration not found) - return null for this case
|
|
135
134
|
if (error && typeof error === 'object' && 'status' in error && error.status === 404) {
|
|
136
135
|
return null;
|
|
137
136
|
}
|
|
@@ -245,7 +244,6 @@ export async function createNangoApiKeyConnection({
|
|
|
245
244
|
const idFromName = generateIdFromName(name);
|
|
246
245
|
|
|
247
246
|
try {
|
|
248
|
-
// Step 1: Ensure Nango integration exists
|
|
249
247
|
let integration: ApiPublicIntegration;
|
|
250
248
|
|
|
251
249
|
/*
|
|
@@ -291,7 +289,6 @@ export async function createNangoApiKeyConnection({
|
|
|
291
289
|
}
|
|
292
290
|
}
|
|
293
291
|
|
|
294
|
-
// Step 2: Import the connection to Nango
|
|
295
292
|
try {
|
|
296
293
|
const importConnectionUrl = `${process.env.NANGO_SERVER_URL || process.env.PUBLIC_NANGO_SERVER_URL || DEFAULT_NANGO_SERVER_URL}/connections`;
|
|
297
294
|
|
|
@@ -326,7 +323,6 @@ export async function createNangoApiKeyConnection({
|
|
|
326
323
|
wrapNangoError(error, `Failed to import API key connection to Nango`, 'importConnection');
|
|
327
324
|
}
|
|
328
325
|
|
|
329
|
-
// Step 3: Set metadata (Nango workaround)
|
|
330
326
|
try {
|
|
331
327
|
await setNangoConnectionMetadata({
|
|
332
328
|
providerConfigKey: integration.unique_key,
|
|
@@ -359,7 +355,6 @@ export async function createProviderConnectSession({
|
|
|
359
355
|
credentials?: ApiPublicIntegrationCredentials;
|
|
360
356
|
}): Promise<string> {
|
|
361
357
|
try {
|
|
362
|
-
// Step 1: Check for existing integration
|
|
363
358
|
let integration: ApiPublicIntegration;
|
|
364
359
|
let existingIntegration: (ApiPublicIntegration & { areCredentialsSet: boolean }) | null = null;
|
|
365
360
|
|
|
@@ -373,7 +368,6 @@ export async function createProviderConnectSession({
|
|
|
373
368
|
console.debug(`Integration '${providerName}' not found, will create new one`);
|
|
374
369
|
}
|
|
375
370
|
|
|
376
|
-
// Step 2: Use existing or create new integration
|
|
377
371
|
if (existingIntegration?.areCredentialsSet) {
|
|
378
372
|
integration = existingIntegration;
|
|
379
373
|
} else {
|
|
@@ -393,7 +387,6 @@ export async function createProviderConnectSession({
|
|
|
393
387
|
}
|
|
394
388
|
}
|
|
395
389
|
|
|
396
|
-
// Step 3: Create connect session
|
|
397
390
|
try {
|
|
398
391
|
const connectSession = await createNangoConnectSession({
|
|
399
392
|
integrationId: integration.unique_key,
|
|
@@ -432,7 +425,6 @@ export async function getNangoConnectionMetadata({
|
|
|
432
425
|
const metadata = await nango.getMetadata(providerConfigKey, connectionId);
|
|
433
426
|
return metadata as Record<string, string>;
|
|
434
427
|
} catch (error) {
|
|
435
|
-
// Check if this is a 404 (connection not found) - return null for this case
|
|
436
428
|
if (error && typeof error === 'object' && 'status' in error && error.status === 404) {
|
|
437
429
|
return null;
|
|
438
430
|
}
|
|
@@ -128,7 +128,6 @@ function processValidationError(
|
|
|
128
128
|
field = error.path.join('.') || 'configuration';
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
-
// Create user-friendly message
|
|
132
131
|
const message = createUserFriendlyMessage(error, field, type, nodeType);
|
|
133
132
|
|
|
134
133
|
return {
|
|
@@ -176,7 +175,6 @@ function createUserFriendlyMessage(
|
|
|
176
175
|
return `${entityType} ${fieldName} has an invalid value. Please select a valid option`;
|
|
177
176
|
|
|
178
177
|
case 'invalid_union':
|
|
179
|
-
// Check if this is an agent type discrimination error
|
|
180
178
|
if (field.includes('type') || error.message.includes('discriminator')) {
|
|
181
179
|
return `${entityType} type must be specified as either 'internal' or 'external'`;
|
|
182
180
|
}
|
|
@@ -18,7 +18,6 @@ export function getOAuthLoginUrl({
|
|
|
18
18
|
projectId: string;
|
|
19
19
|
id: string;
|
|
20
20
|
}): string {
|
|
21
|
-
// Validate input parameters
|
|
22
21
|
if (!tenantId || typeof tenantId !== 'string') {
|
|
23
22
|
throw new Error('Invalid tenantId: must be a non-empty string');
|
|
24
23
|
}
|
|
@@ -31,7 +30,6 @@ export function getOAuthLoginUrl({
|
|
|
31
30
|
throw new Error('Invalid projectId: must be a non-empty string');
|
|
32
31
|
}
|
|
33
32
|
|
|
34
|
-
// Validate format - only allow alphanumeric, hyphens, and underscores
|
|
35
33
|
const validFormat = /^[a-zA-Z0-9-_]+$/;
|
|
36
34
|
|
|
37
35
|
if (!validFormat.test(tenantId)) {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type NextRequest, NextResponse } from 'next/server';
|
|
2
|
+
import { DEFAULT_NEW_AGENT_PANE } from './hooks/use-side-pane';
|
|
3
|
+
|
|
4
|
+
export function middleware(request: NextRequest) {
|
|
5
|
+
const { pathname, searchParams } = request.nextUrl;
|
|
6
|
+
|
|
7
|
+
if (pathname.endsWith('/agents/new') && !searchParams.has('pane')) {
|
|
8
|
+
const url = request.nextUrl.clone();
|
|
9
|
+
url.searchParams.set('pane', DEFAULT_NEW_AGENT_PANE);
|
|
10
|
+
return NextResponse.redirect(url);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
return NextResponse.next();
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export const config = {
|
|
17
|
+
matcher: '/:tenantId/projects/:projectId/agents/new',
|
|
18
|
+
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
exports.id=4059,exports.ids=[4059],exports.modules={5294:(a,b,c)=>{"use strict";c.d(b,{$Y:()=>g,GO:()=>i,K3:()=>h,h9:()=>k});var d=c(29991);c(58415);var e=c(8703),f=c(45796);async function g(a,b,c=1,d=50){(0,f.M2)(a),(0,f.nt)(b);let h=new URLSearchParams({page:c.toString(),limit:d.toString()});return(await (0,e.J)(`tenants/${a}/projects/${b}/credentials?${h}`)).data}async function h(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`)).data}async function i(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials`,{method:"POST",body:JSON.stringify(c)})).data}async function j(a,b,c,d){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`,{method:"PUT",body:JSON.stringify(d)})).data}async function k(a,b,c){(0,f.M2)(a),(0,f.nt)(b),await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`,{method:"DELETE"})}(0,c(33451).D)([g,h,i,j,k]),(0,d.A)(g,"78034756f4ec8aa876e941bcfdc2f371a0870ea192",null),(0,d.A)(h,"70ddf2f5d96171b566556bc0d8c0a0b98de9de49cd",null),(0,d.A)(i,"7012bf643c0bc6fc45635396e11e564ea8c175b4f6",null),(0,d.A)(j,"7805e67728afc4f6bf24a199667199982ffca13f86",null),(0,d.A)(k,"70ea5b93e8548a4d0858490efa5005a734a9d79dfd",null)},19329:(a,b,c)=>{"use strict";c.d(b,{U:()=>f});var d=c(29991);c(58415);var e=c(5294);async function f(a,b,c){try{let d=await (0,e.K3)(a,b,c.id);if(d)return d}catch{}try{return await (0,e.GO)(a,b,c)}catch(a){throw console.error("Failed to save credential to database:",a),Error(`Failed to save credential '${c.id}' to database`)}}(0,c(33451).D)([f]),(0,d.A)(f,"70db7738dcd861ffec2e98db67f3eeff1e8aebd02a",null)},21395:(a,b,c)=>{"use strict";c.d(b,{RN:()=>t,Ak:()=>q,uP:()=>u,tN:()=>r,Mj:()=>p,tQ:()=>o,pv:()=>n,Mb:()=>m,H6:()=>v,EN:()=>l,P:()=>w});var d=c(29991);c(58415);var e=c(56129),f=c(55797),g=c(67417);class h extends Error{constructor(a,b,c){super(a),this.operation=b,this.cause=c,this.name="NangoError"}}function i(a,b,c){if(a instanceof h)throw a;throw new h(b,c,a)}var j=c(33451);let k=()=>{let a=process.env.NANGO_SECRET_KEY;if(!a)throw new h("NANGO_SECRET_KEY environment variable is required for Nango integration");try{return new f.CA({secretKey:a,host:process.env.NANGO_SERVER_URL||process.env.PUBLIC_NANGO_SERVER_URL||g.ko})}catch(a){throw new h("Failed to initialize Nango client","new Nango",a)}};async function l(){let a=process.env.NANGO_SECRET_KEY;return!!(a&&""!==a.trim())}async function m(){try{let a=k();return(await a.listProviders({})).data}catch(a){console.error("Failed to fetch providers:",a),i(a,"Unable to retrieve available providers from Nango","listProviders")}}async function n(a){try{let b=k();return(await b.getProvider({provider:a})).data}catch(b){console.error(`Failed to fetch provider ${a}:`,b),i(b,`Provider '${a}' not found or inaccessible`,"getProvider")}}async function o(){try{let a=k();return(await a.listIntegrations()).configs}catch(a){console.error("Failed to fetch integrations:",a),i(a,"Unable to retrieve existing integrations","listIntegrations")}}async function p(a){try{let b=k(),c=(await b.getIntegration({uniqueKey:a},{include:["credentials"]})).data,d=!1;d=c.credentials?.type==="OAUTH2"||c.credentials?.type==="OAUTH1"||c.credentials?.type==="TBA"?!!(c.credentials?.client_id&&c.credentials?.client_secret):c.credentials?.type!=="APP"||!!(c.credentials?.app_id&&c.credentials?.app_link);let{credentials:e,...f}=c;return{...f,areCredentialsSet:d}}catch(b){if(b&&"object"==typeof b&&"status"in b&&404===b.status)return null;console.error(`Failed to fetch integration ${a}:`,b),i(b,`Unable to fetch integration with key '${a}'`,"getIntegration")}}async function q(a){try{let b=k();return(await b.createIntegration({provider:a.provider,unique_key:a.uniqueKey,display_name:a.displayName,credentials:a.credentials})).data}catch(b){console.error("Failed to create integration:",b),i(b,`Failed to create integration '${a.uniqueKey}' for provider '${a.provider}'`,"createIntegration")}}async function r(a){try{let a=k();return(await a.listConnections()).connections}catch(c){let b=a?` for integration '${a}'`:"";console.error(`Failed to fetch connections${b}:`,c),i(c,`Unable to retrieve connections${b}`,"listConnections")}}async function s({endUserId:a="test-tenant",endUserEmail:b="test@test-tenant.com",endUserDisplayName:c="Test User",organizationId:d=process.env.TENANT_ID||g.P3,organizationDisplayName:e="Test Organization",integrationId:f}){try{let g=k(),{data:h}=await g.createConnectSession({end_user:{id:a,email:b,display_name:c},organization:{id:d,display_name:e},allowed_integrations:[f]});return h}catch(a){console.error("Failed to create connect session:",a),i(a,`Unable to create connect session for integration '${f}'`,"createConnectSession")}}async function t({name:a,apiKeyToSet:b,metadata:c}){let d=(0,e.K_)(a);try{let e;try{e=await q({provider:"private-api-bearer",uniqueKey:d,displayName:a})}catch(a){if(a instanceof h&&a.cause&&"object"==typeof a.cause&&"status"in a.cause&&400===a.cause.status){let b=await p(d);b?e=b:i(a,"Integration creation failed for unexpected reasons","create")}else i(a,`Failed to create or retrieve integration '${d}'`,"create")}try{let a=`${process.env.NANGO_SERVER_URL||process.env.PUBLIC_NANGO_SERVER_URL||g.ko}/connections`,f={provider_config_key:e.unique_key,connection_id:d,metadata:c,credentials:{type:"API_KEY",apiKey:b}},i=await fetch(a,{method:"POST",headers:{Authorization:`Bearer ${process.env.NANGO_SECRET_KEY}`,"Content-Type":"application/json"},body:JSON.stringify(f)});if(!i.ok)throw new h(`Failed to import connection: HTTP ${i.status} - ${i.statusText}`,"importConnection")}catch(a){i(a,"Failed to import API key connection to Nango","importConnection")}try{await w({providerConfigKey:e.unique_key,connectionId:d,metadata:c})}catch(a){console.warn(`Failed to set metadata for connection ${d}:`,a)}return{integration:e}}catch(b){console.error("Unexpected error creating API key credential:",b),i(b,`Unexpected error creating API key credential '${a}'`,"createNangoApiKeyConnection")}}async function u({providerName:a,credentials:b}){try{let c,d=null;try{d=await p(a)}catch(b){if(b instanceof h)throw b;console.debug(`Integration '${a}' not found, will create new one`)}if(d?.areCredentialsSet)c=d;else try{c=await q({provider:a,uniqueKey:a,displayName:a,credentials:b})}catch(b){i(b,`Failed to create integration for provider '${a}'`,"create")}try{return(await s({integrationId:c.unique_key})).token}catch(a){i(a,`Failed to create connect session for integration '${c.unique_key}'`,"createConnectSession")}}catch(b){console.error("Unexpected error creating provider connect session:",b),i(b,`Unexpected error creating connect session for provider '${a}'`,"createProviderConnectSession")}}async function v({providerConfigKey:a,connectionId:b}){try{let c=k();return await c.getMetadata(a,b)}catch(a){if(a&&"object"==typeof a&&"status"in a&&404===a.status)return null;console.error("Failed to get connection metadata:",a),i(a,`Unable to retrieve metadata for connection '${b}'`,"getMetadata")}}async function w({providerConfigKey:a,connectionId:b,metadata:c}){try{let d=k();await d.setMetadata(a,b,c)}catch(a){console.error("Failed to set connection metadata:",a),i(a,`Unable to update metadata for connection '${b}'`,"setMetadata")}}(0,j.D)([l,m,n,o,p,q,r,t,u,v,w]),(0,d.A)(l,"0040f074773de3a61b7ff48925482b2ab524da127c",null),(0,d.A)(m,"00439388fdd59f19d5f6164f04c633b1f1ae8eca69",null),(0,d.A)(n,"405e97c41170041ef77ecfb929b18534f9dac46029",null),(0,d.A)(o,"00def7dbf0977cba61bea796011ad9878cf7c7d94d",null),(0,d.A)(p,"40b0b94413092ec75f0f59d5c4de3928776f5e7b7d",null),(0,d.A)(q,"40b03880ae621977ab319dd598eb89c94527fcf280",null),(0,d.A)(r,"407f43af8eea24e489cd28ebbd15adccc47063f734",null),(0,d.A)(t,"408584e1776042556d64e0ff93475de01b6b2c376d",null),(0,d.A)(u,"40c5a0cedb359a0a6515b7ad0c1be9e734c8814640",null),(0,d.A)(v,"40f2cdb535107b73833f061a0e417d5721212052e3",null),(0,d.A)(w,"4045ddb374a4eaed667e59877bf6ef44270a1528d7",null)},22427:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(59111),e=c(43433);function f(){return(0,d.jsx)(e.A,{description:"Something went wrong."})}},25600:(a,b,c)=>{Promise.resolve().then(c.bind(c,22427))},35304:(a,b,c)=>{"use strict";c.d(b,{U:()=>e});var d=c(90147);let e=(0,d.createServerReference)("70db7738dcd861ffec2e98db67f3eeff1e8aebd02a",d.callServer,void 0,d.findSourceMapURL,"findOrCreateCredential")},62048:(a,b,c)=>{Promise.resolve().then(c.bind(c,80969))},72602:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"403d2b1c2f00727550e81685e755e5b3ef7a64857c":()=>d.vj,"60d982af1b4e05dbbae266793fae8d8af9845e896a":()=>d.gA,"60f27e0464c44a11c13619e2a94b25820c58c35299":()=>d.xx,"60ff889785d83049ca3729d06b08f3613a1ee19dc1":()=>d.Sw,"70549adf92ea3d2a9e84a140af92d4da1afcf30c1f":()=>d.vr});var d=c(54637)},80969:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(60241).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/agents/agents/agents-manage-ui/src/app/[tenantId]/projects/[projectId]/credentials/error.tsx\" from the server, but it's 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/app/[tenantId]/projects/[projectId]/credentials/error.tsx","default")}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
exports.id=428,exports.ids=[428],exports.modules={437:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(89892).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},3339:(a,b,c)=>{Promise.resolve().then(c.bind(c,7838))},7838:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(60241).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/agents/agents/agents-manage-ui/src/app/[tenantId]/projects/[projectId]/artifacts/error.tsx\" from the server, but it's 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/app/[tenantId]/projects/[projectId]/artifacts/error.tsx","default")},8636:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(60241).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/agents/agents/agents-manage-ui/src/app/[tenantId]/projects/[projectId]/not-found.tsx\" from the server, but it's 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/app/[tenantId]/projects/[projectId]/not-found.tsx","default")},12938:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"403b960274132dca648bb98f2359d2022b16ca1f8b":()=>d.bW,"60389a5c095bdbd65d2a9ddbccc51de77c01523588":()=>d.Dv,"603915dcfdbcb6c01baf0e3eb54f9eba9125d6e518":()=>p,"606778af7882431b69e79f9e48719115329cf7a5a7":()=>d.qf,"60de3b418f019d2c7bd347d2f646771c6cb5823c24":()=>d.gL,"70045ede779069d271c93b4548571ff8fe96ec300d":()=>q,"703562af0a49c0d1c9240b7fb09ecbabf36529908d":()=>d.Tg,"70bdbbbc1812f9dd6cd1c3c4e0f5d2e809a4d65eb4":()=>s,"70ea5ada1005f5d59531877d59e1d7c5f6b59c12cd":()=>r});var d=c(72025),e=c(29991);c(58415);var f=c(83248),g=c(8703),h=c(45796),i=c(33451);async function j(a,b){return(0,h.M2)(a),(0,h.nt)(b),await (0,g.J)(`tenants/${a}/projects/${b}/artifact-components`)}async function k(a,b,c){return(0,h.M2)(a),(0,h.nt)(b),(await (0,g.J)(`tenants/${a}/projects/${b}/artifact-components/${c}`)).data}async function l(a,b,c){return(0,h.M2)(a),(0,h.nt)(b),(await (0,g.J)(`tenants/${a}/projects/${b}/artifact-components`,{method:"POST",body:JSON.stringify(c)})).data}async function m(a,b,c){return(0,h.M2)(a),(0,h.nt)(b),(await (0,g.J)(`tenants/${a}/projects/${b}/artifact-components/${c.id}`,{method:"PUT",body:JSON.stringify(c)})).data}async function n(a,b,c){(0,h.M2)(a),(0,h.nt)(b),await (0,g.J)(`tenants/${a}/projects/${b}/artifact-components/${c}`,{method:"DELETE"})}(0,i.D)([j,k,l,m,n]),(0,e.A)(j,"6001b8bcaba61db2c7d7461fea2d466f8aec76c4f7",null),(0,e.A)(k,"7063166401afee6905a7b226a6782dba7f1dbde98d",null),(0,e.A)(l,"7019cd4d55921fae3b41ea7a52c36ca5f69af3c38f",null),(0,e.A)(m,"707dd1f8744bd68e2fd9faed170e5e55d4d9bbea75",null),(0,e.A)(n,"70b5d49869e0babb2daa956463acf2ddf3625bc956",null);var o=c(36608);async function p(a,b){try{let c=await j(a,b);return{success:!0,data:c.data}}catch(a){if(a instanceof o.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 q(a,b,c){try{let d=await l(a,b,c);return(0,f.revalidatePath)(`/${a}/projects/${b}/artifacts`),{success:!0,data:d}}catch(a){if(a instanceof o.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 r(a,b,c){try{let d=await m(a,b,c);return(0,f.revalidatePath)(`/${a}/projects/${b}/artifacts`),(0,f.revalidatePath)(`/${a}/projects/${b}/artifacts/${c.id}`),{success:!0,data:d}}catch(a){if(a instanceof o.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 s(a,b,c){try{return await n(a,b,c),(0,f.revalidatePath)(`/${a}/projects/${b}/artifacts`),(0,f.revalidatePath)(`/${a}/projects/${b}/artifacts/${c}`),{success:!0}}catch(a){if(a instanceof o.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,i.D)([p,q,r,s]),(0,e.A)(p,"603915dcfdbcb6c01baf0e3eb54f9eba9125d6e518",null),(0,e.A)(q,"70045ede779069d271c93b4548571ff8fe96ec300d",null),(0,e.A)(r,"70ea5ada1005f5d59531877d59e1d7c5f6b59c12cd",null),(0,e.A)(s,"70bdbbbc1812f9dd6cd1c3c4e0f5d2e809a4d65eb4",null)},29160:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h,dynamic:()=>g});var d=c(72669),e=c(95460),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){(0,e.notFound)()}return(0,d.jsx)(d.Fragment,{children:a})}},35859:(a,b,c)=>{Promise.resolve().then(c.bind(c,8636))},37830:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h});var d=c(59111),e=c(437),f=c(485);c(14450);var g=c(2856);function h(){let a=(0,f.useParams)(),b=(0,f.useRouter)(),c=a.tenantId,h=a.projectId;return(0,d.jsx)("div",{className:"flex min-h-[400px] flex-col items-center justify-center p-8",children:(0,d.jsxs)("div",{className:"text-center max-w-md",children:[(0,d.jsx)("div",{className:"mb-4 flex justify-center",children:(0,d.jsx)(e.A,{className:"h-12 w-12 text-muted-foreground"})}),(0,d.jsx)("h1",{className:"text-2xl font-semibold mb-2",children:"Project Not Found"}),(0,d.jsxs)("p",{className:"text-muted-foreground mb-6",children:['The project "',h,"\" does not exist or you don't have access to it."]}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground mb-6",children:"Redirecting to projects list in 3 seconds..."}),(0,d.jsx)(g.$,{onClick:()=>b.push(`/${c}/projects`),variant:"default",children:"Go to Projects List"})]})})}},39878:(a,b,c)=>{"use strict";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})]})}},39939:(a,b,c)=>{"use strict";c.d(b,{ArtifactComponentForm:()=>x});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(93622),n=c(35283),o=c(90147);let p=(0,o.createServerReference)("70ea5ada1005f5d59531877d59e1d7c5f6b59c12cd",o.callServer,void 0,o.findSourceMapURL,"updateArtifactComponentAction"),q=(0,o.createServerReference)("70045ede779069d271c93b4548571ff8fe96ec300d",o.callServer,void 0,o.findSourceMapURL,"createArtifactComponentAction");var r=c(42723);let s={id:"",name:"",description:"",props:void 0};var t=c(34576),u=c(80974),v=c(62503);let w=t.object({id:v.f,name:t.string().min(1,"Name is required."),description:t.string().min(1,"Description is required."),props:t.union([t.string(),t.null(),t.undefined()]).transform((a,b)=>{if(a&&""!==a&&null!==a)try{let c=JSON.parse(a),d=(0,u._O)(a);if(!d.isValid){let a=d.errors[0]?.message||"Invalid JSON schema";return b.addIssue({code:t.ZodIssueCode.custom,message:a}),t.NEVER}return c}catch(a){return b.addIssue({code:t.ZodIssueCode.custom,message:(0,u.SR)(a)}),t.NEVER}}).optional()});function x({id:a,tenantId:b,projectId:c,initialData:o}){let t=(0,g.mN)({resolver:(0,e.u)(w),defaultValues:(a=>{if(!a)return s;let b={...a};return b.props&&(b.props=(0,r.S_)(b.props)),b})(o)}),{isSubmitting:u}=t.formState,v=(0,f.useRouter)();(0,n.S)({form:t,nameField:"name",idField:"id",isEditing:!!a});let x=async d=>{try{let e={...d};if(void 0===e.props&&(e.props=null),a){let a=await p(b,c,e);if(!a.success)return void h.oR.error(a.error||"Failed to update artifact.");h.oR.success("Artifact updated.")}else{let a=await q(b,c,e);if(!a.success)return void h.oR.error(a.error||"Failed to create artifact");h.oR.success("Artifact created."),v.push(`/${b}/projects/${c}/artifacts`)}}catch(b){console.error("Error submitting artifact:",b);let a=b instanceof Error?b.message:"An unexpected error occurred.";h.oR.error(a)}};return(0,d.jsx)(m.lV,{...t,children:(0,d.jsxs)("form",{onSubmit:t.handleSubmit(x),className:"space-y-8",children:[(0,d.jsx)(i.a,{control:t.control,name:"name",label:"Name",placeholder:"Document Artifact",isRequired:!0}),(0,d.jsx)(i.a,{control:t.control,name:"id",label:"Id",placeholder:"my-artifact",disabled:!!a,isRequired:!0,description:a?"":"Choose a unique identifier for this artifact. Using an existing id will replace that artifact."}),(0,d.jsx)(j.K,{control:t.control,name:"description",label:"Description",placeholder:"Structured factual information extracted from search results",className:"min-h-[80px]",isRequired:!0}),(0,d.jsx)(k.S,{control:t.control,name:"props",label:"Props (JSON schema with inPreview indicators)",placeholder:"Enter a valid JSON Schema with inPreview flags, or leave empty to save entire tool result...",description:"Optional: Define specific fields with inPreview flags, or leave empty to capture the complete tool response."}),(0,d.jsx)(l.$,{type:"submit",disabled:u,children:"Save"})]})})}},44733:(a,b,c)=>{"use strict";c.d(b,{ArtifactComponentForm:()=>d});let d=(0,c(60241).registerClientReference)(function(){throw Error("Attempted to call ArtifactComponentForm() from the server but ArtifactComponentForm 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/artifact-components/form/artifact-component-form.tsx","ArtifactComponentForm")},45622:()=>{},56019:(a,b,c)=>{"use strict";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})})}},59567:(a,b,c)=>{Promise.resolve().then(c.bind(c,44733)),Promise.resolve().then(c.bind(c,97633)),Promise.resolve().then(c.bind(c,80248)),Promise.resolve().then(c.t.bind(c,93520,23))},62503:(a,b,c)=>{"use strict";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.")},67815:(a,b,c)=>{Promise.resolve().then(c.bind(c,39939)),Promise.resolve().then(c.bind(c,24003)),Promise.resolve().then(c.bind(c,19603)),Promise.resolve().then(c.t.bind(c,61678,23))},79363:(a,b,c)=>{Promise.resolve().then(c.bind(c,82408))},80974:(a,b,c)=>{"use strict";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"}},82408:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(59111),e=c(43433);function f(){return(0,d.jsx)(e.A,{description:"Something went wrong."})}},92478:()=>{},93056:(a,b,c)=>{"use strict";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:"Artifacts"}],children:(0,d.jsxs)(f.D,{children:[(0,d.jsx)(g.zY,{title:"Artifacts",description:i.lh}),(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-artifact-${b}`))})]})})}},96107:(a,b,c)=>{Promise.resolve().then(c.bind(c,37830))}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
exports.id=7320,exports.ids=[7320],exports.modules={437:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(89892).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},8636:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(60241).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/agents/agents/agents-manage-ui/src/app/[tenantId]/projects/[projectId]/not-found.tsx\" from the server, but it's 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/app/[tenantId]/projects/[projectId]/not-found.tsx","default")},24670:(a,b,c)=>{"use strict";c.d(b,{DataComponentForm:()=>y});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)("702474bf16d75ca7f0bdf94c2c9b505f973f9d7959",p.callServer,void 0,p.findSourceMapURL,"updateDataComponentAction"),r=(0,p.createServerReference)("70f4a95ee9257c41e2b902231349472def7fd674d3",p.callServer,void 0,p.findSourceMapURL,"createDataComponentAction");var s=c(42723);let t={id:"",name:"",description:"",props:""};var u=c(34576),v=c(80974),w=c(62503);let x=u.object({id:w.f,name:u.string().min(1,"Name is required."),description:u.string().min(1,"Description is required."),props:u.string().min(1,"Props schema is required.").transform((a,b)=>{try{let c=JSON.parse(a),d=(0,v._O)(a);if(!d.isValid){let a=d.errors[0]?.message||"Invalid JSON schema";return b.addIssue({code:u.ZodIssueCode.custom,message:a}),u.NEVER}return c}catch(a){return b.addIssue({code:u.ZodIssueCode.custom,message:(0,v.SR)(a)}),u.NEVER}}).optional()});function y({tenantId:a,projectId:b,id:c,initialData:p}){let u=(0,g.mN)({resolver:(0,e.u)(x),defaultValues:(a=>{if(!a)return t;let b={...a};return b.props&&(b.props=(0,s.S_)(b.props)),b})(p)}),{isSubmitting:v}=u.formState,w=(0,f.useRouter)();(0,o.S)({form:u,nameField:"name",idField:"id",isEditing:!!c});let y=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"),w.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,{...u,children:(0,d.jsxs)("form",{onSubmit:u.handleSubmit(y),className:"space-y-8",children:[(0,d.jsx)(i.a,{control:u.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:u.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:u.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:u.control,name:"props",label:"Props (JSON schema)",placeholder:"Enter a valid JSON Schema...",isRequired:!0}),(0,d.jsx)(l.$,{type:"submit",disabled:v,children:"Save"})]})})}},29160:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h,dynamic:()=>g});var d=c(72669),e=c(95460),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){(0,e.notFound)()}return(0,d.jsx)(d.Fragment,{children:a})}},35859:(a,b,c)=>{Promise.resolve().then(c.bind(c,8636))},37830:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h});var d=c(59111),e=c(437),f=c(485);c(14450);var g=c(2856);function h(){let a=(0,f.useParams)(),b=(0,f.useRouter)(),c=a.tenantId,h=a.projectId;return(0,d.jsx)("div",{className:"flex min-h-[400px] flex-col items-center justify-center p-8",children:(0,d.jsxs)("div",{className:"text-center max-w-md",children:[(0,d.jsx)("div",{className:"mb-4 flex justify-center",children:(0,d.jsx)(e.A,{className:"h-12 w-12 text-muted-foreground"})}),(0,d.jsx)("h1",{className:"text-2xl font-semibold mb-2",children:"Project Not Found"}),(0,d.jsxs)("p",{className:"text-muted-foreground mb-6",children:['The project "',h,"\" does not exist or you don't have access to it."]}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground mb-6",children:"Redirecting to projects list in 3 seconds..."}),(0,d.jsx)(g.$,{onClick:()=>b.push(`/${c}/projects`),variant:"default",children:"Go to Projects List"})]})})}},39878:(a,b,c)=>{"use strict";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})]})}},41325:(a,b,c)=>{Promise.resolve().then(c.bind(c,24670)),Promise.resolve().then(c.bind(c,24003)),Promise.resolve().then(c.bind(c,19603)),Promise.resolve().then(c.t.bind(c,61678,23))},45622:()=>{},53261:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(60241).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/agents/agents/agents-manage-ui/src/app/[tenantId]/projects/[projectId]/components/error.tsx\" from the server, but it's 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/app/[tenantId]/projects/[projectId]/components/error.tsx","default")},56019:(a,b,c)=>{"use strict";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})})}},62503:(a,b,c)=>{"use strict";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.")},71708:(a,b,c)=>{Promise.resolve().then(c.bind(c,81331))},77709:(a,b,c)=>{Promise.resolve().then(c.bind(c,98261)),Promise.resolve().then(c.bind(c,97633)),Promise.resolve().then(c.bind(c,80248)),Promise.resolve().then(c.t.bind(c,93520,23))},80974:(a,b,c)=>{"use strict";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"}},81331:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(59111),e=c(43433);function f(){return(0,d.jsx)(e.A,{description:"Something went wrong."})}},81597:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"403b960274132dca648bb98f2359d2022b16ca1f8b":()=>d.bW,"60389a5c095bdbd65d2a9ddbccc51de77c01523588":()=>d.Dv,"606778af7882431b69e79f9e48719115329cf7a5a7":()=>d.qf,"60a1a1c391183937e9eaeec8d57fadc209da58e255":()=>p,"60de3b418f019d2c7bd347d2f646771c6cb5823c24":()=>d.gL,"702474bf16d75ca7f0bdf94c2c9b505f973f9d7959":()=>r,"703562af0a49c0d1c9240b7fb09ecbabf36529908d":()=>d.Tg,"70e8f4bb5ae28f0c6f0e4276a64d8ed34c6d76eae4":()=>s,"70f4a95ee9257c41e2b902231349472def7fd674d3":()=>q});var d=c(72025),e=c(29991);c(58415);var f=c(83248),g=c(8703),h=c(45796),i=c(33451);async function j(a,b){(0,h.M2)(a),(0,h.nt)(b);let c=await (0,g.J)(`tenants/${a}/projects/${b}/data-components`);return{...c,data:c.data.map(a=>({...a,props:a.props||{}}))}}async function k(a,b,c){(0,h.M2)(a),(0,h.nt)(b);let d=await (0,g.J)(`tenants/${a}/projects/${b}/data-components/${c}`);return{...d.data,props:d.data.props||{}}}async function l(a,b,c){(0,h.M2)(a),(0,h.nt)(b);let d=await (0,g.J)(`tenants/${a}/projects/${b}/data-components`,{method:"POST",body:JSON.stringify(c)});return{...d.data,props:d.data.props||{}}}async function m(a,b,c){(0,h.M2)(a),(0,h.nt)(b);let d=await (0,g.J)(`tenants/${a}/projects/${b}/data-components/${c.id}`,{method:"PUT",body:JSON.stringify(c)});return{...d.data,props:d.data.props||{}}}async function n(a,b,c){(0,h.M2)(a),(0,h.nt)(b),await (0,g.J)(`tenants/${a}/projects/${b}/data-components/${c}`,{method:"DELETE"})}(0,i.D)([j,k,l,m,n]),(0,e.A)(j,"60b8c337448c3f21b493b46d6ffc5f21fd2dd7abc6",null),(0,e.A)(k,"70b51981f9cb3131b59a569673a9527c8413e4ad21",null),(0,e.A)(l,"70196338ee640f7c091da986d9aacc509086b6f3df",null),(0,e.A)(m,"7010d28df30c4548be32960fc7ec29b2c06a5712d1",null),(0,e.A)(n,"70868797934c30aff8834c0daf2228d471f8ff9b87",null);var o=c(36608);async function p(a,b){try{let c=await j(a,b);return{success:!0,data:c.data}}catch(a){if(a instanceof o.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 q(a,b,c){try{let d=await l(a,b,c);return(0,f.revalidatePath)(`/${a}/projects/${b}/components`),{success:!0,data:d}}catch(a){if(a instanceof o.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 r(a,b,c){try{let d=await m(a,b,c);return(0,f.revalidatePath)(`/${a}/projects/${b}/components`),(0,f.revalidatePath)(`/${a}/projects/${b}/components/${c.id}`),{success:!0,data:d}}catch(a){if(a instanceof o.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 s(a,b,c){try{return await n(a,b,c),(0,f.revalidatePath)(`/${a}/projects/${b}/components`),(0,f.revalidatePath)(`/${a}/projects/${b}/components/${c}`),{success:!0}}catch(a){if(a instanceof o.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,i.D)([p,q,r,s]),(0,e.A)(p,"60a1a1c391183937e9eaeec8d57fadc209da58e255",null),(0,e.A)(q,"70f4a95ee9257c41e2b902231349472def7fd674d3",null),(0,e.A)(r,"702474bf16d75ca7f0bdf94c2c9b505f973f9d7959",null),(0,e.A)(s,"70e8f4bb5ae28f0c6f0e4276a64d8ed34c6d76eae4",null)},85276:(a,b,c)=>{Promise.resolve().then(c.bind(c,53261))},92107:(a,b,c)=>{"use strict";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}`))})]})})}},92478:()=>{},96107:(a,b,c)=>{Promise.resolve().then(c.bind(c,37830))},98261:(a,b,c)=>{"use strict";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")}};
|