@inkeep/agents-manage-ui 0.0.0-dev-20251022013207 → 0.0.0-dev-20251022015253

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 (202) 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 +159 -159
  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 +5 -5
  5. package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +15 -15
  6. package/.next/standalone/agents-manage-ui/.next/react-loadable-manifest.json +6 -6
  7. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js +2 -2
  8. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js +2 -2
  10. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js.nft.json +1 -1
  11. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page.js +2 -2
  13. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page.js.nft.json +1 -1
  14. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/new/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page.js +2 -2
  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_client-reference-manifest.js +1 -1
  37. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js +2 -2
  38. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js.nft.json +1 -1
  39. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js +1 -1
  41. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js +2 -2
  43. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
  44. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js +2 -2
  46. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js +2 -2
  48. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page.js +2 -2
  50. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page.js.nft.json +1 -1
  51. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page_client-reference-manifest.js +1 -1
  52. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page.js +2 -2
  53. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page.js +2 -2
  55. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page.js.nft.json +1 -1
  56. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page_client-reference-manifest.js +1 -1
  57. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page.js +2 -2
  58. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page_client-reference-manifest.js +1 -1
  59. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js +2 -2
  60. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js.nft.json +1 -1
  61. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page_client-reference-manifest.js +1 -1
  62. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js +2 -2
  63. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js.nft.json +1 -1
  64. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page_client-reference-manifest.js +1 -1
  65. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js +2 -2
  66. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js.nft.json +1 -1
  67. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
  68. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js +2 -2
  69. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page_client-reference-manifest.js +1 -1
  70. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js +2 -2
  71. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  72. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js +2 -2
  73. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page_client-reference-manifest.js +1 -1
  74. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js +1 -1
  75. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js.nft.json +1 -1
  76. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page_client-reference-manifest.js +1 -1
  77. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js +2 -2
  78. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page_client-reference-manifest.js +1 -1
  79. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js +3 -3
  80. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js.nft.json +1 -1
  81. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page_client-reference-manifest.js +1 -1
  82. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js +2 -2
  83. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page_client-reference-manifest.js +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 +10 -10
  88. package/.next/standalone/agents-manage-ui/.next/server/app/api/data-components/[dataComponentId]/generate-preview/route_client-reference-manifest.js +1 -1
  89. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route_client-reference-manifest.js +1 -1
  91. package/.next/standalone/agents-manage-ui/.next/server/app/page.js +2 -2
  92. package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
  93. package/.next/standalone/agents-manage-ui/.next/server/app-paths-manifest.json +3 -3
  94. package/.next/standalone/agents-manage-ui/.next/server/chunks/1759.js +1 -0
  95. package/.next/standalone/agents-manage-ui/.next/server/chunks/{122.js → 2377.js} +18 -18
  96. package/.next/standalone/agents-manage-ui/.next/server/chunks/3067.js +1 -1
  97. package/.next/standalone/agents-manage-ui/.next/server/chunks/{7165.js → 3425.js} +1 -1
  98. package/.next/standalone/agents-manage-ui/.next/server/chunks/3468.js +1 -1
  99. package/.next/standalone/agents-manage-ui/.next/server/chunks/3508.js +1 -0
  100. package/.next/standalone/agents-manage-ui/.next/server/chunks/4608.js +2 -2
  101. package/.next/standalone/agents-manage-ui/.next/server/chunks/5273.js +1 -0
  102. package/.next/standalone/agents-manage-ui/.next/server/chunks/5732.js +1 -1
  103. package/.next/standalone/agents-manage-ui/.next/server/chunks/5793.js +1 -1
  104. package/.next/standalone/agents-manage-ui/.next/server/chunks/7565.js +1 -1
  105. package/.next/standalone/agents-manage-ui/.next/server/chunks/7663.js +1 -0
  106. package/.next/standalone/agents-manage-ui/.next/server/chunks/9739.js +14 -0
  107. package/.next/standalone/agents-manage-ui/.next/server/middleware-build-manifest.js +1 -1
  108. package/.next/standalone/agents-manage-ui/.next/server/middleware-manifest.json +5 -5
  109. package/.next/standalone/agents-manage-ui/.next/server/middleware-react-loadable-manifest.js +1 -1
  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/1650.660eabab23b0166b.js +1 -0
  115. package/.next/standalone/agents-manage-ui/.next/static/chunks/{16631-f92fdc7f74df3e1e.js → 16631-6020bdaf3d69b1d9.js} +2 -2
  116. package/.next/standalone/agents-manage-ui/.next/static/chunks/21815-9aaf24f5093042b8.js +1 -0
  117. package/.next/standalone/agents-manage-ui/.next/static/chunks/{23113.3fede21b6eaf9227.js → 23113.1c75dd058655e9a1.js} +5 -5
  118. package/.next/standalone/agents-manage-ui/.next/static/chunks/{26910-9967d721b6dd01bc.js → 26910-3f342e03195b8683.js} +1 -1
  119. package/.next/standalone/agents-manage-ui/.next/static/chunks/27188-f5908b5972fe78cb.js +1 -0
  120. package/.next/standalone/agents-manage-ui/.next/static/chunks/{95926-f6acf9933512734b.js → 27747-c0d04833f4851356.js} +1 -1
  121. package/.next/standalone/agents-manage-ui/.next/static/chunks/27971-0429465725221b26.js +1 -0
  122. package/.next/standalone/agents-manage-ui/.next/static/chunks/34619-a7e44ed0093e108f.js +1 -0
  123. package/.next/standalone/agents-manage-ui/.next/static/chunks/{36887-83df6b6bba85c3ce.js → 36887-047096d1d1bc6ca8.js} +1 -1
  124. package/.next/standalone/agents-manage-ui/.next/static/chunks/44341-459871afa12cd37c.js +1 -0
  125. package/.next/standalone/agents-manage-ui/.next/static/chunks/63989-41ebd4375c381fa3.js +1 -0
  126. package/.next/standalone/agents-manage-ui/.next/static/chunks/7233-bff96f6c009ba35a.js +1 -0
  127. package/.next/standalone/agents-manage-ui/.next/static/chunks/{88831-cc7c54f946c90858.js → 88831-184f3ffcba8295bb.js} +1 -1
  128. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/{page-b7141ed5f8a77eb9.js → page-788f21fd20ccc81f.js} +1 -1
  129. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/{page-f9134d7a48cd0972.js → page-7889ebb6b261b259.js} +1 -1
  130. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-4990032eba024440.js +1 -0
  131. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-ca33e5834cccb2b7.js +1 -0
  132. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-57194753a6cbfe1c.js +1 -0
  133. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-18542ea3bcf7ff50.js +1 -0
  134. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/{page-30e656b3c0eb6c84.js → page-5b0ecc09fb13e9e4.js} +1 -1
  135. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/{page-16e165f559ef3131.js → page-dd051adee5d4fd9e.js} +1 -1
  136. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/{page-ebb650d4f36d73c4.js → page-10f918b952bb35ff.js} +1 -1
  137. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/{page-984321197f47e001.js → page-517114fe5f2605c9.js} +1 -1
  138. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-9089d2eb98d9819b.js +1 -0
  139. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-d91dafa2277673d2.js +1 -0
  140. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-b8a68b57af03bb46.js +1 -0
  141. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/page-67505a9888f7c31c.js +1 -0
  142. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/{page-679cd6ca7dadaf0c.js → page-0714583b4dc9d20a.js} +1 -1
  143. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page-640a1d0d408c93ad.js +1 -0
  144. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/new/page-4f3c192c4b508b16.js +1 -0
  145. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/page-7faa2cff39a9ad5e.js +1 -0
  146. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page-ec394d295f637b5e.js +1 -0
  147. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-6c5055308eef3aa4.js +1 -0
  148. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/{page-baee0631b8f2d789.js → page-8e94a2ae25da7391.js} +1 -1
  149. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/{page-97ad4c58ba209b90.js → page-596a5a5c2ab7c02c.js} +1 -1
  150. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/{page-22de5b7b4e6aaf93.js → page-e3c91d1b41f7d358.js} +1 -1
  151. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/ai-calls/page-7abd4edcd4a9ae2c.js +1 -0
  152. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/{page-2b47946997ff7507.js → page-7f3efb593fb09527.js} +1 -1
  153. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/{page-4f5f509425b1d0ea.js → page-1bf3ed70739c6bc2.js} +1 -1
  154. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-99a6d6a9622b1730.js +1 -0
  155. package/.next/standalone/agents-manage-ui/.next/static/chunks/{d834c995-f79913da716f009c.js → d834c995-72666c5916d3b86e.js} +1 -1
  156. package/.next/standalone/agents-manage-ui/.next/static/chunks/{webpack-c7f22f43be63d6fd.js → webpack-60593e77137f6d1a.js} +1 -1
  157. package/.next/standalone/agents-manage-ui/.next/static/css/931594c58db54400.css +1 -0
  158. package/package.json +4 -4
  159. package/src/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.tsx +4 -4
  160. package/src/components/agent/sidepane/nodes/function-tool-node-editor.tsx +28 -25
  161. package/src/components/api-keys/api-key-display.tsx +1 -1
  162. package/src/components/api-keys/form/api-key-form.tsx +1 -1
  163. package/src/components/api-keys/form/api-key-update-form.tsx +1 -1
  164. package/src/components/artifact-components/form/artifact-component-form.tsx +1 -1
  165. package/src/components/credentials/views/edit-credential-form.tsx +1 -1
  166. package/src/components/credentials/views/generic-auth-form.tsx +6 -5
  167. package/src/components/credentials/views/nango-providers-grid.tsx +1 -13
  168. package/src/components/data-components/form/data-component-form.tsx +1 -1
  169. package/src/components/data-components/preview/component-preview-generator.tsx +70 -53
  170. package/src/components/mcp-servers/form/mcp-server-form.tsx +1 -1
  171. package/src/components/ui/sidebar.tsx +1 -1
  172. package/.next/standalone/agents-manage-ui/.next/server/chunks/3086.js +0 -1
  173. package/.next/standalone/agents-manage-ui/.next/server/chunks/3137.js +0 -14
  174. package/.next/standalone/agents-manage-ui/.next/server/chunks/6109.js +0 -1
  175. package/.next/standalone/agents-manage-ui/.next/server/chunks/653.js +0 -1
  176. package/.next/standalone/agents-manage-ui/.next/server/chunks/7537.js +0 -1
  177. package/.next/standalone/agents-manage-ui/.next/static/chunks/1650.17cfb8794d74edaa.js +0 -1
  178. package/.next/standalone/agents-manage-ui/.next/static/chunks/16887-528540c5b265fc13.js +0 -1
  179. package/.next/standalone/agents-manage-ui/.next/static/chunks/2173-e5e0c4f24a8e0c46.js +0 -1
  180. package/.next/standalone/agents-manage-ui/.next/static/chunks/27854-c9d9d59f8de29ed4.js +0 -1
  181. package/.next/standalone/agents-manage-ui/.next/static/chunks/37775-7406a92cbd39daef.js +0 -1
  182. package/.next/standalone/agents-manage-ui/.next/static/chunks/47199-6dbd2190fc527d1a.js +0 -1
  183. package/.next/standalone/agents-manage-ui/.next/static/chunks/50127-83157505921c89db.js +0 -1
  184. package/.next/standalone/agents-manage-ui/.next/static/chunks/8515-8a6bb9b1af63dc60.js +0 -1
  185. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-b0b409e0d879bf3c.js +0 -1
  186. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-d5bc2158bed826dc.js +0 -1
  187. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-8141ebc086c4e8cc.js +0 -1
  188. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-172f0be9de89cc0f.js +0 -1
  189. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-2bd7c36e74bc6c4a.js +0 -1
  190. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-9430afc1b74ecef2.js +0 -1
  191. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-a63d4b5df3460d68.js +0 -1
  192. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/page-6da4e0dc3c76645f.js +0 -1
  193. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page-6572a90cd3cb51bb.js +0 -1
  194. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/new/page-33a0e22b08c72216.js +0 -1
  195. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/page-1d139f2e776d666e.js +0 -1
  196. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page-097db4d419336446.js +0 -1
  197. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-69e44e2331b90339.js +0 -1
  198. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/ai-calls/page-9d4fe2c46f1ea437.js +0 -1
  199. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-ce49c29e3bf4049e.js +0 -1
  200. package/.next/standalone/agents-manage-ui/.next/static/css/40728d39bb342f02.css +0 -1
  201. /package/.next/standalone/agents-manage-ui/.next/static/{7r2zCPzpVSsXFd1vvyJK8 → ijk5KLntKjhvl1VL_brIJ}/_buildManifest.js +0 -0
  202. /package/.next/standalone/agents-manage-ui/.next/static/{7r2zCPzpVSsXFd1vvyJK8 → ijk5KLntKjhvl1VL_brIJ}/_ssgManifest.js +0 -0
@@ -38,7 +38,7 @@ export function ApiKeyDisplay({ apiKey, open, onClose }: ApiKeyDisplayProps) {
38
38
  </AlertDialogHeader>
39
39
  {apiKey && (
40
40
  <div className="min-w-0">
41
- <div className="space-y-6">
41
+ <div className="space-y-8">
42
42
  <div className="min-w-0">
43
43
  <div className="flex items-center justify-between mb-2">
44
44
  <div className="text-sm font-medium">API Key</div>
@@ -95,7 +95,7 @@ export function ApiKeyForm({
95
95
 
96
96
  return (
97
97
  <Form {...form}>
98
- <form onSubmit={form.handleSubmit(onSubmit)} className="space-y-6">
98
+ <form onSubmit={form.handleSubmit(onSubmit)} className="space-y-8">
99
99
  <GenericInput
100
100
  control={form.control}
101
101
  name="name"
@@ -122,7 +122,7 @@ export function ApiKeyUpdateForm({
122
122
 
123
123
  return (
124
124
  <Form {...form}>
125
- <form onSubmit={form.handleSubmit(onSubmit)} className="space-y-6">
125
+ <form onSubmit={form.handleSubmit(onSubmit)} className="space-y-8">
126
126
  <GenericInput
127
127
  control={form.control}
128
128
  name="name"
@@ -140,7 +140,7 @@ export function ArtifactComponentForm({
140
140
  </Button>
141
141
  {id && (
142
142
  <DialogTrigger asChild>
143
- <Button type="button" variant="secondary">
143
+ <Button type="button" variant="destructive-outline">
144
144
  Delete Artifact
145
145
  </Button>
146
146
  </DialogTrigger>
@@ -199,7 +199,7 @@ export function EditCredentialForm({
199
199
  </Button>
200
200
  )}
201
201
  <DialogTrigger asChild>
202
- <Button type="button" variant="secondary">
202
+ <Button type="button" variant="destructive-outline">
203
203
  Delete Credential
204
204
  </Button>
205
205
  </DialogTrigger>
@@ -113,7 +113,7 @@ export function GenericAuthForm({
113
113
 
114
114
  const renderField = (field: FieldConfig) => {
115
115
  const isPrivateKey = field.key === 'private_key';
116
- const label = `${field.label}${field.required ? ' *' : ''}`;
116
+ const label = field.label;
117
117
 
118
118
  if (field.component === 'textarea') {
119
119
  return (
@@ -122,6 +122,7 @@ export function GenericAuthForm({
122
122
  control={form.control}
123
123
  name={field.key}
124
124
  label={label}
125
+ isRequired={field.required}
125
126
  placeholder={field.placeholder}
126
127
  className={isPrivateKey ? 'font-mono text-sm min-h-[120px]' : 'min-h-[80px]'}
127
128
  />
@@ -136,6 +137,7 @@ export function GenericAuthForm({
136
137
  control={form.control}
137
138
  name={field.key}
138
139
  label={label}
140
+ isRequired={field.required}
139
141
  type={field.type}
140
142
  placeholder={field.placeholder}
141
143
  disabled={loading}
@@ -146,7 +148,7 @@ export function GenericAuthForm({
146
148
  };
147
149
 
148
150
  const renderSection = (section: FormSection, index: number) => (
149
- <div key={index} className="space-y-4">
151
+ <div key={index} className="space-y-8">
150
152
  {section.title && (
151
153
  <div>
152
154
  <h3 className="text-lg font-medium">{section.title}</h3>
@@ -155,7 +157,6 @@ export function GenericAuthForm({
155
157
  )}
156
158
  </div>
157
159
  )}
158
-
159
160
  {section.fields.map(renderField)}
160
161
  </div>
161
162
  );
@@ -175,10 +176,10 @@ export function GenericAuthForm({
175
176
  </div>
176
177
 
177
178
  <Form {...form}>
178
- <form onSubmit={form.handleSubmit(handleSubmit)} className="space-y-6">
179
+ <form onSubmit={form.handleSubmit(handleSubmit)} className="space-y-8">
179
180
  {formConfig.sections.map(renderSection)}
180
181
 
181
- <div className="flex gap-3 pt-4">
182
+ <div className="flex gap-3">
182
183
  <Button type="submit" disabled={loading}>
183
184
  {loading ? 'Creating Credential...' : 'Create Credential'}
184
185
  </Button>
@@ -15,10 +15,9 @@ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/comp
15
15
 
16
16
  interface NangoProvidersGridProps {
17
17
  providers: ApiProvider[];
18
- error: string | null;
19
18
  }
20
19
 
21
- export function NangoProvidersGrid({ providers, error }: NangoProvidersGridProps) {
20
+ export function NangoProvidersGrid({ providers }: NangoProvidersGridProps) {
22
21
  const [searchQuery, setSearchQuery] = useState('');
23
22
  const { tenantId, projectId } = useParams<{
24
23
  tenantId: string;
@@ -85,17 +84,6 @@ export function NangoProvidersGrid({ providers, error }: NangoProvidersGridProps
85
84
  return providersWithSearchText.filter((provider) => provider.searchText.includes(query));
86
85
  }, [providersWithSearchText, searchQuery]);
87
86
 
88
- if (error) {
89
- return (
90
- <div className="text-center p-8">
91
- <p className="text-destructive">{error}</p>
92
- <Button variant="outline" onClick={() => window.location.reload()} className="mt-4">
93
- Try Again
94
- </Button>
95
- </div>
96
- );
97
- }
98
-
99
87
  return (
100
88
  <div className="space-y-6">
101
89
  {/* Search bar */}
@@ -159,7 +159,7 @@ export function DataComponentForm({
159
159
  </Button>
160
160
  {id && (
161
161
  <DialogTrigger asChild>
162
- <Button type="button" variant="secondary">
162
+ <Button type="button" variant="destructive-outline">
163
163
  Delete Component
164
164
  </Button>
165
165
  </DialogTrigger>
@@ -16,6 +16,15 @@ import { Textarea } from '@/components/ui/textarea';
16
16
  import { updateDataComponent } from '@/lib/api/data-components';
17
17
  import { DynamicComponentRenderer } from './dynamic-component-renderer';
18
18
 
19
+ const StyledTabsTrigger = (props: React.ComponentProps<typeof TabsTrigger>) => {
20
+ return (
21
+ <TabsTrigger
22
+ {...props}
23
+ className="bg-transparent data-[state=active]:border-primary dark:data-[state=active]:border-primary h-full rounded-none border-0 border-b-2 border-transparent data-[state=active]:shadow-none data-[state=active]:text-primary data-[state=active]:bg-transparent uppercase font-mono text-xs mt-0.5 pt-2"
24
+ />
25
+ );
26
+ };
27
+
19
28
  interface ComponentPreviewGeneratorProps {
20
29
  tenantId: string;
21
30
  projectId: string;
@@ -166,15 +175,20 @@ export function ComponentPreviewGenerator({
166
175
  return (
167
176
  <div className="space-y-4">
168
177
  <div className="flex items-center justify-between">
169
- <div>
170
- <h3 className="text-lg font-semibold">Component Preview</h3>
178
+ <div className="space-y-2">
179
+ <h3 className="text-md font-medium">Component Preview</h3>
171
180
  <p className="text-sm text-muted-foreground">
172
- Generate a React/Tailwind component based on your schema
181
+ Generate a React/Tailwind component based on your schema.
173
182
  </p>
174
183
  </div>
175
184
  <div className="flex gap-2">
176
185
  {!hasPreview && (
177
- <Button onClick={() => generatePreview()} disabled={isGenerating} className="gap-2">
186
+ <Button
187
+ onClick={() => generatePreview()}
188
+ disabled={isGenerating}
189
+ size="sm"
190
+ className="gap-2"
191
+ >
178
192
  {isGenerating ? (
179
193
  <>
180
194
  <Loader2 className="h-4 w-4 animate-spin" />
@@ -192,7 +206,12 @@ export function ComponentPreviewGenerator({
192
206
  <>
193
207
  <Popover open={isPopoverOpen} onOpenChange={setIsPopoverOpen}>
194
208
  <PopoverTrigger asChild>
195
- <Button variant="outline" disabled={isDeleting || isGenerating} className="gap-2">
209
+ <Button
210
+ variant="outline"
211
+ size="sm"
212
+ disabled={isDeleting || isGenerating}
213
+ className="gap-2 font-mono uppercase"
214
+ >
196
215
  {isGenerating ? (
197
216
  <>
198
217
  <Loader2 className="h-4 w-4 animate-spin" />
@@ -221,28 +240,27 @@ export function ComponentPreviewGenerator({
221
240
  className="mt-2 min-h-[100px]"
222
241
  />
223
242
  </div>
224
- <div className="flex gap-2">
243
+ <div className="flex justify-end gap-2">
225
244
  <Button
226
245
  size="sm"
227
- onClick={async () => {
246
+ variant="outline"
247
+ onClick={() => {
228
248
  setIsPopoverOpen(false);
229
- await generatePreview(regenerateInstructions || undefined);
230
249
  setRegenerateInstructions('');
231
250
  }}
232
- disabled={isGenerating}
233
- className="flex-1"
234
251
  >
235
- {regenerateInstructions ? 'Apply Changes' : 'Regenerate'}
252
+ Cancel
236
253
  </Button>
237
254
  <Button
238
255
  size="sm"
239
- variant="outline"
240
- onClick={() => {
256
+ onClick={async () => {
241
257
  setIsPopoverOpen(false);
258
+ await generatePreview(regenerateInstructions || undefined);
242
259
  setRegenerateInstructions('');
243
260
  }}
261
+ disabled={isGenerating}
244
262
  >
245
- Cancel
263
+ {regenerateInstructions ? 'Apply Changes' : 'Regenerate'}
246
264
  </Button>
247
265
  </div>
248
266
  </div>
@@ -267,58 +285,57 @@ export function ComponentPreviewGenerator({
267
285
  )}
268
286
  </div>
269
287
  </div>
270
-
271
288
  {isGenerating && streamingCode && (
272
289
  <Streamdown
273
290
  isAnimating
274
291
  className="[&_[data-code-block-header=true]]:hidden [&_pre]:bg-muted/40!"
275
292
  >{`\`\`\`jsx\n${streamingCode}\`\`\``}</Streamdown>
276
293
  )}
277
-
278
294
  {isGenerating && !streamingCode && (
279
295
  <Card className="p-6">
280
- <div className="flex flex-col items-center justify-center space-y-4">
281
- <Loader2 className="h-8 w-8 animate-spin text-primary" />
282
- <p className="text-sm text-muted-foreground">Generating component preview...</p>
296
+ <div className="flex flex-row items-center justify-center gap-2">
297
+ <Loader2 className="h-4 w-4 animate-spin text-muted-foreground/50" />
298
+ <p className="text-sm text-muted-foreground/70">Generating component preview...</p>
283
299
  </div>
284
300
  </Card>
285
301
  )}
286
-
287
302
  {hasPreview && !isGenerating && isComplete && preview && (
288
- <Tabs defaultValue="preview" className="w-full">
289
- <TabsList>
290
- <TabsTrigger value="preview">Preview</TabsTrigger>
291
- <TabsTrigger value="code">Code</TabsTrigger>
292
- <TabsTrigger value="data">Sample Data</TabsTrigger>
293
- </TabsList>
294
- <TabsContent value="preview">
295
- <Card className="p-6">
296
- <DynamicComponentRenderer code={previewCode} props={previewData} />
297
- </Card>
298
- </TabsContent>
299
- <TabsContent value="code">
300
- <CodeEditor
301
- value={previewCode}
302
- onChange={(newCode) => {
303
- if (!preview) return;
304
- const updatedPreview = { ...preview, code: newCode };
305
- setPreview(updatedPreview);
306
- onPreviewChanged?.(updatedPreview);
307
- }}
308
- language="jsx"
309
- className="max-h-[500px]"
310
- />
311
- </TabsContent>
312
- <TabsContent value="data">
313
- <JsonEditor
314
- value={stringifiedData}
315
- onChange={handleDataChange}
316
- className="max-h-[500px]"
317
- />
318
- </TabsContent>
319
- </Tabs>
320
- )}
303
+ <Card className="px-2 py-4 pt-0">
304
+ <Tabs defaultValue="preview" className="w-full">
305
+ <TabsList className="bg-transparent relative rounded-none border-b p-0 w-full justify-start gap-2">
306
+ <StyledTabsTrigger value="preview">Preview</StyledTabsTrigger>
307
+ <StyledTabsTrigger value="code">Code</StyledTabsTrigger>
308
+ <StyledTabsTrigger value="data">Sample Data</StyledTabsTrigger>
309
+ </TabsList>
321
310
 
311
+ <TabsContent value="preview">
312
+ <div className="p-4">
313
+ <DynamicComponentRenderer code={previewCode} props={previewData} />
314
+ </div>
315
+ </TabsContent>
316
+ <TabsContent value="code">
317
+ <CodeEditor
318
+ value={previewCode}
319
+ onChange={(newCode) => {
320
+ if (!preview) return;
321
+ const updatedPreview = { ...preview, code: newCode };
322
+ setPreview(updatedPreview);
323
+ onPreviewChanged?.(updatedPreview);
324
+ }}
325
+ language="jsx"
326
+ className="max-h-[500px] border-0 shadow-none"
327
+ />
328
+ </TabsContent>
329
+ <TabsContent value="data">
330
+ <JsonEditor
331
+ value={stringifiedData}
332
+ onChange={handleDataChange}
333
+ className="max-h-[500px] border-0 shadow-none"
334
+ />
335
+ </TabsContent>
336
+ </Tabs>
337
+ </Card>
338
+ )}
322
339
  {!hasPreview && !isGenerating && !isComplete && (
323
340
  <InfoCard>
324
341
  <p className="text-sm text-muted-foreground">No preview generated</p>
@@ -272,7 +272,7 @@ export function MCPServerForm({
272
272
  </Button>
273
273
  {mode === 'update' && tool && (
274
274
  <DialogTrigger asChild>
275
- <Button type="button" variant="secondary">
275
+ <Button type="button" variant="destructive-outline">
276
276
  Delete Server
277
277
  </Button>
278
278
  </DialogTrigger>
@@ -356,7 +356,7 @@ function SidebarContent({ className, ...props }: React.ComponentProps<'div'>) {
356
356
  data-slot="sidebar-content"
357
357
  data-sidebar="content"
358
358
  className={cn(
359
- 'flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden',
359
+ 'flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden scrollbar-thin scrollbar-thumb-muted-foreground/30 dark:scrollbar-thumb-muted-foreground/50 scrollbar-track-transparent',
360
360
  className
361
361
  )}
362
362
  {...props}
@@ -1 +0,0 @@
1
- "use strict";exports.id=3086,exports.ids=[3086],exports.modules={6461:(a,b,c)=>{let d,e;c.d(b,{d_:()=>i,Ak:()=>j});var f=c(77598);function g(a){!d||d.length<a?(d=Buffer.allocUnsafe(128*a),f.webcrypto.getRandomValues(d),e=0):e+a>d.length&&(f.webcrypto.getRandomValues(d),e=0),e+=a}function h(a){return g(a|=0),d.subarray(e-a,e)}function i(a,b=21){var c;let d,e;return c=b,e=Math.ceil(1.6*(d=(2<<31-Math.clz32(a.length-1|1))-1)*c/a.length),(b=c)=>{if(!b)return"";let f="";for(;;){let c=h(e),g=e;for(;g--;)if((f+=a[c[g]&d]||"").length>=b)return f}}}function j(a=21){g(a|=0);let b="";for(let c=e-a;c<e;c++)b+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&d[c]];return b}},8707:(a,b,c)=>{c.d(b,{o:()=>e});var d=c(90147);let e=(0,d.createServerReference)("781d802de3a52d088fb56598e6ce5dbe91a685768a",d.callServer,void 0,d.findSourceMapURL,"deleteToolAction")},12463:(a,b,c)=>{c.d(b,{E:()=>i});var d=c(59111),e=c(15606),f=c(53433),g=c(42723);let h=(0,f.F)("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",primary:"border border-primary/50 text-primary bg-primary/5 rounded-sm p-0.5 px-1.5 font-mono",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",code:"text-xs text-muted-foreground border bg-muted/80 dark:bg-muted/50 rounded-sm p-0.5 px-1.5 font-mono",success:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-emerald-50 border-emerald-200 text-emerald-800 dark:text-emerald-300 dark:bg-emerald-950/40 uppercase",error:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-red-50 border-red-200 text-red-800 dark:border-red-700 dark:text-red-300 dark:bg-red-950/40 uppercase",warning:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-amber-50 border-amber-200 text-amber-800 dark:border-amber-700 dark:text-amber-300 dark:bg-amber-950/40 uppercase",sky:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-sky-50 border-sky-200 text-sky-800 dark:border-sky-700 dark:text-sky-300 dark:bg-sky-950/40",violet:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-violet-50 border-violet-200 text-violet-800 dark:border-violet-700 dark:text-violet-300 dark:bg-violet-950/40",orange:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-orange-50 border-orange-200 text-orange-800 dark:border-orange-700 dark:text-orange-300 dark:bg-orange-950/40"}},defaultVariants:{variant:"default"}});function i({className:a,variant:b,asChild:c=!1,...f}){let i=c?e.DX:"span";return(0,d.jsx)(i,{"data-slot":"badge",className:(0,g.cn)(h({variant:b}),a),...f})}},15485:(a,b,c)=>{c.d(b,{S:()=>g,U:()=>h});var d=c(29991);c(58415);var e=c(8703),f=c(45796);async function g(a,b){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credential-stores`)).data}async function h(a,b,c,d,g){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credential-stores/${c}/credentials`,{method:"POST",body:JSON.stringify({key:d,value:g})})).data}(0,c(33451).D)([g,h]),(0,d.A)(g,"60e8f80e641d3fbfd184d3a22de6e07f6d7b410b61",null),(0,d.A)(h,"7c01c870c7c499df525f85519d497615b903331219",null)},24703:(a,b,c)=>{c.d(b,{S:()=>h});var d=c(59111),e=c(32191),f=c(39108),g=c(42723);function h({className:a,...b}){return(0,d.jsx)(e.bL,{"data-slot":"checkbox",className:(0,g.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",a),...b,children:(0,d.jsx)(e.C1,{"data-slot":"checkbox-indicator",className:"flex items-center justify-center text-current transition-none",children:(0,d.jsx)(f.A,{className:"size-3.5"})})})}},25623:(a,b,c)=>{c.d(b,{$:()=>h});var d=c(86624),e=c(14450),f=c(59072),g=c(67072);function h(){let{PUBLIC_NANGO_SERVER_URL:a,PUBLIC_NANGO_CONNECT_BASE_URL:b}=(0,f.y)();return{openNangoConnect:(0,e.useCallback)(({sessionToken:c,onEvent:e,connectOptions:f})=>{let g=new d.Ay({host:a||void 0}).openConnectUI({baseURL:f?.baseURL||b||void 0,apiURL:f?.apiURL||a||void 0,onEvent:e,detectClosedAuthWindow:!0});return g.setSessionToken(c),g},[a,b]),openNangoConnectHeadless:(0,e.useCallback)(async({mcpServerUrl:b,providerUniqueKey:c,providerDisplayName:e})=>{let f=await (0,g.u)({providerName:"mcp-generic",uniqueKey:c,displayName:e}),h=new d.Ay({host:a||void 0,connectSessionToken:f});try{return await h.auth(c,{detectClosedAuthWindow:!0,params:{mcp_server_url:b}})}catch(a){if(a instanceof Error)throw Error(`Authentication failed: ${a.message}`);throw a}},[a])}}},27159:(a,b,c)=>{c.d(b,{bq:()=>l,eb:()=>n,gC:()=>m,l6:()=>j,yv:()=>k});var d=c(59111),e=c(29477),f=c(67048),g=c(39108),h=c(25773),i=c(42723);function j({...a}){return(0,d.jsx)(e.bL,{"data-slot":"select",...a})}function k({...a}){return(0,d.jsx)(e.WT,{"data-slot":"select-value",...a})}function l({className:a,size:b="default",children:c,...g}){return(0,d.jsxs)(e.l9,{"data-slot":"select-trigger","data-size":b,className:(0,i.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 font-normal normal-case",a),...g,children:[c,(0,d.jsx)(e.In,{asChild:!0,children:(0,d.jsx)(f.A,{className:"size-4 opacity-50"})})]})}function m({className:a,children:b,position:c="popper",...f}){return(0,d.jsx)(e.ZL,{children:(0,d.jsxs)(e.UC,{"data-slot":"select-content",className:(0,i.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto scrollbar-thin scrollbar-thumb-muted-foreground/30 dark:scrollbar-thumb-muted-foreground/50 scrollbar-track-transparent rounded-md border shadow-md","popper"===c&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:c,...f,children:[(0,d.jsx)(o,{}),(0,d.jsx)(e.LM,{className:(0,i.cn)("p-1","popper"===c&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:b}),(0,d.jsx)(p,{})]})})}function n({className:a,children:b,...c}){return(0,d.jsxs)(e.q7,{"data-slot":"select-item",className:(0,i.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",a),...c,children:[(0,d.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,d.jsx)(e.VF,{children:(0,d.jsx)(g.A,{className:"size-4"})})}),(0,d.jsx)(e.p4,{children:b})]})}function o({className:a,...b}){return(0,d.jsx)(e.PP,{"data-slot":"select-scroll-up-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(h.A,{className:"size-4"})})}function p({className:a,...b}){return(0,d.jsx)(e.wn,{"data-slot":"select-scroll-down-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(f.A,{className:"size-4"})})}},28905:(a,b,c)=>{c.d(b,{U:()=>m});var d=c(4558),e=c(485),f=c(14450),g=c(68156),h=c(59072),i=c(68592),j=c(37308),k=c(74495),l=c(25623);function m({tenantId:a,projectId:b,onFinish:c}){let m=(0,e.useRouter)(),{PUBLIC_INKEEP_AGENTS_MANAGE_API_URL:n}=(0,h.y)(),{openNangoConnectHeadless:o}=(0,l.$)(),p=(0,f.useRef)(new Map),q=(0,f.useCallback)(d=>new Promise((e,f)=>{let g=p.current.get(d);g&&(g(),p.current.delete(d));try{let g=function({PUBLIC_INKEEP_AGENTS_MANAGE_API_URL:a,tenantId:b,projectId:c,id:d}){if(!b||"string"!=typeof b)throw Error("Invalid tenantId: must be a non-empty string");if(!d||"string"!=typeof d)throw Error("Invalid tool id: must be a non-empty string");if(!c||"string"!=typeof c)throw Error("Invalid projectId: must be a non-empty string");let e=/^[a-zA-Z0-9-_]+$/;if(!e.test(b))throw Error("Invalid tenantId format: only alphanumeric characters, hyphens, and underscores allowed");if(!e.test(d))throw Error("Invalid tool id format: only alphanumeric characters, hyphens, and underscores allowed");if(!e.test(c))throw Error("Invalid projectId format: only alphanumeric characters, hyphens, and underscores allowed");let f=`${a}/oauth/login?tenantId=${encodeURIComponent(b)}&projectId=${encodeURIComponent(c)}&toolId=${encodeURIComponent(d)}`;if(!f.startsWith(a))throw Error("Invalid OAuth URL generated");return f}({PUBLIC_INKEEP_AGENTS_MANAGE_API_URL:n,tenantId:a,projectId:b,id:d}),h=window.open(g,"oauth-popup","width=600,height=700,scrollbars=yes,resizable=yes,status=yes,location=yes");if(!h){let a=Error(`Failed to open popup for ${d} - blocked by browser`);console.error(a.message),f(a);return}let i=!1,j=(g,h)=>{i||(i=!0,window.removeEventListener("message",k),l&&clearInterval(l),clearTimeout(o),p.current.delete(d),g?(c?c(d):m.push(`/${a}/projects/${b}/mcp-servers/${d}`),e()):f(h||Error("OAuth login failed")))},k=a=>{"oauth-success"===a.data.type?j(!0):"oauth-error"===a.data.type&&j(!1,Error(a.data.error||"OAuth login failed"))};window.addEventListener("message",k);let l=null,o=setTimeout(()=>{i||(l=setInterval(()=>{try{h.closed&&j(!0)}catch{}},1e3))},3e3);p.current.set(d,()=>{j(!1,Error("OAuth login cancelled"))})}catch(a){f(a instanceof Error?a:Error("OAuth login failed"))}}),[n,a,b,c,m]),r=(0,f.useCallback)(async({toolId:e,mcpServerUrl:f,toolName:g})=>{let h=await o({mcpServerUrl:f,providerUniqueKey:`${(0,d.K_)(g)}_${e}`,providerDisplayName:g}),i={id:(0,d.K_)(g),type:d.Ns.nango,credentialStoreId:"nango-default",retrievalParams:{connectionId:h.connectionId,providerConfigKey:h.providerConfigKey,provider:"mcp-generic",authMode:"OAUTH2"}},l=await (0,k.U)(a,b,i);await (0,j.Y)(a,b,e,{credentialReferenceId:l.id}),c?c(e):m.push(`/${a}/projects/${b}/mcp-servers/${e}`)},[o,c,m,a,b]);return{handleOAuthLogin:(0,f.useCallback)(async({toolId:c,mcpServerUrl:e,toolName:f})=>{try{let g=await (0,i.S)(a,b),h=g.some(a=>a.type===d.Ns.nango&&a.available),j=g.some(a=>a.type===d.Ns.keychain&&a.available);if(h)await r({toolId:c,mcpServerUrl:e,toolName:f});else if(j)await q(c);else throw Error("No credential store available. Please configure Nango or Keychain.")}catch(b){let a=b instanceof Error?b:Error("OAuth login failed");throw g.oR.error(a.message),a}},[a,b,r,q])}}},32191:(a,b,c)=>{c.d(b,{C1:()=>x,bL:()=>v});var d=c(14450),e=c(30181),f=c(57351),g=c(13254),h=c(40474),i=c(69602),j=c(4970),k=c(80844),l=c(24702),m=c(59111),n="Checkbox",[o,p]=(0,f.A)(n),[q,r]=o(n);function s(a){let{__scopeCheckbox:b,checked:c,children:e,defaultChecked:f,disabled:g,form:i,name:j,onCheckedChange:k,required:l,value:o="on",internal_do_not_use_render:p}=a,[r,s]=(0,h.i)({prop:c,defaultProp:f??!1,onChange:k,caller:n}),[t,u]=d.useState(null),[v,w]=d.useState(null),x=d.useRef(!1),y=!t||!!i||!!t.closest("form"),z={checked:r,disabled:g,setChecked:s,control:t,setControl:u,name:j,form:i,value:o,hasConsumerStoppedPropagationRef:x,required:l,defaultChecked:!A(f)&&f,isFormControl:y,bubbleInput:v,setBubbleInput:w};return(0,m.jsx)(q,{scope:b,...z,children:"function"==typeof p?p(z):e})}var t="CheckboxTrigger",u=d.forwardRef(({__scopeCheckbox:a,onKeyDown:b,onClick:c,...f},h)=>{let{control:i,value:j,disabled:k,checked:n,required:o,setControl:p,setChecked:q,hasConsumerStoppedPropagationRef:s,isFormControl:u,bubbleInput:v}=r(t,a),w=(0,e.s)(h,p),x=d.useRef(n);return d.useEffect(()=>{let a=i?.form;if(a){let b=()=>q(x.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[i,q]),(0,m.jsx)(l.sG.button,{type:"button",role:"checkbox","aria-checked":A(n)?"mixed":n,"aria-required":o,"data-state":B(n),"data-disabled":k?"":void 0,disabled:k,value:j,...f,ref:w,onKeyDown:(0,g.mK)(b,a=>{"Enter"===a.key&&a.preventDefault()}),onClick:(0,g.mK)(c,a=>{q(a=>!!A(a)||!a),v&&u&&(s.current=a.isPropagationStopped(),s.current||a.stopPropagation())})})});u.displayName=t;var v=d.forwardRef((a,b)=>{let{__scopeCheckbox:c,name:d,checked:e,defaultChecked:f,required:g,disabled:h,value:i,onCheckedChange:j,form:k,...l}=a;return(0,m.jsx)(s,{__scopeCheckbox:c,checked:e,defaultChecked:f,disabled:h,required:g,onCheckedChange:j,name:d,form:k,value:i,internal_do_not_use_render:({isFormControl:a})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(u,{...l,ref:b,__scopeCheckbox:c}),a&&(0,m.jsx)(z,{__scopeCheckbox:c})]})})});v.displayName=n;var w="CheckboxIndicator",x=d.forwardRef((a,b)=>{let{__scopeCheckbox:c,forceMount:d,...e}=a,f=r(w,c);return(0,m.jsx)(k.C,{present:d||A(f.checked)||!0===f.checked,children:(0,m.jsx)(l.sG.span,{"data-state":B(f.checked),"data-disabled":f.disabled?"":void 0,...e,ref:b,style:{pointerEvents:"none",...a.style}})})});x.displayName=w;var y="CheckboxBubbleInput",z=d.forwardRef(({__scopeCheckbox:a,...b},c)=>{let{control:f,hasConsumerStoppedPropagationRef:g,checked:h,defaultChecked:k,required:n,disabled:o,name:p,value:q,form:s,bubbleInput:t,setBubbleInput:u}=r(y,a),v=(0,e.s)(c,u),w=(0,i.Z)(h),x=(0,j.X)(f);d.useEffect(()=>{if(!t)return;let a=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,b=!g.current;if(w!==h&&a){let c=new Event("click",{bubbles:b});t.indeterminate=A(h),a.call(t,!A(h)&&h),t.dispatchEvent(c)}},[t,w,h,g]);let z=d.useRef(!A(h)&&h);return(0,m.jsx)(l.sG.input,{type:"checkbox","aria-hidden":!0,defaultChecked:k??z.current,required:n,disabled:o,name:p,value:q,form:s,...b,tabIndex:-1,ref:v,style:{...b.style,...x,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function A(a){return"indeterminate"===a}function B(a){return A(a)?"indeterminate":a?"checked":"unchecked"}z.displayName=y},37308:(a,b,c)=>{c.d(b,{Y:()=>e});var d=c(90147);let e=(0,d.createServerReference)("7823bb846dafce8b17c759581a18e2d0f69af3ef07",d.callServer,void 0,d.findSourceMapURL,"updateMCPTool")},43750:(a,b,c)=>{c.d(b,{X:()=>e});var d=c(90147);let e=(0,d.createServerReference)("704720d47fd515825df78d361fa7fa6a3f28f403d4",d.callServer,void 0,d.findSourceMapURL,"createMCPTool")},45007:(a,b,c)=>{c.d(b,{$:()=>d});let d=(0,c(6461).d_)("abcdefghijklmnopqrstuvwxyz0123456789",21)},49153:(a,b,c)=>{c.d(b,{Wy:()=>k,XL:()=>i,YU:()=>j,iu:()=>g,xl:()=>h});var d=c(29991);c(58415);var e=c(8703),f=c(45796);async function g(a,b,c=1,d=50,h){(0,f.M2)(a),(0,f.nt)(b);let i=new URLSearchParams({page:c.toString(),limit:d.toString()});return h&&i.append("status",h),(await (0,e.J)(`tenants/${a}/projects/${b}/tools?${i}`)).data.filter(a=>a.config?.type==="mcp")}async function h(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/tools/${c}`)).data}async function i(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/tools`,{method:"POST",body:JSON.stringify(c)})).data}async function j(a,b,c,d){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/tools/${c}`,{method:"PUT",body:JSON.stringify(d)})).data}async function k(a,b,c){(0,f.M2)(a),(0,f.nt)(b),await (0,e.J)(`tenants/${a}/projects/${b}/tools/${c}`,{method:"DELETE"})}(0,c(33451).D)([g,h,i,j,k]),(0,d.A)(g,"7c0cee5c56577a81459b0020104e4eca03a63d23af",null),(0,d.A)(h,"70db285acce023efbf67ed761e0c47e16ca0afc2fb",null),(0,d.A)(i,"704720d47fd515825df78d361fa7fa6a3f28f403d4",null),(0,d.A)(j,"7823bb846dafce8b17c759581a18e2d0f69af3ef07",null),(0,d.A)(k,"70417e6743d68386ccbb6f8dbc3c26dd3172554539",null)},53710:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(55272).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},55124:(a,b,c)=>{c.d(b,{U:()=>g});var d=c(59111),e=c(27159),f=c(71771);function g({control:a,name:b,label:c,placeholder:g,options:h,disabled:i=!1,selectTriggerClassName:j,description:k,isRequired:l=!1}){return(0,d.jsx)(f.u,{control:a,name:b,label:c,description:k,isRequired:l,children:a=>(0,d.jsxs)(e.l6,{onValueChange:a.onChange,defaultValue:a.value,disabled:i,children:[(0,d.jsx)(e.bq,{disabled:i,className:j,children:(0,d.jsx)(e.yv,{placeholder:g})}),(0,d.jsx)(e.gC,{children:h.map(a=>(0,d.jsx)(e.eb,{value:a.value,disabled:a.disabled,children:a.label},a.value))})]})})}},67072:(a,b,c)=>{c.d(b,{u:()=>e});var d=c(90147);let e=(0,d.createServerReference)("403bd9a5ceab0afa87f249c1c0fb801f4614eb2644",d.callServer,void 0,d.findSourceMapURL,"createProviderConnectSession")},68592:(a,b,c)=>{c.d(b,{S:()=>e});var d=c(90147);let e=(0,d.createServerReference)("60e8f80e641d3fbfd184d3a22de6e07f6d7b410b61",d.callServer,void 0,d.findSourceMapURL,"listCredentialStores")},68932:(a,b,c)=>{c.d(b,{Q1:()=>i,cZ:()=>k,oU:()=>j});var d=c(29991);c(58415);var e=c(47990),f=c(83248),g=c(49153),h=c(36608);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(33451).D)([i,j,k]),(0,d.A)(i,"605dd5f19ca625cdfc7c963aa808ee6f5374a18316",null),(0,d.A)(j,"781d802de3a52d088fb56598e6ce5dbe91a685768a",null),(0,d.A)(k,"40df14e1aeddab8de8e823fce5ed6a89453c6175fa",null)},70183:(a,b,c)=>{c.d(b,{MCPServerForm:()=>I});var d=c(59111),e=c(35197),f=c(4558),g=c(485),h=c(14450),i=c(51820),j=c(68156),k=c(17130),l=c(55124),m=c(2856),n=c(93755),o=c(96032),p=c(93622),q=c(35229),r=c(28905),s=c(90147);let t=(0,s.createServerReference)("40df14e1aeddab8de8e823fce5ed6a89453c6175fa",s.callServer,void 0,s.findSourceMapURL,"detectOAuthServerAction");var u=c(8707),v=c(43750),w=c(37308),x=c(45007),y=c(91740),z=c(39108),A=c(12463),B=c(24703),C=c(37671);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(34576);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.lG,{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.id}))]}),(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.zM,{asChild:!0,children:(0,d.jsx)(m.$,{type:"button",variant:"secondary",children:"Delete Server"})})]})]})}),B&&c&&(0,d.jsx)(n.J,{itemName:c.name||"this MCP server",isSubmitting:E,onDelete:M})]})}},81097:(a,b,c)=>{c.d(b,{$Y:()=>g,GO:()=>i,K3:()=>h,h9:()=>k,nZ:()=>j});var d=c(1274);c(2082);var e=c(53842),f=c(41979);async function g(a,b,c=1,d=50){(0,f.M2)(a),(0,f.nt)(b);let h=new URLSearchParams({page:c.toString(),limit:d.toString()});return(await (0,e.J)(`tenants/${a}/projects/${b}/credentials?${h}`)).data}async function h(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`)).data}async function i(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials`,{method:"POST",body:JSON.stringify(c)})).data}async function j(a,b,c,d){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`,{method:"PUT",body:JSON.stringify(d)})).data}async function k(a,b,c){(0,f.M2)(a),(0,f.nt)(b),await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`,{method:"DELETE"})}(0,c(95454).D)([g,h,i,j,k]),(0,d.A)(g,"78ede811b3f5c585927099af16d55aa01d2aa376db",null),(0,d.A)(h,"70bf02bb0c3fcaba0994c8ef3ae759d1424d8cf6ab",null),(0,d.A)(i,"709a2e20d1b8c94da17a25d24706af8feb78be173a",null),(0,d.A)(j,"78ea570eede2260033869b396ed3de7fc53a4199ce",null),(0,d.A)(k,"7073eee1e05ad492e106eae78f9383da6d7c0657f2",null)},93755:(a,b,c)=>{c.d(b,{J:()=>h});var d=c(59111),e=c(53710),f=c(2856),g=c(96032);function h({itemName:a,isSubmitting:b,onDelete:c,customTitle:h,customDescription:i}){let j=async()=>{await c()};return(0,d.jsxs)(g.Cf,{children:[(0,d.jsx)(g.L3,{children:h||`Delete ${a||"this item"}`}),(0,d.jsx)(g.rr,{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"})]})]})}}};
@@ -1,14 +0,0 @@
1
- exports.id=3137,exports.ids=[3137],exports.modules={2965:(a,b,c)=>{"use strict";c.d(b,{u:()=>k});var d=c(59111),e=c(485),f=c(14450),g=c(68156),h=c(93755),i=c(90147);let j=(0,i.createServerReference)("70a005a49ce6e12c74116d603d0eb0a4e5d49238c9",i.callServer,void 0,i.findSourceMapURL,"deleteDataComponentAction");function k({dataComponentId:a,dataComponentName:b,setIsOpen:c,redirectOnDelete:i=!1}){let{tenantId:k,projectId:l}=(0,e.useParams)(),m=(0,e.useRouter)(),[n,o]=(0,f.useState)(!1),p=async()=>{o(!0);try{let b=await j(k,l,a);b.success?(c(!1),g.oR.success("Component deleted."),i&&m.push(`/${k}/projects/${l}/components`)):g.oR.error(b.error)}finally{o(!1)}};return(0,d.jsx)(h.J,{itemName:b||"this component",isSubmitting:n,onDelete:p})}},27565:(a,b,c)=>{"use strict";c.d(b,{DataComponentForm:()=>Z});var d=c(59111),e=c(35197),f=c(485),g=c(14450),h=c(51820),i=c(68156),j=c(17130),k=c(16426),l=c(56019),m=c(2856),n=c(96032),o=c(60848),p=c(93622),q=c(35283),r=c(90147);let s=(0,r.createServerReference)("7003eeef0faa2bdebbae100ac49c9fb6324e97256c",r.callServer,void 0,r.findSourceMapURL,"updateDataComponentAction"),t=(0,r.createServerReference)("704aea726fe8567f7ef84dfbf83c9bd6191dc8cb5c",r.callServer,void 0,r.findSourceMapURL,"createDataComponentAction");var u=c(42723),v=c(2965),w=c(53710),x=c(89565),y=c(27218),z=c(3905),A=c(58616),B=c(85660),C=c(62900),D=c(32998),E=c(76469);function F(a){let{resolvedTheme:b}=(0,E.D)(),{language:c="jsx",className:e,value:f,onChange:g,placeholder:h,disabled:i,readOnly:j,...k}=a,l=[(0,B.Q2)({jsx:"jsx"===c||"tsx"===c,typescript:"typescript"===c||"tsx"===c})];return(0,d.jsx)(D.Ay,{...k,value:f||"",onChange:a=>g(a),extensions:l,theme:"dark"===b?C.nQ:C.Bs,placeholder:h||"Enter code...",editable:!i&&!j,basicSetup:{lineNumbers:!1,foldGutter:!0,dropCursor:!1,allowMultipleSelections:!1,bracketMatching:!0,closeBrackets:!0,autocompletion:!0},"data-disabled":i?"":void 0,"data-read-only":j?"":void 0,className:(0,u.cn)("h-full [&>.cm-editor]:max-h-[inherit] [&_.cm-gutters]:!bg-transparent [&>.cm-editor]:!bg-transparent dark:[&>.cm-editor]:!bg-input/30 [&>.cm-editor]:!outline-none [&>.cm-editor]:rounded-[7px] [&>.cm-editor]:px-3 [&>.cm-editor]:py-2 leading-2 text-xs font-mono rounded-md border border-input shadow-xs transition-[color,box-shadow] data-disabled:cursor-not-allowed data-disabled:opacity-50 data-disabled:bg-muted data-invalid:border-destructive has-[.cm-focused]:border-ring has-[.cm-focused]:ring-ring/50 has-[.cm-focused]:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e)})}var G=c(67466),H=c(71534),I=c(35229),J=c(34740),K=c(39729),L=c(42887);let M=L.bL,N=g.forwardRef(({className:a,...b},c)=>(0,d.jsx)(L.B8,{ref:c,className:(0,u.cn)("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",a),...b}));N.displayName=L.B8.displayName;let O=g.forwardRef(({className:a,...b},c)=>(0,d.jsx)(L.l9,{ref:c,className:(0,u.cn)("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",a),...b}));O.displayName=L.l9.displayName;let P=g.forwardRef(({className:a,...b},c)=>(0,d.jsx)(L.UC,{ref:c,className:(0,u.cn)("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",a),...b}));P.displayName=L.UC.displayName;var Q=c(32442);let R=(0,r.createServerReference)("70582a37932f0fb05fd4d3b3ffb35a03439bcd09d2",r.callServer,void 0,r.findSourceMapURL,"updateDataComponent");var S=c(54257);function T({tenantId:a,projectId:b,dataComponentId:c,existingPreview:e,onPreviewChanged:f}){let[h,j]=(0,g.useState)(e||null),[k,l]=(0,g.useState)(!1),[n,o]=(0,g.useState)(!1),[p,q]=(0,g.useState)(""),[r,s]=(0,g.useState)(!!e),[t,u]=(0,g.useState)(!!e),[v,B]=(0,g.useState)(""),[C,D]=(0,g.useState)(!1),E=async d=>{l(!0),j(null),q(""),s(!1),u(!1);try{let e=await fetch(`/api/data-components/${c}/generate-preview`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tenantId:a,projectId:b,instructions:d||void 0,existingCode:d?h?.code:void 0})});if(!e.ok)throw Error("Failed to generate preview");if(!e.body)throw Error("No response body");let g=e.body.getReader(),k=new TextDecoder,l="",m=null;for(;;){let{done:a,value:b}=await g.read();if(a)break;let c=k.decode(b,{stream:!0}),d=(l+=c).split("\n");for(let a of(l=d.pop()||"",d))if(a.trim())try{let b=JSON.parse(a);m=b,b.code&&q(b.code)}catch(b){console.warn("Failed to parse line:",a,b)}}if(m)j(m),s(!0),f?.(m),i.oR.success("Preview generated successfully");else throw Error("No valid preview generated")}catch(a){console.error("Failed to generate preview:",a),i.oR.error("Failed to generate preview"),s(!0)}finally{l(!1)}},L=async()=>{o(!0);try{await R(a,b,{id:c,preview:null}),j(null),u(!1),f?.(null),i.oR.success("Preview deleted")}catch(a){console.error("Error deleting preview:",a),i.oR.error("Failed to delete preview")}finally{o(!1)}},T=null!==h&&(h.code?.trim().length??0)>0,U=(0,g.useMemo)(()=>h?.data?JSON.stringify(h.data,null,2):"{}",[h?.data]),V=(0,g.useMemo)(()=>h?.code||"",[h?.code]),W=(0,g.useMemo)(()=>h?.data||{},[h?.data]),X=(0,g.useCallback)(a=>{if(h)try{let b=JSON.parse(a),c={...h,data:b};j(c),f?.(c)}catch{}},[h,f]);return(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-lg font-semibold",children:"Component Preview"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Generate a React/Tailwind component based on your schema"})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[!T&&(0,d.jsx)(m.$,{onClick:()=>E(),disabled:k,className:"gap-2",children:k?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(w.A,{className:"h-4 w-4 animate-spin"}),"Generating..."]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(x.A,{className:"h-4 w-4"}),"Generate"]})}),T&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(K.AM,{open:C,onOpenChange:D,children:[(0,d.jsx)(K.Wv,{asChild:!0,children:(0,d.jsx)(m.$,{variant:"outline",disabled:n||k,className:"gap-2",children:k?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(w.A,{className:"h-4 w-4 animate-spin"}),"Regenerating..."]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(y.A,{className:"h-4 w-4"}),"Regenerate"]})})}),(0,d.jsx)(K.hl,{className:"w-96",children:(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h4",{className:"font-medium text-sm mb-2",children:"Modify Component"}),(0,d.jsx)(J.J,{htmlFor:"instructions",className:"text-xs text-muted-foreground",children:"Describe what you'd like to change (optional)"}),(0,d.jsx)(Q.T,{id:"instructions",placeholder:"e.g. Make it more compact, add a border, use different icons...",value:v,onChange:a=>B(a.target.value),className:"mt-2 min-h-[100px]"})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(m.$,{size:"sm",onClick:async()=>{D(!1),await E(v||void 0),B("")},disabled:k,className:"flex-1",children:v?"Apply Changes":"Regenerate"}),(0,d.jsx)(m.$,{size:"sm",variant:"outline",onClick:()=>{D(!1),B("")},children:"Cancel"})]})]})})]}),t&&(0,d.jsx)(m.$,{variant:"destructive-outline",onClick:L,disabled:n||k,size:"icon",title:"Delete preview",children:n?(0,d.jsx)(w.A,{className:"h-4 w-4 animate-spin"}):(0,d.jsx)(z.A,{className:"h-4 w-4"})})]})]})]}),k&&p&&(0,d.jsx)(A.jH,{isAnimating:!0,className:"[&_[data-code-block-header=true]]:hidden [&_pre]:bg-muted/40!",children:`\`\`\`jsx
2
- ${p}\`\`\``}),k&&!p&&(0,d.jsx)(H.Zp,{className:"p-6",children:(0,d.jsxs)("div",{className:"flex flex-col items-center justify-center space-y-4",children:[(0,d.jsx)(w.A,{className:"h-8 w-8 animate-spin text-primary"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Generating component preview..."})]})}),T&&!k&&r&&h&&(0,d.jsxs)(M,{defaultValue:"preview",className:"w-full",children:[(0,d.jsxs)(N,{children:[(0,d.jsx)(O,{value:"preview",children:"Preview"}),(0,d.jsx)(O,{value:"code",children:"Code"}),(0,d.jsx)(O,{value:"data",children:"Sample Data"})]}),(0,d.jsx)(P,{value:"preview",children:(0,d.jsx)(H.Zp,{className:"p-6",children:(0,d.jsx)(S.s,{code:V,props:W})})}),(0,d.jsx)(P,{value:"code",children:(0,d.jsx)(F,{value:V,onChange:a=>{if(!h)return;let b={...h,code:a};j(b),f?.(b)},language:"jsx",className:"max-h-[500px]"})}),(0,d.jsx)(P,{value:"data",children:(0,d.jsx)(G.i,{value:U,onChange:X,className:"max-h-[500px]"})})]}),!T&&!k&&!r&&(0,d.jsx)(I.n,{children:(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"No preview generated"})})]})}let U={id:"",name:"",description:"",props:""};var V=c(34576),W=c(80974),X=c(62503);let Y=V.object({id:X.f,name:V.string().min(1,"Name is required."),description:V.string().min(1,"Description is required."),props:V.string().min(1,"Props schema is required.").transform((a,b)=>{try{let c=JSON.parse(a),d=(0,W._O)(a);if(!d.isValid){let a=d.errors[0]?.message||"Invalid JSON schema";return b.addIssue({code:V.ZodIssueCode.custom,message:a}),V.NEVER}return c}catch(a){return b.addIssue({code:V.ZodIssueCode.custom,message:(0,W.SR)(a)}),V.NEVER}}).optional(),preview:V.object({code:V.string(),data:V.record(V.string(),V.unknown())}).nullable().optional()});function Z({tenantId:a,projectId:b,id:c,initialData:r}){let[w,x]=(0,g.useState)(!1),y=(0,h.mN)({resolver:(0,e.u)(Y),defaultValues:(a=>{if(!a)return U;let b={...a};return b.props&&(b.props=(0,u.S_)(b.props)),b})(r)}),{isSubmitting:z}=y.formState,A=(0,f.useRouter)();(0,q.S)({form:y,nameField:"name",idField:"id",isEditing:!!c});let B=async d=>{try{let e={...d};if(c){let c=await s(a,b,e);if(!c.success)return void i.oR.error(c.error||"Failed to update component");i.oR.success("Component updated")}else{let c=await t(a,b,e);if(!c.success)return void i.oR.error(c.error||"Failed to create component");i.oR.success("Component created"),A.push(`/${a}/projects/${b}/components`)}}catch(b){console.error("Error submitting component:",b);let a=b instanceof Error?b.message:"An unexpected error occurred";i.oR.error(a)}};return(0,d.jsxs)(n.lG,{open:w,onOpenChange:x,children:[(0,d.jsx)(p.lV,{...y,children:(0,d.jsxs)("form",{onSubmit:y.handleSubmit(B),className:"space-y-8",children:[(0,d.jsx)(j.a,{control:y.control,name:"name",label:"Name",placeholder:"ListOrders",description:(0,d.jsxs)(d.Fragment,{children:["This name is used to identify the component in chat widget integration."," ",(0,d.jsx)(o.G,{href:"https://docs.inkeep.com/typescript-sdk/structured-outputs/data-components#frontend-integration",target:"_blank",children:"Learn more"})]}),isRequired:!0}),(0,d.jsx)(j.a,{control:y.control,name:"id",label:"Id",placeholder:"my-data-component",disabled:!!c,description:c?"":"Choose a unique identifier for this component. Using an existing id will replace that component.",isRequired:!0}),(0,d.jsx)(k.K,{control:y.control,name:"description",label:"Description",placeholder:"Display a list of user orders with interactive options",className:"min-h-[80px]",isRequired:!0}),(0,d.jsx)(l.S,{control:y.control,name:"props",label:"Props (JSON schema)",placeholder:"Enter a valid JSON Schema...",isRequired:!0}),c&&(0,d.jsx)(T,{tenantId:a,projectId:b,dataComponentId:c,existingPreview:r?.preview||null,onPreviewChanged:a=>{y.setValue("preview",a)}}),(0,d.jsxs)("div",{className:"flex w-full justify-between",children:[(0,d.jsx)(m.$,{type:"submit",disabled:z,children:"Save"}),c&&(0,d.jsx)(n.zM,{asChild:!0,children:(0,d.jsx)(m.$,{type:"button",variant:"secondary",children:"Delete Component"})})]})]})}),w&&c&&(0,d.jsx)(v.u,{dataComponentId:c,dataComponentName:y.getValues("name"),setIsOpen:x,redirectOnDelete:!0})]})}},29160:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>i,dynamic:()=>h});var d=c(72669),e=c(45907),f=c(54637),g=c(81438);let h="force-dynamic";async function i({children:a,params:b}){let{tenantId:c,projectId:h}=await b;try{let b=await (0,f.Sw)(c,h);return(0,d.jsx)(g.ProjectProvider,{value:b.data,children:a})}catch(a){return(0,d.jsx)(e.default,{error:a,context:"project"})}}},39878:(a,b,c)=>{"use strict";c.d(b,{$:()=>i});var d=c(59111),e=c(2856),f=c(80974),g=c(42723),h=c(67466);function i(a){return(0,d.jsxs)("div",{"data-slot":"json-editor",className:`space-y-3 relative overflow-hidden p-1 ${a.className||""}`,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 absolute top-3 right-3 z-10",children:[!a.value?.trim()&&(0,d.jsx)(e.$,{type:"button",onClick:()=>{let b=(0,f.Qj)();a.onChange(b)},variant:"outline",size:"sm",className:"h-6 px-2 text-xs rounded-sm",children:"Template"}),(0,d.jsx)(e.$,{type:"button",onClick:()=>{let b=a.value;if(b?.trim()){let c=(0,g.IB)(b);a.onChange(c)}},variant:"outline",size:"sm",className:"h-6 px-2 text-xs rounded-sm",disabled:!a.value?.trim(),children:"Format"})]}),(0,d.jsx)(h.i,{value:a.value||"",onChange:a.onChange,placeholder:a.placeholder,disabled:a.disabled,readOnly:a.readOnly})]})}},40029:(a,b,c)=>{"use strict";c.d(b,{EN:()=>i,Z3:()=>g,df:()=>j,nD:()=>k,sO:()=>h});var d=c(29991);c(58415);var e=c(8703),f=c(45796);async function g(a,b){(0,f.M2)(a),(0,f.nt)(b);let c=await (0,e.J)(`tenants/${a}/projects/${b}/data-components`);return{...c,data:c.data.map(a=>({...a,props:a.props||{}}))}}async function h(a,b,c){(0,f.M2)(a),(0,f.nt)(b);let d=await (0,e.J)(`tenants/${a}/projects/${b}/data-components/${c}`);return{...d.data,props:d.data.props||{}}}async function i(a,b,c){(0,f.M2)(a),(0,f.nt)(b);let d=await (0,e.J)(`tenants/${a}/projects/${b}/data-components`,{method:"POST",body:JSON.stringify(c)});return{...d.data,props:d.data.props||{}}}async function j(a,b,c){(0,f.M2)(a),(0,f.nt)(b);let d=await (0,e.J)(`tenants/${a}/projects/${b}/data-components/${c.id}`,{method:"PUT",body:JSON.stringify(c)});return{...d.data,props:d.data.props||{}}}async function k(a,b,c){(0,f.M2)(a),(0,f.nt)(b),await (0,e.J)(`tenants/${a}/projects/${b}/data-components/${c}`,{method:"DELETE"})}(0,c(33451).D)([g,h,i,j,k]),(0,d.A)(g,"60949ca1b6ea602c7c18e6eab63f26eafa9b2396b6",null),(0,d.A)(h,"70c249b005b1f2e2b58d0acf15ab0437a124477ba4",null),(0,d.A)(i,"708d5985ed949eb34dd67e1869a09856b4776751f7",null),(0,d.A)(j,"70582a37932f0fb05fd4d3b3ffb35a03439bcd09d2",null),(0,d.A)(k,"701133d9c281d061e9a4e70ca479f359f40a9022ea",null)},54257:(a,b,c)=>{"use strict";c.d(b,{s:()=>m});var d=c(59111),e=c(36479),f=c(14450),g=c(44451),h=c(18061),i=c(57904);let{AlertCircle:j}=e,k=String.raw;function l({error:a}){let b=String(a),c=b.split("\n"),e=c[0]||b,f=c.slice(1).join("\n");return(0,d.jsxs)(i.Fc,{variant:"destructive",className:"max-w-full",children:[(0,d.jsx)(j,{className:"h-4 w-4"}),(0,d.jsx)(i.XL,{className:"font-semibold text-sm",children:f}),(0,d.jsx)(i.TN,{className:"mt-2 space-y-2",children:(0,d.jsx)("div",{className:"font-mono text-xs break-words",children:e})})]})}function m({code:a,props:b}){let c=(0,f.useMemo)(()=>((a,b)=>{let c=a.match(/(?:export\s+(?:default\s+)?)?(?:function\s+(\w+)|const\s+(\w+)\s*=\s*(?:\(.*\)\s*=>|\(\)))/),d=c?.[1]||c?.[2]||"App";return k`
3
- import { ErrorBoundary } from "react-error-boundary";
4
-
5
- ${a}
6
-
7
- export default function App() {
8
- const props = ${JSON.stringify(b)};
9
- return (
10
- <ErrorBoundary fallbackRender={fallbackRender}>
11
- <${d} {...props} />
12
- </ErrorBoundary>
13
- );
14
- }`})(a,b),[a,b]),i=(0,f.useMemo)(()=>({fallbackRender:l,import:{"lucide-react":e,"react-error-boundary":g}}),[]),{element:j}=(0,h.CL)({code:c,scope:i});return(0,d.jsx)("div",{children:j})}},56008:(a,b,c)=>{"use strict";c.d(b,{Fs:()=>j,Hn:()=>h,Qs:()=>i,bO:()=>k});var d=c(29991);c(58415);var e=c(83248),f=c(40029),g=c(36608);async function h(a,b){try{let c=await (0,f.Z3)(a,b);return{success:!0,data:c.data}}catch(a){if(a instanceof g.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 i(a,b,c){try{let d=await (0,f.EN)(a,b,c);return(0,e.revalidatePath)(`/${a}/projects/${b}/components`),{success:!0,data:d}}catch(a){if(a instanceof g.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){try{let d=await (0,f.df)(a,b,c);return(0,e.revalidatePath)(`/${a}/projects/${b}/components`),(0,e.revalidatePath)(`/${a}/projects/${b}/components/${c.id}`),{success:!0,data:d}}catch(a){if(a instanceof g.h)return{success:!1,error:a.error.message??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,b,c){try{return await (0,f.nD)(a,b,c),(0,e.revalidatePath)(`/${a}/projects/${b}/components`),{success:!0}}catch(a){if(a instanceof g.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,c(33451).D)([h,i,j,k]),(0,d.A)(h,"60a5c1b476926be3710deb87234248204783b0c23a",null),(0,d.A)(i,"704aea726fe8567f7ef84dfbf83c9bd6191dc8cb5c",null),(0,d.A)(j,"7003eeef0faa2bdebbae100ac49c9fb6324e97256c",null),(0,d.A)(k,"70a005a49ce6e12c74116d603d0eb0a4e5d49238c9",null)},56019:(a,b,c)=>{"use strict";c.d(b,{S:()=>g});var d=c(59111),e=c(71771),f=c(39878);function g({control:a,name:b,label:c="JSON Schema",placeholder:g,disabled:h,description:i,readOnly:j,isRequired:k=!1}){return(0,d.jsx)(e.u,{control:a,name:b,label:c,description:i,isRequired:k,children:a=>(0,d.jsx)(f.$,{placeholder:g,...a,onChange:a.onChange,readOnly:j,disabled:h})})}},57904:(a,b,c)=>{"use strict";c.d(b,{Fc:()=>h,TN:()=>j,XL:()=>i});var d=c(59111),e=c(53433),f=c(42723);let g=(0,e.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 h({className:a,variant:b,...c}){return(0,d.jsx)("div",{"data-slot":"alert",role:"alert",className:(0,f.cn)(g({variant:b}),a),...c})}function i({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"alert-title",className:(0,f.cn)("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",a),...b})}function j({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"alert-description",className:(0,f.cn)("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",a),...b})}},61552:(a,b,c)=>{Promise.resolve().then(c.bind(c,45907)),Promise.resolve().then(c.bind(c,81438))},62503:(a,b,c)=>{"use strict";c.d(b,{f:()=>d});let d=c(34576).string().min(1,"Id is required.").max(64,"Id must be less than 64 characters.").regex(/^[a-zA-Z0-9_-]+$/,"Id must contain only alphanumeric characters, underscores, and dashes. No spaces allowed.")},71534:(a,b,c)=>{"use strict";c.d(b,{BT:()=>i,Wu:()=>j,ZB:()=>h,Zp:()=>f,aR:()=>g,wL:()=>k});var d=c(59111),e=c(42723);function f({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card",className:(0,e.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",a),...b})}function g({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-header",className:(0,e.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",a),...b})}function h({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-title",className:(0,e.cn)("leading-none font-semibold",a),...b})}function i({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-description",className:(0,e.cn)("text-muted-foreground text-sm",a),...b})}function j({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-content",className:(0,e.cn)("px-6",a),...b})}function k({className:a,...b}){return(0,d.jsx)("div",{"data-slot":"card-footer",className:(0,e.cn)("flex items-center px-6 [.border-t]:pt-6",a),...b})}},80974:(a,b,c)=>{"use strict";c.d(b,{Qj:()=>k,SR:()=>l,_O:()=>j});var d=c(7352),e=c(43381);let f=d.ZU.Object({type:d.ZU.Union([d.ZU.Literal("string"),d.ZU.Literal("number"),d.ZU.Literal("integer"),d.ZU.Literal("boolean"),d.ZU.Literal("array"),d.ZU.Literal("object"),d.ZU.Literal("null")]),description:d.ZU.String({minLength:1}),format:d.ZU.Optional(d.ZU.String()),pattern:d.ZU.Optional(d.ZU.String()),minimum:d.ZU.Optional(d.ZU.Number()),maximum:d.ZU.Optional(d.ZU.Number()),minLength:d.ZU.Optional(d.ZU.Number()),maxLength:d.ZU.Optional(d.ZU.Number()),items:d.ZU.Optional(d.ZU.Any()),properties:d.ZU.Optional(d.ZU.Any()),enum:d.ZU.Optional(d.ZU.Array(d.ZU.Any())),const:d.ZU.Optional(d.ZU.Any()),default:d.ZU.Optional(d.ZU.Any())}),g=d.ZU.Object({type:d.ZU.Literal("object"),properties:d.ZU.Record(d.ZU.String(),f),required:d.ZU.Array(d.ZU.String(),{minItems:1}),additionalProperties:d.ZU.Optional(d.ZU.Boolean()),description:d.ZU.Optional(d.ZU.String())}),h=e.gv.Compile(f),i=e.gv.Compile(g);function j(a){let b=[],{parsed:c,errors:d}=function(a){let b=[],c=null;if(!a?.trim())return{parsed:null,errors:b};try{c=JSON.parse(a)}catch(a){b.push({path:"root",message:a instanceof Error?a.message:"Invalid JSON syntax",type:"syntax"})}return{parsed:c,errors:b}}(a);if(d.length>0)return{isValid:!1,errors:d,warnings:b};if(!c)return{isValid:!0,errors:[],warnings:["Empty schema provided"]};let e=[...function(a){let b=[];return a&&"object"==typeof a?!i.Check(a)&&(a.type&&"object"===a.type||b.push({path:"type",message:'Schema must have type: "object" for LLM compatibility',type:"llm_requirement"}),a.properties&&"object"==typeof a.properties||b.push({path:"properties",message:'Schema must have a "properties" object',type:"schema"}),a.required&&Array.isArray(a.required)||b.push({path:"required",message:'Schema must have a "required" array (can be empty)',type:"llm_requirement"}),a.properties&&"object"==typeof a.properties&&Object.entries(a.properties).forEach(([a,c])=>{h.Check(c)||[...h.Errors(c)].forEach(c=>{let d=c.message;"/description"===c.path?d='Each property must have a "description" for LLM compatibility':"/type"===c.path&&(d='Each property must have a valid "type"'),b.push({path:`properties.${a}${c.path}`,message:d,type:"/description"===c.path?"llm_requirement":"schema"})})})):b.push({path:"root",message:"Schema must be an object",type:"schema"}),b}(c),...function(a){let b=[];return a&&"object"==typeof a&&(a.required&&Array.isArray(a.required)&&a.properties&&a.required.forEach(c=>{a.properties[c]||b.push({path:"required",message:`Required property "${c}" must exist in properties`,type:"schema"})}),a.properties&&"object"==typeof a.properties&&Object.entries(a.properties).forEach(([a,c])=>{c.description&&"string"==typeof c.description&&0!==c.description.trim().length||b.push({path:`properties.${a}.description`,message:"Each property must have a non-empty description for LLM compatibility",type:"llm_requirement"})})),b}(c)];return{isValid:0===e.length,errors:e,warnings:b}}function k(){return JSON.stringify({type:"object",properties:{example_property:{type:"string",description:"Description of what this property represents"}},required:["example_property"]},null,2)}function l(a){if(a instanceof SyntaxError){let b=a.message.toLowerCase();return b.includes("unexpected end of json input")?"Incomplete JSON - missing closing brackets or quotes":b.includes("unexpected token")?"Invalid character in JSON - check for missing commas, quotes, or brackets":b.includes("expected property name")||b.includes("expected ':' after property name")?"Property names must be in double quotes":b.includes("duplicate keys")?"Duplicate property names are not allowed":"Invalid JSON syntax - check structure and formatting"}return"Unable to parse JSON"}},81438:(a,b,c)=>{"use strict";c.d(b,{ProjectProvider:()=>e});var d=c(60241);(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")},92107:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>j});var d=c(72669),e=c(17932),f=c(96737),g=c(39885),h=c(3687),i=c(43461);function j(){return(0,d.jsx)(e.H,{breadcrumbs:[{label:"Components"}],children:(0,d.jsxs)(f.D,{children:[(0,d.jsx)(g.zY,{title:"Components",description:i.yr}),(0,d.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-3 md:gap-4",children:Array.from({length:6}).map((a,b)=>(0,d.jsx)(h.E,{className:"h-36 w-full rounded-lg"},`loading-skeleton-${b}`))})]})})}},93755:(a,b,c)=>{"use strict";c.d(b,{J:()=>h});var d=c(59111),e=c(53710),f=c(2856),g=c(96032);function h({itemName:a,isSubmitting:b,onDelete:c,customTitle:h,customDescription:i}){let j=async()=>{await c()};return(0,d.jsxs)(g.Cf,{children:[(0,d.jsx)(g.L3,{children:h||`Delete ${a||"this item"}`}),(0,d.jsx)(g.rr,{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"})]})]})}},96400:(a,b,c)=>{Promise.resolve().then(c.bind(c,43433)),Promise.resolve().then(c.bind(c,58860))},98261:(a,b,c)=>{"use strict";c.d(b,{DataComponentForm:()=>d});let d=(0,c(60241).registerClientReference)(function(){throw Error("Attempted to call DataComponentForm() from the server but DataComponentForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/components/data-components/form/data-component-form.tsx","DataComponentForm")}};
@@ -1 +0,0 @@
1
- exports.id=6109,exports.ids=[6109],exports.modules={5394:(a,b,c)=>{"use strict";c.d(b,{e:()=>e});var d=c(90147);let e=(0,d.createServerReference)("785c4340ee6576429eb76153f62e3ba78f3d4c9169",d.callServer,void 0,d.findSourceMapURL,"updateExternalAgent")},6461:(a,b,c)=>{"use strict";let d,e;c.d(b,{d_:()=>i,Ak:()=>j});var f=c(77598);function g(a){!d||d.length<a?(d=Buffer.allocUnsafe(128*a),f.webcrypto.getRandomValues(d),e=0):e+a>d.length&&(f.webcrypto.getRandomValues(d),e=0),e+=a}function h(a){return g(a|=0),d.subarray(e-a,e)}function i(a,b=21){var c;let d,e;return c=b,e=Math.ceil(1.6*(d=(2<<31-Math.clz32(a.length-1|1))-1)*c/a.length),(b=c)=>{if(!b)return"";let f="";for(;;){let c=h(e),g=e;for(;g--;)if((f+=a[c[g]&d]||"").length>=b)return f}}}function j(a=21){g(a|=0);let b="";for(let c=e-a;c<e;c++)b+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&d[c]];return b}},27159:(a,b,c)=>{"use strict";c.d(b,{bq:()=>l,eb:()=>n,gC:()=>m,l6:()=>j,yv:()=>k});var d=c(59111),e=c(29477),f=c(67048),g=c(39108),h=c(25773),i=c(42723);function j({...a}){return(0,d.jsx)(e.bL,{"data-slot":"select",...a})}function k({...a}){return(0,d.jsx)(e.WT,{"data-slot":"select-value",...a})}function l({className:a,size:b="default",children:c,...g}){return(0,d.jsxs)(e.l9,{"data-slot":"select-trigger","data-size":b,className:(0,i.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 font-normal normal-case",a),...g,children:[c,(0,d.jsx)(e.In,{asChild:!0,children:(0,d.jsx)(f.A,{className:"size-4 opacity-50"})})]})}function m({className:a,children:b,position:c="popper",...f}){return(0,d.jsx)(e.ZL,{children:(0,d.jsxs)(e.UC,{"data-slot":"select-content",className:(0,i.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto scrollbar-thin scrollbar-thumb-muted-foreground/30 dark:scrollbar-thumb-muted-foreground/50 scrollbar-track-transparent rounded-md border shadow-md","popper"===c&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:c,...f,children:[(0,d.jsx)(o,{}),(0,d.jsx)(e.LM,{className:(0,i.cn)("p-1","popper"===c&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:b}),(0,d.jsx)(p,{})]})})}function n({className:a,children:b,...c}){return(0,d.jsxs)(e.q7,{"data-slot":"select-item",className:(0,i.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",a),...c,children:[(0,d.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,d.jsx)(e.VF,{children:(0,d.jsx)(g.A,{className:"size-4"})})}),(0,d.jsx)(e.p4,{children:b})]})}function o({className:a,...b}){return(0,d.jsx)(e.PP,{"data-slot":"select-scroll-up-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(h.A,{className:"size-4"})})}function p({className:a,...b}){return(0,d.jsx)(e.wn,{"data-slot":"select-scroll-down-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(f.A,{className:"size-4"})})}},29160:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>i,dynamic:()=>h});var d=c(72669),e=c(45907),f=c(54637),g=c(81438);let h="force-dynamic";async function i({children:a,params:b}){let{tenantId:c,projectId:h}=await b;try{let b=await (0,f.Sw)(c,h);return(0,d.jsx)(g.ProjectProvider,{value:b.data,children:a})}catch(a){return(0,d.jsx)(e.default,{error:a,context:"project"})}}},55124:(a,b,c)=>{"use strict";c.d(b,{U:()=>g});var d=c(59111),e=c(27159),f=c(71771);function g({control:a,name:b,label:c,placeholder:g,options:h,disabled:i=!1,selectTriggerClassName:j,description:k,isRequired:l=!1}){return(0,d.jsx)(f.u,{control:a,name:b,label:c,description:k,isRequired:l,children:a=>(0,d.jsxs)(e.l6,{onValueChange:a.onChange,defaultValue:a.value,disabled:i,children:[(0,d.jsx)(e.bq,{disabled:i,className:j,children:(0,d.jsx)(e.yv,{placeholder:g})}),(0,d.jsx)(e.gC,{children:h.map(a=>(0,d.jsx)(e.eb,{value:a.value,disabled:a.disabled,children:a.label},a.value))})]})})}},60115:(a,b,c)=>{"use strict";c.d(b,{ExternalAgentForm:()=>d});let d=(0,c(60241).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")},61552:(a,b,c)=>{Promise.resolve().then(c.bind(c,45907)),Promise.resolve().then(c.bind(c,81438))},81097:(a,b,c)=>{"use strict";c.d(b,{$Y:()=>g,GO:()=>i,K3:()=>h,h9:()=>k,nZ:()=>j});var d=c(1274);c(2082);var e=c(53842),f=c(41979);async function g(a,b,c=1,d=50){(0,f.M2)(a),(0,f.nt)(b);let h=new URLSearchParams({page:c.toString(),limit:d.toString()});return(await (0,e.J)(`tenants/${a}/projects/${b}/credentials?${h}`)).data}async function h(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`)).data}async function i(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials`,{method:"POST",body:JSON.stringify(c)})).data}async function j(a,b,c,d){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`,{method:"PUT",body:JSON.stringify(d)})).data}async function k(a,b,c){(0,f.M2)(a),(0,f.nt)(b),await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`,{method:"DELETE"})}(0,c(95454).D)([g,h,i,j,k]),(0,d.A)(g,"78ede811b3f5c585927099af16d55aa01d2aa376db",null),(0,d.A)(h,"70bf02bb0c3fcaba0994c8ef3ae759d1424d8cf6ab",null),(0,d.A)(i,"709a2e20d1b8c94da17a25d24706af8feb78be173a",null),(0,d.A)(j,"78ea570eede2260033869b396ed3de7fc53a4199ce",null),(0,d.A)(k,"7073eee1e05ad492e106eae78f9383da6d7c0657f2",null)},81438:(a,b,c)=>{"use strict";c.d(b,{ProjectProvider:()=>e});var d=c(60241);(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")},88600:(a,b,c)=>{"use strict";c.d(b,{ExternalAgentForm:()=>v});var d=c(59111),e=c(35197),f=c(6461),g=c(485),h=c(51820),i=c(68156),j=c(17130),k=c(55124),l=c(16426),m=c(2856),n=c(93622),o=c(35229),p=c(5394),q=c(90147);let r=(0,q.createServerReference)("702b1523fc22ded4758714c77d5d9413bccc5ad457",q.callServer,void 0,q.findSourceMapURL,"createExternalAgent");var s=c(34576);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"})]})})}},96400:(a,b,c)=>{Promise.resolve().then(c.bind(c,43433)),Promise.resolve().then(c.bind(c,58860))}};
@@ -1 +0,0 @@
1
- exports.id=653,exports.ids=[653],exports.modules={29160:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>i,dynamic:()=>h});var d=c(72669),e=c(45907),f=c(54637),g=c(81438);let h="force-dynamic";async function i({children:a,params:b}){let{tenantId:c,projectId:h}=await b;try{let b=await (0,f.Sw)(c,h);return(0,d.jsx)(g.ProjectProvider,{value:b.data,children:a})}catch(a){return(0,d.jsx)(e.default,{error:a,context:"project"})}}},39878:(a,b,c)=>{"use strict";c.d(b,{$:()=>i});var d=c(59111),e=c(2856),f=c(80974),g=c(42723),h=c(67466);function i(a){return(0,d.jsxs)("div",{"data-slot":"json-editor",className:`space-y-3 relative overflow-hidden p-1 ${a.className||""}`,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 absolute top-3 right-3 z-10",children:[!a.value?.trim()&&(0,d.jsx)(e.$,{type:"button",onClick:()=>{let b=(0,f.Qj)();a.onChange(b)},variant:"outline",size:"sm",className:"h-6 px-2 text-xs rounded-sm",children:"Template"}),(0,d.jsx)(e.$,{type:"button",onClick:()=>{let b=a.value;if(b?.trim()){let c=(0,g.IB)(b);a.onChange(c)}},variant:"outline",size:"sm",className:"h-6 px-2 text-xs rounded-sm",disabled:!a.value?.trim(),children:"Format"})]}),(0,d.jsx)(h.i,{value:a.value||"",onChange:a.onChange,placeholder:a.placeholder,disabled:a.disabled,readOnly:a.readOnly})]})}},40174:(a,b,c)=>{"use strict";c.d(b,{ArtifactComponentForm:()=>A});var d=c(59111),e=c(35197),f=c(485),g=c(14450),h=c(51820),i=c(68156),j=c(17130),k=c(16426),l=c(56019),m=c(2856),n=c(96032),o=c(93622),p=c(35283),q=c(90147);let r=(0,q.createServerReference)("70e6cedcceda5b267f57e4aaa7635a901b44abee73",q.callServer,void 0,q.findSourceMapURL,"updateArtifactComponentAction"),s=(0,q.createServerReference)("70691aacf00d4eb42c4fd199eb4999e83828c2ecb5",q.callServer,void 0,q.findSourceMapURL,"createArtifactComponentAction");var t=c(42723),u=c(44533);let v={id:"",name:"",description:"",props:void 0};var w=c(34576),x=c(80974),y=c(62503);let z=w.object({id:y.f,name:w.string().min(1,"Name is required."),description:w.string().min(1,"Description is required."),props:w.union([w.string(),w.null(),w.undefined()]).transform((a,b)=>{if(a&&""!==a&&null!==a)try{let c=JSON.parse(a),d=(0,x._O)(a);if(!d.isValid){let a=d.errors[0]?.message||"Invalid JSON schema";return b.addIssue({code:w.ZodIssueCode.custom,message:a}),w.NEVER}return c}catch(a){return b.addIssue({code:w.ZodIssueCode.custom,message:(0,x.SR)(a)}),w.NEVER}}).optional()});function A({id:a,tenantId:b,projectId:c,initialData:q}){let[w,x]=(0,g.useState)(!1),y=(0,h.mN)({resolver:(0,e.u)(z),defaultValues:(a=>{if(!a)return v;let b={...a};return b.props&&(b.props=(0,t.S_)(b.props)),b})(q)}),{isSubmitting:A}=y.formState,B=(0,f.useRouter)();(0,p.S)({form:y,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 r(b,c,e);if(!a.success)return void i.oR.error(a.error||"Failed to update artifact.");i.oR.success("Artifact updated.")}else{let a=await s(b,c,e);if(!a.success)return void i.oR.error(a.error||"Failed to create artifact");i.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.";i.oR.error(a)}};return(0,d.jsxs)(n.lG,{open:w,onOpenChange:x,children:[(0,d.jsx)(o.lV,{...y,children:(0,d.jsxs)("form",{onSubmit:y.handleSubmit(C),className:"space-y-8",children:[(0,d.jsx)(j.a,{control:y.control,name:"name",label:"Name",placeholder:"Document Artifact",isRequired:!0}),(0,d.jsx)(j.a,{control:y.control,name:"id",label:"Id",placeholder:"my-artifact",disabled:!!a,isRequired:!0,description:a?"":"Choose a unique identifier for this artifact. Using an existing id will replace that artifact."}),(0,d.jsx)(k.K,{control:y.control,name:"description",label:"Description",placeholder:"Structured factual information extracted from search results",className:"min-h-[80px]",isRequired:!0}),(0,d.jsx)(l.S,{control:y.control,name:"props",label:"Props (JSON schema with inPreview indicators)",placeholder:"Enter a valid JSON Schema with inPreview flags, or leave empty to save entire tool result...",description:"Optional: Define specific fields with inPreview flags, or leave empty to capture the complete tool response."}),(0,d.jsxs)("div",{className:"flex w-full justify-between",children:[(0,d.jsx)(m.$,{type:"submit",disabled:A,children:"Save"}),a&&(0,d.jsx)(n.zM,{asChild:!0,children:(0,d.jsx)(m.$,{type:"button",variant:"secondary",children:"Delete Artifact"})})]})]})}),w&&a&&(0,d.jsx)(u.W,{artifactComponentId:a,artifactComponentName:y.getValues("name"),setIsOpen:x,redirectOnDelete:!0})]})}},41116:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"409db266c4462f4cb61717b7944f3b0ca4d720f8a5":()=>d.bW,"60088db751c799c1124baff0f63685403e9374e05b":()=>d.gL,"60190dceafec3d7403b85ab7cf0a916cc97f51a5bf":()=>d.qf,"60bef23d4e0572e3e0a126d7be9bf5266daea6baa4":()=>p,"60e4bd48818083f10d4dc5fde569828b28e9eb8497":()=>d.Dv,"70691aacf00d4eb42c4fd199eb4999e83828c2ecb5":()=>q,"707eb21aaef2152d0ce6789b2d2038296f23f4ccf3":()=>s,"70c9cc40fb2422dd1beffae061ffcef4b505486183":()=>d.Tg,"70e6cedcceda5b267f57e4aaa7635a901b44abee73":()=>r});var d=c(72025),e=c(29991);c(58415);var f=c(83248),g=c(8703),h=c(45796),i=c(33451);async function j(a,b){return(0,h.M2)(a),(0,h.nt)(b),await (0,g.J)(`tenants/${a}/projects/${b}/artifact-components`)}async function k(a,b,c){return(0,h.M2)(a),(0,h.nt)(b),(await (0,g.J)(`tenants/${a}/projects/${b}/artifact-components/${c}`)).data}async function l(a,b,c){return(0,h.M2)(a),(0,h.nt)(b),(await (0,g.J)(`tenants/${a}/projects/${b}/artifact-components`,{method:"POST",body:JSON.stringify(c)})).data}async function m(a,b,c){return(0,h.M2)(a),(0,h.nt)(b),(await (0,g.J)(`tenants/${a}/projects/${b}/artifact-components/${c.id}`,{method:"PUT",body:JSON.stringify(c)})).data}async function n(a,b,c){(0,h.M2)(a),(0,h.nt)(b),await (0,g.J)(`tenants/${a}/projects/${b}/artifact-components/${c}`,{method:"DELETE"})}(0,i.D)([j,k,l,m,n]),(0,e.A)(j,"6078499972e15a46a89d56934767ef3623384a1433",null),(0,e.A)(k,"7021ee91f40031fb9683d278a9bd34b56d397b300d",null),(0,e.A)(l,"70e8370b06c0da6a58a1a7bb07cb67c8a3f83379a0",null),(0,e.A)(m,"70611b7907fdcd376c589ba401e0127c11cebe0c3a",null),(0,e.A)(n,"702a2d191b86984557d99fb7f5acd8cb8a3b89530a",null);var o=c(36608);async function p(a,b){try{let c=await j(a,b);return{success:!0,data:c.data}}catch(a){if(a instanceof o.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function q(a,b,c){try{let d=await l(a,b,c);return(0,f.revalidatePath)(`/${a}/projects/${b}/artifacts`),{success:!0,data:d}}catch(a){if(a instanceof o.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function r(a,b,c){try{let d=await m(a,b,c);return(0,f.revalidatePath)(`/${a}/projects/${b}/artifacts`),(0,f.revalidatePath)(`/${a}/projects/${b}/artifacts/${c.id}`),{success:!0,data:d}}catch(a){if(a instanceof o.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function s(a,b,c){try{return await n(a,b,c),(0,f.revalidatePath)(`/${a}/projects/${b}/artifacts`),{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,"60bef23d4e0572e3e0a126d7be9bf5266daea6baa4",null),(0,e.A)(q,"70691aacf00d4eb42c4fd199eb4999e83828c2ecb5",null),(0,e.A)(r,"70e6cedcceda5b267f57e4aaa7635a901b44abee73",null),(0,e.A)(s,"707eb21aaef2152d0ce6789b2d2038296f23f4ccf3",null)},44533:(a,b,c)=>{"use strict";c.d(b,{W:()=>k});var d=c(59111),e=c(485),f=c(14450),g=c(68156),h=c(93755),i=c(90147);let j=(0,i.createServerReference)("707eb21aaef2152d0ce6789b2d2038296f23f4ccf3",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})}},44733:(a,b,c)=>{"use strict";c.d(b,{ArtifactComponentForm:()=>d});let d=(0,c(60241).registerClientReference)(function(){throw Error("Attempted to call ArtifactComponentForm() from the server but ArtifactComponentForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/components/artifact-components/form/artifact-component-form.tsx","ArtifactComponentForm")},56019:(a,b,c)=>{"use strict";c.d(b,{S:()=>g});var d=c(59111),e=c(71771),f=c(39878);function g({control:a,name:b,label:c="JSON Schema",placeholder:g,disabled:h,description:i,readOnly:j,isRequired:k=!1}){return(0,d.jsx)(e.u,{control:a,name:b,label:c,description:i,isRequired:k,children:a=>(0,d.jsx)(f.$,{placeholder:g,...a,onChange:a.onChange,readOnly:j,disabled:h})})}},61552:(a,b,c)=>{Promise.resolve().then(c.bind(c,45907)),Promise.resolve().then(c.bind(c,81438))},62503:(a,b,c)=>{"use strict";c.d(b,{f:()=>d});let d=c(34576).string().min(1,"Id is required.").max(64,"Id must be less than 64 characters.").regex(/^[a-zA-Z0-9_-]+$/,"Id must contain only alphanumeric characters, underscores, and dashes. No spaces allowed.")},80974:(a,b,c)=>{"use strict";c.d(b,{Qj:()=>k,SR:()=>l,_O:()=>j});var d=c(7352),e=c(43381);let f=d.ZU.Object({type:d.ZU.Union([d.ZU.Literal("string"),d.ZU.Literal("number"),d.ZU.Literal("integer"),d.ZU.Literal("boolean"),d.ZU.Literal("array"),d.ZU.Literal("object"),d.ZU.Literal("null")]),description:d.ZU.String({minLength:1}),format:d.ZU.Optional(d.ZU.String()),pattern:d.ZU.Optional(d.ZU.String()),minimum:d.ZU.Optional(d.ZU.Number()),maximum:d.ZU.Optional(d.ZU.Number()),minLength:d.ZU.Optional(d.ZU.Number()),maxLength:d.ZU.Optional(d.ZU.Number()),items:d.ZU.Optional(d.ZU.Any()),properties:d.ZU.Optional(d.ZU.Any()),enum:d.ZU.Optional(d.ZU.Array(d.ZU.Any())),const:d.ZU.Optional(d.ZU.Any()),default:d.ZU.Optional(d.ZU.Any())}),g=d.ZU.Object({type:d.ZU.Literal("object"),properties:d.ZU.Record(d.ZU.String(),f),required:d.ZU.Array(d.ZU.String(),{minItems:1}),additionalProperties:d.ZU.Optional(d.ZU.Boolean()),description:d.ZU.Optional(d.ZU.String())}),h=e.gv.Compile(f),i=e.gv.Compile(g);function j(a){let b=[],{parsed:c,errors:d}=function(a){let b=[],c=null;if(!a?.trim())return{parsed:null,errors:b};try{c=JSON.parse(a)}catch(a){b.push({path:"root",message:a instanceof Error?a.message:"Invalid JSON syntax",type:"syntax"})}return{parsed:c,errors:b}}(a);if(d.length>0)return{isValid:!1,errors:d,warnings:b};if(!c)return{isValid:!0,errors:[],warnings:["Empty schema provided"]};let e=[...function(a){let b=[];return a&&"object"==typeof a?!i.Check(a)&&(a.type&&"object"===a.type||b.push({path:"type",message:'Schema must have type: "object" for LLM compatibility',type:"llm_requirement"}),a.properties&&"object"==typeof a.properties||b.push({path:"properties",message:'Schema must have a "properties" object',type:"schema"}),a.required&&Array.isArray(a.required)||b.push({path:"required",message:'Schema must have a "required" array (can be empty)',type:"llm_requirement"}),a.properties&&"object"==typeof a.properties&&Object.entries(a.properties).forEach(([a,c])=>{h.Check(c)||[...h.Errors(c)].forEach(c=>{let d=c.message;"/description"===c.path?d='Each property must have a "description" for LLM compatibility':"/type"===c.path&&(d='Each property must have a valid "type"'),b.push({path:`properties.${a}${c.path}`,message:d,type:"/description"===c.path?"llm_requirement":"schema"})})})):b.push({path:"root",message:"Schema must be an object",type:"schema"}),b}(c),...function(a){let b=[];return a&&"object"==typeof a&&(a.required&&Array.isArray(a.required)&&a.properties&&a.required.forEach(c=>{a.properties[c]||b.push({path:"required",message:`Required property "${c}" must exist in properties`,type:"schema"})}),a.properties&&"object"==typeof a.properties&&Object.entries(a.properties).forEach(([a,c])=>{c.description&&"string"==typeof c.description&&0!==c.description.trim().length||b.push({path:`properties.${a}.description`,message:"Each property must have a non-empty description for LLM compatibility",type:"llm_requirement"})})),b}(c)];return{isValid:0===e.length,errors:e,warnings:b}}function k(){return JSON.stringify({type:"object",properties:{example_property:{type:"string",description:"Description of what this property represents"}},required:["example_property"]},null,2)}function l(a){if(a instanceof SyntaxError){let b=a.message.toLowerCase();return b.includes("unexpected end of json input")?"Incomplete JSON - missing closing brackets or quotes":b.includes("unexpected token")?"Invalid character in JSON - check for missing commas, quotes, or brackets":b.includes("expected property name")||b.includes("expected ':' after property name")?"Property names must be in double quotes":b.includes("duplicate keys")?"Duplicate property names are not allowed":"Invalid JSON syntax - check structure and formatting"}return"Unable to parse JSON"}},81438:(a,b,c)=>{"use strict";c.d(b,{ProjectProvider:()=>e});var d=c(60241);(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")},93056:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>j});var d=c(72669),e=c(17932),f=c(96737),g=c(39885),h=c(3687),i=c(43461);function j(){return(0,d.jsx)(e.H,{breadcrumbs:[{label:"Artifacts"}],children:(0,d.jsxs)(f.D,{children:[(0,d.jsx)(g.zY,{title:"Artifacts",description:i.lh}),(0,d.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-3 md:gap-4",children:Array.from({length:6}).map((a,b)=>(0,d.jsx)(h.E,{className:"h-36 w-full rounded-lg"},`loading-artifact-${b}`))})]})})}},93755:(a,b,c)=>{"use strict";c.d(b,{J:()=>h});var d=c(59111),e=c(53710),f=c(2856),g=c(96032);function h({itemName:a,isSubmitting:b,onDelete:c,customTitle:h,customDescription:i}){let j=async()=>{await c()};return(0,d.jsxs)(g.Cf,{children:[(0,d.jsx)(g.L3,{children:h||`Delete ${a||"this item"}`}),(0,d.jsx)(g.rr,{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"})]})]})}},96400:(a,b,c)=>{Promise.resolve().then(c.bind(c,43433)),Promise.resolve().then(c.bind(c,58860))}};