@inkeep/agents-manage-ui 0.22.11 → 0.23.0

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 (288) hide show
  1. package/.next/standalone/agents-manage-ui/.next/BUILD_ID +1 -1
  2. package/.next/standalone/agents-manage-ui/.next/app-build-manifest.json +135 -126
  3. package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +3 -3
  4. package/.next/standalone/agents-manage-ui/.next/build-manifest.json +2 -2
  5. package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +13 -13
  6. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js +1 -1
  7. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js +2 -2
  9. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js.nft.json +1 -1
  10. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page.js +2 -2
  12. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page.js.nft.json +1 -1
  13. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page.js +2 -2
  15. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page.js.nft.json +1 -1
  16. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js +3 -3
  18. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js +1 -1
  20. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js.nft.json +1 -1
  21. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js +2 -2
  23. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js.nft.json +1 -1
  24. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js +2 -2
  26. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js +2 -2
  28. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js.nft.json +1 -1
  29. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js +2 -2
  31. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js.nft.json +1 -1
  32. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js +2 -2
  34. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page_client-reference-manifest.js +1 -1
  35. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js +1 -1
  36. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js.nft.json +1 -1
  37. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page_client-reference-manifest.js +1 -1
  38. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js +2 -2
  39. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js.nft.json +1 -1
  40. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page_client-reference-manifest.js +1 -1
  41. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js +1 -1
  42. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js.nft.json +1 -1
  43. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js +2 -2
  45. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
  46. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js +2 -2
  48. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js.nft.json +1 -1
  49. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js +2 -2
  51. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
  52. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js +2 -2
  53. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js.nft.json +1 -1
  54. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page_client-reference-manifest.js +1 -1
  55. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js +2 -2
  56. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js.nft.json +1 -1
  57. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page_client-reference-manifest.js +1 -1
  58. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js +2 -2
  59. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js.nft.json +1 -1
  60. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
  61. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js +2 -2
  62. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js.nft.json +1 -1
  63. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page_client-reference-manifest.js +1 -1
  64. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js +2 -2
  65. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  66. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js +2 -2
  67. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page_client-reference-manifest.js +1 -1
  68. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js +1 -1
  69. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js.nft.json +1 -1
  70. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page_client-reference-manifest.js +1 -1
  71. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js +2 -2
  72. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page_client-reference-manifest.js +1 -1
  73. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js +3 -3
  74. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js.nft.json +1 -1
  75. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page_client-reference-manifest.js +1 -1
  76. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js +2 -2
  77. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page_client-reference-manifest.js +1 -1
  78. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js +2 -2
  79. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  80. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
  81. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +8 -8
  82. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route.js +1 -1
  83. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route.js.nft.json +1 -1
  84. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  85. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route_client-reference-manifest.js +1 -1
  86. package/.next/standalone/agents-manage-ui/.next/server/app/page.js +2 -2
  87. package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
  88. package/.next/standalone/agents-manage-ui/.next/server/app-paths-manifest.json +3 -3
  89. package/.next/standalone/agents-manage-ui/.next/server/chunks/1674.js +3 -0
  90. package/.next/standalone/agents-manage-ui/.next/server/chunks/1735.js +1 -0
  91. package/.next/standalone/agents-manage-ui/.next/server/chunks/174.js +1 -0
  92. package/.next/standalone/agents-manage-ui/.next/server/chunks/2263.js +1 -0
  93. package/.next/standalone/agents-manage-ui/.next/server/chunks/2437.js +7 -0
  94. package/.next/standalone/agents-manage-ui/.next/server/chunks/3547.js +1 -1
  95. package/.next/standalone/agents-manage-ui/.next/server/chunks/{6007.js → 4629.js} +1 -1
  96. package/.next/standalone/agents-manage-ui/.next/server/chunks/4839.js +1 -0
  97. package/.next/standalone/agents-manage-ui/.next/server/chunks/{5922.js → 4999.js} +2 -2
  98. package/.next/standalone/agents-manage-ui/.next/server/chunks/{7165.js → 5395.js} +2 -2
  99. package/.next/standalone/agents-manage-ui/.next/server/chunks/5450.js +3 -3
  100. package/.next/standalone/agents-manage-ui/.next/server/chunks/5732.js +1 -0
  101. package/.next/standalone/agents-manage-ui/.next/server/chunks/5734.js +1 -0
  102. package/.next/standalone/agents-manage-ui/.next/server/chunks/{4177.js → 5831.js} +1 -1
  103. package/.next/standalone/agents-manage-ui/.next/server/chunks/{4662.js → 7437.js} +10 -10
  104. package/.next/standalone/agents-manage-ui/.next/server/chunks/7714.js +1 -1
  105. package/.next/standalone/agents-manage-ui/.next/server/chunks/7848.js +1 -0
  106. package/.next/standalone/agents-manage-ui/.next/server/chunks/7988.js +2 -2
  107. package/.next/standalone/agents-manage-ui/.next/server/chunks/{6129.js → 7990.js} +1 -1
  108. package/.next/standalone/agents-manage-ui/.next/server/chunks/9973.js +3 -0
  109. package/.next/standalone/agents-manage-ui/.next/server/middleware-manifest.json +5 -5
  110. package/.next/standalone/agents-manage-ui/.next/server/pages/404.html +1 -1
  111. package/.next/standalone/agents-manage-ui/.next/server/pages/500.html +1 -1
  112. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.js +1 -1
  113. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.json +1 -1
  114. package/.next/standalone/agents-manage-ui/.next/static/chunks/1175-a9386e1195a4d8c5.js +1 -0
  115. package/.next/standalone/agents-manage-ui/.next/static/chunks/13328-0f3bd90a602ad30b.js +1 -0
  116. package/.next/standalone/agents-manage-ui/.next/static/chunks/1499-20f18a3858daee94.js +1 -0
  117. package/.next/standalone/agents-manage-ui/.next/static/chunks/19317-031cfdbe64ae32fe.js +7 -0
  118. package/.next/standalone/agents-manage-ui/.next/static/chunks/20837-911f825fe8c207f2.js +1 -0
  119. package/.next/standalone/agents-manage-ui/.next/static/chunks/21635-09953f3f17f77ca4.js +1 -0
  120. package/.next/standalone/agents-manage-ui/.next/static/chunks/{23624-6eacc9668906f9e7.js → 37775-eeaab573593358e7.js} +1 -1
  121. package/.next/standalone/agents-manage-ui/.next/static/chunks/49717-c3caecdba1246d8f.js +1 -0
  122. package/.next/standalone/agents-manage-ui/.next/static/chunks/{49858-ecb979ad338f8e90.js → 49858-7e18c65ea9efae5d.js} +1 -1
  123. package/.next/standalone/agents-manage-ui/.next/static/chunks/55244-84901b87c4a2322e.js +1 -0
  124. package/.next/standalone/agents-manage-ui/.next/static/chunks/{60918-e760029d67c39984.js → 57912-eb70bb5c37117904.js} +1 -1
  125. package/.next/standalone/agents-manage-ui/.next/static/chunks/66030-6542a249844c5b64.js +20 -0
  126. package/.next/standalone/agents-manage-ui/.next/static/chunks/{58893-8a39b19b048120f0.js → 71134-8e178109c76d09fc.js} +1 -1
  127. package/.next/standalone/agents-manage-ui/.next/static/chunks/88211-4e7159211556d4e5.js +1 -0
  128. package/.next/standalone/agents-manage-ui/.next/static/chunks/{64438-2c5f9dad5610028e.js → 92160-0e9ba9d3fc9f7a53.js} +1 -1
  129. package/.next/standalone/agents-manage-ui/.next/static/chunks/94834-069bed84e5ed469f.js +1 -0
  130. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/{page-eaa329dba90d4871.js → page-cf8f2bdb7a398f3b.js} +1 -1
  131. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/page-acbe879896d74230.js +1 -0
  132. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-f208a7cd97ca4a18.js +1 -0
  133. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-ffa65b87c9e89814.js +1 -0
  134. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/{page-d8f21c7d4d1f0ef5.js → page-b0dee2e07315a690.js} +1 -1
  135. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/{page-6b7ae2c0de022070.js → page-7b022ae14cc6f009.js} +1 -1
  136. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/{page-498862303609060b.js → page-5d43977fa39b9d09.js} +1 -1
  137. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/{page-6e3049b8e02b286e.js → page-31b4ed0109610720.js} +1 -1
  138. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/page-fcfa4e76f5d01416.js +1 -0
  139. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/{page-87bd7af117b8eaaf.js → page-671d77590f885d96.js} +1 -1
  140. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/{page-e7da33aa8328ba70.js → page-7aa13f9f9e3ecd38.js} +1 -1
  141. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-7f6f912f63407439.js +1 -0
  142. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-20e36d57eed3bf81.js +1 -0
  143. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/page-07db6760153791ce.js +1 -0
  144. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-999993785c893de0.js +1 -0
  145. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/{page-fa678e7bc12be499.js → page-b52db9884e7955e1.js} +1 -1
  146. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-3bd9a94596c3e487.js +1 -0
  147. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-efcf07e2a4c53d17.js +1 -0
  148. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-46c87c0a5dc7f704.js +1 -0
  149. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/{page-3313972fd508f287.js → page-e28f06543dbd4077.js} +1 -1
  150. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/ai-calls/{page-130484743447356a.js → page-d7f81fb8018ccb8f.js} +1 -1
  151. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-f443a6af27e49307.js +1 -0
  152. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/{page-a8d46be97874f040.js → page-b1eb42d38c77a2fb.js} +1 -1
  153. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-7f6263a3a992876c.js +1 -0
  154. package/.next/standalone/agents-manage-ui/package.json +4 -4
  155. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/addepar.svg +1 -0
  156. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/adobe-workfront.svg +5 -0
  157. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/adp-run.svg +1 -0
  158. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/autotask.svg +11 -0
  159. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/avoma.svg +1 -0
  160. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/bullhorn.svg +1 -0
  161. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/clerk.svg +5 -0
  162. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/cursor.svg +1 -0
  163. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/datacandy.svg +23 -0
  164. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/datto-rmm.svg +14 -0
  165. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/dayforce.svg +1 -0
  166. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/fairing.svg +1 -0
  167. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/fillout.svg +1 -0
  168. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/float.svg +1 -0
  169. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/folk.svg +1 -0
  170. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/google-workspace-admin.svg +1 -0
  171. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/heap.svg +1 -0
  172. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/hover.svg +1 -0
  173. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/instantly.svg +1 -1
  174. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/itglue.svg +8 -0
  175. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/jazzhr.svg +20 -8
  176. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/jobber.svg +1 -0
  177. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/jobdiva.svg +24 -0
  178. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/jumpcloud.svg +4 -0
  179. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/kintone.svg +1 -0
  180. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/mcp-dynamic.svg +36 -0
  181. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/microsoft-excel.svg +1 -0
  182. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/pax8.svg +16 -0
  183. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/paycor.svg +1 -0
  184. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/pipedream.svg +1 -0
  185. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/private-api-bearer.svg +1 -0
  186. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/recruitee.svg +1 -0
  187. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/roller.svg +10 -0
  188. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/sellsy.svg +1 -0
  189. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/skio.svg +1 -0
  190. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/snapchat.svg +1 -0
  191. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/snipe-it.svg +1 -0
  192. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/tailscale.svg +1 -0
  193. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/webex.svg +1 -0
  194. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/yotpo.svg +1 -0
  195. package/.next/standalone/agents-manage-ui/public/assets/provider-icons/zoho-calendar.svg +1 -0
  196. package/.next/standalone/packages/agents-core/package.json +3 -3
  197. package/package.json +7 -7
  198. package/public/assets/provider-icons/addepar.svg +1 -0
  199. package/public/assets/provider-icons/adobe-workfront.svg +5 -0
  200. package/public/assets/provider-icons/adp-run.svg +1 -0
  201. package/public/assets/provider-icons/autotask.svg +11 -0
  202. package/public/assets/provider-icons/avoma.svg +1 -0
  203. package/public/assets/provider-icons/bullhorn.svg +1 -0
  204. package/public/assets/provider-icons/clerk.svg +5 -0
  205. package/public/assets/provider-icons/cursor.svg +1 -0
  206. package/public/assets/provider-icons/datacandy.svg +23 -0
  207. package/public/assets/provider-icons/datto-rmm.svg +14 -0
  208. package/public/assets/provider-icons/dayforce.svg +1 -0
  209. package/public/assets/provider-icons/fairing.svg +1 -0
  210. package/public/assets/provider-icons/fillout.svg +1 -0
  211. package/public/assets/provider-icons/float.svg +1 -0
  212. package/public/assets/provider-icons/folk.svg +1 -0
  213. package/public/assets/provider-icons/google-workspace-admin.svg +1 -0
  214. package/public/assets/provider-icons/heap.svg +1 -0
  215. package/public/assets/provider-icons/hover.svg +1 -0
  216. package/public/assets/provider-icons/instantly.svg +1 -1
  217. package/public/assets/provider-icons/itglue.svg +8 -0
  218. package/public/assets/provider-icons/jazzhr.svg +20 -8
  219. package/public/assets/provider-icons/jobber.svg +1 -0
  220. package/public/assets/provider-icons/jobdiva.svg +24 -0
  221. package/public/assets/provider-icons/jumpcloud.svg +4 -0
  222. package/public/assets/provider-icons/kintone.svg +1 -0
  223. package/public/assets/provider-icons/mcp-dynamic.svg +36 -0
  224. package/public/assets/provider-icons/microsoft-excel.svg +1 -0
  225. package/public/assets/provider-icons/pax8.svg +16 -0
  226. package/public/assets/provider-icons/paycor.svg +1 -0
  227. package/public/assets/provider-icons/pipedream.svg +1 -0
  228. package/public/assets/provider-icons/private-api-bearer.svg +1 -0
  229. package/public/assets/provider-icons/recruitee.svg +1 -0
  230. package/public/assets/provider-icons/roller.svg +10 -0
  231. package/public/assets/provider-icons/sellsy.svg +1 -0
  232. package/public/assets/provider-icons/skio.svg +1 -0
  233. package/public/assets/provider-icons/snapchat.svg +1 -0
  234. package/public/assets/provider-icons/snipe-it.svg +1 -0
  235. package/public/assets/provider-icons/tailscale.svg +1 -0
  236. package/public/assets/provider-icons/webex.svg +1 -0
  237. package/public/assets/provider-icons/yotpo.svg +1 -0
  238. package/public/assets/provider-icons/zoho-calendar.svg +1 -0
  239. package/src/app/[tenantId]/projects/[projectId]/credentials/new/page.tsx +1 -1
  240. package/src/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.tsx +3 -1
  241. package/src/app/[tenantId]/projects/[projectId]/credentials/page.tsx +12 -2
  242. package/src/components/agent/playground/chat-widget.tsx +1 -2
  243. package/src/components/credentials/credential-item.tsx +4 -4
  244. package/src/components/icons/provider-icon.tsx +17 -5
  245. package/src/components/mcp-servers/form/mcp-server-form.tsx +89 -16
  246. package/src/components/mcp-servers/selection/mcp-server-selection.tsx +1 -4
  247. package/src/components/mcp-servers/view-mcp-server-details.tsx +60 -32
  248. package/src/components/traces/timeline/timeline-wrapper.tsx +1 -1
  249. package/src/components/traces/traces-overview.tsx +1 -1
  250. package/src/hooks/use-nango-connect.ts +41 -2
  251. package/src/hooks/use-oauth-login.ts +199 -87
  252. package/src/lib/__tests__/provider-icons-sync.test.ts +47 -0
  253. package/src/lib/mcp-tools/nango.ts +7 -3
  254. package/src/lib/provider-icons.ts +610 -0
  255. package/.next/standalone/agents-manage-ui/.next/server/chunks/1040.js +0 -3
  256. package/.next/standalone/agents-manage-ui/.next/server/chunks/272.js +0 -1
  257. package/.next/standalone/agents-manage-ui/.next/server/chunks/5797.js +0 -3
  258. package/.next/standalone/agents-manage-ui/.next/server/chunks/6212.js +0 -1
  259. package/.next/standalone/agents-manage-ui/.next/server/chunks/8124.js +0 -1
  260. package/.next/standalone/agents-manage-ui/.next/server/chunks/8762.js +0 -7
  261. package/.next/standalone/agents-manage-ui/.next/server/chunks/8764.js +0 -1
  262. package/.next/standalone/agents-manage-ui/.next/server/chunks/9943.js +0 -1
  263. package/.next/standalone/agents-manage-ui/.next/static/chunks/1175-9259b947ca7c4ea8.js +0 -1
  264. package/.next/standalone/agents-manage-ui/.next/static/chunks/11847-5c70397d9c56a2e6.js +0 -1
  265. package/.next/standalone/agents-manage-ui/.next/static/chunks/20837-568379333edf0653.js +0 -1
  266. package/.next/standalone/agents-manage-ui/.next/static/chunks/26154-3d8c754a1c657e74.js +0 -1
  267. package/.next/standalone/agents-manage-ui/.next/static/chunks/26999-8c9c5e5ec54db482.js +0 -20
  268. package/.next/standalone/agents-manage-ui/.next/static/chunks/38249-f530c1a1527a3b8f.js +0 -1
  269. package/.next/standalone/agents-manage-ui/.next/static/chunks/62092-ae9394efd9c69e92.js +0 -7
  270. package/.next/standalone/agents-manage-ui/.next/static/chunks/68266-1f459b102467a36a.js +0 -1
  271. package/.next/standalone/agents-manage-ui/.next/static/chunks/68430-1140499bac28d9c1.js +0 -1
  272. package/.next/standalone/agents-manage-ui/.next/static/chunks/92775-85a0732a5fe07d43.js +0 -1
  273. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/page-f8a7cad48c44798c.js +0 -1
  274. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-f86b894a9a598760.js +0 -1
  275. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-6f51de616424c594.js +0 -1
  276. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/page-64e97334e48377c5.js +0 -1
  277. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-850547d8687ba3be.js +0 -1
  278. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-971671d11f2e3e44.js +0 -1
  279. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/page-4a9720fe172c379b.js +0 -1
  280. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-8ebed60fdc1a1a0e.js +0 -1
  281. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-138db92933a30700.js +0 -1
  282. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-c9ecf7ebb6c93491.js +0 -1
  283. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-bf1c6af9f4dbdcd2.js +0 -1
  284. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-745365ab9a0293b9.js +0 -1
  285. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-d34e8072d8ae9c64.js +0 -1
  286. package/src/components/credentials/credentials-list.tsx +0 -36
  287. /package/.next/standalone/agents-manage-ui/.next/static/{E4B0sSy6IuTwgipmBgqq6 → 15IqxRY0y-hZsa9_h7Uol}/_buildManifest.js +0 -0
  288. /package/.next/standalone/agents-manage-ui/.next/static/{E4B0sSy6IuTwgipmBgqq6 → 15IqxRY0y-hZsa9_h7Uol}/_ssgManifest.js +0 -0
@@ -1,115 +1,227 @@
1
+ import { CredentialStoreType, generateIdFromName } from '@inkeep/agents-core/client-exports';
1
2
  import { useRouter } from 'next/navigation';
3
+ import { useCallback, useRef } from 'react';
2
4
  import { toast } from 'sonner';
3
5
  import { useRuntimeConfig } from '@/contexts/runtime-config-context';
6
+ import { listCredentialStores } from '@/lib/api/credentialStores';
7
+ import { updateMCPTool } from '@/lib/api/tools';
8
+ import { findOrCreateCredential } from '@/lib/utils/credentials-utils';
4
9
  import { getOAuthLoginUrl } from '@/lib/utils/mcp-urls';
10
+ import { useNangoConnect } from './use-nango-connect';
5
11
 
6
12
  interface UseOAuthLoginProps {
7
13
  tenantId: string;
8
14
  projectId: string;
9
15
  onFinish?: (toolId: string) => void;
10
- onError?: (error: Error) => void;
11
16
  }
12
17
 
13
- export function useOAuthLogin({ tenantId, projectId, onFinish, onError }: UseOAuthLoginProps) {
18
+ interface OAuthLoginResult {
19
+ handleOAuthLogin: ({
20
+ toolId,
21
+ mcpServerUrl,
22
+ toolName,
23
+ }: {
24
+ toolId: string;
25
+ mcpServerUrl: string;
26
+ toolName: string;
27
+ }) => Promise<void>;
28
+ }
29
+
30
+ export function useOAuthLogin({
31
+ tenantId,
32
+ projectId,
33
+ onFinish,
34
+ }: UseOAuthLoginProps): OAuthLoginResult {
14
35
  const router = useRouter();
15
36
  const { PUBLIC_INKEEP_AGENTS_MANAGE_API_URL } = useRuntimeConfig();
37
+ const { openNangoConnectHeadless } = useNangoConnect();
16
38
 
17
39
  // Track active OAuth attempts to prevent conflicts
18
- const activeAttempts = new Map<string, () => void>();
19
-
20
- const handleOAuthLogin = (toolId: string) => {
21
- // Clean up any previous attempt for this toolId
22
- const existingCleanup = activeAttempts.get(toolId);
23
- if (existingCleanup) {
24
- existingCleanup();
25
- activeAttempts.delete(toolId);
26
- }
27
- try {
28
- const oauthUrl = getOAuthLoginUrl({
29
- PUBLIC_INKEEP_AGENTS_MANAGE_API_URL,
30
- tenantId,
31
- projectId,
32
- id: toolId,
33
- });
40
+ const activeAttemptsRef = useRef(new Map<string, () => void>());
34
41
 
35
- const popup = window.open(
36
- oauthUrl,
37
- 'oauth-popup',
38
- 'width=600,height=700,scrollbars=yes,resizable=yes,status=yes,location=yes'
39
- );
40
-
41
- if (!popup) {
42
- console.error(`Failed to open popup for ${toolId} - blocked by browser`);
43
- return;
44
- }
42
+ const handleOAuthLoginManually = useCallback(
43
+ (toolId: string): Promise<void> => {
44
+ return new Promise((resolve, reject) => {
45
+ // Clean up any previous attempt for this toolId
46
+ const existingCleanup = activeAttemptsRef.current.get(toolId);
47
+ if (existingCleanup) {
48
+ existingCleanup();
49
+ activeAttemptsRef.current.delete(toolId);
50
+ }
45
51
 
46
- // Track completion to prevent duplicate calls
47
- let completed = false;
52
+ try {
53
+ const oauthUrl = getOAuthLoginUrl({
54
+ PUBLIC_INKEEP_AGENTS_MANAGE_API_URL,
55
+ tenantId,
56
+ projectId,
57
+ id: toolId,
58
+ });
48
59
 
49
- // Listen for success PostMessage
50
- const handleMessage = (event: MessageEvent) => {
51
- if (event.data.type === 'oauth-success' && !completed) {
52
- completed = true;
53
- window.removeEventListener('message', handleMessage);
60
+ const popup = window.open(
61
+ oauthUrl,
62
+ 'oauth-popup',
63
+ 'width=600,height=700,scrollbars=yes,resizable=yes,status=yes,location=yes'
64
+ );
54
65
 
55
- // Call custom success handler or default behavior
56
- if (onFinish) {
57
- onFinish(toolId);
58
- } else {
59
- router.push(`/${tenantId}/projects/${projectId}/mcp-servers/${toolId}`);
66
+ if (!popup) {
67
+ const error = new Error(`Failed to open popup for ${toolId} - blocked by browser`);
68
+ console.error(error.message);
69
+ reject(error);
70
+ return;
60
71
  }
61
- }
62
- };
63
72
 
64
- if (popup) {
65
- window.addEventListener('message', handleMessage);
66
-
67
- // Backup: Monitor popup closure (for errors or PostMessage failures)
68
- // Delay backup monitoring to give PostMessage priority
69
- let checkPopupClosed: NodeJS.Timeout | null = null;
70
- const backupTimeout = setTimeout(() => {
71
- if (!completed) {
72
- checkPopupClosed = setInterval(() => {
73
- try {
74
- if (popup.closed && !completed) {
75
- completed = true;
76
- if (checkPopupClosed) clearInterval(checkPopupClosed);
77
- window.removeEventListener('message', handleMessage);
78
- activeAttempts.delete(toolId);
79
-
80
- // Call custom success handler or default behavior
81
- if (onFinish) {
82
- onFinish(toolId);
83
- } else {
84
- router.push(`/${tenantId}/projects/${projectId}/mcp-servers/${toolId}`);
73
+ // Track completion to prevent duplicate calls
74
+ let completed = false;
75
+
76
+ const completeFlow = (success: boolean, error?: Error) => {
77
+ if (completed) return;
78
+ completed = true;
79
+
80
+ // Cleanup
81
+ window.removeEventListener('message', handleMessage);
82
+ if (checkPopupClosed) clearInterval(checkPopupClosed);
83
+ clearTimeout(backupTimeout);
84
+ activeAttemptsRef.current.delete(toolId);
85
+
86
+ if (success) {
87
+ // Call custom success handler or default behavior
88
+ if (onFinish) {
89
+ onFinish(toolId);
90
+ } else {
91
+ router.push(`/${tenantId}/projects/${projectId}/mcp-servers/${toolId}`);
92
+ }
93
+ resolve();
94
+ } else {
95
+ reject(error || new Error('OAuth login failed'));
96
+ }
97
+ };
98
+
99
+ // Listen for success PostMessage
100
+ const handleMessage = (event: MessageEvent) => {
101
+ if (event.data.type === 'oauth-success') {
102
+ completeFlow(true);
103
+ } else if (event.data.type === 'oauth-error') {
104
+ completeFlow(false, new Error(event.data.error || 'OAuth login failed'));
105
+ }
106
+ };
107
+
108
+ window.addEventListener('message', handleMessage);
109
+
110
+ // Backup: Monitor popup closure (for errors or PostMessage failures)
111
+ let checkPopupClosed: NodeJS.Timeout | null = null;
112
+ const backupTimeout = setTimeout(() => {
113
+ if (!completed) {
114
+ checkPopupClosed = setInterval(() => {
115
+ try {
116
+ if (popup.closed) {
117
+ // Assume success if popup closed without error message
118
+ completeFlow(true);
85
119
  }
120
+ } catch {
121
+ // Cross-origin errors are expected during OAuth redirects
86
122
  }
87
- } catch {
88
- // Cross-origin errors are expected during OAuth redirects
89
- }
90
- }, 1000); // Check every second
91
- }
92
- }, 3000); // Wait 3 seconds before starting backup monitoring
93
-
94
- // Register cleanup function for this attempt
95
- const cleanup = () => {
96
- clearTimeout(backupTimeout);
97
- if (checkPopupClosed) clearInterval(checkPopupClosed);
98
- window.removeEventListener('message', handleMessage);
99
- completed = true;
100
- };
101
- activeAttempts.set(toolId, cleanup);
102
- }
103
- } catch (error) {
104
- const errorObj = error instanceof Error ? error : new Error('OAuth login failed');
123
+ }, 1000);
124
+ }
125
+ }, 3000);
105
126
 
106
- if (onError) {
107
- onError(errorObj);
127
+ // Register cleanup function for this attempt
128
+ const cleanup = () => {
129
+ completeFlow(false, new Error('OAuth login cancelled'));
130
+ };
131
+ activeAttemptsRef.current.set(toolId, cleanup);
132
+ } catch (error) {
133
+ const errorObj = error instanceof Error ? error : new Error('OAuth login failed');
134
+ reject(errorObj);
135
+ }
136
+ });
137
+ },
138
+ [PUBLIC_INKEEP_AGENTS_MANAGE_API_URL, tenantId, projectId, onFinish, router]
139
+ );
140
+
141
+ const handleOAuthLoginWithNangoMCPGeneric = useCallback(
142
+ async ({
143
+ toolId,
144
+ mcpServerUrl,
145
+ toolName,
146
+ }: {
147
+ toolId: string;
148
+ mcpServerUrl: string;
149
+ toolName: string;
150
+ }): Promise<void> => {
151
+ const authResult = await openNangoConnectHeadless({
152
+ mcpServerUrl,
153
+ providerUniqueKey: `${generateIdFromName(toolName)}_${toolId}`,
154
+ providerDisplayName: toolName,
155
+ });
156
+
157
+ const newCredentialData = {
158
+ id: generateIdFromName(toolName),
159
+ type: CredentialStoreType.nango,
160
+ credentialStoreId: 'nango-default',
161
+ retrievalParams: {
162
+ connectionId: authResult.connectionId,
163
+ providerConfigKey: authResult.providerConfigKey,
164
+ provider: 'mcp-generic',
165
+ authMode: 'OAUTH2',
166
+ },
167
+ };
168
+
169
+ const newCredential = await findOrCreateCredential(tenantId, projectId, newCredentialData);
170
+
171
+ await updateMCPTool(tenantId, projectId, toolId, {
172
+ credentialReferenceId: newCredential.id,
173
+ });
174
+
175
+ // Call custom success handler or default behavior
176
+ if (onFinish) {
177
+ onFinish(toolId);
108
178
  } else {
109
- toast.error('OAuth login failed. Please try again.');
179
+ router.push(`/${tenantId}/projects/${projectId}/mcp-servers/${toolId}`);
110
180
  }
111
- }
112
- };
181
+ },
182
+ [openNangoConnectHeadless, onFinish, router, tenantId, projectId]
183
+ );
184
+
185
+ const handleOAuthLogin = useCallback(
186
+ async ({
187
+ toolId,
188
+ mcpServerUrl,
189
+ toolName,
190
+ }: {
191
+ toolId: string;
192
+ mcpServerUrl: string;
193
+ toolName: string;
194
+ }): Promise<void> => {
195
+ try {
196
+ // Check credential stores availability
197
+ const credentialStoresStatus = await listCredentialStores(tenantId, projectId);
198
+
199
+ const isNangoReady = credentialStoresStatus.some(
200
+ (store) => store.type === CredentialStoreType.nango && store.available
201
+ );
202
+
203
+ const isKeychainReady = credentialStoresStatus.some(
204
+ (store) => store.type === CredentialStoreType.keychain && store.available
205
+ );
113
206
 
114
- return { handleOAuthLogin };
207
+ // Choose authentication method based on availability
208
+ if (isNangoReady) {
209
+ await handleOAuthLoginWithNangoMCPGeneric({ toolId, mcpServerUrl, toolName });
210
+ } else if (isKeychainReady) {
211
+ await handleOAuthLoginManually(toolId);
212
+ } else {
213
+ throw new Error('No credential store available. Please configure Nango or Keychain.');
214
+ }
215
+ } catch (error) {
216
+ const errorObj = error instanceof Error ? error : new Error('OAuth login failed');
217
+ toast.error(errorObj.message);
218
+ throw errorObj;
219
+ }
220
+ },
221
+ [tenantId, projectId, handleOAuthLoginWithNangoMCPGeneric, handleOAuthLoginManually]
222
+ );
223
+
224
+ return {
225
+ handleOAuthLogin,
226
+ };
115
227
  }
@@ -0,0 +1,47 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { describe, expect, it } from 'vitest';
4
+ import { getAllProviderIcons } from '../provider-icons';
5
+
6
+ describe('provider-icons-sync', () => {
7
+ it('should have COMMON_PROVIDER_ICONS in sync with actual files in public/assets/provider-icons', () => {
8
+ // Read actual files from the filesystem
9
+ const iconsDir = path.join(process.cwd(), 'public/assets/provider-icons');
10
+ const actualFiles = fs.readdirSync(iconsDir);
11
+ const actualIcons = actualFiles
12
+ .filter(file => file.endsWith('.svg'))
13
+ .map(file => file.replace('.svg', ''))
14
+ .sort();
15
+
16
+ // Get the icons from our COMMON_PROVIDER_ICONS
17
+ const commonIcons = getAllProviderIcons();
18
+
19
+ // Compare the two lists
20
+ const missingInCommon = actualIcons.filter(icon => !commonIcons.includes(icon));
21
+ const extraInCommon = commonIcons.filter(icon => !actualIcons.includes(icon));
22
+
23
+ // Create helpful error messages
24
+ let errorMessage = '';
25
+
26
+ if (missingInCommon.length > 0) {
27
+ errorMessage += `\nMissing in COMMON_PROVIDER_ICONS (found in filesystem but not in code):\n`;
28
+ errorMessage += missingInCommon.map(icon => ` - '${icon}',`).join('\n');
29
+ }
30
+
31
+ if (extraInCommon.length > 0) {
32
+ errorMessage += `\nExtra in COMMON_PROVIDER_ICONS (found in code but not in filesystem):\n`;
33
+ errorMessage += extraInCommon.map(icon => ` - '${icon}' (should be removed)`).join('\n');
34
+ }
35
+
36
+ if (errorMessage) {
37
+ errorMessage = `COMMON_PROVIDER_ICONS is out of sync with public/assets/provider-icons/\n${errorMessage}\n\nPlease update the COMMON_PROVIDER_ICONS set in src/lib/provider-icons.ts`;
38
+ }
39
+
40
+ // The test passes only if both lists are identical
41
+ expect(missingInCommon).toEqual([]);
42
+ expect(extraInCommon).toEqual([]);
43
+
44
+ // Also verify the counts match
45
+ expect(commonIcons.length).toBe(actualIcons.length);
46
+ });
47
+ });
@@ -349,9 +349,13 @@ export async function createNangoApiKeyConnection({
349
349
  */
350
350
  export async function createProviderConnectSession({
351
351
  providerName,
352
+ uniqueKey,
353
+ displayName,
352
354
  credentials,
353
355
  }: {
354
356
  providerName: string;
357
+ uniqueKey: string;
358
+ displayName: string;
355
359
  credentials?: ApiPublicIntegrationCredentials;
356
360
  }): Promise<string> {
357
361
  try {
@@ -359,7 +363,7 @@ export async function createProviderConnectSession({
359
363
  let existingIntegration: (ApiPublicIntegration & { areCredentialsSet: boolean }) | null = null;
360
364
 
361
365
  try {
362
- existingIntegration = await fetchNangoIntegration(providerName);
366
+ existingIntegration = await fetchNangoIntegration(uniqueKey);
363
367
  } catch (error) {
364
368
  if (error instanceof NangoError) {
365
369
  throw error;
@@ -374,8 +378,8 @@ export async function createProviderConnectSession({
374
378
  try {
375
379
  integration = await createNangoIntegration({
376
380
  provider: providerName,
377
- uniqueKey: providerName,
378
- displayName: providerName,
381
+ uniqueKey,
382
+ displayName,
379
383
  credentials,
380
384
  });
381
385
  } catch (error) {