@inkeep/agents-manage-ui 0.23.5 → 0.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/.next/standalone/agents-manage-ui/.next/BUILD_ID +1 -1
  2. package/.next/standalone/agents-manage-ui/.next/app-build-manifest.json +42 -42
  3. package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +1 -1
  4. package/.next/standalone/agents-manage-ui/.next/build-manifest.json +2 -2
  5. package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +3 -3
  6. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js +1 -1
  7. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js +2 -2
  9. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js.nft.json +1 -1
  10. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page.js +2 -2
  12. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page.js.nft.json +1 -1
  13. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page.js +2 -2
  15. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js +3 -3
  17. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js +1 -1
  19. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js.nft.json +1 -1
  20. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js +2 -2
  22. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js.nft.json +1 -1
  23. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js +2 -2
  25. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page_client-reference-manifest.js +1 -1
  26. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js +2 -2
  27. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js.nft.json +1 -1
  28. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page_client-reference-manifest.js +1 -1
  29. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js +2 -2
  30. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js.nft.json +1 -1
  31. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js +2 -2
  33. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js +2 -2
  35. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js +2 -2
  37. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js.nft.json +1 -1
  38. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js +1 -1
  40. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page_client-reference-manifest.js +1 -1
  41. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js +2 -2
  42. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
  43. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js +2 -2
  45. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js +2 -2
  47. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js +2 -2
  49. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js.nft.json +1 -1
  50. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js +2 -2
  52. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js.nft.json +1 -1
  53. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js +2 -2
  55. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js.nft.json +1 -1
  56. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
  57. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js +1 -1
  58. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page_client-reference-manifest.js +1 -1
  59. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js +2 -2
  60. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  61. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js +2 -2
  62. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page_client-reference-manifest.js +1 -1
  63. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js +1 -1
  64. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js.nft.json +1 -1
  65. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page_client-reference-manifest.js +1 -1
  66. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js +2 -2
  67. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page_client-reference-manifest.js +1 -1
  68. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js +2 -2
  69. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js.nft.json +1 -1
  70. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page_client-reference-manifest.js +1 -1
  71. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js +2 -2
  72. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page_client-reference-manifest.js +1 -1
  73. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js +1 -1
  74. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  75. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
  76. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +9 -9
  77. package/.next/standalone/agents-manage-ui/.next/server/app/api/data-components/[dataComponentId]/generate-preview/route.js +1 -1
  78. package/.next/standalone/agents-manage-ui/.next/server/app/api/data-components/[dataComponentId]/generate-preview/route_client-reference-manifest.js +1 -1
  79. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/agents-manage-ui/.next/server/app/page.js +2 -2
  82. package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
  83. package/.next/standalone/agents-manage-ui/.next/server/app-paths-manifest.json +1 -1
  84. package/.next/standalone/agents-manage-ui/.next/server/chunks/1524.js +1 -0
  85. package/.next/standalone/agents-manage-ui/.next/server/chunks/2584.js +14 -0
  86. package/.next/standalone/agents-manage-ui/.next/server/chunks/3547.js +1 -1
  87. package/.next/standalone/agents-manage-ui/.next/server/chunks/526.js +1 -0
  88. package/.next/standalone/agents-manage-ui/.next/server/chunks/5478.js +4080 -0
  89. package/.next/standalone/agents-manage-ui/.next/server/chunks/5732.js +1 -1
  90. package/.next/standalone/agents-manage-ui/.next/server/chunks/{2557.js → 7733.js} +1 -1
  91. package/.next/standalone/agents-manage-ui/.next/server/chunks/7848.js +1 -1
  92. package/.next/standalone/agents-manage-ui/.next/server/chunks/7988.js +2 -2
  93. package/.next/standalone/agents-manage-ui/.next/server/chunks/8038.js +196 -0
  94. package/.next/standalone/agents-manage-ui/.next/server/middleware-manifest.json +5 -5
  95. package/.next/standalone/agents-manage-ui/.next/server/pages/404.html +1 -1
  96. package/.next/standalone/agents-manage-ui/.next/server/pages/500.html +1 -1
  97. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.js +1 -1
  98. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.json +1 -1
  99. package/.next/standalone/agents-manage-ui/.next/static/chunks/20837-f8b0d86a8303f4c3.js +1 -0
  100. package/.next/standalone/agents-manage-ui/.next/static/chunks/24994-975eb584d5b2438a.js +1 -0
  101. package/.next/standalone/agents-manage-ui/.next/static/chunks/47259-95ea98b229d39774.js +1 -0
  102. package/.next/standalone/agents-manage-ui/.next/static/chunks/48949-692c5f8265558813.js +1 -0
  103. package/.next/standalone/agents-manage-ui/.next/static/chunks/74206-85aa3065dce9dc8a.js +1 -0
  104. package/.next/standalone/agents-manage-ui/.next/static/chunks/76125-82ebb14b304cfe0b.js +25 -0
  105. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/page-fdbebdb8c3371c73.js +1 -0
  106. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/page-bc76e9554c5d2341.js +1 -0
  107. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-4c5fb257a6233694.js +1 -0
  108. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-5158b01426eb0f32.js +1 -0
  109. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/{page-c66ccba640d47f0f.js → page-75c72891b2f2923c.js} +1 -1
  110. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-4cae1de757715499.js +1 -0
  111. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/{page-c9f433a59ec91812.js → page-528fffe4fc232ff4.js} +1 -1
  112. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/{page-b3c543ab1c4bd6b4.js → page-2551beb91f3aa6e6.js} +1 -1
  113. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/{page-7f0e3b8c1e661827.js → page-05a78b9d37131b1a.js} +1 -1
  114. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-d238c502f632f4e0.js +1 -0
  115. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/{page-52ae0fa0a16c7979.js → page-3655f333086c211d.js} +1 -1
  116. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-20579bf7a4fb87d3.js +1 -0
  117. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-f109a80577d83568.js +1 -0
  118. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-9eafe11017316482.js +1 -0
  119. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-5b25bf3f3967c268.js +1 -0
  120. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/{page-0abb5f43d02da2b4.js → page-d970759f74621cfe.js} +1 -1
  121. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-57be5eb54ad97e11.js +1 -0
  122. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/{page-156d1009662ee964.js → page-11cfe0365b56c6b2.js} +1 -1
  123. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-bb2b8d64b23cf563.js +1 -0
  124. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-cf6f4f3394d4813d.js +1 -0
  125. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/{layout-b8d6461cf022b06c.js → layout-d83e519e9bcc6269.js} +1 -1
  126. package/.next/standalone/agents-manage-ui/.next/static/css/86b7c14b860f21e3.css +1 -0
  127. package/.next/standalone/agents-manage-ui/package.json +2 -2
  128. package/.next/standalone/packages/agents-core/package.json +1 -1
  129. package/package.json +5 -5
  130. package/src/app/api/data-components/[dataComponentId]/generate-preview/route.ts +17 -2
  131. package/src/app/globals.css +21 -0
  132. package/src/components/agent/agent.tsx +173 -2
  133. package/src/components/agent/configuration/edge-types.tsx +7 -1
  134. package/src/components/agent/configuration/node-types.tsx +7 -0
  135. package/src/components/agent/edges/agent-to-agent-edge.tsx +11 -5
  136. package/src/components/agent/edges/default-edge.tsx +54 -11
  137. package/src/components/agent/node-library/node-item.tsx +1 -1
  138. package/src/components/agent/nodes/base-node.tsx +15 -20
  139. package/src/components/agent/nodes/external-agent-node.tsx +9 -4
  140. package/src/components/agent/nodes/function-tool-node.tsx +7 -2
  141. package/src/components/agent/nodes/mcp-node.tsx +29 -26
  142. package/src/components/agent/nodes/node-tab.tsx +7 -6
  143. package/src/components/agent/nodes/sub-agent-node.tsx +8 -3
  144. package/src/components/agent/toolbar/toolbar.tsx +18 -7
  145. package/src/features/agent/domain/serialize.ts +2 -2
  146. package/src/lib/actions/data-components.ts +2 -1
  147. package/.next/standalone/agents-manage-ui/.next/server/chunks/2215.js +0 -1
  148. package/.next/standalone/agents-manage-ui/.next/server/chunks/4883.js +0 -1
  149. package/.next/standalone/agents-manage-ui/.next/server/chunks/5112.js +0 -196
  150. package/.next/standalone/agents-manage-ui/.next/server/chunks/5416.js +0 -14
  151. package/.next/standalone/agents-manage-ui/.next/server/chunks/7283.js +0 -4080
  152. package/.next/standalone/agents-manage-ui/.next/static/chunks/13578-0ecceb958c0ce63f.js +0 -1
  153. package/.next/standalone/agents-manage-ui/.next/static/chunks/20837-4b00b831f3de1892.js +0 -1
  154. package/.next/standalone/agents-manage-ui/.next/static/chunks/27208-36636f32d254d800.js +0 -1
  155. package/.next/standalone/agents-manage-ui/.next/static/chunks/56461-61f28c6fa4039d33.js +0 -1
  156. package/.next/standalone/agents-manage-ui/.next/static/chunks/61330-f978ea4653e10ca7.js +0 -1
  157. package/.next/standalone/agents-manage-ui/.next/static/chunks/85014-410be6cfd6c0b753.js +0 -25
  158. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/page-cc373d319cdfb74f.js +0 -1
  159. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/page-2ceba25d996bf510.js +0 -1
  160. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-f473cdc852dcea1b.js +0 -1
  161. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-08978f8575693f81.js +0 -1
  162. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-0e7fd82b8c436b6f.js +0 -1
  163. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-9193e456fc869fb3.js +0 -1
  164. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-bf5914023071d49d.js +0 -1
  165. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-3d78f1d4b32c2ef0.js +0 -1
  166. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-be427c6132d3dd87.js +0 -1
  167. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-6a61a970c0545164.js +0 -1
  168. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-6e316e6b84440446.js +0 -1
  169. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-0cc06bd02445112e.js +0 -1
  170. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-1404ec909a47ed0c.js +0 -1
  171. package/.next/standalone/agents-manage-ui/.next/static/css/5dfa86d258326297.css +0 -1
  172. /package/.next/standalone/agents-manage-ui/.next/static/{2ceZLQWaXoj5yCGjkjRcx → TwV2TGtXdOiFkslre7D-k}/_buildManifest.js +0 -0
  173. /package/.next/standalone/agents-manage-ui/.next/static/{2ceZLQWaXoj5yCGjkjRcx → TwV2TGtXdOiFkslre7D-k}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=5732,exports.ids=[5732],exports.modules={88:(a,b,c)=>{c.d(b,{T:()=>d});let d=a=>{let[b,c]=a.name.split("::");return{type:b,name:c}}},12463:(a,b,c)=>{c.d(b,{E:()=>i});var d=c(59111),e=c(15606),f=c(53433),g=c(42723);let h=(0,f.F)("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",primary:"border border-primary/50 text-primary bg-primary/5 rounded-sm p-0.5 px-1.5 font-mono",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",code:"text-xs text-muted-foreground border bg-muted/80 dark:bg-muted/50 rounded-sm p-0.5 px-1.5 font-mono",success:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-emerald-50 border-emerald-200 text-emerald-800 dark:text-emerald-300 dark:bg-emerald-950/40 uppercase",error:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-red-50 border-red-200 text-red-800 dark:border-red-700 dark:text-red-300 dark:bg-red-950/40 uppercase",warning:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-amber-50 border-amber-200 text-amber-800 dark:border-amber-700 dark:text-amber-300 dark:bg-amber-950/40 uppercase",sky:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-sky-50 border-sky-200 text-sky-800 dark:border-sky-700 dark:text-sky-300 dark:bg-sky-950/40",violet:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-violet-50 border-violet-200 text-violet-800 dark:border-violet-700 dark:text-violet-300 dark:bg-violet-950/40",orange:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-orange-50 border-orange-200 text-orange-800 dark:border-orange-700 dark:text-orange-300 dark:bg-orange-950/40"}},defaultVariants:{variant:"default"}});function i({className:a,variant:b,asChild:c=!1,...f}){let i=c?e.DX:"span";return(0,d.jsx)(i,{"data-slot":"badge",className:(0,g.cn)(h({variant:b}),a),...f})}},16892:(a,b,c)=>{c.d(b,{r:()=>i});var d=c(59111),e=c(24146),f=c(14450);let g=new Set(["1password","1password-scim","accelo","active-campaign","acuity-scheduling","addepar","addepar-basic","adobe","adobe-umapi","adobe-workfront","adp","adp-lyric","adp-run","adp-workforce-now","adp-workforce-now-next-gen","adyen","affinity","aircall","aircall-basic","airtable","airtable-pat","algolia","amazon","amazon-selling-partner","amazon-selling-partner-beta","amplitude","anrok","anthropic","anthropic-admin","apaleo","apollo","apollo-oauth","apple-app-store","appstle-subscriptions","asana","asana-mcp","asana-scim","ashby","atlas-so","atlassian","atlassian-admin","attio","auth0","auth0-cc","autodesk","autotask","avalara","avalara-sandbox","avoma","aws","aws-iam","aws-scim","azure-blob-storage","azure-devops","bamboohr","bamboohr-basic","basecamp","battlenet","beehiiv","bigcommerce","bill","bill-sandbox","bitbucket","bitdefender","bitly","blackbaud","blackbaud-basic","blandai","boldsign","booking-com","box","braintree","braintree-sandbox","braze","brevo-api-key","brex","brex-api-key","brex-staging","brightcrowd","builder-io-private","builder-io-public","buildium","builtwith","bullhorn","cal-com-v1","cal-com-v2","calendly","callrail","canny","canva","canva-scim","certn","certn-demo","certn-partner","chargebee","chattermill","checkhq","checkout-com","checkout-com-sandbox","checkr-partner","checkr-partner-staging","chorus","circle-so","clari-copilot","clerk","clicksend","clickup","close","cloudentity","coda","codeclimate","codegen","commercetools","companycam","confluence","confluence-basic","confluence-data-center","connectwise-psa","connectwise-psa-staging","contentful","contentstack","copper","copper-api-key","coros","coros-sandbox","coupa-compass","cursor","cyberimpact","databricks-account","databricks-workspace","datacandy","datadog","datev","datto-rmm","datto-rmm-password-grant","dayforce","deel","deel-sandbox","devin","dialpad","dialpad-sandbox","digitalocean","discord","discourse","dixa","document360","docusign","docusign-sandbox","docuware","dropbox","dropbox-sign","drupal","e-conomic","ebay","ebay-sandbox","egnyte","elevenlabs","elevio","emarsys","emarsys-oauth","employment-hero","entrata","envoy","epic-games","evaluagent","eventbrite","exa","exact-online","exist","expensify","facebook","factorial","fairing","falai","fathom","figjam","figma","figma-scim","fillout","fillout-api-key","findymail","firefish","fireflies","fiserv","fiserv-api-key","fitbit","float","folk","fortnox","freshbooks","freshdesk","freshsales","freshservice","freshteam","front","gainsight-cc","garmin","gebruder-weiss","gem","gerrit","ghost-admin","ghost-content","github","github-app","github-app-oauth","github-pat","gitlab","gong","gong-oauth","google","google-ads","google-analytics","google-calendar","google-chat","google-cloud-storage","google-docs","google-drive","google-gemini","google-mail","google-play","google-service-account","google-sheet","google-slides","google-workspace-admin","gorgias","gorgias-basic","grafana","grain","grain-api-key","grammarly","grammarly-scim","greenhouse","greenhouse-assessment","greenhouse-basic","greenhouse-harvest","greenhouse-ingestion","greenhouse-job-board","greenhouse-onboarding","gumroad","guru","guru-scim","gusto","gusto-demo","hackerrank-work","harvest","health-gorilla","heap","helpscout-docs","helpscout-mailbox","hibob-service-user","highlevel","highlevel-white-label","holded","hover","hubspot","incident-io","insightly","instagram","instantly","intercom","intuit","itglue","jamf","jamf-basic","jazzhr","jira","jira-basic","jira-data-center","jira-data-center-api-key","jira-data-center-basic","jobadder","jobber","jobdiva","jobvite","jotform","jumpcloud","kandji","keap","keeper-scim","kintone","kintone-user-api","klaviyo","klaviyo-oauth","klipfolio","knowbe4","kustomer","lagrowthmachine","lastpass","lattice","lemlist","lessonly","lever","lever-basic","lever-basic-sandbox","lever-sandbox","linear","linear-mcp","linkedin","linkhut","listmonk","loom","loom-scim","loops-so","lucid","lucid-scim","luma","mailchimp","mailgun","make","malwarebytes","manatal","marketo","mcp-dynamic","medallia","metabase","microsoft","microsoft-ads","microsoft-business-central","microsoft-entra-id","microsoft-excel","microsoft-oauth2-cc","microsoft-power-bi","microsoft-teams","microsoft-tenant-specific","mindbody","minimax","mip","mip-cloud","mip-on-premise","miro","miro-scim","missive","mixpanel","monday","mural","namely","namely-pat","nationbuilder","netsuite","netsuite-tba","next-cloud-ocs","notion","notion-mcp","notion-scim","odoo","odoo-cc","okta","okta-preview","one-drive","one-note","open-hands","openai","openai-admin","oracle-hcm","ory","osu","oura","outlook","outreach","pagerduty","pandadoc","pandadoc-api-key","pax8","paychex","paycom","paycor","paycor-sandbox","payfit","paylocity","paypal","paypal-sandbox","pendo","pennylane","peopledatalabs","perimeter81","perplexity","personio","personio-recruiting","personio-v2","pingboard","pinterest","pipedream","pipedream-oauth2-cc","pipedrive","pivotaltracker","plain","podium","posthog","precisefp","private-api-basic","private-api-bearer","prive","productboard","qualtrics","quickbase","quickbooks","quickbooks-sandbox","ragieai","ramp","ramp-sandbox","rapidapi","razorpay","readwise","readwise-reader","recharge","recruitcrm","recruitee","recruiterflow","reddit","redtail-crm-sandbox","refiner","replicate","retell-ai","ring-central","ring-central-sandbox","rippling","rippling-shop-app","roam-scim","rock-gym-pro","roller","rootly","sage","sage-hr","sage-intacct","sage-intacct-oauth","sage-people","salesforce","salesforce-cdp","salesforce-experience-cloud","salesforce-sandbox","salesloft","sap-concur","sap-success-factors","scrapedo","sedna","sedna-basic","segment","sellsy","sellsy-oauth2-cc","sendgrid","sentry","sentry-oauth","servicem8","servicenow","setmore","sharepoint-online","sharepoint-online-oauth2-cc","sharepoint-online-v1","shipstation","shopify","shopify-api-key","shopify-partner","shopify-scim","shortcut","signnow","signnow-sandbox","skio","slack","smartlead-ai","smartrecruiters-api-key","smartsheet","smugmug","snapchat","snipe-it","snowflake","snowflake-jwt","splitwise","spotify","spotify-oauth2-cc","squarespace","squareup","squareup-sandbox","stackexchange","strava","strava-web","stripe","stripe-app","stripe-app-sandbox","stripe-express","supabase","survey-monkey","tableau","tailscale","tailscale-api-key","tapclicks","teamtailor","teamwork","terraform","thrivecart-api-key","thrivecart-oauth","ticktick","tiktok-accounts","tiktok-ads","timely","tldv","todoist","trafft","trakstar-hire","trello","trello-scim","tremendous","tremendous-sandbox","tsheetsteam","tumblr","twenty-crm","twenty-crm-self-hosted","twilio","twinfield","twitch","twitter","twitter-oauth2-cc","twitter-v2","typeform","typefully","uber","ukg-pro","ukg-pro-wfm","ukg-ready","unanet","unauthenticated","unipile","vercel","vimeo","vimeo-basic","wakatime","wave-accounting","wealthbox","webex","webflow","whatsapp-business","whoop","wildix-pbx","woocommerce","wordpress","workable","workable-oauth","workday","workday-oauth","wrike","xai","xero","xero-oauth2-cc","yahoo","yandex","yotpo","youtube","zapier","zapier-nla","zapier-scim","zendesk","zenefits","zoho","zoho-bigin","zoho-books","zoho-calendar","zoho-crm","zoho-desk","zoho-inventory","zoho-invoice","zoho-mail","zoho-people","zoom","zoominfo","zuora"]),h=(a,b)=>{let c=a.charAt(0),e=Math.max(8,Math.floor(.6*("string"==typeof b?Number.parseInt(b,10)||20:b)));return(0,d.jsx)("div",{className:"rounded-sm bg-gray-100 dark:bg-muted/50 text-muted-foreground font-medium flex items-center justify-center",style:{width:b,height:b,fontSize:`${e}px`,lineHeight:1},children:c})};function i({provider:a,fallback:b=!1,className:c,size:i=20}){let[j,k]=(0,f.useState)(!1),[l,m]=(0,f.useState)(!1),n=(a=>{let b=function(a){if(!a)return null;let b=a.toLowerCase();if(g.has(b))return b;for(let a of g)if(b.includes(a))return a;for(let a of g)if(a.includes(b))return a;return null}(a);return b?`/assets/provider-icons/${b}.svg`:null})(a);return n?(0,d.jsxs)("div",{className:`inline-flex items-center justify-center relative ${c||""}`,style:{width:i,height:i},children:[l&&(0,d.jsx)("div",{className:"absolute",children:b||h(a,i)}),(0,d.jsx)(e.default,{src:n,alt:`${a} icon`,width:"string"==typeof i?Number.parseInt(i,10)||20:i,height:"string"==typeof i?Number.parseInt(i,10)||20:i,onLoad:()=>{k(!0)},onError:()=>{m(!0)},style:{maxWidth:"100%",maxHeight:"100%",opacity:j&&!l?1:0},unoptimized:!0},a)]}):(0,d.jsx)("div",{className:`inline-flex items-center justify-center ${c||""}`,style:{width:i,height:i},children:b||h(a,i)})}},38224:(a,b,c)=>{c.d(b,{Wy:()=>k,XL:()=>i,YU:()=>j,iu:()=>g,xl:()=>h});var d=c(1274);c(2082);var e=c(53842),f=c(41979);async function g(a,b,c=1,d=50,h){(0,f.M2)(a),(0,f.nt)(b);let i=new URLSearchParams({page:c.toString(),limit:d.toString()});return h&&i.append("status",h),(await (0,e.J)(`tenants/${a}/projects/${b}/tools?${i}`)).data.filter(a=>a.config?.type==="mcp")}async function h(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/tools/${c}`)).data}async function i(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/tools`,{method:"POST",body:JSON.stringify(c)})).data}async function j(a,b,c,d){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/tools/${c}`,{method:"PUT",body:JSON.stringify(d)})).data}async function k(a,b,c){(0,f.M2)(a),(0,f.nt)(b),await (0,e.J)(`tenants/${a}/projects/${b}/tools/${c}`,{method:"DELETE"})}(0,c(95454).D)([g,h,i,j,k]),(0,d.A)(g,"7ccf7f3ac05dda13e641c95a3b99ba3edd1ecfc4b2",null),(0,d.A)(h,"704de3bbb9200fe233f6642bb1b921aa790d59addc",null),(0,d.A)(i,"70ceefd55ab306a42835d1ea9c9b6479751248655d",null),(0,d.A)(j,"785fbb70047ac3da6b15d59b14140ced1fbfca1d7c",null),(0,d.A)(k,"700c383d25f589c21f18db953b2ee53740ab4f4514",null)},38416:(a,b,c)=>{c.d(b,{u:()=>j});var d=c(59111),e=c(75116),f=c(24146),g=c(14450),h=c(42723),i=c(16892);function j({imageUrl:a,name:b,provider:c,size:j=24,className:k}){let[l,m]=(0,g.useState)(!1),[n,o]=(0,g.useState)(!0);return!a||l?c?(0,d.jsx)(i.r,{provider:c,size:j,className:k}):(0,d.jsx)(e.A,{className:(0,h.cn)("text-muted-foreground",k),style:{width:j,height:j}}):a.startsWith("data:image/")?(0,d.jsx)(f.default,{src:a,alt:b,width:j,height:j,className:(0,h.cn)("object-contain",k),onError:()=>m(!0)}):(0,d.jsxs)("div",{className:(0,h.cn)("relative flex items-center justify-center",k),style:{width:j,height:j},children:[n&&c&&(0,d.jsx)(i.r,{provider:c,size:j,className:"absolute inset-0"}),(0,d.jsx)(f.default,{src:a,alt:b,width:j,height:j,className:(0,h.cn)("object-contain transition-opacity duration-200",n?"opacity-0":"opacity-100"),onError:()=>{m(!0),o(!1)},onLoad:()=>o(!1),unoptimized:!0})]})}}};
1
+ "use strict";exports.id=5732,exports.ids=[5732],exports.modules={88:(a,b,c)=>{c.d(b,{T:()=>d});let d=a=>{let[b,c]=a.name.split("::");return{type:b,name:c}}},12463:(a,b,c)=>{c.d(b,{E:()=>i});var d=c(59111),e=c(15606),f=c(53433),g=c(42723);let h=(0,f.F)("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",primary:"border border-primary/50 text-primary bg-primary/5 rounded-sm p-0.5 px-1.5 font-mono",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",code:"text-xs text-muted-foreground border bg-muted/80 dark:bg-muted/50 rounded-sm p-0.5 px-1.5 font-mono",success:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-emerald-50 border-emerald-200 text-emerald-800 dark:text-emerald-300 dark:bg-emerald-950/40 uppercase",error:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-red-50 border-red-200 text-red-800 dark:border-red-700 dark:text-red-300 dark:bg-red-950/40 uppercase",warning:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-amber-50 border-amber-200 text-amber-800 dark:border-amber-700 dark:text-amber-300 dark:bg-amber-950/40 uppercase",sky:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-sky-50 border-sky-200 text-sky-800 dark:border-sky-700 dark:text-sky-300 dark:bg-sky-950/40",violet:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-violet-50 border-violet-200 text-violet-800 dark:border-violet-700 dark:text-violet-300 dark:bg-violet-950/40",orange:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-orange-50 border-orange-200 text-orange-800 dark:border-orange-700 dark:text-orange-300 dark:bg-orange-950/40"}},defaultVariants:{variant:"default"}});function i({className:a,variant:b,asChild:c=!1,...f}){let i=c?e.DX:"span";return(0,d.jsx)(i,{"data-slot":"badge",className:(0,g.cn)(h({variant:b}),a),...f})}},16892:(a,b,c)=>{c.d(b,{r:()=>i});var d=c(59111),e=c(24146),f=c(14450);let g=new Set(["1password","1password-scim","accelo","active-campaign","acuity-scheduling","addepar","addepar-basic","adobe","adobe-umapi","adobe-workfront","adp","adp-lyric","adp-run","adp-workforce-now","adp-workforce-now-next-gen","adyen","affinity","aircall","aircall-basic","airtable","airtable-pat","algolia","amazon","amazon-selling-partner","amazon-selling-partner-beta","amplitude","anrok","anthropic","anthropic-admin","apaleo","apollo","apollo-oauth","apple-app-store","appstle-subscriptions","asana","asana-mcp","asana-scim","ashby","atlas-so","atlassian","atlassian-admin","attio","auth0","auth0-cc","autodesk","autotask","avalara","avalara-sandbox","avoma","aws","aws-iam","aws-scim","azure-blob-storage","azure-devops","bamboohr","bamboohr-basic","basecamp","battlenet","beehiiv","bigcommerce","bill","bill-sandbox","bitbucket","bitdefender","bitly","blackbaud","blackbaud-basic","blandai","boldsign","booking-com","box","braintree","braintree-sandbox","braze","brevo-api-key","brex","brex-api-key","brex-staging","brightcrowd","builder-io-private","builder-io-public","buildium","builtwith","bullhorn","cal-com-v1","cal-com-v2","calendly","callrail","canny","canva","canva-scim","certn","certn-demo","certn-partner","chargebee","chattermill","checkhq","checkout-com","checkout-com-sandbox","checkr-partner","checkr-partner-staging","chorus","circle-so","clari-copilot","clerk","clicksend","clickup","close","cloudentity","coda","codeclimate","codegen","commercetools","companycam","confluence","confluence-basic","confluence-data-center","connectwise-psa","connectwise-psa-staging","contentful","contentstack","copper","copper-api-key","coros","coros-sandbox","coupa-compass","cursor","cyberimpact","databricks-account","databricks-workspace","datacandy","datadog","datev","datto-rmm","datto-rmm-password-grant","dayforce","deel","deel-sandbox","devin","dialpad","dialpad-sandbox","digitalocean","discord","discourse","dixa","document360","docusign","docusign-sandbox","docuware","dropbox","dropbox-sign","drupal","e-conomic","ebay","ebay-sandbox","egnyte","elevenlabs","elevio","emarsys","emarsys-oauth","employment-hero","entrata","envoy","epic-games","evaluagent","eventbrite","exa","exact-online","exist","expensify","facebook","factorial","fairing","falai","fathom","figjam","figma","figma-scim","fillout","fillout-api-key","findymail","firefish","fireflies","fiserv","fiserv-api-key","fitbit","float","folk","fortnox","freshbooks","freshdesk","freshsales","freshservice","freshteam","front","gainsight-cc","garmin","gebruder-weiss","gem","gerrit","ghost-admin","ghost-content","github","github-app","github-app-oauth","github-pat","gitlab","gong","gong-oauth","google","google-ads","google-analytics","google-calendar","google-chat","google-cloud-storage","google-docs","google-drive","google-gemini","google-mail","google-play","google-service-account","google-sheet","google-slides","google-workspace-admin","gorgias","gorgias-basic","grafana","grain","grain-api-key","grammarly","grammarly-scim","greenhouse","greenhouse-assessment","greenhouse-basic","greenhouse-harvest","greenhouse-ingestion","greenhouse-job-board","greenhouse-onboarding","gumroad","guru","guru-scim","gusto","gusto-demo","hackerrank-work","harvest","health-gorilla","heap","helpscout-docs","helpscout-mailbox","hibob-service-user","highlevel","highlevel-white-label","holded","hover","hubspot","incident-io","insightly","instagram","instantly","intercom","intuit","itglue","jamf","jamf-basic","jazzhr","jira","jira-basic","jira-data-center","jira-data-center-api-key","jira-data-center-basic","jobadder","jobber","jobdiva","jobvite","jotform","jumpcloud","kandji","keap","keeper-scim","kintone","kintone-user-api","klaviyo","klaviyo-oauth","klipfolio","knowbe4","kustomer","lagrowthmachine","lastpass","lattice","lemlist","lessonly","lever","lever-basic","lever-basic-sandbox","lever-sandbox","linear","linear-mcp","linkedin","linkhut","listmonk","loom","loom-scim","loops-so","lucid","lucid-scim","luma","mailchimp","mailgun","make","malwarebytes","manatal","marketo","mcp-dynamic","medallia","metabase","microsoft","microsoft-ads","microsoft-business-central","microsoft-entra-id","microsoft-excel","microsoft-oauth2-cc","microsoft-power-bi","microsoft-teams","microsoft-tenant-specific","mindbody","minimax","mip","mip-cloud","mip-on-premise","miro","miro-scim","missive","mixpanel","monday","mural","namely","namely-pat","nationbuilder","netsuite","netsuite-tba","next-cloud-ocs","notion","notion-mcp","notion-scim","odoo","odoo-cc","okta","okta-preview","one-drive","one-note","open-hands","openai","openai-admin","oracle-hcm","ory","osu","oura","outlook","outreach","pagerduty","pandadoc","pandadoc-api-key","pax8","paychex","paycom","paycor","paycor-sandbox","payfit","paylocity","paypal","paypal-sandbox","pendo","pennylane","peopledatalabs","perimeter81","perplexity","personio","personio-recruiting","personio-v2","pingboard","pinterest","pipedream","pipedream-oauth2-cc","pipedrive","pivotaltracker","plain","podium","posthog","precisefp","private-api-basic","private-api-bearer","prive","productboard","qualtrics","quickbase","quickbooks","quickbooks-sandbox","ragieai","ramp","ramp-sandbox","rapidapi","razorpay","readwise","readwise-reader","recharge","recruitcrm","recruitee","recruiterflow","reddit","redtail-crm-sandbox","refiner","replicate","retell-ai","ring-central","ring-central-sandbox","rippling","rippling-shop-app","roam-scim","rock-gym-pro","roller","rootly","sage","sage-hr","sage-intacct","sage-intacct-oauth","sage-people","salesforce","salesforce-cdp","salesforce-experience-cloud","salesforce-sandbox","salesloft","sap-concur","sap-success-factors","scrapedo","sedna","sedna-basic","segment","sellsy","sellsy-oauth2-cc","sendgrid","sentry","sentry-oauth","servicem8","servicenow","setmore","sharepoint-online","sharepoint-online-oauth2-cc","sharepoint-online-v1","shipstation","shopify","shopify-api-key","shopify-partner","shopify-scim","shortcut","signnow","signnow-sandbox","skio","slack","smartlead-ai","smartrecruiters-api-key","smartsheet","smugmug","snapchat","snipe-it","snowflake","snowflake-jwt","splitwise","spotify","spotify-oauth2-cc","squarespace","squareup","squareup-sandbox","stackexchange","strava","strava-web","stripe","stripe-app","stripe-app-sandbox","stripe-express","supabase","survey-monkey","tableau","tailscale","tailscale-api-key","tapclicks","teamtailor","teamwork","terraform","thrivecart-api-key","thrivecart-oauth","ticktick","tiktok-accounts","tiktok-ads","timely","tldv","todoist","trafft","trakstar-hire","trello","trello-scim","tremendous","tremendous-sandbox","tsheetsteam","tumblr","twenty-crm","twenty-crm-self-hosted","twilio","twinfield","twitch","twitter","twitter-oauth2-cc","twitter-v2","typeform","typefully","uber","ukg-pro","ukg-pro-wfm","ukg-ready","unanet","unauthenticated","unipile","vercel","vimeo","vimeo-basic","wakatime","wave-accounting","wealthbox","webex","webflow","whatsapp-business","whoop","wildix-pbx","woocommerce","wordpress","workable","workable-oauth","workday","workday-oauth","wrike","xai","xero","xero-oauth2-cc","yahoo","yandex","yotpo","youtube","zapier","zapier-nla","zapier-scim","zendesk","zenefits","zoho","zoho-bigin","zoho-books","zoho-calendar","zoho-crm","zoho-desk","zoho-inventory","zoho-invoice","zoho-mail","zoho-people","zoom","zoominfo","zuora"]),h=(a,b)=>{let c=a.charAt(0),e=Math.max(8,Math.floor(.6*("string"==typeof b?Number.parseInt(b,10)||20:b)));return(0,d.jsx)("div",{className:"rounded-sm bg-gray-100 dark:bg-muted/50 text-muted-foreground font-medium flex items-center justify-center",style:{width:b,height:b,fontSize:`${e}px`,lineHeight:1},children:c})};function i({provider:a,fallback:b=!1,className:c,size:i=20}){let[j,k]=(0,f.useState)(!1),[l,m]=(0,f.useState)(!1),n=(a=>{let b=function(a){if(!a)return null;let b=a.toLowerCase();if(g.has(b))return b;for(let a of g)if(b.includes(a))return a;for(let a of g)if(a.includes(b))return a;return null}(a);return b?`/assets/provider-icons/${b}.svg`:null})(a);return n?(0,d.jsxs)("div",{className:`inline-flex items-center justify-center relative ${c||""}`,style:{width:i,height:i},children:[l&&(0,d.jsx)("div",{className:"absolute",children:b||h(a,i)}),(0,d.jsx)(e.default,{src:n,alt:`${a} icon`,width:"string"==typeof i?Number.parseInt(i,10)||20:i,height:"string"==typeof i?Number.parseInt(i,10)||20:i,onLoad:()=>{k(!0)},onError:()=>{m(!0)},style:{maxWidth:"100%",maxHeight:"100%",opacity:j&&!l?1:0},unoptimized:!0},a)]}):(0,d.jsx)("div",{className:`inline-flex items-center justify-center ${c||""}`,style:{width:i,height:i},children:b||h(a,i)})}},38224:(a,b,c)=>{c.d(b,{Wy:()=>k,XL:()=>i,YU:()=>j,iu:()=>g,xl:()=>h});var d=c(1274);c(2082);var e=c(53842),f=c(41979);async function g(a,b,c=1,d=50,h){(0,f.M2)(a),(0,f.nt)(b);let i=new URLSearchParams({page:c.toString(),limit:d.toString()});return h&&i.append("status",h),(await (0,e.J)(`tenants/${a}/projects/${b}/tools?${i}`)).data.filter(a=>a.config?.type==="mcp")}async function h(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/tools/${c}`)).data}async function i(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/tools`,{method:"POST",body:JSON.stringify(c)})).data}async function j(a,b,c,d){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/tools/${c}`,{method:"PUT",body:JSON.stringify(d)})).data}async function k(a,b,c){(0,f.M2)(a),(0,f.nt)(b),await (0,e.J)(`tenants/${a}/projects/${b}/tools/${c}`,{method:"DELETE"})}(0,c(95454).D)([g,h,i,j,k]),(0,d.A)(g,"7cd678bc7b6adb01863cb95a285c1506b337ceafef",null),(0,d.A)(h,"70f5c71660dc6ec407407ef145f52c9a2a19d87a61",null),(0,d.A)(i,"707255a0052cd46c0594aab4b78f4255bb78674aa2",null),(0,d.A)(j,"7889245592d3b716b63dc9881fbd94cf44c08aed64",null),(0,d.A)(k,"7016f8816b230f66ab7902cc3636202866e48a7cdf",null)},38416:(a,b,c)=>{c.d(b,{u:()=>j});var d=c(59111),e=c(75116),f=c(24146),g=c(14450),h=c(42723),i=c(16892);function j({imageUrl:a,name:b,provider:c,size:j=24,className:k}){let[l,m]=(0,g.useState)(!1),[n,o]=(0,g.useState)(!0);return!a||l?c?(0,d.jsx)(i.r,{provider:c,size:j,className:k}):(0,d.jsx)(e.A,{className:(0,h.cn)("text-muted-foreground",k),style:{width:j,height:j}}):a.startsWith("data:image/")?(0,d.jsx)(f.default,{src:a,alt:b,width:j,height:j,className:(0,h.cn)("object-contain",k),onError:()=>m(!0)}):(0,d.jsxs)("div",{className:(0,h.cn)("relative flex items-center justify-center",k),style:{width:j,height:j},children:[n&&c&&(0,d.jsx)(i.r,{provider:c,size:j,className:"absolute inset-0"}),(0,d.jsx)(f.default,{src:a,alt:b,width:j,height:j,className:(0,h.cn)("object-contain transition-opacity duration-200",n?"opacity-0":"opacity-100"),onError:()=>{m(!0),o(!1)},onLoad:()=>o(!1),unoptimized:!0})]})}}};
@@ -1 +1 @@
1
- "use strict";exports.id=2557,exports.ids=[2557],exports.modules={5294:(a,b,c)=>{c.d(b,{$Y:()=>g,GO:()=>i,K3:()=>h,h9:()=>k});var d=c(29991);c(58415);var e=c(8703),f=c(45796);async function g(a,b,c=1,d=50){(0,f.M2)(a),(0,f.nt)(b);let h=new URLSearchParams({page:c.toString(),limit:d.toString()});return(await (0,e.J)(`tenants/${a}/projects/${b}/credentials?${h}`)).data}async function h(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`)).data}async function i(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials`,{method:"POST",body:JSON.stringify(c)})).data}async function j(a,b,c,d){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`,{method:"PUT",body:JSON.stringify(d)})).data}async function k(a,b,c){(0,f.M2)(a),(0,f.nt)(b),await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`,{method:"DELETE"})}(0,c(33451).D)([g,h,i,j,k]),(0,d.A)(g,"783d005aa5d19329ae583d5b8827ee21407f999d80",null),(0,d.A)(h,"704846b83f466097610f348314e4df394b2ba01eae",null),(0,d.A)(i,"70fc8cad33bc70913106de6862351dea4de22be85b",null),(0,d.A)(j,"78582e37e94e90182d2fa51104c46e859b2ee831d6",null),(0,d.A)(k,"70f2d9381ef6597b1aeeb783b27bcad0e431e0cd55",null)},19329:(a,b,c)=>{c.d(b,{U:()=>f});var d=c(29991);c(58415);var e=c(5294);async function f(a,b,c){try{let d=await (0,e.K3)(a,b,c.id);if(d)return d}catch{}try{return await (0,e.GO)(a,b,c)}catch(a){throw console.error("Failed to save credential to database:",a),Error(`Failed to save credential '${c.id}' to database`)}}(0,c(33451).D)([f]),(0,d.A)(f,"70369cff52fd69ec1fced9046350ec543bc1fa75a8",null)},21395:(a,b,c)=>{c.d(b,{RN:()=>t,Ak:()=>q,uP:()=>u,tN:()=>r,Mj:()=>p,tQ:()=>o,pv:()=>n,Mb:()=>m,H6:()=>v,EN:()=>l,P:()=>w});var d=c(29991);c(58415);var e=c(47990),f=c(69973),g=c(67417);class h extends Error{constructor(a,b,c){super(a),this.operation=b,this.cause=c,this.name="NangoError"}}function i(a,b,c){if(a instanceof h)throw a;throw new h(b,c,a)}var j=c(33451);let k=()=>{let a=process.env.NANGO_SECRET_KEY;if(!a)throw new h("NANGO_SECRET_KEY environment variable is required for Nango integration");try{return new f.CA({secretKey:a,host:process.env.NANGO_SERVER_URL||process.env.PUBLIC_NANGO_SERVER_URL||g.ko})}catch(a){throw new h("Failed to initialize Nango client","new Nango",a)}};async function l(){let a=process.env.NANGO_SECRET_KEY;return!!(a&&""!==a.trim())}async function m(){try{let a=k();return(await a.listProviders({})).data}catch(a){console.error("Failed to fetch providers:",a),i(a,"Unable to retrieve available providers from Nango","listProviders")}}async function n(a){try{let b=k();return(await b.getProvider({provider:a})).data}catch(b){console.error(`Failed to fetch provider ${a}:`,b),i(b,`Provider '${a}' not found or inaccessible`,"getProvider")}}async function o(){try{let a=k();return(await a.listIntegrations()).configs}catch(a){console.error("Failed to fetch integrations:",a),i(a,"Unable to retrieve existing integrations","listIntegrations")}}async function p(a){try{let b=k(),c=(await b.getIntegration({uniqueKey:a},{include:["credentials"]})).data,d=!1;d=c.credentials?.type==="OAUTH2"||c.credentials?.type==="OAUTH1"||c.credentials?.type==="TBA"?!!(c.credentials?.client_id&&c.credentials?.client_secret):c.credentials?.type!=="APP"||!!(c.credentials?.app_id&&c.credentials?.app_link);let{credentials:e,...f}=c;return{...f,areCredentialsSet:d}}catch(b){if(b&&"object"==typeof b&&"status"in b&&404===b.status)return null;console.error(`Failed to fetch integration ${a}:`,b),i(b,`Unable to fetch integration with key '${a}'`,"getIntegration")}}async function q(a){try{let b=k();return(await b.createIntegration({provider:a.provider,unique_key:a.uniqueKey,display_name:a.displayName,credentials:a.credentials})).data}catch(b){console.error("Failed to create integration:",b),i(b,`Failed to create integration '${a.uniqueKey}' for provider '${a.provider}'`,"createIntegration")}}async function r(a){try{let a=k();return(await a.listConnections()).connections}catch(c){let b=a?` for integration '${a}'`:"";console.error(`Failed to fetch connections${b}:`,c),i(c,`Unable to retrieve connections${b}`,"listConnections")}}async function s({endUserId:a="test-tenant",endUserEmail:b="test@test-tenant.com",endUserDisplayName:c="Test User",organizationId:d=process.env.TENANT_ID||g.P3,organizationDisplayName:e="Test Organization",integrationId:f}){try{let g=k(),{data:h}=await g.createConnectSession({end_user:{id:a,email:b,display_name:c},organization:{id:d,display_name:e},allowed_integrations:[f]});return h}catch(a){console.error("Failed to create connect session:",a),i(a,`Unable to create connect session for integration '${f}'`,"createConnectSession")}}async function t({name:a,apiKeyToSet:b,metadata:c}){let d=(0,e.K_)(a);try{let e;try{e=await q({provider:"private-api-bearer",uniqueKey:d,displayName:a})}catch(a){if(a instanceof h&&a.cause&&"object"==typeof a.cause&&"status"in a.cause&&400===a.cause.status){let b=await p(d);b?e=b:i(a,"Integration creation failed for unexpected reasons","create")}else i(a,`Failed to create or retrieve integration '${d}'`,"create")}try{let a=`${process.env.NANGO_SERVER_URL||process.env.PUBLIC_NANGO_SERVER_URL||g.ko}/connections`,f={provider_config_key:e.unique_key,connection_id:d,metadata:c,credentials:{type:"API_KEY",apiKey:b}},i=await fetch(a,{method:"POST",headers:{Authorization:`Bearer ${process.env.NANGO_SECRET_KEY}`,"Content-Type":"application/json"},body:JSON.stringify(f)});if(!i.ok)throw new h(`Failed to import connection: HTTP ${i.status} - ${i.statusText}`,"importConnection")}catch(a){i(a,"Failed to import API key connection to Nango","importConnection")}try{await w({providerConfigKey:e.unique_key,connectionId:d,metadata:c})}catch(a){console.warn(`Failed to set metadata for connection ${d}:`,a)}return{integration:e}}catch(b){console.error("Unexpected error creating API key credential:",b),i(b,`Unexpected error creating API key credential '${a}'`,"createNangoApiKeyConnection")}}async function u({providerName:a,uniqueKey:b,displayName:c,credentials:d}){try{let e,f=null;try{f=await p(b)}catch(b){if(b instanceof h)throw b;console.debug(`Integration '${a}' not found, will create new one`)}if(f?.areCredentialsSet)e=f;else try{e=await q({provider:a,uniqueKey:b,displayName:c,credentials:d})}catch(b){i(b,`Failed to create integration for provider '${a}'`,"create")}try{return(await s({integrationId:e.unique_key})).token}catch(a){i(a,`Failed to create connect session for integration '${e.unique_key}'`,"createConnectSession")}}catch(b){console.error("Unexpected error creating provider connect session:",b),i(b,`Unexpected error creating connect session for provider '${a}'`,"createProviderConnectSession")}}async function v({providerConfigKey:a,connectionId:b}){try{let c=k();return await c.getMetadata(a,b)}catch(a){if(a&&"object"==typeof a&&"status"in a&&404===a.status)return null;console.error("Failed to get connection metadata:",a),i(a,`Unable to retrieve metadata for connection '${b}'`,"getMetadata")}}async function w({providerConfigKey:a,connectionId:b,metadata:c}){try{let d=k();await d.setMetadata(a,b,c)}catch(a){console.error("Failed to set connection metadata:",a),i(a,`Unable to update metadata for connection '${b}'`,"setMetadata")}}(0,j.D)([l,m,n,o,p,q,r,t,u,v,w]),(0,d.A)(l,"00213a1b1d58ee4427db479c6c855c9c6e68c23723",null),(0,d.A)(m,"009915ce920309e3da663108269d937d421c064641",null),(0,d.A)(n,"40fcfc70ceebf54fb0fded3ef984eaebe957c0509b",null),(0,d.A)(o,"00e3e06a8b893fe94ac392727e2dea2dbb1d015985",null),(0,d.A)(p,"40a470d30b0ed27cfca903ac7c75d0493ca078e121",null),(0,d.A)(q,"402f7e3e8b913e85ef0410ef9e9fe9c0cae58a4708",null),(0,d.A)(r,"409268cc466b10aba7171517b1c20d8859fb4793ed",null),(0,d.A)(t,"40d5fa14f0b5f334c6f39830985b098e6447530b71",null),(0,d.A)(u,"40dd3a873cdce89892e05461f4a34b842b0381695c",null),(0,d.A)(v,"40b1cb623ba02104e0723011602d545e98f251f53e",null),(0,d.A)(w,"404c0b1323ba2a0e1095768d36450e5f5df74af54b",null)},26675:(a,b,c)=>{c.d(b,{U:()=>e});var d=c(90147);let e=(0,d.createServerReference)("70369cff52fd69ec1fced9046350ec543bc1fa75a8",d.callServer,void 0,d.findSourceMapURL,"findOrCreateCredential")}};
1
+ "use strict";exports.id=7733,exports.ids=[7733],exports.modules={5294:(a,b,c)=>{c.d(b,{$Y:()=>g,GO:()=>i,K3:()=>h,h9:()=>k});var d=c(29991);c(58415);var e=c(8703),f=c(45796);async function g(a,b,c=1,d=50){(0,f.M2)(a),(0,f.nt)(b);let h=new URLSearchParams({page:c.toString(),limit:d.toString()});return(await (0,e.J)(`tenants/${a}/projects/${b}/credentials?${h}`)).data}async function h(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`)).data}async function i(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials`,{method:"POST",body:JSON.stringify(c)})).data}async function j(a,b,c,d){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`,{method:"PUT",body:JSON.stringify(d)})).data}async function k(a,b,c){(0,f.M2)(a),(0,f.nt)(b),await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`,{method:"DELETE"})}(0,c(33451).D)([g,h,i,j,k]),(0,d.A)(g,"783f96d7e7d3b9f31c439223b986ce0346fe48428b",null),(0,d.A)(h,"70b5c5ce4188b5caf7cb19c216b335d20310eef864",null),(0,d.A)(i,"70cd04f10390d28f07b4b0c430c46cf375ea937aab",null),(0,d.A)(j,"78b3f146b82fb3b23e730e4ca9e71471d64ef1162d",null),(0,d.A)(k,"7098ae402c0b159bf6d0d43abc08a2875e70350351",null)},19329:(a,b,c)=>{c.d(b,{U:()=>f});var d=c(29991);c(58415);var e=c(5294);async function f(a,b,c){try{let d=await (0,e.K3)(a,b,c.id);if(d)return d}catch{}try{return await (0,e.GO)(a,b,c)}catch(a){throw console.error("Failed to save credential to database:",a),Error(`Failed to save credential '${c.id}' to database`)}}(0,c(33451).D)([f]),(0,d.A)(f,"7017a9fd430447cd06e29cd021355ce8536bb0a132",null)},21395:(a,b,c)=>{c.d(b,{RN:()=>t,Ak:()=>q,uP:()=>u,tN:()=>r,Mj:()=>p,tQ:()=>o,pv:()=>n,Mb:()=>m,H6:()=>v,EN:()=>l,P:()=>w});var d=c(29991);c(58415);var e=c(47990),f=c(69973),g=c(67417);class h extends Error{constructor(a,b,c){super(a),this.operation=b,this.cause=c,this.name="NangoError"}}function i(a,b,c){if(a instanceof h)throw a;throw new h(b,c,a)}var j=c(33451);let k=()=>{let a=process.env.NANGO_SECRET_KEY;if(!a)throw new h("NANGO_SECRET_KEY environment variable is required for Nango integration");try{return new f.CA({secretKey:a,host:process.env.NANGO_SERVER_URL||process.env.PUBLIC_NANGO_SERVER_URL||g.ko})}catch(a){throw new h("Failed to initialize Nango client","new Nango",a)}};async function l(){let a=process.env.NANGO_SECRET_KEY;return!!(a&&""!==a.trim())}async function m(){try{let a=k();return(await a.listProviders({})).data}catch(a){console.error("Failed to fetch providers:",a),i(a,"Unable to retrieve available providers from Nango","listProviders")}}async function n(a){try{let b=k();return(await b.getProvider({provider:a})).data}catch(b){console.error(`Failed to fetch provider ${a}:`,b),i(b,`Provider '${a}' not found or inaccessible`,"getProvider")}}async function o(){try{let a=k();return(await a.listIntegrations()).configs}catch(a){console.error("Failed to fetch integrations:",a),i(a,"Unable to retrieve existing integrations","listIntegrations")}}async function p(a){try{let b=k(),c=(await b.getIntegration({uniqueKey:a},{include:["credentials"]})).data,d=!1;d=c.credentials?.type==="OAUTH2"||c.credentials?.type==="OAUTH1"||c.credentials?.type==="TBA"?!!(c.credentials?.client_id&&c.credentials?.client_secret):c.credentials?.type!=="APP"||!!(c.credentials?.app_id&&c.credentials?.app_link);let{credentials:e,...f}=c;return{...f,areCredentialsSet:d}}catch(b){if(b&&"object"==typeof b&&"status"in b&&404===b.status)return null;console.error(`Failed to fetch integration ${a}:`,b),i(b,`Unable to fetch integration with key '${a}'`,"getIntegration")}}async function q(a){try{let b=k();return(await b.createIntegration({provider:a.provider,unique_key:a.uniqueKey,display_name:a.displayName,credentials:a.credentials})).data}catch(b){console.error("Failed to create integration:",b),i(b,`Failed to create integration '${a.uniqueKey}' for provider '${a.provider}'`,"createIntegration")}}async function r(a){try{let a=k();return(await a.listConnections()).connections}catch(c){let b=a?` for integration '${a}'`:"";console.error(`Failed to fetch connections${b}:`,c),i(c,`Unable to retrieve connections${b}`,"listConnections")}}async function s({endUserId:a="test-tenant",endUserEmail:b="test@test-tenant.com",endUserDisplayName:c="Test User",organizationId:d=process.env.TENANT_ID||g.P3,organizationDisplayName:e="Test Organization",integrationId:f}){try{let g=k(),{data:h}=await g.createConnectSession({end_user:{id:a,email:b,display_name:c},organization:{id:d,display_name:e},allowed_integrations:[f]});return h}catch(a){console.error("Failed to create connect session:",a),i(a,`Unable to create connect session for integration '${f}'`,"createConnectSession")}}async function t({name:a,apiKeyToSet:b,metadata:c}){let d=(0,e.K_)(a);try{let e;try{e=await q({provider:"private-api-bearer",uniqueKey:d,displayName:a})}catch(a){if(a instanceof h&&a.cause&&"object"==typeof a.cause&&"status"in a.cause&&400===a.cause.status){let b=await p(d);b?e=b:i(a,"Integration creation failed for unexpected reasons","create")}else i(a,`Failed to create or retrieve integration '${d}'`,"create")}try{let a=`${process.env.NANGO_SERVER_URL||process.env.PUBLIC_NANGO_SERVER_URL||g.ko}/connections`,f={provider_config_key:e.unique_key,connection_id:d,metadata:c,credentials:{type:"API_KEY",apiKey:b}},i=await fetch(a,{method:"POST",headers:{Authorization:`Bearer ${process.env.NANGO_SECRET_KEY}`,"Content-Type":"application/json"},body:JSON.stringify(f)});if(!i.ok)throw new h(`Failed to import connection: HTTP ${i.status} - ${i.statusText}`,"importConnection")}catch(a){i(a,"Failed to import API key connection to Nango","importConnection")}try{await w({providerConfigKey:e.unique_key,connectionId:d,metadata:c})}catch(a){console.warn(`Failed to set metadata for connection ${d}:`,a)}return{integration:e}}catch(b){console.error("Unexpected error creating API key credential:",b),i(b,`Unexpected error creating API key credential '${a}'`,"createNangoApiKeyConnection")}}async function u({providerName:a,uniqueKey:b,displayName:c,credentials:d}){try{let e,f=null;try{f=await p(b)}catch(b){if(b instanceof h)throw b;console.debug(`Integration '${a}' not found, will create new one`)}if(f?.areCredentialsSet)e=f;else try{e=await q({provider:a,uniqueKey:b,displayName:c,credentials:d})}catch(b){i(b,`Failed to create integration for provider '${a}'`,"create")}try{return(await s({integrationId:e.unique_key})).token}catch(a){i(a,`Failed to create connect session for integration '${e.unique_key}'`,"createConnectSession")}}catch(b){console.error("Unexpected error creating provider connect session:",b),i(b,`Unexpected error creating connect session for provider '${a}'`,"createProviderConnectSession")}}async function v({providerConfigKey:a,connectionId:b}){try{let c=k();return await c.getMetadata(a,b)}catch(a){if(a&&"object"==typeof a&&"status"in a&&404===a.status)return null;console.error("Failed to get connection metadata:",a),i(a,`Unable to retrieve metadata for connection '${b}'`,"getMetadata")}}async function w({providerConfigKey:a,connectionId:b,metadata:c}){try{let d=k();await d.setMetadata(a,b,c)}catch(a){console.error("Failed to set connection metadata:",a),i(a,`Unable to update metadata for connection '${b}'`,"setMetadata")}}(0,j.D)([l,m,n,o,p,q,r,t,u,v,w]),(0,d.A)(l,"00a4f457c2ee37fcecc2a2e065b45bd16283f07ede",null),(0,d.A)(m,"00eddada52f3ac43ff8422ecafc6953eafa14c382a",null),(0,d.A)(n,"4022bfd2096e96e6023a37cddaef437e6d166dea4d",null),(0,d.A)(o,"007fcbdb91eaf0a6734959bdeeef33cbe17cc5f098",null),(0,d.A)(p,"405cb2c23b90a13c5b7134d9b130e94a26f9c60ca8",null),(0,d.A)(q,"407c02fcf7df2ef3ad1b35025dc7985b01f64a655a",null),(0,d.A)(r,"408059967985d4d3cc344c9cf2bd14ab24e657d4ea",null),(0,d.A)(t,"4026963752fc9085a70f9fb261641f34a1b7dcbb43",null),(0,d.A)(u,"40cf459b02e4484e5b3edc30d54af1c5ffc9a4cd72",null),(0,d.A)(v,"407d12b2e7292961b2b947813cd6dd27a90a69e1c7",null),(0,d.A)(w,"40d321a5b20572fdb591cde3867bfae753326070cd",null)},27699:(a,b,c)=>{c.d(b,{U:()=>e});var d=c(90147);let e=(0,d.createServerReference)("7017a9fd430447cd06e29cd021355ce8536bb0a132",d.callServer,void 0,d.findSourceMapURL,"findOrCreateCredential")}};
@@ -1 +1 @@
1
- "use strict";exports.id=7848,exports.ids=[7848],exports.modules={6461:(a,b,c)=>{let d,e;c.d(b,{Ak:()=>g});var f=c(77598);function g(a=21){var b;b=a|=0,!d||d.length<b?(d=Buffer.allocUnsafe(128*b),f.webcrypto.getRandomValues(d),e=0):e+b>d.length&&(f.webcrypto.getRandomValues(d),e=0),e+=b;let c="";for(let b=e-a;b<e;b++)c+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&d[b]];return c}},9596:(a,b,c)=>{c.d(b,{MCPServerForm:()=>D});var d=c(59111),e=c(6614),f=c(4558),g=c(6461),h=c(485),i=c(75823),j=c(68156),k=c(17130),l=c(55124),m=c(2856),n=c(93622),o=c(35229),p=c(28905),q=c(74760),r=c(24587),s=c(91740),t=c(39108),u=c(14450),v=c(12463),w=c(24703),x=c(37671);function y({control:a,name:b,label:c,availableTools:e=[],description:f,disabled:g=!1}){let{field:{value:h,onChange:j},fieldState:{error:k}}=(0,i.as)({name:b,control:a}),l=(0,u.useMemo)(()=>"object"==typeof h&&null!==h&&"type"in h?"all"===h.type?{type:"all"}:"selective"===h.type&&Array.isArray(h.tools)?{type:"selective",tools:h.tools}:{type:"selective",tools:[]}:{type:"selective",tools:[]},[h]),o=()=>{j({type:"all"})},p=()=>{j({type:"selective",tools:[]})},q=(a,b)=>{if("all"===l.type){let c=e.map(a=>a.name).filter(b=>b!==a);j({type:"selective",tools:b?[...c,a]:c})}else j({type:"selective",tools:b?[...l.tools.filter(b=>b!==a),a]:l.tools.filter(b=>b!==a)})},r=()=>{switch(l.type){case"all":return e.length;case"selective":return l.tools.filter(a=>e.some(b=>b.name===a)).length;default:return 0}},y=r()===e.length;return(0,d.jsx)(n.zB,{control:a,name:b,render:()=>(0,d.jsxs)(n.eI,{children:[(0,d.jsxs)(n.lR,{children:[c,(0,d.jsx)(v.E,{variant:"code",className:"border-none px-2 text-[10px] text-muted-foreground",children:r()})]}),f&&(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:f}),(0,d.jsxs)("div",{className:"mt-2",children:[0===e.length&&(0,d.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"}),e.length>0&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 justify-between py-3 px-6 rounded-t-lg border border-b-0",children:[(0,d.jsxs)("div",{className:"text-sm",children:[r()," ",(0,d.jsxs)("span",{className:"text-gray-400 dark:text-white/40",children:["/ ",e.length," tool",1===e.length?"":"s"]})]}),y?(0,d.jsxs)(m.$,{type:"button",variant:"outline",size:"sm",onClick:p,disabled:g,children:[(0,d.jsx)(s.A,{className:"w-4 h-4 text-muted-foreground"}),"Deselect all"]}):(0,d.jsxs)(m.$,{type:"button",variant:"outline",size:"sm",onClick:o,disabled:g,children:[(0,d.jsx)(t.A,{className:"w-4 h-4 text-muted-foreground"}),"Select all"]})]}),(0,d.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:e.map(a=>{let b=(a=>{switch(l.type){case"all":return e.some(b=>b.name===a);case"selective":return l.tools.includes(a)&&e.some(b=>b.name===a);default:return!1}})(a.name);return(0,d.jsxs)("div",{className:"space-y-2 flex items-start gap-6 border-b last:border-b-0 py-4 px-6 relative",children:[(0,d.jsx)("div",{className:"flex items-center h-[22px]",children:(0,d.jsx)(w.S,{checked:b,disabled:g,className:"mb-0",onClick:()=>!g&&q(a.name,!b)})}),(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)(v.E,{variant:b?"primary":"code",className:`font-mono font-medium text-xs cursor-pointer transition-colors ${g?"opacity-50 cursor-not-allowed":""}`,onClick:()=>!g&&q(a.name,!b),children:a.name}),(0,d.jsxs)(x.Tooltip,{delayDuration:800,children:[(0,d.jsx)(x.TooltipTrigger,{asChild:!0,children:(0,d.jsx)("p",{className:"text-sm text-muted-foreground line-clamp-1",children:a.description})}),(0,d.jsx)(x.TooltipContent,{side:"bottom",align:"start",children:a.description})]})]})]},a.name)})})]})]}),(0,d.jsx)(n.C5,{children:k?.message})]})})}var z=c(34576);let A=z.discriminatedUnion("type",[z.object({type:z.literal("all")}),z.object({type:z.literal("selective"),tools:z.array(z.string())})]),B=z.object({name:z.string().min(1,"Name is required."),config:z.object({type:z.literal("mcp"),mcp:z.object({server:z.object({url:z.string().url("Must be a valid URL.")}),transport:z.object({type:z.nativeEnum(f.o7)}),toolsConfig:A.default({type:"all"})})}),credentialReferenceId:z.string().nullish(),imageUrl:z.string().optional()}),C={name:"",config:{type:"mcp",mcp:{server:{url:""},transport:{type:f.o7.streamableHttp},toolsConfig:{type:"all"}}},imageUrl:"",credentialReferenceId:"oauth"};function D({initialData:a,mode:b="create",tool:c,credentials:s,tenantId:t,projectId:u}){let v=(0,h.useRouter)(),w=(0,i.mN)({resolver:(0,e.u)(B),defaultValues:{...C,...a}}),{handleOAuthLogin:x}=(0,p.U)({tenantId:t,projectId:u}),{isSubmitting:z}=w.formState,A=async a=>{try{if("oauth"===a.credentialReferenceId){let b=(0,g.Ak)();if(!await (0,f.Rt)({serverUrl:a.config.mcp.server.url,toolId:b}))return void j.oR.error("This MCP server does not support OAuth authentication. Please select a different credential.");let c={id:b,name:a.name,config:{type:"mcp",mcp:{server:{url:a.config.mcp.server.url},transport:{type:a.config.mcp.transport.type}}},credentialReferenceId:null,imageUrl:a.imageUrl},d=await (0,q.X)(t,u,c);x({toolId:d.id,mcpServerUrl:a.config.mcp.server.url,toolName:a.name});return}let d={...a,credentialReferenceId:"none"===a.credentialReferenceId?null:a.credentialReferenceId,config:{...a.config,mcp:{...a.config.mcp,activeTools:(a=>{if("all"===a.type)return;let b=c?.availableTools?.map(a=>a.name)||[];return a.tools.filter(a=>b.includes(a))})(a.config.mcp.toolsConfig)}}};if("update"===b&&c)await (0,r.Y)(t,u,c.id,d),j.oR.success("MCP server updated successfully"),v.push(`/${t}/projects/${u}/mcp-servers/${c.id}`);else{let a=await (0,q.X)(t,u,{...d,id:(0,g.Ak)()});j.oR.success("MCP server created successfully"),v.push(`/${t}/projects/${u}/mcp-servers/${a.id}`)}}catch(a){console.error(`Failed to ${b} MCP tool:`,a),j.oR.error(`Failed to ${b} MCP server. Please try again.`)}};return(0,d.jsx)(n.lV,{...w,children:(0,d.jsxs)("form",{onSubmit:w.handleSubmit(A),className:"space-y-8",children:[(0,d.jsx)(k.a,{control:w.control,name:"name",label:"Name",placeholder:"MCP server",isRequired:!0}),(0,d.jsx)(k.a,{control:w.control,name:"config.mcp.server.url",label:"URL",placeholder:"https://api.example.com/mcp",isRequired:!0}),(0,d.jsx)(l.U,{control:w.control,selectTriggerClassName:"w-full",name:"config.mcp.transport.type",label:"Transport type",placeholder:"Select transport type",options:[{value:f.o7.streamableHttp,label:"Streamable HTTP"},{value:f.o7.sse,label:"Server-Sent Events (SSE)"}]}),(0,d.jsx)(k.a,{control:w.control,name:"imageUrl",label:"Image URL (optional)",placeholder:"https://example.com/icon.png or data:image/png;base64,..."}),(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)(l.U,{control:w.control,selectTriggerClassName:"w-full",name:"credentialReferenceId",label:"Credential",placeholder:"Select a credential",options:[{value:"oauth",label:"OAuth"},{value:"none",label:"No Authentication"},...s.map(a=>({value:a.id,label:a.id}))]}),(0,d.jsx)(o.n,{title:"How this works",children:(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("p",{children:["Select ",(0,d.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,d.jsxs)("p",{children:["Select"," ",(0,d.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,d.jsx)("p",{children:"Or select from the existing credentials you have already created."})]})})]}),"update"===b&&(0,d.jsx)(y,{control:w.control,name:"config.mcp.toolsConfig",label:"Tools",availableTools:c?.availableTools||[],description:"Select which tools should be enabled for this MCP server"}),(0,d.jsx)(m.$,{type:"submit",disabled:z,children:"update"===b?"Save":"Create"})]})})}},12463:(a,b,c)=>{c.d(b,{E:()=>i});var d=c(59111),e=c(15606),f=c(53433),g=c(42723);let h=(0,f.F)("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",primary:"border border-primary/50 text-primary bg-primary/5 rounded-sm p-0.5 px-1.5 font-mono",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",code:"text-xs text-muted-foreground border bg-muted/80 dark:bg-muted/50 rounded-sm p-0.5 px-1.5 font-mono",success:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-emerald-50 border-emerald-200 text-emerald-800 dark:text-emerald-300 dark:bg-emerald-950/40 uppercase",error:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-red-50 border-red-200 text-red-800 dark:border-red-700 dark:text-red-300 dark:bg-red-950/40 uppercase",warning:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-amber-50 border-amber-200 text-amber-800 dark:border-amber-700 dark:text-amber-300 dark:bg-amber-950/40 uppercase",sky:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-sky-50 border-sky-200 text-sky-800 dark:border-sky-700 dark:text-sky-300 dark:bg-sky-950/40",violet:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-violet-50 border-violet-200 text-violet-800 dark:border-violet-700 dark:text-violet-300 dark:bg-violet-950/40",orange:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-orange-50 border-orange-200 text-orange-800 dark:border-orange-700 dark:text-orange-300 dark:bg-orange-950/40"}},defaultVariants:{variant:"default"}});function i({className:a,variant:b,asChild:c=!1,...f}){let i=c?e.DX:"span";return(0,d.jsx)(i,{"data-slot":"badge",className:(0,g.cn)(h({variant:b}),a),...f})}},15485:(a,b,c)=>{c.d(b,{S:()=>g,U:()=>h});var d=c(29991);c(58415);var e=c(8703),f=c(45796);async function g(a,b){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credential-stores`)).data}async function h(a,b,c,d,g){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credential-stores/${c}/credentials`,{method:"POST",body:JSON.stringify({key:d,value:g})})).data}(0,c(33451).D)([g,h]),(0,d.A)(g,"604d4da89e14e93efdb03b23558211eb2d7637ce3f",null),(0,d.A)(h,"7ce7c49eb56a7fc99cc16ef77623797b1b5c72103a",null)},24587:(a,b,c)=>{c.d(b,{Y:()=>e});var d=c(90147);let e=(0,d.createServerReference)("785fbb70047ac3da6b15d59b14140ced1fbfca1d7c",d.callServer,void 0,d.findSourceMapURL,"updateMCPTool")},24703:(a,b,c)=>{c.d(b,{S:()=>h});var d=c(59111),e=c(57129),f=c(39108),g=c(42723);function h({className:a,...b}){return(0,d.jsx)(e.bL,{"data-slot":"checkbox",className:(0,g.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 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",a),...b,children:(0,d.jsx)(e.C1,{"data-slot":"checkbox-indicator",className:"flex items-center justify-center text-current transition-none",children:(0,d.jsx)(f.A,{className:"size-3.5"})})})}},25623:(a,b,c)=>{c.d(b,{$:()=>h});var d=c(2263),e=c(14450),f=c(59072),g=c(34944);function h(){let{PUBLIC_NANGO_SERVER_URL:a,PUBLIC_NANGO_CONNECT_BASE_URL:b}=(0,f.y)();return{openNangoConnect:(0,e.useCallback)(({sessionToken:c,onEvent:e,connectOptions:f})=>{let g=new d.Ay({host:a||void 0}).openConnectUI({baseURL:f?.baseURL||b||void 0,apiURL:f?.apiURL||a||void 0,onEvent:e,detectClosedAuthWindow:!0});return g.setSessionToken(c),g},[a,b]),openNangoConnectHeadless:(0,e.useCallback)(async({mcpServerUrl:b,providerUniqueKey:c,providerDisplayName:e})=>{let f=await (0,g.u)({providerName:"mcp-generic",uniqueKey:c,displayName:e}),h=new d.Ay({host:a||void 0,connectSessionToken:f});try{return await h.auth(c,{detectClosedAuthWindow:!0,params:{mcp_server_url:b}})}catch(a){if(a instanceof Error)throw Error(`Nango headless auth failed: ${a.message}`);throw a}},[a])}}},27159:(a,b,c)=>{c.d(b,{bq:()=>l,eb:()=>n,gC:()=>m,l6:()=>j,yv:()=>k});var d=c(59111),e=c(22836),f=c(67048),g=c(39108),h=c(25773),i=c(42723);function j({...a}){return(0,d.jsx)(e.bL,{"data-slot":"select",...a})}function k({...a}){return(0,d.jsx)(e.WT,{"data-slot":"select-value",...a})}function l({className:a,size:b="default",children:c,...g}){return(0,d.jsxs)(e.l9,{"data-slot":"select-trigger","data-size":b,className:(0,i.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 font-normal normal-case",a),...g,children:[c,(0,d.jsx)(e.In,{asChild:!0,children:(0,d.jsx)(f.A,{className:"size-4 opacity-50"})})]})}function m({className:a,children:b,position:c="popper",...f}){return(0,d.jsx)(e.ZL,{children:(0,d.jsxs)(e.UC,{"data-slot":"select-content",className:(0,i.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto scrollbar-thin scrollbar-thumb-muted-foreground/30 dark:scrollbar-thumb-muted-foreground/50 scrollbar-track-transparent rounded-md border shadow-md","popper"===c&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:c,...f,children:[(0,d.jsx)(o,{}),(0,d.jsx)(e.LM,{className:(0,i.cn)("p-1","popper"===c&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:b}),(0,d.jsx)(p,{})]})})}function n({className:a,children:b,...c}){return(0,d.jsxs)(e.q7,{"data-slot":"select-item",className:(0,i.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",a),...c,children:[(0,d.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,d.jsx)(e.VF,{children:(0,d.jsx)(g.A,{className:"size-4"})})}),(0,d.jsx)(e.p4,{children:b})]})}function o({className:a,...b}){return(0,d.jsx)(e.PP,{"data-slot":"select-scroll-up-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(h.A,{className:"size-4"})})}function p({className:a,...b}){return(0,d.jsx)(e.wn,{"data-slot":"select-scroll-down-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(f.A,{className:"size-4"})})}},28905:(a,b,c)=>{c.d(b,{U:()=>m});var d=c(4558),e=c(485),f=c(14450),g=c(68156),h=c(59072),i=c(36230),j=c(24587),k=c(26675),l=c(25623);function m({tenantId:a,projectId:b,onFinish:c}){let m=(0,e.useRouter)(),{PUBLIC_INKEEP_AGENTS_MANAGE_API_URL:n}=(0,h.y)(),{openNangoConnectHeadless:o}=(0,l.$)(),p=(0,f.useRef)(new Map),q=(0,f.useCallback)(d=>new Promise((e,f)=>{let g=p.current.get(d);g&&(g(),p.current.delete(d));try{let g=function({PUBLIC_INKEEP_AGENTS_MANAGE_API_URL:a,tenantId:b,projectId:c,id:d}){if(!b||"string"!=typeof b)throw Error("Invalid tenantId: must be a non-empty string");if(!d||"string"!=typeof d)throw Error("Invalid tool id: must be a non-empty string");if(!c||"string"!=typeof c)throw Error("Invalid projectId: must be a non-empty string");let e=/^[a-zA-Z0-9-_]+$/;if(!e.test(b))throw Error("Invalid tenantId format: only alphanumeric characters, hyphens, and underscores allowed");if(!e.test(d))throw Error("Invalid tool id format: only alphanumeric characters, hyphens, and underscores allowed");if(!e.test(c))throw Error("Invalid projectId format: only alphanumeric characters, hyphens, and underscores allowed");let f=`${a}/oauth/login?tenantId=${encodeURIComponent(b)}&projectId=${encodeURIComponent(c)}&toolId=${encodeURIComponent(d)}`;if(!f.startsWith(a))throw Error("Invalid OAuth URL generated");return f}({PUBLIC_INKEEP_AGENTS_MANAGE_API_URL:n,tenantId:a,projectId:b,id:d}),h=window.open(g,"oauth-popup","width=600,height=700,scrollbars=yes,resizable=yes,status=yes,location=yes");if(!h){let a=Error(`Failed to open popup for ${d} - blocked by browser`);console.error(a.message),f(a);return}let i=!1,j=(g,h)=>{i||(i=!0,window.removeEventListener("message",k),l&&clearInterval(l),clearTimeout(o),p.current.delete(d),g?(c?c(d):m.push(`/${a}/projects/${b}/mcp-servers/${d}`),e()):f(h||Error("OAuth login failed")))},k=a=>{"oauth-success"===a.data.type?j(!0):"oauth-error"===a.data.type&&j(!1,Error(a.data.error||"OAuth login failed"))};window.addEventListener("message",k);let l=null,o=setTimeout(()=>{i||(l=setInterval(()=>{try{h.closed&&j(!0)}catch{}},1e3))},3e3);p.current.set(d,()=>{j(!1,Error("OAuth login cancelled"))})}catch(a){f(a instanceof Error?a:Error("OAuth login failed"))}}),[n,a,b,c,m]),r=(0,f.useCallback)(async({toolId:e,mcpServerUrl:f,toolName:g})=>{let h=await o({mcpServerUrl:f,providerUniqueKey:`${(0,d.K_)(g)}_${e}`,providerDisplayName:g}),i={id:(0,d.K_)(g),type:d.Ns.nango,credentialStoreId:"nango-default",retrievalParams:{connectionId:h.connectionId,providerConfigKey:h.providerConfigKey,provider:"mcp-generic",authMode:"OAUTH2"}},l=await (0,k.U)(a,b,i);await (0,j.Y)(a,b,e,{credentialReferenceId:l.id}),c?c(e):m.push(`/${a}/projects/${b}/mcp-servers/${e}`)},[o,c,m,a,b]);return{handleOAuthLogin:(0,f.useCallback)(async({toolId:c,mcpServerUrl:e,toolName:f})=>{try{let g=await (0,i.S)(a,b),h=g.some(a=>a.type===d.Ns.nango&&a.available),j=g.some(a=>a.type===d.Ns.keychain&&a.available);if(h)await r({toolId:c,mcpServerUrl:e,toolName:f});else if(j)await q(c);else throw Error("No credential store available. Please configure Nango or Keychain.")}catch(b){let a=b instanceof Error?b:Error("OAuth login failed");throw g.oR.error(a.message),a}},[a,b,r,q])}}},34944:(a,b,c)=>{c.d(b,{u:()=>e});var d=c(90147);let e=(0,d.createServerReference)("40dd3a873cdce89892e05461f4a34b842b0381695c",d.callServer,void 0,d.findSourceMapURL,"createProviderConnectSession")},36230:(a,b,c)=>{c.d(b,{S:()=>e});var d=c(90147);let e=(0,d.createServerReference)("604d4da89e14e93efdb03b23558211eb2d7637ce3f",d.callServer,void 0,d.findSourceMapURL,"listCredentialStores")},55124:(a,b,c)=>{c.d(b,{U:()=>g});var d=c(59111),e=c(27159),f=c(71771);function g({control:a,name:b,label:c,placeholder:g,options:h,disabled:i=!1,selectTriggerClassName:j,description:k,isRequired:l=!1}){return(0,d.jsx)(f.u,{control:a,name:b,label:c,description:k,isRequired:l,children:a=>(0,d.jsxs)(e.l6,{onValueChange:a.onChange,defaultValue:a.value,disabled:i,children:[(0,d.jsx)(e.bq,{disabled:i,className:j,children:(0,d.jsx)(e.yv,{placeholder:g})}),(0,d.jsx)(e.gC,{children:h.map(a=>(0,d.jsx)(e.eb,{value:a.value,disabled:a.disabled,children:a.label},a.value))})]})})}},57129:(a,b,c)=>{c.d(b,{C1:()=>x,bL:()=>v});var d=c(14450),e=c(30181),f=c(57351),g=c(13254),h=c(40474),i=c(69602),j=c(4970),k=c(36439),l=c(75926),m=c(59111),n="Checkbox",[o,p]=(0,f.A)(n),[q,r]=o(n);function s(a){let{__scopeCheckbox:b,checked:c,children:e,defaultChecked:f,disabled:g,form:i,name:j,onCheckedChange:k,required:l,value:o="on",internal_do_not_use_render:p}=a,[r,s]=(0,h.i)({prop:c,defaultProp:f??!1,onChange:k,caller:n}),[t,u]=d.useState(null),[v,w]=d.useState(null),x=d.useRef(!1),y=!t||!!i||!!t.closest("form"),z={checked:r,disabled:g,setChecked:s,control:t,setControl:u,name:j,form:i,value:o,hasConsumerStoppedPropagationRef:x,required:l,defaultChecked:!A(f)&&f,isFormControl:y,bubbleInput:v,setBubbleInput:w};return(0,m.jsx)(q,{scope:b,...z,children:"function"==typeof p?p(z):e})}var t="CheckboxTrigger",u=d.forwardRef(({__scopeCheckbox:a,onKeyDown:b,onClick:c,...f},h)=>{let{control:i,value:j,disabled:k,checked:n,required:o,setControl:p,setChecked:q,hasConsumerStoppedPropagationRef:s,isFormControl:u,bubbleInput:v}=r(t,a),w=(0,e.s)(h,p),x=d.useRef(n);return d.useEffect(()=>{let a=i?.form;if(a){let b=()=>q(x.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[i,q]),(0,m.jsx)(l.sG.button,{type:"button",role:"checkbox","aria-checked":A(n)?"mixed":n,"aria-required":o,"data-state":B(n),"data-disabled":k?"":void 0,disabled:k,value:j,...f,ref:w,onKeyDown:(0,g.mK)(b,a=>{"Enter"===a.key&&a.preventDefault()}),onClick:(0,g.mK)(c,a=>{q(a=>!!A(a)||!a),v&&u&&(s.current=a.isPropagationStopped(),s.current||a.stopPropagation())})})});u.displayName=t;var v=d.forwardRef((a,b)=>{let{__scopeCheckbox:c,name:d,checked:e,defaultChecked:f,required:g,disabled:h,value:i,onCheckedChange:j,form:k,...l}=a;return(0,m.jsx)(s,{__scopeCheckbox:c,checked:e,defaultChecked:f,disabled:h,required:g,onCheckedChange:j,name:d,form:k,value:i,internal_do_not_use_render:({isFormControl:a})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(u,{...l,ref:b,__scopeCheckbox:c}),a&&(0,m.jsx)(z,{__scopeCheckbox:c})]})})});v.displayName=n;var w="CheckboxIndicator",x=d.forwardRef((a,b)=>{let{__scopeCheckbox:c,forceMount:d,...e}=a,f=r(w,c);return(0,m.jsx)(k.C,{present:d||A(f.checked)||!0===f.checked,children:(0,m.jsx)(l.sG.span,{"data-state":B(f.checked),"data-disabled":f.disabled?"":void 0,...e,ref:b,style:{pointerEvents:"none",...a.style}})})});x.displayName=w;var y="CheckboxBubbleInput",z=d.forwardRef(({__scopeCheckbox:a,...b},c)=>{let{control:f,hasConsumerStoppedPropagationRef:g,checked:h,defaultChecked:k,required:n,disabled:o,name:p,value:q,form:s,bubbleInput:t,setBubbleInput:u}=r(y,a),v=(0,e.s)(c,u),w=(0,i.Z)(h),x=(0,j.X)(f);d.useEffect(()=>{if(!t)return;let a=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,b=!g.current;if(w!==h&&a){let c=new Event("click",{bubbles:b});t.indeterminate=A(h),a.call(t,!A(h)&&h),t.dispatchEvent(c)}},[t,w,h,g]);let z=d.useRef(!A(h)&&h);return(0,m.jsx)(l.sG.input,{type:"checkbox","aria-hidden":!0,defaultChecked:k??z.current,required:n,disabled:o,name:p,value:q,form:s,...b,tabIndex:-1,ref:v,style:{...b.style,...x,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function A(a){return"indeterminate"===a}function B(a){return A(a)?"indeterminate":a?"checked":"unchecked"}z.displayName=y},74760:(a,b,c)=>{c.d(b,{X:()=>e});var d=c(90147);let e=(0,d.createServerReference)("70ceefd55ab306a42835d1ea9c9b6479751248655d",d.callServer,void 0,d.findSourceMapURL,"createMCPTool")},81097:(a,b,c)=>{c.d(b,{$Y:()=>g,GO:()=>i,K3:()=>h,h9:()=>k,nZ:()=>j});var d=c(1274);c(2082);var e=c(53842),f=c(41979);async function g(a,b,c=1,d=50){(0,f.M2)(a),(0,f.nt)(b);let h=new URLSearchParams({page:c.toString(),limit:d.toString()});return(await (0,e.J)(`tenants/${a}/projects/${b}/credentials?${h}`)).data}async function h(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`)).data}async function i(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials`,{method:"POST",body:JSON.stringify(c)})).data}async function j(a,b,c,d){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`,{method:"PUT",body:JSON.stringify(d)})).data}async function k(a,b,c){(0,f.M2)(a),(0,f.nt)(b),await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`,{method:"DELETE"})}(0,c(95454).D)([g,h,i,j,k]),(0,d.A)(g,"783d005aa5d19329ae583d5b8827ee21407f999d80",null),(0,d.A)(h,"704846b83f466097610f348314e4df394b2ba01eae",null),(0,d.A)(i,"70fc8cad33bc70913106de6862351dea4de22be85b",null),(0,d.A)(j,"78582e37e94e90182d2fa51104c46e859b2ee831d6",null),(0,d.A)(k,"70f2d9381ef6597b1aeeb783b27bcad0e431e0cd55",null)}};
1
+ "use strict";exports.id=7848,exports.ids=[7848],exports.modules={6461:(a,b,c)=>{let d,e;c.d(b,{Ak:()=>g});var f=c(77598);function g(a=21){var b;b=a|=0,!d||d.length<b?(d=Buffer.allocUnsafe(128*b),f.webcrypto.getRandomValues(d),e=0):e+b>d.length&&(f.webcrypto.getRandomValues(d),e=0),e+=b;let c="";for(let b=e-a;b<e;b++)c+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&d[b]];return c}},6683:(a,b,c)=>{c.d(b,{X:()=>e});var d=c(90147);let e=(0,d.createServerReference)("707255a0052cd46c0594aab4b78f4255bb78674aa2",d.callServer,void 0,d.findSourceMapURL,"createMCPTool")},9596:(a,b,c)=>{c.d(b,{MCPServerForm:()=>D});var d=c(59111),e=c(6614),f=c(4558),g=c(6461),h=c(485),i=c(75823),j=c(68156),k=c(17130),l=c(55124),m=c(2856),n=c(93622),o=c(35229),p=c(28905),q=c(6683),r=c(20294),s=c(91740),t=c(39108),u=c(14450),v=c(12463),w=c(24703),x=c(37671);function y({control:a,name:b,label:c,availableTools:e=[],description:f,disabled:g=!1}){let{field:{value:h,onChange:j},fieldState:{error:k}}=(0,i.as)({name:b,control:a}),l=(0,u.useMemo)(()=>"object"==typeof h&&null!==h&&"type"in h?"all"===h.type?{type:"all"}:"selective"===h.type&&Array.isArray(h.tools)?{type:"selective",tools:h.tools}:{type:"selective",tools:[]}:{type:"selective",tools:[]},[h]),o=()=>{j({type:"all"})},p=()=>{j({type:"selective",tools:[]})},q=(a,b)=>{if("all"===l.type){let c=e.map(a=>a.name).filter(b=>b!==a);j({type:"selective",tools:b?[...c,a]:c})}else j({type:"selective",tools:b?[...l.tools.filter(b=>b!==a),a]:l.tools.filter(b=>b!==a)})},r=()=>{switch(l.type){case"all":return e.length;case"selective":return l.tools.filter(a=>e.some(b=>b.name===a)).length;default:return 0}},y=r()===e.length;return(0,d.jsx)(n.zB,{control:a,name:b,render:()=>(0,d.jsxs)(n.eI,{children:[(0,d.jsxs)(n.lR,{children:[c,(0,d.jsx)(v.E,{variant:"code",className:"border-none px-2 text-[10px] text-muted-foreground",children:r()})]}),f&&(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:f}),(0,d.jsxs)("div",{className:"mt-2",children:[0===e.length&&(0,d.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"}),e.length>0&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 justify-between py-3 px-6 rounded-t-lg border border-b-0",children:[(0,d.jsxs)("div",{className:"text-sm",children:[r()," ",(0,d.jsxs)("span",{className:"text-gray-400 dark:text-white/40",children:["/ ",e.length," tool",1===e.length?"":"s"]})]}),y?(0,d.jsxs)(m.$,{type:"button",variant:"outline",size:"sm",onClick:p,disabled:g,children:[(0,d.jsx)(s.A,{className:"w-4 h-4 text-muted-foreground"}),"Deselect all"]}):(0,d.jsxs)(m.$,{type:"button",variant:"outline",size:"sm",onClick:o,disabled:g,children:[(0,d.jsx)(t.A,{className:"w-4 h-4 text-muted-foreground"}),"Select all"]})]}),(0,d.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:e.map(a=>{let b=(a=>{switch(l.type){case"all":return e.some(b=>b.name===a);case"selective":return l.tools.includes(a)&&e.some(b=>b.name===a);default:return!1}})(a.name);return(0,d.jsxs)("div",{className:"space-y-2 flex items-start gap-6 border-b last:border-b-0 py-4 px-6 relative",children:[(0,d.jsx)("div",{className:"flex items-center h-[22px]",children:(0,d.jsx)(w.S,{checked:b,disabled:g,className:"mb-0",onClick:()=>!g&&q(a.name,!b)})}),(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)(v.E,{variant:b?"primary":"code",className:`font-mono font-medium text-xs cursor-pointer transition-colors ${g?"opacity-50 cursor-not-allowed":""}`,onClick:()=>!g&&q(a.name,!b),children:a.name}),(0,d.jsxs)(x.Tooltip,{delayDuration:800,children:[(0,d.jsx)(x.TooltipTrigger,{asChild:!0,children:(0,d.jsx)("p",{className:"text-sm text-muted-foreground line-clamp-1",children:a.description})}),(0,d.jsx)(x.TooltipContent,{side:"bottom",align:"start",children:a.description})]})]})]},a.name)})})]})]}),(0,d.jsx)(n.C5,{children:k?.message})]})})}var z=c(34576);let A=z.discriminatedUnion("type",[z.object({type:z.literal("all")}),z.object({type:z.literal("selective"),tools:z.array(z.string())})]),B=z.object({name:z.string().min(1,"Name is required."),config:z.object({type:z.literal("mcp"),mcp:z.object({server:z.object({url:z.string().url("Must be a valid URL.")}),transport:z.object({type:z.nativeEnum(f.o7)}),toolsConfig:A.default({type:"all"})})}),credentialReferenceId:z.string().nullish(),imageUrl:z.string().optional()}),C={name:"",config:{type:"mcp",mcp:{server:{url:""},transport:{type:f.o7.streamableHttp},toolsConfig:{type:"all"}}},imageUrl:"",credentialReferenceId:"oauth"};function D({initialData:a,mode:b="create",tool:c,credentials:s,tenantId:t,projectId:u}){let v=(0,h.useRouter)(),w=(0,i.mN)({resolver:(0,e.u)(B),defaultValues:{...C,...a}}),{handleOAuthLogin:x}=(0,p.U)({tenantId:t,projectId:u}),{isSubmitting:z}=w.formState,A=async a=>{try{if("oauth"===a.credentialReferenceId){let b=(0,g.Ak)();if(!await (0,f.Rt)({serverUrl:a.config.mcp.server.url,toolId:b}))return void j.oR.error("This MCP server does not support OAuth authentication. Please select a different credential.");let c={id:b,name:a.name,config:{type:"mcp",mcp:{server:{url:a.config.mcp.server.url},transport:{type:a.config.mcp.transport.type}}},credentialReferenceId:null,imageUrl:a.imageUrl},d=await (0,q.X)(t,u,c);x({toolId:d.id,mcpServerUrl:a.config.mcp.server.url,toolName:a.name});return}let d={...a,credentialReferenceId:"none"===a.credentialReferenceId?null:a.credentialReferenceId,config:{...a.config,mcp:{...a.config.mcp,activeTools:(a=>{if("all"===a.type)return;let b=c?.availableTools?.map(a=>a.name)||[];return a.tools.filter(a=>b.includes(a))})(a.config.mcp.toolsConfig)}}};if("update"===b&&c)await (0,r.Y)(t,u,c.id,d),j.oR.success("MCP server updated successfully"),v.push(`/${t}/projects/${u}/mcp-servers/${c.id}`);else{let a=await (0,q.X)(t,u,{...d,id:(0,g.Ak)()});j.oR.success("MCP server created successfully"),v.push(`/${t}/projects/${u}/mcp-servers/${a.id}`)}}catch(a){console.error(`Failed to ${b} MCP tool:`,a),j.oR.error(`Failed to ${b} MCP server. Please try again.`)}};return(0,d.jsx)(n.lV,{...w,children:(0,d.jsxs)("form",{onSubmit:w.handleSubmit(A),className:"space-y-8",children:[(0,d.jsx)(k.a,{control:w.control,name:"name",label:"Name",placeholder:"MCP server",isRequired:!0}),(0,d.jsx)(k.a,{control:w.control,name:"config.mcp.server.url",label:"URL",placeholder:"https://api.example.com/mcp",isRequired:!0}),(0,d.jsx)(l.U,{control:w.control,selectTriggerClassName:"w-full",name:"config.mcp.transport.type",label:"Transport type",placeholder:"Select transport type",options:[{value:f.o7.streamableHttp,label:"Streamable HTTP"},{value:f.o7.sse,label:"Server-Sent Events (SSE)"}]}),(0,d.jsx)(k.a,{control:w.control,name:"imageUrl",label:"Image URL (optional)",placeholder:"https://example.com/icon.png or data:image/png;base64,..."}),(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)(l.U,{control:w.control,selectTriggerClassName:"w-full",name:"credentialReferenceId",label:"Credential",placeholder:"Select a credential",options:[{value:"oauth",label:"OAuth"},{value:"none",label:"No Authentication"},...s.map(a=>({value:a.id,label:a.id}))]}),(0,d.jsx)(o.n,{title:"How this works",children:(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("p",{children:["Select ",(0,d.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,d.jsxs)("p",{children:["Select"," ",(0,d.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,d.jsx)("p",{children:"Or select from the existing credentials you have already created."})]})})]}),"update"===b&&(0,d.jsx)(y,{control:w.control,name:"config.mcp.toolsConfig",label:"Tools",availableTools:c?.availableTools||[],description:"Select which tools should be enabled for this MCP server"}),(0,d.jsx)(m.$,{type:"submit",disabled:z,children:"update"===b?"Save":"Create"})]})})}},12463:(a,b,c)=>{c.d(b,{E:()=>i});var d=c(59111),e=c(15606),f=c(53433),g=c(42723);let h=(0,f.F)("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",primary:"border border-primary/50 text-primary bg-primary/5 rounded-sm p-0.5 px-1.5 font-mono",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",code:"text-xs text-muted-foreground border bg-muted/80 dark:bg-muted/50 rounded-sm p-0.5 px-1.5 font-mono",success:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-emerald-50 border-emerald-200 text-emerald-800 dark:text-emerald-300 dark:bg-emerald-950/40 uppercase",error:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-red-50 border-red-200 text-red-800 dark:border-red-700 dark:text-red-300 dark:bg-red-950/40 uppercase",warning:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-amber-50 border-amber-200 text-amber-800 dark:border-amber-700 dark:text-amber-300 dark:bg-amber-950/40 uppercase",sky:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-sky-50 border-sky-200 text-sky-800 dark:border-sky-700 dark:text-sky-300 dark:bg-sky-950/40",violet:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-violet-50 border-violet-200 text-violet-800 dark:border-violet-700 dark:text-violet-300 dark:bg-violet-950/40",orange:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-orange-50 border-orange-200 text-orange-800 dark:border-orange-700 dark:text-orange-300 dark:bg-orange-950/40"}},defaultVariants:{variant:"default"}});function i({className:a,variant:b,asChild:c=!1,...f}){let i=c?e.DX:"span";return(0,d.jsx)(i,{"data-slot":"badge",className:(0,g.cn)(h({variant:b}),a),...f})}},15485:(a,b,c)=>{c.d(b,{S:()=>g,U:()=>h});var d=c(29991);c(58415);var e=c(8703),f=c(45796);async function g(a,b){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credential-stores`)).data}async function h(a,b,c,d,g){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credential-stores/${c}/credentials`,{method:"POST",body:JSON.stringify({key:d,value:g})})).data}(0,c(33451).D)([g,h]),(0,d.A)(g,"60bd8923d5cafa80aa5a7bc3a7ec1d2fecedb855d6",null),(0,d.A)(h,"7c6a4bbc331ef9df74706bcf9adbd03bfc32c3fe74",null)},20294:(a,b,c)=>{c.d(b,{Y:()=>e});var d=c(90147);let e=(0,d.createServerReference)("7889245592d3b716b63dc9881fbd94cf44c08aed64",d.callServer,void 0,d.findSourceMapURL,"updateMCPTool")},24703:(a,b,c)=>{c.d(b,{S:()=>h});var d=c(59111),e=c(57129),f=c(39108),g=c(42723);function h({className:a,...b}){return(0,d.jsx)(e.bL,{"data-slot":"checkbox",className:(0,g.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 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",a),...b,children:(0,d.jsx)(e.C1,{"data-slot":"checkbox-indicator",className:"flex items-center justify-center text-current transition-none",children:(0,d.jsx)(f.A,{className:"size-3.5"})})})}},25623:(a,b,c)=>{c.d(b,{$:()=>h});var d=c(2263),e=c(14450),f=c(59072),g=c(46909);function h(){let{PUBLIC_NANGO_SERVER_URL:a,PUBLIC_NANGO_CONNECT_BASE_URL:b}=(0,f.y)();return{openNangoConnect:(0,e.useCallback)(({sessionToken:c,onEvent:e,connectOptions:f})=>{let g=new d.Ay({host:a||void 0}).openConnectUI({baseURL:f?.baseURL||b||void 0,apiURL:f?.apiURL||a||void 0,onEvent:e,detectClosedAuthWindow:!0});return g.setSessionToken(c),g},[a,b]),openNangoConnectHeadless:(0,e.useCallback)(async({mcpServerUrl:b,providerUniqueKey:c,providerDisplayName:e})=>{let f=await (0,g.u)({providerName:"mcp-generic",uniqueKey:c,displayName:e}),h=new d.Ay({host:a||void 0,connectSessionToken:f});try{return await h.auth(c,{detectClosedAuthWindow:!0,params:{mcp_server_url:b}})}catch(a){if(a instanceof Error)throw Error(`Nango headless auth failed: ${a.message}`);throw a}},[a])}}},27159:(a,b,c)=>{c.d(b,{bq:()=>l,eb:()=>n,gC:()=>m,l6:()=>j,yv:()=>k});var d=c(59111),e=c(22836),f=c(67048),g=c(39108),h=c(25773),i=c(42723);function j({...a}){return(0,d.jsx)(e.bL,{"data-slot":"select",...a})}function k({...a}){return(0,d.jsx)(e.WT,{"data-slot":"select-value",...a})}function l({className:a,size:b="default",children:c,...g}){return(0,d.jsxs)(e.l9,{"data-slot":"select-trigger","data-size":b,className:(0,i.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 font-normal normal-case",a),...g,children:[c,(0,d.jsx)(e.In,{asChild:!0,children:(0,d.jsx)(f.A,{className:"size-4 opacity-50"})})]})}function m({className:a,children:b,position:c="popper",...f}){return(0,d.jsx)(e.ZL,{children:(0,d.jsxs)(e.UC,{"data-slot":"select-content",className:(0,i.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto scrollbar-thin scrollbar-thumb-muted-foreground/30 dark:scrollbar-thumb-muted-foreground/50 scrollbar-track-transparent rounded-md border shadow-md","popper"===c&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:c,...f,children:[(0,d.jsx)(o,{}),(0,d.jsx)(e.LM,{className:(0,i.cn)("p-1","popper"===c&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:b}),(0,d.jsx)(p,{})]})})}function n({className:a,children:b,...c}){return(0,d.jsxs)(e.q7,{"data-slot":"select-item",className:(0,i.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",a),...c,children:[(0,d.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,d.jsx)(e.VF,{children:(0,d.jsx)(g.A,{className:"size-4"})})}),(0,d.jsx)(e.p4,{children:b})]})}function o({className:a,...b}){return(0,d.jsx)(e.PP,{"data-slot":"select-scroll-up-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(h.A,{className:"size-4"})})}function p({className:a,...b}){return(0,d.jsx)(e.wn,{"data-slot":"select-scroll-down-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(f.A,{className:"size-4"})})}},28905:(a,b,c)=>{c.d(b,{U:()=>m});var d=c(4558),e=c(485),f=c(14450),g=c(68156),h=c(59072),i=c(82308),j=c(20294),k=c(27699),l=c(25623);function m({tenantId:a,projectId:b,onFinish:c}){let m=(0,e.useRouter)(),{PUBLIC_INKEEP_AGENTS_MANAGE_API_URL:n}=(0,h.y)(),{openNangoConnectHeadless:o}=(0,l.$)(),p=(0,f.useRef)(new Map),q=(0,f.useCallback)(d=>new Promise((e,f)=>{let g=p.current.get(d);g&&(g(),p.current.delete(d));try{let g=function({PUBLIC_INKEEP_AGENTS_MANAGE_API_URL:a,tenantId:b,projectId:c,id:d}){if(!b||"string"!=typeof b)throw Error("Invalid tenantId: must be a non-empty string");if(!d||"string"!=typeof d)throw Error("Invalid tool id: must be a non-empty string");if(!c||"string"!=typeof c)throw Error("Invalid projectId: must be a non-empty string");let e=/^[a-zA-Z0-9-_]+$/;if(!e.test(b))throw Error("Invalid tenantId format: only alphanumeric characters, hyphens, and underscores allowed");if(!e.test(d))throw Error("Invalid tool id format: only alphanumeric characters, hyphens, and underscores allowed");if(!e.test(c))throw Error("Invalid projectId format: only alphanumeric characters, hyphens, and underscores allowed");let f=`${a}/oauth/login?tenantId=${encodeURIComponent(b)}&projectId=${encodeURIComponent(c)}&toolId=${encodeURIComponent(d)}`;if(!f.startsWith(a))throw Error("Invalid OAuth URL generated");return f}({PUBLIC_INKEEP_AGENTS_MANAGE_API_URL:n,tenantId:a,projectId:b,id:d}),h=window.open(g,"oauth-popup","width=600,height=700,scrollbars=yes,resizable=yes,status=yes,location=yes");if(!h){let a=Error(`Failed to open popup for ${d} - blocked by browser`);console.error(a.message),f(a);return}let i=!1,j=(g,h)=>{i||(i=!0,window.removeEventListener("message",k),l&&clearInterval(l),clearTimeout(o),p.current.delete(d),g?(c?c(d):m.push(`/${a}/projects/${b}/mcp-servers/${d}`),e()):f(h||Error("OAuth login failed")))},k=a=>{"oauth-success"===a.data.type?j(!0):"oauth-error"===a.data.type&&j(!1,Error(a.data.error||"OAuth login failed"))};window.addEventListener("message",k);let l=null,o=setTimeout(()=>{i||(l=setInterval(()=>{try{h.closed&&j(!0)}catch{}},1e3))},3e3);p.current.set(d,()=>{j(!1,Error("OAuth login cancelled"))})}catch(a){f(a instanceof Error?a:Error("OAuth login failed"))}}),[n,a,b,c,m]),r=(0,f.useCallback)(async({toolId:e,mcpServerUrl:f,toolName:g})=>{let h=await o({mcpServerUrl:f,providerUniqueKey:`${(0,d.K_)(g)}_${e}`,providerDisplayName:g}),i={id:(0,d.K_)(g),type:d.Ns.nango,credentialStoreId:"nango-default",retrievalParams:{connectionId:h.connectionId,providerConfigKey:h.providerConfigKey,provider:"mcp-generic",authMode:"OAUTH2"}},l=await (0,k.U)(a,b,i);await (0,j.Y)(a,b,e,{credentialReferenceId:l.id}),c?c(e):m.push(`/${a}/projects/${b}/mcp-servers/${e}`)},[o,c,m,a,b]);return{handleOAuthLogin:(0,f.useCallback)(async({toolId:c,mcpServerUrl:e,toolName:f})=>{try{let g=await (0,i.S)(a,b),h=g.some(a=>a.type===d.Ns.nango&&a.available),j=g.some(a=>a.type===d.Ns.keychain&&a.available);if(h)await r({toolId:c,mcpServerUrl:e,toolName:f});else if(j)await q(c);else throw Error("No credential store available. Please configure Nango or Keychain.")}catch(b){let a=b instanceof Error?b:Error("OAuth login failed");throw g.oR.error(a.message),a}},[a,b,r,q])}}},46909:(a,b,c)=>{c.d(b,{u:()=>e});var d=c(90147);let e=(0,d.createServerReference)("40cf459b02e4484e5b3edc30d54af1c5ffc9a4cd72",d.callServer,void 0,d.findSourceMapURL,"createProviderConnectSession")},55124:(a,b,c)=>{c.d(b,{U:()=>g});var d=c(59111),e=c(27159),f=c(71771);function g({control:a,name:b,label:c,placeholder:g,options:h,disabled:i=!1,selectTriggerClassName:j,description:k,isRequired:l=!1}){return(0,d.jsx)(f.u,{control:a,name:b,label:c,description:k,isRequired:l,children:a=>(0,d.jsxs)(e.l6,{onValueChange:a.onChange,defaultValue:a.value,disabled:i,children:[(0,d.jsx)(e.bq,{disabled:i,className:j,children:(0,d.jsx)(e.yv,{placeholder:g})}),(0,d.jsx)(e.gC,{children:h.map(a=>(0,d.jsx)(e.eb,{value:a.value,disabled:a.disabled,children:a.label},a.value))})]})})}},57129:(a,b,c)=>{c.d(b,{C1:()=>x,bL:()=>v});var d=c(14450),e=c(30181),f=c(57351),g=c(13254),h=c(40474),i=c(69602),j=c(4970),k=c(36439),l=c(75926),m=c(59111),n="Checkbox",[o,p]=(0,f.A)(n),[q,r]=o(n);function s(a){let{__scopeCheckbox:b,checked:c,children:e,defaultChecked:f,disabled:g,form:i,name:j,onCheckedChange:k,required:l,value:o="on",internal_do_not_use_render:p}=a,[r,s]=(0,h.i)({prop:c,defaultProp:f??!1,onChange:k,caller:n}),[t,u]=d.useState(null),[v,w]=d.useState(null),x=d.useRef(!1),y=!t||!!i||!!t.closest("form"),z={checked:r,disabled:g,setChecked:s,control:t,setControl:u,name:j,form:i,value:o,hasConsumerStoppedPropagationRef:x,required:l,defaultChecked:!A(f)&&f,isFormControl:y,bubbleInput:v,setBubbleInput:w};return(0,m.jsx)(q,{scope:b,...z,children:"function"==typeof p?p(z):e})}var t="CheckboxTrigger",u=d.forwardRef(({__scopeCheckbox:a,onKeyDown:b,onClick:c,...f},h)=>{let{control:i,value:j,disabled:k,checked:n,required:o,setControl:p,setChecked:q,hasConsumerStoppedPropagationRef:s,isFormControl:u,bubbleInput:v}=r(t,a),w=(0,e.s)(h,p),x=d.useRef(n);return d.useEffect(()=>{let a=i?.form;if(a){let b=()=>q(x.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[i,q]),(0,m.jsx)(l.sG.button,{type:"button",role:"checkbox","aria-checked":A(n)?"mixed":n,"aria-required":o,"data-state":B(n),"data-disabled":k?"":void 0,disabled:k,value:j,...f,ref:w,onKeyDown:(0,g.mK)(b,a=>{"Enter"===a.key&&a.preventDefault()}),onClick:(0,g.mK)(c,a=>{q(a=>!!A(a)||!a),v&&u&&(s.current=a.isPropagationStopped(),s.current||a.stopPropagation())})})});u.displayName=t;var v=d.forwardRef((a,b)=>{let{__scopeCheckbox:c,name:d,checked:e,defaultChecked:f,required:g,disabled:h,value:i,onCheckedChange:j,form:k,...l}=a;return(0,m.jsx)(s,{__scopeCheckbox:c,checked:e,defaultChecked:f,disabled:h,required:g,onCheckedChange:j,name:d,form:k,value:i,internal_do_not_use_render:({isFormControl:a})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(u,{...l,ref:b,__scopeCheckbox:c}),a&&(0,m.jsx)(z,{__scopeCheckbox:c})]})})});v.displayName=n;var w="CheckboxIndicator",x=d.forwardRef((a,b)=>{let{__scopeCheckbox:c,forceMount:d,...e}=a,f=r(w,c);return(0,m.jsx)(k.C,{present:d||A(f.checked)||!0===f.checked,children:(0,m.jsx)(l.sG.span,{"data-state":B(f.checked),"data-disabled":f.disabled?"":void 0,...e,ref:b,style:{pointerEvents:"none",...a.style}})})});x.displayName=w;var y="CheckboxBubbleInput",z=d.forwardRef(({__scopeCheckbox:a,...b},c)=>{let{control:f,hasConsumerStoppedPropagationRef:g,checked:h,defaultChecked:k,required:n,disabled:o,name:p,value:q,form:s,bubbleInput:t,setBubbleInput:u}=r(y,a),v=(0,e.s)(c,u),w=(0,i.Z)(h),x=(0,j.X)(f);d.useEffect(()=>{if(!t)return;let a=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,b=!g.current;if(w!==h&&a){let c=new Event("click",{bubbles:b});t.indeterminate=A(h),a.call(t,!A(h)&&h),t.dispatchEvent(c)}},[t,w,h,g]);let z=d.useRef(!A(h)&&h);return(0,m.jsx)(l.sG.input,{type:"checkbox","aria-hidden":!0,defaultChecked:k??z.current,required:n,disabled:o,name:p,value:q,form:s,...b,tabIndex:-1,ref:v,style:{...b.style,...x,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function A(a){return"indeterminate"===a}function B(a){return A(a)?"indeterminate":a?"checked":"unchecked"}z.displayName=y},81097:(a,b,c)=>{c.d(b,{$Y:()=>g,GO:()=>i,K3:()=>h,h9:()=>k,nZ:()=>j});var d=c(1274);c(2082);var e=c(53842),f=c(41979);async function g(a,b,c=1,d=50){(0,f.M2)(a),(0,f.nt)(b);let h=new URLSearchParams({page:c.toString(),limit:d.toString()});return(await (0,e.J)(`tenants/${a}/projects/${b}/credentials?${h}`)).data}async function h(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`)).data}async function i(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials`,{method:"POST",body:JSON.stringify(c)})).data}async function j(a,b,c,d){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`,{method:"PUT",body:JSON.stringify(d)})).data}async function k(a,b,c){(0,f.M2)(a),(0,f.nt)(b),await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`,{method:"DELETE"})}(0,c(95454).D)([g,h,i,j,k]),(0,d.A)(g,"783f96d7e7d3b9f31c439223b986ce0346fe48428b",null),(0,d.A)(h,"70b5c5ce4188b5caf7cb19c216b335d20310eef864",null),(0,d.A)(i,"70cd04f10390d28f07b4b0c430c46cf375ea937aab",null),(0,d.A)(j,"78b3f146b82fb3b23e730e4ca9e71471d64ef1162d",null),(0,d.A)(k,"7098ae402c0b159bf6d0d43abc08a2875e70350351",null)},82308:(a,b,c)=>{c.d(b,{S:()=>e});var d=c(90147);let e=(0,d.createServerReference)("60bd8923d5cafa80aa5a7bc3a7ec1d2fecedb855d6",d.callServer,void 0,d.findSourceMapURL,"listCredentialStores")}};