@inkeep/agents-manage-ui 0.23.4 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) 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 +104 -104
  3. package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +3 -3
  4. package/.next/standalone/agents-manage-ui/.next/build-manifest.json +2 -2
  5. package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +3 -3
  6. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js +2 -2
  7. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js.nft.json +1 -1
  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.js.nft.json +1 -1
  17. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js +3 -3
  19. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js.nft.json +1 -1
  20. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js +2 -2
  22. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js.nft.json +1 -1
  23. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js +1 -1
  25. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js.nft.json +1 -1
  26. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js +2 -2
  28. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js.nft.json +1 -1
  29. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js +2 -2
  31. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js.nft.json +1 -1
  32. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js +2 -2
  34. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js.nft.json +1 -1
  35. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js +2 -2
  37. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js.nft.json +1 -1
  38. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js +1 -1
  40. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js.nft.json +1 -1
  41. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js +2 -2
  43. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js.nft.json +1 -1
  44. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js +1 -1
  46. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js.nft.json +1 -1
  47. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js +2 -2
  49. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
  50. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js +2 -2
  52. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js.nft.json +1 -1
  53. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js +2 -2
  55. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js.nft.json +1 -1
  56. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
  57. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js +2 -2
  58. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js.nft.json +1 -1
  59. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page_client-reference-manifest.js +1 -1
  60. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js +2 -2
  61. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js.nft.json +1 -1
  62. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page_client-reference-manifest.js +1 -1
  63. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js +2 -2
  64. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js.nft.json +1 -1
  65. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
  66. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js +2 -2
  67. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js.nft.json +1 -1
  68. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page_client-reference-manifest.js +1 -1
  69. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js +1 -1
  70. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js.nft.json +1 -1
  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 +1 -1
  73. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js.nft.json +1 -1
  74. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page_client-reference-manifest.js +1 -1
  75. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js +1 -1
  76. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js.nft.json +1 -1
  77. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page_client-reference-manifest.js +1 -1
  78. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js +2 -2
  79. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js.nft.json +1 -1
  80. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page_client-reference-manifest.js +1 -1
  81. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js +2 -2
  82. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js.nft.json +1 -1
  83. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page_client-reference-manifest.js +1 -1
  84. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js +2 -2
  85. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js.nft.json +1 -1
  86. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page_client-reference-manifest.js +1 -1
  87. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js +1 -1
  88. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js.nft.json +1 -1
  89. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  90. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
  91. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +9 -9
  92. package/.next/standalone/agents-manage-ui/.next/server/app/api/data-components/[dataComponentId]/generate-preview/route.js +1 -1
  93. package/.next/standalone/agents-manage-ui/.next/server/app/api/data-components/[dataComponentId]/generate-preview/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route.js +1 -1
  95. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  96. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/agents-manage-ui/.next/server/app/page.js +2 -2
  98. package/.next/standalone/agents-manage-ui/.next/server/app/page.js.nft.json +1 -1
  99. package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
  100. package/.next/standalone/agents-manage-ui/.next/server/app-paths-manifest.json +3 -3
  101. package/.next/standalone/agents-manage-ui/.next/server/chunks/{9853.js → 1525.js} +1 -1
  102. package/.next/standalone/agents-manage-ui/.next/server/chunks/2005.js +1 -1
  103. package/.next/standalone/agents-manage-ui/.next/server/chunks/244.js +14 -0
  104. package/.next/standalone/agents-manage-ui/.next/server/chunks/2851.js +196 -0
  105. package/.next/standalone/agents-manage-ui/.next/server/chunks/3041.js +1 -0
  106. package/.next/standalone/agents-manage-ui/.next/server/chunks/3547.js +1 -1
  107. package/.next/standalone/agents-manage-ui/.next/server/chunks/5109.js +1 -1
  108. package/.next/standalone/agents-manage-ui/.next/server/chunks/5450.js +3 -3
  109. package/.next/standalone/agents-manage-ui/.next/server/chunks/5642.js +4080 -0
  110. package/.next/standalone/agents-manage-ui/.next/server/chunks/5732.js +1 -1
  111. package/.next/standalone/agents-manage-ui/.next/server/chunks/6741.js +1 -1
  112. package/.next/standalone/agents-manage-ui/.next/server/chunks/728.js +1 -0
  113. package/.next/standalone/agents-manage-ui/.next/server/chunks/7711.js +1 -1
  114. package/.next/standalone/agents-manage-ui/.next/server/chunks/7848.js +1 -1
  115. package/.next/standalone/agents-manage-ui/.next/server/chunks/{7953.js → 7977.js} +2 -2
  116. package/.next/standalone/agents-manage-ui/.next/server/chunks/7988.js +2 -2
  117. package/.next/standalone/agents-manage-ui/.next/server/chunks/9003.js +1 -0
  118. package/.next/standalone/agents-manage-ui/.next/server/middleware-manifest.json +5 -5
  119. package/.next/standalone/agents-manage-ui/.next/server/pages/404.html +1 -1
  120. package/.next/standalone/agents-manage-ui/.next/server/pages/500.html +1 -1
  121. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.js +1 -1
  122. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.json +1 -1
  123. package/.next/standalone/agents-manage-ui/.next/static/chunks/20837-041beb6a2f540583.js +1 -0
  124. package/.next/standalone/agents-manage-ui/.next/static/chunks/27396-d1c1a1a24f7b06ca.js +1 -0
  125. package/.next/standalone/agents-manage-ui/.next/static/chunks/28186-1f8894e8a9f58785.js +1 -0
  126. package/.next/standalone/agents-manage-ui/.next/static/chunks/39523-c0cadec114d31336.js +25 -0
  127. package/.next/standalone/agents-manage-ui/.next/static/chunks/47216-52f3cc04486d36c9.js +1 -0
  128. package/.next/standalone/agents-manage-ui/.next/static/chunks/{4875-6cc31870e1b4f78e.js → 4875-306209ac5547e001.js} +1 -1
  129. package/.next/standalone/agents-manage-ui/.next/static/chunks/{30721-9fe13c117a9408a9.js → 55851-6ebca09d3e107386.js} +1 -1
  130. package/.next/standalone/agents-manage-ui/.next/static/chunks/57786-36b73daa228df68d.js +1 -0
  131. package/.next/standalone/agents-manage-ui/.next/static/chunks/83858-2bfa9973ce3ce326.js +1 -0
  132. package/.next/standalone/agents-manage-ui/.next/static/chunks/87367-c73fa08200830a15.js +1 -0
  133. package/.next/standalone/agents-manage-ui/.next/static/chunks/{78225-17ad3e82fb563fc9.js → 93231-f6a13c3278793654.js} +1 -1
  134. package/.next/standalone/agents-manage-ui/.next/static/chunks/94167-3fd33f8ffc652db2.js +1 -0
  135. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/{page-06ad671ecebdb051.js → page-f68f3c960e8db83f.js} +1 -1
  136. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/{page-432441460d16cfca.js → page-2a7d8de41c87958d.js} +1 -1
  137. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-62cab20aa4353d45.js +1 -0
  138. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-81d720721aab1586.js +1 -0
  139. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/{page-45aa3756e3432ab6.js → page-9d7e4ff201cf3345.js} +1 -1
  140. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/{page-819342f697b73b23.js → page-8f72a85f26135a46.js} +1 -1
  141. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/{page-9163d82f18c05859.js → page-9f13fb47f54d0757.js} +1 -1
  142. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/{page-cabbbb12300d69e2.js → page-59df08cb46c7e592.js} +1 -1
  143. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/{page-15e5f802e35f9b2d.js → page-a4738db9057ca109.js} +1 -1
  144. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/{page-ed01a0be181bc578.js → page-87415ca1bf6d1477.js} +1 -1
  145. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-91ba0f87b3d09f30.js +1 -0
  146. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-bdf1d5105b7e878a.js +1 -0
  147. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-8d2ec09f9385c4a6.js +1 -0
  148. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-609abc0d3feeef77.js +1 -0
  149. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/{page-b52db9884e7955e1.js → page-cbf0830dece4f6c4.js} +1 -1
  150. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-d5ff2cbd01568451.js +1 -0
  151. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-e410d10ef6ae24de.js +1 -0
  152. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-14b54cd8fc861b32.js +1 -0
  153. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/{page-dbf18aaaa9aaf047.js → page-f64f1dc069a6d95b.js} +1 -1
  154. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page-73c7ac508b857ff8.js +1 -0
  155. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-39b4c79dd6ee832e.js +1 -0
  156. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/{page-e142f8be4dd06553.js → page-d48f9593e232f3e1.js} +1 -1
  157. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-25a2e915d1b1d0ba.js +1 -0
  158. package/.next/standalone/agents-manage-ui/.next/static/css/86b7c14b860f21e3.css +1 -0
  159. package/.next/standalone/agents-manage-ui/package.json +2 -2
  160. package/.next/standalone/packages/agents-core/package.json +1 -1
  161. package/package.json +5 -5
  162. package/src/app/api/data-components/[dataComponentId]/generate-preview/route.ts +17 -2
  163. package/src/app/api/signoz/conversations/[conversationId]/route.ts +15 -0
  164. package/src/app/globals.css +21 -0
  165. package/src/components/agent/agent.tsx +176 -5
  166. package/src/components/agent/configuration/edge-types.tsx +7 -1
  167. package/src/components/agent/configuration/node-types.tsx +7 -0
  168. package/src/components/agent/edges/agent-to-agent-edge.tsx +11 -5
  169. package/src/components/agent/edges/default-edge.tsx +54 -11
  170. package/src/components/agent/node-library/node-item.tsx +1 -1
  171. package/src/components/agent/nodes/base-node.tsx +15 -20
  172. package/src/components/agent/nodes/external-agent-node.tsx +9 -4
  173. package/src/components/agent/nodes/function-tool-node.tsx +7 -2
  174. package/src/components/agent/nodes/mcp-node.tsx +29 -26
  175. package/src/components/agent/nodes/node-tab.tsx +7 -6
  176. package/src/components/agent/nodes/sub-agent-node.tsx +8 -3
  177. package/src/components/agent/playground/chat-widget.tsx +2 -2
  178. package/src/components/agent/playground/playground.tsx +32 -2
  179. package/src/components/agent/toolbar/toolbar.tsx +18 -7
  180. package/src/components/mcp-servers/form/mcp-server-form.tsx +3 -3
  181. package/src/components/mcp-servers/selection/mcp-server-selection.tsx +3 -3
  182. package/src/components/traces/timeline/render-panel-content.tsx +55 -9
  183. package/src/components/traces/timeline/timeline-item.tsx +32 -0
  184. package/src/features/agent/domain/deserialize.ts +2 -2
  185. package/src/features/agent/domain/serialize.ts +5 -5
  186. package/src/hooks/use-auto-prefill-id-zustand.ts +2 -2
  187. package/src/hooks/use-auto-prefill-id.ts +1 -1
  188. package/src/lib/actions/data-components.ts +2 -1
  189. package/src/lib/utils/generate-id.ts +1 -1
  190. package/src/lib/utils/id-utils.ts +4 -0
  191. package/.next/standalone/agents-manage-ui/.next/server/chunks/3884.js +0 -1
  192. package/.next/standalone/agents-manage-ui/.next/server/chunks/7283.js +0 -4080
  193. package/.next/standalone/agents-manage-ui/.next/server/chunks/7613.js +0 -1
  194. package/.next/standalone/agents-manage-ui/.next/server/chunks/7714.js +0 -1
  195. package/.next/standalone/agents-manage-ui/.next/server/chunks/8664.js +0 -196
  196. package/.next/standalone/agents-manage-ui/.next/server/chunks/9525.js +0 -14
  197. package/.next/standalone/agents-manage-ui/.next/static/chunks/20837-57e1345903eae942.js +0 -1
  198. package/.next/standalone/agents-manage-ui/.next/static/chunks/2646-5e494997093f8a20.js +0 -1
  199. package/.next/standalone/agents-manage-ui/.next/static/chunks/27604-8d9cf308292ec547.js +0 -1
  200. package/.next/standalone/agents-manage-ui/.next/static/chunks/39438-3324f04d95405812.js +0 -1
  201. package/.next/standalone/agents-manage-ui/.next/static/chunks/40343-c601d93c1e721f8e.js +0 -1
  202. package/.next/standalone/agents-manage-ui/.next/static/chunks/49858-7e18c65ea9efae5d.js +0 -1
  203. package/.next/standalone/agents-manage-ui/.next/static/chunks/53821-8e97ecfda24c69bb.js +0 -1
  204. package/.next/standalone/agents-manage-ui/.next/static/chunks/85014-410be6cfd6c0b753.js +0 -25
  205. package/.next/standalone/agents-manage-ui/.next/static/chunks/94167-1d0eb19e0f384370.js +0 -1
  206. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-3865a57b0e18e871.js +0 -1
  207. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-356ac0d696aa5be8.js +0 -1
  208. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-15c26f9aa3b849e1.js +0 -1
  209. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-ad9c88bc8654631b.js +0 -1
  210. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-fca9f040a66152f9.js +0 -1
  211. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-c1364202b7b6e78e.js +0 -1
  212. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-1d0fdaea2ee9fb94.js +0 -1
  213. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-99a3f138e54fa2a3.js +0 -1
  214. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-f2a8df9cb8983d75.js +0 -1
  215. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page-ca177c1cd0f1f45a.js +0 -1
  216. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-5de5d73ac6b2641e.js +0 -1
  217. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-37eaa5406f98632b.js +0 -1
  218. package/.next/standalone/agents-manage-ui/.next/static/css/6966eea3739e6598.css +0 -1
  219. /package/.next/standalone/agents-manage-ui/.next/static/{GEgg7iTyqia87yUa_7Nha → pSmoxTjEZijMAqPrIfiP9}/_buildManifest.js +0 -0
  220. /package/.next/standalone/agents-manage-ui/.next/static/{GEgg7iTyqia87yUa_7Nha → pSmoxTjEZijMAqPrIfiP9}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[20837],{13746:(e,t,r)=>{r.d(t,{X:()=>o});var a=r(97555);let o=(0,a.createServerReference)("7094ceaf68463aad5e7c07641d8ef394f01db6b0ef",a.callServer,void 0,a.findSourceMapURL,"createMCPTool")},15660:(e,t,r)=>{r.d(t,{RuntimeConfigProvider:()=>s,y:()=>l});var a=r(60098),o=r(79178);let n=(0,o.createContext)(null);function s(e){let{value:t,children:r}=e;return(0,a.jsx)(n.Provider,{value:t,children:r})}function l(){let e=(0,o.useContext)(n);if(!e)throw Error("useRuntimeConfig must be used within <RuntimeConfigProvider>");return e}},23574:(e,t,r)=>{r.d(t,{a:()=>s});var a=r(60098),o=r(34186),n=r(35613);function s(e){let{control:t,name:r,label:s,placeholder:l,type:i="text",min:d,max:c,disabled:u,description:m,isRequired:p=!1}=e;return(0,a.jsx)(n.u,{control:t,name:r,label:s,description:m,isRequired:p,children:e=>{var t;return(0,a.jsx)(o.p,{type:i,placeholder:l,min:d,max:c,disabled:u,...e,value:null!=(t=e.value)?t:"",onChange:t=>{let r=t.target.value;"number"===i?e.onChange(""===r?null:Number(r)):e.onChange(r)}})}})}},23676:(e,t,r)=>{r.d(t,{U:()=>m});var a=r(13328),o=r(93137),n=r(79178),s=r(32028),l=r(15660),i=r(38573),d=r(61364),c=r(24843),u=r(52753);function m(e){let{tenantId:t,projectId:r,onFinish:m}=e,p=(0,o.useRouter)(),{PUBLIC_INKEEP_AGENTS_MANAGE_API_URL:f}=(0,l.y)(),{openNangoConnectHeadless:g}=(0,u.$)(),h=(0,n.useRef)(new Map),x=(0,n.useCallback)(e=>new Promise((a,o)=>{let n=h.current.get(e);n&&(n(),h.current.delete(e));try{let n=function(e){let{PUBLIC_INKEEP_AGENTS_MANAGE_API_URL:t,tenantId:r,projectId:a,id:o}=e;if(!r||"string"!=typeof r)throw Error("Invalid tenantId: must be a non-empty string");if(!o||"string"!=typeof o)throw Error("Invalid tool id: must be a non-empty string");if(!a||"string"!=typeof a)throw Error("Invalid projectId: must be a non-empty string");let n=/^[a-zA-Z0-9-_]+$/;if(!n.test(r))throw Error("Invalid tenantId format: only alphanumeric characters, hyphens, and underscores allowed");if(!n.test(o))throw Error("Invalid tool id format: only alphanumeric characters, hyphens, and underscores allowed");if(!n.test(a))throw Error("Invalid projectId format: only alphanumeric characters, hyphens, and underscores allowed");let s="".concat(t,"/oauth/login?tenantId=").concat(encodeURIComponent(r),"&projectId=").concat(encodeURIComponent(a),"&toolId=").concat(encodeURIComponent(o));if(!s.startsWith(t))throw Error("Invalid OAuth URL generated");return s}({PUBLIC_INKEEP_AGENTS_MANAGE_API_URL:f,tenantId:t,projectId:r,id:e}),s=window.open(n,"oauth-popup","width=600,height=700,scrollbars=yes,resizable=yes,status=yes,location=yes");if(!s){let t=Error("Failed to open popup for ".concat(e," - blocked by browser"));console.error(t.message),o(t);return}let l=!1,i=(n,s)=>{l||(l=!0,window.removeEventListener("message",d),c&&clearInterval(c),clearTimeout(u),h.current.delete(e),n?(m?m(e):p.push("/".concat(t,"/projects/").concat(r,"/mcp-servers/").concat(e)),a()):o(s||Error("OAuth login failed")))},d=e=>{"oauth-success"===e.data.type?i(!0):"oauth-error"===e.data.type&&i(!1,Error(e.data.error||"OAuth login failed"))};window.addEventListener("message",d);let c=null,u=setTimeout(()=>{l||(c=setInterval(()=>{try{s.closed&&i(!0)}catch(e){}},1e3))},3e3);h.current.set(e,()=>{i(!1,Error("OAuth login cancelled"))})}catch(e){o(e instanceof Error?e:Error("OAuth login failed"))}}),[f,t,r,m,p]),v=(0,n.useCallback)(async e=>{let{toolId:o,mcpServerUrl:n,toolName:s}=e,l=await g({mcpServerUrl:n,providerUniqueKey:"".concat((0,a.K_)(s),"_").concat(o),providerDisplayName:s}),i={id:(0,a.K_)(s),type:a.Ns.nango,credentialStoreId:"nango-default",retrievalParams:{connectionId:l.connectionId,providerConfigKey:l.providerConfigKey,provider:"mcp-generic",authMode:"OAUTH2"}},u=await (0,c.U)(t,r,i);await (0,d.Y)(t,r,o,{credentialReferenceId:u.id}),m?m(o):p.push("/".concat(t,"/projects/").concat(r,"/mcp-servers/").concat(o))},[g,m,p,t,r]);return{handleOAuthLogin:(0,n.useCallback)(async e=>{let{toolId:o,mcpServerUrl:n,toolName:l}=e;try{let e=await (0,i.S)(t,r),s=e.some(e=>e.type===a.Ns.nango&&e.available),d=e.some(e=>e.type===a.Ns.keychain&&e.available);if(s)await v({toolId:o,mcpServerUrl:n,toolName:l});else if(d)await x(o);else throw Error("No credential store available. Please configure Nango or Keychain.")}catch(t){let e=t instanceof Error?t:Error("OAuth login failed");throw s.oR.error(e.message),e}},[t,r,v,x])}}},24843:(e,t,r)=>{r.d(t,{U:()=>o});var a=r(97555);let o=(0,a.createServerReference)("7037dd60194b1dda5f996845e3f85541abe315eb29",a.callServer,void 0,a.findSourceMapURL,"findOrCreateCredential")},35613:(e,t,r)=>{r.d(t,{u:()=>n});var a=r(60098),o=r(86312);function n(e){let{control:t,name:r,label:n,children:s,description:l,rules:i,isRequired:d}=e;return(0,a.jsx)(o.zB,{control:t,name:r,rules:i,render:e=>{let{field:t}=e;return(0,a.jsxs)(o.eI,{className:"relative",children:[(0,a.jsx)(o.lR,{isRequired:d,children:n}),(0,a.jsx)(o.MJ,{children:s(t)}),l&&(0,a.jsx)(o.Rr,{children:l}),(0,a.jsx)(o.C5,{})]})}})}},38270:(e,t,r)=>{r.d(t,{u:()=>o});var a=r(97555);let o=(0,a.createServerReference)("40a48931494acd10489286e053e8d3f44fec7e0765",a.callServer,void 0,a.findSourceMapURL,"createProviderConnectSession")},38573:(e,t,r)=>{r.d(t,{S:()=>o});var a=r(97555);let o=(0,a.createServerReference)("602ad06d8c8a6db5e4d21179d671df57573b521906",a.callServer,void 0,a.findSourceMapURL,"listCredentialStores")},39475:(e,t,r)=>{r.d(t,{E:()=>i});var a=r(60098),o=r(97911),n=r(15625),s=r(52681);let l=(0,n.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(e){let{className:t,variant:r,asChild:n=!1,...i}=e,d=n?o.DX:"span";return(0,a.jsx)(d,{"data-slot":"badge",className:(0,s.cn)(l({variant:r}),t),...i})}},47051:(e,t,r)=>{r.d(t,{$:()=>a});let a=(0,r(84383).d_)("abcdefghijklmnopqrstuvwxyz0123456789",21)},49121:(e,t,r)=>{r.d(t,{n:()=>o});var a=r(60098);function o(e){let{title:t,Icon:r,children:o}=e;return(0,a.jsxs)("div",{className:"text-xs text-gray-800 dark:text-muted-foreground p-3 bg-gray-100/80 dark:bg-sidebar rounded-md",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[r&&(0,a.jsx)(r,{className:"w-3 h-3 text-muted-foreground"}),(0,a.jsx)("p",{className:"font-medium text-foreground font-mono uppercase",children:t})]}),o]})}r(86714)},52753:(e,t,r)=>{r.d(t,{$:()=>l});var a=r(49717),o=r(79178),n=r(15660),s=r(38270);function l(){let{PUBLIC_NANGO_SERVER_URL:e,PUBLIC_NANGO_CONNECT_BASE_URL:t}=(0,n.y)();return{openNangoConnect:(0,o.useCallback)(r=>{let{sessionToken:o,onEvent:n,connectOptions:s}=r,l=new a.Ay({host:e||void 0}).openConnectUI({baseURL:(null==s?void 0:s.baseURL)||t||void 0,apiURL:(null==s?void 0:s.apiURL)||e||void 0,onEvent:n,detectClosedAuthWindow:!0});return l.setSessionToken(o),l},[e,t]),openNangoConnectHeadless:(0,o.useCallback)(async t=>{let{mcpServerUrl:r,providerUniqueKey:o,providerDisplayName:n}=t,l=await (0,s.u)({providerName:"mcp-generic",uniqueKey:o,displayName:n}),i=new a.Ay({host:e||void 0,connectSessionToken:l});try{return await i.auth(o,{detectClosedAuthWindow:!0,params:{mcp_server_url:r}})}catch(e){if(e instanceof Error)throw Error("Nango headless auth failed: ".concat(e.message));throw e}},[e])}}},58514:(e,t,r)=>{r.d(t,{U:()=>s});var a=r(60098),o=r(96182),n=r(35613);function s(e){let{control:t,name:r,label:s,placeholder:l,options:i,disabled:d=!1,selectTriggerClassName:c,description:u,isRequired:m=!1}=e;return(0,a.jsx)(n.u,{control:t,name:r,label:s,description:u,isRequired:m,children:e=>(0,a.jsxs)(o.l6,{onValueChange:e.onChange,defaultValue:e.value,disabled:d,children:[(0,a.jsx)(o.bq,{disabled:d,className:c,children:(0,a.jsx)(o.yv,{placeholder:l})}),(0,a.jsx)(o.gC,{children:i.map(e=>(0,a.jsx)(o.eb,{value:e.value,disabled:e.disabled,children:e.label},e.value))})]})})}},61364:(e,t,r)=>{r.d(t,{Y:()=>o});var a=r(97555);let o=(0,a.createServerReference)("78c2e09b6d2d8223a080a1b583e7996292b8261e0c",a.callServer,void 0,a.findSourceMapURL,"updateMCPTool")},71558:(e,t,r)=>{r.d(t,{MCPServerForm:()=>U});var a=r(60098),o=r(18979),n=r(47051),s=r(13328),l=r(93137),i=r(75983),d=r(32028),c=r(23574),u=r(58514),m=r(86714),p=r(86312),f=r(49121),g=r(23676),h=r(13746),x=r(61364),v=r(31184),b=r(27820),y=r(79178),j=r(39475),w=r(84661),N=r(31011);function k(e){let{control:t,name:r,label:o,availableTools:n=[],description:s,disabled:l=!1}=e,{field:{value:d,onChange:c},fieldState:{error:u}}=(0,i.as)({name:r,control:t}),f=(0,y.useMemo)(()=>"object"==typeof d&&null!==d&&"type"in d?"all"===d.type?{type:"all"}:"selective"===d.type&&Array.isArray(d.tools)?{type:"selective",tools:d.tools}:{type:"selective",tools:[]}:{type:"selective",tools:[]},[d]),g=()=>{c({type:"all"})},h=()=>{c({type:"selective",tools:[]})},x=(e,t)=>{if("all"===f.type){let r=n.map(e=>e.name).filter(t=>t!==e);c({type:"selective",tools:t?[...r,e]:r})}else c({type:"selective",tools:t?[...f.tools.filter(t=>t!==e),e]:f.tools.filter(t=>t!==e)})},k=()=>{switch(f.type){case"all":return n.length;case"selective":return f.tools.filter(e=>n.some(t=>t.name===e)).length;default:return 0}},C=k()===n.length;return(0,a.jsx)(p.zB,{control:t,name:r,render:()=>(0,a.jsxs)(p.eI,{children:[(0,a.jsxs)(p.lR,{children:[o,(0,a.jsx)(j.E,{variant:"code",className:"border-none px-2 text-[10px] text-muted-foreground",children:k()})]}),s&&(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:s}),(0,a.jsxs)("div",{className:"mt-2",children:[0===n.length&&(0,a.jsx)("div",{className:"text-sm text-muted-foreground border rounded-md p-3 py-2 bg-gray-100/80 dark:bg-sidebar",children:"No tools available from this server"}),n.length>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 justify-between py-3 px-6 rounded-t-lg border border-b-0",children:[(0,a.jsxs)("div",{className:"text-sm",children:[k()," ",(0,a.jsxs)("span",{className:"text-gray-400 dark:text-white/40",children:["/ ",n.length," tool",1===n.length?"":"s"]})]}),C?(0,a.jsxs)(m.$,{type:"button",variant:"outline",size:"sm",onClick:h,disabled:l,children:[(0,a.jsx)(v.A,{className:"w-4 h-4 text-muted-foreground"}),"Deselect all"]}):(0,a.jsxs)(m.$,{type:"button",variant:"outline",size:"sm",onClick:g,disabled:l,children:[(0,a.jsx)(b.A,{className:"w-4 h-4 text-muted-foreground"}),"Select all"]})]}),(0,a.jsx)("div",{className:"max-h-96 overflow-y-auto border rounded-lg rounded-t-none scrollbar-thin scrollbar-thumb-muted-foreground/30 dark:scrollbar-thumb-muted-foreground/50 scrollbar-track-transparent",children:n.map(e=>{let t=(e=>{switch(f.type){case"all":return n.some(t=>t.name===e);case"selective":return f.tools.includes(e)&&n.some(t=>t.name===e);default:return!1}})(e.name);return(0,a.jsxs)("div",{className:"space-y-2 flex items-start gap-6 border-b last:border-b-0 py-4 px-6 relative",children:[(0,a.jsx)("div",{className:"flex items-center h-[22px]",children:(0,a.jsx)(w.S,{checked:t,disabled:l,className:"mb-0",onClick:()=>!l&&x(e.name,!t)})}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(j.E,{variant:t?"primary":"code",className:"font-mono font-medium text-xs cursor-pointer transition-colors ".concat(l?"opacity-50 cursor-not-allowed":""),onClick:()=>!l&&x(e.name,!t),children:e.name}),(0,a.jsxs)(N.Tooltip,{delayDuration:800,children:[(0,a.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,a.jsx)("p",{className:"text-sm text-muted-foreground line-clamp-1",children:e.description})}),(0,a.jsx)(N.TooltipContent,{side:"bottom",align:"start",children:e.description})]})]})]},e.name)})})]})]}),(0,a.jsx)(p.C5,{children:null==u?void 0:u.message})]})})}var C=r(66030);let R=C.discriminatedUnion("type",[C.object({type:C.literal("all")}),C.object({type:C.literal("selective"),tools:C.array(C.string())})]),I=C.object({name:C.string().min(1,"Name is required."),config:C.object({type:C.literal("mcp"),mcp:C.object({server:C.object({url:C.string().url("Must be a valid URL.")}),transport:C.object({type:C.nativeEnum(s.o7)}),toolsConfig:R.default({type:"all"})})}),credentialReferenceId:C.string().nullish(),imageUrl:C.string().optional()}),S={name:"",config:{type:"mcp",mcp:{server:{url:""},transport:{type:s.o7.streamableHttp},toolsConfig:{type:"all"}}},imageUrl:"",credentialReferenceId:"oauth"};function U(e){let{initialData:t,mode:r="create",tool:v,credentials:b,tenantId:y,projectId:j}=e,w=(0,l.useRouter)(),N=(0,i.mN)({resolver:(0,o.u)(I),defaultValues:{...S,...t}}),{handleOAuthLogin:C}=(0,g.U)({tenantId:y,projectId:j}),{isSubmitting:R}=N.formState,U=async e=>{try{if("oauth"===e.credentialReferenceId){let t=(0,n.$)();if(!await (0,s.Rt)({serverUrl:e.config.mcp.server.url,toolId:t}))return void d.oR.error("This MCP server does not support OAuth authentication. Please select a different credential.");let r={id:t,name:e.name,config:{type:"mcp",mcp:{server:{url:e.config.mcp.server.url},transport:{type:e.config.mcp.transport.type}}},credentialReferenceId:null,imageUrl:e.imageUrl},a=await (0,h.X)(y,j,r);C({toolId:a.id,mcpServerUrl:e.config.mcp.server.url,toolName:e.name});return}let t={...e,credentialReferenceId:"none"===e.credentialReferenceId?null:e.credentialReferenceId,config:{...e.config,mcp:{...e.config.mcp,activeTools:(e=>{var t;if("all"===e.type)return;let r=(null==v||null==(t=v.availableTools)?void 0:t.map(e=>e.name))||[];return e.tools.filter(e=>r.includes(e))})(e.config.mcp.toolsConfig)}}};if("update"===r&&v)await (0,x.Y)(y,j,v.id,t),d.oR.success("MCP server updated successfully"),w.push("/".concat(y,"/projects/").concat(j,"/mcp-servers/").concat(v.id));else{let e=await (0,h.X)(y,j,{...t,id:(0,n.$)()});d.oR.success("MCP server created successfully"),w.push("/".concat(y,"/projects/").concat(j,"/mcp-servers/").concat(e.id))}}catch(e){console.error("Failed to ".concat(r," MCP tool:"),e),d.oR.error("Failed to ".concat(r," MCP server. Please try again."))}};return(0,a.jsx)(p.lV,{...N,children:(0,a.jsxs)("form",{onSubmit:N.handleSubmit(U),className:"space-y-8",children:[(0,a.jsx)(c.a,{control:N.control,name:"name",label:"Name",placeholder:"MCP server",isRequired:!0}),(0,a.jsx)(c.a,{control:N.control,name:"config.mcp.server.url",label:"URL",placeholder:"https://api.example.com/mcp",isRequired:!0}),(0,a.jsx)(u.U,{control:N.control,selectTriggerClassName:"w-full",name:"config.mcp.transport.type",label:"Transport type",placeholder:"Select transport type",options:[{value:s.o7.streamableHttp,label:"Streamable HTTP"},{value:s.o7.sse,label:"Server-Sent Events (SSE)"}]}),(0,a.jsx)(c.a,{control:N.control,name:"imageUrl",label:"Image URL (optional)",placeholder:"https://example.com/icon.png or data:image/png;base64,..."}),(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsx)(u.U,{control:N.control,selectTriggerClassName:"w-full",name:"credentialReferenceId",label:"Credential",placeholder:"Select a credential",options:[{value:"oauth",label:"OAuth"},{value:"none",label:"No Authentication"},...b.map(e=>({value:e.id,label:e.id}))]}),(0,a.jsx)(f.n,{title:"How this works",children:(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("p",{children:["Select ",(0,a.jsx)("code",{className:"bg-background px-1.5 py-0.5 rounded border",children:"OAuth"}),' to authenticate with the MCP server\'s OAuth flow, which will start after you click "Create".']}),(0,a.jsxs)("p",{children:["Select"," ",(0,a.jsx)("code",{className:"bg-background px-1.5 py-0.5 rounded border",children:"No Authentication"})," ","to skip authentication (i.e. none required or add a credential later)."]}),(0,a.jsx)("p",{children:"Or select from the existing credentials you have already created."})]})})]}),"update"===r&&(0,a.jsx)(k,{control:N.control,name:"config.mcp.toolsConfig",label:"Tools",availableTools:(null==v?void 0:v.availableTools)||[],description:"Select which tools should be enabled for this MCP server"}),(0,a.jsx)(m.$,{type:"submit",disabled:R,children:"update"===r?"Save":"Create"})]})})}},84661:(e,t,r)=>{r.d(t,{S:()=>l});var a=r(60098),o=r(11469),n=r(27820),s=r(52681);function l(e){let{className:t,...r}=e;return(0,a.jsx)(o.bL,{"data-slot":"checkbox",className:(0,s.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t),...r,children:(0,a.jsx)(o.C1,{"data-slot":"checkbox-indicator",className:"flex items-center justify-center text-current transition-none",children:(0,a.jsx)(n.A,{className:"size-3.5"})})})}},86312:(e,t,r)=>{r.d(t,{C5:()=>v,MJ:()=>h,Rr:()=>x,eI:()=>f,lR:()=>g,lV:()=>d,zB:()=>u});var a=r(60098),o=r(97911),n=r(79178),s=r(75983),l=r(92752),i=r(52681);let d=s.Op,c=n.createContext({}),u=e=>{let{...t}=e;return(0,a.jsx)(c.Provider,{value:{name:t.name},children:(0,a.jsx)(s.xI,{...t})})},m=()=>{let e=n.useContext(c),t=n.useContext(p),{getFieldState:r}=(0,s.xW)(),a=(0,s.lN)({name:e.name}),o=r(e.name,a);if(!e)throw Error("useFormField should be used within <FormField>");let{id:l}=t;return{id:l,name:e.name,formItemId:"".concat(l,"-form-item"),formDescriptionId:"".concat(l,"-form-item-description"),formMessageId:"".concat(l,"-form-item-message"),...o}},p=n.createContext({});function f(e){let{className:t,...r}=e,o=n.useId();return(0,a.jsx)(p.Provider,{value:{id:o},children:(0,a.jsx)("div",{"data-slot":"form-item",className:(0,i.cn)("grid gap-2",t),...r})})}function g(e){let{className:t,isRequired:r,children:o,...n}=e,{error:s,formItemId:d}=m();return(0,a.jsxs)(l.J,{"data-slot":"form-label","data-error":!!s,className:(0,i.cn)("data-[error=true]:text-destructive gap-1",t),htmlFor:d,...n,children:[o,r&&(0,a.jsx)("span",{className:"text-red-500",children:"*"})]})}function h(e){let{...t}=e,{error:r,formItemId:n,formDescriptionId:s,formMessageId:l}=m();return(0,a.jsx)(o.DX,{"data-slot":"form-control",id:n,"aria-describedby":r?"".concat(s," ").concat(l):"".concat(s),"aria-invalid":!!r,...t})}function x(e){let{className:t,...r}=e,{formDescriptionId:o}=m();return(0,a.jsx)("p",{"data-slot":"form-description",id:o,className:(0,i.cn)("text-muted-foreground text-sm",t),...r})}function v(e){var t;let{className:r,...o}=e,{error:n,formMessageId:s}=m(),l=n?String(null!=(t=null==n?void 0:n.message)?t:""):o.children;return l?(0,a.jsx)("p",{"data-slot":"form-message",id:s,className:(0,i.cn)("text-destructive text-sm",r),...o,children:l}):null}},91096:(e,t,r)=>{r.d(t,{B:()=>s});var a=r(60098),o=r(85276),n=r.n(o);function s(e){let{items:t}=e;return(null==t?void 0:t.length)?(0,a.jsx)("nav",{className:"text-sm text-muted-foreground","aria-label":"Breadcrumb",children:(0,a.jsx)("ol",{className:"flex items-center gap-2",children:t.map((e,r)=>{let o=r===t.length-1;return(0,a.jsxs)("li",{className:"flex items-center gap-2",children:[e.href&&!o?(0,a.jsx)(n(),{href:e.href,className:"hover:text-foreground",children:e.label}):(0,a.jsx)("span",{className:o?"font-medium text-foreground":"",children:e.label}),!o&&(0,a.jsx)("span",{className:"text-muted-foreground/60",children:"›"})]},"".concat(e.label,"-").concat(r))})})}):null}},92752:(e,t,r)=>{r.d(t,{J:()=>s});var a=r(60098),o=r(80820),n=r(52681);function s(e){let{className:t,...r}=e;return(0,a.jsx)(o.b,{"data-slot":"label",className:(0,n.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",t),...r})}},96182:(e,t,r)=>{r.d(t,{bq:()=>u,eb:()=>p,gC:()=>m,l6:()=>d,yv:()=>c});var a=r(60098),o=r(63436),n=r(6826),s=r(27820),l=r(5879),i=r(52681);function d(e){let{...t}=e;return(0,a.jsx)(o.bL,{"data-slot":"select",...t})}function c(e){let{...t}=e;return(0,a.jsx)(o.WT,{"data-slot":"select-value",...t})}function u(e){let{className:t,size:r="default",children:s,...l}=e;return(0,a.jsxs)(o.l9,{"data-slot":"select-trigger","data-size":r,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",t),...l,children:[s,(0,a.jsx)(o.In,{asChild:!0,children:(0,a.jsx)(n.A,{className:"size-4 opacity-50"})})]})}function m(e){let{className:t,children:r,position:n="popper",...s}=e;return(0,a.jsx)(o.ZL,{children:(0,a.jsxs)(o.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"===n&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:n,...s,children:[(0,a.jsx)(f,{}),(0,a.jsx)(o.LM,{className:(0,i.cn)("p-1","popper"===n&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:r}),(0,a.jsx)(g,{})]})})}function p(e){let{className:t,children:r,...n}=e;return(0,a.jsxs)(o.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",t),...n,children:[(0,a.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,a.jsx)(o.VF,{children:(0,a.jsx)(s.A,{className:"size-4"})})}),(0,a.jsx)(o.p4,{children:r})]})}function f(e){let{className:t,...r}=e;return(0,a.jsx)(o.PP,{"data-slot":"select-scroll-up-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",t),...r,children:(0,a.jsx)(l.A,{className:"size-4"})})}function g(e){let{className:t,...r}=e;return(0,a.jsx)(o.wn,{"data-slot":"select-scroll-down-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",t),...r,children:(0,a.jsx)(n.A,{className:"size-4"})})}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[27396],{27396:(e,t,r)=>{r.d(t,{DataComponentForm:()=>W});var a=r(60098),n=r(18979),s=r(93137),i=r(75983),o=r(32028),d=r(23574),l=r(41392),c=r(85923),u=r(86714),m=r(30712),p=r(86312),f=r(56497),x=r(97555);let v=(0,x.createServerReference)("70bcd360a714ddc62dc65a44ad59364c8e8570a952",x.callServer,void 0,x.findSourceMapURL,"updateDataComponentAction"),g=(0,x.createServerReference)("70d9fee500e4b859923feee2073a539983890f59c4",x.callServer,void 0,x.findSourceMapURL,"createDataComponentAction");var h=r(52681),b=r(80626),j=r(62879),N=r(34640),w=r(21341),y=r(79178),S=r(33571),k=r(11424),C=r(64772),R=r(40144),F=r(3121);function A(e){let{resolvedTheme:t}=(0,F.D)(),{language:r="jsx",className:n,value:s,onChange:i,placeholder:o,disabled:d,readOnly:l,...c}=e,u=[(0,k.Q2)({jsx:"jsx"===r||"tsx"===r,typescript:"typescript"===r||"tsx"===r})];return(0,a.jsx)(R.Ay,{...c,value:s||"",onChange:e=>i(e),extensions:u,theme:"dark"===t?C.nQ:C.Bs,placeholder:o||"Enter code...",editable:!d&&!l,basicSetup:{lineNumbers:!1,foldGutter:!0,dropCursor:!1,allowMultipleSelections:!1,bracketMatching:!0,closeBrackets:!0,autocompletion:!0},"data-disabled":d?"":void 0,"data-read-only":l?"":void 0,className:(0,h.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",n)})}var E=r(88418),_=r(67696),M=r(92752),O=r(66041),D=r(11203);let L=D.bL,J=y.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)(D.B8,{ref:t,className:(0,h.cn)("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",r),...n})});J.displayName=D.B8.displayName;let B=y.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)(D.l9,{ref:t,className:(0,h.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",r),...n})});B.displayName=D.l9.displayName;let I=y.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)(D.UC,{ref:t,className:(0,h.cn)("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",r),...n})});I.displayName=D.UC.displayName;var P=r(86772);let T=(0,x.createServerReference)("7026a03262c6a5a2b1a3fb794efae64f33d075db19",x.callServer,void 0,x.findSourceMapURL,"updateDataComponent");var q=r(90845);function z(e){var t,r;let{tenantId:n,projectId:s,dataComponentId:i,existingPreview:d,onPreviewChanged:l}=e,[c,m]=(0,y.useState)(d||null),[p,f]=(0,y.useState)(!1),[x,v]=(0,y.useState)(!1),[g,h]=(0,y.useState)(""),[k,C]=(0,y.useState)(!!d),[R,F]=(0,y.useState)(!!d),[D,z]=(0,y.useState)(""),[V,G]=(0,y.useState)(!1),U=async e=>{f(!0),m(null),h(""),C(!1),F(!1);try{let t=await fetch("/api/data-components/".concat(i,"/generate-preview"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tenantId:n,projectId:s,instructions:e||void 0,existingCode:e?null==c?void 0:c.code:void 0})});if(!t.ok)throw Error("Failed to generate preview");if(!t.body)throw Error("No response body");let r=t.body.getReader(),a=new TextDecoder,d="",u=null;for(;;){let{done:e,value:t}=await r.read();if(e)break;let n=a.decode(t,{stream:!0}),s=(d+=n).split("\n");for(let e of(d=s.pop()||"",s))if(e.trim())try{let t=JSON.parse(e);u=t,t.code&&h(t.code)}catch(t){console.warn("Failed to parse line:",e,t)}}if(u)m(u),C(!0),null==l||l(u),o.oR.success("Preview generated successfully");else throw Error("No valid preview generated")}catch(e){console.error("Failed to generate preview:",e),o.oR.error("Failed to generate preview"),C(!0)}finally{f(!1)}},Z=async()=>{v(!0);try{await T(n,s,{id:i,preview:null}),m(null),F(!1),null==l||l(null),o.oR.success("Preview deleted")}catch(e){console.error("Error deleting preview:",e),o.oR.error("Failed to delete preview")}finally{v(!1)}},$=null!==c&&(null!=(r=null==(t=c.code)?void 0:t.trim().length)?r:0)>0,W=(0,y.useMemo)(()=>(null==c?void 0:c.data)?JSON.stringify(c.data,null,2):"{}",[null==c?void 0:c.data]),Q=(0,y.useMemo)(()=>(null==c?void 0:c.code)||"",[null==c?void 0:c.code]),X=(0,y.useMemo)(()=>(null==c?void 0:c.data)||{},[null==c?void 0:c.data]),H=(0,y.useCallback)(e=>{if(c)try{let t=JSON.parse(e),r={...c,data:t};m(r),null==l||l(r)}catch(e){}},[c,l]);return(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-lg font-semibold",children:"Component Preview"}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"Generate a React/Tailwind component based on your schema"})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[!$&&(0,a.jsx)(u.$,{onClick:()=>U(),disabled:p,className:"gap-2",children:p?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(b.A,{className:"h-4 w-4 animate-spin"}),"Generating..."]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(j.A,{className:"h-4 w-4"}),"Generate"]})}),$&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(O.AM,{open:V,onOpenChange:G,children:[(0,a.jsx)(O.Wv,{asChild:!0,children:(0,a.jsx)(u.$,{variant:"outline",disabled:x||p,className:"gap-2",children:p?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(b.A,{className:"h-4 w-4 animate-spin"}),"Regenerating..."]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(N.A,{className:"h-4 w-4"}),"Regenerate"]})})}),(0,a.jsx)(O.hl,{className:"w-96",children:(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h4",{className:"font-medium text-sm mb-2",children:"Modify Component"}),(0,a.jsx)(M.J,{htmlFor:"instructions",className:"text-xs text-muted-foreground",children:"Describe what you'd like to change (optional)"}),(0,a.jsx)(P.T,{id:"instructions",placeholder:"e.g. Make it more compact, add a border, use different icons...",value:D,onChange:e=>z(e.target.value),className:"mt-2 min-h-[100px]"})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(u.$,{size:"sm",onClick:async()=>{G(!1),await U(D||void 0),z("")},disabled:p,className:"flex-1",children:D?"Apply Changes":"Regenerate"}),(0,a.jsx)(u.$,{size:"sm",variant:"outline",onClick:()=>{G(!1),z("")},children:"Cancel"})]})]})})]}),R&&(0,a.jsx)(u.$,{variant:"destructive",onClick:Z,disabled:x||p,size:"icon",title:"Delete preview",children:x?(0,a.jsx)(b.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(w.A,{className:"h-4 w-4"})})]})]})]}),p&&g&&(0,a.jsx)(S.jH,{isAnimating:!0,className:"[&_[data-code-block-header=true]]:hidden [&_pre]:bg-muted/40!",children:"```jsx\n".concat(g,"```")}),p&&!g&&(0,a.jsx)(_.Zp,{className:"p-6",children:(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center space-y-4",children:[(0,a.jsx)(b.A,{className:"h-8 w-8 animate-spin text-primary"}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"Generating component preview..."})]})}),$&&!p&&k&&c&&(0,a.jsxs)(L,{defaultValue:"preview",className:"w-full",children:[(0,a.jsxs)(J,{children:[(0,a.jsx)(B,{value:"preview",children:"Preview"}),(0,a.jsx)(B,{value:"code",children:"Code"}),(0,a.jsx)(B,{value:"data",children:"Sample Data"})]}),(0,a.jsx)(I,{value:"preview",children:(0,a.jsx)(_.Zp,{className:"p-6",children:(0,a.jsx)(q.s,{code:Q,props:X})})}),(0,a.jsx)(I,{value:"code",children:(0,a.jsx)(A,{value:Q,onChange:e=>{if(!c)return;let t={...c,code:e};m(t),null==l||l(t)},language:"jsx",className:"max-h-[500px]"})}),(0,a.jsx)(I,{value:"data",children:(0,a.jsx)(E.i,{value:W,onChange:H,className:"max-h-[500px]"})})]})]})}let V={id:"",name:"",description:"",props:""};var G=r(66030),U=r(57130),Z=r(69823);let $=G.object({id:Z.f,name:G.string().min(1,"Name is required."),description:G.string().min(1,"Description is required."),props:G.string().min(1,"Props schema is required.").transform((e,t)=>{try{let a=JSON.parse(e),n=(0,U._O)(e);if(!n.isValid){var r;let e=(null==(r=n.errors[0])?void 0:r.message)||"Invalid JSON schema";return t.addIssue({code:G.ZodIssueCode.custom,message:e}),G.NEVER}return a}catch(e){return t.addIssue({code:G.ZodIssueCode.custom,message:(0,U.SR)(e)}),G.NEVER}}).optional(),preview:G.object({code:G.string(),data:G.record(G.string(),G.unknown())}).nullable().optional()});function W(e){let{tenantId:t,projectId:r,id:x,initialData:b}=e,j=(0,i.mN)({resolver:(0,n.u)($),defaultValues:(e=>{if(!e)return V;let t={...e};return t.props&&(t.props=(0,h.S_)(t.props)),t})(b)}),{isSubmitting:N}=j.formState,w=(0,s.useRouter)();(0,f.S)({form:j,nameField:"name",idField:"id",isEditing:!!x});let y=async e=>{try{let a={...e};if(x){let e=await v(t,r,a);if(!e.success)return void o.oR.error(e.error||"Failed to update component");o.oR.success("Component updated")}else{let e=await g(t,r,a);if(!e.success)return void o.oR.error(e.error||"Failed to create component");o.oR.success("Component created"),w.push("/".concat(t,"/projects/").concat(r,"/components"))}}catch(t){console.error("Error submitting component:",t);let e=t instanceof Error?t.message:"An unexpected error occurred";o.oR.error(e)}};return(0,a.jsx)(p.lV,{...j,children:(0,a.jsxs)("form",{onSubmit:j.handleSubmit(y),className:"space-y-8",children:[(0,a.jsx)(d.a,{control:j.control,name:"name",label:"Name",placeholder:"ListOrders",description:(0,a.jsxs)(a.Fragment,{children:["This name is used to identify the component in chat widget integration."," ",(0,a.jsx)(m.G,{href:"https://docs.inkeep.com/typescript-sdk/structured-outputs/data-components#frontend-integration",target:"_blank",children:"Learn more"})]}),isRequired:!0}),(0,a.jsx)(d.a,{control:j.control,name:"id",label:"Id",placeholder:"my-data-component",disabled:!!x,description:x?"":"Choose a unique identifier for this component. Using an existing id will replace that component.",isRequired:!0}),(0,a.jsx)(l.K,{control:j.control,name:"description",label:"Description",placeholder:"Display a list of user orders with interactive options",className:"min-h-[80px]",isRequired:!0}),(0,a.jsx)(c.S,{control:j.control,name:"props",label:"Props (JSON schema)",placeholder:"Enter a valid JSON Schema...",isRequired:!0}),x&&(0,a.jsx)(z,{tenantId:t,projectId:r,dataComponentId:x,existingPreview:(null==b?void 0:b.preview)||null,onPreviewChanged:e=>{j.setValue("preview",e)}}),(0,a.jsx)(u.$,{type:"submit",disabled:N,children:"Save"})]})})}},30712:(e,t,r)=>{r.d(t,{G:()=>d});var a=r(60098),n=r(38678),s=r(85276),i=r.n(s),o=r(52681);function d(e){let{href:t,children:r,className:s,iconClassName:d,...l}=e;return(0,a.jsxs)(i(),{href:t,target:"_blank",rel:"noreferrer noopener",className:(0,o.cn)("text-sm text-muted-foreground underline underline-offset-2 inline-flex items-center gap-1 hover:text-primary ml-1 group/link font-mono uppercase transition-colors",s),...l,children:[r,(0,a.jsx)(n.A,{className:(0,o.cn)("size-3.5 text-muted-foreground/60 group-hover/link:text-primary",d)})]})}},47216:(e,t,r)=>{r.d(t,{Fc:()=>o,TN:()=>l,XL:()=>d});var a=r(60098),n=r(15625),s=r(52681);let i=(0,n.F)("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90",warning:"text-amber-700 bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-amber-700/90 *:data-[slot=alert-description]:dark:text-amber-300/90 dark:text-amber-300 bg-amber-50 border-amber-200 dark:bg-amber-950/40 dark:border-amber-700"}},defaultVariants:{variant:"default"}});function o(e){let{className:t,variant:r,...n}=e;return(0,a.jsx)("div",{"data-slot":"alert",role:"alert",className:(0,s.cn)(i({variant:r}),t),...n})}function d(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"alert-title",className:(0,s.cn)("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",t),...r})}function l(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"alert-description",className:(0,s.cn)("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",t),...r})}},66041:(e,t,r)=>{r.d(t,{AM:()=>i,Wv:()=>o,hl:()=>d});var a=r(60098),n=r(54720),s=r(52681);function i(e){let{...t}=e;return(0,a.jsx)(n.bL,{"data-slot":"popover",...t})}function o(e){let{className:t,...r}=e;return(0,a.jsx)(n.l9,{"data-slot":"popover-trigger",className:(0,s.cn)("font-sans normal-case",t),...r})}function d(e){let{className:t,align:r="center",sideOffset:i=4,...o}=e;return(0,a.jsx)(n.ZL,{children:(0,a.jsx)(n.UC,{"data-slot":"popover-content",align:r,sideOffset:i,className:(0,s.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 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",t),...o})})}},67696:(e,t,r)=>{r.d(t,{BT:()=>d,Wu:()=>l,ZB:()=>o,Zp:()=>s,aR:()=>i,wL:()=>c});var a=r(60098),n=r(52681);function s(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card",className:(0,n.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...r})}function i(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card-header",className:(0,n.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",t),...r})}function o(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card-title",className:(0,n.cn)("leading-none font-semibold",t),...r})}function d(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card-description",className:(0,n.cn)("text-muted-foreground text-sm",t),...r})}function l(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card-content",className:(0,n.cn)("px-6",t),...r})}function c(e){let{className:t,...r}=e;return(0,a.jsx)("div",{"data-slot":"card-footer",className:(0,n.cn)("flex items-center px-6 [.border-t]:pt-6",t),...r})}},90845:(e,t,r)=>{r.d(t,{s:()=>f});var a=r(14290),n=r(60098),s=r(59617),i=r(79178),o=r(68641),d=r(24433),l=r(47216);function c(){let e=(0,a._)(['\n import { ErrorBoundary } from "react-error-boundary";\n\n ',"\n\n export default function App() {\n const props = ",";\n return (\n <ErrorBoundary fallbackRender={fallbackRender}>\n <"," {...props} />\n </ErrorBoundary>\n );\n }"]);return c=function(){return e},e}let{AlertCircle:u}=s,m=String.raw;function p(e){let{error:t}=e,r=String(t),a=r.split("\n"),s=a[0]||r,i=a.slice(1).join("\n");return(0,n.jsxs)(l.Fc,{variant:"destructive",className:"max-w-full",children:[(0,n.jsx)(u,{className:"h-4 w-4"}),(0,n.jsx)(l.XL,{className:"font-semibold text-sm",children:i}),(0,n.jsx)(l.TN,{className:"mt-2 space-y-2",children:(0,n.jsx)("div",{className:"font-mono text-xs break-words",children:s})})]})}function f(e){let{code:t,props:r}=e,a=(0,i.useMemo)(()=>((e,t)=>{let r=e.match(/(?:export\s+(?:default\s+)?)?(?:function\s+(\w+)|const\s+(\w+)\s*=\s*(?:\(.*\)\s*=>|\(\)))/),a=(null==r?void 0:r[1])||(null==r?void 0:r[2])||"App";return m(c(),e,JSON.stringify(t),a)})(t,r),[t,r]),l=(0,i.useMemo)(()=>({fallbackRender:p,import:{"lucide-react":s,"react-error-boundary":o}}),[]),{element:u}=(0,d.CL)({code:a,scope:l});return(0,n.jsx)("div",{children:u})}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[28186],{36429:(e,r,t)=>{t.d(r,{G$:()=>z,Hs:()=>y,UC:()=>et,VY:()=>en,ZL:()=>ee,bL:()=>Q,bm:()=>ea,hE:()=>eo,hJ:()=>er,l9:()=>X,lG:()=>w});var o=t(79178),n=t(1214),a=t(46335),i=t(11021),l=t(46228),s=t(52032),c=t(82179),d=t(8141),u=t(79979),p=t(60651),f=t(29164),m=t(27974),v=t(9116),g=t(86738),h=t(97911),b=t(60098),R="Dialog",[x,y]=(0,i.A)(R),[j,D]=x(R),w=e=>{let{__scopeDialog:r,children:t,open:n,defaultOpen:a,onOpenChange:i,modal:c=!0}=e,d=o.useRef(null),u=o.useRef(null),[p,f]=(0,s.i)({prop:n,defaultProp:null!=a&&a,onChange:i,caller:R});return(0,b.jsx)(j,{scope:r,triggerRef:d,contentRef:u,contentId:(0,l.B)(),titleId:(0,l.B)(),descriptionId:(0,l.B)(),open:p,onOpenChange:f,onOpenToggle:o.useCallback(()=>f(e=>!e),[f]),modal:c,children:t})};w.displayName=R;var C="DialogTrigger",N=o.forwardRef((e,r)=>{let{__scopeDialog:t,...o}=e,i=D(C,t),l=(0,a.s)(r,i.triggerRef);return(0,b.jsx)(f.sG.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":Z(i.open),...o,ref:l,onClick:(0,n.mK)(e.onClick,i.onOpenToggle)})});N.displayName=C;var I="DialogPortal",[S,E]=x(I,{forceMount:void 0}),O=e=>{let{__scopeDialog:r,forceMount:t,children:n,container:a}=e,i=D(I,r);return(0,b.jsx)(S,{scope:r,forceMount:t,children:o.Children.map(n,e=>(0,b.jsx)(p.C,{present:t||i.open,children:(0,b.jsx)(u.Z,{asChild:!0,container:a,children:e})}))})};O.displayName=I;var A="DialogOverlay",F=o.forwardRef((e,r)=>{let t=E(A,e.__scopeDialog),{forceMount:o=t.forceMount,...n}=e,a=D(A,e.__scopeDialog);return a.modal?(0,b.jsx)(p.C,{present:o||a.open,children:(0,b.jsx)(P,{...n,ref:r})}):null});F.displayName=A;var _=(0,h.TL)("DialogOverlay.RemoveScroll"),P=o.forwardRef((e,r)=>{let{__scopeDialog:t,...o}=e,n=D(A,t);return(0,b.jsx)(v.A,{as:_,allowPinchZoom:!0,shards:[n.contentRef],children:(0,b.jsx)(f.sG.div,{"data-state":Z(n.open),...o,ref:r,style:{pointerEvents:"auto",...o.style}})})}),k="DialogContent",q=o.forwardRef((e,r)=>{let t=E(k,e.__scopeDialog),{forceMount:o=t.forceMount,...n}=e,a=D(k,e.__scopeDialog);return(0,b.jsx)(p.C,{present:o||a.open,children:a.modal?(0,b.jsx)(G,{...n,ref:r}):(0,b.jsx)(M,{...n,ref:r})})});q.displayName=k;var G=o.forwardRef((e,r)=>{let t=D(k,e.__scopeDialog),i=o.useRef(null),l=(0,a.s)(r,t.contentRef,i);return o.useEffect(()=>{let e=i.current;if(e)return(0,g.Eq)(e)},[]),(0,b.jsx)(K,{...e,ref:l,trapFocus:t.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,n.mK)(e.onCloseAutoFocus,e=>{var r;e.preventDefault(),null==(r=t.triggerRef.current)||r.focus()}),onPointerDownOutside:(0,n.mK)(e.onPointerDownOutside,e=>{let r=e.detail.originalEvent,t=0===r.button&&!0===r.ctrlKey;(2===r.button||t)&&e.preventDefault()}),onFocusOutside:(0,n.mK)(e.onFocusOutside,e=>e.preventDefault())})}),M=o.forwardRef((e,r)=>{let t=D(k,e.__scopeDialog),n=o.useRef(!1),a=o.useRef(!1);return(0,b.jsx)(K,{...e,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:r=>{var o,i;null==(o=e.onCloseAutoFocus)||o.call(e,r),r.defaultPrevented||(n.current||null==(i=t.triggerRef.current)||i.focus(),r.preventDefault()),n.current=!1,a.current=!1},onInteractOutside:r=>{var o,i;null==(o=e.onInteractOutside)||o.call(e,r),r.defaultPrevented||(n.current=!0,"pointerdown"===r.detail.originalEvent.type&&(a.current=!0));let l=r.target;(null==(i=t.triggerRef.current)?void 0:i.contains(l))&&r.preventDefault(),"focusin"===r.detail.originalEvent.type&&a.current&&r.preventDefault()}})}),K=o.forwardRef((e,r)=>{let{__scopeDialog:t,trapFocus:n,onOpenAutoFocus:i,onCloseAutoFocus:l,...s}=e,u=D(k,t),p=o.useRef(null),f=(0,a.s)(r,p);return(0,m.Oh)(),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.n,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:i,onUnmountAutoFocus:l,children:(0,b.jsx)(c.qW,{role:"dialog",id:u.contentId,"aria-describedby":u.descriptionId,"aria-labelledby":u.titleId,"data-state":Z(u.open),...s,ref:f,onDismiss:()=>u.onOpenChange(!1)})}),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)($,{titleId:u.titleId}),(0,b.jsx)(Y,{contentRef:p,descriptionId:u.descriptionId})]})]})}),V="DialogTitle",T=o.forwardRef((e,r)=>{let{__scopeDialog:t,...o}=e,n=D(V,t);return(0,b.jsx)(f.sG.h2,{id:n.titleId,...o,ref:r})});T.displayName=V;var B="DialogDescription",J=o.forwardRef((e,r)=>{let{__scopeDialog:t,...o}=e,n=D(B,t);return(0,b.jsx)(f.sG.p,{id:n.descriptionId,...o,ref:r})});J.displayName=B;var L="DialogClose",U=o.forwardRef((e,r)=>{let{__scopeDialog:t,...o}=e,a=D(L,t);return(0,b.jsx)(f.sG.button,{type:"button",...o,ref:r,onClick:(0,n.mK)(e.onClick,()=>a.onOpenChange(!1))})});function Z(e){return e?"open":"closed"}U.displayName=L;var W="DialogTitleWarning",[z,H]=(0,i.q)(W,{contentName:k,titleName:V,docsSlug:"dialog"}),$=e=>{let{titleId:r}=e,t=H(W),n="`".concat(t.contentName,"` requires a `").concat(t.titleName,"` for the component to be accessible for screen reader users.\n\nIf you want to hide the `").concat(t.titleName,"`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/").concat(t.docsSlug);return o.useEffect(()=>{r&&(document.getElementById(r)||console.error(n))},[n,r]),null},Y=e=>{let{contentRef:r,descriptionId:t}=e,n=H("DialogDescriptionWarning"),a="Warning: Missing `Description` or `aria-describedby={undefined}` for {".concat(n.contentName,"}.");return o.useEffect(()=>{var e;let o=null==(e=r.current)?void 0:e.getAttribute("aria-describedby");t&&o&&(document.getElementById(t)||console.warn(a))},[a,r,t]),null},Q=w,X=N,ee=O,er=F,et=q,eo=T,en=J,ea=U},50741:(e,r,t)=>{t.d(r,{b:()=>c});var o=t(79178),n=t(29164),a=t(60098),i="horizontal",l=["horizontal","vertical"],s=o.forwardRef((e,r)=>{var t;let{decorative:o,orientation:s=i,...c}=e,d=(t=s,l.includes(t))?s:i;return(0,a.jsx)(n.sG.div,{"data-orientation":d,...o?{role:"none"}:{"aria-orientation":"vertical"===d?d:void 0,role:"separator"},...c,ref:r})});s.displayName="Separator";var c=s},54624:(e,r,t)=>{t.d(r,{A:()=>o});let o=(0,t(56042).A)("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]])},82237:(e,r,t)=>{t.d(r,{ArtifactComponentForm:()=>D});var o=t(60098),n=t(18979),a=t(93137),i=t(75983),l=t(32028),s=t(23574),c=t(41392),d=t(85923),u=t(86714),p=t(86312),f=t(56497),m=t(97555);let v=(0,m.createServerReference)("707ae5f66840d235d2252325c435b23d543508ebd0",m.callServer,void 0,m.findSourceMapURL,"updateArtifactComponentAction"),g=(0,m.createServerReference)("70d8dc7440086c2bc1f16cb8e3d7d60717e8a55abe",m.callServer,void 0,m.findSourceMapURL,"createArtifactComponentAction");var h=t(52681);let b={id:"",name:"",description:"",props:void 0};var R=t(66030),x=t(57130),y=t(69823);let j=R.object({id:y.f,name:R.string().min(1,"Name is required."),description:R.string().min(1,"Description is required."),props:R.union([R.string(),R.null(),R.undefined()]).transform((e,r)=>{if(e&&""!==e&&null!==e)try{let o=JSON.parse(e),n=(0,x._O)(e);if(!n.isValid){var t;let e=(null==(t=n.errors[0])?void 0:t.message)||"Invalid JSON schema";return r.addIssue({code:R.ZodIssueCode.custom,message:e}),R.NEVER}return o}catch(e){return r.addIssue({code:R.ZodIssueCode.custom,message:(0,x.SR)(e)}),R.NEVER}}).optional()});function D(e){let{id:r,tenantId:t,projectId:m,initialData:R}=e,x=(0,i.mN)({resolver:(0,n.u)(j),defaultValues:(e=>{if(!e)return b;let r={...e};return r.props&&(r.props=(0,h.S_)(r.props)),r})(R)}),{isSubmitting:y}=x.formState,D=(0,a.useRouter)();(0,f.S)({form:x,nameField:"name",idField:"id",isEditing:!!r});let w=async e=>{try{let o={...e};if(void 0===o.props&&(o.props=null),r){let e=await v(t,m,o);if(!e.success)return void l.oR.error(e.error||"Failed to update artifact.");l.oR.success("Artifact updated.")}else{let e=await g(t,m,o);if(!e.success)return void l.oR.error(e.error||"Failed to create artifact");l.oR.success("Artifact created."),D.push("/".concat(t,"/projects/").concat(m,"/artifacts"))}}catch(r){console.error("Error submitting artifact:",r);let e=r instanceof Error?r.message:"An unexpected error occurred.";l.oR.error(e)}};return(0,o.jsx)(p.lV,{...x,children:(0,o.jsxs)("form",{onSubmit:x.handleSubmit(w),className:"space-y-8",children:[(0,o.jsx)(s.a,{control:x.control,name:"name",label:"Name",placeholder:"Document Artifact",isRequired:!0}),(0,o.jsx)(s.a,{control:x.control,name:"id",label:"Id",placeholder:"my-artifact",disabled:!!r,isRequired:!0,description:r?"":"Choose a unique identifier for this artifact. Using an existing id will replace that artifact."}),(0,o.jsx)(c.K,{control:x.control,name:"description",label:"Description",placeholder:"Structured factual information extracted from search results",className:"min-h-[80px]",isRequired:!0}),(0,o.jsx)(d.S,{control:x.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,o.jsx)(u.$,{type:"submit",disabled:y,children:"Save"})]})})}}}]);