@inkeep/agents-manage-ui 0.0.0-dev-20260202060901 → 0.0.0-dev-20260202155313
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/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]/@breadcrumbs/[...slug]/page/server-reference-manifest.json +135 -135
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/@breadcrumbs/[...slug]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/@breadcrumbs/[...slug]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page/server-reference-manifest.json +19 -19
- 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/react-loadable-manifest.json +6 -6
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page/server-reference-manifest.json +167 -167
- 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/[agentId]/triggers/[triggerId]/edit/page/server-reference-manifest.json +138 -138
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/triggers/[triggerId]/edit/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/triggers/[triggerId]/edit/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/triggers/[triggerId]/invocations/page/server-reference-manifest.json +135 -135
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/triggers/[triggerId]/invocations/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/triggers/[triggerId]/invocations/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/triggers/new/page/server-reference-manifest.json +138 -138
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/triggers/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/triggers/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/triggers/page/server-reference-manifest.json +140 -140
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/triggers/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/triggers/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page/server-reference-manifest.json +125 -125
- 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/server-reference-manifest.json +148 -148
- 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/server-reference-manifest.json +138 -138
- 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/server-reference-manifest.json +138 -138
- 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/server-reference-manifest.json +136 -136
- 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/server-reference-manifest.json +132 -132
- 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/server-reference-manifest.json +132 -132
- 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/server-reference-manifest.json +136 -136
- 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/server-reference-manifest.json +132 -132
- 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/server-reference-manifest.json +138 -138
- 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/server-reference-manifest.json +137 -137
- 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/server-reference-manifest.json +132 -132
- 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/server-reference-manifest.json +135 -135
- 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/server-reference-manifest.json +136 -136
- 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]/datasets/[datasetId]/page/server-reference-manifest.json +148 -148
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/datasets/[datasetId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/datasets/[datasetId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/datasets/[datasetId]/runs/[runId]/page/server-reference-manifest.json +135 -135
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/datasets/[datasetId]/runs/[runId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/datasets/[datasetId]/runs/[runId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/datasets/new/page/server-reference-manifest.json +137 -137
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/datasets/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/datasets/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/datasets/page/server-reference-manifest.json +137 -137
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/datasets/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/datasets/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/evaluations/jobs/[configId]/page/server-reference-manifest.json +135 -135
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/evaluations/jobs/[configId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/evaluations/jobs/[configId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/evaluations/page/server-reference-manifest.json +154 -154
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/evaluations/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/evaluations/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/evaluations/run-configs/[configId]/page/server-reference-manifest.json +139 -139
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/evaluations/run-configs/[configId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/evaluations/run-configs/[configId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page/server-reference-manifest.json +131 -131
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page/server-reference-manifest.json +135 -135
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page/server-reference-manifest.json +131 -131
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page/server-reference-manifest.json +136 -136
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page/server-reference-manifest.json +137 -137
- 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/server-reference-manifest.json +134 -134
- 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/server-reference-manifest.json +139 -139
- 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/server-reference-manifest.json +136 -136
- 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]/members/page/server-reference-manifest.json +139 -139
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/members/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/members/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page/server-reference-manifest.json +135 -135
- 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/server-reference-manifest.json +135 -135
- 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/server-reference-manifest.json +136 -136
- 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/server-reference-manifest.json +135 -135
- 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/[projectId]/traces/tool-calls/page/server-reference-manifest.json +135 -135
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/tool-calls/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/tool-calls/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page/server-reference-manifest.json +136 -136
- 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/[tenantId]/settings/page/server-reference-manifest.json +139 -139
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/settings/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/stats/ai-calls/page/server-reference-manifest.json +135 -135
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/stats/ai-calls/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/stats/ai-calls/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/stats/page/server-reference-manifest.json +135 -135
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/stats/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/stats/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/stats/tool-calls/page/server-reference-manifest.json +135 -135
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/stats/tool-calls/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/stats/tool-calls/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.html +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.segments/_tree.segment.rsc +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 +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/device.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/device.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/device.segments/_full.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/device.segments/_head.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/device.segments/_index.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/device.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/device.segments/device/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/device.segments/device.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/index.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/index.rsc +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/login.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/login.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/login.segments/_full.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/login.segments/_index.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.segments/_full.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.segments/_head.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.segments/_index.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.segments/no-organization/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.segments/no-organization.segment.rsc +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/page/server-reference-manifest.json +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/chunks/[root-of-the-server]__4d4a98dd._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/_1855ee62._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/_e239400f._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/01f2c_agents_[agentId]_triggers_[triggerId]_invocations_page_actions_6d2145d1.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/2801f_projects_[projectId]_datasets_[datasetId]_runs_[runId]_page_tsx_a41a63ff._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{3b7e8_monaco-editor_esm_vs_76442143._.js → 3b7e8_monaco-editor_esm_vs_a73396c3._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{3b7e8_monaco-editor_esm_vs_0535d8e5._.js → 3b7e8_monaco-editor_esm_vs_a7f165b8._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/44892_[tenantId]_projects_[projectId]_agents_[agentId]_triggers_page_actions_ce26dc16.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/44892_[tenantId]_projects_[projectId]_credentials_new_providers_page_actions_4c01036e.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/4d871_projects_[projectId]_datasets_[datasetId]_runs_[runId]_page_actions_988c82ec.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/6b50a_app_[tenantId]_projects_[projectId]_agents_[agentId]_page_actions_3349a171.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/6b50a_app_[tenantId]_projects_[projectId]_credentials_new_page_actions_3395b4fd.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/6b50a_app_[tenantId]_projects_[projectId]_traces_ai-calls_page_actions_ae953950.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/6b50a_app_[tenantId]_projects_[projectId]_traces_tool-calls_page_actions_0c975c46.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/8d849_app_[tenantId]_projects_[projectId]_credentials_new_bearer_page_tsx_bfa15333._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__033128ab._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__03755e0b._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{[root-of-the-server]__72109551._.js → [root-of-the-server]__0775574c._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__07b5999e._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__1167d6e8._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__12e75510._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__1ccdd69a._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{[root-of-the-server]__bb2a441a._.js → [root-of-the-server]__1cf4fe2d._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__2b77b579._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__316ccdd9._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{[root-of-the-server]__3bd45367._.js → [root-of-the-server]__3dd11c79._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__48b01cec._.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__4a4a0234._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__4d11e3e9._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__5ce80b8a._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__5f6f3731._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__60c7a337._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{[root-of-the-server]__572e9e89._.js → [root-of-the-server]__70df7dff._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{[root-of-the-server]__a4ae945b._.js → [root-of-the-server]__726addcc._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__7c08da8a._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__84c3aa44._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{[root-of-the-server]__9165ff26._.js → [root-of-the-server]__8f5c92f5._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__933397b9._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__9e73f4f0._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__9feab291._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__a254b5f1._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__a4ba388d._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__a5b0b2fd._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__a826b523._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__aad94406._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__bdf0844a._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{[root-of-the-server]__952f2e13._.js → [root-of-the-server]__bf8fb48d._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__d59514a4._.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__d8031f58._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__dcd7d792._.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__dd6b876e._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__df244446._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__e8007a37._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__e8037b5d._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/[root-of-the-server]__f2f5e9e2._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_00c19e5c._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_db6731e0._.js → _0331f205._.js} +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_f3431775._.js → _08ea42ca._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_0a2602e0._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_0bd776c1._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_112b53c6._.js +3 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_a55a0c95._.js → _11acbbeb._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_157f705c._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_1e66b9df._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_2b163258._.js → _223bcaf2._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_2385ad2f._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_58ef3eec._.js → _2529a4e8._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_28068e81._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_2b78d66f._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_1bc8f999._.js → _2e0fb2b9._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_38992463._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_5c16d0f3._.js → _48caf503._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_0f4b455b._.js → _4a873142._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_3ca147ab._.js → _4b3c5dd7._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_4d10f12f._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_4de53cc6._.js +3 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_525811f1._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_552fe25e._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_5804d9de._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_94bf9c68._.js → _63968835._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_6604a287._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_69bf777f._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_6ada736a._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_72e92a10._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_7af98bef._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_7bd53feb._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_5ffefa26._.js → _8286c679._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_84d34514._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_8596ec3f._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_fc81ba5f._.js → _876f6623._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_72adecf5._.js → _8ce50aa1._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_8ecf5bad._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_91ebb9a8._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_9ca35595._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_9cf58f7d._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_a50cf079._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_a6912eaf._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_a69794a2._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_aced85d1._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_b06a7cea._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_b76a9960._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_bad301a7._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_31003bbf._.js → _bd681119._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_d6139803._.js → _c7f7234f._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_ffa2c375._.js → _c85052ca._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_cb924110._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_513f12d3._.js → _d9bc90c1._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{_5c396e23._.js → _e1100dcb._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_e2d2d894._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_e642dcb0._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_e80d8d33._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_ebb155d7._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_f0d4b89b._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_f0f3bd68._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_02eddc8d._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_04e25339._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_13f2596a._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_16835166._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_1ca09704._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_1d5ec061._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_250b3155._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_327dc23a._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_4315221c._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_45f53172._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_4a9cd754._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_4ff6ea98._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_527b9240._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_59aef76c._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_8927ad6e._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_8b6cda1c._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_8cc98915._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_9a95466a._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_af2c22e1._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_b77303f7._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_cb51c96d._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_d0ea1155._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_dbf5acab._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_38c82cde._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_56924255._.js +4 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{agents-manage-ui_src_6cd9c32f._.js → agents-manage-ui_src_57027289._.js} +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{agents-manage-ui_src_317eb825._.js → agents-manage-ui_src_67a487e5._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_70682912._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_7b1519f4._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_7e433d9c._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{agents-manage-ui_src_e9b9a098._.js → agents-manage-ui_src_8acbf074._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_9dd39ecd._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{agents-manage-ui_src_2e25ed0b._.js → agents-manage-ui_src_a3dcb285._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_a788ad0e._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_app_[tenantId]_settings_page_tsx_e3878235._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_app_[tenantId]_stats_ai-calls_page_tsx_7d404d39._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_app_[tenantId]_stats_tool-calls_page_tsx_cdfe0a94._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_b4417edd._.js +4 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_components_access_project-members-wrapper_tsx_551fee97._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_components_api-keys_2215db83._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{agents-manage-ui_src_b2c6e225._.js → agents-manage-ui_src_d359b49c._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{agents-manage-ui_src_d2ead8eb._.js → agents-manage-ui_src_d7e8037a._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_fa40cd93._.js +12 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_fb9fa8a6._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_ffef4a6c._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_lib_2ac7eb51._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_lib_74b4d2c9._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_lib_api_33c2123c._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_lib_api_6ac17b03._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_lib_api_b637cffe._.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/b84a3__next-internal_server_app_[tenantId]_projects_page_actions_f5c5d3b3.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/b905c_server_app_[tenantId]_projects_[projectId]_settings_page_actions_e2b20e6c.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/b905c_server_app_[tenantId]_projects_[projectId]_traces_page_actions_a408cb5a.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_5c17d92b._.js → node_modules__pnpm_033fdb58._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_3374f749._.js → node_modules__pnpm_048a06fd._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_ba09e035._.js → node_modules__pnpm_064fa709._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_1f90e1db._.js → node_modules__pnpm_082741b0._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_683e7f90._.js → node_modules__pnpm_0b4da1cb._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_9b373243._.js → node_modules__pnpm_0c17782b._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_8a57c302._.js → node_modules__pnpm_0c7fac1d._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_31c0e128._.js → node_modules__pnpm_0e36ae7a._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_fccf3abb._.js → node_modules__pnpm_0f00da0b._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_6cd1994b._.js → node_modules__pnpm_12041486._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_20e2a22f._.js → node_modules__pnpm_16ef0db2._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_4148113b._.js → node_modules__pnpm_1d5a9c66._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_9cf383e9._.js → node_modules__pnpm_242adfca._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_b80779b5._.js → node_modules__pnpm_254f8afd._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_fdba14a5._.js → node_modules__pnpm_26019682._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_1acbf3a5._.js → node_modules__pnpm_29a3a390._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_7e060ee7._.js → node_modules__pnpm_2ab39fc8._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_0d72d9d9._.js → node_modules__pnpm_2dbc80b4._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_627f0584._.js → node_modules__pnpm_30a7d62e._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_c06020f0._.js → node_modules__pnpm_32b6574f._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_4bb03951._.js → node_modules__pnpm_35b55359._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_5591b484._.js → node_modules__pnpm_387d05fc._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_762ca9d1._.js → node_modules__pnpm_3992a2f4._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_6dead2e8._.js → node_modules__pnpm_3b9bb9f7._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_69afcbe7._.js → node_modules__pnpm_416aa605._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_4460e623._.js → node_modules__pnpm_42ddb793._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_5519ca7b._.js → node_modules__pnpm_4a682595._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_329d43ce._.js → node_modules__pnpm_4db5aa6f._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_2ca3301b._.js → node_modules__pnpm_4dce39df._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_3ca5b506._.js → node_modules__pnpm_4f52e19a._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_226af378._.js → node_modules__pnpm_5006240e._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_2e8bcab8._.js → node_modules__pnpm_51cf21d1._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_1ee8e301._.js → node_modules__pnpm_5608b6a6._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_b9f5d1a9._.js → node_modules__pnpm_59e17470._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_849817ae._.js → node_modules__pnpm_5b438b13._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_5dad43c2._.js → node_modules__pnpm_60bf3a23._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_ca737786._.js → node_modules__pnpm_64edde08._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_6df59710._.js → node_modules__pnpm_6725383b._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_446a00aa._.js → node_modules__pnpm_68b5b2a1._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_7eed52bb._.js → node_modules__pnpm_69b9179f._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_5dd6f101._.js → node_modules__pnpm_6afd0059._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_b17673d3._.js → node_modules__pnpm_6e4e6001._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_db48472f._.js → node_modules__pnpm_7051c9f6._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_3df1ab30._.js → node_modules__pnpm_71fdacaa._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_3e126d16._.js → node_modules__pnpm_73d3dc3d._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_3fccc64f._.js → node_modules__pnpm_74ff50d1._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_403a0638._.js → node_modules__pnpm_755d4789._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_36fd23eb._.js → node_modules__pnpm_77ee6fcb._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_8407acb9._.js → node_modules__pnpm_787e831c._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_5b367fdd._.js → node_modules__pnpm_78c03260._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_c6b8667a._.js → node_modules__pnpm_7901b309._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_efa4faba._.js → node_modules__pnpm_7a368e6e._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_f026f744._.js → node_modules__pnpm_7f669081._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_a31c97fd._.js → node_modules__pnpm_81240b17._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_4366a2df._.js → node_modules__pnpm_82e939ec._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_f99b9c88._.js → node_modules__pnpm_8673d4cf._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_4dda408d._.js → node_modules__pnpm_87e1727c._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_8b7a4156._.js → node_modules__pnpm_88aef853._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_8e453892._.js → node_modules__pnpm_91737c07._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_c14b87a6._.js → node_modules__pnpm_999f6532._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_dc7bcb44._.js → node_modules__pnpm_9cc46915._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_7a9620fa._.js → node_modules__pnpm_a1c1c65d._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_ada9bd3b._.js → node_modules__pnpm_a1ffbc22._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_463c1243._.js → node_modules__pnpm_a2487a77._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_d1a817ed._.js → node_modules__pnpm_a2f28902._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_8bf6731d._.js → node_modules__pnpm_a309494e._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_b3ad1e9b._.js → node_modules__pnpm_a31abc41._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_33abec35._.js → node_modules__pnpm_a9846645._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_a3266785._.js → node_modules__pnpm_afc29e57._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_57e42c2b._.js → node_modules__pnpm_b204a224._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_49fe7e3f._.js → node_modules__pnpm_b3d837ee._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_f01b4eaa._.js → node_modules__pnpm_b60a1b0e._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_a5ee02d0._.js → node_modules__pnpm_c596ec7e._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_b9fc0e32._.js → node_modules__pnpm_c756d3d8._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_89f686d7._.js → node_modules__pnpm_cd2a45d9._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_c7e64975._.js → node_modules__pnpm_cee77460._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_e8f64946._.js → node_modules__pnpm_cf41d542._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_74aed2e0._.js → node_modules__pnpm_cfefe3e8._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_eee7259a._.js → node_modules__pnpm_d09a0cf3._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_a3a25f8e._.js → node_modules__pnpm_d1aa42b7._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_ec124f53._.js → node_modules__pnpm_d2380fd6._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_0cfbc17d._.js → node_modules__pnpm_d251edc0._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_d0c3926d._.js → node_modules__pnpm_d548b15d._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_5e0a4164._.js → node_modules__pnpm_dda1ed4d._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_59eda5a7._.js → node_modules__pnpm_dfe2e1f5._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_d050a643._.js → node_modules__pnpm_e1729ec2._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_8946f8c1._.js → node_modules__pnpm_e3ba62e6._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_9c581d0d._.js → node_modules__pnpm_e51f879d._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_017765c5._.js → node_modules__pnpm_e6014ce1._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_0640e93f._.js → node_modules__pnpm_e73a11e7._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_87c03e63._.js → node_modules__pnpm_e751605e._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_909b3ef2._.js → node_modules__pnpm_e7a4c184._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_cbb309cc._.js → node_modules__pnpm_e8385871._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_d893d0d7._.js → node_modules__pnpm_e9a52b6b._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_4509c59b._.js → node_modules__pnpm_e9c478a3._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_ec7f8f00._.js → node_modules__pnpm_ec7b1406._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_eea6acc0._.js → node_modules__pnpm_ef37e7fe._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_2d353142._.js → node_modules__pnpm_f31b7bcf._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_e7eacf96._.js → node_modules__pnpm_f47228b4._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_6b1a6737._.js → node_modules__pnpm_f5f10a03._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_d74fadaf._.js → node_modules__pnpm_f7d2beba._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_299be082._.js → node_modules__pnpm_fad33409._.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_35aca572._.js → node_modules__pnpm_fba3278a._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/{node_modules__pnpm_f5491674._.js → node_modules__pnpm_fd4af191._.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/pages/404.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/pages/500.html +2 -2
- 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 +1600 -1600
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{9b1fac7b87228a87.js → 0a77c83e00911e92.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{71d4e9fc574af382.js → 10c013e07b61fd8b.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{cea7a0f41cd0c439.js → 177e495ad4554960.js} +4 -4
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{53c0a78cb5964217.js → 26c5fee1a96c0a06.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{a3427f0ae4b04d5e.js → 271536df975af77b.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{ccd3ec9bf9ae10fc.js → 2a29037f5bb3d562.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{3c78e866afd2d18e.js → 2a8a2d5556915d4b.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{5850a254e9ea4f8f.js → 2c9a0f7f3d403b12.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{4213928e677d586e.js → 2ccf2dd29f8d8a01.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{5a42ea4500899423.js → 2dd885514f58eefa.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{c38066ad3f806cd2.js → 36e5b7917fb68d4a.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{ac54385be370046d.js → 396bd974d4799942.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/3ad48348e291270f.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{357c51e73e46634c.js → 3b80be302b31797e.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/static/chunks/3fedd2a6e121676a.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{e54f305141e14d50.js → 414b9e82fa2e71ec.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{fb845fa311f9ef79.js → 4520ec122277b93a.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{41858a0264b6c689.js → 47f3c12aed584789.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{56aa65f7ae2feb1d.js → 4d86474c9663235f.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/54c5221ee8e82b4b.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/6cc905b5bed68f18.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{24943294f07ed567.js → 6e6267f54a3aca27.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{56067e69bd90802c.js → 76b8690650eebf8a.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{c52565de8c79ee4a.js → 7e537c40534e1fcc.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/808f7213abd874d1.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{467426a1973e2ff2.js → 80971f8e3a3cbfae.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{66bc7bd2a5a60b4d.js → 80b3c326c449fd2a.js} +2 -2
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{7e54e923e62fec0b.js → 896d1556ecc6df0e.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{d3eb41c9c10df06f.js → 8dfd5e5710b6b093.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{48269b7edec4b97f.js → 8fa6b14eb873e81e.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{c5d7aa089b83bc19.js → 9c224db8e2e538d6.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/9ffe68f85aa293c5.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{46d1df4ec76141d1.js → abc789cbd4a8530a.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{62f5e206c2cf0aeb.js → b5588a5617b56412.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{d0e01c26a12513a2.js → bb601862d1c173a9.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{249048de0d395afc.js → be5ecdae8723ea1f.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{51fee45a38a6b316.js → be96a71a411cff43.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{a2fb11bd97beff8c.js → c798288e52d98bad.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/ca9728f5dfcf9c49.js +2 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{a219429441d16774.js → cabce487d27f8fca.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{f78dd826d97f3281.js → d7279cf231be4051.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{211434b80a2f880e.js → dafd8b7a2125edcd.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/dc74fd1717fb5706.js +14 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{d2c2734041cbf42e.js → e1fbf43b3b485755.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{440323429f85222a.js → ecd3a1d5cf4d0dfb.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{754be8d2dc8647d3.js → f435f826b79cd11e.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{31c9e90b64eeb90d.js → f7e0e4e533c23a4f.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/f8b3b1afa9516c9e.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{94418a572de4b7b9.js → fb06d06b2872ba6f.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{62be48402066c716.js → fe0c9b288152a439.js} +1 -1
- package/package.json +2 -2
- package/src/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.client.tsx +18 -55
- package/src/components/agent/configuration/resolve-collisions.ts +114 -0
- package/src/features/agent/domain/deserialize.ts +1 -1
- package/src/features/agent/state/use-agent-store.ts +15 -15
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_45c078b0._.js +0 -3
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/_54a389cc._.js +0 -3
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_978e31ae._.js +0 -4
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_9eeadc81._.js +0 -4
- package/.next/standalone/agents-manage-ui/.next/server/chunks/ssr/agents-manage-ui_src_e76dfb78._.js +0 -12
- package/.next/standalone/agents-manage-ui/.next/static/chunks/012a0ff090d452db.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/0a5446d929caf4ed.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/0e77a8424c5ab170.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/3b5bc530533e1822.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/5b343e12a3628d27.js +0 -2
- package/.next/standalone/agents-manage-ui/.next/static/chunks/773553417c9670dd.js +0 -14
- package/.next/standalone/agents-manage-ui/.next/static/chunks/ad588099eeb2a1d8.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/d26207fdc70a8ff1.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/d9bc85ee8f3ff1c0.js +0 -1
- /package/.next/standalone/agents-manage-ui/.next/static/{ixzo_vGPszYDV8tPhWjV4 → -q8dKPcFkXSECflXZniaB}/_buildManifest.js +0 -0
- /package/.next/standalone/agents-manage-ui/.next/static/{ixzo_vGPszYDV8tPhWjV4 → -q8dKPcFkXSECflXZniaB}/_clientMiddlewareManifest.json +0 -0
- /package/.next/standalone/agents-manage-ui/.next/static/{ixzo_vGPszYDV8tPhWjV4 → -q8dKPcFkXSECflXZniaB}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,837580,e=>{"use strict";let t=(0,e.i(918260).default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);e.s(["default",()=>t])},985744,e=>{"use strict";var t=e.i(718267),a=e.i(608449),r=e.i(122965),l=e.i(692068),n=e.i(291967),i=e.i(627254),s=e.i(292546),o=e.i(192192),c=e.i(792752),d=e.i(263041),u="Checkbox",[m,h]=(0,l.createContextScope)(u),[p,f]=m(u);function y(e){let{__scopeCheckbox:r,checked:l,children:n,defaultChecked:s,disabled:o,form:c,name:d,onCheckedChange:m,required:h,value:f="on",internal_do_not_use_render:y}=e,[x,b]=(0,i.useControllableState)({prop:l,defaultProp:s??!1,onChange:m,caller:u}),[g,v]=a.useState(null),[S,j]=a.useState(null),k=a.useRef(!1),N=!g||!!c||!!g.closest("form"),T={checked:x,disabled:o,setChecked:b,control:g,setControl:v,name:d,form:c,value:f,hasConsumerStoppedPropagationRef:k,required:h,defaultChecked:!C(s)&&s,isFormControl:N,bubbleInput:S,setBubbleInput:j};return(0,t.jsx)(p,{scope:r,...T,children:"function"==typeof y?y(T):n})}var x="CheckboxTrigger",b=a.forwardRef(({__scopeCheckbox:e,onKeyDown:l,onClick:i,...s},o)=>{let{control:c,value:u,disabled:m,checked:h,required:p,setControl:y,setChecked:b,hasConsumerStoppedPropagationRef:g,isFormControl:v,bubbleInput:S}=f(x,e),j=(0,r.useComposedRefs)(o,y),k=a.useRef(h);return a.useEffect(()=>{let e=c?.form;if(e){let t=()=>b(k.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[c,b]),(0,t.jsx)(d.Primitive.button,{type:"button",role:"checkbox","aria-checked":C(h)?"mixed":h,"aria-required":p,"data-state":N(h),"data-disabled":m?"":void 0,disabled:m,value:u,...s,ref:j,onKeyDown:(0,n.composeEventHandlers)(l,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,n.composeEventHandlers)(i,e=>{b(e=>!!C(e)||!e),S&&v&&(g.current=e.isPropagationStopped(),g.current||e.stopPropagation())})})});b.displayName=x;var g=a.forwardRef((e,a)=>{let{__scopeCheckbox:r,name:l,checked:n,defaultChecked:i,required:s,disabled:o,value:c,onCheckedChange:d,form:u,...m}=e;return(0,t.jsx)(y,{__scopeCheckbox:r,checked:n,defaultChecked:i,disabled:o,required:s,onCheckedChange:d,name:l,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(b,{...m,ref:a,__scopeCheckbox:r}),e&&(0,t.jsx)(k,{__scopeCheckbox:r})]})})});g.displayName=u;var v="CheckboxIndicator",S=a.forwardRef((e,a)=>{let{__scopeCheckbox:r,forceMount:l,...n}=e,i=f(v,r);return(0,t.jsx)(c.Presence,{present:l||C(i.checked)||!0===i.checked,children:(0,t.jsx)(d.Primitive.span,{"data-state":N(i.checked),"data-disabled":i.disabled?"":void 0,...n,ref:a,style:{pointerEvents:"none",...e.style}})})});S.displayName=v;var j="CheckboxBubbleInput",k=a.forwardRef(({__scopeCheckbox:e,...l},n)=>{let{control:i,hasConsumerStoppedPropagationRef:c,checked:u,defaultChecked:m,required:h,disabled:p,name:y,value:x,form:b,bubbleInput:g,setBubbleInput:v}=f(j,e),S=(0,r.useComposedRefs)(n,v),k=(0,s.usePrevious)(u),N=(0,o.useSize)(i);a.useEffect(()=>{if(!g)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!c.current;if(k!==u&&e){let a=new Event("click",{bubbles:t});g.indeterminate=C(u),e.call(g,!C(u)&&u),g.dispatchEvent(a)}},[g,k,u,c]);let T=a.useRef(!C(u)&&u);return(0,t.jsx)(d.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:m??T.current,required:h,disabled:p,name:y,value:x,form:b,...l,tabIndex:-1,ref:S,style:{...l.style,...N,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function C(e){return"indeterminate"===e}function N(e){return C(e)?"indeterminate":e?"checked":"unchecked"}k.displayName=j;var T=e.i(874206),I=e.i(837580),I=I,E=e.i(407086);function w({className:e,...a}){return(0,t.jsx)(g,{"data-slot":"checkbox",className:(0,E.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=indeterminate]:bg-primary dark:data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground data-[state=indeterminate]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...a,children:(0,t.jsx)(S,{"data-slot":"checkbox-indicator",className:"flex items-center justify-center text-current transition-none",children:"indeterminate"===a.checked?(0,t.jsx)(I.default,{className:"size-3.5"}):(0,t.jsx)(T.CheckIcon,{className:"size-3.5"})})})}e.s(["Checkbox",()=>w],985744)},960622,e=>{"use strict";var t=e.i(718267),a=e.i(189258),r=e.i(574530);function l({control:e,name:l,label:n,placeholder:i,options:s,disabled:o=!1,selectTriggerClassName:c,description:d,isRequired:u=!1}){return(0,t.jsx)(r.FormFieldWrapper,{control:e,name:l,label:n,description:d,isRequired:u,children:e=>(0,t.jsxs)(a.Select,{onValueChange:e.onChange,defaultValue:e.value,disabled:o,children:[(0,t.jsx)(a.SelectTrigger,{disabled:o,className:c,children:(0,t.jsx)(a.SelectValue,{placeholder:i})}),(0,t.jsx)(a.SelectContent,{children:s.map(e=>(0,t.jsx)(a.SelectItem,{value:e.value,disabled:e.disabled,children:e.label},e.value))})]})})}e.s(["GenericSelect",()=>l])},594228,e=>{"use strict";var t=e.i(530907);let a=(0,t.createServerReference)("707d7d14c7790e1cd8e190af82def0bc151df63c46",t.callServer,void 0,t.findSourceMapURL,"findOrCreateCredential");e.s(["findOrCreateCredential",()=>a])},691829,e=>{"use strict";var t=e.i(530907);let a=(0,t.createServerReference)("60366826d33f259488308e2684f46aa52abaa245aa",t.callServer,void 0,t.findSourceMapURL,"listCredentialStores");e.s(["listCredentialStores",()=>a])},369404,e=>{"use strict";var t=e.i(530907);let a=(0,t.createServerReference)("78fcee2eb6d84ab65be5f0e55ab655f03ec1dfd9e2",t.callServer,void 0,t.findSourceMapURL,"updateMCPTool");e.s(["updateMCPTool",()=>a])},942575,e=>{"use strict";var t=e.i(530907);let a=(0,t.createServerReference)("78c2ead7468290685cac933d49f7e21d5c594460a0",t.callServer,void 0,t.findSourceMapURL,"updateExternalAgent");e.s(["updateExternalAgent",()=>a])},240130,e=>{"use strict";var t=e.i(140508),a=e.i(76906),r=e.i(433575),l=e.i(530907);let n=(0,l.createServerReference)("7809639e68486ebfb1b79a6847dba01563c4ee8975",l.callServer,void 0,l.findSourceMapURL,"fetchExternalAgents");function i(e){let l,i,s,o,c,d,u=(0,t.c)(12);u[0]!==e?(l=void 0===e?{}:e,u[0]=e,u[1]=l):l=u[1];let{enabled:m}=l,h=void 0===m||m,{tenantId:p,projectId:f}=(0,r.useParams)();if(!p||!f)throw Error("tenantId and projectId are required");return u[2]!==f||u[3]!==p?(i=["external-agents",p,f],s=()=>n(p,f),u[2]=f,u[3]=p,u[4]=i,u[5]=s):(i=u[4],s=u[5]),u[6]===Symbol.for("react.memo_cache_sentinel")?(o=[],u[6]=o):o=u[6],u[7]===Symbol.for("react.memo_cache_sentinel")?(c={defaultError:"Failed to load external agents"},u[7]=c):c=u[7],u[8]!==h||u[9]!==i||u[10]!==s?(d={queryKey:i,queryFn:s,enabled:h,staleTime:3e4,initialData:o,initialDataUpdatedAt:0,meta:c},u[8]=h,u[9]=i,u[10]=s,u[11]=d):d=u[11],(0,a.useQuery)(d)}e.s(["useExternalAgentsQuery",()=>i],240130)},208048,330585,e=>{"use strict";var t=e.i(718267),a=e.i(411859),r=e.i(924442),l=e.i(608449),n=e.i(325761),i=e.i(634252),s=e.i(348418),o=e.i(558399),c=e.i(407086);function d({control:e,name:d,label:u,description:m,keyPlaceholder:h="key",valuePlaceholder:p="value",addButtonLabel:f="Add item",isRequired:y,disabled:x=!1}){let{fields:b,append:g,remove:v}=(0,n.useFieldArray)({control:e,name:d}),S=(0,n.useWatch)({control:e,name:d}),j=(0,l.useMemo)(()=>{if(!S)return new Set;let e=S.map(e=>e.key?.trim()).filter(Boolean),t=new Set,a=new Set;for(let r of e)t.has(r)&&a.add(r),t.add(r);return a},[S]),k=(0,l.useCallback)((e,t,a)=>{if("Enter"===e.key)if(e.preventDefault(),"key"===a){let e=document.querySelector(`[data-index="${t}"][data-field="value"]`);e?.focus()}else g({key:"",value:""}),setTimeout(()=>{let e=document.querySelector(`[data-index="${t+1}"][data-field="key"]`);e?.focus()},0)},[g]);return(0,t.jsxs)(s.FormItem,{children:[(0,t.jsx)(s.FormLabel,{isRequired:y,children:u}),(0,t.jsxs)("div",{className:"space-y-2",children:[b.map((a,l)=>{let n=S?.[l]?.key?.trim()||"",u=n&&j.has(n);return(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(s.FormField,{control:e,name:`${d}.${l}.key`,render:({field:e})=>(0,t.jsx)(s.FormControl,{children:(0,t.jsx)(o.Input,{...e,"data-index":l,"data-field":"key",placeholder:h,onKeyDown:e=>k(e,l,"key"),className:(0,c.cn)("flex-1",u&&"ring-2 ring-destructive/50 focus-visible:ring-destructive"),"aria-invalid":u||void 0,disabled:x})})}),(0,t.jsx)("span",{className:"text-muted-foreground select-none",children:":"}),(0,t.jsx)(s.FormField,{control:e,name:`${d}.${l}.value`,render:({field:e})=>(0,t.jsx)(s.FormControl,{children:(0,t.jsx)(o.Input,{...e,"data-index":l,"data-field":"value",placeholder:p,onKeyDown:e=>k(e,l,"value"),className:"flex-1",disabled:x})})}),!x&&(0,t.jsx)(i.Button,{type:"button",variant:"ghost",size:"icon",onClick:()=>v(l),"aria-label":"Remove entry",children:(0,t.jsx)(r.X,{className:"h-4 w-4"})})]},a.id)}),!x&&(0,t.jsxs)(i.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>g({key:"",value:""}),className:"text-primary hover:text-primary",children:[(0,t.jsx)(a.Plus,{className:"h-4 w-4"}),f]})]}),m&&(0,t.jsx)(s.FormDescription,{children:m}),j.size>0&&(0,t.jsxs)("p",{className:"text-sm font-medium text-destructive",children:["Keys must be unique. Duplicate keys: ",Array.from(j).join(", ")]}),(0,t.jsx)(s.FormMessage,{})]})}e.s(["GenericKeyValueInput",()=>d],208048),e.i(502927);var u=e.i(850242),m=e.i(699487);let h=m.z.object({key:m.z.string(),value:m.z.string()}),p=m.z.array(h).default([]).superRefine((e,t)=>{let a=e.map(e=>e.key.trim()).filter(Boolean),r=new Set,l=new Set;for(let e of a)r.has(e)?l.add(e):r.add(e);l.size>0&&t.addIssue({code:m.z.ZodIssueCode.custom,message:"Keys must be unique."})}),f=m.z.object({name:m.z.string().min(1,"Name is required").refine(e=>e.length>0,"Name cannot be empty after transformation").refine(e=>e.length<=50,"Name must be 50 characters or less"),apiKeyToSet:m.z.string().min(1,"Enter an API key"),metadata:p,credentialStoreId:m.z.string().min(1,"Please select a credential store"),credentialStoreType:m.z.enum(u.CredentialStoreType),selectedTool:m.z.string().optional(),selectedExternalAgent:m.z.string().optional()});function y(e){let t={};for(let{key:a,value:r}of e){let e=a.trim();e&&(t[e]=r)}return t}e.s(["credentialFormSchema",0,f,"keyValuePairsToRecord",()=>y,"metadataSchema",0,p],330585)},939711,e=>{"use strict";var t=e.i(718267),a=e.i(502927),r=e.i(850242),l=e.i(433575),n=e.i(608449),i=e.i(60364),s=e.i(140508),o=e.i(429385),c=e.i(325761),d=e.i(600840),u=e.i(208048),m=e.i(960622),h=e.i(634252),p=e.i(985744),f=e.i(348418),y=e.i(852236),x=e.i(76906),b=e.i(691829),g=e.i(240130),v=e.i(528023),S=e.i(330585);let j={name:"",apiKeyToSet:"",metadata:[{key:"",value:""}],credentialStoreId:"",credentialStoreType:"nango",selectedTool:void 0,selectedExternalAgent:void 0};function k(e){let a,k,R,F,_,K,M,z,$,L,V,q,U,D,B,G,O,H,Q,W,X,J,Y,Z,ee,et,ea,er,el,en=(0,s.c)(73),{onCreateCredential:ei}=e,[es,eo]=(0,n.useState)(!1),[ec,ed]=(0,n.useState)(!1);en[0]===Symbol.for("react.memo_cache_sentinel")?(a={resolver:(0,o.zodResolver)(S.credentialFormSchema),defaultValues:j},en[0]=a):a=en[0];let eu=(0,c.useForm)(a);en[1]!==eu.control?(k={control:eu.control,name:"credentialStoreId"},en[1]=eu.control,en[2]=k):k=en[2];let em=(0,c.useWatch)(k);en[3]!==eu.control?(R={control:eu.control,name:"credentialStoreType"},en[3]=eu.control,en[4]=R):R=en[4];let eh=(0,c.useWatch)(R),{isSubmitting:ep}=eu.formState,{data:ef,isFetching:ey}=(0,g.useExternalAgentsQuery)(),{data:ex,isFetching:eb}=(0,v.useMcpToolsQuery)(),{data:eg,isFetching:ev}=function(e){let t,a,r,n,i,o,c=(0,s.c)(12);void 0!==c[0]?(t={},c[0]=void 0,c[1]=t):t=c[1];let{enabled:d}=t,u=void 0===d||d,{tenantId:m,projectId:h}=(0,l.useParams)();if(!m||!h)throw Error("tenantId and projectId are required");return c[2]!==h||c[3]!==m?(a=["credential-stores",m,h],r=()=>(0,b.listCredentialStores)(m,h),c[2]=h,c[3]=m,c[4]=a,c[5]=r):(a=c[4],r=c[5]),c[6]===Symbol.for("react.memo_cache_sentinel")?(n=[],c[6]=n):n=c[6],c[7]===Symbol.for("react.memo_cache_sentinel")?(i={defaultError:"Failed to load credential stores"},c[7]=i):i=c[7],c[8]!==u||c[9]!==a||c[10]!==r?(o={queryKey:a,queryFn:r,enabled:u,staleTime:3e4,initialData:n,initialDataUpdatedAt:0,meta:i},c[8]=u,c[9]=a,c[10]=r,c[11]=o):o=c[11],(0,x.useQuery)(o)}(),eS=ef.filter(P),ej=ex.filter(A);en[5]!==eg||en[6]!==eu||en[7]!==ev?(F=()=>{if(ev)return;let e=eg.filter(w);if(e.length>0){let t=e.find(E)||e[0];eu.getValues("credentialStoreId")||(eu.setValue("credentialStoreId",t.id,{shouldValidate:!0}),eu.setValue("credentialStoreType",t.type,{shouldValidate:!0}))}},_=[eu,eg,ev],en[5]=eg,en[6]=eu,en[7]=ev,en[8]=F,en[9]=_):(F=en[8],_=en[9]),(0,n.useEffect)(F,_),en[10]!==eu||en[11]!==es?(K=()=>{es||eu.setValue("selectedTool",void 0)},M=[es,eu],en[10]=eu,en[11]=es,en[12]=K,en[13]=M):(K=en[12],M=en[13]),(0,n.useEffect)(K,M),en[14]!==eu||en[15]!==ec?(z=()=>{ec||eu.setValue("selectedExternalAgent",void 0)},$=[ec,eu],en[14]=eu,en[15]=ec,en[16]=z,en[17]=$):(z=en[16],$=en[17]),(0,n.useEffect)(z,$),en[18]!==em||en[19]!==eh||en[20]!==eg||en[21]!==eu?(L=()=>{if(!em)return;let e=eg.find(e=>e.id===em);e&&"memory"!==e.type&&e.type!==eh&&eu.setValue("credentialStoreType",e.type)},V=[em,eh,eg,eu],en[18]=em,en[19]=eh,en[20]=eg,en[21]=eu,en[22]=L,en[23]=V):(L=en[22],V=en[23]),(0,n.useEffect)(L,V),en[24]===Symbol.for("react.memo_cache_sentinel")?(q=e=>{eo(!0===e)},en[24]=q):q=en[24];let ek=q;en[25]===Symbol.for("react.memo_cache_sentinel")?(U=e=>{ed(!0===e)},en[25]=U):U=en[25];let eC=U;en[26]!==ei||en[27]!==ec||en[28]!==es?(D=async e=>{let t=es&&("loading"===e.selectedTool||"error"===e.selectedTool),a=ec&&("loading"===e.selectedExternalAgent||"error"===e.selectedExternalAgent);try{if(t)return void(0,i.toast)("Please select a valid MCP server");if(a)return void(0,i.toast)("Please select a valid external agent");let r={...e,metadata:(0,S.keyValuePairsToRecord)(e.metadata)};await ei(r)}catch(e){console.error("Failed to create credential:",e),(0,i.toast)(e instanceof Error?e.message:"Failed to create credential")}},en[26]=ei,en[27]=ec,en[28]=es,en[29]=D):D=en[29];let eN=D;en[30]!==eb?(B=eb?[{value:"loading",label:"Loading MCP servers...",disabled:!0}]:[],en[30]=eb,en[31]=B):B=en[31];let eT=[...B,...ej.map(I)];en[32]!==ey?(G=ey?[{value:"loading",label:"Loading external agents...",disabled:!0}]:[],en[32]=ey,en[33]=G):G=en[33];let eI=[...G,...eS.map(T)];if(en[34]!==eg||en[35]!==ev){let e=eg.filter(N);O=ev?[{value:"loading",label:"Loading credential stores...",disabled:!0}]:e.length?e.map(C):[{value:"none",label:"No credential stores available",disabled:!0}],en[34]=eg,en[35]=ev,en[36]=O}else O=en[36];let eE=O;en[37]!==eu||en[38]!==eN?(H=eu.handleSubmit(eN),en[37]=eu,en[38]=eN,en[39]=H):H=en[39],en[40]!==eu.control?(Q=(0,t.jsx)(d.GenericInput,{control:eu.control,name:"name",label:"Name",placeholder:"e.g., production-api-key",isRequired:!0}),en[40]=eu.control,en[41]=Q):Q=en[41],en[42]!==eu.control?(W=(0,t.jsx)(d.GenericInput,{control:eu.control,name:"apiKeyToSet",label:"API key",placeholder:"e.g., sk-1234567890abcdef1234567890abcdef",isRequired:!0}),en[42]=eu.control,en[43]=W):W=en[43],en[44]===Symbol.for("react.memo_cache_sentinel")?(X=(0,t.jsx)("p",{children:"When your agent connects to the MCP server, this API key will be automatically sent as an authentication header:"}),en[44]=X):X=en[44],en[45]===Symbol.for("react.memo_cache_sentinel")?(J=(0,t.jsxs)(y.InfoCard,{title:"How this works",children:[X,(0,t.jsx)("p",{className:"my-2",children:(0,t.jsx)("code",{className:"bg-background px-1.5 py-0.5 rounded border",children:"Authorization: Bearer your-api-key-here"})}),(0,t.jsx)("p",{children:"This ensures secure access to the server's tools and data."})]}),en[45]=J):J=en[45],en[46]!==W?(Y=(0,t.jsxs)("div",{className:"space-y-3",children:[W,J]}),en[46]=W,en[47]=Y):Y=en[47],en[48]!==eh||en[49]!==eu.control||en[50]!==ev?(Z=!ev&&eh===r.CredentialStoreType.nango&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(u.GenericKeyValueInput,{control:eu.control,name:"metadata",label:"Headers (optional)",keyPlaceholder:"Key (e.g. X-API-Key)",valuePlaceholder:"Value (e.g. your-api-key)",addButtonLabel:"Add header"}),(0,t.jsxs)(y.InfoCard,{title:"How this works",children:[(0,t.jsx)("p",{className:"mb-2",children:"Add extra headers to be included with authentication requests."}),(0,t.jsxs)("p",{children:["Examples:"," ",(0,t.jsx)("code",{className:"bg-background px-1.5 py-0.5 rounded border mx-1",children:"User-Agent"}),(0,t.jsx)("code",{className:"bg-background px-1.5 py-0.5 rounded border mx-1",children:"X-API-Key"}),(0,t.jsx)("code",{className:"bg-background px-1.5 py-0.5 rounded border mx-1",children:"Content-Type"})]})]})]}),en[48]=eh,en[49]=eu.control,en[50]=ev,en[51]=Z):Z=en[51];let ew=`credential-store-${eg.length}-${ev}`;en[52]!==eE||en[53]!==eu.control||en[54]!==ew?(ee=(0,t.jsx)("div",{className:"space-y-3",children:(0,t.jsx)(m.GenericSelect,{isRequired:!0,control:eu.control,name:"credentialStoreId",label:"Credential store",options:eE,placeholder:"Select a credential store",selectTriggerClassName:"w-full"},ew)}),en[52]=eE,en[53]=eu.control,en[54]=ew,en[55]=ee):ee=en[55];let eA=ej.length>0&&(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center space-x-3 relative",children:[(0,t.jsx)(p.Checkbox,{id:"linkToServer",checked:es,onCheckedChange:ek}),(0,t.jsx)("label",{htmlFor:"linkToServer",className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Link this credential to an MCP server"})]}),es&&(0,t.jsx)(m.GenericSelect,{control:eu.control,name:"selectedTool",label:"",options:eT,selectTriggerClassName:"w-full",placeholder:"Choose an MCP server"})]}),eP=eS.length>0&&(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center space-x-3 relative",children:[(0,t.jsx)(p.Checkbox,{id:"linkToExternalAgent",checked:ec,onCheckedChange:eC}),(0,t.jsx)("label",{htmlFor:"linkToExternalAgent",className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Link this credential to an external agent"})]}),ec&&(0,t.jsx)(m.GenericSelect,{control:eu.control,name:"selectedExternalAgent",label:"",options:eI,selectTriggerClassName:"w-full",placeholder:"Choose an external agent"})]});en[56]!==Q||en[57]!==Y||en[58]!==Z||en[59]!==ee||en[60]!==eA||en[61]!==eP?(et=(0,t.jsxs)("div",{className:"space-y-8",children:[Q,Y,Z,ee,eA,eP]}),en[56]=Q,en[57]=Y,en[58]=Z,en[59]=ee,en[60]=eA,en[61]=eP,en[62]=et):et=en[62];let eR=ep?"Creating...":"Create Credential";return en[63]!==ep||en[64]!==eR?(ea=(0,t.jsx)("div",{className:"flex gap-3 pt-4",children:(0,t.jsx)(h.Button,{type:"submit",disabled:ep,children:eR})}),en[63]=ep,en[64]=eR,en[65]=ea):ea=en[65],en[66]!==H||en[67]!==et||en[68]!==ea?(er=(0,t.jsxs)("form",{onSubmit:H,className:"space-y-8",children:[et,ea]}),en[66]=H,en[67]=et,en[68]=ea,en[69]=er):er=en[69],en[70]!==eu||en[71]!==er?(el=(0,t.jsx)(f.Form,{...eu,children:er}),en[70]=eu,en[71]=er,en[72]=el):el=en[72],el}function C(e){return{value:e.id,label:`${"keychain"===e.type?"Keychain Store":"Nango Store"} (${e.id})`}}function N(e){return e.available&&"memory"!==e.type}function T(e){return{value:e.id,label:`${e.name} - ${e.baseUrl}`}}function I(e){return{value:e.id,label:`${e.name} - ${"mcp"===e.config.type?e.config.mcp.server.url:""}`}}function E(e){return"nango"===e.type}function w(e){return e.available&&"memory"!==e.type}function A(e){return!e.credentialReferenceId}function P(e){return!e.credentialReferenceId}let R={name:"",apiKeyToSet:"",metadata:[{key:"",value:""}],credentialStoreId:e.i(836634).DEFAULT_NANGO_STORE_ID,credentialStoreType:"nango",selectedTool:void 0,selectedExternalAgent:void 0};function F(e){let a,r,l,x,b,j,k,C,N,T,I,E,w,A,P,F,$,L,V,q,U,D,B,G,O=(0,s.c)(52),{onCreateCredential:H}=e,[Q,W]=(0,n.useState)(!1),[X,J]=(0,n.useState)(!1);O[0]===Symbol.for("react.memo_cache_sentinel")?(a={resolver:(0,o.zodResolver)(S.credentialFormSchema),defaultValues:R},O[0]=a):a=O[0];let Y=(0,c.useForm)(a),{isSubmitting:Z}=Y.formState,{data:ee,isFetching:et}=(0,g.useExternalAgentsQuery)(),{data:ea,isFetching:er}=(0,v.useMcpToolsQuery)(),el=ee.filter(z),en=ea.filter(M);O[1]!==Y||O[2]!==Q?(r=()=>{Q||Y.setValue("selectedTool",void 0)},l=[Q,Y],O[1]=Y,O[2]=Q,O[3]=r,O[4]=l):(r=O[3],l=O[4]),(0,n.useEffect)(r,l),O[5]!==Y||O[6]!==X?(x=()=>{X||Y.setValue("selectedExternalAgent",void 0)},b=[X,Y],O[5]=Y,O[6]=X,O[7]=x,O[8]=b):(x=O[7],b=O[8]),(0,n.useEffect)(x,b),O[9]===Symbol.for("react.memo_cache_sentinel")?(j=e=>{W(!0===e)},O[9]=j):j=O[9];let ei=j;O[10]===Symbol.for("react.memo_cache_sentinel")?(k=e=>{J(!0===e)},O[10]=k):k=O[10];let es=k;O[11]!==H||O[12]!==X||O[13]!==Q?(C=async e=>{let t=Q&&("loading"===e.selectedTool||"error"===e.selectedTool),a=X&&("loading"===e.selectedExternalAgent||"error"===e.selectedExternalAgent);try{if(t)return void(0,i.toast)("Please select a valid MCP server");if(a)return void(0,i.toast)("Please select a valid external agent");let r={...e,metadata:(0,S.keyValuePairsToRecord)(e.metadata)};await H(r)}catch(e){console.error("Failed to create credential:",e),(0,i.toast)(e instanceof Error?e.message:"Failed to create credential")}},O[11]=H,O[12]=X,O[13]=Q,O[14]=C):C=O[14];let eo=C;O[15]!==er?(N=er?[{value:"loading",label:"Loading MCP servers...",disabled:!0}]:[],O[15]=er,O[16]=N):N=O[16];let ec=[...N,...en.map(K)];O[17]!==et?(T=et?[{value:"loading",label:"Loading external agents...",disabled:!0}]:[],O[17]=et,O[18]=T):T=O[18];let ed=[...T,...el.map(_)];O[19]!==Y||O[20]!==eo?(I=Y.handleSubmit(eo),O[19]=Y,O[20]=eo,O[21]=I):I=O[21],O[22]!==Y.control?(E=(0,t.jsx)(d.GenericInput,{control:Y.control,name:"name",label:"Name",placeholder:"e.g., production-api-key",isRequired:!0}),O[22]=Y.control,O[23]=E):E=O[23],O[24]!==Y.control?(w=(0,t.jsx)(d.GenericInput,{control:Y.control,name:"apiKeyToSet",label:"API key",placeholder:"e.g., sk-1234567890abcdef1234567890abcdef",isRequired:!0}),O[24]=Y.control,O[25]=w):w=O[25],O[26]===Symbol.for("react.memo_cache_sentinel")?(A=(0,t.jsx)("p",{children:"When your agent connects to the MCP server, this API key will be automatically sent as an authentication header:"}),O[26]=A):A=O[26],O[27]===Symbol.for("react.memo_cache_sentinel")?(P=(0,t.jsxs)(y.InfoCard,{title:"How this works",children:[A,(0,t.jsx)("p",{className:"my-2",children:(0,t.jsx)("code",{className:"bg-background px-1.5 py-0.5 rounded border",children:"Authorization: Bearer your-api-key-here"})}),(0,t.jsx)("p",{children:"This ensures secure access to the server's tools and data."})]}),O[27]=P):P=O[27],O[28]!==w?(F=(0,t.jsxs)("div",{className:"space-y-3",children:[w,P]}),O[28]=w,O[29]=F):F=O[29],O[30]!==Y.control?($=(0,t.jsx)(u.GenericKeyValueInput,{control:Y.control,name:"metadata",label:"Headers (optional)",keyPlaceholder:"Key (e.g. X-API-Key)",valuePlaceholder:"Value (e.g. your-api-key)",addButtonLabel:"Add header"}),O[30]=Y.control,O[31]=$):$=O[31],O[32]===Symbol.for("react.memo_cache_sentinel")?(L=(0,t.jsx)("p",{className:"mb-2",children:"Add extra headers to be included with authentication requests."}),O[32]=L):L=O[32],O[33]===Symbol.for("react.memo_cache_sentinel")?(V=(0,t.jsxs)(y.InfoCard,{title:"How this works",children:[L,(0,t.jsxs)("p",{children:["Examples:"," ",(0,t.jsx)("code",{className:"bg-background px-1.5 py-0.5 rounded border mx-1",children:"User-Agent"}),(0,t.jsx)("code",{className:"bg-background px-1.5 py-0.5 rounded border mx-1",children:"X-API-Key"}),(0,t.jsx)("code",{className:"bg-background px-1.5 py-0.5 rounded border mx-1",children:"Content-Type"})]})]}),O[33]=V):V=O[33],O[34]!==$?(q=(0,t.jsxs)("div",{className:"space-y-3",children:[$,V]}),O[34]=$,O[35]=q):q=O[35];let eu=en.length>0&&(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center space-x-3 relative",children:[(0,t.jsx)(p.Checkbox,{id:"linkToServer",checked:Q,onCheckedChange:ei}),(0,t.jsx)("label",{htmlFor:"linkToServer",className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Link this credential to an MCP server"})]}),Q&&(0,t.jsx)(m.GenericSelect,{control:Y.control,name:"selectedTool",label:"",options:ec,selectTriggerClassName:"w-full",placeholder:"Choose an MCP server"})]}),em=el.length>0&&(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center space-x-3 relative",children:[(0,t.jsx)(p.Checkbox,{id:"linkToExternalAgent",checked:X,onCheckedChange:es}),(0,t.jsx)("label",{htmlFor:"linkToExternalAgent",className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Link this credential to an external agent"})]}),X&&(0,t.jsx)(m.GenericSelect,{control:Y.control,name:"selectedExternalAgent",label:"",options:ed,selectTriggerClassName:"w-full",placeholder:"Choose an external agent"})]});O[36]!==E||O[37]!==F||O[38]!==q||O[39]!==eu||O[40]!==em?(U=(0,t.jsxs)("div",{className:"space-y-8",children:[E,F,q,eu,em]}),O[36]=E,O[37]=F,O[38]=q,O[39]=eu,O[40]=em,O[41]=U):U=O[41];let eh=Z?"Creating...":"Create Credential";return O[42]!==Z||O[43]!==eh?(D=(0,t.jsx)("div",{className:"flex gap-3 pt-4",children:(0,t.jsx)(h.Button,{type:"submit",disabled:Z,children:eh})}),O[42]=Z,O[43]=eh,O[44]=D):D=O[44],O[45]!==I||O[46]!==U||O[47]!==D?(B=(0,t.jsxs)("form",{onSubmit:I,className:"space-y-8",children:[U,D]}),O[45]=I,O[46]=U,O[47]=D,O[48]=B):B=O[48],O[49]!==Y||O[50]!==B?(G=(0,t.jsx)(f.Form,{...Y,children:B}),O[49]=Y,O[50]=B,O[51]=G):G=O[51],G}function _(e){return{value:e.id,label:`${e.name} - ${e.baseUrl}`}}function K(e){return{value:e.id,label:`${e.name} - ${"mcp"===e.config.type?e.config.mcp.server.url:""}`}}function M(e){return!e.credentialReferenceId}function z(e){return!e.credentialReferenceId}var $=e.i(665088),L=e.i(451759),V=e.i(347100),q=e.i(530907);let U=(0,q.createServerReference)("4021d2cd12fb145298343b3f0e587bf0e792eece5b",q.callServer,void 0,q.findSourceMapURL,"createCredentialInStore");var D=e.i(942575),B=e.i(369404),G=e.i(594228),O=e.i(557300);function H({params:e}){let s=(0,l.useRouter)(),{PUBLIC_IS_INKEEP_CLOUD_DEPLOYMENT:o}=(0,L.useRuntimeConfig)(),{tenantId:c,projectId:d}=(0,n.use)(e),{user:u}=(0,V.useAuthSession)(),{canEdit:m}=(0,$.useProjectPermissions)();(0,n.useEffect)(()=>{m||s.replace(`/${c}/projects/${d}/credentials`)},[m,s,c,d]);let h=async e=>{try{let t,l,n,o,m=(0,O.generateId)();switch(e.credentialStoreType){case r.CredentialStoreType.nango:l=JSON.stringify({connectionId:m,providerConfigKey:m,integrationDisplayName:e.name.trim()}),n=e.apiKeyToSet,o={connectionId:m,providerConfigKey:m,provider:"private-api-bearer",authMode:"API_KEY"};break;case r.CredentialStoreType.keychain:{let t=(0,a.generateIdFromName)(e.name.trim());l=t,n=JSON.stringify({access_token:e.apiKeyToSet}),o={key:t};break}default:throw Error(`Unsupported credential store type: ${e.credentialStoreType}`)}if(await U({tenantId:c,projectId:d,storeId:e.credentialStoreId,key:l,value:n,metadata:e.metadata}),t=await (0,G.findOrCreateCredential)(c,d,{id:m,createdBy:u?.email??void 0,name:e.name.trim(),type:e.credentialStoreType,credentialStoreId:e.credentialStoreId,retrievalParams:o}),e.selectedTool&&t){let a={credentialReferenceId:t.id};await (0,B.updateMCPTool)(c,d,e.selectedTool,a)}if(e.selectedExternalAgent&&t){let a={credentialReferenceId:t.id};await (0,D.updateExternalAgent)(c,d,e.selectedExternalAgent,a)}i.toast.success("Credential created successfully"),s.push(`/${c}/projects/${d}/credentials`)}catch(e){console.error("Failed to create credential:",e),i.toast.error("Failed to create credential. Please try again.")}};return(0,t.jsx)("div",{className:"max-w-2xl mx-auto",children:(0,t.jsx)("true"===o?F:k,{onCreateCredential:h})})}e.s(["default",()=>H],939711)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,563898,e=>{"use strict";let t=(0,e.i(918260).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["default",()=>t])},906464,e=>{"use strict";var t=e.i(563898);e.s(["Loader2",()=>t.default])},876538,e=>{"use strict";var t=e.i(718267),r=e.i(906464),a=e.i(634252),s=e.i(352535);function i({itemName:e,isSubmitting:i,onDelete:n,customTitle:d,customDescription:l}){let o=async()=>{await n()};return(0,t.jsxs)(s.DialogContent,{children:[(0,t.jsx)(s.DialogTitle,{children:d||`Delete ${e||"this item"}`}),(0,t.jsx)(s.DialogDescription,{children:l||`Are you sure you want to delete ${e||"this item"}? This action cannot be undone.`}),(0,t.jsxs)(s.DialogFooter,{children:[(0,t.jsx)(s.DialogClose,{asChild:!0,children:(0,t.jsx)(a.Button,{variant:"outline",children:"Cancel"})}),(0,t.jsx)(a.Button,{variant:"destructive",onClick:o,disabled:i,children:i?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.Loader2,{className:"size-4 animate-spin"})," Deleting..."]}):"Delete"})]})]})}e.s(["DeleteConfirmation",()=>i])},21682,e=>{"use strict";var t=e.i(530907);let r=(0,t.createServerReference)("703f5cd9e21a47041c18909527f624f8f8dda5f9cd",t.callServer,void 0,t.findSourceMapURL,"deleteCredentialAction");e.s(["deleteCredentialAction",()=>r])},208048,330585,e=>{"use strict";var t=e.i(718267),r=e.i(411859),a=e.i(924442),s=e.i(608449),i=e.i(325761),n=e.i(634252),d=e.i(348418),l=e.i(558399),o=e.i(407086);function c({control:e,name:c,label:u,description:m,keyPlaceholder:p="key",valuePlaceholder:h="value",addButtonLabel:x="Add item",isRequired:y,disabled:f=!1}){let{fields:j,append:g,remove:v}=(0,i.useFieldArray)({control:e,name:c}),b=(0,i.useWatch)({control:e,name:c}),N=(0,s.useMemo)(()=>{if(!b)return new Set;let e=b.map(e=>e.key?.trim()).filter(Boolean),t=new Set,r=new Set;for(let a of e)t.has(a)&&r.add(a),t.add(a);return r},[b]),k=(0,s.useCallback)((e,t,r)=>{if("Enter"===e.key)if(e.preventDefault(),"key"===r){let e=document.querySelector(`[data-index="${t}"][data-field="value"]`);e?.focus()}else g({key:"",value:""}),setTimeout(()=>{let e=document.querySelector(`[data-index="${t+1}"][data-field="key"]`);e?.focus()},0)},[g]);return(0,t.jsxs)(d.FormItem,{children:[(0,t.jsx)(d.FormLabel,{isRequired:y,children:u}),(0,t.jsxs)("div",{className:"space-y-2",children:[j.map((r,s)=>{let i=b?.[s]?.key?.trim()||"",u=i&&N.has(i);return(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(d.FormField,{control:e,name:`${c}.${s}.key`,render:({field:e})=>(0,t.jsx)(d.FormControl,{children:(0,t.jsx)(l.Input,{...e,"data-index":s,"data-field":"key",placeholder:p,onKeyDown:e=>k(e,s,"key"),className:(0,o.cn)("flex-1",u&&"ring-2 ring-destructive/50 focus-visible:ring-destructive"),"aria-invalid":u||void 0,disabled:f})})}),(0,t.jsx)("span",{className:"text-muted-foreground select-none",children:":"}),(0,t.jsx)(d.FormField,{control:e,name:`${c}.${s}.value`,render:({field:e})=>(0,t.jsx)(d.FormControl,{children:(0,t.jsx)(l.Input,{...e,"data-index":s,"data-field":"value",placeholder:h,onKeyDown:e=>k(e,s,"value"),className:"flex-1",disabled:f})})}),!f&&(0,t.jsx)(n.Button,{type:"button",variant:"ghost",size:"icon",onClick:()=>v(s),"aria-label":"Remove entry",children:(0,t.jsx)(a.X,{className:"h-4 w-4"})})]},r.id)}),!f&&(0,t.jsxs)(n.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>g({key:"",value:""}),className:"text-primary hover:text-primary",children:[(0,t.jsx)(r.Plus,{className:"h-4 w-4"}),x]})]}),m&&(0,t.jsx)(d.FormDescription,{children:m}),N.size>0&&(0,t.jsxs)("p",{className:"text-sm font-medium text-destructive",children:["Keys must be unique. Duplicate keys: ",Array.from(N).join(", ")]}),(0,t.jsx)(d.FormMessage,{})]})}e.s(["GenericKeyValueInput",()=>c],208048),e.i(502927);var u=e.i(850242),m=e.i(699487);let p=m.z.object({key:m.z.string(),value:m.z.string()}),h=m.z.array(p).default([]).superRefine((e,t)=>{let r=e.map(e=>e.key.trim()).filter(Boolean),a=new Set,s=new Set;for(let e of r)a.has(e)?s.add(e):a.add(e);s.size>0&&t.addIssue({code:m.z.ZodIssueCode.custom,message:"Keys must be unique."})}),x=m.z.object({name:m.z.string().min(1,"Name is required").refine(e=>e.length>0,"Name cannot be empty after transformation").refine(e=>e.length<=50,"Name must be 50 characters or less"),apiKeyToSet:m.z.string().min(1,"Enter an API key"),metadata:h,credentialStoreId:m.z.string().min(1,"Please select a credential store"),credentialStoreType:m.z.enum(u.CredentialStoreType),selectedTool:m.z.string().optional(),selectedExternalAgent:m.z.string().optional()});function y(e){let t={};for(let{key:r,value:a}of e){let e=r.trim();e&&(t[e]=a)}return t}e.s(["credentialFormSchema",0,x,"keyValuePairsToRecord",()=>y,"metadataSchema",0,h],330585)},922303,e=>{"use strict";var t=e.i(718267),r=e.i(429385);e.i(502927);var a=e.i(850242),s=e.i(433575),i=e.i(608449),n=e.i(325761),d=e.i(60364),l=e.i(699487),o=e.i(542005),c=e.i(990891);function u({tool:e,tenantId:r,projectId:a}){let s=r&&a,i=s?`/${r}/projects/${a}/mcp-servers/${e.id}`:void 0,n=(0,t.jsx)(t.Fragment,{children:(0,t.jsx)("div",{className:"flex items-center gap-3",children:(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"font-medium text-sm",children:e.name}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"mcp"===e.config.type?e.config.mcp.server.url:""})]})})});return s&&i?(0,t.jsx)(o.default,{href:i,className:"flex items-center justify-between p-3 bg-background border rounded-md hover:bg-muted/50 transition-colors cursor-pointer",children:n}):(0,t.jsx)("div",{className:"flex items-center justify-between p-3 bg-background border rounded-md",children:n})}function m({externalAgent:e,tenantId:r,projectId:a}){let s=r&&a,i=s?`/${r}/projects/${a}/external-agents/${e.id}`:void 0,n=(0,t.jsx)(t.Fragment,{children:(0,t.jsx)("div",{className:"flex items-center gap-3",children:(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"font-medium text-sm",children:e.name}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e.baseUrl})]})})});return s&&i?(0,t.jsx)(o.default,{href:i,className:"flex items-center justify-between p-3 bg-background border rounded-md hover:bg-muted/50 transition-colors cursor-pointer",children:n}):(0,t.jsx)("div",{className:"flex items-center justify-between p-3 bg-background border rounded-md",children:n})}function p({tools:e,externalAgents:r,label:a="Resources using this credential",tenantId:s,projectId:i}){let n=e&&e.length>0,d=r&&r.length>0,l=n||d;return(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(c.Label,{children:a}),l?(0,t.jsxs)("div",{className:"space-y-4",children:[n&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide",children:"MCP Servers"}),e.map(e=>(0,t.jsx)(u,{tool:e,tenantId:s,projectId:i},e.id))]}),d&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wide",children:"External Agents"}),r.map(e=>(0,t.jsx)(m,{externalAgent:e,tenantId:s,projectId:i},e.id))]})]}):(0,t.jsx)("div",{className:"text-sm text-muted-foreground p-3 py-2 bg-gray-100/80 dark:bg-sidebar rounded-md",children:"No resources are currently using this credential"})]})}var h=e.i(600840),x=e.i(208048),y=e.i(634252),f=e.i(876538),j=e.i(352535),g=e.i(348418),v=e.i(852236),b=e.i(558399),N=e.i(665088),k=e.i(451759),C=e.i(21682),S=e.i(530907);let w=(0,S.createServerReference)("783ff467f1f68498d88dd2d436783f5d9a2976744a",S.callServer,void 0,S.findSourceMapURL,"updateCredential"),I=(0,S.createServerReference)("40634b4db007084ff770d4388fb99c70e062846799",S.callServer,void 0,S.findSourceMapURL,"setNangoConnectionMetadata");var P=e.i(407086),A=e.i(330585);let z=l.z.object({name:l.z.string().min(1,"Name is required").refine(e=>e.length>0,"Name cannot be empty after transformation").refine(e=>e.length<=50,"Name must be 50 characters or less"),metadata:A.metadataSchema}),T=e=>JSON.stringify(Object.keys(e).sort().map(t=>[t,e[t]]));function F({tenantId:e,projectId:l,credential:o,initialFormData:u,className:m}){var S;let F=(0,s.useRouter)(),[D,R]=(0,i.useState)(!1),[$,B]=(0,i.useState)(!1),{PUBLIC_IS_INKEEP_CLOUD_DEPLOYMENT:K}=(0,k.useRuntimeConfig)(),{canEdit:L}=(0,N.useProjectPermissions)(),M=(0,n.useForm)({resolver:(0,r.zodResolver)(z),defaultValues:u}),{isSubmitting:q}=M.formState,E=async t=>{try{await w(e,l,o.id,{name:t.name.trim()});let r=(0,A.keyValuePairsToRecord)(t.metadata),a=(0,A.keyValuePairsToRecord)(u.metadata),s=T(r)!==T(a);o.retrievalParams?.providerConfigKey&&o.retrievalParams?.connectionId&&s&&await I({providerConfigKey:o.retrievalParams.providerConfigKey,connectionId:o.retrievalParams.connectionId,metadata:r}),d.toast.success("Credential updated successfully"),F.push(`/${e}/projects/${l}/credentials`)}catch(e){console.error("Failed to update credential:",e),(0,d.toast)(e instanceof Error?e.message:"Failed to update credential")}},O=async e=>{await E(e)},U=async()=>{B(!0);try{let t=await (0,C.deleteCredentialAction)(e,l,o.id);t.success?(R(!1),d.toast.success("Credential deleted."),F.push(`/${e}/projects/${l}/credentials`)):d.toast.error(t.error)}finally{B(!1)}},V=(S=o).type===a.CredentialStoreType.nango&&S.retrievalParams?.provider==="private-api-bearer"?"Bearer authentication":S.type===a.CredentialStoreType.nango&&S.retrievalParams?.provider==="mcp-generic"?"OAuth":S.type===a.CredentialStoreType.keychain&&S.retrievalParams?.key&&"string"==typeof S.retrievalParams?.key?S.retrievalParams?.key.startsWith("oauth_token_")?"OAuth":"Bearer authentication":void 0;return(0,t.jsxs)(j.Dialog,{open:D,onOpenChange:R,children:[(0,t.jsx)(g.Form,{...M,children:(0,t.jsxs)("form",{onSubmit:M.handleSubmit(O),className:(0,P.cn)("space-y-8",m),children:[(0,t.jsxs)("div",{className:"space-y-8",children:[(0,t.jsx)(h.GenericInput,{control:M.control,name:"name",label:"Name",placeholder:"e.g., production-api-key",disabled:!L}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(c.Label,{children:"Credential type"}),(0,t.jsx)(b.Input,{type:"text",disabled:!0,value:V??("true"===K?"API Key":void 0)??o.type}),"Bearer authentication"===V&&(0,t.jsxs)(v.InfoCard,{title:"How this works",children:[(0,t.jsx)("p",{children:"When your agent connects to the MCP server, this API key will be automatically sent as an authentication header:"}),(0,t.jsx)("p",{className:"my-2",children:(0,t.jsx)("code",{className:"bg-background px-1.5 py-0.5 rounded border",children:"Authorization: Bearer your-api-key-here"})}),(0,t.jsx)("p",{children:"This ensures secure access to the server's tools and data."})]})]}),o.createdBy&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(c.Label,{children:"Created by"}),(0,t.jsx)(b.Input,{type:"text",disabled:!0,value:o.createdBy})]}),o.type===a.CredentialStoreType.nango&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(x.GenericKeyValueInput,{control:M.control,name:"metadata",label:"Headers (optional)",keyPlaceholder:"Key (e.g. X-API-Key)",valuePlaceholder:"Value (e.g. your-api-key)",addButtonLabel:"Add header",disabled:!L}),(0,t.jsxs)(v.InfoCard,{title:"How this works",children:[(0,t.jsx)("p",{className:"mb-2",children:"Add extra headers to be included with authentication requests."}),(0,t.jsxs)("p",{children:["Examples:"," ",(0,t.jsx)("code",{className:"bg-background px-1.5 py-0.5 rounded border mx-1",children:"User-Agent"}),(0,t.jsx)("code",{className:"bg-background px-1.5 py-0.5 rounded border mx-1",children:"X-API-Key"}),(0,t.jsx)("code",{className:"bg-background px-1.5 py-0.5 rounded border mx-1",children:"Content-Type"})]})]})]}),(0,t.jsx)(p,{tools:o.tools,externalAgents:o.externalAgents,tenantId:e,projectId:l})]}),L&&(0,t.jsxs)("div",{className:"flex w-full justify-between",children:[o.type===a.CredentialStoreType.nango&&(0,t.jsx)(y.Button,{type:"submit",disabled:q,children:"Save"}),(0,t.jsx)(j.DialogTrigger,{asChild:!0,children:(0,t.jsx)(y.Button,{type:"button",variant:"destructive-outline",children:"Delete Credential"})})]})]})}),D&&(0,t.jsx)(f.DeleteConfirmation,{itemName:o.id||"this credential",isSubmitting:$,onDelete:U})]})}e.s(["EditCredentialForm",()=>F],922303)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,713388,e=>{"use strict";let t=(0,e.i(918260).default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);e.s(["default",()=>t])},417657,e=>{"use strict";let t=(0,e.i(918260).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["default",()=>t])},527069,e=>{"use strict";function t(e,[t,r]){return Math.min(r,Math.max(t,e))}e.s(["clamp",()=>t])},576726,e=>{"use strict";var t=e.i(417657);e.s(["ChevronDown",()=>t.default])},179804,e=>{"use strict";let t=(0,e.i(918260).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["default",()=>t])},918374,e=>{"use strict";var t=e.i(179804);e.s(["Pencil",()=>t.default])},362268,e=>{"use strict";let t=(0,e.i(918260).default)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);e.s(["default",()=>t])},928637,e=>{"use strict";var t=e.i(362268);e.s(["ArrowUpRight",()=>t.default])},686320,e=>{"use strict";var t=e.i(718267),r=e.i(928637),s=e.i(542005),i=e.i(407086);function a({href:e,children:a,className:n,iconClassName:o,...l}){return(0,t.jsxs)(s.default,{href:e,target:"_blank",rel:"noreferrer noopener",className:(0,i.cn)("text-sm text-muted-foreground underline underline-offset-2 inline-flex items-center gap-1 hover:text-primary ml-1 group/link font-mono uppercase transition-colors",n),...l,children:[a,(0,t.jsx)(r.ArrowUpRight,{className:(0,i.cn)("size-3.5 text-muted-foreground opacity-60 group-hover/link:text-primary",o)})]})}e.s(["ExternalLink",()=>a])},993602,e=>{"use strict";let t=(0,e.i(918260).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["default",()=>t])},210273,e=>{"use strict";let t=(0,e.i(918260).default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);e.s(["default",()=>t])},593843,e=>{"use strict";var t=e.i(993602);e.s(["Copy",()=>t.default])},964487,e=>{"use strict";var t=e.i(718267),r=e.i(608449),s=e.i(263041),i=e.i(792752),a=e.i(692068),n=e.i(122965),o=e.i(566230),l=e.i(512999),c=e.i(349778),d=e.i(527069),u=e.i(291967),h="ScrollArea",[p,m]=(0,a.createContextScope)(h),[v,f]=p(h),g=r.forwardRef((e,i)=>{let{__scopeScrollArea:a,type:o="hover",dir:c,scrollHideDelay:d=600,...u}=e,[h,p]=r.useState(null),[m,f]=r.useState(null),[g,x]=r.useState(null),[y,b]=r.useState(null),[w,j]=r.useState(null),[C,N]=r.useState(0),[S,_]=r.useState(0),[T,k]=r.useState(!1),[A,I]=r.useState(!1),R=(0,n.useComposedRefs)(i,e=>p(e)),L=(0,l.useDirection)(c);return(0,t.jsx)(v,{scope:a,type:o,dir:L,scrollHideDelay:d,scrollArea:h,viewport:m,onViewportChange:f,content:g,onContentChange:x,scrollbarX:y,onScrollbarXChange:b,scrollbarXEnabled:T,onScrollbarXEnabledChange:k,scrollbarY:w,onScrollbarYChange:j,scrollbarYEnabled:A,onScrollbarYEnabledChange:I,onCornerWidthChange:N,onCornerHeightChange:_,children:(0,t.jsx)(s.Primitive.div,{dir:L,...u,ref:R,style:{position:"relative","--radix-scroll-area-corner-width":C+"px","--radix-scroll-area-corner-height":S+"px",...e.style}})})});g.displayName=h;var x="ScrollAreaViewport",y=r.forwardRef((e,i)=>{let{__scopeScrollArea:a,children:o,nonce:l,...c}=e,d=f(x,a),u=r.useRef(null),h=(0,n.useComposedRefs)(i,u,d.onViewportChange);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:l}),(0,t.jsx)(s.Primitive.div,{"data-radix-scroll-area-viewport":"",...c,ref:h,style:{overflowX:d.scrollbarXEnabled?"scroll":"hidden",overflowY:d.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,t.jsx)("div",{ref:d.onContentChange,style:{minWidth:"100%",display:"table"},children:o})})]})});y.displayName=x;var b="ScrollAreaScrollbar",w=r.forwardRef((e,s)=>{let{forceMount:i,...a}=e,n=f(b,e.__scopeScrollArea),{onScrollbarXEnabledChange:o,onScrollbarYEnabledChange:l}=n,c="horizontal"===e.orientation;return r.useEffect(()=>(c?o(!0):l(!0),()=>{c?o(!1):l(!1)}),[c,o,l]),"hover"===n.type?(0,t.jsx)(j,{...a,ref:s,forceMount:i}):"scroll"===n.type?(0,t.jsx)(C,{...a,ref:s,forceMount:i}):"auto"===n.type?(0,t.jsx)(N,{...a,ref:s,forceMount:i}):"always"===n.type?(0,t.jsx)(S,{...a,ref:s}):null});w.displayName=b;var j=r.forwardRef((e,s)=>{let{forceMount:a,...n}=e,o=f(b,e.__scopeScrollArea),[l,c]=r.useState(!1);return r.useEffect(()=>{let e=o.scrollArea,t=0;if(e){let r=()=>{window.clearTimeout(t),c(!0)},s=()=>{t=window.setTimeout(()=>c(!1),o.scrollHideDelay)};return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",s),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",s)}}},[o.scrollArea,o.scrollHideDelay]),(0,t.jsx)(i.Presence,{present:a||l,children:(0,t.jsx)(N,{"data-state":l?"visible":"hidden",...n,ref:s})})}),C=r.forwardRef((e,s)=>{var a;let{forceMount:n,...o}=e,l=f(b,e.__scopeScrollArea),c="horizontal"===e.orientation,d=H(()=>p("SCROLL_END"),100),[h,p]=(a={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},r.useReducer((e,t)=>a[e][t]??e,"hidden"));return r.useEffect(()=>{if("idle"===h){let e=window.setTimeout(()=>p("HIDE"),l.scrollHideDelay);return()=>window.clearTimeout(e)}},[h,l.scrollHideDelay,p]),r.useEffect(()=>{let e=l.viewport,t=c?"scrollLeft":"scrollTop";if(e){let r=e[t],s=()=>{let s=e[t];r!==s&&(p("SCROLL"),d()),r=s};return e.addEventListener("scroll",s),()=>e.removeEventListener("scroll",s)}},[l.viewport,c,p,d]),(0,t.jsx)(i.Presence,{present:n||"hidden"!==h,children:(0,t.jsx)(S,{"data-state":"hidden"===h?"hidden":"visible",...o,ref:s,onPointerEnter:(0,u.composeEventHandlers)(e.onPointerEnter,()=>p("POINTER_ENTER")),onPointerLeave:(0,u.composeEventHandlers)(e.onPointerLeave,()=>p("POINTER_LEAVE"))})})}),N=r.forwardRef((e,s)=>{let a=f(b,e.__scopeScrollArea),{forceMount:n,...o}=e,[l,c]=r.useState(!1),d="horizontal"===e.orientation,u=H(()=>{if(a.viewport){let e=a.viewport.offsetWidth<a.viewport.scrollWidth,t=a.viewport.offsetHeight<a.viewport.scrollHeight;c(d?e:t)}},10);return K(a.viewport,u),K(a.content,u),(0,t.jsx)(i.Presence,{present:n||l,children:(0,t.jsx)(S,{"data-state":l?"visible":"hidden",...o,ref:s})})}),S=r.forwardRef((e,s)=>{let{orientation:i="vertical",...a}=e,n=f(b,e.__scopeScrollArea),o=r.useRef(null),l=r.useRef(0),[c,d]=r.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=D(c.viewport,c.content),h={...a,sizes:c,onSizesChange:d,hasThumb:!!(u>0&&u<1),onThumbChange:e=>o.current=e,onThumbPointerUp:()=>l.current=0,onThumbPointerDown:e=>l.current=e};function p(e,t){return function(e,t,r,s="ltr"){let i=M(r),a=t||i/2,n=r.scrollbar.paddingStart+a,o=r.scrollbar.size-r.scrollbar.paddingEnd-(i-a),l=r.content-r.viewport;return z([n,o],"ltr"===s?[0,l]:[-1*l,0])(e)}(e,l.current,c,t)}return"horizontal"===i?(0,t.jsx)(_,{...h,ref:s,onThumbPositionChange:()=>{if(n.viewport&&o.current){let e=O(n.viewport.scrollLeft,c,n.dir);o.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{n.viewport&&(n.viewport.scrollLeft=e)},onDragScroll:e=>{n.viewport&&(n.viewport.scrollLeft=p(e,n.dir))}}):"vertical"===i?(0,t.jsx)(T,{...h,ref:s,onThumbPositionChange:()=>{if(n.viewport&&o.current){let e=O(n.viewport.scrollTop,c);o.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{n.viewport&&(n.viewport.scrollTop=e)},onDragScroll:e=>{n.viewport&&(n.viewport.scrollTop=p(e))}}):null}),_=r.forwardRef((e,s)=>{let{sizes:i,onSizesChange:a,...o}=e,l=f(b,e.__scopeScrollArea),[c,d]=r.useState(),u=r.useRef(null),h=(0,n.useComposedRefs)(s,u,l.onScrollbarXChange);return r.useEffect(()=>{u.current&&d(getComputedStyle(u.current))},[u]),(0,t.jsx)(I,{"data-orientation":"horizontal",...o,ref:h,sizes:i,style:{bottom:0,left:"rtl"===l.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===l.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":M(i)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(l.viewport){var s,i;let a=l.viewport.scrollLeft+t.deltaX;e.onWheelScroll(a),s=a,i=r,s>0&&s<i&&t.preventDefault()}},onResize:()=>{u.current&&l.viewport&&c&&a({content:l.viewport.scrollWidth,viewport:l.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:B(c.paddingLeft),paddingEnd:B(c.paddingRight)}})}})}),T=r.forwardRef((e,s)=>{let{sizes:i,onSizesChange:a,...o}=e,l=f(b,e.__scopeScrollArea),[c,d]=r.useState(),u=r.useRef(null),h=(0,n.useComposedRefs)(s,u,l.onScrollbarYChange);return r.useEffect(()=>{u.current&&d(getComputedStyle(u.current))},[u]),(0,t.jsx)(I,{"data-orientation":"vertical",...o,ref:h,sizes:i,style:{top:0,right:"ltr"===l.dir?0:void 0,left:"rtl"===l.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":M(i)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(l.viewport){var s,i;let a=l.viewport.scrollTop+t.deltaY;e.onWheelScroll(a),s=a,i=r,s>0&&s<i&&t.preventDefault()}},onResize:()=>{u.current&&l.viewport&&c&&a({content:l.viewport.scrollHeight,viewport:l.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:B(c.paddingTop),paddingEnd:B(c.paddingBottom)}})}})}),[k,A]=p(b),I=r.forwardRef((e,i)=>{let{__scopeScrollArea:a,sizes:l,hasThumb:c,onThumbChange:d,onThumbPointerUp:h,onThumbPointerDown:p,onThumbPositionChange:m,onDragScroll:v,onWheelScroll:g,onResize:x,...y}=e,w=f(b,a),[j,C]=r.useState(null),N=(0,n.useComposedRefs)(i,e=>C(e)),S=r.useRef(null),_=r.useRef(""),T=w.viewport,A=l.content-l.viewport,I=(0,o.useCallbackRef)(g),R=(0,o.useCallbackRef)(m),L=H(x,10);function U(e){S.current&&v({x:e.clientX-S.current.left,y:e.clientY-S.current.top})}return r.useEffect(()=>{let e=e=>{let t=e.target;j?.contains(t)&&I(e,A)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[T,j,A,I]),r.useEffect(R,[l,R]),K(j,L),K(w.content,L),(0,t.jsx)(k,{scope:a,scrollbar:j,hasThumb:c,onThumbChange:(0,o.useCallbackRef)(d),onThumbPointerUp:(0,o.useCallbackRef)(h),onThumbPositionChange:R,onThumbPointerDown:(0,o.useCallbackRef)(p),children:(0,t.jsx)(s.Primitive.div,{...y,ref:N,style:{position:"absolute",...y.style},onPointerDown:(0,u.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),S.current=j.getBoundingClientRect(),_.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",w.viewport&&(w.viewport.style.scrollBehavior="auto"),U(e))}),onPointerMove:(0,u.composeEventHandlers)(e.onPointerMove,U),onPointerUp:(0,u.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=_.current,w.viewport&&(w.viewport.style.scrollBehavior=""),S.current=null})})})}),R="ScrollAreaThumb",L=r.forwardRef((e,r)=>{let{forceMount:s,...a}=e,n=A(R,e.__scopeScrollArea);return(0,t.jsx)(i.Presence,{present:s||n.hasThumb,children:(0,t.jsx)(U,{ref:r,...a})})}),U=r.forwardRef((e,i)=>{let{__scopeScrollArea:a,style:o,...l}=e,c=f(R,a),d=A(R,a),{onThumbPositionChange:h}=d,p=(0,n.useComposedRefs)(i,e=>d.onThumbChange(e)),m=r.useRef(void 0),v=H(()=>{m.current&&(m.current(),m.current=void 0)},100);return r.useEffect(()=>{let e=c.viewport;if(e){let t=()=>{v(),m.current||(m.current=V(e,h),h())};return h(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[c.viewport,v,h]),(0,t.jsx)(s.Primitive.div,{"data-state":d.hasThumb?"visible":"hidden",...l,ref:p,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...o},onPointerDownCapture:(0,u.composeEventHandlers)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),r=e.clientX-t.left,s=e.clientY-t.top;d.onThumbPointerDown({x:r,y:s})}),onPointerUp:(0,u.composeEventHandlers)(e.onPointerUp,d.onThumbPointerUp)})});L.displayName=R;var E="ScrollAreaCorner",P=r.forwardRef((e,r)=>{let s=f(E,e.__scopeScrollArea),i=!!(s.scrollbarX&&s.scrollbarY);return"scroll"!==s.type&&i?(0,t.jsx)($,{...e,ref:r}):null});P.displayName=E;var $=r.forwardRef((e,i)=>{let{__scopeScrollArea:a,...n}=e,o=f(E,a),[l,c]=r.useState(0),[d,u]=r.useState(0),h=!!(l&&d);return K(o.scrollbarX,()=>{let e=o.scrollbarX?.offsetHeight||0;o.onCornerHeightChange(e),u(e)}),K(o.scrollbarY,()=>{let e=o.scrollbarY?.offsetWidth||0;o.onCornerWidthChange(e),c(e)}),h?(0,t.jsx)(s.Primitive.div,{...n,ref:i,style:{width:l,height:d,position:"absolute",right:"ltr"===o.dir?0:void 0,left:"rtl"===o.dir?0:void 0,bottom:0,...e.style}}):null});function B(e){return e?parseInt(e,10):0}function D(e,t){let r=e/t;return isNaN(r)?0:r}function M(e){let t=D(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-r)*t,18)}function O(e,t,r="ltr"){let s=M(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,n=t.content-t.viewport,o=(0,d.clamp)(e,"ltr"===r?[0,n]:[-1*n,0]);return z([0,n],[0,a-s])(o)}function z(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let s=(t[1]-t[0])/(e[1]-e[0]);return t[0]+s*(r-e[0])}}var V=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},s=0;return!function i(){let a={left:e.scrollLeft,top:e.scrollTop},n=r.left!==a.left,o=r.top!==a.top;(n||o)&&t(),r=a,s=window.requestAnimationFrame(i)}(),()=>window.cancelAnimationFrame(s)};function H(e,t){let s=(0,o.useCallbackRef)(e),i=r.useRef(0);return r.useEffect(()=>()=>window.clearTimeout(i.current),[]),r.useCallback(()=>{window.clearTimeout(i.current),i.current=window.setTimeout(s,t)},[s,t])}function K(e,t){let r=(0,o.useCallbackRef)(t);(0,c.useLayoutEffect)(()=>{let t=0;if(e){let s=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(r)});return s.observe(e),()=>{window.cancelAnimationFrame(t),s.unobserve(e)}}},[e,r])}var W=e.i(407086);function q({className:e,children:r,...s}){return(0,t.jsxs)(g,{"data-slot":"scroll-area",className:(0,W.cn)("relative",e),...s,children:[(0,t.jsx)(y,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:r}),(0,t.jsx)(F,{}),(0,t.jsx)(P,{})]})}function F({className:e,orientation:r="vertical",...s}){return(0,t.jsx)(w,{"data-slot":"scroll-area-scrollbar",orientation:r,className:(0,W.cn)("flex touch-none p-px transition-colors select-none","vertical"===r&&"h-full w-2.5 border-l border-l-transparent","horizontal"===r&&"h-2.5 flex-col border-t border-t-transparent",e),...s,children:(0,t.jsx)(L,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}e.s(["ScrollArea",()=>q,"ScrollBar",()=>F],964487)},981592,419200,e=>{"use strict";var t=e.i(718267),r=e.i(445912),s=e.i(593843),i=e.i(608449),a=e.i(407086),n=e.i(634252);function o({textToCopy:e,className:o,variant:l="ghost",size:c="icon-sm",iconClassName:d}){let{isCopied:u,copyToClipboard:h}=function({timeout:e=2e3}){let[t,r]=i.useState(!1);return{isCopied:t,copyToClipboard:t=>{!navigator.clipboard?.writeText||t&&navigator.clipboard.writeText(t).then(()=>{r(!0),setTimeout(()=>{r(!1)},e)})}}}({});return(0,t.jsxs)(n.Button,{variant:l,size:c,className:(0,a.cn)("backdrop-blur-sm bg-card/90 hover:bg-card border border-border shadow-sm",o),onClick:()=>h(e),children:[u?(0,t.jsx)(r.Check,{className:(0,a.cn)("w-4 h-4 text-green-600 dark:text-green-400",d)}):(0,t.jsx)(s.Copy,{className:(0,a.cn)("!w-3 !h-3 text-muted-foreground dark:text-foreground",d)}),(0,t.jsx)("span",{className:"sr-only",children:"Copy"})]})}e.s(["CopyButton",()=>o],419200);var l=e.i(964487);function c({code:e}){return(0,t.jsx)("div",{className:"flex items-center gap-2 relative bg-muted/50 dark:bg-muted/30 rounded-md border",children:(0,t.jsxs)(l.ScrollArea,{dir:"ltr",className:"w-full",children:[(0,t.jsx)("pre",{className:"text-sm text-foreground/90 px-3 pr-8 py-2 font-mono",children:e}),(0,t.jsx)(o,{className:"absolute right-1 top-1/2 -translate-y-1/2",textToCopy:e}),(0,t.jsx)(l.ScrollBar,{orientation:"horizontal"})]})})}e.s(["CopyableSingleLineCode",()=>c],981592)},117121,e=>{"use strict";var t=e.i(713388);e.s(["ChevronUp",()=>t.default])},531963,e=>{"use strict";var t=e.i(210273);e.s(["User",()=>t.default])},875580,e=>{"use strict";var t=e.i(502927),r=e.i(850242),s=e.i(836634),i=e.i(433575),a=e.i(608449),n=e.i(60364),o=e.i(451759),l=e.i(691829),c=e.i(369404),d=e.i(594228),u=e.i(557300),h=e.i(347100),p=e.i(230588);function m({tenantId:e,projectId:m,onFinish:v}){let f=(0,i.useRouter)(),{PUBLIC_INKEEP_AGENTS_API_URL:g}=(0,o.useRuntimeConfig)(),{openNangoConnectHeadless:x}=(0,p.useNangoConnect)(),{user:y}=(0,h.useAuthSession)(),b=(0,a.useRef)(new Map),w=(0,a.useCallback)((t,r)=>new Promise((s,i)=>{let a=b.current.get(t);a&&(a(),b.current.delete(t));try{let a=r??function({PUBLIC_INKEEP_AGENTS_API_URL:e,tenantId:t,projectId:r,id:s}){if(!t||"string"!=typeof t)throw Error("Invalid tenantId: must be a non-empty string");if(!s||"string"!=typeof s)throw Error("Invalid tool id: must be a non-empty string");if(!r||"string"!=typeof r)throw Error("Invalid projectId: must be a non-empty string");let i=/^[a-zA-Z0-9-_]+$/;if(!i.test(t))throw Error("Invalid tenantId format: only alphanumeric characters, hyphens, and underscores allowed");if(!i.test(s))throw Error("Invalid tool id format: only alphanumeric characters, hyphens, and underscores allowed");if(!i.test(r))throw Error("Invalid projectId format: only alphanumeric characters, hyphens, and underscores allowed");let a=`${e}/manage/oauth/login?tenantId=${encodeURIComponent(t)}&projectId=${encodeURIComponent(r)}&toolId=${encodeURIComponent(s)}`;if(!a.startsWith(e))throw Error("Invalid OAuth URL generated");return a}({PUBLIC_INKEEP_AGENTS_API_URL:g,tenantId:e,projectId:m,id:t}),n=window.open(a,"oauth-popup","width=600,height=700,scrollbars=yes,resizable=yes,status=yes,location=yes");if(!n){let e=Error(`Failed to open popup for ${t} - blocked by browser`);console.error(e.message),i(e);return}let o=!1,l=(r,a)=>{o||(o=!0,window.removeEventListener("message",c),d&&clearInterval(d),clearTimeout(u),b.current.delete(t),r?(v?v(t):f.push(`/${e}/projects/${m}/mcp-servers/${t}`),s()):i(a||Error("OAuth login failed")))},c=e=>{"oauth-success"===e.data.type?l(!0):"oauth-error"===e.data.type&&l(!1,Error(e.data.error||"OAuth login failed"))};window.addEventListener("message",c);let d=null,u=setTimeout(()=>{o||(d=setInterval(()=>{try{n.closed&&l(!0)}catch{}},1e3))},3e3);b.current.set(t,()=>{l(!1,Error("OAuth login cancelled"))})}catch(e){i(e instanceof Error?e:Error("OAuth login failed"))}}),[g,e,m,v,f]),j=(0,a.useCallback)(async({toolId:i,mcpServerUrl:a,toolName:n,credentialScope:o})=>{let l,h=await x({mcpServerUrl:a,providerUniqueKey:`${(0,t.generateIdFromName)(n)}_${i.slice(0,4)}`,providerDisplayName:n}),p="user"===o;if(p){if(!y)throw Error("User not found");l=y.id}let g={id:(0,u.generateId)(),name:n,type:r.CredentialStoreType.nango,credentialStoreId:s.DEFAULT_NANGO_STORE_ID,createdBy:y?.email??void 0,...p&&{toolId:i,userId:l},retrievalParams:{connectionId:h.connectionId,providerConfigKey:h.providerConfigKey,provider:"mcp-generic",authMode:"OAUTH2"}},b=await (0,d.findOrCreateCredential)(e,m,g);p||await (0,c.updateMCPTool)(e,m,i,{credentialReferenceId:b.id}),v?v(i):f.push(`/${e}/projects/${m}/mcp-servers/${i}`)},[x,v,f,e,m,y]);return{handleOAuthLogin:(0,a.useCallback)(async({toolId:t,mcpServerUrl:s,toolName:i,thirdPartyConnectAccountUrl:a,credentialScope:o})=>{if(a)return void await w(t,a);try{let a=await (0,l.listCredentialStores)(e,m),n=a.some(e=>e.type===r.CredentialStoreType.nango&&e.available),c=a.some(e=>e.type===r.CredentialStoreType.keychain&&e.available);if(n)await j({toolId:t,mcpServerUrl:s,toolName:i,credentialScope:o});else if(c)await w(t);else throw Error("No credential store available. Please configure Nango or Keychain.")}catch(t){let e=t instanceof Error?t:Error("OAuth login failed");throw n.toast.error(e.message),e}},[e,m,j,w])}}e.s(["useOAuthLogin",()=>m],875580)},594228,e=>{"use strict";var t=e.i(530907);let r=(0,t.createServerReference)("707d7d14c7790e1cd8e190af82def0bc151df63c46",t.callServer,void 0,t.findSourceMapURL,"findOrCreateCredential");e.s(["findOrCreateCredential",()=>r])},691829,e=>{"use strict";var t=e.i(530907);let r=(0,t.createServerReference)("60366826d33f259488308e2684f46aa52abaa245aa",t.callServer,void 0,t.findSourceMapURL,"listCredentialStores");e.s(["listCredentialStores",()=>r])},369404,e=>{"use strict";var t=e.i(530907);let r=(0,t.createServerReference)("78fcee2eb6d84ab65be5f0e55ab655f03ec1dfd9e2",t.callServer,void 0,t.findSourceMapURL,"updateMCPTool");e.s(["updateMCPTool",()=>r])},230588,534146,e=>{"use strict";let t="[nango]";class r{baseURL;debug;swClient;errorHandler;modal;isProcessingMessage=!1;constructor({baseUrl:e,debug:t,webSocketUrl:r,successHandler:s,errorHandler:i}){this.baseURL=e,this.debug=t,this.swClient=new WebSocket(r),this.errorHandler=i,this.swClient.onmessage=e=>{this.isProcessingMessage=!0,this.handleMessage(e,s),this.isProcessingMessage=!1}}setModal(e){this.modal=e}handleMessage(e,r){let s=JSON.parse(e.data);switch(s.message_type){case"connection_ack":this.debug&&console.log(t,"Connection ack received. Opening modal..."),this.baseURL.searchParams.set("ws_client_id",s.ws_client_id),this.open();break;case"error":this.debug&&console.log(t,"Error received. Rejecting authorization..."),this.errorHandler(s.error_type,s.error_desc),this.swClient.close();break;case"success":this.debug&&console.log(t,"Success received. Resolving authorization..."),r({providerConfigKey:s.provider_config_key,connectionId:s.connection_id,isPending:s.is_pending}),this.swClient.close();break;default:this.debug&&console.log(t,"Unknown message type received from Nango server. Ignoring...");return}}open(){if(this.modal&&(this.debug&&console.log(t,"opening",this.baseURL.href),this.modal.location=this.baseURL.href,!this.modal||this.modal.closed||void 0===this.modal.closed))return void this.errorHandler("blocked_by_browser","Modal blocked by browser")}close(){this.modal&&!this.modal.closed&&(this.modal.close(),delete this.modal),this.swClient.close(),delete this.swClient}}class s{iframe=null;isReady=!1;listener=null;sessionToken;baseURL;apiURL;onEvent;detectClosedAuthWindow;lang;themeOverride;constructor({sessionToken:e,baseURL:t="https://connect.nango.dev",apiURL:r="https://api.nango.dev",detectClosedAuthWindow:s,onEvent:i,lang:a,themeOverride:n}){this.sessionToken=e,this.baseURL=t,this.apiURL=r,this.onEvent=i,this.detectClosedAuthWindow=s,this.lang=a,this.themeOverride=n}open(){this.iframe=this.createIframe(),document.body.append(this.iframe),document.body.style.overflow="hidden",this.setupEventListeners()}createIframe(){let e=new URL(this.baseURL);this.apiURL&&e.searchParams.append("apiURL",this.apiURL),this.detectClosedAuthWindow&&e.searchParams.append("detectClosedAuthWindow",String(this.detectClosedAuthWindow)),this.lang&&e.searchParams.append("lang",this.lang),this.themeOverride&&e.searchParams.append("theme",this.themeOverride);let t=document.createElement("iframe");return t.src=e.href,t.id="connect-ui",t.style.position="fixed",t.style.zIndex="9999",t.style.top="0",t.style.left="0",t.style.right="0",t.style.bottom="0",t.style.width="100vw",t.style.height="100vh",t.style.backgroundColor="transparent",t}setupEventListeners(){this.listener=e=>{if(e.origin!==new URL(this.baseURL).origin||"object"!=typeof e.data||!e.data||!e.data.type)return;let t=e.data;switch(t.type){case"ready":this.isReady=!0,this.sendSessionToken();break;case"close":this.close()}this.onEvent&&this.onEvent(t)},window.addEventListener("message",this.listener,!1)}setSessionToken(e){this.sessionToken=e,this.isReady&&this.sendSessionToken()}close(){this.listener&&window.removeEventListener("message",this.listener),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null,document.body.style.overflow="")}sendSessionToken(){if(!this.sessionToken)return;let e={type:"session_token",sessionToken:this.sessionToken};this.iframe?.contentWindow?.postMessage(e,"*")}}let i="NANGO DEBUG LOG: ";class a extends Error{type;constructor(e,t){super(e),this.type=t}}class n{hostBaseUrl;websocketsBaseUrl;publicKey;connectSessionToken;debug=!1;width=500;height=600;tm=null;win=null;constructor(e={}){e.host=e.host||"https://api.nango.dev",e.websocketsPath=e.websocketsPath||"/",this.debug=e.debug||!1,this.debug&&(console.log(i,"Debug mode is enabled."),console.log(i,`Using host: ${e.host}.`)),e.width&&(this.width=e.width),e.height&&(this.height=e.height),this.hostBaseUrl=e.host.replace(/\/+$/,""),this.publicKey=e.publicKey,this.connectSessionToken=e.connectSessionToken;try{const t=new URL(this.hostBaseUrl),r=new URL(e.websocketsPath,t);this.websocketsBaseUrl=r.toString().replace("https://","wss://").replace("http://","ws://")}catch{throw new a("Invalid URL provided for the Nango host.","invalid_host_url")}}async create(e,t,r){this.ensureCredentials();let s=null,i=r;"string"==typeof t?s=t:i=t;let a=this.hostBaseUrl+`/auth/unauthenticated/${e}${this.toQueryString(s,i)}`;return await this.triggerAuth({authUrl:a})}auth(e,t,s){this.ensureCredentials();let i=null,n=s;if("string"==typeof t?i=t:n={...n,...t},n&&("installation"in n&&"outbound"===n.installation||"credentials"in n&&("token_id"in n.credentials&&"token_secret"in n.credentials||!("oauth_client_id_override"in n.credentials)||!("oauth_client_secret_override"in n.credentials))&&Object.keys(n.credentials).length>0)){let t=n.credentials;if(!t)throw new a("Credentials are required for custom auth","missing_credentials");let{credentials:r,...s}=n;return this.customAuth(e,i,this.convertCredentialsToConfig(t),s,n.installation)}let o=window.open("","_blank",function(e){let t={...e,scrollbars:"yes",resizable:"yes",status:"no",toolbar:"no",location:"no",copyhistory:"no",menubar:"no",directories:"no"},r=[];for(let e in t)r.push(`${e}=${t[e]}`);return r.join(",")}(function({expectedWidth:e,expectedHeight:t}){let r=window.screen.width,s=window.screen.height,i=Math.min(e,r),a=Math.min(t,s);return{left:Math.max(r/2-e/2,0),top:Math.max(s/2-t/2,0),width:i,height:a}}({expectedWidth:this.width,expectedHeight:this.height})));return new Promise((t,s)=>{let l,c=(e,t)=>{s(new a(t,e))};if(this.win&&this.clear(),!o||o.closed||void 0===o.closed)return void c("blocked_by_browser","Modal blocked by browser");try{l=new URL(`${this.hostBaseUrl}/oauth/connect/${e}${this.toQueryString(i,n)}`)}catch{c("invalid_host_url","Invalid URL provided for the Nango host.");return}this.win=new r({baseUrl:l,debug:this.debug,webSocketUrl:this.websocketsBaseUrl,successHandler:e=>{t(e)},errorHandler:c}),this.win.setModal(o),this.tm=setInterval(()=>{this.win&&this.win.modal&&(!this.win.modal.window||this.win.modal.closed)&&!this.win.isProcessingMessage&&n?.detectClosedAuthWindow&&(clearInterval(this.tm),this.win.close(),this.win=null,s(new a("The authorization window was closed before the authorization flow was completed","window_closed")))},500)}).finally(()=>{this.clear()})}reconnect(e,t){if(!this.connectSessionToken)throw new a("Reconnect requires a session token","missing_connect_session_token");return this.auth(e,t)}clear(){if(this.tm&&clearInterval(this.tm),this.win){try{this.win.close()}catch(e){console.log("err",e)}this.win=null}}openConnectUI(e){let t=new s({sessionToken:this.connectSessionToken,...e});return t.open(),t}convertCredentialsToConfig(e){let t={};if("type"in e&&"username"in e&&"password"in e&&"SIGNATURE"===e.type)return{params:{type:e.type,username:e.username,password:e.password}};if("username"in e&&(t.username=e.username||""),"password"in e&&(t.password=e.password||""),"apiKey"in e&&(t.apiKey=e.apiKey||""),"privateKey"in e||"type"in e&&"JWT"===e.type){let{privateKey:t,...r}=e,s={...r};return t&&"object"==typeof t&&"id"in t&&"secret"in t&&(s.privateKey=t),{params:e}}if("privateKeyId"in e&&"issuerId"in e&&"privateKey"in e){let t={params:{privateKeyId:e.privateKeyId,issuerId:e.issuerId,privateKey:e.privateKey}};return"scope"in e&&("string"==typeof e.scope||Array.isArray(e.scope))&&(t.params.scope=e.scope),t}if("client_id"in e&&"client_secret"in e)return{params:{client_id:e.client_id,client_secret:e.client_secret,client_certificate:e.client_certificate,client_private_key:e.client_private_key}};if("token_id"in e&&"token_secret"in e){let t={token_id:e.token_id,token_secret:e.token_secret};return"oauth_client_id_override"in e&&(t.oauth_client_id_override=e.oauth_client_id_override),"oauth_client_secret_override"in e&&(t.oauth_client_secret_override=e.oauth_client_secret_override),{params:t}}return"username"in e&&"password"in e&&"organization_id"in e&&"dev_key"in e?{params:{username:e.username,password:e.password,organization_id:e.organization_id,dev_key:e.dev_key}}:"type"in e&&"TWO_STEP"===e.type?{params:{...e}}:{params:t}}async triggerAuth({authUrl:e,credentials:t}){let r=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},...t?{body:JSON.stringify(t)}:{}});if(!r.ok){let e=await r.json();throw new a(e.error.message,e.error.code)}return r.json()}async customAuth(e,t,r,s,i){let{params:n}=r;if(!n)throw new a("You must specify credentials.","missing_credentials");return"type"in n&&"TWO_STEP"===n.type?await this.triggerAuth({authUrl:this.hostBaseUrl+`/auth/two-step/${e}${this.toQueryString(t,s)}`,credentials:n}):"type"in n&&"SIGNATURE"===n.type&&"username"in n&&"password"in n?await this.triggerAuth({authUrl:this.hostBaseUrl+`/auth/signature/${e}${this.toQueryString(t,s)}`,credentials:n}):"username"in n&&"password"in n&&"organization_id"in n&&"dev_key"in n?await this.triggerAuth({authUrl:this.hostBaseUrl+`/auth/bill/${e}${this.toQueryString(t,s)}`,credentials:n}):"apiKey"in n?await this.triggerAuth({authUrl:this.hostBaseUrl+`/api-auth/api-key/${e}${this.toQueryString(t,s)}`,credentials:n}):"username"in n||"password"in n?await this.triggerAuth({authUrl:this.hostBaseUrl+`/api-auth/basic/${e}${this.toQueryString(t,s)}`,credentials:n}):"privateKey"in n||"type"in n&&"JWT"===n.type?await this.triggerAuth({authUrl:this.hostBaseUrl+`/auth/jwt/${e}${this.toQueryString(t,s)}`,credentials:n}):"privateKeyId"in n&&"issuerId"in n&&"privateKey"in n?await this.triggerAuth({authUrl:this.hostBaseUrl+`/app-store-auth/${e}${this.toQueryString(t,s)}`,credentials:n}):"token_id"in n&&"token_secret"in n?await this.triggerAuth({authUrl:this.hostBaseUrl+`/auth/tba/${e}${this.toQueryString(t,s)}`,credentials:n}):"client_id"in n&&"client_secret"in n?await this.triggerAuth({authUrl:this.hostBaseUrl+`/oauth2/auth/${e}${this.toQueryString(t,s)}`,credentials:n}):"outbound"===i?await this.triggerAuth({authUrl:this.hostBaseUrl+`/auth/oauth-outbound/${e}${this.toQueryString(t,s)}`}):Promise.reject(Error("Something went wrong with the authorization"))}toQueryString(e,t){let r=[];if(e&&r.push(`connection_id=${e}`),this.publicKey&&r.push(`public_key=${this.publicKey}`),this.connectSessionToken&&r.push(`connect_session_token=${this.connectSessionToken}`),t){for(let e in t.params){let s=t.params[e];"string"==typeof s&&r.push(`params[${encodeURIComponent(e)}]=${encodeURIComponent(s)}`)}if(t.hmac&&r.push(`hmac=${t.hmac}`),t.user_scope&&r.push(`user_scope=${t.user_scope.join(",")}`),t.credentials){let e=t.credentials;"oauth_client_id_override"in e&&r.push(`credentials[oauth_client_id_override]=${encodeURIComponent(e.oauth_client_id_override)}`),"oauth_client_secret_override"in e&&r.push(`credentials[oauth_client_secret_override]=${encodeURIComponent(e.oauth_client_secret_override)}`),"token_id"in e&&r.push(`token_id=${encodeURIComponent(e.token_id)}`),"token_secret"in e&&r.push(`token_secret=${encodeURIComponent(e.token_secret)}`)}for(let e in t.authorization_params){let s=t.authorization_params[e];"string"==typeof s?r.push(`authorization_params[${e}]=${s}`):void 0===s&&r.push(`authorization_params[${e}]=undefined`)}}return 0===r.length?"":"?"+r.join("&")}ensureCredentials(){if(!this.publicKey&&!this.connectSessionToken)throw new a("You must specify a public key OR a connect session token (cf. documentation).","missing_auth_token")}}var o=e.i(608449),l=e.i(865164),c=e.i(451759),d=e.i(530907);let u=(0,d.createServerReference)("402e0376331ec4883e77caafb4008b430ea46aaca4",d.callServer,void 0,d.findSourceMapURL,"createProviderConnectSession");e.s(["createProviderConnectSession",()=>u],534146);var h=e.i(347100);function p(){let{PUBLIC_NANGO_SERVER_URL:e,PUBLIC_NANGO_CONNECT_BASE_URL:t}=(0,c.useRuntimeConfig)(),{user:r}=(0,h.useAuthSession)(),s=(0,l.useAuthClient)();return{openNangoConnect:(0,o.useCallback)(({sessionToken:r,onEvent:s,connectOptions:i})=>{let a=new n({host:e||void 0}).openConnectUI({baseURL:i?.baseURL||t||void 0,apiURL:i?.apiURL||e||void 0,onEvent:s,detectClosedAuthWindow:!0});return a.setSessionToken(r),a},[e,t]),openNangoConnectHeadless:(0,o.useCallback)(async({mcpServerUrl:t,providerUniqueKey:i,providerDisplayName:a})=>{let{data:o}=await s.organization.getFullOrganization(),l=new n({host:e||void 0,connectSessionToken:await u({providerName:"mcp-generic",uniqueKey:i,displayName:a,endUserId:r?.id,endUserEmail:r?.email,endUserDisplayName:r?.name,organizationId:o?.id,organizationDisplayName:o?.name})});try{return await l.auth(i,{detectClosedAuthWindow:!0,params:{mcp_server_url:t}})}catch(e){if(e instanceof Error)throw Error(`Authentication failed: ${e.message}`);throw e}},[e,r?.id,r?.email,r?.name,s])}}e.s(["useNangoConnect",()=>p],230588)},811296,947207,e=>{"use strict";function t(e){if(!e||"object"!=typeof e)return{properties:[],hasProperties:!1};let t=[];if(e.def?.shape)for(let[s,i]of Object.entries(e.def.shape)){let e=function e(t,s){let i;if(!s?.def)return null;let a=s.def,n=!0,o=a;"optional"===a.type?(n=!1,i=a.innerType?.def?r(o=a.innerType.def):"any"):i=r(o);let l={name:t,type:i,required:n};if("object"===o.type&&o.shape)for(let[t,r]of(l.properties=[],Object.entries(o.shape))){let s=e(t,r);s&&l.properties.push(s)}if("array"===o.type&&o.element?.def){let t=o.element.def;if("object"===t.type&&t.shape){let r=[];for(let[s,i]of Object.entries(t.shape)){let t=e(s,i);t&&r.push(t)}l.items={name:"item",type:"object",required:!1,properties:r}}else l.items={name:"item",type:r(t),required:!1}}return l}(s,i);e&&t.push(e)}else if(e.properties)for(let[r,s]of Object.entries(e.properties)){let i=function e(t,r,s){var i,a;if(!r||"object"!=typeof r)return null;let n=r.type||"any",o=!!s&&s.includes(t),l={name:t,type:(i=n,a=r,"array"===i&&a.items?.type?`${a.items.type}[]`:i),required:o,description:r.description,enum:r.enum};if("object"===n&&r.properties)for(let[t,s]of(l.properties=[],Object.entries(r.properties))){let i=e(t,s,r.required);i&&l.properties.push(i)}if("array"===n&&r.items)if("object"===r.items.type&&r.items.properties){let t=[];for(let[s,i]of Object.entries(r.items.properties)){let a=e(s,i,r.items.required);a&&t.push(a)}l.items={name:"item",type:"object",required:!1,properties:t}}else if("array"===r.items.type){let t=e("item",r.items,[]);t&&(l.items=t)}else l.items={name:"item",type:r.items.type||"any",required:!1,description:r.items.description,enum:r.items.enum};return l}(r,s,e.required);i&&t.push(i)}else for(let[r,s]of Object.entries(e)){let e=function(e,t){if("object"!=typeof t||null===t)return{name:e,type:typeof t,required:!1};let r="object";return t.type?r=t.type:Array.isArray(t)&&(r="array"),{name:e,type:r,required:!1,description:t.description}}(r,s);t.push(e)}return{properties:t.sort((e,t)=>e.required!==t.required?e.required?-1:1:e.name.localeCompare(t.name)),hasProperties:t.length>0}}function r(e){switch(e.type){case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"array":if(e.element?.def){let t=r(e.element.def);return`${t}[]`}return"array";case"object":return"object";case"any":return"any";case"union":return"union";case"literal":return`"${e.value}"`;default:return e.type||"unknown"}}function s(e){return e.includes("string")?"primary":e.includes("number")?"violet":e.includes("boolean")?"orange":e.includes("array")||e.includes("object")?"sky":"code"}e.s(["getTypeBadgeVariant",()=>s,"parseMCPInputSchema",()=>t],811296);var i=e.i(718267),a=e.i(576726),n=e.i(117121),o=e.i(608449),l=e.i(407086),c=e.i(931793),d=e.i(634252);function u({property:e,level:t}){let[r,h]=(0,o.useState)(t<2),p=t>0?`ml-${Math.min(4*t,8)}`:"",m=e.properties&&e.properties.length>0||e.items&&(e.items.properties||e.items.items);return(0,i.jsxs)("div",{className:(0,l.cn)("space-y-1",p),children:[(0,i.jsxs)("div",{className:"flex items-center justify-between py-1",children:[(0,i.jsxs)("div",{className:"flex items-center gap-2",children:[(0,i.jsxs)("div",{className:"flex items-center gap-1",children:[m&&(0,i.jsx)(d.Button,{variant:"ghost",size:"icon-sm",onClick:()=>h(!r),className:"hover:bg-transparent",children:r?(0,i.jsx)(a.ChevronDown,{className:"w-3 h-3"}):(0,i.jsx)(n.ChevronUp,{className:"w-3 h-3"})}),(0,i.jsx)("code",{className:"text-xs font-mono",children:e.name}),"array"===e.type&&e.items&&(0,i.jsx)("span",{className:"text-xs text-muted-foreground",children:"[]"})]}),!e.required&&(0,i.jsx)("span",{className:"text-xs text-gray-500 dark:text-white/40",children:"optional"}),e.description&&(0,i.jsx)("span",{className:"text-xs text-muted-foreground max-w-xs truncate",children:e.description})]}),(0,i.jsx)(c.Badge,{variant:s(e.type),className:"text-xs",children:e.type})]}),r&&m&&(0,i.jsxs)("div",{className:"ml-4 space-y-1 border-l border-border pl-3",children:[e.properties?.map(e=>(0,i.jsx)(u,{property:e,level:t+1},e.name)),e.items?.properties&&(0,i.jsxs)("div",{className:"space-y-1",children:[(0,i.jsx)("div",{className:"text-xs text-muted-foreground font-medium",children:"Array items:"}),e.items.properties.map(e=>(0,i.jsx)(u,{property:e,level:t+1},e.name))]}),e.items?.items&&(0,i.jsxs)("div",{className:"space-y-1",children:[(0,i.jsx)("div",{className:"text-xs text-muted-foreground font-medium",children:"Array items:"}),(0,i.jsx)(u,{property:e.items,level:t+1})]})]})]})}e.s(["PropertyDisplay",()=>u],947207)},662725,664305,885143,581050,e=>{"use strict";var t=e.i(140508),r=e.i(76906),s=e.i(433575),i=e.i(530907);let a=(0,i.createServerReference)("78cb3154fdfc914d338b213064d5e17779297b3f48",i.callServer,void 0,i.findSourceMapURL,"fetchThirdPartyMCPServer");function n(e){let i,n,o,l=(0,t.c)(15);l[0]!==e?(i=void 0===e?{}:e,l[0]=e,l[1]=i):i=l[1];let{url:c,credentialScope:d,enabled:u}=i,h=void 0===c?"":c,p=void 0===d?"project":d,m=void 0===u||u,{tenantId:v,projectId:f}=(0,s.useParams)();if(!v||!f)throw Error("tenantId and projectId are required");if(l[2]!==p||l[3]!==f||l[4]!==v||l[5]!==h?(n=["third-party-mcp-server",v,f,h,p],l[2]=p,l[3]=f,l[4]=v,l[5]=h,l[6]=n):n=l[6],l[7]!==p||l[8]!==m||l[9]!==f||l[10]!==n||l[11]!==v||l[12]!==h){let e;l[14]===Symbol.for("react.memo_cache_sentinel")?(e={defaultError:"Failed to load third-party MCP server details"},l[14]=e):e=l[14],o={queryKey:n,queryFn:async()=>(await a(v,f,h,p)).data,enabled:m&&!!h,staleTime:3e4,initialData:null,initialDataUpdatedAt:0,meta:e},l[7]=p,l[8]=m,l[9]=f,l[10]=n,l[11]=v,l[12]=h,l[13]=o}else o=l[13];return(0,r.useQuery)(o)}e.s(["useThirdPartyMCPServerQuery",()=>n],662725);var o=e.i(718267),l=e.i(419200),c=e.i(964487);function d({code:e}){return(0,o.jsxs)("div",{className:"relative bg-muted/50 dark:bg-muted/30 rounded-md border overflow-hidden",children:[(0,o.jsx)(c.ScrollArea,{className:"h-20 w-full",children:(0,o.jsx)("div",{className:"px-3 py-2 pr-8",children:(0,o.jsx)("pre",{className:"text-sm text-foreground/90 font-mono whitespace-pre-wrap break-words leading-5",children:e})})}),(0,o.jsx)(l.CopyButton,{className:"absolute right-1 top-1 z-10",textToCopy:e})]})}e.s(["CopyableMultiLineCode",()=>d],664305);var u=e.i(576726),h=e.i(117121),p=e.i(608449),m=e.i(407086),v=e.i(811296),f=e.i(931793),g=e.i(634252),x=e.i(947207);function y({tool:e,isActive:t,override:r}){let[s,i]=(0,p.useState)(!1),[a,n]=(0,p.useState)(!1),l=r?.schema?r.schema:e.inputSchema,c=r?.description?r.description:e.description,d=l?(0,v.parseMCPInputSchema)(l):null,y=c&&c.length>200,b=y&&!a?`${c?.substring(0,200)}...`:c;return(0,o.jsxs)("div",{className:"border rounded-lg p-4 space-y-3",children:[(0,o.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,o.jsxs)("div",{className:"flex items-center gap-2 min-w-0 max-w-full",children:[(0,o.jsx)(f.Badge,{variant:t?"primary":"code",className:(0,m.cn)("truncate max-w-full inline-block min-w-0 flex-1",!t&&"bg-transparent text-foreground"),children:r?.displayName||e.name}),d?.hasProperties&&(0,o.jsxs)(f.Badge,{variant:"code",children:[d.properties.length," parameter",1!==d.properties.length?"s":""]}),r&&(0,o.jsx)(f.Badge,{variant:"violet",className:"uppercase",children:"Modified"})]}),d?.hasProperties&&(0,o.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:()=>i(!s),children:s?(0,o.jsx)(h.ChevronUp,{className:"w-4 h-4"}):(0,o.jsx)(u.ChevronDown,{className:"w-4 h-4"})})]}),e.description&&(0,o.jsxs)("div",{children:[(0,o.jsx)("p",{className:"text-sm text-muted-foreground leading-relaxed",children:b}),y&&(0,o.jsx)(g.Button,{variant:"link",size:"sm",onClick:()=>n(!a),className:"h-auto p-0 text-xs",children:a?"Show less":"Show more"})]}),s&&d?.hasProperties&&(0,o.jsx)("div",{className:"space-y-3 pt-2 border-t",children:(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{className:"text-sm font-medium",children:"Parameters"}),(0,o.jsx)("div",{className:"space-y-2",children:d?.properties.map(e=>(0,o.jsx)(x.PropertyDisplay,{property:e,level:0},e.name))})]})})]})}function b(e){let r,s,i,a,n,l=(0,t.c)(15),{tools:c,activeTools:d,toolOverrides:u}=e;if(l[0]===Symbol.for("react.memo_cache_sentinel")?(r=(0,o.jsx)("div",{className:"text-sm font-medium leading-none",children:"Available Tools"}),l[0]=r):r=l[0],l[1]!==c.length?(s=(0,o.jsxs)("div",{className:"flex gap-2 items-center",children:[r,(0,o.jsx)(f.Badge,{variant:"count",children:c.length})]}),l[1]=c.length,l[2]=s):s=l[2],l[3]!==d||l[4]!==u||l[5]!==c){let e;l[7]!==d||l[8]!==u?(e=e=>({...e,isActive:d?.includes(e.name)??!0,override:u?.[e.name]}),l[7]=d,l[8]=u,l[9]=e):e=l[9],i=c.map(e).sort(j).map(w),l[3]=d,l[4]=u,l[5]=c,l[6]=i}else i=l[6];return l[10]!==i?(a=(0,o.jsx)("div",{className:"space-y-2",children:i}),l[10]=i,l[11]=a):a=l[11],l[12]!==s||l[13]!==a?(n=(0,o.jsxs)("div",{className:"space-y-2",children:[s,a]}),l[12]=s,l[13]=a,l[14]=n):n=l[14],n}function w(e){return(0,o.jsx)(y,{tool:e,isActive:e.isActive,override:e.override},e.name)}function j(e,t){return e.isActive!==t.isActive?e.isActive?-1:1:e.name.localeCompare(t.name)}e.s(["AvailableToolsCard",()=>b],885143);var C=e.i(466633);function N({toolName:e,isAvailable:t}){let r=(0,o.jsx)(f.Badge,{variant:t?"primary":"warning",className:(0,m.cn)(t?"":"opacity-75 border-yellow-500 text-yellow-700 bg-yellow-50 normal-case"),children:e});return t?r:(0,o.jsxs)(C.Tooltip,{children:[(0,o.jsx)(C.TooltipTrigger,{asChild:!0,children:r}),(0,o.jsx)(C.TooltipContent,{children:(0,o.jsx)("p",{children:"This tool is not available in the MCP server."})})]})}function S({children:e,className:t}){return(0,o.jsx)("div",{className:(0,m.cn)("text-sm font-medium leading-none",t),children:e})}function _({children:e,className:t}){return(0,o.jsx)("div",{className:(0,m.cn)("flex w-full text-sm",t),children:e})}function T(e){return new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"})}function k(e){return!!e&&("string"==typeof e?new Date(e):e)<new Date}function A(e){switch(e){case"healthy":return"success";case"unhealthy":return"error";case"disabled":return"code";default:return"warning"}}e.s(["ActiveToolBadge",()=>N,"ItemLabel",()=>S,"ItemValue",()=>_,"formatDate",()=>T,"getStatusBadgeVariant",()=>A,"isExpired",()=>k],581050)},127109,e=>{"use strict";var t=e.i(718267),r=e.i(626092),s=e.i(24736),i=e.i(918374),a=e.i(935550),n=e.i(542005),o=e.i(931793),l=e.i(686320),c=e.i(665088),d=e.i(875580),u=e.i(662725),h=e.i(634252),p=e.i(664305),m=e.i(981592),v=e.i(885143),f=e.i(240422),g=e.i(581050);function x({tool:e,tenantId:x,projectId:y}){let{handleOAuthLogin:b}=(0,d.useOAuthLogin)({tenantId:x,projectId:y,onFinish:()=>{window.location.reload()}}),{canEdit:w}=(0,c.useProjectPermissions)(),j=e.config.mcp.server.url.includes("composio.dev")&&"needs_auth"===e.status,{data:C,isFetching:N}=(0,u.useThirdPartyMCPServerQuery)({url:e.config.mcp.server.url,credentialScope:"project",enabled:j}),S=C?.thirdPartyConnectAccountUrl;return(0,t.jsxs)("div",{className:"max-w-2xl mx-auto space-y-8",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(f.MCPToolImage,{imageUrl:e.imageUrl,name:e.name,size:48,className:"rounded-lg"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-medium tracking-tight",children:e.name}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"MCP server details"})]})]}),w&&(0,t.jsx)(h.Button,{asChild:!0,children:(0,t.jsxs)(n.default,{href:`/${x}/projects/${y}/mcp-servers/${e.id}/edit`,children:[(0,t.jsx)(i.Pencil,{className:"w-4 h-4"}),"Edit"]})})]}),(0,t.jsxs)("div",{className:"space-y-8",children:[(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(g.ItemLabel,{children:"Created At"}),(0,t.jsx)(g.ItemValue,{children:e.createdAt?(0,g.formatDate)(e.createdAt):"N/A"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(g.ItemLabel,{children:"Updated At"}),(0,t.jsx)(g.ItemValue,{children:e.updatedAt?(0,g.formatDate)(e.updatedAt):"N/A"})]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(g.ItemLabel,{children:"Status"}),(0,t.jsx)(g.ItemValue,{className:"items-center",children:"needs_auth"===e.status?(0,t.jsx)(o.Badge,{variant:"outline",className:"text-xs bg-amber-50 dark:bg-amber-900/20 text-amber-700 dark:text-amber-400 border-amber-200 dark:border-amber-800 cursor-pointer hover:bg-amber-100 dark:hover:bg-amber-900/30 hover:border-amber-300 dark:hover:border-amber-700 transition-colors",onClick:t=>{t.preventDefault(),t.stopPropagation(),b({toolId:e.id,mcpServerUrl:e.config.mcp.server.url,toolName:e.name,thirdPartyConnectAccountUrl:S,credentialScope:"project"})},children:N?"Loading...":"Click to Login"}):(0,t.jsx)(o.Badge,{className:"uppercase",variant:(0,g.getStatusBadgeVariant)(e.status),children:e.status})})]}),e.config.mcp.transport&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(g.ItemLabel,{children:"Transport Type"}),(0,t.jsx)(g.ItemValue,{children:(0,t.jsx)(o.Badge,{variant:"code",children:e.config.mcp.transport.type})})]})]}),e.lastError&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(g.ItemLabel,{children:"Last Error"}),(0,t.jsx)(p.CopyableMultiLineCode,{code:e.lastError})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(g.ItemLabel,{children:"Server URL"}),"mcp"===e.config.type&&(0,t.jsx)(m.CopyableSingleLineCode,{code:e.config.mcp.server.url})]}),"mcp"===e.config.type&&e.config.mcp.prompt&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(g.ItemLabel,{children:"Custom Prompt"}),(0,t.jsx)(g.ItemValue,{children:(0,t.jsx)("div",{className:"text-sm bg-muted/50 p-3 rounded border whitespace-pre-wrap",children:e.config.mcp.prompt})})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(g.ItemLabel,{children:"Credential Scope"}),(0,t.jsx)(g.ItemValue,{className:"items-center",children:(0,t.jsxs)(o.Badge,{variant:"outline",className:"flex items-center gap-1.5",children:[(0,t.jsx)(a.Users,{className:"w-3 h-3"}),"Project (shared credential)"]})})]}),e.createdBy&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(g.ItemLabel,{children:"Created By"}),(0,t.jsx)(g.ItemValue,{children:e.createdBy})]})]}),e.credentialReferenceId&&(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(g.ItemLabel,{children:"Project Credential"}),(0,t.jsx)(g.ItemValue,{className:"items-center",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)(o.Badge,{variant:"code",className:"flex items-center gap-2",children:[(0,t.jsx)(s.Lock,{className:"w-4 h-4"}),e.credentialReferenceId]}),(0,t.jsx)(l.ExternalLink,{href:`/${x}/projects/${y}/credentials/${e.credentialReferenceId}`,className:"text-xs",children:"view credential"})]})})]}),e.expiresAt&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(g.ItemLabel,{children:"Credential Expires At"}),(0,g.isExpired)(e.expiresAt)&&(0,t.jsx)(r.AlertCircle,{className:"h-4 w-4 text-amber-500"})]}),(0,t.jsx)(g.ItemValue,{children:(0,g.formatDate)(e.expiresAt)})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,t.jsx)(g.ItemLabel,{children:"Active Tools"}),(0,t.jsx)(o.Badge,{variant:"count",children:void 0===e.config.mcp.activeTools?e.availableTools?.length??0:e.config.mcp.activeTools?.length??0})]}),(0,t.jsx)(g.ItemValue,{children:void 0===e.config.mcp.activeTools?e.availableTools&&e.availableTools.length>0?(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:e.availableTools.map(e=>(0,t.jsx)(g.ActiveToolBadge,{toolName:e.name,isAvailable:!0},e.name))}):(0,t.jsx)("div",{className:"text-sm text-muted-foreground",children:"No tools available"}):e.config.mcp.activeTools&&e.config.mcp.activeTools.length>0?(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:e.config.mcp.activeTools.map(r=>{let s=e.availableTools?.some(e=>e.name===r)??!1;return(0,t.jsx)(g.ActiveToolBadge,{toolName:r,isAvailable:s},r)})}):(0,t.jsx)("div",{className:"text-sm text-muted-foreground",children:"None"})})]}),e.availableTools&&e.availableTools.length>0&&(0,t.jsx)(v.AvailableToolsCard,{tools:e.availableTools,activeTools:e.config.mcp.activeTools,toolOverrides:e.config.mcp.toolOverrides})]})]})}e.s(["ViewMCPServerDetailsProjectScope",()=>x])},919775,e=>{"use strict";var t=e.i(718267),r=e.i(626092),s=e.i(24736),i=e.i(918374),a=e.i(531963),n=e.i(542005),o=e.i(931793),l=e.i(686320),c=e.i(852236),d=e.i(665088),u=e.i(875580),h=e.i(140508),p=e.i(76906),m=e.i(433575),v=e.i(530907);let f=(0,v.createServerReference)("7013b29fd2ad6180ab793c2ac3268d367fcce8b5c4",v.callServer,void 0,v.findSourceMapURL,"fetchUserScopedCredential");var g=e.i(662725),x=e.i(634252),y=e.i(664305),b=e.i(981592),w=e.i(885143),j=e.i(240422),C=e.i(581050);function N({tool:e,tenantId:v,projectId:N}){let{canEdit:S}=(0,d.useProjectPermissions)(),{handleOAuthLogin:_}=(0,u.useOAuthLogin)({tenantId:v,projectId:N,onFinish(){window.location.reload()}}),{data:T,isFetching:k}=function(e){let t,r,s,i,a,n=(0,h.c)(15);n[0]!==e?(t=void 0===e?{}:e,n[0]=e,n[1]=t):t=n[1];let{toolId:o,enabled:l}=t,c=void 0===o?"":o,{tenantId:d,projectId:u}=(0,m.useParams)();if(!d||!u)throw Error("tenantId and projectId are required");n[2]!==u||n[3]!==d||n[4]!==c?(r=["user-scoped-credential",d,u,c],n[2]=u,n[3]=d,n[4]=c,n[5]=r):r=n[5],n[6]!==u||n[7]!==d||n[8]!==c?(s=()=>f(d,u,c),n[6]=u,n[7]=d,n[8]=c,n[9]=s):s=n[9];let v=(void 0===l||l)&&!!c;return n[10]===Symbol.for("react.memo_cache_sentinel")?(i={defaultError:"Failed to load user credential"},n[10]=i):i=n[10],n[11]!==r||n[12]!==s||n[13]!==v?(a={queryKey:r,queryFn:s,enabled:v,staleTime:3e4,initialData:null,initialDataUpdatedAt:0,meta:i},n[11]=r,n[12]=s,n[13]=v,n[14]=a):a=n[14],(0,p.useQuery)(a)}({toolId:e.id}),A=e.config.mcp.server.url.includes("composio.dev")&&"needs_auth"===e.status,{data:I,isFetching:R}=(0,g.useThirdPartyMCPServerQuery)({url:e.config.mcp.server.url,credentialScope:"user",enabled:A}),L=I?.thirdPartyConnectAccountUrl;return(0,t.jsxs)("div",{className:"max-w-2xl mx-auto space-y-8",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(j.MCPToolImage,{imageUrl:e.imageUrl,name:e.name,size:48,className:"rounded-lg"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-medium tracking-tight",children:e.name}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"MCP server details"})]})]}),S&&(0,t.jsx)(x.Button,{asChild:!0,children:(0,t.jsxs)(n.default,{href:`/${v}/projects/${N}/mcp-servers/${e.id}/edit`,children:[(0,t.jsx)(i.Pencil,{className:"w-4 h-4"}),"Edit"]})})]}),(0,t.jsxs)("div",{className:"space-y-8",children:[(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(C.ItemLabel,{children:"Created At"}),(0,t.jsx)(C.ItemValue,{children:e.createdAt?(0,C.formatDate)(e.createdAt):"N/A"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(C.ItemLabel,{children:"Updated At"}),(0,t.jsx)(C.ItemValue,{children:e.updatedAt?(0,C.formatDate)(e.updatedAt):"N/A"})]})]}),k?(0,t.jsx)(c.InfoCard,{title:"Loading...",children:(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Checking your connection status..."})}):"needs_auth"===e.status&&(0,t.jsx)(c.InfoCard,{title:"Connect Your Account",children:(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"This MCP server requires each user to connect their own account. Click below to authenticate with your personal credentials."}),(0,t.jsx)(x.Button,{size:"sm",onClick:()=>{_({toolId:e.id,mcpServerUrl:e.config.mcp.server.url,toolName:e.name,thirdPartyConnectAccountUrl:L,credentialScope:"user"})},disabled:R,children:R?"Loading...":"Connect My Account"})]})}),(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(C.ItemLabel,{children:"Your Status"}),(0,t.jsx)(C.ItemValue,{className:"items-center",children:(0,t.jsx)(o.Badge,{className:"uppercase",variant:(0,C.getStatusBadgeVariant)(e.status),children:"needs_auth"===e.status?"Needs Login":"unavailable"===e.status?"Unavailable":e.status})})]}),e.config.mcp.transport&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(C.ItemLabel,{children:"Transport Type"}),(0,t.jsx)(C.ItemValue,{children:(0,t.jsx)(o.Badge,{variant:"code",children:e.config.mcp.transport.type})})]})]}),e.lastError&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(C.ItemLabel,{children:"Last Error"}),(0,t.jsx)(y.CopyableMultiLineCode,{code:e.lastError})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(C.ItemLabel,{children:"Server URL"}),"mcp"===e.config.type&&(0,t.jsx)(b.CopyableSingleLineCode,{code:e.config.mcp.server.url})]}),"mcp"===e.config.type&&e.config.mcp.prompt&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(C.ItemLabel,{children:"Custom Prompt"}),(0,t.jsx)(C.ItemValue,{children:(0,t.jsx)("div",{className:"text-sm bg-muted/50 p-3 rounded border whitespace-pre-wrap",children:e.config.mcp.prompt})})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(C.ItemLabel,{children:"Credential Scope"}),(0,t.jsx)(C.ItemValue,{className:"items-center",children:(0,t.jsxs)(o.Badge,{variant:"outline",className:"flex items-center gap-1.5",children:[(0,t.jsx)(a.User,{className:"w-3 h-3"}),"User (per-user credentials)"]})})]}),e.createdBy&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(C.ItemLabel,{children:"Created By"}),(0,t.jsx)(C.ItemValue,{children:e.createdBy})]})]}),T&&(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(C.ItemLabel,{children:"Your Credential"}),(0,t.jsx)(C.ItemValue,{className:"items-center",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)(o.Badge,{variant:"code",className:"flex items-center gap-2",children:[(0,t.jsx)(s.Lock,{className:"w-4 h-4"}),T.name]}),(0,t.jsx)(l.ExternalLink,{href:`/${v}/projects/${N}/credentials/${T.id}`,className:"text-xs",children:"view"})]})})]}),e.expiresAt&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(C.ItemLabel,{children:"Credential Expires At"}),(0,C.isExpired)(e.expiresAt)&&(0,t.jsx)(r.AlertCircle,{className:"h-4 w-4 text-amber-500"})]}),(0,t.jsx)(C.ItemValue,{children:(0,C.formatDate)(e.expiresAt)})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,t.jsx)(C.ItemLabel,{children:"Active Tools"}),(0,t.jsx)(o.Badge,{variant:"count",children:void 0===e.config.mcp.activeTools?e.availableTools?.length??0:e.config.mcp.activeTools?.length??0})]}),(0,t.jsx)(C.ItemValue,{children:void 0===e.config.mcp.activeTools?e.availableTools&&e.availableTools.length>0?(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:e.availableTools.map(e=>(0,t.jsx)(C.ActiveToolBadge,{toolName:e.name,isAvailable:!0},e.name))}):(0,t.jsx)("div",{className:"text-sm text-muted-foreground",children:"No tools available"}):e.config.mcp.activeTools&&e.config.mcp.activeTools.length>0?(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:e.config.mcp.activeTools.map(r=>{let s=e.availableTools?.some(e=>e.name===r)??!1;return(0,t.jsx)(C.ActiveToolBadge,{toolName:r,isAvailable:s},r)})}):(0,t.jsx)("div",{className:"text-sm text-muted-foreground",children:"None"})})]}),e.availableTools&&e.availableTools.length>0&&(0,t.jsx)(w.AvailableToolsCard,{tools:e.availableTools,activeTools:e.config.mcp.activeTools,toolOverrides:e.config.mcp.toolOverrides})]})]})}e.s(["ViewMCPServerDetailsUserScope",()=>N],919775)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,397309,e=>{"use strict";var t=e.i(718267),a=e.i(429385),r=e.i(433575),s=e.i(608449),n=e.i(325761),l=e.i(60364),o=e.i(304285),i=e.i(177393),c=e.i(634252),d=e.i(352535),u=e.i(348418),m=e.i(990891),h=e.i(530907);let p=(0,h.createServerReference)("709fe712779887a499df2e6bce6a67a3adfdcece6b",h.callServer,void 0,h.findSourceMapURL,"createEvaluationJobConfigAction");var x=e.i(155566),g=e.i(699487);let v=g.z.object({startDate:g.z.string().min(1,"Start date is required"),endDate:g.z.string().min(1,"End date is required")}).optional().nullable(),j=g.z.object({datasetRunIds:g.z.array(g.z.string()).optional(),conversationIds:g.z.array(g.z.string()).optional(),dateRange:v}).optional().nullable(),f=g.z.object({jobFilters:j,evaluatorIds:g.z.array(g.z.string()).min(1,"At least one evaluator is required")});function b({tenantId:e,projectId:h,isOpen:g,onOpenChange:v,trigger:j}){let b=(0,r.useRouter)(),[C,S]=(0,s.useState)(!1),y=j?C:g,N=j?S:v,{data:D,isFetching:w}=(0,x.useEvaluatorsQuery)({enabled:y}),T={jobFilters:null,evaluatorIds:[]},I=(0,n.useForm)({resolver:(0,a.zodResolver)(f),defaultValues:T});(0,s.useEffect)(()=>{y&&I.reset(T)},[y,I]);let{isSubmitting:R}=I.formState,A=I.watch("evaluatorIds")||[],E=I.watch("jobFilters"),F=(0,s.useMemo)(()=>D.reduce((e,t)=>(e[t.id]=t,e),{}),[D]),[O,z]=(0,s.useState)(""),[k,M]=(0,s.useState)(""),H=async t=>{if(await I.trigger())try{let a=t.jobFilters;if(a?.dateRange?.startDate&&a?.dateRange?.endDate){let[e,t,r]=a.dateRange.startDate.split("-").map(Number),[s,n,l]=a.dateRange.endDate.split("-").map(Number),o=new Date(e,t-1,r,0,0,0,0),i=new Date(s,n-1,l,23,59,59,999);a={...a,dateRange:{startDate:o.toISOString(),endDate:i.toISOString()}}}let r={jobFilters:a||null,evaluatorIds:t.evaluatorIds},s=await p(e,h,r);s.success&&s.data?(l.toast.success("Batch evaluation created"),N(!1),I.reset(),b.push(`/${e}/projects/${h}/evaluations/jobs/${s.data.id}`)):l.toast.error(s.error||"Failed to create batch evaluation")}catch(t){console.error("Error submitting batch evaluation:",t);let e=t instanceof Error?t.message:"An unexpected error occurred";l.toast.error(e)}};return(0,t.jsxs)(d.Dialog,{open:y,onOpenChange:N,children:[j&&(0,t.jsx)(d.DialogTrigger,{asChild:!0,children:j}),(0,t.jsxs)(d.DialogContent,{className:"sm:max-w-3xl max-h-[95vh] overflow-y-auto",children:[(0,t.jsxs)(d.DialogHeader,{children:[(0,t.jsx)(d.DialogTitle,{children:"Create Batch Evaluation"}),(0,t.jsx)(d.DialogDescription,{children:"Configure a one-off batch evaluation to evaluate conversations based on filters."})]}),w?(0,t.jsx)("div",{className:"py-8 text-center text-muted-foreground",children:"Loading..."}):(0,t.jsx)(u.Form,{...I,children:(0,t.jsxs)("form",{onSubmit:I.handleSubmit(H),className:"space-y-6",children:[(0,t.jsx)(u.FormField,{control:I.control,name:"evaluatorIds",render:()=>(0,t.jsxs)(u.FormItem,{children:[(0,t.jsx)(o.ComponentSelector,{label:"Evaluators",componentLookup:F,selectedComponents:A,onSelectionChange:e=>{I.setValue("evaluatorIds",e)},emptyStateMessage:"No evaluators available.",emptyStateActionText:"Create evaluator",emptyStateActionHref:`/${e}/projects/${h}/evaluations?tab=evaluators`,placeholder:"Select evaluators..."}),(0,t.jsx)(u.FormMessage,{})]})}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(m.Label,{children:"Filters"}),(0,t.jsx)("div",{className:"space-y-4 border rounded-lg p-4",children:(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(m.Label,{className:"text-sm",children:"Date Range"}),(0,t.jsx)(i.DatePickerWithPresets,{label:"Date range",value:O&&k?{from:O,to:k}:void 0,onAdd:()=>{},onRemove:()=>{z(""),M(""),I.setValue("jobFilters",{...E,dateRange:void 0})},setCustomDateRange:(e,t)=>{if(z(e),M(t),e&&t){let a=new Date(e),r=new Date(t);I.setValue("jobFilters",{...E,dateRange:{startDate:a.toISOString().split("T")[0],endDate:r.toISOString().split("T")[0]}})}else I.setValue("jobFilters",{...E,dateRange:void 0})},showCalendarDirectly:!0,placeholder:"Select date range"})]})})]}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)(c.Button,{type:"button",variant:"outline",onClick:()=>v(!1),children:"Cancel"}),(0,t.jsx)(c.Button,{type:"submit",disabled:R,children:"Create Batch Evaluation"})]})]})})]})]})}e.s(["EvaluationJobFormDialog",()=>b],397309)},478397,e=>{"use strict";var t=e.i(718267),a=e.i(481503),r=e.i(231530),s=e.i(411859),n=e.i(625175),l=e.i(433575),o=e.i(608449),i=e.i(634252),c=e.i(855759),d=e.i(853160),u=e.i(931861),m=e.i(541827),h=e.i(558060),p=e.i(60364),x=e.i(103045),g=e.i(530907);let v=(0,g.createServerReference)("70741aa8e88dd0b0eacfdfda418ad03c7d705ff5ee",g.callServer,void 0,g.findSourceMapURL,"deleteEvaluationJobConfigAction");function j({tenantId:e,projectId:a,jobConfig:r,isOpen:s,onOpenChange:n}){let[l,i]=(0,o.useState)(!1),c=async()=>{i(!0);try{let t=await v(e,a,r.id);t.success?(p.toast.success("Batch evaluation deleted"),n(!1)):p.toast.error(t.error||"Failed to delete batch evaluation")}catch(e){console.error("Error deleting batch evaluation:",e),p.toast.error("An unexpected error occurred")}finally{i(!1)}};return(0,t.jsx)(x.AlertDialog,{open:s,onOpenChange:n,children:(0,t.jsxs)(x.AlertDialogContent,{children:[(0,t.jsxs)(x.AlertDialogHeader,{children:[(0,t.jsx)(x.AlertDialogTitle,{children:"Delete Batch Evaluation"}),(0,t.jsx)(x.AlertDialogDescription,{children:"Are you sure you want to delete this batch evaluation? This action cannot be undone."})]}),(0,t.jsxs)(x.AlertDialogFooter,{children:[(0,t.jsx)(x.AlertDialogCancel,{disabled:l,children:"Cancel"}),(0,t.jsx)(x.AlertDialogAction,{onClick:c,disabled:l,className:"bg-white text-gray-900 border border-gray-300 hover:bg-gray-100",children:l?"Deleting...":"Delete"})]})]})})}var f=e.i(397309);function b({tenantId:e,projectId:p,jobConfigs:x}){let g=(0,l.useRouter)(),[v,b]=(0,o.useState)(),[C,S]=(0,o.useState)({}),[y,N]=(0,o.useState)(!0),[D,w]=(0,o.useState)(!1);return(0,o.useEffect)(()=>{let t=async()=>{N(!0);let t=new Set;x.forEach(e=>{let a=e.jobFilters;a?.datasetRunIds&&a.datasetRunIds.forEach(e=>{t.add(e)})});let a={};for(let r of t)try{let t=await (0,m.fetchDatasetRun)(e,p,r);a[r]=t.data?.runConfigName||`Run ${r.slice(0,8)}`}catch{a[r]=`Run ${r.slice(0,8)}`}S(a),N(!1)};x.length>0?t():N(!1)},[x,e,p]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"rounded-lg border",children:(0,t.jsxs)(u.Table,{children:[(0,t.jsx)(u.TableHeader,{children:(0,t.jsxs)(u.TableRow,{noHover:!0,children:[(0,t.jsx)(u.TableHead,{children:"Name"}),(0,t.jsx)(u.TableHead,{children:"Updated"}),(0,t.jsx)(u.TableHead,{className:"w-12"}),(0,t.jsx)(u.TableHead,{className:"w-12"})]})}),(0,t.jsx)(u.TableBody,{children:0===x.length?(0,t.jsx)(u.TableRow,{noHover:!0,children:(0,t.jsx)(u.TableCell,{colSpan:4,className:"py-12",children:(0,t.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:"No batch evaluations yet"}),(0,t.jsx)(f.EvaluationJobFormDialog,{tenantId:e,projectId:p,isOpen:D,onOpenChange:w,trigger:(0,t.jsxs)(i.Button,{variant:"outline",size:"sm",children:[(0,t.jsx)(s.Plus,{className:"h-4 w-4"}),"Add first batch evaluation"]})})]})})}):y?[...x].map(e=>(0,t.jsxs)(u.TableRow,{noHover:!0,children:[(0,t.jsx)(u.TableCell,{children:(0,t.jsx)(d.Skeleton,{className:"h-4 w-48"})}),(0,t.jsx)(u.TableCell,{children:(0,t.jsx)(d.Skeleton,{className:"h-4 w-24"})}),(0,t.jsx)(u.TableCell,{children:(0,t.jsx)(d.Skeleton,{className:"h-4 w-8"})}),(0,t.jsx)(u.TableCell,{children:(0,t.jsx)(d.Skeleton,{className:"h-4 w-4"})})]},e.id)):[...x].sort((e,t)=>new Date(t.updatedAt).getTime()-new Date(e.updatedAt).getTime()).map(s=>(0,t.jsxs)(u.TableRow,{className:"cursor-pointer",onClick:()=>g.push(`/${e}/projects/${p}/evaluations/jobs/${s.id}`),children:[(0,t.jsx)(u.TableCell,{className:"font-medium",children:(e=>{if(!e)return"No filters";let t=[];if(e.datasetRunIds&&Array.isArray(e.datasetRunIds)&&e.datasetRunIds.length>0){let a=e.datasetRunIds.map(e=>C[e]||`Run ${e.slice(0,8)}`).join(", ");t.push(a)}if(e.dateRange?.startDate&&e.dateRange?.endDate){let a=new Date(e.dateRange.startDate),r=new Date(e.dateRange.endDate),s=a.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}),n=r.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"});t.push(`${s} - ${n}`)}return t.length>0?t.join(" • "):"No filters"})(s.jobFilters)}),(0,t.jsx)(u.TableCell,{className:"text-sm text-muted-foreground",children:(0,h.formatDate)(s.updatedAt)}),(0,t.jsx)(u.TableCell,{onClick:e=>e.stopPropagation(),children:(0,t.jsxs)(c.DropdownMenu,{children:[(0,t.jsx)(c.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsx)(i.Button,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",children:(0,t.jsx)(r.MoreVertical,{className:"h-4 w-4"})})}),(0,t.jsx)(c.DropdownMenuContent,{align:"end",children:(0,t.jsxs)(c.DropdownMenuItem,{onClick:()=>{b(s)},className:"!text-destructive",children:[(0,t.jsx)(n.Trash2,{className:"text-inherit"}),"Delete"]})})]})}),(0,t.jsx)(u.TableCell,{children:(0,t.jsx)(a.ChevronRight,{className:"h-4 w-4 text-muted-foreground"})})]},s.id))})]})}),v&&(0,t.jsx)(j,{tenantId:e,projectId:p,jobConfig:v,isOpen:!!v,onOpenChange:e=>{e||b(void 0)}})]})}e.s(["EvaluationJobsList",()=>b],478397)},935212,e=>{"use strict";var t=e.i(718267),a=e.i(140508),r=e.i(429385),s=e.i(928637),n=e.i(542005),l=e.i(433575),o=e.i(608449),i=e.i(325761),c=e.i(60364),d=e.i(699487),u=e.i(304285),m=e.i(600840),h=e.i(544048),p=e.i(931793),x=e.i(634252),g=e.i(352535),v=e.i(348418),j=e.i(914693),f=e.i(530907);let b=(0,f.createServerReference)("70b99fa86ecba29b3d4d9b450661041d27b578c2cf",f.callServer,void 0,f.findSourceMapURL,"createEvaluationRunConfigAction"),C=(0,f.createServerReference)("78ce619c1014ad07c0d3da3a454549b3988aa9836b",f.callServer,void 0,f.findSourceMapURL,"updateEvaluationRunConfigAction"),S=(0,f.createServerReference)("70ab69e3ebaca6b49f5148e65b7664c2c7f1677b8c",f.callServer,void 0,f.findSourceMapURL,"createEvaluationSuiteConfigAction");var y=e.i(520923),N=e.i(15146),D=e.i(155566);let w=d.z.object({name:d.z.string().min(1,"Name is required"),description:d.z.string().optional(),isActive:d.z.boolean(),suiteConfigIds:d.z.array(d.z.string())}),T=e=>e?{name:e.name,description:e.description,isActive:!1!==e.isActive,suiteConfigIds:e.suiteConfigIds||[]}:{name:"",description:"",isActive:!0,suiteConfigIds:[]},I=d.z.object({evaluatorIds:d.z.array(d.z.string()).min(1,"At least one evaluator is required"),agentIds:d.z.array(d.z.string()),sampleRate:d.z.number().min(0).max(1).optional()});function R(e){let d,j,f,R,z,k,M,H,L,B,P,$,V,U,q,J,_,Q,W,G,K,Y,X,Z,ee,et,ea,er,es,en,el,eo,ei,ec,ed,eu,em,eh,ep=(0,a.c)(108),{tenantId:ex,projectId:eg,runConfigId:ev,initialData:ej,isOpen:ef,onOpenChange:eb,trigger:eC,onSuccess:eS}=e,ey=(0,l.useRouter)(),[eN,eD]=(0,o.useState)(!1),ew=eC?eN:ef,eT=eC?eD:eb,eI=ej?.suiteConfigIds?.[0];ep[0]!==ew?(d={enabled:ew},ep[0]=ew,ep[1]=d):d=ep[1];let{data:eR}=(0,D.useEvaluatorsQuery)(d);ep[2]!==ew?(j={enabled:ew},ep[2]=ew,ep[3]=j):j=ep[3];let{data:eA}=(0,y.useAgentsQuery)(j);ep[4]!==ew||ep[5]!==eI?(f={suiteConfigId:eI,enabled:ew},ep[4]=ew,ep[5]=eI,ep[6]=f):f=ep[6];let{data:eE,isFetching:eF}=(0,N.useEvaluationSuiteConfigQuery)(f);ep[7]!==ew||ep[8]!==eI?(R={suiteConfigId:eI,enabled:ew},ep[7]=ew,ep[8]=eI,ep[9]=R):R=ep[9];let{data:eO,isFetching:ez}=(0,N.useEvaluationSuiteConfigEvaluatorsQuery)(R);ep[10]===Symbol.for("react.memo_cache_sentinel")?(z=(0,r.zodResolver)(w),ep[10]=z):z=ep[10],ep[11]!==ej?(k=T(ej),ep[11]=ej,ep[12]=k):k=ep[12],ep[13]!==k?(M={resolver:z,defaultValues:k},ep[13]=k,ep[14]=M):M=ep[14];let ek=(0,i.useForm)(M);ep[15]===Symbol.for("react.memo_cache_sentinel")?(H={resolver:(0,r.zodResolver)(I),defaultValues:{evaluatorIds:[],agentIds:[],sampleRate:void 0}},ep[15]=H):H=ep[15];let eM=(0,i.useForm)(H),eH=ew&&!eF&&!ez;ep[16]!==eH||ep[17]!==eE||ep[18]!==eO||ep[19]!==eM?(B=()=>{if(!eH||!eE)return;let e=eE.filters;eM.reset({evaluatorIds:eO.map(O),agentIds:e?.agentIds||[],sampleRate:eE.sampleRate??void 0})},L=[eH,eE,eO,eM],ep[16]=eH,ep[17]=eE,ep[18]=eO,ep[19]=eM,ep[20]=L,ep[21]=B):(L=ep[20],B=ep[21]),(0,o.useEffect)(B,L),ep[22]!==ek||ep[23]!==ej||ep[24]!==ew||ep[25]!==eM?(P=()=>{ew&&(ek.reset(T(ej)),eM.reset({evaluatorIds:[],agentIds:[],sampleRate:void 0}))},$=[ew,ej,ek,eM],ep[22]=ek,ep[23]=ej,ep[24]=ew,ep[25]=eM,ep[26]=P,ep[27]=$):(P=ep[26],$=ep[27]),(0,o.useEffect)(P,$),ep[28]!==eR?(V=eR.reduce(F,{}),ep[28]=eR,ep[29]=V):V=ep[29];let eL=V;ep[30]!==eA?(U=eA.reduce(E,{}),ep[30]=eA,ep[31]=U):U=ep[31];let eB=U;ep[32]!==eM.control?(q={control:eM.control,name:"agentIds"},ep[32]=eM.control,ep[33]=q):q=ep[33];let eP=(0,i.useWatch)(q);ep[34]!==eM.control?(J={control:eM.control,name:"evaluatorIds"},ep[34]=eM.control,ep[35]=J):J=ep[35];let e$=(0,i.useWatch)(J),{isSubmitting:eV}=ek.formState;ep[36]!==ek||ep[37]!==eb||ep[38]!==eS||ep[39]!==eg||ep[40]!==ey||ep[41]!==ev||ep[42]!==eM||ep[43]!==ex||ep[44]!==eC?(_=ek.handleSubmit(async e=>{let t=await ek.trigger(),a=await eM.trigger();if(!t||!a)return;let r=async function(){let t,a=eM.getValues(),r=a.agentIds&&a.agentIds.length>0?{agentIds:a.agentIds}:null,s=await S(ex,eg,{evaluatorIds:a.evaluatorIds,filters:r,sampleRate:a.sampleRate});if(!s.success||!s.data)return void c.toast.error(s.error||"Failed to create evaluation plan");let n={name:e.name,description:e.description,isActive:e.isActive,suiteConfigIds:[s.data.id]};(t=ev?await C(ex,eg,ev,n):await b(ex,eg,n)).success?(console.log("Run config created/updated successfully"),c.toast.success(`Continuous test ${ev?"updated":"created"}`),ek.reset(),eM.reset(),eC?eD(!1):eb?.(!1),eS?(console.log("Calling onSuccess callback"),eS()):console.log("No onSuccess callback provided"),ey.refresh()):c.toast.error(t.error||`Failed to ${ev?"update":"create"} continuous test`)};try{await r()}catch(e){console.error("Error submitting form:",e),c.toast.error("An unexpected error occurred")}}),ep[36]=ek,ep[37]=eb,ep[38]=eS,ep[39]=eg,ep[40]=ey,ep[41]=ev,ep[42]=eM,ep[43]=ex,ep[44]=eC,ep[45]=_):_=ep[45];let eU=_;ep[46]!==eC?(Q=eC&&(0,t.jsx)(g.DialogTrigger,{asChild:!0,children:eC}),ep[46]=eC,ep[47]=Q):Q=ep[47];let eq=ev?"Edit Continuous Test":"Create Continuous Test";ep[48]!==eq?(W=(0,t.jsx)(g.DialogTitle,{children:eq}),ep[48]=eq,ep[49]=W):W=ep[49],ep[50]===Symbol.for("react.memo_cache_sentinel")?(G=(0,t.jsx)(g.DialogDescription,{children:"Automatically run evaluations when conversations complete. Link evaluation plans to define which evaluations to run."}),ep[50]=G):G=ep[50],ep[51]!==W?(K=(0,t.jsxs)(g.DialogHeader,{children:[W,G]}),ep[51]=W,ep[52]=K):K=ep[52],ep[53]!==ek.control?(Y=(0,t.jsx)(m.GenericInput,{control:ek.control,name:"name",label:"Name",description:"A descriptive name for this continuous test",placeholder:"e.g., Production Quality Checks",isRequired:!0}),X=(0,t.jsx)(h.GenericTextarea,{control:ek.control,name:"description",label:"Description",placeholder:"Automatically evaluates all production conversations..."}),Z=(0,t.jsx)(v.FormField,{control:ek.control,name:"isActive",render:A}),ep[53]=ek.control,ep[54]=Y,ep[55]=X,ep[56]=Z):(Y=ep[54],X=ep[55],Z=ep[56]),ep[57]===Symbol.for("react.memo_cache_sentinel")?(ee=(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-base font-semibold",children:"Evaluation Configuration"}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground mt-1",children:"Configure what and how to evaluate"})]}),ep[57]=ee):ee=ep[57],ep[58]!==eB||ep[59]!==eg||ep[60]!==eP||ep[61]!==eM||ep[62]!==ex?(et=()=>(0,t.jsxs)(v.FormItem,{children:[(0,t.jsx)(u.ComponentSelector,{label:"Agent Filter",componentLookup:eB,selectedComponents:eP,onSelectionChange:e=>{eM.setValue("agentIds",e)},emptyStateMessage:"No agents available.",emptyStateActionText:"Create agent",emptyStateActionHref:`/${ex}/projects/${eg}/agents`,placeholder:"Select agents to evaluate..."}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:"Select which agents to evaluate. Leave empty to evaluate all agents."}),(0,t.jsx)(v.FormMessage,{})]}),ep[58]=eB,ep[59]=eg,ep[60]=eP,ep[61]=eM,ep[62]=ex,ep[63]=et):et=ep[63],ep[64]!==eM.control||ep[65]!==et?(ea=(0,t.jsx)(v.FormField,{control:eM.control,name:"agentIds",render:et}),ep[64]=eM.control,ep[65]=et,ep[66]=ea):ea=ep[66],ep[67]!==eL||ep[68]!==eg||ep[69]!==eM||ep[70]!==e$||ep[71]!==ex?(er=()=>(0,t.jsxs)(v.FormItem,{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(v.FormLabel,{isRequired:!0,children:"Evaluators"}),(0,t.jsx)(p.Badge,{variant:"count",children:e$.length})]}),(0,t.jsxs)(n.default,{href:`/${ex}/projects/${eg}/evaluations?tab=evaluators`,target:"_blank",rel:"noopener noreferrer",className:(0,x.buttonVariants)({variant:"link",size:"sm"}),children:["Create evaluator",(0,t.jsx)(s.ArrowUpRight,{className:"ml-1 size-3"})]})]}),(0,t.jsx)(u.ComponentSelector,{label:"",componentLookup:eL,selectedComponents:e$,onSelectionChange:e=>{eM.setValue("evaluatorIds",e)},emptyStateMessage:"No evaluators available.",emptyStateActionText:"Create evaluator",emptyStateActionHref:`/${ex}/projects/${eg}/evaluations?tab=evaluators`,placeholder:"Select evaluators..."}),(0,t.jsx)(v.FormMessage,{})]}),ep[67]=eL,ep[68]=eg,ep[69]=eM,ep[70]=e$,ep[71]=ex,ep[72]=er):er=ep[72],ep[73]!==eM.control||ep[74]!==er?(es=(0,t.jsx)(v.FormField,{control:eM.control,name:"evaluatorIds",render:er}),ep[73]=eM.control,ep[74]=er,ep[75]=es):es=ep[75],ep[76]!==eM.control?(en=(0,t.jsx)(m.GenericInput,{control:eM.control,name:"sampleRate",label:"Sample Rate",type:"number",placeholder:"1.0",description:"Sample rate for evaluation (0.0 to 1.0). For example, 0.1 means 10% of conversations will be evaluated. If not set, all conversations will be evaluated."}),ep[76]=eM.control,ep[77]=en):en=ep[77],ep[78]!==ea||ep[79]!==es||ep[80]!==en?(el=(0,t.jsxs)("div",{className:"space-y-4 rounded-lg border p-4",children:[ee,ea,es,en]}),ep[78]=ea,ep[79]=es,ep[80]=en,ep[81]=el):el=ep[81],ep[82]!==eT?(eo=(0,t.jsx)(x.Button,{type:"button",variant:"outline",onClick:()=>eT(!1),children:"Cancel"}),ep[82]=eT,ep[83]=eo):eo=ep[83];let eJ=eV?"Saving...":ev?"Update":"Create";return ep[84]!==eV||ep[85]!==eJ?(ei=(0,t.jsx)(x.Button,{type:"submit",disabled:eV,children:eJ}),ep[84]=eV,ep[85]=eJ,ep[86]=ei):ei=ep[86],ep[87]!==eo||ep[88]!==ei?(ec=(0,t.jsxs)("div",{className:"flex justify-end space-x-2 pt-4",children:[eo,ei]}),ep[87]=eo,ep[88]=ei,ep[89]=ec):ec=ep[89],ep[90]!==eU||ep[91]!==Y||ep[92]!==X||ep[93]!==Z||ep[94]!==el||ep[95]!==ec?(ed=(0,t.jsxs)("form",{onSubmit:eU,className:"space-y-6",children:[Y,X,Z,el,ec]}),ep[90]=eU,ep[91]=Y,ep[92]=X,ep[93]=Z,ep[94]=el,ep[95]=ec,ep[96]=ed):ed=ep[96],ep[97]!==ek||ep[98]!==ed?(eu=(0,t.jsx)(v.Form,{...ek,children:ed}),ep[97]=ek,ep[98]=ed,ep[99]=eu):eu=ep[99],ep[100]!==K||ep[101]!==eu?(em=(0,t.jsxs)(g.DialogContent,{className:"sm:max-w-3xl max-h-[95vh] overflow-y-auto",children:[K,eu]}),ep[100]=K,ep[101]=eu,ep[102]=em):em=ep[102],ep[103]!==ew||ep[104]!==eT||ep[105]!==Q||ep[106]!==em?(eh=(0,t.jsxs)(g.Dialog,{open:ew,onOpenChange:eT,children:[Q,em]}),ep[103]=ew,ep[104]=eT,ep[105]=Q,ep[106]=em,ep[107]=eh):eh=ep[107],eh}function A(e){let{field:a}=e;return(0,t.jsxs)(v.FormItem,{className:"flex flex-row items-center justify-between rounded-lg border p-4",children:[(0,t.jsxs)("div",{className:"space-y-0.5",children:[(0,t.jsx)(v.FormLabel,{className:"text-base",children:"Active"}),(0,t.jsx)("div",{className:"text-sm text-muted-foreground",children:"When active, evaluations will automatically trigger for matching conversations"})]}),(0,t.jsx)(j.Switch,{checked:a.value,onCheckedChange:a.onChange})]})}function E(e,t){return e[t.id]=t,e}function F(e,t){return e[t.id]=t,e}function O(e){return e.evaluatorId}e.s(["EvaluationRunConfigFormDialog",()=>R],935212)},274335,e=>{"use strict";var t=e.i(718267),a=e.i(481503),r=e.i(231530),s=e.i(918374),n=e.i(411859),l=e.i(625175),o=e.i(433575),i=e.i(608449),c=e.i(931793),d=e.i(634252),u=e.i(855759),m=e.i(931861),h=e.i(530907);let p=(0,h.createServerReference)("60d6202e731d297b7d672348b42b0d67b13fb80fd5",h.callServer,void 0,h.findSourceMapURL,"fetchEvaluationRunConfigs");var x=e.i(558060),g=e.i(60364),v=e.i(103045);let j=(0,h.createServerReference)("70d6ccab68f83db51aa2d145c13ee073cad88bb519",h.callServer,void 0,h.findSourceMapURL,"deleteEvaluationRunConfigAction");function f({tenantId:e,projectId:a,runConfig:r,isOpen:s,onOpenChange:n,onSuccess:l}){let[o,c]=(0,i.useState)(!1),d=async()=>{c(!0);try{let t=await j(e,a,r.id);t.success?(g.toast.success("Continuous test deleted"),n(!1),l?.()):g.toast.error(t.error||"Failed to delete continuous test")}catch(e){console.error("Error deleting evaluation run config:",e),g.toast.error("An unexpected error occurred")}finally{c(!1)}};return(0,t.jsx)(v.AlertDialog,{open:s,onOpenChange:n,children:(0,t.jsxs)(v.AlertDialogContent,{children:[(0,t.jsxs)(v.AlertDialogHeader,{children:[(0,t.jsx)(v.AlertDialogTitle,{children:"Delete Continuous Test"}),(0,t.jsxs)(v.AlertDialogDescription,{children:['Are you sure you want to delete "',r.name,'"? This action cannot be undone. Evaluations will no longer be automatically triggered for matching conversations.']})]}),(0,t.jsxs)(v.AlertDialogFooter,{children:[(0,t.jsx)(v.AlertDialogCancel,{disabled:o,children:"Cancel"}),(0,t.jsx)(v.AlertDialogAction,{onClick:d,disabled:o,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:o?"Deleting...":"Delete"})]})]})})}var b=e.i(935212);function C({tenantId:e,projectId:h,runConfigs:g,refreshKey:v}){let j=(0,o.useRouter)(),[C,S]=(0,i.useState)(g),[y,N]=(0,i.useState)(),[D,w]=(0,i.useState)(!1),[T,I]=(0,i.useState)(!1),[R,A]=(0,i.useState)();(0,i.useEffect)(()=>{S(g)},[g]);let E=(0,i.useCallback)(async()=>{try{console.log("Fetching fresh run configs...");let t=await p(e,h);console.log("Received run configs:",t.data.length,"items"),S(t.data)}catch(e){console.error("Error refreshing run configs:",e)}},[e,h]);return(0,i.useEffect)(()=>{console.log("refreshKey changed to:",v),void 0!==v&&"number"==typeof v&&v>0&&(console.log("Calling refreshRunConfigs"),E())},[v,E]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"rounded-lg border",children:(0,t.jsxs)(m.Table,{children:[(0,t.jsx)(m.TableHeader,{children:(0,t.jsxs)(m.TableRow,{noHover:!0,children:[(0,t.jsx)(m.TableHead,{children:"Name"}),(0,t.jsx)(m.TableHead,{children:"Description"}),(0,t.jsx)(m.TableHead,{children:"Status"}),(0,t.jsx)(m.TableHead,{children:"Updated"}),(0,t.jsx)(m.TableHead,{className:"w-12"}),(0,t.jsx)(m.TableHead,{className:"w-12"})]})}),(0,t.jsx)(m.TableBody,{children:0===C.length?(0,t.jsx)(m.TableRow,{noHover:!0,children:(0,t.jsx)(m.TableCell,{colSpan:6,className:"py-12",children:(0,t.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:"No continuous tests yet"}),(0,t.jsx)(b.EvaluationRunConfigFormDialog,{tenantId:e,projectId:h,isOpen:T,onOpenChange:I,onSuccess:E,trigger:(0,t.jsxs)(d.Button,{variant:"outline",size:"sm",children:[(0,t.jsx)(n.Plus,{className:"h-4 w-4"}),"Add first continuous test"]})})]})})}):C.map(n=>(0,t.jsxs)(m.TableRow,{className:"cursor-pointer",onClick:()=>j.push(`/${e}/projects/${h}/evaluations/run-configs/${n.id}`),children:[(0,t.jsx)(m.TableCell,{className:"font-medium",children:n.name}),(0,t.jsx)(m.TableCell,{children:(0,t.jsx)("span",{className:"text-sm text-muted-foreground line-clamp-1",children:n.description||"No description"})}),(0,t.jsx)(m.TableCell,{children:(0,t.jsx)(c.Badge,{variant:n.isActive?"default":"secondary",children:n.isActive?"Active":"Inactive"})}),(0,t.jsx)(m.TableCell,{className:"text-sm text-muted-foreground",children:(0,x.formatDate)(n.updatedAt)}),(0,t.jsx)(m.TableCell,{onClick:e=>e.stopPropagation(),children:(0,t.jsxs)(u.DropdownMenu,{children:[(0,t.jsx)(u.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsx)(d.Button,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",children:(0,t.jsx)(r.MoreVertical,{className:"h-4 w-4"})})}),(0,t.jsxs)(u.DropdownMenuContent,{align:"end",children:[(0,t.jsxs)(u.DropdownMenuItem,{onClick:()=>{N(n),w(!0)},children:[(0,t.jsx)(s.Pencil,{className:"mr-2 h-4 w-4"}),"Edit"]}),(0,t.jsxs)(u.DropdownMenuItem,{onClick:()=>{A(n)},className:"text-destructive",children:[(0,t.jsx)(l.Trash2,{className:"mr-2 h-4 w-4"}),"Delete"]})]})]})}),(0,t.jsx)(m.TableCell,{children:(0,t.jsx)(a.ChevronRight,{className:"h-4 w-4 text-muted-foreground"})})]},n.id))})]})}),y&&(0,t.jsx)(b.EvaluationRunConfigFormDialog,{tenantId:e,projectId:h,runConfigId:y.id,initialData:y,isOpen:D,onOpenChange:e=>{w(e),e?E():N(void 0)},onSuccess:E}),R&&(0,t.jsx)(f,{tenantId:e,projectId:h,runConfig:R,isOpen:!!R,onOpenChange:e=>{e?E():A(void 0)},onSuccess:E})]})}e.s(["EvaluationRunConfigsList",()=>C],274335)},629560,e=>{"use strict";var t=e.i(530907);let a=(0,t.createServerReference)("701c5c31d7a3ae11e0a839dcc44da93fa9e1905cdc",t.callServer,void 0,t.findSourceMapURL,"createEvaluatorAction");e.s(["createEvaluatorAction",()=>a])},309275,e=>{"use strict";var t=e.i(530907);let a=(0,t.createServerReference)("78e56a8f6fb992bd9e28a31a3fc91944b5181b2e8b",t.callServer,void 0,t.findSourceMapURL,"updateEvaluatorAction");e.s(["updateEvaluatorAction",()=>a])},623730,e=>{"use strict";var t=e.i(718267),a=e.i(411859),r=e.i(625175),s=e.i(634252),n=e.i(558399),l=e.i(990891),o=e.i(189258);function i({value:e,onChange:i,schema:c,disabled:d}){let u=e||{operator:"and",conditions:[]},m=function(e){if(!e||"object"!=typeof e)return[];let t=[];if("properties"in e&&"object"==typeof e.properties&&e.properties)for(let[a,r]of Object.entries(e.properties))r&&"object"==typeof r&&"type"in r&&"number"===r.type&&t.push(a);return t.sort()}(c),h=(e,t,a)=>{let r=[...u.conditions];"value"===t?r[e]={...r[e],[t]:Number(a)}:r[e]={...r[e],[t]:a},i({...u,conditions:r})},p=u.conditions.length>0;return(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)(l.Label,{children:"Pass/Fail Criteria (Optional)"}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Define conditions that determine if an evaluation passes or fails"})]}),p&&(0,t.jsx)(s.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>{i(void 0)},disabled:d,children:"Clear All"})]}),p&&(0,t.jsxs)("div",{className:"rounded-lg border p-4 space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:"Pass when"}),(0,t.jsxs)(o.Select,{value:u.operator,onValueChange:e=>{i({...u,operator:e})},disabled:d,children:[(0,t.jsx)(o.SelectTrigger,{className:"w-[100px]",children:(0,t.jsx)(o.SelectValue,{})}),(0,t.jsxs)(o.SelectContent,{children:[(0,t.jsx)(o.SelectItem,{value:"and",children:"ALL"}),(0,t.jsx)(o.SelectItem,{value:"or",children:"ANY"})]})]}),(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:"conditions are met:"})]}),(0,t.jsx)("div",{className:"space-y-2",children:u.conditions.map((e,a)=>(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)(o.Select,{value:e.field,onValueChange:e=>h(a,"field",e),disabled:d,children:[(0,t.jsx)(o.SelectTrigger,{className:"flex-1",children:(0,t.jsx)(o.SelectValue,{placeholder:"Select field"})}),(0,t.jsx)(o.SelectContent,{children:m.map(e=>(0,t.jsx)(o.SelectItem,{value:e,children:e},e))})]}),(0,t.jsxs)(o.Select,{value:e.operator,onValueChange:e=>h(a,"operator",e),disabled:d,children:[(0,t.jsx)(o.SelectTrigger,{className:"w-[80px]",children:(0,t.jsx)(o.SelectValue,{})}),(0,t.jsxs)(o.SelectContent,{children:[(0,t.jsx)(o.SelectItem,{value:">",children:">"}),(0,t.jsx)(o.SelectItem,{value:"<",children:"<"}),(0,t.jsx)(o.SelectItem,{value:">=",children:">="}),(0,t.jsx)(o.SelectItem,{value:"<=",children:"<="}),(0,t.jsx)(o.SelectItem,{value:"=",children:"="}),(0,t.jsx)(o.SelectItem,{value:"!=",children:"!="})]})]}),(0,t.jsx)(n.Input,{type:"number",placeholder:"Value",value:e.value,onChange:e=>h(a,"value",e.target.value),disabled:d,className:"w-[120px]"}),(0,t.jsx)(s.Button,{type:"button",variant:"ghost",size:"icon",onClick:()=>{let e;0===(e=u.conditions.filter((e,t)=>t!==a)).length?i(void 0):i({...u,conditions:e})},disabled:d,children:(0,t.jsx)(r.Trash2,{className:"h-4 w-4"})})]},a))})]}),0!==m.length||p?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(s.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>{i({...u,conditions:[...u.conditions,{field:"",operator:">",value:0}]})},disabled:d||0===m.length,children:[(0,t.jsx)(a.Plus,{className:"h-4 w-4 mr-2"}),"Add Condition"]}),p&&(0,t.jsxs)("div",{className:"text-sm text-muted-foreground bg-muted/50 p-3 rounded",children:[(0,t.jsx)("strong",{children:"Expression:"})," Pass when"," ",u.conditions.map((e,a)=>(0,t.jsxs)("span",{children:[a>0&&(0,t.jsx)("span",{className:"mx-1",children:"and"===u.operator?"AND":"OR"}),(0,t.jsxs)("code",{className:"bg-background px-1 py-0.5 rounded",children:[e.field||"(field)"," ",e.operator," ",e.value]})]},a))]})]}):(0,t.jsxs)("div",{className:"text-sm text-muted-foreground bg-muted/50 p-3 rounded",children:[(0,t.jsx)("strong",{children:"Note:"}),' Define your output schema with numeric fields (type: "number") first. Then you can add pass/fail conditions based on those fields.']})]})}e.s(["PassCriteriaBuilder",()=>i])},279788,e=>{"use strict";var t=e.i(699487);let a=t.z.object({model:t.z.string().min(1,"Model is required"),providerOptions:t.z.record(t.z.string(),t.z.unknown()).optional()}).refine(e=>!!e.model?.trim(),{message:"Model is required",path:["model"]}),r=t.z.object({field:t.z.string().min(1,"Field name is required"),operator:t.z.enum([">","<",">=","<=","=","!="]),value:t.z.number()}),s=t.z.object({operator:t.z.enum(["and","or"]),conditions:t.z.array(r).min(1,"At least one condition is required")}),n=t.z.object({name:t.z.string().min(1,"Name is required"),description:t.z.string().optional(),prompt:t.z.string().min(1,"Prompt is required"),schema:t.z.string().min(1,"Schema is required").refine(e=>{try{let t=JSON.parse(e);return"object"==typeof t&&null!==t}catch{return!1}},{message:"Schema must be valid JSON"}).refine(e=>{try{let t=JSON.parse(e);if("object"===t.type)return void 0!==t.properties&&"object"==typeof t.properties&&Object.keys(t.properties).length>0;return void 0!==t.type}catch{return!1}},{message:"Schema must define at least one property"}),model:a,passCriteria:s.nullish()});e.s(["evaluatorSchema",0,n])},170883,e=>e.a(async(t,a)=>{try{var r=e.i(718267),s=e.i(429385),n=e.i(608449),l=e.i(325761),o=e.i(60364),i=e.i(11762),c=e.i(586137),d=e.i(574530),u=e.i(600840),m=e.i(544048),h=e.i(996639),p=e.i(634252),x=e.i(352535),g=e.i(348418),v=e.i(430574),j=e.i(629560),f=e.i(309275);e.i(704197);var b=e.i(116867),C=e.i(77119),S=e.i(623730),y=e.i(279788),N=t([c,h]);[c,h]=N.then?(await N)():N;let w=e=>e?{name:e.name||"",description:e.description||"",prompt:e.prompt||"",schema:JSON.stringify(e.schema||{},null,2),model:{model:e.model?.model||"",providerOptions:e.model?.providerOptions},passCriteria:e.passCriteria??null}:{name:"",description:"",prompt:"",schema:"{}",model:{model:"",providerOptions:void 0},passCriteria:null};function D({tenantId:e,projectId:t,evaluatorId:a,initialData:N,isOpen:D,onOpenChange:T,trigger:I}){let[R,A]=(0,n.useState)(!1),E=I?R:D,F=I?A:T,O=(0,l.useForm)({resolver:(0,s.zodResolver)(y.evaluatorSchema),defaultValues:w(N)});(0,n.useEffect)(()=>{E&&O.reset(w(N))},[E,N,O]);let{isSubmitting:z}=O.formState,{field:k}=(0,l.useController)({control:O.control,name:"model.providerOptions",defaultValue:void 0}),M=O.watch("passCriteria"),{field:H}=(0,l.useController)({control:O.control,name:"schema"}),L=async r=>{try{let s,n;try{s=JSON.parse(r.schema)}catch{o.toast.error("Schema must be valid JSON");return}let l={name:r.name,description:r.description??"",prompt:r.prompt,schema:s,model:{model:r.model.model,...r.model.providerOptions&&{providerOptions:r.model.providerOptions}},passCriteria:r.passCriteria??null};if(a){if(!(n=await (0,f.updateEvaluatorAction)(e,t,a,l)).success)return void o.toast.error(n.error||"Failed to update evaluator");o.toast.success("Evaluator updated")}else{if(!(n=await (0,j.createEvaluatorAction)(e,t,l)).success)return void o.toast.error(n.error||"Failed to create evaluator");o.toast.success("Evaluator created")}F(!1),O.reset()}catch(t){console.error("Error submitting evaluator:",t);let e=t instanceof Error?t.message:"An unexpected error occurred";o.toast.error(e)}};return(0,r.jsxs)(x.Dialog,{open:E,onOpenChange:F,children:[I&&(0,r.jsx)(x.DialogTrigger,{asChild:!0,children:I}),(0,r.jsxs)(x.DialogContent,{className:"sm:max-w-3xl max-h-[95vh] overflow-y-auto",children:[(0,r.jsxs)(x.DialogHeader,{children:[(0,r.jsx)(x.DialogTitle,{children:a?"Edit Evaluator":"Create Evaluator"}),(0,r.jsx)(x.DialogDescription,{children:"Configure an evaluator with a prompt, output schema, and model settings for evaluating agent conversations."})]}),(0,r.jsx)(g.Form,{...O,children:(0,r.jsxs)("form",{onSubmit:O.handleSubmit(L,e=>{let t=[];if(e.name&&t.push(`Name: ${e.name.message}`),e.prompt&&t.push(`Prompt: ${e.prompt.message}`),e.schema&&t.push(`Schema: ${e.schema.message}`),e.model?.model&&t.push(`Model: ${e.model.model.message}`),e.passCriteria){let a=e.passCriteria;"conditions"in a&&a.conditions?t.push("Pass Criteria: Please complete or remove all conditions"):a.message&&t.push(`Pass Criteria: ${a.message}`)}t.length>0?o.toast.error(t[0]):o.toast.error("Please fix form validation errors")}),className:"space-y-6",children:[(0,r.jsx)(u.GenericInput,{control:O.control,name:"name",label:"Name",placeholder:"e.g., Quality Check Evaluator",isRequired:!0}),(0,r.jsx)(m.GenericTextarea,{control:O.control,name:"description",label:"Description",placeholder:"Describe what this evaluator measures..."}),(0,r.jsx)(d.FormFieldWrapper,{control:O.control,name:"prompt",label:"Prompt",description:"Instructions for the evaluator LLM on how to evaluate conversations",isRequired:!0,children:e=>(0,r.jsx)(v.Textarea,{placeholder:"You are an evaluator. Analyze the conversation and provide feedback...",className:"min-h-[150px] font-mono text-sm",...e,value:e.value??""})}),(0,r.jsx)(h.JsonSchemaInput,{control:O.control,name:"schema",label:"Output Schema",description:"JSON Schema defining the structure of the evaluation output. All properties are required for structured outputs.",isRequired:!0,allRequired:!0,customTemplate:b.evaluatorSchemaTemplate}),(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsx)(d.FormFieldWrapper,{control:O.control,name:"model.model",label:"Model",description:"AI model to use for the evaluator",isRequired:!0,children:e=>(0,r.jsx)(i.ModelSelector,{label:"",placeholder:"Select model",value:e.value||"",onValueChange:e.onChange,canClear:!1})}),(0,r.jsx)(c.ExpandableJsonEditor,{name:"model.providerOptions",label:"Provider options",value:k.value?JSON.stringify(k.value,null,2):"",onChange:e=>{if(!e?.trim())return void k.onChange(void 0);try{let t=JSON.parse(e);k.onChange(t)}catch{}},placeholder:C.providerOptionsTemplate})]}),(0,r.jsx)(S.PassCriteriaBuilder,{value:M??void 0,onChange:e=>{O.setValue("passCriteria",e??null,{shouldDirty:!0})},schema:(()=>{try{return JSON.parse(H.value||"{}")}catch{return{}}})(),disabled:z}),(0,r.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,r.jsx)(p.Button,{type:"button",variant:"outline",onClick:()=>F(!1),children:"Cancel"}),(0,r.jsxs)(p.Button,{type:"submit",disabled:z,children:[a?"Update":"Create"," Evaluator"]})]})]})})]})]})}e.s(["EvaluatorFormDialog",()=>D]),a()}catch(e){a(e)}},!1),850938,e=>{"use strict";var t=e.i(718267),a=e.i(608449),r=e.i(60364),s=e.i(103045),n=e.i(530907);let l=(0,n.createServerReference)("70699f224c8fa97f58722232d71671d3ef25da337b",n.callServer,void 0,n.findSourceMapURL,"deleteEvaluatorAction");function o({tenantId:e,projectId:n,evaluator:o,isOpen:i,onOpenChange:c}){let[d,u]=(0,a.useState)(!1),m=async()=>{u(!0);try{let t=await l(e,n,o.id);t.success?(r.toast.success("Evaluator deleted"),c(!1)):r.toast.error(t.error||"Failed to delete evaluator")}catch(e){console.error("Error deleting evaluator:",e),r.toast.error("An unexpected error occurred")}finally{u(!1)}};return(0,t.jsx)(s.AlertDialog,{open:i,onOpenChange:c,children:(0,t.jsxs)(s.AlertDialogContent,{children:[(0,t.jsxs)(s.AlertDialogHeader,{children:[(0,t.jsx)(s.AlertDialogTitle,{children:"Delete Evaluator"}),(0,t.jsxs)(s.AlertDialogDescription,{children:['Are you sure you want to delete "',o.name,'"? This action cannot be undone.']})]}),(0,t.jsxs)(s.AlertDialogFooter,{children:[(0,t.jsx)(s.AlertDialogCancel,{disabled:d,children:"Cancel"}),(0,t.jsx)(s.AlertDialogAction,{onClick:m,disabled:d,className:"bg-white text-gray-900 border border-gray-300 hover:bg-gray-100",children:d?"Deleting...":"Delete"})]})]})})}e.s(["DeleteEvaluatorConfirmation",()=>o],850938)},489122,e=>e.a(async(t,a)=>{try{var r=e.i(718267),s=e.i(231530),n=e.i(918374),l=e.i(411859),o=e.i(625175),i=e.i(608449),c=e.i(634252),d=e.i(855759),u=e.i(931861),m=e.i(558060),h=e.i(850938),p=e.i(170883),x=e.i(37331),g=t([p,x]);function v({tenantId:e,projectId:t,evaluators:a}){let[g,v]=(0,i.useState)(),[j,f]=(0,i.useState)(!1),[b,C]=(0,i.useState)(!1),[S,y]=(0,i.useState)(),[N,D]=(0,i.useState)();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"rounded-lg border",children:(0,r.jsxs)(u.Table,{children:[(0,r.jsx)(u.TableHeader,{children:(0,r.jsxs)(u.TableRow,{noHover:!0,children:[(0,r.jsx)(u.TableHead,{children:"Name"}),(0,r.jsx)(u.TableHead,{className:"max-w-md",children:"Description"}),(0,r.jsx)(u.TableHead,{children:"Model"}),(0,r.jsx)(u.TableHead,{children:"Updated"}),(0,r.jsx)(u.TableHead,{className:"w-12"})]})}),(0,r.jsx)(u.TableBody,{children:0===a.length?(0,r.jsx)(u.TableRow,{noHover:!0,children:(0,r.jsx)(u.TableCell,{colSpan:5,className:"py-12",children:(0,r.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:"No evaluators yet"}),(0,r.jsx)(p.EvaluatorFormDialog,{tenantId:e,projectId:t,isOpen:b,onOpenChange:C,trigger:(0,r.jsxs)(c.Button,{variant:"outline",size:"sm",children:[(0,r.jsx)(l.Plus,{className:"h-4 w-4"}),"Add first evaluator"]})})]})})}):a.map(e=>(0,r.jsxs)(u.TableRow,{noHover:!0,children:[(0,r.jsx)(u.TableCell,{children:(0,r.jsx)("button",{type:"button",onClick:()=>D(e),className:"font-medium text-foreground hover:underline text-left",children:e.name})}),(0,r.jsx)(u.TableCell,{className:"text-sm text-muted-foreground whitespace-normal",children:e.description}),(0,r.jsx)(u.TableCell,{children:(0,r.jsx)("code",{className:"bg-muted text-muted-foreground rounded-md border px-2 py-1 text-sm font-mono",children:e.model?.model||"N/A"})}),(0,r.jsx)(u.TableCell,{className:"text-sm text-muted-foreground",children:(0,m.formatDate)(e.updatedAt)}),(0,r.jsx)(u.TableCell,{children:(0,r.jsxs)(d.DropdownMenu,{children:[(0,r.jsx)(d.DropdownMenuTrigger,{asChild:!0,children:(0,r.jsx)(c.Button,{variant:"ghost",size:"sm",children:(0,r.jsx)(s.MoreVertical,{})})}),(0,r.jsxs)(d.DropdownMenuContent,{align:"end",children:[(0,r.jsxs)(d.DropdownMenuItem,{onClick:()=>{v(e),f(!0)},children:[(0,r.jsx)(n.Pencil,{}),"Edit"]}),(0,r.jsxs)(d.DropdownMenuItem,{onClick:()=>{y(e)},className:"!text-destructive",children:[(0,r.jsx)(o.Trash2,{className:"text-inherit"}),"Delete"]})]})]})})]},e.id))})]})}),g&&(0,r.jsx)(p.EvaluatorFormDialog,{tenantId:e,projectId:t,evaluatorId:g.id,initialData:g,isOpen:j,onOpenChange:e=>{f(e),e||v(void 0)}}),S&&(0,r.jsx)(h.DeleteEvaluatorConfirmation,{tenantId:e,projectId:t,evaluator:S,isOpen:!!S,onOpenChange:e=>{e||y(void 0)}}),N&&(0,r.jsx)(x.EvaluatorViewDialog,{evaluator:N,isOpen:!!N,onOpenChange:e=>{e||D(void 0)}})]})}[p,x]=g.then?(await g)():g,e.s(["EvaluatorsList",()=>v]),a()}catch(e){a(e)}},!1),842382,e=>e.a(async(t,a)=>{try{var r=e.i(718267),s=e.i(411859),n=e.i(433575),l=e.i(608449),o=e.i(634252),i=e.i(892891),c=e.i(397309),d=e.i(478397),u=e.i(935212),m=e.i(274335),h=e.i(170883),p=e.i(489122),x=t([h,p]);[h,p]=x.then?(await x)():x;let v=["evaluators","jobs","run-configs"];function g({tenantId:e,projectId:t,evaluators:a,jobConfigs:x,runConfigs:g}){let j=(0,n.useRouter)(),f=(0,n.usePathname)(),b=(0,n.useSearchParams)(),C=b.get("tab"),S=v.includes(C)?C:"evaluators",[y,N]=(0,l.useState)(!1),[D,w]=(0,l.useState)(!1),[T,I]=(0,l.useState)(!1),[R,A]=(0,l.useState)(0);return(0,r.jsxs)(i.Tabs,{value:S,onValueChange:e=>{let t=new URLSearchParams(b.toString());t.set("tab",e),j.replace(`${f}?${t.toString()}`,{scroll:!1})},className:"w-full",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between border-b",children:[(0,r.jsxs)(i.TabsList,{className:"h-10 w-full justify-start border-none bg-transparent p-0 rounded-none",children:[(0,r.jsx)(i.TabsTrigger,{value:"evaluators",variant:"underline",className:"h-10",children:"Evaluators"}),(0,r.jsx)(i.TabsTrigger,{value:"jobs",variant:"underline",className:"h-10",children:"Batch Evaluations"}),(0,r.jsx)(i.TabsTrigger,{value:"run-configs",variant:"underline",className:"h-10",children:"Continuous Tests"})]}),"evaluators"===S&&(0,r.jsx)("div",{className:"flex items-center h-10 px-4",children:(0,r.jsx)(h.EvaluatorFormDialog,{tenantId:e,projectId:t,isOpen:y,onOpenChange:N,trigger:(0,r.jsxs)(o.Button,{variant:"ghost",size:"sm",children:[(0,r.jsx)(s.Plus,{}),"New evaluator"]})})}),"jobs"===S&&(0,r.jsx)("div",{className:"flex items-center h-10 px-4",children:(0,r.jsx)(c.EvaluationJobFormDialog,{tenantId:e,projectId:t,isOpen:D,onOpenChange:w,trigger:(0,r.jsxs)(o.Button,{variant:"ghost",size:"sm",children:[(0,r.jsx)(s.Plus,{}),"New batch evaluation"]})})}),"run-configs"===S&&(0,r.jsx)("div",{className:"flex items-center h-10 px-4",children:(0,r.jsx)(u.EvaluationRunConfigFormDialog,{tenantId:e,projectId:t,isOpen:T,onOpenChange:I,onSuccess:()=>{console.log("EvaluationRunConfigFormDialog onSuccess called"),A(e=>{let t=e+1;return console.log("Setting refreshKey to:",t),t})},trigger:(0,r.jsxs)(o.Button,{variant:"ghost",size:"sm",children:[(0,r.jsx)(s.Plus,{}),"New continuous test"]})})})]}),(0,r.jsx)(i.TabsContent,{value:"evaluators",className:"mt-6",children:(0,r.jsx)(p.EvaluatorsList,{tenantId:e,projectId:t,evaluators:a})}),(0,r.jsx)(i.TabsContent,{value:"jobs",className:"mt-6",children:(0,r.jsx)(d.EvaluationJobsList,{tenantId:e,projectId:t,jobConfigs:x})}),(0,r.jsx)(i.TabsContent,{value:"run-configs",className:"mt-6",children:(0,r.jsx)(m.EvaluationRunConfigsList,{tenantId:e,projectId:t,runConfigs:g,refreshKey:R})})]})}e.s(["EvaluationsTabs",()=>g]),a()}catch(e){a(e)}},!1)]);
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,133899,e=>{"use strict";var t=e.i(718267),a=e.i(433575),r=e.i(608449),s=e.i(60364),n=e.i(876538),i=e.i(530907);let o=(0,i.createServerReference)("7083b1cbcc6270351086d2a14f0ed7d2d25ea5e810",i.callServer,void 0,i.findSourceMapURL,"deleteArtifactComponentAction");function c({artifactComponentId:e,artifactComponentName:i,setIsOpen:c,redirectOnDelete:l=!1}){let[d,m]=(0,r.useState)(!1),u=(0,a.useRouter)(),{tenantId:p,projectId:h}=(0,a.useParams)(),f=async()=>{m(!0);try{let t=await o(p,h,e);t.success?(c(!1),s.toast.success("Artifact deleted."),l&&u.push(`/${p}/projects/${h}/artifacts`)):s.toast.error(t.error)}finally{m(!1)}};return(0,t.jsx)(n.DeleteConfirmation,{itemName:i||"this artifact",isSubmitting:d,onDelete:f})}e.s(["DeleteArtifactComponentConfirmation",()=>c],133899)},478770,e=>{"use strict";var t=e.i(530907);let a=(0,t.createServerReference)("702bf511b4dd1e4d25d5b9581c7fc350368a15d0a7",t.callServer,void 0,t.findSourceMapURL,"createArtifactComponentAction");e.s(["createArtifactComponentAction",()=>a])},964991,e=>{"use strict";var t=e.i(530907);let a=(0,t.createServerReference)("70a02dabd6e1a16161d4b88dc04e05c587f95f74dd",t.callServer,void 0,t.findSourceMapURL,"updateArtifactComponentAction");e.s(["updateArtifactComponentAction",()=>a])},457460,e=>{"use strict";var t=e.i(530907);let a=(0,t.createServerReference)("70d82eba9b60319f089b8cab00b67e895ab3652e0b",t.callServer,void 0,t.findSourceMapURL,"updateArtifactComponent");e.s(["updateArtifactComponent",()=>a])},958123,e=>e.a(async(t,a)=>{try{var r=e.i(718267),s=e.i(906464),n=e.i(49323),i=e.i(910142),o=e.i(625175),c=e.i(608449),l=e.i(60364);e.i(873165);var d=e.i(147967),m=e.i(42321),u=e.i(507309),p=e.i(634252),h=e.i(583814),f=e.i(852236),x=e.i(990891),j=e.i(259993),g=e.i(892891),v=e.i(430574),b=e.i(457460),C=e.i(989313),N=t([m,u]);function y({tenantId:e,projectId:t,artifactComponentId:a,existingRender:N,onRenderChanged:y}){let[S,w]=(0,c.useState)(N||null),[R,A]=(0,c.useState)(!1),[k,T]=(0,c.useState)(!1),[D,z]=(0,c.useState)(""),[F,I]=(0,c.useState)(!!N),[P,O]=(0,c.useState)(!!N),[E,J]=(0,c.useState)(""),[L,B]=(0,c.useState)(!1),G=async r=>{A(!0),w(null),z(""),I(!1),O(!1);try{let s=await fetch(`/api/artifact-components/${a}/generate-render`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tenantId:e,projectId:t,instructions:r||void 0,existingCode:r?S?.component:void 0})});if(!s.ok)throw Error("Failed to generate render");if(!s.body)throw Error("No response body");let n=s.body.getReader(),i=new TextDecoder,o="",c=null;for(;;){let{done:e,value:t}=await n.read();if(e)break;let a=i.decode(t,{stream:!0}),r=(o+=a).split("\n");for(let e of(o=r.pop()||"",r))if(e.trim())try{let t=JSON.parse(e);c=t,t.component&&z(t.component)}catch(t){console.warn("Failed to parse line:",e,t)}}if(c)w(c),I(!0),y?.(c),l.toast.success("Render generated successfully");else throw Error("No valid render generated")}catch(e){console.error("Failed to generate render:",e),l.toast.error("Failed to generate render"),I(!0)}finally{A(!1)}},M=async()=>{T(!0);try{await (0,b.updateArtifactComponent)(e,t,{id:a,render:null}),w(null),O(!1),y?.(null),l.toast.success("Render deleted")}catch(e){console.error("Error deleting render:",e),l.toast.error("Failed to delete render")}finally{T(!1)}},V=null!==S&&(S.component?.trim().length??0)>0,U=(0,c.useMemo)(()=>S?.mockData?JSON.stringify(S.mockData,null,2):"{}",[S?.mockData]),$=(0,c.useMemo)(()=>S?.component||"",[S?.component]),q=(0,c.useMemo)(()=>S?.mockData||{},[S?.mockData]),K=(0,c.useCallback)(e=>{if(S)try{let t=JSON.parse(e),a={...S,mockData:t};w(a),y?.(a)}catch{}},[S,y]);return(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)("h3",{className:"text-md font-medium",children:"Component Renderer"}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"Generate a React/Tailwind component based on your artifact schema."})]}),(0,r.jsxs)("div",{className:"flex gap-2",children:[!V&&(0,r.jsx)(p.Button,{onClick:()=>G(),disabled:R,size:"sm",className:"gap-2",children:R?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.Loader2,{className:"h-4 w-4 animate-spin"}),"Generating..."]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.Sparkles,{className:"h-4 w-4"}),"Generate"]})}),V&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(j.Popover,{open:L,onOpenChange:B,children:[(0,r.jsx)(j.PopoverTrigger,{asChild:!0,children:(0,r.jsx)(p.Button,{variant:"outline",size:"sm",disabled:k||R,className:"gap-2 font-mono uppercase",children:R?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.Loader2,{className:"h-4 w-4 animate-spin"}),"Regenerating..."]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.RefreshCw,{className:"h-4 w-4"}),"Regenerate"]})})}),(0,r.jsx)(j.PopoverContent,{className:"w-96",children:(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"font-medium text-sm mb-2",children:"Modify Component"}),(0,r.jsx)(x.Label,{htmlFor:"instructions",className:"text-xs text-muted-foreground",children:"Describe what you'd like to change (optional)"}),(0,r.jsx)(v.Textarea,{id:"instructions",placeholder:"e.g. Make it more compact, add a border, use different icons...",value:E,onChange:e=>J(e.target.value),className:"mt-2 min-h-[100px]"})]}),(0,r.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,r.jsx)(p.Button,{size:"sm",variant:"outline",onClick:()=>{B(!1),J("")},children:"Cancel"}),(0,r.jsx)(p.Button,{size:"sm",onClick:async()=>{B(!1),await G(E||void 0),J("")},disabled:R,children:E?"Apply Changes":"Regenerate"})]})]})})]}),P&&(0,r.jsx)(p.Button,{variant:"destructive-outline",onClick:M,disabled:k||R,size:"icon",title:"Delete render",children:k?(0,r.jsx)(s.Loader2,{className:"h-4 w-4 animate-spin"}):(0,r.jsx)(o.Trash2,{className:"h-4 w-4"})})]})]})]}),R&&D&&(0,r.jsx)(d.Streamdown,{isAnimating:!0,className:"[&_[data-code-block-header=true]]:hidden [&_pre]:bg-muted/40!",children:`\`\`\`jsx
|
|
2
|
-
${D}\`\`\``}),R&&!D&&(0,r.jsx)(h.Card,{className:"p-6",children:(0,r.jsxs)("div",{className:"flex flex-row items-center justify-center gap-2",children:[(0,r.jsx)(s.Loader2,{className:"h-4 w-4 animate-spin text-muted-foreground/50"}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground/70",children:"Generating component render..."})]})}),V&&!R&&F&&S&&(0,r.jsx)(h.Card,{className:"px-2 py-4 pt-0",children:(0,r.jsxs)(g.Tabs,{defaultValue:"render",className:"w-full",children:[(0,r.jsxs)(g.TabsList,{className:"bg-transparent relative rounded-none border-b p-0 w-full justify-start gap-2",children:[(0,r.jsx)(g.TabsTrigger,{variant:"underline",value:"render",children:"Render"}),(0,r.jsx)(g.TabsTrigger,{variant:"underline",value:"code",children:"Code"}),(0,r.jsx)(g.TabsTrigger,{variant:"underline",value:"data",children:"Sample Data"})]}),(0,r.jsx)(g.TabsContent,{value:"render",children:(0,r.jsx)("div",{className:"p-4",children:(0,r.jsx)(C.DynamicComponentRenderer,{code:$,props:q})})}),(0,r.jsx)(g.TabsContent,{value:"code",children:(0,r.jsx)(m.CodeEditor,{value:$,onChange:e=>{if(!S)return;let t={...S,component:e};w(t),y?.(t)},className:"max-h-[500px] border-0 shadow-none"})}),(0,r.jsx)(g.TabsContent,{value:"data",children:(0,r.jsx)(u.JsonEditor,{value:U,onChange:K,className:"max-h-[500px] border-0 shadow-none"})})]})}),!V&&!R&&!F&&(0,r.jsx)(f.InfoCard,{children:(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"No render generated"})})]})}[m,u]=N.then?(await N)():N,e.s(["ComponentRenderGenerator",()=>y]),a()}catch(e){a(e)}},!1),518172,e=>{"use strict";e.s(["defaultValues",0,{id:"",name:"",description:"",props:void 0}])},228978,e=>{"use strict";var t=e.i(699487),a=e.i(950335),r=e.i(590418);let s=t.z.object({id:r.idSchema,name:t.z.string().min(1,"Name is required."),description:t.z.string().optional(),props:t.z.union([t.z.string(),t.z.null(),t.z.undefined()]).transform((e,r)=>{if(e)try{let s=JSON.parse(e),n=(0,a.validateJsonSchemaForLlm)(e);if(!n.isValid){let e=n.errors[0]?.message||"Invalid JSON schema";return r.addIssue({code:t.z.ZodIssueCode.custom,message:e}),t.z.NEVER}return s.required??=[],s}catch(e){return r.addIssue({code:t.z.ZodIssueCode.custom,message:(0,a.getJsonParseError)(e)}),t.z.NEVER}}).optional(),render:t.z.object({component:t.z.string(),mockData:t.z.record(t.z.string(),t.z.unknown())}).nullable().optional()});e.s(["artifactComponentSchema",0,s])},165347,e=>e.a(async(t,a)=>{try{var r=e.i(718267),s=e.i(429385),n=e.i(433575),i=e.i(608449),o=e.i(325761),c=e.i(60364),l=e.i(600840),d=e.i(544048),m=e.i(996639),u=e.i(634252),p=e.i(352535),h=e.i(348418),f=e.i(99020),x=e.i(478770),j=e.i(964991),g=e.i(407086),v=e.i(133899),b=e.i(958123),C=e.i(518172),N=e.i(228978),y=t([m,b]);function S({id:e,tenantId:t,projectId:a,initialData:y,readOnly:S=!1}){let[w,R]=(0,i.useState)(!1),A=(0,o.useForm)({resolver:(0,s.zodResolver)(N.artifactComponentSchema),defaultValues:(e=>{if(!e)return C.defaultValues;let t={...e};return t.props&&(t.props=(0,g.formatJsonField)(t.props)),t})(y)}),{isSubmitting:k}=A.formState,T=(0,n.useRouter)();(0,f.useAutoPrefillId)({form:A,nameField:"name",idField:"id",isEditing:!!e});let D=async r=>{try{let s={...r};if(void 0===s.props&&(s.props=null),e){let e=await (0,j.updateArtifactComponentAction)(t,a,s);if(!e.success)return void c.toast.error(e.error||"Failed to update artifact.");c.toast.success("Artifact updated.");return}let n=await (0,x.createArtifactComponentAction)(t,a,s);if(!n.success)return void c.toast.error(n.error||"Failed to create artifact");c.toast.success("Artifact created."),T.push(`/${t}/projects/${a}/artifacts`)}catch(t){console.error("Error submitting artifact:",t);let e=t instanceof Error?t.message:"An unexpected error occurred.";c.toast.error(e)}};return(0,r.jsxs)(p.Dialog,{open:w,onOpenChange:R,children:[(0,r.jsx)(h.Form,{...A,children:(0,r.jsxs)("form",{onSubmit:A.handleSubmit(D),className:"max-w-3xl mx-auto space-y-8",children:[(0,r.jsx)(l.GenericInput,{control:A.control,name:"name",label:"Name",placeholder:"Document Artifact",isRequired:!0,disabled:S}),(0,r.jsx)(l.GenericInput,{control:A.control,name:"id",label:"Id",placeholder:"my-artifact",disabled:!!e||S,isRequired:!0,description:!e&&"Choose a unique identifier for this artifact. Using an existing id will replace that artifact."}),(0,r.jsx)(d.GenericTextarea,{control:A.control,name:"description",label:"Description",placeholder:"Structured factual information extracted from search results",className:"min-h-[80px]",disabled:S}),(0,r.jsx)(m.JsonSchemaInput,{control:A.control,name:"props",label:"Properties",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.",uri:"custom-json-schema-artifact-component.json",hasInPreview:!0,readOnly:S}),e&&!S&&(0,r.jsx)(b.ComponentRenderGenerator,{tenantId:t,projectId:a,artifactComponentId:e,existingRender:y?.render||null,onRenderChanged:e=>{A.setValue("render",e)}}),!S&&(0,r.jsxs)("div",{className:"flex w-full justify-between",children:[(0,r.jsx)(u.Button,{type:"submit",disabled:k,children:"Save"}),e&&(0,r.jsx)(p.DialogTrigger,{asChild:!0,children:(0,r.jsx)(u.Button,{type:"button",variant:"destructive-outline",children:"Delete Artifact"})})]})]})}),w&&e&&(0,r.jsx)(v.DeleteArtifactComponentConfirmation,{artifactComponentId:e,artifactComponentName:A.getValues("name"),setIsOpen:R,redirectOnDelete:!0})]})}[m,b]=y.then?(await y)():y,e.s(["ArtifactComponentForm",()=>S]),a()}catch(e){a(e)}},!1),940612,e=>{e.v(t=>Promise.all(["static/chunks/4057cc9dbcc744c0.css"].map(t=>e.l(t))).then(()=>{}))},215515,e=>{e.v(t=>Promise.all(["static/chunks/808ed0f189237446.js","static/chunks/047a37e5cd0e17bb.js","static/chunks/e148c87b05183ff2.js","static/chunks/0e1982b1a6cbd127.js","static/chunks/46fc173e7c866264.js","static/chunks/25e71c18d7f735b0.js"].map(t=>e.l(t))).then(()=>t(810139)))},52913,e=>{e.v(t=>Promise.all(["static/chunks/61a50ac3bd926413.js","static/chunks/2ed01f31e97fc85a.js","static/chunks/05257aa11115a842.js"].map(t=>e.l(t))).then(()=>t(496411)))},138411,e=>{e.v(t=>Promise.all(["static/chunks/3f0700c361691781.js"].map(t=>e.l(t))).then(()=>t(555332)))}]);
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,875580,e=>{"use strict";var t=e.i(502927),r=e.i(850242),i=e.i(836634),s=e.i(433575),n=e.i(608449),o=e.i(60364),a=e.i(451759),l=e.i(691829),c=e.i(369404),d=e.i(594228),p=e.i(557300),u=e.i(347100),h=e.i(230588);function m({tenantId:e,projectId:m,onFinish:f}){let g=(0,s.useRouter)(),{PUBLIC_INKEEP_AGENTS_API_URL:y}=(0,a.useRuntimeConfig)(),{openNangoConnectHeadless:v}=(0,h.useNangoConnect)(),{user:b}=(0,u.useAuthSession)(),w=(0,n.useRef)(new Map),x=(0,n.useCallback)((t,r)=>new Promise((i,s)=>{let n=w.current.get(t);n&&(n(),w.current.delete(t));try{let n=r??function({PUBLIC_INKEEP_AGENTS_API_URL:e,tenantId:t,projectId:r,id:i}){if(!t||"string"!=typeof t)throw Error("Invalid tenantId: must be a non-empty string");if(!i||"string"!=typeof i)throw Error("Invalid tool id: must be a non-empty string");if(!r||"string"!=typeof r)throw Error("Invalid projectId: must be a non-empty string");let s=/^[a-zA-Z0-9-_]+$/;if(!s.test(t))throw Error("Invalid tenantId format: only alphanumeric characters, hyphens, and underscores allowed");if(!s.test(i))throw Error("Invalid tool id format: only alphanumeric characters, hyphens, and underscores allowed");if(!s.test(r))throw Error("Invalid projectId format: only alphanumeric characters, hyphens, and underscores allowed");let n=`${e}/manage/oauth/login?tenantId=${encodeURIComponent(t)}&projectId=${encodeURIComponent(r)}&toolId=${encodeURIComponent(i)}`;if(!n.startsWith(e))throw Error("Invalid OAuth URL generated");return n}({PUBLIC_INKEEP_AGENTS_API_URL:y,tenantId:e,projectId:m,id:t}),o=window.open(n,"oauth-popup","width=600,height=700,scrollbars=yes,resizable=yes,status=yes,location=yes");if(!o){let e=Error(`Failed to open popup for ${t} - blocked by browser`);console.error(e.message),s(e);return}let a=!1,l=(r,n)=>{a||(a=!0,window.removeEventListener("message",c),d&&clearInterval(d),clearTimeout(p),w.current.delete(t),r?(f?f(t):g.push(`/${e}/projects/${m}/mcp-servers/${t}`),i()):s(n||Error("OAuth login failed")))},c=e=>{"oauth-success"===e.data.type?l(!0):"oauth-error"===e.data.type&&l(!1,Error(e.data.error||"OAuth login failed"))};window.addEventListener("message",c);let d=null,p=setTimeout(()=>{a||(d=setInterval(()=>{try{o.closed&&l(!0)}catch{}},1e3))},3e3);w.current.set(t,()=>{l(!1,Error("OAuth login cancelled"))})}catch(e){s(e instanceof Error?e:Error("OAuth login failed"))}}),[y,e,m,f,g]),j=(0,n.useCallback)(async({toolId:s,mcpServerUrl:n,toolName:o,credentialScope:a})=>{let l,u=await v({mcpServerUrl:n,providerUniqueKey:`${(0,t.generateIdFromName)(o)}_${s.slice(0,4)}`,providerDisplayName:o}),h="user"===a;if(h){if(!b)throw Error("User not found");l=b.id}let y={id:(0,p.generateId)(),name:o,type:r.CredentialStoreType.nango,credentialStoreId:i.DEFAULT_NANGO_STORE_ID,createdBy:b?.email??void 0,...h&&{toolId:s,userId:l},retrievalParams:{connectionId:u.connectionId,providerConfigKey:u.providerConfigKey,provider:"mcp-generic",authMode:"OAUTH2"}},w=await (0,d.findOrCreateCredential)(e,m,y);h||await (0,c.updateMCPTool)(e,m,s,{credentialReferenceId:w.id}),f?f(s):g.push(`/${e}/projects/${m}/mcp-servers/${s}`)},[v,f,g,e,m,b]);return{handleOAuthLogin:(0,n.useCallback)(async({toolId:t,mcpServerUrl:i,toolName:s,thirdPartyConnectAccountUrl:n,credentialScope:a})=>{if(n)return void await x(t,n);try{let n=await (0,l.listCredentialStores)(e,m),o=n.some(e=>e.type===r.CredentialStoreType.nango&&e.available),c=n.some(e=>e.type===r.CredentialStoreType.keychain&&e.available);if(o)await j({toolId:t,mcpServerUrl:i,toolName:s,credentialScope:a});else if(c)await x(t);else throw Error("No credential store available. Please configure Nango or Keychain.")}catch(t){let e=t instanceof Error?t:Error("OAuth login failed");throw o.toast.error(e.message),e}},[e,m,j,x])}}e.s(["useOAuthLogin",()=>m],875580)},594228,e=>{"use strict";var t=e.i(530907);let r=(0,t.createServerReference)("707d7d14c7790e1cd8e190af82def0bc151df63c46",t.callServer,void 0,t.findSourceMapURL,"findOrCreateCredential");e.s(["findOrCreateCredential",()=>r])},691829,e=>{"use strict";var t=e.i(530907);let r=(0,t.createServerReference)("60366826d33f259488308e2684f46aa52abaa245aa",t.callServer,void 0,t.findSourceMapURL,"listCredentialStores");e.s(["listCredentialStores",()=>r])},369404,e=>{"use strict";var t=e.i(530907);let r=(0,t.createServerReference)("78fcee2eb6d84ab65be5f0e55ab655f03ec1dfd9e2",t.callServer,void 0,t.findSourceMapURL,"updateMCPTool");e.s(["updateMCPTool",()=>r])},230588,534146,e=>{"use strict";let t="[nango]";class r{baseURL;debug;swClient;errorHandler;modal;isProcessingMessage=!1;constructor({baseUrl:e,debug:t,webSocketUrl:r,successHandler:i,errorHandler:s}){this.baseURL=e,this.debug=t,this.swClient=new WebSocket(r),this.errorHandler=s,this.swClient.onmessage=e=>{this.isProcessingMessage=!0,this.handleMessage(e,i),this.isProcessingMessage=!1}}setModal(e){this.modal=e}handleMessage(e,r){let i=JSON.parse(e.data);switch(i.message_type){case"connection_ack":this.debug&&console.log(t,"Connection ack received. Opening modal..."),this.baseURL.searchParams.set("ws_client_id",i.ws_client_id),this.open();break;case"error":this.debug&&console.log(t,"Error received. Rejecting authorization..."),this.errorHandler(i.error_type,i.error_desc),this.swClient.close();break;case"success":this.debug&&console.log(t,"Success received. Resolving authorization..."),r({providerConfigKey:i.provider_config_key,connectionId:i.connection_id,isPending:i.is_pending}),this.swClient.close();break;default:this.debug&&console.log(t,"Unknown message type received from Nango server. Ignoring...");return}}open(){if(this.modal&&(this.debug&&console.log(t,"opening",this.baseURL.href),this.modal.location=this.baseURL.href,!this.modal||this.modal.closed||void 0===this.modal.closed))return void this.errorHandler("blocked_by_browser","Modal blocked by browser")}close(){this.modal&&!this.modal.closed&&(this.modal.close(),delete this.modal),this.swClient.close(),delete this.swClient}}class i{iframe=null;isReady=!1;listener=null;sessionToken;baseURL;apiURL;onEvent;detectClosedAuthWindow;lang;themeOverride;constructor({sessionToken:e,baseURL:t="https://connect.nango.dev",apiURL:r="https://api.nango.dev",detectClosedAuthWindow:i,onEvent:s,lang:n,themeOverride:o}){this.sessionToken=e,this.baseURL=t,this.apiURL=r,this.onEvent=s,this.detectClosedAuthWindow=i,this.lang=n,this.themeOverride=o}open(){this.iframe=this.createIframe(),document.body.append(this.iframe),document.body.style.overflow="hidden",this.setupEventListeners()}createIframe(){let e=new URL(this.baseURL);this.apiURL&&e.searchParams.append("apiURL",this.apiURL),this.detectClosedAuthWindow&&e.searchParams.append("detectClosedAuthWindow",String(this.detectClosedAuthWindow)),this.lang&&e.searchParams.append("lang",this.lang),this.themeOverride&&e.searchParams.append("theme",this.themeOverride);let t=document.createElement("iframe");return t.src=e.href,t.id="connect-ui",t.style.position="fixed",t.style.zIndex="9999",t.style.top="0",t.style.left="0",t.style.right="0",t.style.bottom="0",t.style.width="100vw",t.style.height="100vh",t.style.backgroundColor="transparent",t}setupEventListeners(){this.listener=e=>{if(e.origin!==new URL(this.baseURL).origin||"object"!=typeof e.data||!e.data||!e.data.type)return;let t=e.data;switch(t.type){case"ready":this.isReady=!0,this.sendSessionToken();break;case"close":this.close()}this.onEvent&&this.onEvent(t)},window.addEventListener("message",this.listener,!1)}setSessionToken(e){this.sessionToken=e,this.isReady&&this.sendSessionToken()}close(){this.listener&&window.removeEventListener("message",this.listener),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null,document.body.style.overflow="")}sendSessionToken(){if(!this.sessionToken)return;let e={type:"session_token",sessionToken:this.sessionToken};this.iframe?.contentWindow?.postMessage(e,"*")}}let s="NANGO DEBUG LOG: ";class n extends Error{type;constructor(e,t){super(e),this.type=t}}class o{hostBaseUrl;websocketsBaseUrl;publicKey;connectSessionToken;debug=!1;width=500;height=600;tm=null;win=null;constructor(e={}){e.host=e.host||"https://api.nango.dev",e.websocketsPath=e.websocketsPath||"/",this.debug=e.debug||!1,this.debug&&(console.log(s,"Debug mode is enabled."),console.log(s,`Using host: ${e.host}.`)),e.width&&(this.width=e.width),e.height&&(this.height=e.height),this.hostBaseUrl=e.host.replace(/\/+$/,""),this.publicKey=e.publicKey,this.connectSessionToken=e.connectSessionToken;try{const t=new URL(this.hostBaseUrl),r=new URL(e.websocketsPath,t);this.websocketsBaseUrl=r.toString().replace("https://","wss://").replace("http://","ws://")}catch{throw new n("Invalid URL provided for the Nango host.","invalid_host_url")}}async create(e,t,r){this.ensureCredentials();let i=null,s=r;"string"==typeof t?i=t:s=t;let n=this.hostBaseUrl+`/auth/unauthenticated/${e}${this.toQueryString(i,s)}`;return await this.triggerAuth({authUrl:n})}auth(e,t,i){this.ensureCredentials();let s=null,o=i;if("string"==typeof t?s=t:o={...o,...t},o&&("installation"in o&&"outbound"===o.installation||"credentials"in o&&("token_id"in o.credentials&&"token_secret"in o.credentials||!("oauth_client_id_override"in o.credentials)||!("oauth_client_secret_override"in o.credentials))&&Object.keys(o.credentials).length>0)){let t=o.credentials;if(!t)throw new n("Credentials are required for custom auth","missing_credentials");let{credentials:r,...i}=o;return this.customAuth(e,s,this.convertCredentialsToConfig(t),i,o.installation)}let a=window.open("","_blank",function(e){let t={...e,scrollbars:"yes",resizable:"yes",status:"no",toolbar:"no",location:"no",copyhistory:"no",menubar:"no",directories:"no"},r=[];for(let e in t)r.push(`${e}=${t[e]}`);return r.join(",")}(function({expectedWidth:e,expectedHeight:t}){let r=window.screen.width,i=window.screen.height,s=Math.min(e,r),n=Math.min(t,i);return{left:Math.max(r/2-e/2,0),top:Math.max(i/2-t/2,0),width:s,height:n}}({expectedWidth:this.width,expectedHeight:this.height})));return new Promise((t,i)=>{let l,c=(e,t)=>{i(new n(t,e))};if(this.win&&this.clear(),!a||a.closed||void 0===a.closed)return void c("blocked_by_browser","Modal blocked by browser");try{l=new URL(`${this.hostBaseUrl}/oauth/connect/${e}${this.toQueryString(s,o)}`)}catch{c("invalid_host_url","Invalid URL provided for the Nango host.");return}this.win=new r({baseUrl:l,debug:this.debug,webSocketUrl:this.websocketsBaseUrl,successHandler:e=>{t(e)},errorHandler:c}),this.win.setModal(a),this.tm=setInterval(()=>{this.win&&this.win.modal&&(!this.win.modal.window||this.win.modal.closed)&&!this.win.isProcessingMessage&&o?.detectClosedAuthWindow&&(clearInterval(this.tm),this.win.close(),this.win=null,i(new n("The authorization window was closed before the authorization flow was completed","window_closed")))},500)}).finally(()=>{this.clear()})}reconnect(e,t){if(!this.connectSessionToken)throw new n("Reconnect requires a session token","missing_connect_session_token");return this.auth(e,t)}clear(){if(this.tm&&clearInterval(this.tm),this.win){try{this.win.close()}catch(e){console.log("err",e)}this.win=null}}openConnectUI(e){let t=new i({sessionToken:this.connectSessionToken,...e});return t.open(),t}convertCredentialsToConfig(e){let t={};if("type"in e&&"username"in e&&"password"in e&&"SIGNATURE"===e.type)return{params:{type:e.type,username:e.username,password:e.password}};if("username"in e&&(t.username=e.username||""),"password"in e&&(t.password=e.password||""),"apiKey"in e&&(t.apiKey=e.apiKey||""),"privateKey"in e||"type"in e&&"JWT"===e.type){let{privateKey:t,...r}=e,i={...r};return t&&"object"==typeof t&&"id"in t&&"secret"in t&&(i.privateKey=t),{params:e}}if("privateKeyId"in e&&"issuerId"in e&&"privateKey"in e){let t={params:{privateKeyId:e.privateKeyId,issuerId:e.issuerId,privateKey:e.privateKey}};return"scope"in e&&("string"==typeof e.scope||Array.isArray(e.scope))&&(t.params.scope=e.scope),t}if("client_id"in e&&"client_secret"in e)return{params:{client_id:e.client_id,client_secret:e.client_secret,client_certificate:e.client_certificate,client_private_key:e.client_private_key}};if("token_id"in e&&"token_secret"in e){let t={token_id:e.token_id,token_secret:e.token_secret};return"oauth_client_id_override"in e&&(t.oauth_client_id_override=e.oauth_client_id_override),"oauth_client_secret_override"in e&&(t.oauth_client_secret_override=e.oauth_client_secret_override),{params:t}}return"username"in e&&"password"in e&&"organization_id"in e&&"dev_key"in e?{params:{username:e.username,password:e.password,organization_id:e.organization_id,dev_key:e.dev_key}}:"type"in e&&"TWO_STEP"===e.type?{params:{...e}}:{params:t}}async triggerAuth({authUrl:e,credentials:t}){let r=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},...t?{body:JSON.stringify(t)}:{}});if(!r.ok){let e=await r.json();throw new n(e.error.message,e.error.code)}return r.json()}async customAuth(e,t,r,i,s){let{params:o}=r;if(!o)throw new n("You must specify credentials.","missing_credentials");return"type"in o&&"TWO_STEP"===o.type?await this.triggerAuth({authUrl:this.hostBaseUrl+`/auth/two-step/${e}${this.toQueryString(t,i)}`,credentials:o}):"type"in o&&"SIGNATURE"===o.type&&"username"in o&&"password"in o?await this.triggerAuth({authUrl:this.hostBaseUrl+`/auth/signature/${e}${this.toQueryString(t,i)}`,credentials:o}):"username"in o&&"password"in o&&"organization_id"in o&&"dev_key"in o?await this.triggerAuth({authUrl:this.hostBaseUrl+`/auth/bill/${e}${this.toQueryString(t,i)}`,credentials:o}):"apiKey"in o?await this.triggerAuth({authUrl:this.hostBaseUrl+`/api-auth/api-key/${e}${this.toQueryString(t,i)}`,credentials:o}):"username"in o||"password"in o?await this.triggerAuth({authUrl:this.hostBaseUrl+`/api-auth/basic/${e}${this.toQueryString(t,i)}`,credentials:o}):"privateKey"in o||"type"in o&&"JWT"===o.type?await this.triggerAuth({authUrl:this.hostBaseUrl+`/auth/jwt/${e}${this.toQueryString(t,i)}`,credentials:o}):"privateKeyId"in o&&"issuerId"in o&&"privateKey"in o?await this.triggerAuth({authUrl:this.hostBaseUrl+`/app-store-auth/${e}${this.toQueryString(t,i)}`,credentials:o}):"token_id"in o&&"token_secret"in o?await this.triggerAuth({authUrl:this.hostBaseUrl+`/auth/tba/${e}${this.toQueryString(t,i)}`,credentials:o}):"client_id"in o&&"client_secret"in o?await this.triggerAuth({authUrl:this.hostBaseUrl+`/oauth2/auth/${e}${this.toQueryString(t,i)}`,credentials:o}):"outbound"===s?await this.triggerAuth({authUrl:this.hostBaseUrl+`/auth/oauth-outbound/${e}${this.toQueryString(t,i)}`}):Promise.reject(Error("Something went wrong with the authorization"))}toQueryString(e,t){let r=[];if(e&&r.push(`connection_id=${e}`),this.publicKey&&r.push(`public_key=${this.publicKey}`),this.connectSessionToken&&r.push(`connect_session_token=${this.connectSessionToken}`),t){for(let e in t.params){let i=t.params[e];"string"==typeof i&&r.push(`params[${encodeURIComponent(e)}]=${encodeURIComponent(i)}`)}if(t.hmac&&r.push(`hmac=${t.hmac}`),t.user_scope&&r.push(`user_scope=${t.user_scope.join(",")}`),t.credentials){let e=t.credentials;"oauth_client_id_override"in e&&r.push(`credentials[oauth_client_id_override]=${encodeURIComponent(e.oauth_client_id_override)}`),"oauth_client_secret_override"in e&&r.push(`credentials[oauth_client_secret_override]=${encodeURIComponent(e.oauth_client_secret_override)}`),"token_id"in e&&r.push(`token_id=${encodeURIComponent(e.token_id)}`),"token_secret"in e&&r.push(`token_secret=${encodeURIComponent(e.token_secret)}`)}for(let e in t.authorization_params){let i=t.authorization_params[e];"string"==typeof i?r.push(`authorization_params[${e}]=${i}`):void 0===i&&r.push(`authorization_params[${e}]=undefined`)}}return 0===r.length?"":"?"+r.join("&")}ensureCredentials(){if(!this.publicKey&&!this.connectSessionToken)throw new n("You must specify a public key OR a connect session token (cf. documentation).","missing_auth_token")}}var a=e.i(608449),l=e.i(865164),c=e.i(451759),d=e.i(530907);let p=(0,d.createServerReference)("402e0376331ec4883e77caafb4008b430ea46aaca4",d.callServer,void 0,d.findSourceMapURL,"createProviderConnectSession");e.s(["createProviderConnectSession",()=>p],534146);var u=e.i(347100);function h(){let{PUBLIC_NANGO_SERVER_URL:e,PUBLIC_NANGO_CONNECT_BASE_URL:t}=(0,c.useRuntimeConfig)(),{user:r}=(0,u.useAuthSession)(),i=(0,l.useAuthClient)();return{openNangoConnect:(0,a.useCallback)(({sessionToken:r,onEvent:i,connectOptions:s})=>{let n=new o({host:e||void 0}).openConnectUI({baseURL:s?.baseURL||t||void 0,apiURL:s?.apiURL||e||void 0,onEvent:i,detectClosedAuthWindow:!0});return n.setSessionToken(r),n},[e,t]),openNangoConnectHeadless:(0,a.useCallback)(async({mcpServerUrl:t,providerUniqueKey:s,providerDisplayName:n})=>{let{data:a}=await i.organization.getFullOrganization(),l=new o({host:e||void 0,connectSessionToken:await p({providerName:"mcp-generic",uniqueKey:s,displayName:n,endUserId:r?.id,endUserEmail:r?.email,endUserDisplayName:r?.name,organizationId:a?.id,organizationDisplayName:a?.name})});try{return await l.auth(s,{detectClosedAuthWindow:!0,params:{mcp_server_url:t}})}catch(e){if(e instanceof Error)throw Error(`Authentication failed: ${e.message}`);throw e}},[e,r?.id,r?.email,r?.name,i])}}e.s(["useNangoConnect",()=>h],230588)},159820,e=>{"use strict";e.i(502927);var t=e.i(850242),r=e.i(699487);let i=r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("all")}),r.z.object({type:r.z.literal("selective"),tools:r.z.array(r.z.string())})]),s={project:"project",user:"user"},n=[/\$\{.*\}/,/eval\s*\(/i,/function\s*\(/i,/constructor/i,/prototype/i,/__proto__/i],o=r.z.object({name:r.z.string().min(1,"Name is required.").max(100,"Name must be less than 100 characters.").regex(/^[a-zA-Z0-9_-]+$/,"Name can only contain letters, numbers, hyphens, and underscores."),config:r.z.object({type:r.z.literal("mcp"),mcp:r.z.object({server:r.z.object({url:r.z.string().url("Must be a valid URL.").refine(e=>{try{let t=new URL(e);return["http:","https:","ws:","wss:"].includes(t.protocol)}catch{return!1}},{message:"URL must use http, https, ws, or wss protocol."})}),transport:r.z.object({type:r.z.nativeEnum(t.MCPTransportType)}),toolsConfig:i.default({type:"all"}),toolOverrides:r.z.record(r.z.string().min(1,"Tool name cannot be empty."),r.z.object({displayName:r.z.string().max(100,"Display name must be less than 100 characters.").regex(/^[a-zA-Z0-9_-]+$/,"Display name can only contain letters, numbers, hyphens, and underscores.").optional(),description:r.z.string().max(1e3,"Description must be less than 1000 characters.").optional(),schema:r.z.any().refine(e=>{if(!e)return!0;try{if("string"==typeof e){let t=JSON.parse(e);return"object"==typeof t&&null!==t}return"object"==typeof e&&null!==e}catch{return!1}},{message:"Schema must be a valid JSON object."}).optional(),transformation:r.z.union([r.z.string().max(500,"JMESPath expression must be less than 500 characters.").refine(e=>!n.some(t=>t.test(e)),{message:"Transformation contains potentially dangerous patterns."}),r.z.record(r.z.string(),r.z.string()).refine(e=>{if("string"==typeof e)return!(e.length>500)&&!n.some(t=>t.test(e));if("object"==typeof e&&null!==e){for(let[t,r]of Object.entries(e))if("string"!=typeof t||"string"!=typeof r||!t.trim()||!r.trim()||r.length>200||n.some(e=>e.test(r)))return!1;return!0}return!1},{message:"Invalid object transformation mapping."})]).optional()})).optional(),prompt:r.z.string().max(2e3,"Custom prompt must be less than 2000 characters.").optional()})}),credentialReferenceId:r.z.string().nullish(),credentialScope:r.z.enum(s).default("project"),imageUrl:r.z.string().optional().refine(e=>!e||""===e.trim()||r.z.string().url().safeParse(e).success,{message:"Image URL must be a valid URL."})});e.s(["CredentialScopeEnum",0,s,"mcpToolSchema",0,o])},117121,e=>{"use strict";var t=e.i(713388);e.s(["ChevronUp",()=>t.default])},811296,947207,e=>{"use strict";function t(e){if(!e||"object"!=typeof e)return{properties:[],hasProperties:!1};let t=[];if(e.def?.shape)for(let[i,s]of Object.entries(e.def.shape)){let e=function e(t,i){let s;if(!i?.def)return null;let n=i.def,o=!0,a=n;"optional"===n.type?(o=!1,s=n.innerType?.def?r(a=n.innerType.def):"any"):s=r(a);let l={name:t,type:s,required:o};if("object"===a.type&&a.shape)for(let[t,r]of(l.properties=[],Object.entries(a.shape))){let i=e(t,r);i&&l.properties.push(i)}if("array"===a.type&&a.element?.def){let t=a.element.def;if("object"===t.type&&t.shape){let r=[];for(let[i,s]of Object.entries(t.shape)){let t=e(i,s);t&&r.push(t)}l.items={name:"item",type:"object",required:!1,properties:r}}else l.items={name:"item",type:r(t),required:!1}}return l}(i,s);e&&t.push(e)}else if(e.properties)for(let[r,i]of Object.entries(e.properties)){let s=function e(t,r,i){var s,n;if(!r||"object"!=typeof r)return null;let o=r.type||"any",a=!!i&&i.includes(t),l={name:t,type:(s=o,n=r,"array"===s&&n.items?.type?`${n.items.type}[]`:s),required:a,description:r.description,enum:r.enum};if("object"===o&&r.properties)for(let[t,i]of(l.properties=[],Object.entries(r.properties))){let s=e(t,i,r.required);s&&l.properties.push(s)}if("array"===o&&r.items)if("object"===r.items.type&&r.items.properties){let t=[];for(let[i,s]of Object.entries(r.items.properties)){let n=e(i,s,r.items.required);n&&t.push(n)}l.items={name:"item",type:"object",required:!1,properties:t}}else if("array"===r.items.type){let t=e("item",r.items,[]);t&&(l.items=t)}else l.items={name:"item",type:r.items.type||"any",required:!1,description:r.items.description,enum:r.items.enum};return l}(r,i,e.required);s&&t.push(s)}else for(let[r,i]of Object.entries(e)){let e=function(e,t){if("object"!=typeof t||null===t)return{name:e,type:typeof t,required:!1};let r="object";return t.type?r=t.type:Array.isArray(t)&&(r="array"),{name:e,type:r,required:!1,description:t.description}}(r,i);t.push(e)}return{properties:t.sort((e,t)=>e.required!==t.required?e.required?-1:1:e.name.localeCompare(t.name)),hasProperties:t.length>0}}function r(e){switch(e.type){case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"array":if(e.element?.def){let t=r(e.element.def);return`${t}[]`}return"array";case"object":return"object";case"any":return"any";case"union":return"union";case"literal":return`"${e.value}"`;default:return e.type||"unknown"}}function i(e){return e.includes("string")?"primary":e.includes("number")?"violet":e.includes("boolean")?"orange":e.includes("array")||e.includes("object")?"sky":"code"}e.s(["getTypeBadgeVariant",()=>i,"parseMCPInputSchema",()=>t],811296);var s=e.i(718267),n=e.i(576726),o=e.i(117121),a=e.i(608449),l=e.i(407086),c=e.i(931793),d=e.i(634252);function p({property:e,level:t}){let[r,u]=(0,a.useState)(t<2),h=t>0?`ml-${Math.min(4*t,8)}`:"",m=e.properties&&e.properties.length>0||e.items&&(e.items.properties||e.items.items);return(0,s.jsxs)("div",{className:(0,l.cn)("space-y-1",h),children:[(0,s.jsxs)("div",{className:"flex items-center justify-between py-1",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[m&&(0,s.jsx)(d.Button,{variant:"ghost",size:"icon-sm",onClick:()=>u(!r),className:"hover:bg-transparent",children:r?(0,s.jsx)(n.ChevronDown,{className:"w-3 h-3"}):(0,s.jsx)(o.ChevronUp,{className:"w-3 h-3"})}),(0,s.jsx)("code",{className:"text-xs font-mono",children:e.name}),"array"===e.type&&e.items&&(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"[]"})]}),!e.required&&(0,s.jsx)("span",{className:"text-xs text-gray-500 dark:text-white/40",children:"optional"}),e.description&&(0,s.jsx)("span",{className:"text-xs text-muted-foreground max-w-xs truncate",children:e.description})]}),(0,s.jsx)(c.Badge,{variant:i(e.type),className:"text-xs",children:e.type})]}),r&&m&&(0,s.jsxs)("div",{className:"ml-4 space-y-1 border-l border-border pl-3",children:[e.properties?.map(e=>(0,s.jsx)(p,{property:e,level:t+1},e.name)),e.items?.properties&&(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsx)("div",{className:"text-xs text-muted-foreground font-medium",children:"Array items:"}),e.items.properties.map(e=>(0,s.jsx)(p,{property:e,level:t+1},e.name))]}),e.items?.items&&(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsx)("div",{className:"text-xs text-muted-foreground font-medium",children:"Array items:"}),(0,s.jsx)(p,{property:e.items,level:t+1})]})]})]})}e.s(["PropertyDisplay",()=>p],947207)},176760,e=>{"use strict";var t=e.i(530907);let r=(0,t.createServerReference)("784c6302f20f7e3dbf8113aa7e769cd2cbfa31dfef",t.callServer,void 0,t.findSourceMapURL,"deleteToolAction");e.s(["deleteToolAction",()=>r])},629238,e=>{"use strict";var t=e.i(530907);let r=(0,t.createServerReference)("7081ffbd668a6929b3adbb093e48da614e7111d6db",t.callServer,void 0,t.findSourceMapURL,"createToolAction");e.s(["createToolAction",()=>r])},687057,e=>{"use strict";var t=e.i(530907);let r=(0,t.createServerReference)("403991f0498110cff20500abd1a3cf29f442371476",t.callServer,void 0,t.findSourceMapURL,"detectOAuthServerAction");e.s(["detectOAuthServerAction",()=>r])},612912,e=>{"use strict";var t=e.i(530907);let r=(0,t.createServerReference)("7832c0638faab3e5482a608b3bb2f417c470aff18f",t.callServer,void 0,t.findSourceMapURL,"updateToolAction");e.s(["updateToolAction",()=>r])},825581,e=>e.a(async(t,r)=>{try{var i=e.i(718267),s=e.i(429385),n=e.i(608449),o=e.i(325761),a=e.i(699487),l=e.i(574530),c=e.i(600840),d=e.i(996639),p=e.i(634252),u=e.i(352535),h=e.i(348418),m=e.i(430574),f=t([d]);[d]=f.then?(await f)():f;let y=`{
|
|
2
|
-
"type": "object",
|
|
3
|
-
"properties": {
|
|
4
|
-
"query": {
|
|
5
|
-
"type": "string",
|
|
6
|
-
"description": "The search query"
|
|
7
|
-
},
|
|
8
|
-
"limit": {
|
|
9
|
-
"type": "number",
|
|
10
|
-
"description": "Maximum number of results"
|
|
11
|
-
}
|
|
12
|
-
},
|
|
13
|
-
"required": ["query"]
|
|
14
|
-
}`,v=a.z.object({displayName:a.z.string().max(100,"Display name must be less than 100 characters").refine(e=>!e.trim()||/^[a-zA-Z0-9_-]+$/.test(e.trim()),{message:"Display name can only contain letters, numbers, hyphens, and underscores"}).optional().or(a.z.literal("")),description:a.z.string().max(1e3,"Description must be less than 1000 characters").optional().or(a.z.literal("")),schema:a.z.string().refine(e=>{if(!e.trim())return!0;try{let t=JSON.parse(e);if("object"!=typeof t||null===t||t.type&&!["string","number","boolean","object","array"].includes(t.type))return!1;return!0}catch{return!1}},{message:"Schema must be a valid JSON object with a valid type"}).optional().or(a.z.literal(""))}),b=e=>({displayName:e?.displayName||"",description:e?.description||"",schema:e?.schema?JSON.stringify(e.schema,null,2):""});function g({isOpen:e,onOpenChange:t,toolName:r,override:a,onSave:f,originalTool:g}){let w=(0,o.useForm)({resolver:(0,s.zodResolver)(v),defaultValues:b(a)});(0,n.useEffect)(()=>{e&&w.reset(b(a))},[e]);let{isSubmitting:x}=w.formState,j=e=>{let r={...e.displayName?.trim()&&{displayName:e.displayName.trim()},...e.description?.trim()&&{description:e.description.trim()},...e.schema?.trim()&&{schema:(()=>{try{return JSON.parse(e.schema)}catch{return e.schema}})()},...a?.transformation&&{transformation:a.transformation}};f(r),t(!1)},C=w.watch("displayName")?.trim()||w.watch("description")?.trim()||w.watch("schema")?.trim();return(0,i.jsx)(u.Dialog,{open:e,onOpenChange:t,children:(0,i.jsxs)(u.DialogContent,{className:"w-[90vw]! max-w-6xl! max-h-[90vh] overflow-y-auto h-auto!",children:[(0,i.jsxs)(u.DialogHeader,{children:[(0,i.jsxs)(u.DialogTitle,{children:["Override Tool: ",r]}),(0,i.jsx)(u.DialogDescription,{children:"Customize how this tool appears and behaves in your agent."})]}),(0,i.jsx)(h.Form,{...w,children:(0,i.jsxs)("form",{onSubmit:e=>{e.stopPropagation(),w.handleSubmit(j)(e)},className:"space-y-8",children:[(0,i.jsx)(c.GenericInput,{control:w.control,name:"displayName",label:"Display Name",placeholder:g?.name||r,description:"Override the tool name shown to the agent"}),(0,i.jsx)(l.FormFieldWrapper,{control:w.control,name:"description",label:"Description",description:"Override the tool description shown to the agent",children:e=>(0,i.jsx)(m.Textarea,{placeholder:g?.description||"Enter a custom description...",rows:3,...e,value:e.value??""})}),(0,i.jsx)(d.JsonSchemaInput,{control:w.control,name:"schema",label:"Schema Override",description:"Define simplified input parameters for the tool",customTemplate:y}),(0,i.jsxs)(u.DialogFooter,{children:[(0,i.jsx)(p.Button,{type:"button",variant:"outline",onClick:()=>t(!1),children:"Cancel"}),(0,i.jsx)(p.Button,{type:"submit",disabled:!C||x,children:"Save Override"})]})]})})]})})}e.s(["ToolOverrideDialog",()=>g]),r()}catch(e){r(e)}},!1),927901,e=>{"use strict";var t=e.i(718267),r=e.i(140508),i=e.i(136404),i=i,s=e.i(231530),n=e.i(918374),o=e.i(526341),o=o,a=e.i(608449),l=e.i(931793),c=e.i(634252),d=e.i(985744),p=e.i(855759),u=e.i(466633),h=e.i(352535),m=e.i(811296),f=e.i(947207);function g({label:e,hasChange:r=!1,originalContent:i,modifiedContent:s}){return(0,t.jsxs)("div",{className:"rounded-xl border border-border overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-2.5 border-b border-border",children:[(0,t.jsx)("span",{className:"text-sm font-medium text-foreground",children:e}),r&&(0,t.jsx)(l.Badge,{variant:"violet",className:"uppercase",children:"Modified"})]}),(0,t.jsxs)("div",{className:"grid md:grid-cols-2 divide-y md:divide-y-0 md:divide-x divide-border",children:[(0,t.jsxs)("div",{className:"p-4",children:[(0,t.jsx)("span",{className:"text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-2 block font-mono",children:"Original"}),i]}),(0,t.jsxs)("div",{className:"p-4 bg-muted/40 dark:bg-white/5",children:[(0,t.jsx)("span",{className:"text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-2 block font-mono",children:"Modified"}),s]})]})]})}function y({value:e,isCode:r=!1}){return e?r?(0,t.jsx)("code",{className:"text-sm font-mono bg-muted/80 px-2 py-1 border rounded-sm inline-block",children:e}):(0,t.jsx)("p",{className:"text-sm text-foreground/80 break-words",children:e}):(0,t.jsx)("span",{className:"text-sm text-muted-foreground italic",children:"Empty"})}function v({isOpen:e,setIsOpen:r,override:i,originalTool:s}){let{name:n,description:o,inputSchema:a}=s,{displayName:l,description:c,schema:d}=i,p=a?(0,m.parseMCPInputSchema)(a):null,u=d?(0,m.parseMCPInputSchema)(d):null,v=!!l&&l!==n,b=!!c&&c!==o;return(0,t.jsx)(h.Dialog,{open:e,onOpenChange:r,children:(0,t.jsxs)(h.DialogContent,{className:"max-w-6xl!",children:[(0,t.jsxs)(h.DialogHeader,{children:[(0,t.jsx)(h.DialogTitle,{children:"Compare"}),(0,t.jsx)(h.DialogDescription,{children:"Compare the original tool with the modified tool."})]}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(g,{label:"Name",hasChange:v,originalContent:(0,t.jsx)(y,{value:n||null,isCode:!0}),modifiedContent:(0,t.jsx)(y,{value:l||n||null,isCode:!0})}),(0,t.jsx)(g,{label:"Description",hasChange:b,originalContent:(0,t.jsx)(y,{value:o||null}),modifiedContent:(0,t.jsx)(y,{value:c||o||null})}),(0,t.jsx)(g,{label:"Parameters",hasChange:null!=d,originalContent:(0,t.jsxs)("div",{className:"space-y-2",children:[p?.properties.map(e=>(0,t.jsx)(f.PropertyDisplay,{property:e,level:0},`original-${e.name}`)),!p?.hasProperties&&(0,t.jsx)("span",{className:"text-sm text-muted-foreground italic",children:"No parameters"})]}),modifiedContent:(0,t.jsxs)("div",{className:"space-y-2",children:[(u||p)?.properties.map(e=>(0,t.jsx)(f.PropertyDisplay,{property:e,level:0},`modified-${e.name}`)),!(u||p)?.hasProperties&&(0,t.jsx)("span",{className:"text-sm text-muted-foreground italic",children:"No parameters"})]})})]})]})})}function b(e){let h,m,f,g,y,b,w,x,j,C,S,_,N,k,T,U,I,R,O=(0,r.c)(56),{toolName:A,override:$,originalTool:z,displayName:P,description:M,isChecked:E,disabled:L,hasOverride:D,onToggle:B,onEdit:F,onRemoveOverride:K}=e,[q,W]=(0,a.useState)(!1);O[0]!==L||O[1]!==E||O[2]!==B||O[3]!==A?(h=()=>!L&&B(A,!E),O[0]=L,O[1]=E,O[2]=B,O[3]=A,O[4]=h):h=O[4],O[5]!==L||O[6]!==E||O[7]!==h?(m=(0,t.jsx)("div",{className:"flex items-center h-[22px] relative",children:(0,t.jsx)(d.Checkbox,{checked:E,disabled:L,className:"mb-0",onClick:h})}),O[5]=L,O[6]=E,O[7]=h,O[8]=m):m=O[8];let G=E?"primary":"code",H=`font-mono font-medium text-xs cursor-pointer rounded-sm transition-colors truncate inline-block min-w-0 shrink ${L?"opacity-50 cursor-not-allowed":""}`;return O[9]!==L||O[10]!==E||O[11]!==B||O[12]!==A?(f=()=>!L&&B(A,!E),O[9]=L,O[10]=E,O[11]=B,O[12]=A,O[13]=f):f=O[13],O[14]!==P||O[15]!==G||O[16]!==H||O[17]!==f?(g=(0,t.jsx)(l.Badge,{variant:G,className:H,onClick:f,children:P}),O[14]=P,O[15]=G,O[16]=H,O[17]=f,O[18]=g):g=O[18],O[19]!==D?(y=D&&(0,t.jsx)(l.Badge,{variant:"violet",className:"uppercase",children:"Modified"}),O[19]=D,O[20]=y):y=O[20],O[21]===Symbol.for("react.memo_cache_sentinel")?(b=(0,t.jsx)(p.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsx)(c.Button,{variant:"ghost",size:"icon-sm",className:"h-6 w-6 p-0",type:"button",children:(0,t.jsx)(s.MoreVertical,{className:"h-4 w-4"})})}),O[21]=b):b=O[21],O[22]!==F||O[23]!==A?(w=()=>F(A),O[22]=F,O[23]=A,O[24]=w):w=O[24],O[25]===Symbol.for("react.memo_cache_sentinel")?(x=(0,t.jsx)(n.Pencil,{className:"size-4"}),O[25]=x):x=O[25],O[26]!==w?(j=(0,t.jsxs)(p.DropdownMenuItem,{onClick:w,children:[x,"Edit"]}),O[26]=w,O[27]=j):j=O[27],O[28]!==D||O[29]!==K||O[30]!==A?(C=D&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(p.DropdownMenuItem,{onClick:()=>W(!0),children:[(0,t.jsx)(i.default,{className:"size-4"}),"Compare to original"]}),(0,t.jsxs)(p.DropdownMenuItem,{variant:"destructive",onClick:()=>K(A),children:[(0,t.jsx)(o.default,{className:"size-4"}),"Reset to original"]})]}),O[28]=D,O[29]=K,O[30]=A,O[31]=C):C=O[31],O[32]!==j||O[33]!==C?(S=(0,t.jsxs)(p.DropdownMenu,{children:[b,(0,t.jsxs)(p.DropdownMenuContent,{align:"end",children:[j,C]})]}),O[32]=j,O[33]=C,O[34]=S):S=O[34],O[35]!==S||O[36]!==y?(_=(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[y,S]}),O[35]=S,O[36]=y,O[37]=_):_=O[37],O[38]!==_||O[39]!==g?(N=(0,t.jsxs)("div",{className:"flex items-center gap-2 justify-between min-w-0",children:[g,_]}),O[38]=_,O[39]=g,O[40]=N):N=O[40],O[41]!==M?(k=(0,t.jsxs)(u.Tooltip,{delayDuration:800,children:[(0,t.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("p",{className:"text-sm text-muted-foreground line-clamp-1",children:M})}),(0,t.jsx)(u.TooltipContent,{side:"bottom",align:"start",children:M})]}),O[41]=M,O[42]=k):k=O[42],O[43]!==N||O[44]!==k?(T=(0,t.jsxs)("div",{className:"flex-1 flex flex-col gap-2 min-w-0",children:[N,k]}),O[43]=N,O[44]=k,O[45]=T):T=O[45],O[46]!==T||O[47]!==m?(U=(0,t.jsxs)("div",{className:"flex items-start gap-4 py-4 px-6",children:[m,T]}),O[46]=T,O[47]=m,O[48]=U):U=O[48],O[49]!==q||O[50]!==z||O[51]!==$?(I=q&&$&&(0,t.jsx)(v,{override:$,originalTool:z,isOpen:q,setIsOpen:W}),O[49]=q,O[50]=z,O[51]=$,O[52]=I):I=O[52],O[53]!==U||O[54]!==I?(R=(0,t.jsxs)("div",{className:"border-b last:border-b-0",children:[U,I]}),O[53]=U,O[54]=I,O[55]=R):R=O[55],R}e.s(["ToolSelectorItem",()=>b],927901)},374099,e=>e.a(async(t,r)=>{try{var i=e.i(718267),s=e.i(445912),n=e.i(924442),o=e.i(608449),a=e.i(325761),l=e.i(931793),c=e.i(634252),d=e.i(348418),p=e.i(825581),u=e.i(927901),h=t([p]);function m({control:e,name:t,label:r,availableTools:h=[],description:m,disabled:f=!1,toolOverrides:g={},onToolOverrideChange:y}){let[v,b]=(0,o.useState)(null),{field:{value:w,onChange:x},fieldState:{error:j}}=(0,a.useController)({name:t,control:e}),C=(0,o.useMemo)(()=>"object"==typeof w&&null!==w&&"type"in w?"all"===w.type?{type:"all"}:"selective"===w.type&&Array.isArray(w.tools)?{type:"selective",tools:w.tools}:{type:"selective",tools:[]}:{type:"selective",tools:[]},[w]),S=()=>{x({type:"all"})},_=()=>{x({type:"selective",tools:[]})},N=(0,o.useCallback)((e,t)=>{if("all"===C.type){let r=h.map(e=>e.name).filter(t=>t!==e);x({type:"selective",tools:t?[...r,e]:r})}else{let r=t?[...C.tools.filter(t=>t!==e),e]:C.tools.filter(t=>t!==e);x({type:"selective",tools:r})}},[h,C,x]),k=(0,o.useCallback)(e=>{y?.(e,{})},[y]),T=()=>{switch(C.type){case"all":return h.length;case"selective":return C.tools.filter(e=>h.some(t=>t.name===e)).length;default:return 0}},U=T()===h.length;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(d.FormField,{control:e,name:t,render:()=>(0,i.jsxs)(d.FormItem,{children:[(0,i.jsxs)(d.FormLabel,{children:[r,(0,i.jsx)(l.Badge,{variant:"count",children:T()})]}),m&&(0,i.jsx)("p",{className:"text-sm text-muted-foreground",children:m}),(0,i.jsxs)("div",{className:"mt-2 min-w-0",children:[0===h.length&&(0,i.jsx)("div",{className:"text-sm text-muted-foreground border rounded-md p-3 py-2 bg-gray-100/80 dark:bg-sidebar",children:"No tools available from this server"}),h.length>0&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{className:"flex items-center gap-2 justify-between py-3 px-6 rounded-t-lg border border-b-0",children:[(0,i.jsxs)("div",{className:"text-sm",children:[T()," ",(0,i.jsxs)("span",{className:"text-gray-400 dark:text-white/40",children:["/ ",h.length," tool",1===h.length?"":"s"]})]}),U?(0,i.jsxs)(c.Button,{type:"button",variant:"outline",size:"sm",onClick:_,disabled:f,children:[(0,i.jsx)(n.X,{className:"w-4 h-4 text-muted-foreground"}),"Deselect all"]}):(0,i.jsxs)(c.Button,{type:"button",variant:"outline",size:"sm",onClick:S,disabled:f,children:[(0,i.jsx)(s.Check,{className:"w-4 h-4 text-muted-foreground"}),"Select all"]})]}),(0,i.jsx)("div",{className:"max-h-96 overflow-y-auto border rounded-lg rounded-t-none scrollbar-thin scrollbar-thumb-muted-foreground/30 dark:scrollbar-thumb-muted-foreground/50 scrollbar-track-transparent",children:h.map(e=>{let t=(e=>{switch(C.type){case"all":return h.some(t=>t.name===e);case"selective":return C.tools.includes(e)&&h.some(t=>t.name===e);default:return!1}})(e.name),r=g[e.name],s=r?.displayName||e.name,n=r?.description||e.description;return(0,i.jsx)(u.ToolSelectorItem,{toolName:e.name,override:r,originalTool:e,displayName:s,description:n,isChecked:t,disabled:f,hasOverride:!!r,onToggle:N,onEdit:b,onRemoveOverride:k},e.name)})})]})]}),(0,i.jsx)(d.FormMessage,{children:j?.message})]})}),v&&(0,i.jsx)(p.ToolOverrideDialog,{isOpen:!0,onOpenChange:e=>!e&&b(null),toolName:v,override:g[v],originalTool:h.find(e=>e.name===v),onSave:e=>{y&&y(v,e),b(null)}})]})}[p]=h.then?(await h)():h,e.s(["ActiveToolsSelector",()=>m]),r()}catch(e){r(e)}},!1),251552,e=>e.a(async(t,r)=>{try{var i=e.i(718267),s=e.i(429385);e.i(502927);var n=e.i(850242),o=e.i(433575),a=e.i(608449),l=e.i(325761),c=e.i(60364),d=e.i(600840),p=e.i(960622),u=e.i(544048),h=e.i(634252),m=e.i(876538),f=e.i(352535),g=e.i(348418),y=e.i(852236),v=e.i(875580),b=e.i(629238),w=e.i(176760),x=e.i(687057),j=e.i(612912),C=e.i(528023),S=e.i(407086),_=e.i(557300),N=e.i(374099),k=e.i(159820),T=t([N]);[N]=T.then?(await T)():T;let I={name:"",config:{type:"mcp",mcp:{server:{url:""},transport:{type:n.MCPTransportType.streamableHttp},toolsConfig:{type:"all"},toolOverrides:{},prompt:""}},imageUrl:"",credentialReferenceId:"oauth",credentialScope:k.CredentialScopeEnum.project};function U({initialData:e,className:t,tool:r,credentials:T,tenantId:U,projectId:R}){let O=(0,o.useRouter)(),[A,$]=(0,a.useState)(!1),[z,P]=(0,a.useState)(!1),M=(0,l.useForm)({resolver:(0,s.zodResolver)(k.mcpToolSchema),defaultValues:{...I,...e}}),{handleOAuthLogin:E}=(0,v.useOAuthLogin)({tenantId:U,projectId:R}),L=(0,C.useMcpToolInvalidation)(U,R),{isSubmitting:D}=M.formState,B=async e=>{let t=r?"update":"create";try{let i=e.name;if(e.credentialScope===k.CredentialScopeEnum.user&&"create"===t){let t={id:(0,_.generateId)(),name:i,config:{type:"mcp",mcp:{server:{url:e.config.mcp.server.url},transport:{type:e.config.mcp.transport.type},prompt:e.config.mcp.prompt}},credentialReferenceId:null,credentialScope:k.CredentialScopeEnum.user,imageUrl:e.imageUrl},r=await (0,b.createToolAction)(U,R,t);if(!r.success||!r.data)return void c.toast.error(r.error||"Failed to create MCP server.");await L(),c.toast.success("MCP server created. Users can connect their own accounts from the detail page."),O.push(`/${U}/projects/${R}/mcp-servers/${r.data.id}`);return}if("oauth"===e.credentialReferenceId&&"create"===t){let t=await (0,x.detectOAuthServerAction)(e.config.mcp.server.url);if(!t.success)return void c.toast.error(t.error||"Failed to detect OAuth support");if(!t.data)return void c.toast.error("This MCP server does not support OAuth authentication. Please select a different credential.");let r={id:(0,_.generateId)(),name:i,config:{type:"mcp",mcp:{server:{url:e.config.mcp.server.url},transport:{type:e.config.mcp.transport.type},prompt:e.config.mcp.prompt}},credentialReferenceId:null,credentialScope:k.CredentialScopeEnum.project,imageUrl:e.imageUrl},s=await (0,b.createToolAction)(U,R,r);if(!s.success||!s.data)return void c.toast.error(s.error||"Failed to create MCP server.");await L(),E({toolId:s.data.id,mcpServerUrl:e.config.mcp.server.url,toolName:i,credentialScope:e.credentialScope});return}let s={...e,name:i,credentialReferenceId:"none"===e.credentialReferenceId?null:e.credentialReferenceId,credentialScope:e.credentialScope,config:{...e.config,mcp:{...e.config.mcp,activeTools:(e=>{if("all"===e.type)return;let t=r?.availableTools?.map(e=>e.name)||[];return e.tools.filter(e=>t.includes(e))})(e.config.mcp.toolsConfig)}}};if(r){let e=await (0,j.updateToolAction)(U,R,r.id,s);if(!e.success)return void c.toast.error(e.error||"Failed to update MCP server.");await L(r.id),c.toast.success("MCP server updated successfully"),O.push(`/${U}/projects/${R}/mcp-servers/${r.id}`)}else{let e=await (0,b.createToolAction)(U,R,{...s,id:(0,_.generateId)()});if(!e.success||!e.data)return void c.toast.error(e.error||"Failed to create MCP server.");await L(),c.toast.success("MCP server created successfully"),O.push(`/${U}/projects/${R}/mcp-servers/${e.data.id}`)}}catch(e){console.error(`Failed to ${t} MCP tool:`,e),c.toast.error(`Failed to ${t} MCP server. Please try again.`)}},F=async()=>{if(r){P(!0);try{let e=await (0,w.deleteToolAction)(U,R,r.id,!1);e.success?($(!1),c.toast.success("MCP server deleted."),O.push(`/${U}/projects/${R}/mcp-servers`)):c.toast.error(e.error||"Failed to delete MCP server.")}finally{P(!1)}}};return(0,i.jsxs)(f.Dialog,{open:A,onOpenChange:$,children:[(0,i.jsx)(g.Form,{...M,children:(0,i.jsxs)("form",{onSubmit:M.handleSubmit(B),className:(0,S.cn)("space-y-8",t),children:[(0,i.jsx)(d.GenericInput,{control:M.control,name:"name",label:"Name",placeholder:"MCP server",isRequired:!0}),(0,i.jsx)(d.GenericInput,{control:M.control,name:"config.mcp.server.url",label:"URL",placeholder:"https://api.example.com/mcp",isRequired:!0}),(0,i.jsx)(p.GenericSelect,{control:M.control,selectTriggerClassName:"w-full",name:"config.mcp.transport.type",label:"Transport type",placeholder:"Select transport type",options:[{value:n.MCPTransportType.streamableHttp,label:"Streamable HTTP"},{value:n.MCPTransportType.sse,label:"Server-Sent Events (SSE)"}]}),(0,i.jsx)(d.GenericInput,{control:M.control,name:"imageUrl",label:"Image URL (optional)",placeholder:"https://example.com/icon.png or data:image/png;base64,..."}),(0,i.jsx)(u.GenericTextarea,{control:M.control,name:"config.mcp.prompt",label:"Custom Prompt (optional)",placeholder:"Instructions for how agents should use these tools..."}),(0,i.jsxs)("div",{className:"space-y-3",children:[(0,i.jsx)(p.GenericSelect,{control:M.control,selectTriggerClassName:"w-full",name:"credentialScope",label:"Credential Scope",placeholder:"Select credential scope",disabled:!!r,options:[{value:k.CredentialScopeEnum.project,label:"Project (shared team credential)"},{value:k.CredentialScopeEnum.user,label:"User (each user connects their own)"}]}),(0,i.jsx)(y.InfoCard,{title:"Credential Scope",children:(0,i.jsxs)("div",{className:"space-y-2",children:[(0,i.jsxs)("p",{children:[(0,i.jsx)("strong",{children:"Project:"})," One shared credential for the entire team. You'll connect an OAuth account now that everyone will use."]}),(0,i.jsxs)("p",{children:[(0,i.jsx)("strong",{children:"User:"})," Each team member connects their own account. No OAuth required during setup — users connect later from the detail page."]})]})})]}),M.watch("credentialScope")===k.CredentialScopeEnum.project&&(0,i.jsxs)("div",{className:"space-y-3",children:[(0,i.jsx)(p.GenericSelect,{control:M.control,selectTriggerClassName:"w-full",name:"credentialReferenceId",label:"Credential",placeholder:"Select a credential",options:[{value:"oauth",label:"OAuth"},{value:"none",label:"No Authentication"},...T.map(e=>({value:e.id,label:e.name}))]}),(0,i.jsx)(y.InfoCard,{title:"How this works",children:(0,i.jsxs)("div",{className:"space-y-2",children:[(0,i.jsxs)("p",{children:["Select ",(0,i.jsx)("code",{className:"bg-background px-1.5 py-0.5 rounded border",children:"OAuth"})," ",'to authenticate with the MCP server\'s OAuth flow, which will start after you click "Create".']}),(0,i.jsxs)("p",{children:["Select"," ",(0,i.jsx)("code",{className:"bg-background px-1.5 py-0.5 rounded border",children:"No Authentication"})," ","to skip authentication (i.e. none required or add a credential later)."]}),(0,i.jsx)("p",{children:"Or select from the existing credentials you have already created."})]})})]}),r&&(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(N.ActiveToolsSelector,{control:M.control,name:"config.mcp.toolsConfig",label:"Tools",availableTools:r?.availableTools||[],description:"Select which tools should be enabled for this MCP server",toolOverrides:M.watch("config.mcp.toolOverrides")||{},onToolOverrideChange:(e,t)=>{let r={...M.watch("config.mcp.toolOverrides")||{}};0===Object.keys(t).length?delete r[e]:r[e]=t,M.setValue("config.mcp.toolOverrides",r),M.trigger("config.mcp.toolOverrides")}})}),(0,i.jsxs)("div",{className:"flex w-full justify-between",children:[(0,i.jsx)(h.Button,{type:"submit",disabled:D,children:r?"Save":"Create"}),r&&(0,i.jsx)(f.DialogTrigger,{asChild:!0,children:(0,i.jsx)(h.Button,{type:"button",variant:"destructive-outline",children:"Delete Server"})})]})]})}),A&&r&&(0,i.jsx)(m.DeleteConfirmation,{itemName:r.name||"this MCP server",isSubmitting:z,onDelete:F})]})}e.s(["MCPServerForm",()=>U]),r()}catch(e){r(e)}},!1)]);
|