@inkeep/agents-manage-ui 0.0.0-dev-20251125061921 → 0.0.0-dev-20251125083010

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 (206) hide show
  1. package/.next/standalone/agents-manage-ui/.next/BUILD_ID +1 -1
  2. package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +6 -6
  3. package/.next/standalone/agents-manage-ui/.next/build-manifest.json +3 -3
  4. package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/agents-manage-ui/.next/react-loadable-manifest.json +9 -9
  6. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js +2 -2
  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/(with-react-flow-provider)/[agentId]/page.js +14 -14
  9. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/(with-react-flow-provider)/[agentId]/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page.js +1 -1
  11. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js +3 -3
  13. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js +2 -2
  15. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js.nft.json +1 -1
  16. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js +1 -1
  18. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js.nft.json +1 -1
  19. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js +2 -2
  21. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js +2 -2
  23. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js +1 -1
  25. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page_client-reference-manifest.js +1 -1
  26. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js +2 -2
  27. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page_client-reference-manifest.js +1 -1
  28. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js +2 -2
  29. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js +2 -2
  31. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js +2 -2
  33. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js +2 -2
  35. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
  36. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
  37. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js +2 -2
  38. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js +1 -1
  40. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
  41. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page.js +2 -2
  42. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page.js.nft.json +1 -1
  43. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page.js +2 -2
  45. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page.js +2 -2
  47. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page.js.nft.json +1 -1
  48. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page.js +2 -2
  50. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js +2 -2
  52. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js.nft.json +1 -1
  53. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js +2 -2
  55. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js.nft.json +1 -1
  56. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page_client-reference-manifest.js +1 -1
  57. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js +2 -2
  58. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js.nft.json +1 -1
  59. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
  60. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js +2 -2
  61. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page_client-reference-manifest.js +1 -1
  62. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js +1 -1
  63. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  64. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js +1 -1
  65. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page_client-reference-manifest.js +1 -1
  66. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js +1 -1
  67. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js.nft.json +1 -1
  68. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page_client-reference-manifest.js +1 -1
  69. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js +2 -2
  70. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page_client-reference-manifest.js +1 -1
  71. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js +3 -3
  72. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js.nft.json +1 -1
  73. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page_client-reference-manifest.js +1 -1
  74. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js +2 -2
  75. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page_client-reference-manifest.js +1 -1
  76. package/.next/standalone/agents-manage-ui/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  77. package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.html +2 -2
  78. package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.rsc +1 -1
  79. package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  80. package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  81. package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  82. package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  83. package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  84. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js +2 -2
  85. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  86. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
  87. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +7 -7
  88. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.segments/_full.segment.rsc +7 -7
  89. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.segments/_index.segment.rsc +7 -7
  90. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  91. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  92. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  93. package/.next/standalone/agents-manage-ui/.next/server/app/accept-invitation/[invitationId]/page.js +1 -1
  94. package/.next/standalone/agents-manage-ui/.next/server/app/accept-invitation/[invitationId]/page_client-reference-manifest.js +1 -1
  95. package/.next/standalone/agents-manage-ui/.next/server/app/api/data-components/[dataComponentId]/generate-render/route.js +3 -3
  96. package/.next/standalone/agents-manage-ui/.next/server/app/api/data-components/[dataComponentId]/generate-render/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  98. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route_client-reference-manifest.js +1 -1
  99. package/.next/standalone/agents-manage-ui/.next/server/app/index.html +1 -1
  100. package/.next/standalone/agents-manage-ui/.next/server/app/index.rsc +8 -8
  101. package/.next/standalone/agents-manage-ui/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  102. package/.next/standalone/agents-manage-ui/.next/server/app/index.segments/_full.segment.rsc +8 -8
  103. package/.next/standalone/agents-manage-ui/.next/server/app/index.segments/_index.segment.rsc +7 -7
  104. package/.next/standalone/agents-manage-ui/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  105. package/.next/standalone/agents-manage-ui/.next/server/app/login/page.js +1 -1
  106. package/.next/standalone/agents-manage-ui/.next/server/app/login/page_client-reference-manifest.js +1 -1
  107. package/.next/standalone/agents-manage-ui/.next/server/app/login.html +1 -1
  108. package/.next/standalone/agents-manage-ui/.next/server/app/login.rsc +7 -7
  109. package/.next/standalone/agents-manage-ui/.next/server/app/login.segments/_full.segment.rsc +7 -7
  110. package/.next/standalone/agents-manage-ui/.next/server/app/login.segments/_index.segment.rsc +7 -7
  111. package/.next/standalone/agents-manage-ui/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  112. package/.next/standalone/agents-manage-ui/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  113. package/.next/standalone/agents-manage-ui/.next/server/app/login.segments/login.segment.rsc +1 -1
  114. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization/page.js +1 -1
  115. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization/page_client-reference-manifest.js +1 -1
  116. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.html +1 -1
  117. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.rsc +7 -7
  118. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.segments/_full.segment.rsc +7 -7
  119. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.segments/_index.segment.rsc +7 -7
  120. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.segments/_tree.segment.rsc +1 -1
  121. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.segments/no-organization/__PAGE__.segment.rsc +1 -1
  122. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.segments/no-organization.segment.rsc +1 -1
  123. package/.next/standalone/agents-manage-ui/.next/server/app/page.js +1 -1
  124. package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
  125. package/.next/standalone/agents-manage-ui/.next/server/app-paths-manifest.json +6 -6
  126. package/.next/standalone/agents-manage-ui/.next/server/chunks/2536.js +2 -2
  127. package/.next/standalone/agents-manage-ui/.next/server/chunks/3887.js +1 -1
  128. package/.next/standalone/agents-manage-ui/.next/server/chunks/4505.js +1 -1
  129. package/.next/standalone/agents-manage-ui/.next/server/chunks/{2595.js → 5279.js} +1 -1
  130. package/.next/standalone/agents-manage-ui/.next/server/chunks/5566.js +1 -1
  131. package/.next/standalone/agents-manage-ui/.next/server/chunks/5992.js +13 -13
  132. package/.next/standalone/agents-manage-ui/.next/server/chunks/6303.js +1 -1
  133. package/.next/standalone/agents-manage-ui/.next/server/chunks/6654.js +1 -1
  134. package/.next/standalone/agents-manage-ui/.next/server/chunks/6705.js +1 -0
  135. package/.next/standalone/agents-manage-ui/.next/server/chunks/7461.js +1 -0
  136. package/.next/standalone/agents-manage-ui/.next/server/chunks/{8712.js → 9012.js} +1 -1
  137. package/.next/standalone/agents-manage-ui/.next/server/chunks/9783.js +3 -3
  138. package/.next/standalone/agents-manage-ui/.next/server/chunks/9886.js +1 -0
  139. package/.next/standalone/agents-manage-ui/.next/server/middleware-build-manifest.js +1 -1
  140. package/.next/standalone/agents-manage-ui/.next/server/middleware-react-loadable-manifest.js +1 -1
  141. package/.next/standalone/agents-manage-ui/.next/server/pages/404.html +1 -1
  142. package/.next/standalone/agents-manage-ui/.next/server/pages/500.html +2 -2
  143. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.js +1 -1
  144. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.json +1 -1
  145. package/.next/standalone/agents-manage-ui/.next/static/chunks/{16444-c467f452fb3a85f2.js → 12381-37fed221ca62c6c7.js} +1 -1
  146. package/.next/standalone/agents-manage-ui/.next/static/chunks/{25082-88701481a069f889.js → 22645-b339c0e13e664092.js} +3 -3
  147. package/.next/standalone/agents-manage-ui/.next/static/chunks/{33991-bff915bc1138ec70.js → 31631-2b73ab5e4455ac8e.js} +1 -1
  148. package/.next/standalone/agents-manage-ui/.next/static/chunks/{60209.0de7911781712a75.js → 60209.61e8c78852b47362.js} +3 -3
  149. package/.next/standalone/agents-manage-ui/.next/static/chunks/{78064-ff1ec9f4ea54757e.js → 61287-0d4a38499b03a6e7.js} +2 -2
  150. package/.next/standalone/agents-manage-ui/.next/static/chunks/92501-b6c5e621f9d062e5.js +1 -0
  151. package/.next/standalone/agents-manage-ui/.next/static/chunks/95340.95a1b719bdb3bcc3.js +23 -0
  152. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/(with-react-flow-provider)/[agentId]/page-ddde66f143f911b3.js +433 -0
  153. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/(with-react-flow-provider)/layout-773f672bcc2ea9ba.js +1 -0
  154. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-08e231f8becddbb2.js +1 -0
  155. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/{page-4a309e0fb2887750.js → page-a68c8c24c183ebf4.js} +2 -2
  156. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-cdb16be31e13a161.js +1 -0
  157. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-37ee3722e9aff505.js +1 -0
  158. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-e9291fed88114693.js +1 -0
  159. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/{page-3261ea2dfc89a867.js → page-44d2c0720569a906.js} +1 -1
  160. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/{page-9249383da6592f68.js → page-7f8d22da166cbfad.js} +1 -1
  161. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/{page-85dd076e6cc00555.js → page-58567e4531868636.js} +1 -1
  162. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-662d56ab5d64d33a.js +1 -0
  163. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-3815329536836fa2.js +1 -0
  164. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-8e2d8508c95ee9d5.js +1 -0
  165. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/{page-3bb87dc522e2875a.js → page-f9a2451ae77cd035.js} +1 -1
  166. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/{page-7ac8e94dcc501a89.js → page-9ea4eb1079266c97.js} +1 -1
  167. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/new/page-6462ca9226199304.js +1 -0
  168. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/{page-1a9b8913c13b221a.js → page-404ee7b1d006d898.js} +1 -1
  169. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/{page-95e94181f48add1a.js → page-9443fe46f15d1782.js} +1 -1
  170. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-be6d2c35ee778e0e.js +1 -0
  171. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/{page-99634aa6b997e433.js → page-bfcae62f6d5fa272.js} +1 -1
  172. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-b2b57f05e8ec47a1.js +1 -0
  173. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/{page-b82a3dbcaaa6ba84.js → page-70a8532f122a713c.js} +1 -1
  174. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/{page-db32cb563d989556.js → page-a31b9a5bc8c0c5d2.js} +2 -2
  175. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/{page-18b99c298296d1e4.js → page-339f3bcc69a16aaa.js} +1 -1
  176. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/{layout-325a551530bf811b.js → layout-f7c3b1c64f59c64e.js} +1 -1
  177. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/page-af0da2ab82ed647a.js +1 -0
  178. package/.next/standalone/agents-manage-ui/.next/static/chunks/{webpack-daa3edaf1d23ddb1.js → webpack-8b8a742b1249171d.js} +1 -1
  179. package/package.json +4 -4
  180. package/src/components/agent/agent.tsx +13 -3
  181. package/src/components/agent/copilot/copilot-chat.tsx +54 -2
  182. package/src/components/agent/copilot/copilot-context.tsx +19 -0
  183. package/src/components/agent/node-library/copilot-trigger.tsx +4 -12
  184. package/src/hooks/use-copilot-token.ts +124 -0
  185. package/src/lib/actions/copilot-token.ts +94 -0
  186. package/src/lib/api/api-config.ts +20 -6
  187. package/.next/standalone/agents-manage-ui/.next/server/chunks/1155.js +0 -1
  188. package/.next/standalone/agents-manage-ui/.next/server/chunks/7148.js +0 -1
  189. package/.next/standalone/agents-manage-ui/.next/server/chunks/7642.js +0 -1
  190. package/.next/standalone/agents-manage-ui/.next/static/chunks/78914-16a9f590d0943b9f.js +0 -1
  191. package/.next/standalone/agents-manage-ui/.next/static/chunks/95624.b438877fe9b311c7.js +0 -23
  192. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/(with-react-flow-provider)/[agentId]/page-4bf34991a6f6aac6.js +0 -433
  193. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/(with-react-flow-provider)/layout-3855e52eceb47f9b.js +0 -1
  194. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-ba80d360b483c80d.js +0 -1
  195. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-561c378e526c29f9.js +0 -1
  196. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-2b5e5ab724e8e95c.js +0 -1
  197. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-76eaf97e8b4beb78.js +0 -1
  198. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-bd5f13c9efc233c7.js +0 -1
  199. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-c0a536274cfdda2d.js +0 -1
  200. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-d862e618a8c522e2.js +0 -1
  201. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/new/page-f6417d699f3b2e84.js +0 -1
  202. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-50c47329fe22bfd3.js +0 -1
  203. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-3c75f5711bc1a494.js +0 -1
  204. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/page-d7d5d9cb6d597206.js +0 -1
  205. /package/.next/standalone/agents-manage-ui/.next/static/{VUGdL6o6QOvnJ8rlPQ4Yr → 8e7Zds9LTJwXnJuJs_SxI}/_buildManifest.js +0 -0
  206. /package/.next/standalone/agents-manage-ui/.next/static/{VUGdL6o6QOvnJ8rlPQ4Yr → 8e7Zds9LTJwXnJuJs_SxI}/_ssgManifest.js +0 -0
@@ -0,0 +1,124 @@
1
+ import { useCallback, useEffect, useRef, useState } from 'react';
2
+ import { getCopilotTokenAction } from '@/lib/actions/copilot-token';
3
+
4
+ const MAX_RETRIES = 3;
5
+ const INITIAL_RETRY_DELAY_MS = 1000;
6
+
7
+ export interface UseCopilotTokenResult {
8
+ apiKey: string | null;
9
+ isLoading: boolean;
10
+ error: Error | null;
11
+ retryCount: number;
12
+ refresh: () => Promise<void>;
13
+ }
14
+
15
+ async function fetchWithRetry(
16
+ maxRetries: number,
17
+ onRetry?: (attempt: number, delay: number) => void
18
+ ): Promise<{ apiKey: string; expiresAt: string }> {
19
+ let lastError: Error | null = null;
20
+
21
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
22
+ try {
23
+ const result = await getCopilotTokenAction();
24
+
25
+ if (result.success) {
26
+ return result.data;
27
+ }
28
+
29
+ // Non-retryable errors (configuration issues)
30
+ if (result.code === 'configuration_error') {
31
+ throw new Error(result.error);
32
+ }
33
+
34
+ lastError = new Error(result.error);
35
+ } catch (err) {
36
+ lastError = err instanceof Error ? err : new Error('Unknown error');
37
+ }
38
+
39
+ // Don't retry after the last attempt
40
+ if (attempt < maxRetries) {
41
+ const delay = INITIAL_RETRY_DELAY_MS * 2 ** attempt;
42
+ onRetry?.(attempt + 1, delay);
43
+ await new Promise((resolve) => setTimeout(resolve, delay));
44
+ }
45
+ }
46
+
47
+ throw lastError || new Error('Failed to fetch copilot token after retries');
48
+ }
49
+
50
+ export function useCopilotToken(): UseCopilotTokenResult {
51
+ const [apiKey, setApiKey] = useState<string | null>(null);
52
+ const [expiresAt, setExpiresAt] = useState<string | null>(null);
53
+ const [isLoading, setIsLoading] = useState(true);
54
+ const [error, setError] = useState<Error | null>(null);
55
+ const [retryCount, setRetryCount] = useState(0);
56
+ const isMountedRef = useRef(true);
57
+
58
+ const fetchToken = useCallback(async () => {
59
+ try {
60
+ setIsLoading(true);
61
+ setError(null);
62
+ setRetryCount(0);
63
+
64
+ const data = await fetchWithRetry(MAX_RETRIES, (attempt, delay) => {
65
+ if (isMountedRef.current) {
66
+ setRetryCount(attempt);
67
+ console.log(`Copilot token fetch retry ${attempt}/${MAX_RETRIES} after ${delay}ms`);
68
+ }
69
+ });
70
+
71
+ if (isMountedRef.current) {
72
+ setApiKey(data.apiKey);
73
+ setExpiresAt(data.expiresAt);
74
+ setError(null);
75
+ setRetryCount(0);
76
+ }
77
+ } catch (err) {
78
+ if (isMountedRef.current) {
79
+ const errorMessage = err instanceof Error ? err.message : 'Unknown error';
80
+ setError(new Error(errorMessage));
81
+ console.error('Copilot token fetch failed after all retries:', errorMessage);
82
+ }
83
+ } finally {
84
+ if (isMountedRef.current) {
85
+ setIsLoading(false);
86
+ }
87
+ }
88
+ }, []);
89
+
90
+ // Track mounted state
91
+ useEffect(() => {
92
+ isMountedRef.current = true;
93
+ return () => {
94
+ isMountedRef.current = false;
95
+ };
96
+ }, []);
97
+
98
+ // Initial fetch
99
+ useEffect(() => {
100
+ fetchToken();
101
+ }, [fetchToken]);
102
+
103
+ // Auto-refresh before expiry
104
+ useEffect(() => {
105
+ if (!expiresAt) return;
106
+
107
+ const expiryTime = new Date(expiresAt).getTime();
108
+ const now = Date.now();
109
+ const timeUntilExpiry = expiryTime - now;
110
+
111
+ // Refresh 5 minutes before expiry (or immediately if already expired)
112
+ const refreshTime = Math.max(0, timeUntilExpiry - 5 * 60 * 1000);
113
+
114
+ const timer = setTimeout(() => {
115
+ console.log('Auto-refreshing copilot token before expiry...');
116
+ fetchToken();
117
+ }, refreshTime);
118
+
119
+ return () => clearTimeout(timer);
120
+ }, [expiresAt, fetchToken]);
121
+
122
+ return { apiKey, isLoading, error, retryCount, refresh: fetchToken };
123
+ }
124
+
@@ -0,0 +1,94 @@
1
+ 'use server';
2
+
3
+ import { DEFAULT_INKEEP_AGENTS_MANAGE_API_URL } from '../runtime-config/defaults';
4
+
5
+ export type ActionResult<T = void> =
6
+ | {
7
+ success: true;
8
+ data: T;
9
+ }
10
+ | {
11
+ success: false;
12
+ error: string;
13
+ code?: string;
14
+ };
15
+
16
+ export interface CopilotTokenResponse {
17
+ apiKey: string;
18
+ expiresAt: string;
19
+ }
20
+
21
+ export async function getCopilotTokenAction(): Promise<ActionResult<CopilotTokenResponse>> {
22
+ const copilotApiKey = process.env.INKEEP_COPILOT_API_KEY;
23
+ const copilotTenantId = process.env.PUBLIC_INKEEP_COPILOT_TENANT_ID;
24
+ const copilotProjectId = process.env.PUBLIC_INKEEP_COPILOT_PROJECT_ID;
25
+ const copilotAgentId = process.env.PUBLIC_INKEEP_COPILOT_AGENT_ID;
26
+ const manageApiUrl =
27
+ process.env.INKEEP_AGENTS_MANAGE_API_URL ||
28
+ process.env.PUBLIC_INKEEP_AGENTS_MANAGE_API_URL ||
29
+ DEFAULT_INKEEP_AGENTS_MANAGE_API_URL;
30
+
31
+ if (!copilotApiKey) {
32
+ return {
33
+ success: false,
34
+ error: 'INKEEP_COPILOT_API_KEY is not configured',
35
+ code: 'configuration_error',
36
+ };
37
+ }
38
+
39
+ if (!copilotTenantId || !copilotProjectId || !copilotAgentId) {
40
+ return {
41
+ success: false,
42
+ error: 'Copilot tenant, project, or agent ID is not configured',
43
+ code: 'configuration_error',
44
+ };
45
+ }
46
+
47
+ try {
48
+ const response = await fetch(
49
+ `${manageApiUrl}/tenants/${copilotTenantId}/playground/token`,
50
+ {
51
+ method: 'POST',
52
+ headers: {
53
+ 'Content-Type': 'application/json',
54
+ Authorization: `Bearer ${copilotApiKey}`,
55
+ },
56
+ body: JSON.stringify({
57
+ projectId: copilotProjectId,
58
+ agentId: copilotAgentId,
59
+ }),
60
+ }
61
+ );
62
+
63
+ if (!response.ok) {
64
+ let errorMessage = 'Failed to fetch copilot token';
65
+ try {
66
+ const errorData = await response.json();
67
+ errorMessage = errorData?.error?.message || errorData?.message || errorMessage;
68
+ } catch {
69
+ // Ignore JSON parse errors
70
+ }
71
+ return {
72
+ success: false,
73
+ error: errorMessage,
74
+ code: 'api_error',
75
+ };
76
+ }
77
+
78
+ const data = await response.json();
79
+ return {
80
+ success: true,
81
+ data: {
82
+ apiKey: data.apiKey,
83
+ expiresAt: data.expiresAt,
84
+ },
85
+ };
86
+ } catch (error) {
87
+ return {
88
+ success: false,
89
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
90
+ code: 'network_error',
91
+ };
92
+ }
93
+ }
94
+
@@ -57,12 +57,26 @@ async function makeApiRequestInternal<T>(
57
57
  let cookieHeader: string | undefined;
58
58
  if (typeof window === 'undefined') {
59
59
  try {
60
- const { cookies } = await import('next/headers');
61
- const cookieStore = await cookies();
62
- const allCookies = cookieStore.getAll();
63
- // Only forward Better Auth cookies for security
64
- const authCookies = allCookies.filter((c) => c.name.includes('better-auth'));
65
- cookieHeader = authCookies.map((c) => `${c.name}=${c.value}`).join('; ');
60
+ // Try using headers() first - this forwards the raw Cookie header from the incoming request
61
+ const { headers } = await import('next/headers');
62
+ const headerStore = await headers();
63
+ const rawCookieHeader = headerStore.get('cookie');
64
+
65
+ if (rawCookieHeader) {
66
+ // Filter to only forward Better Auth cookies for security
67
+ const cookiePairs = rawCookieHeader.split(';').map(c => c.trim());
68
+ const authCookies = cookiePairs.filter(c => c.includes('better-auth'));
69
+ cookieHeader = authCookies.join('; ');
70
+ }
71
+
72
+ // Fallback to cookies() if headers() didn't have the cookie
73
+ if (!cookieHeader) {
74
+ const { cookies } = await import('next/headers');
75
+ const cookieStore = await cookies();
76
+ const allCookies = cookieStore.getAll();
77
+ const authCookies = allCookies.filter((c) => c.name.includes('better-auth'));
78
+ cookieHeader = authCookies.map((c) => `${c.name}=${c.value}`).join('; ');
79
+ }
66
80
  } catch {
67
81
  // Not in a server component context, skip cookie forwarding
68
82
  }
@@ -1 +0,0 @@
1
- exports.id=1155,exports.ids=[1155],exports.modules={14867:(a,b,c)=>{Promise.resolve().then(c.bind(c,98638)),Promise.resolve().then(c.bind(c,5881))},43603:(a,b,c)=>{"use strict";c.d(b,{e:()=>e});var d=c(65049);let e=(0,d.createServerReference)("78383a143352247d71da83bcef098a692a0294957f",d.callServer,void 0,d.findSourceMapURL,"updateExternalAgent")},46672:(a,b,c)=>{"use strict";c.d(b,{$Y:()=>g,GO:()=>i,K3:()=>h,h9:()=>k,nZ:()=>j});var d=c(61896);c(23956);var e=c(8489),f=c(74814);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.Js)(`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.Js)(`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.Js)(`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.Js)(`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.Js)(`tenants/${a}/projects/${b}/credentials/${c}`,{method:"DELETE"})}(0,c(23276).D)([g,h,i,j,k]),(0,d.A)(g,"78322fee6b06eea746e1be61ccbfcecdac996a44b2",null),(0,d.A)(h,"705851088f2d5e40932af95df0626894e283bbeaf7",null),(0,d.A)(i,"70c53bb2525c6b6cfe68ea7f1e34519d6544e4708c",null),(0,d.A)(j,"7872f611faa5535b7c88e669f9951de11a5b5963bc",null),(0,d.A)(k,"709b94df615c5de8378c2840b3b29ec6de8d141494",null)},54383:(a,b,c)=>{"use strict";c.d(b,{ProjectProvider:()=>e});var d=c(16979);(0,d.registerClientReference)(function(){throw Error("Attempted to call ProjectContext() from the server but ProjectContext is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/contexts/project-context.tsx","ProjectContext");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call ProjectProvider() from the server but ProjectProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/contexts/project-context.tsx","ProjectProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call useProject() from the server but useProject is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/contexts/project-context.tsx","useProject")},55729:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>j,dynamic:()=>i});var d=c(19667),e=c(16508),f=c(54383),g=c(9202),h=c(64392);let i="force-dynamic";async function j({children:a,params:b}){let{tenantId:c,projectId:i}=await b;try{let b=await (0,g.Sw)(c,i);return(0,d.jsx)(f.ProjectProvider,{value:b.data,children:a})}catch(a){return(0,d.jsx)(e.default,{error:(0,h.V)(a),context:"project"})}}},56303:(a,b,c)=>{"use strict";c.d(b,{ExternalAgentForm:()=>v});var d=c(45413),e=c(18526),f=c(6801),g=c(60223),h=c(4068),i=c(41489),j=c(8997),k=c(93449),l=c(73679),m=c(38953),n=c(39667),o=c(28598),p=c(43603),q=c(65049);let r=(0,q.createServerReference)("70433db0533634ee333d7383e6428cb6b98de85950",q.callServer,void 0,q.findSourceMapURL,"createExternalAgent");var s=c(63307);let t=s.object({name:s.string().min(1,"Name is required."),description:s.string().optional(),baseUrl:s.string().url("Must be a valid URL."),credentialReferenceId:s.string().nullish()}),u={name:"",description:"",baseUrl:"",credentialReferenceId:"none"};function v({initialData:a,mode:b="create",externalAgent:c,credentials:q,tenantId:s,projectId:v}){let w=(0,g.useRouter)(),x=(0,h.mN)({resolver:(0,e.u)(t),defaultValues:{...u,...a}}),{isSubmitting:y}=x.formState,z=async a=>{try{let d={...a,description:a.description||"",credentialReferenceId:"none"===a.credentialReferenceId?null:a.credentialReferenceId};if("update"===b&&c)await (0,p.e)(s,v,c.id,d),i.oR.success("External agent updated successfully"),w.push(`/${s}/projects/${v}/external-agents/${c.id}`);else{let a=await r(s,v,{...d,id:(0,f.Ak)()});i.oR.success("External agent created successfully"),w.push(`/${s}/projects/${v}/external-agents/${a.id}`)}}catch(a){console.error(`Failed to ${b} external agent:`,a),i.oR.error(`Failed to ${b} external agent. Please try again.`)}};return(0,d.jsx)(n.lV,{...x,children:(0,d.jsxs)("form",{onSubmit:x.handleSubmit(z),className:"space-y-8",children:[(0,d.jsx)(j.a,{control:x.control,name:"name",label:"Name",placeholder:"My External Agent",isRequired:!0}),(0,d.jsx)(l.K,{control:x.control,name:"description",label:"Description (optional)",placeholder:"A brief description of what this external agent does..."}),(0,d.jsx)(j.a,{control:x.control,name:"baseUrl",label:"Base URL",placeholder:"https://api.example.com",isRequired:!0}),(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)(k.U,{control:x.control,selectTriggerClassName:"w-full",name:"credentialReferenceId",label:"Credential",placeholder:"Select a credential",options:[{value:"none",label:"No Authentication"},...q.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:"No Authentication"})," ","if the external agent does not require authentication, or if you want to add a credential later."]}),(0,d.jsx)("p",{children:"Otherwise, select from the existing credentials you have already created. The credential will be used when communicating with this external agent."})]})})]}),(0,d.jsx)(m.$,{type:"submit",disabled:y,children:"update"===b?"Save":"Create"})]})})}},61723:(a,b,c)=>{Promise.resolve().then(c.bind(c,16508)),Promise.resolve().then(c.bind(c,54383))},74777:(a,b,c)=>{"use strict";c.d(b,{bq:()=>l,eb:()=>n,gC:()=>m,l6:()=>j,yv:()=>k});var d=c(45413),e=c(27915),f=c(38455),g=c(89773),h=c(39210),i=c(41394);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"})})}},85180:(a,b,c)=>{"use strict";c.d(b,{ExternalAgentForm:()=>d});let d=(0,c(16979).registerClientReference)(function(){throw Error("Attempted to call ExternalAgentForm() from the server but ExternalAgentForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/components/external-agents/form/external-agent-form.tsx","ExternalAgentForm")},93449:(a,b,c)=>{"use strict";c.d(b,{U:()=>g});var d=c(45413),e=c(74777),f=c(70586);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))})]})})}}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=7148,exports.ids=[7148],exports.modules={5415:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(82175).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},14035:(a,b,c)=>{c.d(b,{Y:()=>e});var d=c(65049);let e=(0,d.createServerReference)("786875290a67033a43c50ece6b27b79175d9d2d890",d.callServer,void 0,d.findSourceMapURL,"updateMCPTool")},17285:(a,b,c)=>{c.d(b,{U:()=>n});var d=c(21498),e=c(60223),f=c(23328),g=c(41489),h=c(3763),i=c(52269),j=c(14035),k=c(89176),l=c(14260),m=c(82994);function n({tenantId:a,projectId:b,onFinish:c}){let n=(0,e.useRouter)(),{PUBLIC_INKEEP_AGENTS_MANAGE_API_URL:o}=(0,h.y)(),{openNangoConnectHeadless:p}=(0,m.$)(),q=(0,f.useRef)(new Map),r=(0,f.useCallback)((d,e)=>new Promise((f,g)=>{let h=q.current.get(d);h&&(h(),q.current.delete(d));try{let h=e??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:o,tenantId:a,projectId:b,id:d}),i=window.open(h,"oauth-popup","width=600,height=700,scrollbars=yes,resizable=yes,status=yes,location=yes");if(!i){let a=Error(`Failed to open popup for ${d} - blocked by browser`);console.error(a.message),g(a);return}let j=!1,k=(e,h)=>{j||(j=!0,window.removeEventListener("message",l),m&&clearInterval(m),clearTimeout(p),q.current.delete(d),e?(c?c(d):n.push(`/${a}/projects/${b}/mcp-servers/${d}`),f()):g(h||Error("OAuth login failed")))},l=a=>{"oauth-success"===a.data.type?k(!0):"oauth-error"===a.data.type&&k(!1,Error(a.data.error||"OAuth login failed"))};window.addEventListener("message",l);let m=null,p=setTimeout(()=>{j||(m=setInterval(()=>{try{i.closed&&k(!0)}catch{}},1e3))},3e3);q.current.set(d,()=>{k(!1,Error("OAuth login cancelled"))})}catch(a){g(a instanceof Error?a:Error("OAuth login failed"))}}),[o,a,b,c,n]),s=(0,f.useCallback)(async({toolId:e,mcpServerUrl:f,toolName:g})=>{let h=await p({mcpServerUrl:f,providerUniqueKey:`${(0,d.K_)(g)}_${e}`,providerDisplayName:g}),i={id:(0,l.$)(),name:`${g} OAuth Credential`,type:d.Ns.nango,credentialStoreId:"nango-default",retrievalParams:{connectionId:h.connectionId,providerConfigKey:h.providerConfigKey,provider:"mcp-generic",authMode:"OAUTH2"}},m=await (0,k.U)(a,b,i);await (0,j.Y)(a,b,e,{credentialReferenceId:m.id}),c?c(e):n.push(`/${a}/projects/${b}/mcp-servers/${e}`)},[p,c,n,a,b]);return{handleOAuthLogin:(0,f.useCallback)(async({toolId:c,mcpServerUrl:e,toolName:f,thirdPartyConnectAccountUrl:h})=>{if(h)return void await r(c,h);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 s({toolId:c,mcpServerUrl:e,toolName:f});else if(j)await r(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,s,r])}}},21706:(a,b,c)=>{c.d(b,{Wy:()=>k,XL:()=>i,YU:()=>j,iu:()=>g,xl:()=>h});var d=c(46649);c(75909);var e=c(55310),f=c(40555);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.Js)(`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.Js)(`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.Js)(`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.Js)(`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.Js)(`tenants/${a}/projects/${b}/tools/${c}`,{method:"DELETE"})}(0,c(33341).D)([g,h,i,j,k]),(0,d.A)(g,"7c58b46c3650cf2ddcaaf91db315c800cee0145671",null),(0,d.A)(h,"705d2aa37e5fb58146d40fc44fdd5ec31e6d392aa2",null),(0,d.A)(i,"706785d556d3464c70a7a616c08e279f4362c63b8c",null),(0,d.A)(j,"786875290a67033a43c50ece6b27b79175d9d2d890",null),(0,d.A)(k,"70f5a982cb211c7aa2d2ba2294b5a8a37342c81639",null)},29439:(a,b,c)=>{c.d(b,{Q1:()=>i,cZ:()=>k,oU:()=>j});var d=c(46649);c(75909);var e=c(1933),f=c(65206),g=c(21706),h=c(90365);async function i(a,b){try{let c=await (0,g.iu)(a,b);return{success:!0,data:c}}catch(a){if(a instanceof h.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function j(a,b,c,d=!0){try{return await (0,g.Wy)(a,b,c),d&&(0,f.revalidatePath)(`/${a}/projects/${b}/mcp-servers`,"page"),{success:!0}}catch(a){if(a instanceof h.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function k(a){try{let b=await (0,e.Rt)({serverUrl:a});return{success:!0,data:b}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to detect OAuth support",code:"oauth_detection_failed"}}}(0,c(33341).D)([i,j,k]),(0,d.A)(i,"60c2a75482d5801b534e09e3b182c57523c3aad97f",null),(0,d.A)(j,"78b34a8cbc07c52a2d813a5537b837f98754f48946",null),(0,d.A)(k,"405db6a69e9318dd72cc43b9ccd149842dbe46ba67",null)},31364:(a,b,c)=>{c.d(b,{MCPServerForm:()=>I});var d=c(45413),e=c(18526),f=c(21498),g=c(60223),h=c(23328),i=c(4068),j=c(41489),k=c(8997),l=c(93449),m=c(38953),n=c(74188),o=c(42241),p=c(39667),q=c(28598),r=c(17285),s=c(65049);let t=(0,s.createServerReference)("405db6a69e9318dd72cc43b9ccd149842dbe46ba67",s.callServer,void 0,s.findSourceMapURL,"detectOAuthServerAction");var u=c(72892),v=c(47985),w=c(14035),x=c(14260),y=c(19169),z=c(89773),A=c(79416),B=c(83942),C=c(23240);function D({control:a,name:b,label:c,availableTools:e=[],description:f,disabled:g=!1}){let{field:{value:j,onChange:k},fieldState:{error:l}}=(0,i.as)({name:b,control:a}),n=(0,h.useMemo)(()=>"object"==typeof j&&null!==j&&"type"in j?"all"===j.type?{type:"all"}:"selective"===j.type&&Array.isArray(j.tools)?{type:"selective",tools:j.tools}:{type:"selective",tools:[]}:{type:"selective",tools:[]},[j]),o=()=>{k({type:"all"})},q=()=>{k({type:"selective",tools:[]})},r=(a,b)=>{if("all"===n.type){let c=e.map(a=>a.name).filter(b=>b!==a);k({type:"selective",tools:b?[...c,a]:c})}else k({type:"selective",tools:b?[...n.tools.filter(b=>b!==a),a]:n.tools.filter(b=>b!==a)})},s=()=>{switch(n.type){case"all":return e.length;case"selective":return n.tools.filter(a=>e.some(b=>b.name===a)).length;default:return 0}},t=s()===e.length;return(0,d.jsx)(p.zB,{control:a,name:b,render:()=>(0,d.jsxs)(p.eI,{children:[(0,d.jsxs)(p.lR,{children:[c,(0,d.jsx)(A.E,{variant:"code",className:"border-none px-2 text-[10px] text-muted-foreground",children:s()})]}),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:[s()," ",(0,d.jsxs)("span",{className:"text-gray-400 dark:text-white/40",children:["/ ",e.length," tool",1===e.length?"":"s"]})]}),t?(0,d.jsxs)(m.$,{type:"button",variant:"outline",size:"sm",onClick:q,disabled:g,children:[(0,d.jsx)(y.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)(z.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(n.type){case"all":return e.some(b=>b.name===a);case"selective":return n.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)(B.S,{checked:b,disabled:g,className:"mb-0",onClick:()=>!g&&r(a.name,!b)})}),(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)(A.E,{variant:b?"primary":"code",className:`font-mono font-medium text-xs cursor-pointer transition-colors ${g?"opacity-50 cursor-not-allowed":""}`,onClick:()=>!g&&r(a.name,!b),children:a.name}),(0,d.jsxs)(C.Tooltip,{delayDuration:800,children:[(0,d.jsx)(C.TooltipTrigger,{asChild:!0,children:(0,d.jsx)("p",{className:"text-sm text-muted-foreground line-clamp-1",children:a.description})}),(0,d.jsx)(C.TooltipContent,{side:"bottom",align:"start",children:a.description})]})]})]},a.name)})})]})]}),(0,d.jsx)(p.C5,{children:l?.message})]})})}var E=c(63307);let F=E.discriminatedUnion("type",[E.object({type:E.literal("all")}),E.object({type:E.literal("selective"),tools:E.array(E.string())})]),G=E.object({name:E.string().min(1,"Name is required."),config:E.object({type:E.literal("mcp"),mcp:E.object({server:E.object({url:E.string().url("Must be a valid URL.")}),transport:E.object({type:E.nativeEnum(f.o7)}),toolsConfig:F.default({type:"all"})})}),credentialReferenceId:E.string().nullish(),imageUrl:E.string().optional()}),H={name:"",config:{type:"mcp",mcp:{server:{url:""},transport:{type:f.o7.streamableHttp},toolsConfig:{type:"all"}}},imageUrl:"",credentialReferenceId:"oauth"};function I({initialData:a,mode:b="create",tool:c,credentials:s,tenantId:y,projectId:z}){let A=(0,g.useRouter)(),[B,C]=(0,h.useState)(!1),[E,F]=(0,h.useState)(!1),I=(0,i.mN)({resolver:(0,e.u)(G),defaultValues:{...H,...a}}),{handleOAuthLogin:J}=(0,r.U)({tenantId:y,projectId:z}),{isSubmitting:K}=I.formState,L=async a=>{try{if("oauth"===a.credentialReferenceId){let b=await t(a.config.mcp.server.url);if(!b.success)return void j.oR.error(b.error||"Failed to detect OAuth support");if(!b.data)return void j.oR.error("This MCP server does not support OAuth authentication. Please select a different credential.");let c={id:(0,x.$)(),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,v.X)(y,z,c);J({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,w.Y)(y,z,c.id,d),j.oR.success("MCP server updated successfully"),A.push(`/${y}/projects/${z}/mcp-servers/${c.id}`);else{let a=await (0,v.X)(y,z,{...d,id:(0,x.$)()});j.oR.success("MCP server created successfully"),A.push(`/${y}/projects/${z}/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.`)}},M=async()=>{if(c){F(!0);try{let a=await (0,u.o)(y,z,c.id,!1);a.success?(C(!1),j.oR.success("MCP server deleted."),A.push(`/${y}/projects/${z}/mcp-servers`)):j.oR.error(a.error||"Failed to delete MCP server.")}finally{F(!1)}}};return(0,d.jsxs)(o.Dialog,{open:B,onOpenChange:C,children:[(0,d.jsx)(p.lV,{...I,children:(0,d.jsxs)("form",{onSubmit:I.handleSubmit(L),className:"space-y-8",children:[(0,d.jsx)(k.a,{control:I.control,name:"name",label:"Name",placeholder:"MCP server",isRequired:!0}),(0,d.jsx)(k.a,{control:I.control,name:"config.mcp.server.url",label:"URL",placeholder:"https://api.example.com/mcp",isRequired:!0}),(0,d.jsx)(l.U,{control:I.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:I.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:I.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.name}))]}),(0,d.jsx)(q.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)(D,{control:I.control,name:"config.mcp.toolsConfig",label:"Tools",availableTools:c?.availableTools||[],description:"Select which tools should be enabled for this MCP server"}),(0,d.jsxs)("div",{className:"flex w-full justify-between",children:[(0,d.jsx)(m.$,{type:"submit",disabled:K,children:"update"===b?"Save":"Create"}),"update"===b&&c&&(0,d.jsx)(o.DialogTrigger,{asChild:!0,children:(0,d.jsx)(m.$,{type:"button",variant:"destructive-outline",children:"Delete Server"})})]})]})}),B&&c&&(0,d.jsx)(n.J,{itemName:c.name||"this MCP server",isSubmitting:E,onDelete:M})]})}},46672:(a,b,c)=>{c.d(b,{$Y:()=>g,GO:()=>i,K3:()=>h,h9:()=>k,nZ:()=>j});var d=c(61896);c(23956);var e=c(8489),f=c(74814);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.Js)(`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.Js)(`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.Js)(`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.Js)(`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.Js)(`tenants/${a}/projects/${b}/credentials/${c}`,{method:"DELETE"})}(0,c(23276).D)([g,h,i,j,k]),(0,d.A)(g,"78322fee6b06eea746e1be61ccbfcecdac996a44b2",null),(0,d.A)(h,"705851088f2d5e40932af95df0626894e283bbeaf7",null),(0,d.A)(i,"70c53bb2525c6b6cfe68ea7f1e34519d6544e4708c",null),(0,d.A)(j,"7872f611faa5535b7c88e669f9951de11a5b5963bc",null),(0,d.A)(k,"709b94df615c5de8378c2840b3b29ec6de8d141494",null)},47985:(a,b,c)=>{c.d(b,{X:()=>e});var d=c(65049);let e=(0,d.createServerReference)("706785d556d3464c70a7a616c08e279f4362c63b8c",d.callServer,void 0,d.findSourceMapURL,"createMCPTool")},52269:(a,b,c)=>{c.d(b,{S:()=>e});var d=c(65049);let e=(0,d.createServerReference)("609a5f9826fc3f5a207a3ba891484c8b5aba11c4d4",d.callServer,void 0,d.findSourceMapURL,"listCredentialStores")},60943:(a,b,c)=>{c.d(b,{C1:()=>x,bL:()=>v});var d=c(23328),e=c(96547),f=c(37239),g=c(13961),h=c(26020),i=c(9776),j=c(18080),k=c(80563),l=c(26413),m=c(45413),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},72892:(a,b,c)=>{c.d(b,{o:()=>e});var d=c(65049);let e=(0,d.createServerReference)("78b34a8cbc07c52a2d813a5537b837f98754f48946",d.callServer,void 0,d.findSourceMapURL,"deleteToolAction")},74188:(a,b,c)=>{c.d(b,{J:()=>h});var d=c(45413),e=c(5415),f=c(38953),g=c(42241);function h({itemName:a,isSubmitting:b,onDelete:c,customTitle:h,customDescription:i}){let j=async()=>{await c()};return(0,d.jsxs)(g.DialogContent,{children:[(0,d.jsx)(g.DialogTitle,{children:h||`Delete ${a||"this item"}`}),(0,d.jsx)(g.DialogDescription,{children:i||`Are you sure you want to delete ${a||"this item"}? This action cannot be undone.`}),(0,d.jsxs)(g.Es,{children:[(0,d.jsx)(g.HM,{asChild:!0,children:(0,d.jsx)(f.$,{variant:"outline",children:"Cancel"})}),(0,d.jsx)(f.$,{variant:"destructive",onClick:j,disabled:b,children:b?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(e.A,{className:"size-4 animate-spin"})," Deleting..."]}):"Delete"})]})]})}},74777:(a,b,c)=>{c.d(b,{bq:()=>l,eb:()=>n,gC:()=>m,l6:()=>j,yv:()=>k});var d=c(45413),e=c(27915),f=c(38455),g=c(89773),h=c(39210),i=c(41394);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"})})}},83942:(a,b,c)=>{c.d(b,{S:()=>h});var d=c(45413),e=c(60943),f=c(89773),g=c(41394);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"})})})}},91868:(a,b,c)=>{c.d(b,{S:()=>g,U:()=>h});var d=c(46649);c(75909);var e=c(55310),f=c(40555);async function g(a,b){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.Js)(`tenants/${a}/projects/${b}/credential-stores`)).data}async function h({tenantId:a,projectId:b,storeId:c,key:d,value:g,metadata:h}){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.Js)(`tenants/${a}/projects/${b}/credential-stores/${c}/credentials`,{method:"POST",body:JSON.stringify({key:d,value:g,metadata:h})})).data}(0,c(33341).D)([g,h]),(0,d.A)(g,"609a5f9826fc3f5a207a3ba891484c8b5aba11c4d4",null),(0,d.A)(h,"401247a3dbf1a9dcc567352332f46705e485399258",null)},93449:(a,b,c)=>{c.d(b,{U:()=>g});var d=c(45413),e=c(74777),f=c(70586);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))})]})})}}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=7642,exports.ids=[7642],exports.modules={5415:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(82175).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},10920:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{ArtifactComponentForm:()=>y});var e=c(45413),f=c(18526),g=c(60223),h=c(23328),i=c(4068),j=c(41489),k=c(8997),l=c(73679),m=c(59944),n=c(38953),o=c(42241),p=c(39667),q=c(18666),r=c(74139),s=c(42849),t=c(41394),u=c(56741),v=c(79744),w=c(15682),x=a([m]);function y({id:a,tenantId:b,projectId:c,initialData:d}){let[x,y]=(0,h.useState)(!1),z=(0,i.mN)({resolver:(0,f.u)(w.z),defaultValues:(a=>{if(!a)return v.g;let b={...a};return b.props&&(b.props=(0,t.S_)(b.props)),b})(d)}),{isSubmitting:A}=z.formState,B=(0,g.useRouter)();(0,q.S)({form:z,nameField:"name",idField:"id",isEditing:!!a});let C=async d=>{try{let e={...d};if(void 0===e.props&&(e.props=null),a){let a=await (0,r.X)(b,c,e);if(!a.success)return void j.oR.error(a.error||"Failed to update artifact.");j.oR.success("Artifact updated.");return}let f=await (0,s.o)(b,c,e);if(!f.success)return void j.oR.error(f.error||"Failed to create artifact");j.oR.success("Artifact created."),B.push(`/${b}/projects/${c}/artifacts`)}catch(b){console.error("Error submitting artifact:",b);let a=b instanceof Error?b.message:"An unexpected error occurred.";j.oR.error(a)}};return(0,e.jsxs)(o.Dialog,{open:x,onOpenChange:y,children:[(0,e.jsx)(p.lV,{...z,children:(0,e.jsxs)("form",{onSubmit:z.handleSubmit(C),className:"max-w-3xl mx-auto py-4 space-y-8",children:[(0,e.jsx)(k.a,{control:z.control,name:"name",label:"Name",placeholder:"Document Artifact",isRequired:!0}),(0,e.jsx)(k.a,{control:z.control,name:"id",label:"Id",placeholder:"my-artifact",disabled:!!a,isRequired:!0,description:!a&&"Choose a unique identifier for this artifact. Using an existing id will replace that artifact."}),(0,e.jsx)(l.K,{control:z.control,name:"description",label:"Description",placeholder:"Structured factual information extracted from search results",className:"min-h-[80px]",isRequired:!0}),(0,e.jsx)(m.S,{control:z.control,name:"props",label:"Properties",placeholder:"Enter a valid JSON Schema with inPreview flags, or leave empty to save entire tool result...",description:"Optional: Define specific fields with inPreview flags, or leave empty to capture the complete tool response.",uri:"custom-json-schema-artifact-component.json",hasInPreview:!0}),(0,e.jsxs)("div",{className:"flex w-full justify-between",children:[(0,e.jsx)(n.$,{type:"submit",disabled:A,children:"Save"}),a&&(0,e.jsx)(o.DialogTrigger,{asChild:!0,children:(0,e.jsx)(n.$,{type:"button",variant:"destructive-outline",children:"Delete Artifact"})})]})]})}),x&&a&&(0,e.jsx)(u.W,{artifactComponentId:a,artifactComponentName:z.getValues("name"),setIsOpen:y,redirectOnDelete:!0})]})}m=(x.then?(await x)():x)[0],d()}catch(a){d(a)}})},15682:(a,b,c)=>{c.d(b,{z:()=>g});var d=c(63307),e=c(56005),f=c(97744);let g=d.object({id:f.f,name:d.string().min(1,"Name is required."),description:d.string().min(1,"Description is required."),props:d.union([d.string(),d.null(),d.undefined()]).transform((a,b)=>{if(a)try{let c=JSON.parse(a),f=(0,e._O)(a);if(!f.isValid){let a=f.errors[0]?.message||"Invalid JSON schema";return b.addIssue({code:d.ZodIssueCode.custom,message:a}),d.NEVER}return c.required??=[],c}catch(a){return b.addIssue({code:d.ZodIssueCode.custom,message:(0,e.SR)(a)}),d.NEVER}}).optional()})},23723:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(82175).A)("trash",[["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]])},42849:(a,b,c)=>{c.d(b,{o:()=>e});var d=c(65049);let e=(0,d.createServerReference)("709e4e4235025e6fff6ccd0ba20827138d87e8b9ea",d.callServer,void 0,d.findSourceMapURL,"createArtifactComponentAction")},55528:(a,b,c)=>{c.r(b),c.d(b,{"4011bd592006053cb1e59e1253219f1948493b11de":()=>d.bW,"6040e4a86a68ece70c835c6293124fed0bc22bf86f":()=>d.Dv,"6086a72bb14838fc0aed99d4dcf75a1cb52568d051":()=>d.qf,"60920696cfd4abf42f2898dcc49efe06f0cbdf19b2":()=>d.gL,"60e73b0b49cc188aba413b840a1561613af0965a68":()=>p,"700057851e872b9874279a9e680668f6cf71bafa4a":()=>r,"7025fbbd057a2ff7382b3ebd585b18fb0e07a097e6":()=>d.Tg,"709e4e4235025e6fff6ccd0ba20827138d87e8b9ea":()=>q,"70e40062ea87d36ab4ba86a5f5dcc960ab9cef67f1":()=>s});var d=c(89075),e=c(46649);c(75909);var f=c(65206),g=c(55310),h=c(40555),i=c(33341);async function j(a,b){return(0,h.M2)(a),(0,h.nt)(b),await (0,g.Js)(`tenants/${a}/projects/${b}/artifact-components`)}async function k(a,b,c){return(0,h.M2)(a),(0,h.nt)(b),(await (0,g.Js)(`tenants/${a}/projects/${b}/artifact-components/${c}`)).data}async function l(a,b,c){return(0,h.M2)(a),(0,h.nt)(b),(await (0,g.Js)(`tenants/${a}/projects/${b}/artifact-components`,{method:"POST",body:JSON.stringify(c)})).data}async function m(a,b,c){return(0,h.M2)(a),(0,h.nt)(b),(await (0,g.Js)(`tenants/${a}/projects/${b}/artifact-components/${c.id}`,{method:"PUT",body:JSON.stringify(c)})).data}async function n(a,b,c){(0,h.M2)(a),(0,h.nt)(b),await (0,g.Js)(`tenants/${a}/projects/${b}/artifact-components/${c}`,{method:"DELETE"})}(0,i.D)([j,k,l,m,n]),(0,e.A)(j,"6095af69b8a57d21442d0b82f891ea15b5f3efa894",null),(0,e.A)(k,"700e705dd3bba9ca568e1eac4cf5695cead4b391f9",null),(0,e.A)(l,"70014b1432fa4160470ad8cb267f7e53edd20bb2ac",null),(0,e.A)(m,"709c93f6bf38f98e2d790c428a876e70f7d7310aff",null),(0,e.A)(n,"70ccad07f69da9e6370ea840fcba1be363e89331ee",null);var o=c(90365);async function p(a,b){try{let c=await j(a,b);return{success:!0,data:c.data}}catch(a){if(a instanceof o.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function q(a,b,c){try{let d=await l(a,b,c);return(0,f.revalidatePath)(`/${a}/projects/${b}/artifacts`),{success:!0,data:d}}catch(a){if(a instanceof o.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function r(a,b,c){try{let d=await m(a,b,c);return(0,f.revalidatePath)(`/${a}/projects/${b}/artifacts`),(0,f.revalidatePath)(`/${a}/projects/${b}/artifacts/${c.id}`),{success:!0,data:d}}catch(a){if(a instanceof o.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function s(a,b,c){try{return await n(a,b,c),(0,f.revalidatePath)(`/${a}/projects/${b}/artifacts`),{success:!0}}catch(a){if(a instanceof o.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}(0,i.D)([p,q,r,s]),(0,e.A)(p,"60e73b0b49cc188aba413b840a1561613af0965a68",null),(0,e.A)(q,"709e4e4235025e6fff6ccd0ba20827138d87e8b9ea",null),(0,e.A)(r,"700057851e872b9874279a9e680668f6cf71bafa4a",null),(0,e.A)(s,"70e40062ea87d36ab4ba86a5f5dcc960ab9cef67f1",null)},56741:(a,b,c)=>{c.d(b,{W:()=>k});var d=c(45413),e=c(60223),f=c(23328),g=c(41489),h=c(74188),i=c(65049);let j=(0,i.createServerReference)("70e40062ea87d36ab4ba86a5f5dcc960ab9cef67f1",i.callServer,void 0,i.findSourceMapURL,"deleteArtifactComponentAction");function k({artifactComponentId:a,artifactComponentName:b,setIsOpen:c,redirectOnDelete:i=!1}){let[k,l]=(0,f.useState)(!1),m=(0,e.useRouter)(),{tenantId:n,projectId:o}=(0,e.useParams)(),p=async()=>{l(!0);try{let b=await j(n,o,a);b.success?(c(!1),g.oR.success("Artifact deleted."),i&&m.push(`/${n}/projects/${o}/artifacts`)):g.oR.error(b.error)}finally{l(!1)}};return(0,d.jsx)(h.J,{itemName:b||"this artifact",isSubmitting:k,onDelete:p})}},62722:(a,b,c)=>{c.d(b,{ArtifactComponentForm:()=>d});let d=(0,c(16979).registerClientReference)(function(){throw Error("Attempted to call ArtifactComponentForm() from the server but ArtifactComponentForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/components/artifact-components/form/artifact-component-form.tsx","ArtifactComponentForm")},67251:(a,b,c)=>{c.r(b),c.d(b,{default:()=>j});var d=c(19667),e=c(67454),f=c(68088),g=c(37230),h=c(78278),i=c(50818);function j(){return(0,d.jsx)(e.H,{breadcrumbs:[{label:"Artifacts"}],children:(0,d.jsxs)(f.D,{children:[(0,d.jsx)(g.zY,{title:"Artifacts",description:i.lh}),(0,d.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-3 md:gap-4",children:Array.from({length:6}).map((a,b)=>(0,d.jsx)(h.E,{className:"h-36 w-full rounded-lg"},`loading-artifact-${b}`))})]})})}},74139:(a,b,c)=>{c.d(b,{X:()=>e});var d=c(65049);let e=(0,d.createServerReference)("700057851e872b9874279a9e680668f6cf71bafa4a",d.callServer,void 0,d.findSourceMapURL,"updateArtifactComponentAction")},79744:(a,b,c)=>{c.d(b,{g:()=>d});let d={id:"",name:"",description:"",props:void 0}}};
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[78914],{6984:(e,t,r)=>{r.d(t,{$:()=>l});var a=r(37375),n=r(24831),o=r(85731),s=r(41430);function l(){let{PUBLIC_NANGO_SERVER_URL:e,PUBLIC_NANGO_CONNECT_BASE_URL:t}=(0,o.y)();return{openNangoConnect:(0,n.useCallback)(({sessionToken:r,onEvent:n,connectOptions:o})=>{let s=new a.Ay({host:e||void 0}).openConnectUI({baseURL:o?.baseURL||t||void 0,apiURL:o?.apiURL||e||void 0,onEvent:n,detectClosedAuthWindow:!0});return s.setSessionToken(r),s},[e,t]),openNangoConnectHeadless:(0,n.useCallback)(async({mcpServerUrl:t,providerUniqueKey:r,providerDisplayName:n})=>{let o=await (0,s.u)({providerName:"mcp-generic",uniqueKey:r,displayName:n}),l=new a.Ay({host:e||void 0,connectSessionToken:o});try{return await l.auth(r,{detectClosedAuthWindow:!0,params:{mcp_server_url:t}})}catch(e){if(e instanceof Error)throw Error(`Authentication failed: ${e.message}`);throw e}},[e])}}},9433:(e,t,r)=>{r.d(t,{o:()=>n});var a=r(99207);let n=(0,a.createServerReference)("78b34a8cbc07c52a2d813a5537b837f98754f48946",a.callServer,void 0,a.findSourceMapURL,"deleteToolAction")},9978:(e,t,r)=>{r.d(t,{Y:()=>n});var a=r(99207);let n=(0,a.createServerReference)("786875290a67033a43c50ece6b27b79175d9d2d890",a.callServer,void 0,a.findSourceMapURL,"updateMCPTool")},10838:(e,t,r)=>{r.d(t,{n:()=>n});var a=r(9271);function n({title:e,Icon:t,children:r}){return(0,a.jsxs)("div",{className:"text-xs text-gray-800 dark:text-muted-foreground p-3 bg-gray-100/80 dark:bg-sidebar rounded-md",children:[e&&(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[t&&(0,a.jsx)(t,{className:"w-3 h-3 text-muted-foreground"}),(0,a.jsx)("p",{className:"font-medium text-foreground font-mono uppercase",children:e})]}),r]})}r(94303)},14207:(e,t,r)=>{r.d(t,{bq:()=>u,eb:()=>p,gC:()=>m,l6:()=>d,yv:()=>c});var a=r(9271),n=r(43839),o=r(87225),s=r(65413),l=r(74212),i=r(47068);function d({...e}){return(0,a.jsx)(n.bL,{"data-slot":"select",...e})}function c({...e}){return(0,a.jsx)(n.WT,{"data-slot":"select-value",...e})}function u({className:e,size:t="default",children:r,...s}){return(0,a.jsxs)(n.l9,{"data-slot":"select-trigger","data-size":t,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",e),...s,children:[r,(0,a.jsx)(n.In,{asChild:!0,children:(0,a.jsx)(o.A,{className:"size-4 opacity-50"})})]})}function m({className:e,children:t,position:r="popper",...o}){return(0,a.jsx)(n.ZL,{children:(0,a.jsxs)(n.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"===r&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,...o,children:[(0,a.jsx)(f,{}),(0,a.jsx)(n.LM,{className:(0,i.cn)("p-1","popper"===r&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),(0,a.jsx)(g,{})]})})}function p({className:e,children:t,...r}){return(0,a.jsxs)(n.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",e),...r,children:[(0,a.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,a.jsx)(n.VF,{children:(0,a.jsx)(s.A,{className:"size-4"})})}),(0,a.jsx)(n.p4,{children:t})]})}function f({className:e,...t}){return(0,a.jsx)(n.PP,{"data-slot":"select-scroll-up-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,a.jsx)(l.A,{className:"size-4"})})}function g({className:e,...t}){return(0,a.jsx)(n.wn,{"data-slot":"select-scroll-down-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,a.jsx)(o.A,{className:"size-4"})})}},16567:(e,t,r)=>{r.d(t,{$:()=>a});let a=(0,r(78045).d_)("abcdefghijklmnopqrstuvwxyz0123456789",21)},16992:(e,t,r)=>{r.d(t,{J:()=>l});var a=r(9271),n=r(53115),o=r(94303),s=r(87651);function l({itemName:e,isSubmitting:t,onDelete:r,customTitle:l,customDescription:i}){let d=async()=>{await r()};return(0,a.jsxs)(s.DialogContent,{children:[(0,a.jsx)(s.DialogTitle,{children:l||`Delete ${e||"this item"}`}),(0,a.jsx)(s.DialogDescription,{children:i||`Are you sure you want to delete ${e||"this item"}? This action cannot be undone.`}),(0,a.jsxs)(s.Es,{children:[(0,a.jsx)(s.HM,{asChild:!0,children:(0,a.jsx)(o.$,{variant:"outline",children:"Cancel"})}),(0,a.jsx)(o.$,{variant:"destructive",onClick:d,disabled:t,children:t?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.A,{className:"size-4 animate-spin"})," Deleting..."]}):"Delete"})]})]})}},23457:(e,t,r)=>{r.d(t,{MCPServerForm:()=>M});var a=r(9271),n=r(15265),o=r(51641),s=r(75525),l=r(24831),i=r(17956),d=r(68297),c=r(60101),u=r(83259),m=r(94303),p=r(16992),f=r(87651),g=r(87185),x=r(10838),h=r(86931),b=r(99207);let v=(0,b.createServerReference)("405db6a69e9318dd72cc43b9ccd149842dbe46ba67",b.callServer,void 0,b.findSourceMapURL,"detectOAuthServerAction");var y=r(9433),j=r(79276),w=r(9978),k=r(16567),C=r(49317),N=r(65413),R=r(50784),S=r(85987),I=r(81008);function $({control:e,name:t,label:r,availableTools:n=[],description:o,disabled:s=!1}){let{field:{value:d,onChange:c},fieldState:{error:u}}=(0,i.as)({name:t,control:e}),p=(0,l.useMemo)(()=>"object"==typeof d&&null!==d&&"type"in d?"all"===d.type?{type:"all"}:"selective"===d.type&&Array.isArray(d.tools)?{type:"selective",tools:d.tools}:{type:"selective",tools:[]}:{type:"selective",tools:[]},[d]),f=()=>{c({type:"all"})},x=()=>{c({type:"selective",tools:[]})},h=(e,t)=>{if("all"===p.type){let r=n.map(e=>e.name).filter(t=>t!==e);c({type:"selective",tools:t?[...r,e]:r})}else c({type:"selective",tools:t?[...p.tools.filter(t=>t!==e),e]:p.tools.filter(t=>t!==e)})},b=()=>{switch(p.type){case"all":return n.length;case"selective":return p.tools.filter(e=>n.some(t=>t.name===e)).length;default:return 0}},v=b()===n.length;return(0,a.jsx)(g.zB,{control:e,name:t,render:()=>(0,a.jsxs)(g.eI,{children:[(0,a.jsxs)(g.lR,{children:[r,(0,a.jsx)(R.E,{variant:"code",className:"border-none px-2 text-[10px] text-muted-foreground",children:b()})]}),o&&(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:o}),(0,a.jsxs)("div",{className:"mt-2",children:[0===n.length&&(0,a.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"}),n.length>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 justify-between py-3 px-6 rounded-t-lg border border-b-0",children:[(0,a.jsxs)("div",{className:"text-sm",children:[b()," ",(0,a.jsxs)("span",{className:"text-gray-400 dark:text-white/40",children:["/ ",n.length," tool",1===n.length?"":"s"]})]}),v?(0,a.jsxs)(m.$,{type:"button",variant:"outline",size:"sm",onClick:x,disabled:s,children:[(0,a.jsx)(C.A,{className:"w-4 h-4 text-muted-foreground"}),"Deselect all"]}):(0,a.jsxs)(m.$,{type:"button",variant:"outline",size:"sm",onClick:f,disabled:s,children:[(0,a.jsx)(N.A,{className:"w-4 h-4 text-muted-foreground"}),"Select all"]})]}),(0,a.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:n.map(e=>{let t=(e=>{switch(p.type){case"all":return n.some(t=>t.name===e);case"selective":return p.tools.includes(e)&&n.some(t=>t.name===e);default:return!1}})(e.name);return(0,a.jsxs)("div",{className:"space-y-2 flex items-start gap-6 border-b last:border-b-0 py-4 px-6 relative",children:[(0,a.jsx)("div",{className:"flex items-center h-[22px]",children:(0,a.jsx)(S.S,{checked:t,disabled:s,className:"mb-0",onClick:()=>!s&&h(e.name,!t)})}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(R.E,{variant:t?"primary":"code",className:`font-mono font-medium text-xs cursor-pointer transition-colors ${s?"opacity-50 cursor-not-allowed":""}`,onClick:()=>!s&&h(e.name,!t),children:e.name}),(0,a.jsxs)(I.Tooltip,{delayDuration:800,children:[(0,a.jsx)(I.TooltipTrigger,{asChild:!0,children:(0,a.jsx)("p",{className:"text-sm text-muted-foreground line-clamp-1",children:e.description})}),(0,a.jsx)(I.TooltipContent,{side:"bottom",align:"start",children:e.description})]})]})]},e.name)})})]})]}),(0,a.jsx)(g.C5,{children:u?.message})]})})}var A=r(90385);let E=A.discriminatedUnion("type",[A.object({type:A.literal("all")}),A.object({type:A.literal("selective"),tools:A.array(A.string())})]),U=A.object({name:A.string().min(1,"Name is required."),config:A.object({type:A.literal("mcp"),mcp:A.object({server:A.object({url:A.string().url("Must be a valid URL.")}),transport:A.object({type:A.nativeEnum(o.o7)}),toolsConfig:E.default({type:"all"})})}),credentialReferenceId:A.string().nullish(),imageUrl:A.string().optional()}),z={name:"",config:{type:"mcp",mcp:{server:{url:""},transport:{type:o.o7.streamableHttp},toolsConfig:{type:"all"}}},imageUrl:"",credentialReferenceId:"oauth"};function M({initialData:e,mode:t="create",tool:r,credentials:b,tenantId:C,projectId:N}){let R=(0,s.useRouter)(),[S,I]=(0,l.useState)(!1),[A,E]=(0,l.useState)(!1),M=(0,i.mN)({resolver:(0,n.u)(U),defaultValues:{...z,...e}}),{handleOAuthLogin:P}=(0,h.U)({tenantId:C,projectId:N}),{isSubmitting:T}=M.formState,L=async e=>{try{if("oauth"===e.credentialReferenceId){let t=await v(e.config.mcp.server.url);if(!t.success)return void d.oR.error(t.error||"Failed to detect OAuth support");if(!t.data)return void d.oR.error("This MCP server does not support OAuth authentication. Please select a different credential.");let r={id:(0,k.$)(),name:e.name,config:{type:"mcp",mcp:{server:{url:e.config.mcp.server.url},transport:{type:e.config.mcp.transport.type}}},credentialReferenceId:null,imageUrl:e.imageUrl},a=await (0,j.X)(C,N,r);P({toolId:a.id,mcpServerUrl:e.config.mcp.server.url,toolName:e.name});return}let a={...e,credentialReferenceId:"none"===e.credentialReferenceId?null:e.credentialReferenceId,config:{...e.config,mcp:{...e.config.mcp,activeTools:(e=>{if("all"===e.type)return;let t=r?.availableTools?.map(e=>e.name)||[];return e.tools.filter(e=>t.includes(e))})(e.config.mcp.toolsConfig)}}};if("update"===t&&r)await (0,w.Y)(C,N,r.id,a),d.oR.success("MCP server updated successfully"),R.push(`/${C}/projects/${N}/mcp-servers/${r.id}`);else{let e=await (0,j.X)(C,N,{...a,id:(0,k.$)()});d.oR.success("MCP server created successfully"),R.push(`/${C}/projects/${N}/mcp-servers/${e.id}`)}}catch(e){console.error(`Failed to ${t} MCP tool:`,e),d.oR.error(`Failed to ${t} MCP server. Please try again.`)}},D=async()=>{if(r){E(!0);try{let e=await (0,y.o)(C,N,r.id,!1);e.success?(I(!1),d.oR.success("MCP server deleted."),R.push(`/${C}/projects/${N}/mcp-servers`)):d.oR.error(e.error||"Failed to delete MCP server.")}finally{E(!1)}}};return(0,a.jsxs)(f.Dialog,{open:S,onOpenChange:I,children:[(0,a.jsx)(g.lV,{...M,children:(0,a.jsxs)("form",{onSubmit:M.handleSubmit(L),className:"space-y-8",children:[(0,a.jsx)(c.a,{control:M.control,name:"name",label:"Name",placeholder:"MCP server",isRequired:!0}),(0,a.jsx)(c.a,{control:M.control,name:"config.mcp.server.url",label:"URL",placeholder:"https://api.example.com/mcp",isRequired:!0}),(0,a.jsx)(u.U,{control:M.control,selectTriggerClassName:"w-full",name:"config.mcp.transport.type",label:"Transport type",placeholder:"Select transport type",options:[{value:o.o7.streamableHttp,label:"Streamable HTTP"},{value:o.o7.sse,label:"Server-Sent Events (SSE)"}]}),(0,a.jsx)(c.a,{control:M.control,name:"imageUrl",label:"Image URL (optional)",placeholder:"https://example.com/icon.png or data:image/png;base64,..."}),(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsx)(u.U,{control:M.control,selectTriggerClassName:"w-full",name:"credentialReferenceId",label:"Credential",placeholder:"Select a credential",options:[{value:"oauth",label:"OAuth"},{value:"none",label:"No Authentication"},...b.map(e=>({value:e.id,label:e.name}))]}),(0,a.jsx)(x.n,{title:"How this works",children:(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("p",{children:["Select ",(0,a.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,a.jsxs)("p",{children:["Select"," ",(0,a.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,a.jsx)("p",{children:"Or select from the existing credentials you have already created."})]})})]}),"update"===t&&(0,a.jsx)($,{control:M.control,name:"config.mcp.toolsConfig",label:"Tools",availableTools:r?.availableTools||[],description:"Select which tools should be enabled for this MCP server"}),(0,a.jsxs)("div",{className:"flex w-full justify-between",children:[(0,a.jsx)(m.$,{type:"submit",disabled:T,children:"update"===t?"Save":"Create"}),"update"===t&&r&&(0,a.jsx)(f.DialogTrigger,{asChild:!0,children:(0,a.jsx)(m.$,{type:"button",variant:"destructive-outline",children:"Delete Server"})})]})]})}),S&&r&&(0,a.jsx)(p.J,{itemName:r.name||"this MCP server",isSubmitting:A,onDelete:D})]})}},41430:(e,t,r)=>{r.d(t,{u:()=>n});var a=r(99207);let n=(0,a.createServerReference)("404b1e72c58f84658891d843b3202e7a3b20df4fa6",a.callServer,void 0,a.findSourceMapURL,"createProviderConnectSession")},50784:(e,t,r)=>{r.d(t,{E:()=>i});var a=r(9271),n=r(60914),o=r(16002),s=r(47068);let l=(0,o.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:e,variant:t,asChild:r=!1,...o}){let i=r?n.DX:"span";return(0,a.jsx)(i,{"data-slot":"badge",className:(0,s.cn)(l({variant:t}),e),...o})}},53115:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(74369).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},57127:(e,t,r)=>{r.d(t,{J:()=>s});var a=r(9271),n=r(97238),o=r(47068);function s({className:e,...t}){return(0,a.jsx)(n.b,{"data-slot":"label",className:(0,o.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...t})}},60101:(e,t,r)=>{r.d(t,{a:()=>s});var a=r(9271),n=r(98313),o=r(84376);function s({control:e,name:t,label:r,placeholder:s,type:l="text",min:i,max:d,disabled:c,description:u,isRequired:m=!1}){return(0,a.jsx)(o.u,{control:e,name:t,label:r,description:u,isRequired:m,children:e=>(0,a.jsx)(n.p,{type:l,placeholder:s,min:i,max:d,disabled:c,...e,value:e.value??"",onChange:t=>{let r=t.target.value;"number"===l?e.onChange(""===r?null:Number(r)):e.onChange(r)}})})}},70722:(e,t,r)=>{r.d(t,{U:()=>n});var a=r(99207);let n=(0,a.createServerReference)("7080237b14a1339330fbcaa87489c1d2ad0e7d4422",a.callServer,void 0,a.findSourceMapURL,"findOrCreateCredential")},78045:(e,t,r)=>{r.d(t,{d_:()=>n,Ak:()=>o});let a=e=>crypto.getRandomValues(new Uint8Array(e)),n=(e,t=21)=>{var r;let n,o;return r=0|t,o=-~(1.6*(n=(2<<Math.log2(e.length-1))-1)*r/e.length),(t=r)=>{let s="";for(;;){let r=a(o),l=0|o;for(;l--;)if((s+=e[r[l]&n]||"").length>=t)return s}}},o=(e=21)=>{let t="",r=crypto.getRandomValues(new Uint8Array(e|=0));for(;e--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&r[e]];return t}},79042:(e,t,r)=>{r.d(t,{bpZ:()=>a.safeParseAsync,blZ:()=>a.toJSONSchema,z:()=>a});var a=r(90385)},79276:(e,t,r)=>{r.d(t,{X:()=>n});var a=r(99207);let n=(0,a.createServerReference)("706785d556d3464c70a7a616c08e279f4362c63b8c",a.callServer,void 0,a.findSourceMapURL,"createMCPTool")},83259:(e,t,r)=>{r.d(t,{U:()=>s});var a=r(9271),n=r(14207),o=r(84376);function s({control:e,name:t,label:r,placeholder:s,options:l,disabled:i=!1,selectTriggerClassName:d,description:c,isRequired:u=!1}){return(0,a.jsx)(o.u,{control:e,name:t,label:r,description:c,isRequired:u,children:e=>(0,a.jsxs)(n.l6,{onValueChange:e.onChange,defaultValue:e.value,disabled:i,children:[(0,a.jsx)(n.bq,{disabled:i,className:d,children:(0,a.jsx)(n.yv,{placeholder:s})}),(0,a.jsx)(n.gC,{children:l.map(e=>(0,a.jsx)(n.eb,{value:e.value,disabled:e.disabled,children:e.label},e.value))})]})})}},84376:(e,t,r)=>{r.d(t,{u:()=>o});var a=r(9271),n=r(87185);function o({control:e,name:t,label:r,children:o,description:s,rules:l,isRequired:i}){return(0,a.jsx)(n.zB,{control:e,name:t,rules:l,render:({field:e})=>(0,a.jsxs)(n.eI,{className:"relative",children:[(0,a.jsx)(n.lR,{isRequired:i,children:r}),(0,a.jsx)(n.MJ,{children:o(e)}),s&&(0,a.jsx)(n.Rr,{children:s}),(0,a.jsx)(n.C5,{})]})})}},85987:(e,t,r)=>{r.d(t,{S:()=>l});var a=r(9271),n=r(91603),o=r(65413),s=r(47068);function l({className:e,...t}){return(0,a.jsx)(n.bL,{"data-slot":"checkbox",className:(0,s.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",e),...t,children:(0,a.jsx)(n.C1,{"data-slot":"checkbox-indicator",className:"flex items-center justify-center text-current transition-none",children:(0,a.jsx)(o.A,{className:"size-3.5"})})})}},86931:(e,t,r)=>{r.d(t,{U:()=>p});var a=r(51641),n=r(75525),o=r(24831),s=r(68297),l=r(85731),i=r(95536),d=r(9978),c=r(70722),u=r(16567),m=r(6984);function p({tenantId:e,projectId:t,onFinish:r}){let p=(0,n.useRouter)(),{PUBLIC_INKEEP_AGENTS_MANAGE_API_URL:f}=(0,l.y)(),{openNangoConnectHeadless:g}=(0,m.$)(),x=(0,o.useRef)(new Map),h=(0,o.useCallback)((a,n)=>new Promise((o,s)=>{let l=x.current.get(a);l&&(l(),x.current.delete(a));try{let l=n??function({PUBLIC_INKEEP_AGENTS_MANAGE_API_URL:e,tenantId:t,projectId:r,id:a}){if(!t||"string"!=typeof t)throw Error("Invalid tenantId: must be a non-empty string");if(!a||"string"!=typeof a)throw Error("Invalid tool id: must be a non-empty string");if(!r||"string"!=typeof r)throw Error("Invalid projectId: must be a non-empty string");let n=/^[a-zA-Z0-9-_]+$/;if(!n.test(t))throw Error("Invalid tenantId format: only alphanumeric characters, hyphens, and underscores allowed");if(!n.test(a))throw Error("Invalid tool id format: only alphanumeric characters, hyphens, and underscores allowed");if(!n.test(r))throw Error("Invalid projectId format: only alphanumeric characters, hyphens, and underscores allowed");let o=`${e}/oauth/login?tenantId=${encodeURIComponent(t)}&projectId=${encodeURIComponent(r)}&toolId=${encodeURIComponent(a)}`;if(!o.startsWith(e))throw Error("Invalid OAuth URL generated");return o}({PUBLIC_INKEEP_AGENTS_MANAGE_API_URL:f,tenantId:e,projectId:t,id:a}),i=window.open(l,"oauth-popup","width=600,height=700,scrollbars=yes,resizable=yes,status=yes,location=yes");if(!i){let e=Error(`Failed to open popup for ${a} - blocked by browser`);console.error(e.message),s(e);return}let d=!1,c=(n,l)=>{d||(d=!0,window.removeEventListener("message",u),m&&clearInterval(m),clearTimeout(g),x.current.delete(a),n?(r?r(a):p.push(`/${e}/projects/${t}/mcp-servers/${a}`),o()):s(l||Error("OAuth login failed")))},u=e=>{"oauth-success"===e.data.type?c(!0):"oauth-error"===e.data.type&&c(!1,Error(e.data.error||"OAuth login failed"))};window.addEventListener("message",u);let m=null,g=setTimeout(()=>{d||(m=setInterval(()=>{try{i.closed&&c(!0)}catch{}},1e3))},3e3);x.current.set(a,()=>{c(!1,Error("OAuth login cancelled"))})}catch(e){s(e instanceof Error?e:Error("OAuth login failed"))}}),[f,e,t,r,p]),b=(0,o.useCallback)(async({toolId:n,mcpServerUrl:o,toolName:s})=>{let l=await g({mcpServerUrl:o,providerUniqueKey:`${(0,a.K_)(s)}_${n}`,providerDisplayName:s}),i={id:(0,u.$)(),name:`${s} OAuth Credential`,type:a.Ns.nango,credentialStoreId:"nango-default",retrievalParams:{connectionId:l.connectionId,providerConfigKey:l.providerConfigKey,provider:"mcp-generic",authMode:"OAUTH2"}},m=await (0,c.U)(e,t,i);await (0,d.Y)(e,t,n,{credentialReferenceId:m.id}),r?r(n):p.push(`/${e}/projects/${t}/mcp-servers/${n}`)},[g,r,p,e,t]);return{handleOAuthLogin:(0,o.useCallback)(async({toolId:r,mcpServerUrl:n,toolName:o,thirdPartyConnectAccountUrl:l})=>{if(l)return void await h(r,l);try{let s=await (0,i.S)(e,t),l=s.some(e=>e.type===a.Ns.nango&&e.available),d=s.some(e=>e.type===a.Ns.keychain&&e.available);if(l)await b({toolId:r,mcpServerUrl:n,toolName:o});else if(d)await h(r);else throw Error("No credential store available. Please configure Nango or Keychain.")}catch(t){let e=t instanceof Error?t:Error("OAuth login failed");throw s.oR.error(e.message),e}},[e,t,b,h])}}},87185:(e,t,r)=>{r.d(t,{C5:()=>b,MJ:()=>x,Rr:()=>h,eI:()=>f,lR:()=>g,lV:()=>d,zB:()=>u});var a=r(9271),n=r(60914),o=r(24831),s=r(17956),l=r(57127),i=r(47068);let d=s.Op,c=o.createContext({}),u=({...e})=>(0,a.jsx)(c.Provider,{value:{name:e.name},children:(0,a.jsx)(s.xI,{...e})}),m=()=>{let e=o.useContext(c),t=o.useContext(p),{getFieldState:r}=(0,s.xW)(),a=(0,s.lN)({name:e.name}),n=r(e.name,a);if(!e)throw Error("useFormField should be used within <FormField>");let{id:l}=t;return{id:l,name:e.name,formItemId:`${l}-form-item`,formDescriptionId:`${l}-form-item-description`,formMessageId:`${l}-form-item-message`,...n}},p=o.createContext({});function f({className:e,...t}){let r=o.useId();return(0,a.jsx)(p.Provider,{value:{id:r},children:(0,a.jsx)("div",{"data-slot":"form-item",className:(0,i.cn)("grid gap-2",e),...t})})}function g({className:e,isRequired:t,children:r,...n}){let{error:o,formItemId:s}=m();return(0,a.jsxs)(l.J,{"data-slot":"form-label","data-error":!!o,className:(0,i.cn)("data-[error=true]:text-destructive gap-1",e),htmlFor:s,...n,children:[r,t&&(0,a.jsx)("span",{className:"text-red-500",children:"*"})]})}function x({...e}){let{error:t,formItemId:r,formDescriptionId:o,formMessageId:s}=m();return(0,a.jsx)(n.DX,{"data-slot":"form-control",id:r,"aria-describedby":t?`${o} ${s}`:`${o}`,"aria-invalid":!!t,...e})}function h({className:e,...t}){let{formDescriptionId:r}=m();return(0,a.jsx)("p",{"data-slot":"form-description",id:r,className:(0,i.cn)("text-muted-foreground text-sm",e),...t})}function b({className:e,...t}){let{error:r,formMessageId:n}=m(),o=r?String(r?.message??""):t.children;return o?(0,a.jsx)("p",{"data-slot":"form-message",id:n,className:(0,i.cn)("text-destructive text-sm",e),...t,children:o}):null}},87651:(e,t,r)=>{r.d(t,{Dialog:()=>i,DialogContent:()=>f,DialogDescription:()=>b,DialogHeader:()=>g,DialogTitle:()=>h,DialogTrigger:()=>d,Es:()=>x,HM:()=>u});var a=r(9271),n=r(9561),o=r(16002),s=r(49317),l=r(47068);function i({...e}){return(0,a.jsx)(n.bL,{"data-slot":"dialog",...e})}function d({...e}){return(0,a.jsx)(n.l9,{"data-slot":"dialog-trigger",...e})}function c({...e}){return(0,a.jsx)(n.ZL,{"data-slot":"dialog-portal",...e})}function u({...e}){return(0,a.jsx)(n.bm,{"data-slot":"dialog-close",...e})}function m({className:e,...t}){return(0,a.jsx)(n.hJ,{"data-slot":"dialog-overlay",className:(0,l.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...t})}let p=(0,o.F)("bg-background 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 fixed z-50 grid w-full max-w-[calc(100%-2rem)] gap-4 rounded-lg border p-6 shadow-lg duration-200 max-h-[calc(100dvh-1.5rem)] overflow-y-auto scrollbar-thin scrollbar-thumb-muted-foreground/30 dark:scrollbar-thumb-muted-foreground/50 scrollbar-track-transparent",{variants:{variant:{default:""},position:{top:"top-3 left-[50%] translate-x-[-50%]",center:"top-[50%] left-[50%] translate-x-[-50%] translate-y-[-50%]",bottom:"bottom-3 left-[50%] translate-x-[-50%]"},size:{default:"sm:max-w-lg",sm:"sm:max-w-md",md:"sm:max-w-lg",lg:"sm:max-w-xl",xl:"sm:max-w-2xl",fullscreen:"w-screen h-screen"}},defaultVariants:{variant:"default",position:"center",size:"default"}});function f({className:e,children:t,showCloseButton:r=!0,variant:o="default",position:i="center",size:d="default",...u}){return(0,a.jsxs)(c,{"data-slot":"dialog-portal",children:[(0,a.jsx)(m,{}),(0,a.jsxs)(n.UC,{"data-slot":"dialog-content",className:(0,l.cn)(p({variant:o,position:i,size:d,className:e}),e),...u,children:[t,r&&(0,a.jsxs)(n.bm,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-md opacity-70 hover:opacity-100 transition-all focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent dark:hover:text-accent-foreground dark:text-foreground text-muted-foreground size-8 flex items-center justify-center",children:[(0,a.jsx)(s.A,{}),(0,a.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function g({className:e,...t}){return(0,a.jsx)("div",{"data-slot":"dialog-header",className:(0,l.cn)("flex flex-col gap-2 text-center sm:text-left",e),...t})}function x({className:e,...t}){return(0,a.jsx)("div",{"data-slot":"dialog-footer",className:(0,l.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...t})}function h({className:e,...t}){return(0,a.jsx)(n.hE,{"data-slot":"dialog-title",className:(0,l.cn)("text-lg leading-none font-medium",e),...t})}function b({className:e,...t}){return(0,a.jsx)(n.VY,{"data-slot":"dialog-description",className:(0,l.cn)("text-muted-foreground text-sm",e),...t})}},91603:(e,t,r)=>{r.d(t,{C1:()=>k,bL:()=>j});var a=r(24831),n=r(62661),o=r(9569),s=r(16405),l=r(28642),i=r(19570),d=r(15722),c=r(77971),u=r(16095),m=r(9271),p="Checkbox",[f,g]=(0,o.A)(p),[x,h]=f(p);function b(e){let{__scopeCheckbox:t,checked:r,children:n,defaultChecked:o,disabled:s,form:i,name:d,onCheckedChange:c,required:u,value:f="on",internal_do_not_use_render:g}=e,[h,b]=(0,l.i)({prop:r,defaultProp:o??!1,onChange:c,caller:p}),[v,y]=a.useState(null),[j,w]=a.useState(null),k=a.useRef(!1),C=!v||!!i||!!v.closest("form"),N={checked:h,disabled:s,setChecked:b,control:v,setControl:y,name:d,form:i,value:f,hasConsumerStoppedPropagationRef:k,required:u,defaultChecked:!R(o)&&o,isFormControl:C,bubbleInput:j,setBubbleInput:w};return(0,m.jsx)(x,{scope:t,...N,children:"function"==typeof g?g(N):n})}var v="CheckboxTrigger",y=a.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:r,...o},l)=>{let{control:i,value:d,disabled:c,checked:p,required:f,setControl:g,setChecked:x,hasConsumerStoppedPropagationRef:b,isFormControl:y,bubbleInput:j}=h(v,e),w=(0,n.s)(l,g),k=a.useRef(p);return a.useEffect(()=>{let e=i?.form;if(e){let t=()=>x(k.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[i,x]),(0,m.jsx)(u.sG.button,{type:"button",role:"checkbox","aria-checked":R(p)?"mixed":p,"aria-required":f,"data-state":S(p),"data-disabled":c?"":void 0,disabled:c,value:d,...o,ref:w,onKeyDown:(0,s.mK)(t,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,s.mK)(r,e=>{x(e=>!!R(e)||!e),j&&y&&(b.current=e.isPropagationStopped(),b.current||e.stopPropagation())})})});y.displayName=v;var j=a.forwardRef((e,t)=>{let{__scopeCheckbox:r,name:a,checked:n,defaultChecked:o,required:s,disabled:l,value:i,onCheckedChange:d,form:c,...u}=e;return(0,m.jsx)(b,{__scopeCheckbox:r,checked:n,defaultChecked:o,disabled:l,required:s,onCheckedChange:d,name:a,form:c,value:i,internal_do_not_use_render:({isFormControl:e})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(y,{...u,ref:t,__scopeCheckbox:r}),e&&(0,m.jsx)(N,{__scopeCheckbox:r})]})})});j.displayName=p;var w="CheckboxIndicator",k=a.forwardRef((e,t)=>{let{__scopeCheckbox:r,forceMount:a,...n}=e,o=h(w,r);return(0,m.jsx)(c.C,{present:a||R(o.checked)||!0===o.checked,children:(0,m.jsx)(u.sG.span,{"data-state":S(o.checked),"data-disabled":o.disabled?"":void 0,...n,ref:t,style:{pointerEvents:"none",...e.style}})})});k.displayName=w;var C="CheckboxBubbleInput",N=a.forwardRef(({__scopeCheckbox:e,...t},r)=>{let{control:o,hasConsumerStoppedPropagationRef:s,checked:l,defaultChecked:c,required:p,disabled:f,name:g,value:x,form:b,bubbleInput:v,setBubbleInput:y}=h(C,e),j=(0,n.s)(r,y),w=(0,i.Z)(l),k=(0,d.X)(o);a.useEffect(()=>{if(!v)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!s.current;if(w!==l&&e){let r=new Event("click",{bubbles:t});v.indeterminate=R(l),e.call(v,!R(l)&&l),v.dispatchEvent(r)}},[v,w,l,s]);let N=a.useRef(!R(l)&&l);return(0,m.jsx)(u.sG.input,{type:"checkbox","aria-hidden":!0,defaultChecked:c??N.current,required:p,disabled:f,name:g,value:x,form:b,...t,tabIndex:-1,ref:j,style:{...t.style,...k,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function R(e){return"indeterminate"===e}function S(e){return R(e)?"indeterminate":e?"checked":"unchecked"}N.displayName=C},95536:(e,t,r)=>{r.d(t,{S:()=>n});var a=r(99207);let n=(0,a.createServerReference)("609a5f9826fc3f5a207a3ba891484c8b5aba11c4d4",a.callServer,void 0,a.findSourceMapURL,"listCredentialStores")}}]);
@@ -1,23 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[95624],{6984:(e,t,r)=>{r.d(t,{$:()=>o});var a=r(37375),n=r(24831),s=r(85731),i=r(41430);function o(){let{PUBLIC_NANGO_SERVER_URL:e,PUBLIC_NANGO_CONNECT_BASE_URL:t}=(0,s.y)();return{openNangoConnect:(0,n.useCallback)(({sessionToken:r,onEvent:n,connectOptions:s})=>{let i=new a.Ay({host:e||void 0}).openConnectUI({baseURL:s?.baseURL||t||void 0,apiURL:s?.apiURL||e||void 0,onEvent:n,detectClosedAuthWindow:!0});return i.setSessionToken(r),i},[e,t]),openNangoConnectHeadless:(0,n.useCallback)(async({mcpServerUrl:t,providerUniqueKey:r,providerDisplayName:n})=>{let s=await (0,i.u)({providerName:"mcp-generic",uniqueKey:r,displayName:n}),o=new a.Ay({host:e||void 0,connectSessionToken:s});try{return await o.auth(r,{detectClosedAuthWindow:!0,params:{mcp_server_url:t}})}catch(e){if(e instanceof Error)throw Error(`Authentication failed: ${e.message}`);throw e}},[e])}}},9978:(e,t,r)=>{r.d(t,{Y:()=>n});var a=r(99207);let n=(0,a.createServerReference)("786875290a67033a43c50ece6b27b79175d9d2d890",a.callServer,void 0,a.findSourceMapURL,"updateMCPTool")},23302:(e,t,r)=>{r.d(t,{s:()=>p});var a=r(9271),n=r(12874),s=r(24831),i=r(13218),o=r(9920),l=r(45883);let{AlertCircle:d}=n,c=String.raw;function u({error:e}){let t=String(e),r=t.split("\n"),n=r[0]||t,s=r.slice(1).join("\n");return(0,a.jsxs)(l.Fc,{variant:"destructive",className:"max-w-full",children:[(0,a.jsx)(d,{className:"h-4 w-4"}),(0,a.jsx)(l.XL,{className:"font-semibold text-sm",children:s}),(0,a.jsx)(l.TN,{className:"mt-2 space-y-2",children:(0,a.jsx)("div",{className:"font-mono text-xs break-words",children:n})})]})}function p({code:e,props:t}){let r=(0,s.useMemo)(()=>{let r,a;return r=e.match(/(?:export\s+(?:default\s+)?)?(?:function\s+(\w+)|const\s+(\w+)\s*=\s*(?:\(.*\)\s*=>|\(\)))/),a=r?.[1]||r?.[2]||"App",c`
2
- import { ErrorBoundary } from "react-error-boundary";
3
-
4
- ${e}
5
-
6
- export default function App() {
7
- const props = ${JSON.stringify(t)};
8
- return (
9
- <ErrorBoundary fallbackRender={fallbackRender}>
10
- <${a} {...props} />
11
- </ErrorBoundary>
12
- );
13
- }`},[e,t]),l=(0,s.useMemo)(()=>({fallbackRender:u,import:{"lucide-react":n,"react-error-boundary":i}}),[]),{element:d}=(0,o.CL)({code:r,scope:l});return(0,a.jsx)("div",{children:d})}},41430:(e,t,r)=>{r.d(t,{u:()=>n});var a=r(99207);let n=(0,a.createServerReference)("404b1e72c58f84658891d843b3202e7a3b20df4fa6",a.callServer,void 0,a.findSourceMapURL,"createProviderConnectSession")},45883:(e,t,r)=>{r.d(t,{Fc:()=>o,TN:()=>d,XL:()=>l});var a=r(9271),n=r(16002),s=r(47068);let i=(0,n.F)("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90",warning:"text-amber-700 bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-amber-700/90 *:data-[slot=alert-description]:dark:text-amber-300/90 dark:text-amber-300 bg-amber-50 border-amber-200 dark:bg-amber-950/40 dark:border-amber-700"}},defaultVariants:{variant:"default"}});function o({className:e,variant:t,...r}){return(0,a.jsx)("div",{"data-slot":"alert",role:"alert",className:(0,s.cn)(i({variant:t}),e),...r})}function l({className:e,...t}){return(0,a.jsx)("div",{"data-slot":"alert-title",className:(0,s.cn)("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",e),...t})}function d({className:e,...t}){return(0,a.jsx)("div",{"data-slot":"alert-description",className:(0,s.cn)("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",e),...t})}},70722:(e,t,r)=>{r.d(t,{U:()=>n});var a=r(99207);let n=(0,a.createServerReference)("7080237b14a1339330fbcaa87489c1d2ad0e7d4422",a.callServer,void 0,a.findSourceMapURL,"findOrCreateCredential")},85505:(e,t,r)=>{r.d(t,{z:()=>n});var a=r(99207);let n=(0,a.createServerReference)("70f06ec0b16a37432f186592a7e3fe4a75b4aee328",a.callServer,void 0,a.findSourceMapURL,"fetchThirdPartyMCPServer")},86931:(e,t,r)=>{r.d(t,{U:()=>m});var a=r(51641),n=r(75525),s=r(24831),i=r(68297),o=r(85731),l=r(95536),d=r(9978),c=r(70722),u=r(16567),p=r(6984);function m({tenantId:e,projectId:t,onFinish:r}){let m=(0,n.useRouter)(),{PUBLIC_INKEEP_AGENTS_MANAGE_API_URL:x}=(0,o.y)(),{openNangoConnectHeadless:g}=(0,p.$)(),f=(0,s.useRef)(new Map),h=(0,s.useCallback)((a,n)=>new Promise((s,i)=>{let o=f.current.get(a);o&&(o(),f.current.delete(a));try{let o=n??function({PUBLIC_INKEEP_AGENTS_MANAGE_API_URL:e,tenantId:t,projectId:r,id:a}){if(!t||"string"!=typeof t)throw Error("Invalid tenantId: must be a non-empty string");if(!a||"string"!=typeof a)throw Error("Invalid tool id: must be a non-empty string");if(!r||"string"!=typeof r)throw Error("Invalid projectId: must be a non-empty string");let n=/^[a-zA-Z0-9-_]+$/;if(!n.test(t))throw Error("Invalid tenantId format: only alphanumeric characters, hyphens, and underscores allowed");if(!n.test(a))throw Error("Invalid tool id format: only alphanumeric characters, hyphens, and underscores allowed");if(!n.test(r))throw Error("Invalid projectId format: only alphanumeric characters, hyphens, and underscores allowed");let s=`${e}/oauth/login?tenantId=${encodeURIComponent(t)}&projectId=${encodeURIComponent(r)}&toolId=${encodeURIComponent(a)}`;if(!s.startsWith(e))throw Error("Invalid OAuth URL generated");return s}({PUBLIC_INKEEP_AGENTS_MANAGE_API_URL:x,tenantId:e,projectId:t,id:a}),l=window.open(o,"oauth-popup","width=600,height=700,scrollbars=yes,resizable=yes,status=yes,location=yes");if(!l){let e=Error(`Failed to open popup for ${a} - blocked by browser`);console.error(e.message),i(e);return}let d=!1,c=(n,o)=>{d||(d=!0,window.removeEventListener("message",u),p&&clearInterval(p),clearTimeout(g),f.current.delete(a),n?(r?r(a):m.push(`/${e}/projects/${t}/mcp-servers/${a}`),s()):i(o||Error("OAuth login failed")))},u=e=>{"oauth-success"===e.data.type?c(!0):"oauth-error"===e.data.type&&c(!1,Error(e.data.error||"OAuth login failed"))};window.addEventListener("message",u);let p=null,g=setTimeout(()=>{d||(p=setInterval(()=>{try{l.closed&&c(!0)}catch{}},1e3))},3e3);f.current.set(a,()=>{c(!1,Error("OAuth login cancelled"))})}catch(e){i(e instanceof Error?e:Error("OAuth login failed"))}}),[x,e,t,r,m]),v=(0,s.useCallback)(async({toolId:n,mcpServerUrl:s,toolName:i})=>{let o=await g({mcpServerUrl:s,providerUniqueKey:`${(0,a.K_)(i)}_${n}`,providerDisplayName:i}),l={id:(0,u.$)(),name:`${i} OAuth Credential`,type:a.Ns.nango,credentialStoreId:"nango-default",retrievalParams:{connectionId:o.connectionId,providerConfigKey:o.providerConfigKey,provider:"mcp-generic",authMode:"OAUTH2"}},p=await (0,c.U)(e,t,l);await (0,d.Y)(e,t,n,{credentialReferenceId:p.id}),r?r(n):m.push(`/${e}/projects/${t}/mcp-servers/${n}`)},[g,r,m,e,t]);return{handleOAuthLogin:(0,s.useCallback)(async({toolId:r,mcpServerUrl:n,toolName:s,thirdPartyConnectAccountUrl:o})=>{if(o)return void await h(r,o);try{let i=await (0,l.S)(e,t),o=i.some(e=>e.type===a.Ns.nango&&e.available),d=i.some(e=>e.type===a.Ns.keychain&&e.available);if(o)await v({toolId:r,mcpServerUrl:n,toolName:s});else if(d)await h(r);else throw Error("No credential store available. Please configure Nango or Keychain.")}catch(t){let e=t instanceof Error?t:Error("OAuth login failed");throw i.oR.error(e.message),e}},[e,t,v,h])}}},95536:(e,t,r)=>{r.d(t,{S:()=>n});var a=r(99207);let n=(0,a.createServerReference)("609a5f9826fc3f5a207a3ba891484c8b5aba11c4d4",a.callServer,void 0,a.findSourceMapURL,"listCredentialStores")},95624:(e,t,r)=>{r.r(t),r.d(t,{CopilotChat:()=>ea});var a=r(9271),n=r(2821),s=r(24831),i=r(85731),o=r(86931),l=r(16567),d=r(35),c=r(53115),u=r(65413),p=r(5394),m=r(12888),x=r(23302),g=r(81008);let f=({citation:e})=>{let{key:t,href:r,artifact:n}=e,s=(0,a.jsx)("span",{className:`citation-badge inline-flex items-center justify-center h-5 min-w-5 px-2 mr-1 text-xs font-medium bg-gray-50 dark:bg-muted text-gray-700 dark:text-foreground hover:bg-gray-100 dark:hover:bg-muted/80 rounded-full border border-gray-200 dark:border-border transition-colors ${r?"cursor-pointer":"cursor-help"}`,children:t}),i=(0,a.jsxs)("div",{className:"p-2",children:[(0,a.jsx)("div",{className:"font-medium text-sm mb-1 text-popover-foreground",children:n.name}),(0,a.jsx)("div",{className:"text-xs text-muted-foreground leading-relaxed",children:n.description})]});return r?(0,a.jsxs)(g.Tooltip,{children:[(0,a.jsx)(g.TooltipTrigger,{asChild:!0,children:(0,a.jsx)("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"no-underline",children:s})}),(0,a.jsx)(g.TooltipContent,{className:"max-w-xs",children:i})]}):(0,a.jsxs)(g.Tooltip,{children:[(0,a.jsx)(g.TooltipTrigger,{asChild:!0,children:s}),(0,a.jsx)(g.TooltipContent,{className:"max-w-xs",children:i})]})};var h=r(9961);let v=({artifact:e})=>{let t=e.artifactSummary||{record_type:"site",title:e.name,url:void 0};return(0,a.jsx)("div",{className:"inline-block mr-2 mb-2",children:(0,a.jsxs)(g.Tooltip,{children:[(0,a.jsx)(g.TooltipTrigger,{asChild:!0,children:(0,a.jsxs)("a",{href:t?.url,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 px-2 py-1 border border-border rounded-sm text-xs text-gray-700 dark:text-foreground hover:bg-gray-100 dark:hover:bg-muted transition-colors",children:[(0,a.jsx)(h.A,{className:"w-3 h-3 text-gray-500 dark:text-muted-foreground"}),(0,a.jsx)("span",{className:"max-w-32 truncate",children:t?.title||e.name})]})}),(0,a.jsx)(g.TooltipContent,{className:"max-w-xs",children:(0,a.jsxs)("div",{className:"p-2",children:[(0,a.jsx)("div",{className:"font-medium text-sm mb-1 text-popover-foreground",children:e.name}),(0,a.jsx)("div",{className:"text-xs text-muted-foreground leading-relaxed",children:e.description})]})})]})})},y=({artifacts:e})=>(0,a.jsxs)("div",{className:"mt-3 pt-3",children:[(0,a.jsx)("div",{className:"text-xs text-gray-500 dark:text-muted-foreground font-medium mb-2",children:"Sources"}),(0,a.jsx)("div",{className:"space-y-2",children:e.map((e,t)=>(0,a.jsx)(v,{artifact:e},e.artifactId||`artifact-${t}`))})]}),j=({operation:e,isLast:t})=>{let[r,n]=(0,s.useState)(!1);return(0,a.jsxs)("div",{className:"flex flex-col items-start my-2 relative",children:[!t&&(0,a.jsx)("div",{className:"absolute left-1.5 top-6 bottom-0 w-px bg-gray-200 dark:bg-border"}),(0,a.jsxs)("div",{className:"inline-flex items-center gap-1 text-xs text-gray-500 dark:text-gray-400 dark:hover:text-gray-300 transition-colors ml-[5px] justify-start",children:[(0,a.jsx)("span",{className:"w-1 h-1 bg-gray-400 rounded-full"}),(0,a.jsx)("span",{className:"font-medium ml-1 text-left",children:(e=>{if(e.label)return e.label;let{type:t}=e;switch(t){case"agent_initializing":return"Agent initializing";case"agent_ready":return"Agent ready";case"completion":return"Completion";default:return t.replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase())}})(e)})]})]})};var b=r(39560),N=r(50784),w=r(94303),k=r(99207);let I=(0,k.createServerReference)("40305b7e7e20febc236c626535033b354e4c330835",k.callServer,void 0,k.findSourceMapURL,"fetchToolApprovalDiff");var S=r(86740),A=r(4620),C=r(57638),E=r(5931),_=r(15452),T=r(47068);r(41454);let U=({originalValue:e,newValue:t,originalUri:r="code-original.txt",modifiedUri:n="code-modified.txt",className:i,editorOptions:o={},onMount:l,...d})=>{let c=e&&""!==e.trim(),u=(0,s.useRef)(null),p=(0,s.useRef)(null),m=(0,E.Y1)(e=>e.monaco),{setupHighlighter:x}=(0,E.ib)(),g="dark"===(0,S.D)().resolvedTheme;return((0,s.useEffect)(()=>{if(!c)return;let t=p.current?.getOriginalEditor().getModel();t&&t.getValue()!==e&&t.setValue(e)},[e,c]),(0,s.useEffect)(()=>{if(!c)return;let e=p.current?.getModifiedEditor().getModel();e&&e.getValue()!==t&&e.setValue(t)},[t,c]),(0,s.useEffect)(()=>{if(!c)return;let a=u.current;if(!a||!m)return;let{editor:s}=m,{model:i}=(0,_.pj)({monaco:m,uri:r,value:e}),{model:d}=(0,_.pj)({monaco:m,uri:n,value:t}),f=s.createDiffEditor(a,{automaticLayout:!0,readOnly:!0,renderSideBySide:!1,minimap:{enabled:!1},overviewRulerLanes:0,scrollBeyondLastLine:!1,lineNumbers:"off",wordWrap:"on",contextmenu:!1,fixedOverflowWidgets:!0,padding:{top:12,bottom:12},scrollbar:{vertical:"auto",horizontal:"hidden",useShadows:!1,alwaysConsumeMouseWheel:!1},stickyScroll:{enabled:!1},fontSize:12,lineDecorationsWidth:0,enableSplitViewResizing:!1,renderOverviewRuler:!1,diffWordWrap:"on",...o});function h(){if(a&&f){let e=f.getModifiedEditor().getContentHeight();e>0&&(a.style.height=`${e}px`,f.layout())}}f.setModel({original:i,modified:d}),p.current=f;let v=setTimeout(()=>{h()},0),y=f.getOriginalEditor(),j=f.getModifiedEditor(),b=[i,d,f,y.onDidContentSizeChange(h),j.onDidContentSizeChange(h),y.onKeyDown(e=>{"Space"===e.code&&e.browserEvent.stopPropagation()}),j.onKeyDown(e=>{"Space"===e.code&&e.browserEvent.stopPropagation()}),{dispose:()=>{clearTimeout(v)}}];return x(g),l?.(f),(0,_.Ye)(b)},[m,c]),c)?(0,a.jsx)("div",{className:(0,T.cn)("w-full","rounded-md relative dark:bg-input/30 transition-colors","border border-input shadow-xs",i,!m&&"px-3 py-4","[&_.native-edit-context]:caret-transparent","[&_.editor.original]:left-1!","[&_.editor.modified]:left-1!"),...d,ref:u,children:!m&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(C.E,{className:"h-4 w-4/5"}),(0,a.jsx)(C.E,{className:"h-4 w-3/5 mt-3 mb-full"})]})}):(n??="new-code.json",(0,a.jsx)(A.T,{value:t,uri:n,readOnly:!0,className:i,...d}))};var $=r(52264);let L=({originalValue:e,newValue:t,className:r=""})=>{let n=(0,s.useMemo)(()=>(0,$.b2)(e??"",t??""),[e,t]);return(0,a.jsx)("div",{className:`text-sm leading-relaxed whitespace-pre-wrap space-x-0.5 ${r}`,children:n.map((e,t)=>e.added?(0,a.jsx)("span",{className:n.length>1?"bg-primary/10 dark:bg-sky-blue/30 text-azure-900 dark:text-crystal-blue rounded-sm px-1 py-0.5":"leading-normal",children:e.value},t):e.removed?(0,a.jsx)("span",{className:"line-through text-gray-400 dark:text-white/40",children:e.value},t):(0,a.jsx)("span",{children:e.value},t))})},R=({children:e})=>(0,a.jsx)("div",{className:"text-sm font-medium mb-2",children:e}),P=({originalValue:e,field:t,newValue:r})=>{let n;return(0,a.jsxs)("div",{className:"flex flex-col relative",children:[(0,a.jsx)(R,{children:(n=t.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/[-_]/g," ").toLowerCase()).charAt(0).toUpperCase()+n.slice(1)}),"string"==typeof e&&"string"==typeof r?(0,a.jsx)(L,{originalValue:e,newValue:r}):(0,a.jsx)(U,{originalValue:e?JSON.stringify(e,null,2):"",newValue:JSON.stringify(r,null,2)})]})};function O({messages:e=["Thinking","Looking for content","Analyzing"]}){let[t,r]=(0,s.useState)(0);return(0,s.useEffect)(()=>{let t=setInterval(()=>{r(r=>r+1<e.length?r+1:(clearInterval(t),r))},3500);return()=>clearInterval(t)},[e.length]),(0,a.jsxs)("div",{className:"flex items-center space-x-2 font-medium text-sm text-gray-700 dark:text-gray-dark-300","aria-live":"polite",children:[(0,a.jsx)("span",{className:"animate-shimmer bg-[linear-gradient(to_bottom_right,_var(--ikp-color-gray-700),_var(--ikp-color-gray-400))] dark:bg-[linear-gradient(to_bottom_right,_var(--ikp-color-gray-dark-300),_var(--ikp-color-gray-dark-100))] bg-clip-text text-transparent",children:e[t]}),(0,a.jsx)("div",{className:"flex space-x-1",children:[0,1,2].map(e=>(0,a.jsx)("span",{className:"animate-bounce-dot opacity-30",style:{animationDelay:`${.2*e}s`},children:"."},e))})]})}let M=({toolName:e})=>(0,a.jsxs)("div",{className:"text-sm text-muted-foreground",children:["Would you like to run ",(0,a.jsx)(N.E,{variant:"code",children:e}),"?"]}),z=({entityData:e,toolName:t})=>{let r=e.name||e.id,n=t.split("-").pop()||"entity";return(0,a.jsx)("div",{className:"flex items-start gap-3",children:(0,a.jsxs)("div",{className:"flex flex-col gap-1 flex-1",children:[(0,a.jsxs)("div",{className:"text-sm font-medium",children:["Delete ",n,"?"]}),(0,a.jsxs)("div",{className:"text-sm text-muted-foreground",children:["Are you sure you want to delete ",(0,a.jsx)(N.E,{variant:"code",children:r}),"?"]})]})})},D=({diffs:e})=>(0,a.jsx)("div",{className:"flex flex-col gap-5",children:e.map(({field:e,oldValue:t,newValue:r})=>(0,a.jsx)(P,{field:e,originalValue:t,newValue:r},e))}),F=({children:e})=>(0,a.jsx)("div",{className:"flex flex-col rounded-lg border px-4 py-3 gap-5 my-3",children:e}),V=({data:e,copilotAgentId:t,copilotProjectId:r,copilotTenantId:n,runApiUrl:i})=>{let[o,l]=(0,s.useState)([]),[d,c]=(0,s.useState)(null),[p,m]=(0,s.useState)(!0),[x,g]=(0,s.useState)(null),[f,h]=(0,s.useState)(!1),{conversationId:v,toolCallId:y,input:j,toolName:N}=e.details.data,{projectId:k,tenantId:S}=j.request||j,A=N.includes("delete"),C=e=>{h(!0),fetch(`${i}/api/tool-approvals`,{method:"POST",headers:{...n&&{"x-inkeep-tenant-id":n},...r&&{"x-inkeep-project-id":r},...t&&{"x-inkeep-agent-id":t},"Content-Type":"application/json"},body:JSON.stringify({conversationId:v,toolCallId:y,approved:e})})};if((0,s.useEffect)(()=>{(async()=>{try{m(!0),g(null);let e=await I({toolName:N,input:j,tenantId:S,projectId:k});if(!e.success)return void g(e.error||"Failed to load entity state");A&&e.entityData?c(e.entityData):l(e.data||[])}catch(e){console.error("Failed to compute diff:",e),g(e instanceof Error?e.message:"Failed to load entity state")}finally{m(!1)}})()},[y]),p)return(0,a.jsx)("div",{className:"text-sm text-muted-foreground",children:(0,a.jsx)(O,{messages:["Fetching changes","Analyzing changes","Generating diff"]})});if(x)return(0,a.jsxs)("div",{className:"text-sm text-destructive",children:["Error: ",x]});let E=({approveLabel:e="Approve",approveVariant:t="default",rejectLabel:r="Reject",approveIcon:n=(0,a.jsx)(u.A,{className:"size-3"})})=>!f&&(0,a.jsxs)("div",{className:"flex gap-2 justify-end",children:[(0,a.jsxs)(w.$,{variant:t,size:"xs",type:"button",onClick:()=>C(!0),children:[n,e]}),(0,a.jsx)(w.$,{variant:"outline",size:"xs",type:"button",onClick:()=>C(!1),children:r})]});return A&&d?(0,a.jsxs)(F,{children:[(0,a.jsx)(z,{entityData:d,toolName:N}),(0,a.jsx)(E,{approveLabel:"Delete",approveVariant:"destructive",rejectLabel:"Cancel",approveIcon:(0,a.jsx)(b.A,{className:"size-3"})})]}):o.length>0?(0,a.jsxs)(F,{children:[(0,a.jsx)(D,{diffs:o}),(0,a.jsx)(E,{})]}):(0,a.jsxs)(F,{children:[(0,a.jsx)(M,{toolName:N}),(0,a.jsx)(E,{})]})};var B=r(37667),W=r(22074),K=r(2482),H=r(84679),J=r(85505);let q=(0,k.createServerReference)("705d2aa37e5fb58146d40fc44fdd5ec31e6d392aa2",k.callServer,void 0,k.findSourceMapURL,"fetchMCPTool");function Y({toolId:e,targetTenantId:t,targetProjectId:r,onConnect:n}){let[i,o]=(0,s.useState)("loading"),[l,d]=(0,s.useState)(""),[u,p]=(0,s.useState)(null);(0,s.useEffect)(()=>{(async()=>{if(!t||!r||!e){o("error"),d("Missing tenant, project, or tool ID");return}try{let a,n=await q(t,r,e),s=n.config?.mcp?.server?.url||"",i=s.includes("composio.dev");if(i&&"needs_auth"===n.status)try{let e=await (0,J.z)(t,r,s);e.data?.thirdPartyConnectAccountUrl&&(a=e.data.thirdPartyConnectAccountUrl)}catch(e){console.error("Failed to fetch third-party connect URL:",e),d("Failed to fetch third-party connect URL. Go to the MCP server page to see more details.")}else i&&"healthy"===n.status&&o("success");p({name:n.name,imageUrl:n.imageUrl,url:s,thirdPartyConnectAccountUrl:a}),o("idle")}catch(e){console.error("Failed to fetch tool details:",e),o("error"),d("Failed to load tool details")}})()},[e,t,r]);let m=async()=>{if(!e||!u){o("error"),d("Tool ID and details are required to complete OAuth");return}o("connecting"),d("");try{await n({toolId:e,toolName:u.name,mcpServerUrl:u.url,thirdPartyConnectAccountUrl:u.thirdPartyConnectAccountUrl}),o("success")}catch(e){console.error("OAuth failed:",e),o("error"),d(e instanceof Error?e.message:"OAuth failed")}};return"loading"===i?(0,a.jsx)("div",{className:"p-4 rounded-lg border border-border bg-card shadow-sm",children:(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,a.jsx)(c.A,{className:"size-4 animate-spin"}),(0,a.jsx)("span",{children:"Loading tool details..."})]})}):(0,a.jsxs)("div",{className:"p-4 rounded-lg border border-border bg-card shadow-sm",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 flex-wrap",children:[u&&(0,a.jsx)(H.u,{imageUrl:u.imageUrl,name:u.name,size:24,className:"shrink-0"}),(0,a.jsx)("h3",{className:"flex-1 min-w-0 text-base font-semibold text-foreground",children:u?.name||e}),"success"!==i&&(0,a.jsx)(w.$,{onClick:m,disabled:"connecting"===i||!e,className:"gap-2",size:"sm",children:"connecting"===i?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(c.A,{className:"size-4 animate-spin"}),"Connecting..."]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(B.A,{className:"size-4"}),"Connect"]})})]}),"success"===i&&(0,a.jsxs)("div",{className:"flex items-center gap-2 mt-3 text-sm text-green-600 dark:text-green-400",children:[(0,a.jsx)(W.A,{className:"size-4"}),(0,a.jsx)("span",{children:"Successfully authenticated!"})]}),"error"===i&&(0,a.jsxs)("div",{className:"flex items-start gap-2 mt-3 text-sm text-destructive",children:[(0,a.jsx)(K.A,{className:"size-4 mt-0.5"}),(0,a.jsx)("span",{children:l||"Connection failed. Please try again."})]})]})}function G({relations:e,targetTenantId:t,targetProjectId:r,onConnect:n}){return 0===e.length?null:(0,a.jsx)(a.Fragment,{children:e.map(e=>(0,a.jsx)(Y,{toolId:e.toolId,targetTenantId:t,targetProjectId:r,onConnect:n},e.id))})}function Q(e){return e&&"object"==typeof e&&"text"in e&&"SubAgentToolRelationResponse"in e.text}let X=({data:e,targetTenantId:t,targetProjectId:r,onOAuthLogin:n})=>{let s=(e.details.data.output?.result?.content||[]).filter(Q).map(e=>e.text.SubAgentToolRelationResponse.data),i=async e=>{if(!n)throw Error("OAuth handler not provided");await n(e)};return 0===s.length?null:(0,a.jsx)("div",{className:"flex flex-col gap-3 py-3",children:(0,a.jsx)(G,{relations:s,targetTenantId:t,targetProjectId:r,onConnect:i})})};function Z({parts:e}){let[t,r]=(0,s.useState)([]);(0,s.useEffect)(()=>{let t=[],a="";for(let r of e)if("text"===r.type)a+=r.text||"";else if("data-artifact"===r.type){let e=r.data,t=e.artifactSummary||{record_type:"site",title:e.name,url:void 0};a+=` ^${t?.title||e.name}^`}else if(a&&(t.push({type:"text",content:a}),a=""),"data-operation"===r.type){let{type:e}=r.data;["agent_initializing","agent_ready","completion","error"].includes(e)||t.push({type:"inline-operation",operation:r.data})}else"data-summary"===r.type&&t.push({type:"inline-operation",operation:{type:"data-summary",...r.data}});a&&t.push({type:"text",content:a}),r(t)},[e]);let n=t.filter(e=>"inline-operation"===e.type),i=0;return(0,a.jsx)("div",{className:"inline",children:t.map((t,r)=>{if("text"===t.type)return(0,a.jsx)(m.jH,{remarkPlugins:[p.A],components:{sup:({children:t,...r})=>{if(t&&"string"==typeof t){let r=e.find(e=>"data-artifact"===e.type&&(e.data.artifactSummary?.title||e.data.name)===t);if(r){let e=r.data,t=e.artifactSummary||{record_type:"site",title:e.name,url:void 0};return(0,a.jsx)(f,{citation:{key:t?.title||e.name,href:t?.url,artifact:{...e,artifactSummary:t}}})}}return(0,a.jsx)("sup",{...r,children:t})}},children:t.content},r);if("inline-operation"===t.type){let e=i===n.length-1;return i++,(0,a.jsx)(j,{operation:t.operation,isLast:e},r)}return null})})}let ee=({message:e,isStreaming:t=!1,renderMarkdown:r,dataComponentLookup:n={},copilotAgentId:i,copilotProjectId:o,copilotTenantId:l,runApiUrl:d,targetTenantId:p,targetProjectId:m,targetAgentId:g,onOAuthLogin:f})=>{let{operations:h,textContent:v,artifacts:j}=function(e){let[t,r]=(0,s.useState)([]),[a,n]=(0,s.useState)(""),[i,o]=(0,s.useState)([]),l=(0,s.useRef)(new Set),d=(0,s.useRef)(new Set);return(0,s.useEffect)(()=>{l.current.clear(),d.current.clear(),r([]),o([])},[]),(0,s.useEffect)(()=>{let t=[],a=[],s="";for(let r of e)if("data-artifact"===r.type){let e=r.data.artifactId||r.data.name;d.current.has(e)||(d.current.add(e),a.push(r.data))}else if("text"===r.type)s+=r.text||"";else if("data-operation"===r.type||"data-summary"===r.type){let e=r.data.type;l.current.has(e)||(l.current.add(e),t.push(r.data))}t.length>0&&r(e=>[...e,...t]),a.length>0&&o(e=>[...e,...a]),n(s)},[e]),{operations:t,textContent:a,artifacts:i}}(e.parts);if("user"===e.role)return(0,a.jsx)("div",{children:(0,a.jsx)("div",{children:(0,a.jsx)("p",{className:"text-sm",children:v})})});let b=t||e.parts.some(e=>"text"===e.type&&"streaming"===e.state),N=t||b;return(0,a.jsx)("div",{className:"flex justify-start",children:(0,a.jsxs)("div",{className:"max-w-4xl w-full",children:[(h.length>0||N)&&(0,a.jsx)("div",{className:"mb-3",children:(0,a.jsx)("div",{className:"flex items-center gap-2",children:N?(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)("div",{className:"flex items-center gap-3 h-auto w-full",children:[(0,a.jsx)(c.A,{className:"w-4 h-4 text-gray-400 dark:text-muted-foreground animate-spin"}),(0,a.jsx)("span",{className:"text-xs font-medium text-gray-600 dark:text-muted-foreground",children:"Processing..."})]})}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(u.A,{className:"w-3 h-3 text-gray-500 dark:text-muted-foreground"}),(0,a.jsx)("span",{className:"text-xs font-medium text-gray-600 dark:text-muted-foreground",children:"Completed"})]})})}),(v||e.parts.some(e=>"text"===e.type||"data-component"===e.type||"data-operation"===e.type))&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"prose prose-sm max-w-none",children:(()=>{let t=[],r=[];for(let a=0;a<e.parts.length;a++){let n=e.parts[a];"text"===n.type||"data-artifact"===n.type||"data-component"===n.type&&"text"===n.data.type?r.push(n):(r.length>0&&(t.push({type:"text-group",parts:r}),r=[]),t.push(n))}return r.length>0&&t.push({type:"text-group",parts:r}),t.map((e,t)=>{if("text-group"===e.type)return(0,a.jsx)("div",{children:(0,a.jsx)(Z,{parts:e.parts})},`text-group-${t}`);if("data-component"===e.type){let r=e.data.id,s=r?n[r]:void 0,i=s?.render?.component;return(0,a.jsxs)("div",{className:"my-2 rounded-lg border border-gray-200 dark:border-border bg-white dark:bg-card overflow-hidden",children:[(0,a.jsx)("div",{className:"bg-gray-50 dark:bg-muted px-3 py-1.5 border-b border-gray-200 dark:border-border flex items-center gap-2",children:(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("div",{className:"w-2 h-2 rounded-full bg-blue-400"}),(0,a.jsx)("span",{className:"text-xs font-medium text-gray-700 dark:text-foreground",children:e.data.name||"Unnamed"})]})}),(0,a.jsx)("div",{className:"p-3",children:i&&s.render?(0,a.jsx)(x.s,{code:s.render.component,props:e.data.props||{}}):(0,a.jsx)("pre",{className:"whitespace-pre-wrap text-xs text-gray-600 dark:text-muted-foreground font-mono",children:JSON.stringify(e.data.props,null,2)})})]},`component-${t}`)}return"data-operation"===e.type?"tool_call"===e.data.type?(0,a.jsxs)("div",{children:[(0,a.jsx)(Z,{parts:[e]}),e.data.details.data.needsApproval&&(0,a.jsx)(V,{data:e.data,copilotAgentId:i,copilotProjectId:o,copilotTenantId:l,runApiUrl:d})]},`operation-${t}`):"tool_result"===e.data.type?(0,a.jsx)("div",{children:e.data.details.data.output?.result?.content?.length>0&&(0,a.jsx)(X,{data:e.data,copilotAgentId:i,copilotProjectId:o,copilotTenantId:l,runApiUrl:d,targetTenantId:p,targetProjectId:m,targetAgentId:g,onOAuthLogin:f})},`operation-${t}`):(0,a.jsx)("div",{children:(0,a.jsx)(Z,{parts:[e]})},`operation-${t}`):"data-summary"===e.type?(0,a.jsx)("div",{children:(0,a.jsx)(Z,{parts:[e]})},`summary-${t}`):null})})()}),j.length>0&&(0,a.jsx)(y,{artifacts:j})]})]})})},et=e=>{let{message:t,renderMarkdown:r,renderComponent:n,...s}=e,i=t.parts[t.parts.length-1],o=i?.type!=="data-operation"||i?.data?.type!=="completion";return(0,a.jsx)("div",{children:(0,a.jsx)(ee,{message:t,isStreaming:o,renderMarkdown:r,renderComponent:n,copilotAgentId:s.copilotAgentId,copilotProjectId:s.copilotProjectId,copilotTenantId:s.copilotTenantId,runApiUrl:s.runApiUrl,targetTenantId:s.targetTenantId,targetProjectId:s.targetProjectId,targetAgentId:s.targetAgentId,onOAuthLogin:s.onOAuthLogin})})},er=`
14
- .ikp-markdown-code {
15
- background-color: var(--ikp-color-gray-100);
16
- color: var(--ikp-color-gray-900);
17
- }
18
-
19
- [data-theme=dark] .ikp-markdown-code {
20
- background-color: var(--ikp-color-white-alpha-100);
21
- color: var(--ikp-color-white-alpha-950);
22
- }
23
- `;function ea({agentId:e,tenantId:t,projectId:r,refreshAgentGraph:c}){let{chatFunctionsRef:u,isOpen:p,setIsOpen:m,setIsStreaming:x,dynamicHeaders:g,setDynamicHeaders:f}=(0,d.F)(),[h,v]=(0,s.useState)(l.$),{handleOAuthLogin:y}=(0,o.U)({tenantId:t,projectId:r,onFinish:()=>{c({fetchTools:!0})}});(0,s.useEffect)(()=>{let e=e=>{"tool_result"===e.detail.type&&e.detail.conversationId===h&&c()};return document.addEventListener("ikp-data-operation",e),()=>{document.removeEventListener("ikp-data-operation",e)}},[h,c]);let{PUBLIC_INKEEP_AGENTS_RUN_API_URL:j,PUBLIC_INKEEP_AGENTS_RUN_API_BYPASS_SECRET:b,PUBLIC_INKEEP_COPILOT_AGENT_ID:N,PUBLIC_INKEEP_COPILOT_PROJECT_ID:w,PUBLIC_INKEEP_COPILOT_TENANT_ID:k}=(0,i.y)();return N&&w&&k?(0,a.jsx)("div",{className:"h-full flex flex-row gap-4",children:(0,a.jsx)("div",{className:"flex-1 min-w-0 h-full",children:(0,a.jsx)(n.V,{openSettings:{isOpen:p,onOpenChange:m},position:"left",baseSettings:{onEvent:async e=>{"user_message_submitted"===e.eventName&&x(!0),"assistant_message_received"===e.eventName&&x(!1),"chat_clear_button_clicked"===e.eventName&&(f({}),v((0,l.$)()),x(!1))},primaryBrandColor:"#3784ff",colorMode:{sync:{target:document.documentElement,attributes:["class"],isDarkMode:e=>!!e?.class?.includes("dark")}},theme:{styles:[{key:"custom-styles",type:"style",value:er}],colors:{gray:{50:"#fafaf9",100:"#f4f4f3",200:"#eeeceb",300:"#dedbd9",400:"#cec7c2",500:"#a9a19a",600:"#75716b",700:"#58534e",800:"#443f3e",900:"#2b2826",950:"#1a1817",1e3:"#080706"},grayDark:{950:"oklch(0.141 0.005 285.823)"}}}},aiChatSettings:{aiAssistantName:"Agent Editor",components:{...et?{IkpMessage:a=>et({...a,copilotAgentId:N,copilotProjectId:w,copilotTenantId:k,runApiUrl:j,targetTenantId:t,targetProjectId:r,targetAgentId:e,onOAuthLogin:y})}:{}},conversationId:h,chatFunctionsRef:u,aiAssistantAvatar:{light:"/assets/inkeep-icons/icon-blue.svg",dark:"/assets/inkeep-icons/icon-sky.svg"},agentUrl:`${j}/api/chat`,headers:{"x-emit-operations":"true",Authorization:`Bearer ${b}`,"x-inkeep-tenant-id":k,"x-inkeep-project-id":w,"x-inkeep-agent-id":N,"x-target-tenant-id":t,"x-target-project-id":r,...e?{"x-target-agent-id":e}:{},...g?.conversationId?{"x-inkeep-from-conversation-id":g.conversationId}:{},...g?.messageId?{"x-inkeep-from-message-id":g.messageId}:{}},exampleQuestionsLabel:e?void 0:"Try one of these examples:",exampleQuestions:e?void 0:[{label:"Build a weather agent",value:"Help me build an agent that can tell me the weather in any city."},{label:"Build a recipe agent",value:"Help me build an agent that can help me find recipes."},{label:"Build a travel agent",value:"Help me build an agent that can help me plan my travel."}],introMessage:e?`Hi! What would you like to change about \`${e}\`?`:"Hi! What would you like to build?"}},JSON.stringify(g))})}):(console.error("PUBLIC_INKEEP_COPILOT_AGENT_ID, PUBLIC_INKEEP_COPILOT_PROJECT_ID, PUBLIC_INKEEP_COPILOT_TENANT_ID are not set, copilot chat will not be displayed"),null)}}}]);