@inkeep/agents-manage-ui 0.23.5 → 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 (209) 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 +71 -71
  3. package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +1 -1
  4. package/.next/standalone/agents-manage-ui/.next/build-manifest.json +2 -2
  5. package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +3 -3
  6. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js +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 +1 -1
  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 +2 -2
  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 +1 -1
  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 +2 -2
  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_client-reference-manifest.js +1 -1
  95. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route_client-reference-manifest.js +1 -1
  96. package/.next/standalone/agents-manage-ui/.next/server/app/page.js +2 -2
  97. package/.next/standalone/agents-manage-ui/.next/server/app/page.js.nft.json +1 -1
  98. package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
  99. package/.next/standalone/agents-manage-ui/.next/server/app-paths-manifest.json +1 -1
  100. package/.next/standalone/agents-manage-ui/.next/server/chunks/{2215.js → 1525.js} +1 -1
  101. package/.next/standalone/agents-manage-ui/.next/server/chunks/2005.js +1 -1
  102. package/.next/standalone/agents-manage-ui/.next/server/chunks/244.js +14 -0
  103. package/.next/standalone/agents-manage-ui/.next/server/chunks/2851.js +196 -0
  104. package/.next/standalone/agents-manage-ui/.next/server/chunks/3547.js +1 -1
  105. package/.next/standalone/agents-manage-ui/.next/server/chunks/5109.js +1 -1
  106. package/.next/standalone/agents-manage-ui/.next/server/chunks/5642.js +4080 -0
  107. package/.next/standalone/agents-manage-ui/.next/server/chunks/5732.js +1 -1
  108. package/.next/standalone/agents-manage-ui/.next/server/chunks/728.js +1 -0
  109. package/.next/standalone/agents-manage-ui/.next/server/chunks/7848.js +1 -1
  110. package/.next/standalone/agents-manage-ui/.next/server/chunks/{7953.js → 7977.js} +2 -2
  111. package/.next/standalone/agents-manage-ui/.next/server/chunks/7988.js +2 -2
  112. package/.next/standalone/agents-manage-ui/.next/server/chunks/9003.js +1 -0
  113. package/.next/standalone/agents-manage-ui/.next/server/middleware-manifest.json +5 -5
  114. package/.next/standalone/agents-manage-ui/.next/server/pages/404.html +1 -1
  115. package/.next/standalone/agents-manage-ui/.next/server/pages/500.html +1 -1
  116. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.js +1 -1
  117. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.json +1 -1
  118. package/.next/standalone/agents-manage-ui/.next/static/chunks/20837-041beb6a2f540583.js +1 -0
  119. package/.next/standalone/agents-manage-ui/.next/static/chunks/27396-d1c1a1a24f7b06ca.js +1 -0
  120. package/.next/standalone/agents-manage-ui/.next/static/chunks/28186-1f8894e8a9f58785.js +1 -0
  121. package/.next/standalone/agents-manage-ui/.next/static/chunks/39523-c0cadec114d31336.js +25 -0
  122. package/.next/standalone/agents-manage-ui/.next/static/chunks/47216-52f3cc04486d36c9.js +1 -0
  123. package/.next/standalone/agents-manage-ui/.next/static/chunks/{4875-6cc31870e1b4f78e.js → 4875-306209ac5547e001.js} +1 -1
  124. package/.next/standalone/agents-manage-ui/.next/static/chunks/{30721-9fe13c117a9408a9.js → 55851-6ebca09d3e107386.js} +1 -1
  125. package/.next/standalone/agents-manage-ui/.next/static/chunks/57786-36b73daa228df68d.js +1 -0
  126. package/.next/standalone/agents-manage-ui/.next/static/chunks/83858-2bfa9973ce3ce326.js +1 -0
  127. package/.next/standalone/agents-manage-ui/.next/static/chunks/{78225-17ad3e82fb563fc9.js → 93231-f6a13c3278793654.js} +1 -1
  128. package/.next/standalone/agents-manage-ui/.next/static/chunks/94167-3fd33f8ffc652db2.js +1 -0
  129. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/page-f68f3c960e8db83f.js +1 -0
  130. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/page-2a7d8de41c87958d.js +1 -0
  131. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-62cab20aa4353d45.js +1 -0
  132. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-81d720721aab1586.js +1 -0
  133. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/{page-c66ccba640d47f0f.js → page-9d7e4ff201cf3345.js} +1 -1
  134. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-8f72a85f26135a46.js +1 -0
  135. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/{page-c9f433a59ec91812.js → page-9f13fb47f54d0757.js} +1 -1
  136. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/{page-b3c543ab1c4bd6b4.js → page-59df08cb46c7e592.js} +1 -1
  137. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/{page-7f0e3b8c1e661827.js → page-a4738db9057ca109.js} +1 -1
  138. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-87415ca1bf6d1477.js +1 -0
  139. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/{page-52ae0fa0a16c7979.js → page-91ba0f87b3d09f30.js} +1 -1
  140. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-bdf1d5105b7e878a.js +1 -0
  141. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-8d2ec09f9385c4a6.js +1 -0
  142. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-609abc0d3feeef77.js +1 -0
  143. 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
  144. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/{page-6a61a970c0545164.js → page-d5ff2cbd01568451.js} +1 -1
  145. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-e410d10ef6ae24de.js +1 -0
  146. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-14b54cd8fc861b32.js +1 -0
  147. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/{page-156d1009662ee964.js → page-f64f1dc069a6d95b.js} +1 -1
  148. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-39b4c79dd6ee832e.js +1 -0
  149. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/{page-1404ec909a47ed0c.js → page-d48f9593e232f3e1.js} +1 -1
  150. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-25a2e915d1b1d0ba.js +1 -0
  151. package/.next/standalone/agents-manage-ui/.next/static/css/86b7c14b860f21e3.css +1 -0
  152. package/.next/standalone/agents-manage-ui/package.json +2 -2
  153. package/.next/standalone/packages/agents-core/package.json +1 -1
  154. package/package.json +5 -5
  155. package/src/app/api/data-components/[dataComponentId]/generate-preview/route.ts +17 -2
  156. package/src/app/globals.css +21 -0
  157. package/src/components/agent/agent.tsx +176 -5
  158. package/src/components/agent/configuration/edge-types.tsx +7 -1
  159. package/src/components/agent/configuration/node-types.tsx +7 -0
  160. package/src/components/agent/edges/agent-to-agent-edge.tsx +11 -5
  161. package/src/components/agent/edges/default-edge.tsx +54 -11
  162. package/src/components/agent/node-library/node-item.tsx +1 -1
  163. package/src/components/agent/nodes/base-node.tsx +15 -20
  164. package/src/components/agent/nodes/external-agent-node.tsx +9 -4
  165. package/src/components/agent/nodes/function-tool-node.tsx +7 -2
  166. package/src/components/agent/nodes/mcp-node.tsx +29 -26
  167. package/src/components/agent/nodes/node-tab.tsx +7 -6
  168. package/src/components/agent/nodes/sub-agent-node.tsx +8 -3
  169. package/src/components/agent/playground/chat-widget.tsx +2 -2
  170. package/src/components/agent/playground/playground.tsx +2 -2
  171. package/src/components/agent/toolbar/toolbar.tsx +18 -7
  172. package/src/components/mcp-servers/form/mcp-server-form.tsx +3 -3
  173. package/src/components/mcp-servers/selection/mcp-server-selection.tsx +3 -3
  174. package/src/features/agent/domain/deserialize.ts +2 -2
  175. package/src/features/agent/domain/serialize.ts +5 -5
  176. package/src/hooks/use-auto-prefill-id-zustand.ts +2 -2
  177. package/src/hooks/use-auto-prefill-id.ts +1 -1
  178. package/src/lib/actions/data-components.ts +2 -1
  179. package/src/lib/utils/generate-id.ts +1 -1
  180. package/src/lib/utils/id-utils.ts +4 -0
  181. package/.next/standalone/agents-manage-ui/.next/server/chunks/2557.js +0 -1
  182. package/.next/standalone/agents-manage-ui/.next/server/chunks/4883.js +0 -1
  183. package/.next/standalone/agents-manage-ui/.next/server/chunks/5112.js +0 -196
  184. package/.next/standalone/agents-manage-ui/.next/server/chunks/5416.js +0 -14
  185. package/.next/standalone/agents-manage-ui/.next/server/chunks/7283.js +0 -4080
  186. package/.next/standalone/agents-manage-ui/.next/static/chunks/13578-0ecceb958c0ce63f.js +0 -1
  187. package/.next/standalone/agents-manage-ui/.next/static/chunks/20837-4b00b831f3de1892.js +0 -1
  188. package/.next/standalone/agents-manage-ui/.next/static/chunks/27208-36636f32d254d800.js +0 -1
  189. package/.next/standalone/agents-manage-ui/.next/static/chunks/39438-3324f04d95405812.js +0 -1
  190. package/.next/standalone/agents-manage-ui/.next/static/chunks/56461-61f28c6fa4039d33.js +0 -1
  191. package/.next/standalone/agents-manage-ui/.next/static/chunks/61330-f978ea4653e10ca7.js +0 -1
  192. package/.next/standalone/agents-manage-ui/.next/static/chunks/85014-410be6cfd6c0b753.js +0 -25
  193. package/.next/standalone/agents-manage-ui/.next/static/chunks/94167-1d0eb19e0f384370.js +0 -1
  194. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/page-cc373d319cdfb74f.js +0 -1
  195. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/page-2ceba25d996bf510.js +0 -1
  196. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-f473cdc852dcea1b.js +0 -1
  197. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-08978f8575693f81.js +0 -1
  198. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-0e7fd82b8c436b6f.js +0 -1
  199. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-9193e456fc869fb3.js +0 -1
  200. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-bf5914023071d49d.js +0 -1
  201. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-3d78f1d4b32c2ef0.js +0 -1
  202. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-be427c6132d3dd87.js +0 -1
  203. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-0abb5f43d02da2b4.js +0 -1
  204. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-6e316e6b84440446.js +0 -1
  205. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-0cc06bd02445112e.js +0 -1
  206. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-b8d6461cf022b06c.js +0 -1
  207. package/.next/standalone/agents-manage-ui/.next/static/css/5dfa86d258326297.css +0 -1
  208. /package/.next/standalone/agents-manage-ui/.next/static/{2ceZLQWaXoj5yCGjkjRcx → pSmoxTjEZijMAqPrIfiP9}/_buildManifest.js +0 -0
  209. /package/.next/standalone/agents-manage-ui/.next/static/{2ceZLQWaXoj5yCGjkjRcx → pSmoxTjEZijMAqPrIfiP9}/_ssgManifest.js +0 -0
@@ -1,5 +1,4 @@
1
1
  import { Bug, X } from 'lucide-react';
2
- import { nanoid } from 'nanoid';
3
2
  import { useState } from 'react';
4
3
  import { toast } from 'sonner';
5
4
  import { TimelineWrapper } from '@/components/traces/timeline/timeline-wrapper';
@@ -7,6 +6,7 @@ import { Button } from '@/components/ui/button';
7
6
  import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from '@/components/ui/resizable';
8
7
  import { useChatActivitiesPolling } from '@/hooks/use-chat-activities-polling';
9
8
  import type { DataComponent } from '@/lib/api/data-components';
9
+ import { generateId } from '@/lib/utils/id-utils';
10
10
  import { copyTraceToClipboard } from '@/lib/utils/trace-formatter';
11
11
  import { ChatWidget } from './chat-widget';
12
12
  import CustomHeadersDialog from './custom-headers-dialog';
@@ -28,7 +28,7 @@ export const Playground = ({
28
28
  setShowPlayground,
29
29
  dataComponentLookup = {},
30
30
  }: PlaygroundProps) => {
31
- const [conversationId, setConversationId] = useState<string>(nanoid());
31
+ const [conversationId, setConversationId] = useState<string>(generateId());
32
32
  const [customHeaders, setCustomHeaders] = useState<Record<string, string>>({});
33
33
  const [showTraces, setShowTraces] = useState<boolean>(false);
34
34
  const [isCopying, setIsCopying] = useState(false);
@@ -1,5 +1,5 @@
1
1
  import { Play, Settings } from 'lucide-react';
2
- import { useEffect, useRef } from 'react';
2
+ import { useEffect, useRef, type ComponentProps } from 'react';
3
3
  import { Button } from '@/components/ui/button';
4
4
  import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';
5
5
  import { useAgentStore } from '@/features/agent/state/use-agent-store';
@@ -20,14 +20,20 @@ export function Toolbar({
20
20
  }: ToolbarProps) {
21
21
  const dirty = useAgentStore((state) => state.dirty);
22
22
  const saveButtonRef = useRef<HTMLButtonElement>(null);
23
+
24
+ const commonProps: ComponentProps<typeof Button> = {
25
+ className: 'backdrop-blur-3xl',
26
+ type: 'button',
27
+ variant: 'outline',
28
+ };
29
+
23
30
  const PreviewButton = (
24
31
  <Button
32
+ {...commonProps}
25
33
  disabled={dirty || inPreviewDisabled}
26
- variant="outline"
27
- type="button"
28
34
  onClick={() => setShowPlayground(true)}
29
35
  >
30
- <Play className="w-4 h-4 text-muted-foreground" />
36
+ <Play className="size-4 text-muted-foreground" />
31
37
  Try it
32
38
  </Button>
33
39
  );
@@ -48,10 +54,14 @@ export function Toolbar({
48
54
  }, []);
49
55
 
50
56
  return (
51
- <div className="flex gap-2">
57
+ <div className="flex gap-2 flex-wrap justify-end content-start">
52
58
  {dirty || inPreviewDisabled ? (
53
59
  <Tooltip>
54
60
  <TooltipTrigger asChild>
61
+ {/**
62
+ * Wrap the disabled button in a <div> that can receive hover events since disabled <button> elements
63
+ * don’t trigger pointer events in the browser
64
+ **/}
55
65
  <div>{PreviewButton}</div>
56
66
  </TooltipTrigger>
57
67
  <TooltipContent>
@@ -64,6 +74,7 @@ export function Toolbar({
64
74
  PreviewButton
65
75
  )}
66
76
  <Button
77
+ {...commonProps}
67
78
  onClick={onSubmit}
68
79
  variant={dirty ? 'default' : 'outline'}
69
80
  disabled={!dirty && !inPreviewDisabled}
@@ -71,8 +82,8 @@ export function Toolbar({
71
82
  >
72
83
  {inPreviewDisabled ? 'Save' : 'Save changes'}
73
84
  </Button>
74
- <Button type="button" variant="outline" onClick={toggleSidePane}>
75
- <Settings className="w-4 h-4" />
85
+ <Button {...commonProps} onClick={toggleSidePane}>
86
+ <Settings className="size-4" />
76
87
  Agent Settings
77
88
  </Button>
78
89
  </div>
@@ -1,8 +1,8 @@
1
1
  'use client';
2
2
 
3
3
  import { zodResolver } from '@hookform/resolvers/zod';
4
+ import { generateId } from '@/lib/utils/id-utils';
4
5
  import { detectAuthenticationRequired, MCPTransportType } from '@inkeep/agents-core/client-exports';
5
- import { nanoid } from 'nanoid';
6
6
  import { useRouter } from 'next/navigation';
7
7
  import { useForm } from 'react-hook-form';
8
8
  import { toast } from 'sonner';
@@ -82,7 +82,7 @@ export function MCPServerForm({
82
82
  try {
83
83
  // handle oauth login
84
84
  if (data.credentialReferenceId === 'oauth') {
85
- const toolId = nanoid();
85
+ const toolId = generateId();
86
86
 
87
87
  const isAuthenticationRequired = await detectAuthenticationRequired({
88
88
  serverUrl: data.config.mcp.server.url,
@@ -146,7 +146,7 @@ export function MCPServerForm({
146
146
  } else {
147
147
  const newTool = await createMCPTool(tenantId, projectId, {
148
148
  ...transformedData,
149
- id: nanoid(),
149
+ id: generateId(),
150
150
  });
151
151
  toast.success('MCP server created successfully');
152
152
  router.push(`/${tenantId}/projects/${projectId}/mcp-servers/${newTool.id}`);
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
 
3
- import { nanoid } from 'nanoid';
3
+ import { generateId } from '@/lib/utils/id-utils';
4
4
  import { useRouter } from 'next/navigation';
5
5
  import { useState } from 'react';
6
6
  import { toast } from 'sonner';
@@ -39,7 +39,7 @@ export function MCPServerSelection({ credentials, tenantId, projectId }: MCPServ
39
39
  try {
40
40
  // Transform prebuilt server data to MCPToolFormData format
41
41
  const mcpToolData = {
42
- id: nanoid(),
42
+ id: generateId(),
43
43
  name: server.name,
44
44
  config: {
45
45
  type: 'mcp' as const,
@@ -62,7 +62,7 @@ export function MCPServerSelection({ credentials, tenantId, projectId }: MCPServ
62
62
  toast.success(`${server.name} MCP server created successfully`);
63
63
  router.push(`/${tenantId}/projects/${projectId}/mcp-servers/${newTool.id}`);
64
64
  } else {
65
- handleOAuthLogin({toolId: newTool.id, mcpServerUrl: server.url, toolName: server.name});
65
+ handleOAuthLogin({ toolId: newTool.id, mcpServerUrl: server.url, toolName: server.name });
66
66
  }
67
67
  } catch (error) {
68
68
  console.error('Failed to create prebuilt MCP server:', error);
@@ -1,6 +1,6 @@
1
+ import { generateId } from '@/lib/utils/id-utils';
1
2
  import type { Edge, Node } from '@xyflow/react';
2
3
  import * as dagre from 'dagre';
3
- import { nanoid } from 'nanoid';
4
4
  import { EdgeType } from '@/components/agent/configuration/edge-types';
5
5
  import {
6
6
  agentNodeSourceHandleId,
@@ -205,7 +205,7 @@ export function deserializeAgentData(data: FullAgentDefinition): TransformResult
205
205
  if ('canUse' in agent && agent.canUse && agent.canUse.length > 0) {
206
206
  for (const canUseItem of agent.canUse) {
207
207
  const toolId = canUseItem.toolId;
208
- const toolNodeId = nanoid();
208
+ const toolNodeId = generateId();
209
209
  const relationshipId = canUseItem.agentToolRelationId;
210
210
 
211
211
  const tool = data.tools?.[toolId] || data.functionTools?.[toolId];
@@ -1,5 +1,5 @@
1
+ import { generateId } from '@/lib/utils/id-utils';
1
2
  import type { Edge, Node } from '@xyflow/react';
2
- import { nanoid } from 'nanoid';
3
3
  import type { AgentToolConfigLookup } from '@/components/agent/agent';
4
4
  import type { AgentMetadata } from '@/components/agent/configuration/agent-types';
5
5
  import type { A2AEdgeData } from '@/components/agent/configuration/edge-types';
@@ -259,7 +259,7 @@ export function serializeAgentData(
259
259
  ...(stopWhen && { stopWhen }),
260
260
  };
261
261
 
262
- if ((node.data as any).isDefault) {
262
+ if (node.data.isDefault) {
263
263
  defaultSubAgentId = subAgentId;
264
264
  }
265
265
 
@@ -280,7 +280,7 @@ export function serializeAgentData(
280
280
  credentialReferenceId: (node.data.credentialReferenceId as string) || null,
281
281
  };
282
282
 
283
- if ((node.data as any).isDefault) {
283
+ if (node.data.isDefault) {
284
284
  defaultSubAgentId = subAgentId;
285
285
  }
286
286
 
@@ -378,7 +378,7 @@ export function serializeAgentData(
378
378
  }
379
379
 
380
380
  const result: FullAgentDefinition = {
381
- id: metadata?.id || nanoid(),
381
+ id: metadata?.id || generateId(),
382
382
  name: metadata?.name || 'Untitled Agent',
383
383
  description: metadata?.description || undefined,
384
384
  defaultSubAgentId,
@@ -432,7 +432,7 @@ export function serializeAgentData(
432
432
 
433
433
  // Add contextConfig if there's meaningful data
434
434
  if (hasContextConfig && metadata?.contextConfig) {
435
- const contextConfigId = metadata.contextConfig.id || nanoid();
435
+ const contextConfigId = metadata.contextConfig.id || generateId();
436
436
  (result as any).contextConfigId = contextConfigId;
437
437
  (result as any).contextConfig = {
438
438
  id: contextConfigId,
@@ -1,5 +1,5 @@
1
1
  import { useEffect, useRef } from 'react';
2
- import { generateId } from '@/lib/utils/generate-id';
2
+ import { generateIdFromName } from '@/lib/utils/generate-id';
3
3
 
4
4
  interface UseAutoPrefillIdZustandOptions {
5
5
  nameValue: string | undefined;
@@ -56,7 +56,7 @@ export function useAutoPrefillIdZustand({
56
56
  // Auto-prefill ID based on name field
57
57
  useEffect(() => {
58
58
  if (!isEditing && nameValue && !hasManuallyEditedId.current) {
59
- const generatedId = generateId(nameValue);
59
+ const generatedId = generateIdFromName(nameValue);
60
60
 
61
61
  // Only update if the generated ID is different from current ID
62
62
  if (generatedId !== currentIdValue.current) {
@@ -1,6 +1,6 @@
1
1
  import { useEffect } from 'react';
2
2
  import { type FieldValues, type UseFormReturn, useWatch } from 'react-hook-form';
3
- import { generateId } from '@/lib/utils/generate-id';
3
+ import { generateId } from '@/lib/utils/id-utils';
4
4
 
5
5
  interface UseAutoPrefillIdOptions<T extends FieldValues> {
6
6
  form: UseFormReturn<T>;
@@ -95,9 +95,10 @@ export async function updateDataComponentAction(
95
95
  };
96
96
  } catch (error) {
97
97
  if (error instanceof ApiError) {
98
+ const errorMessage = error.error.message ?? error.message;
98
99
  return {
99
100
  success: false,
100
- error: error.message,
101
+ error: errorMessage,
101
102
  code: error.error.code,
102
103
  };
103
104
  }
@@ -3,7 +3,7 @@
3
3
  * @param name - The name to generate an ID from
4
4
  * @returns The generated ID
5
5
  */
6
- export const generateId = (name: string) => {
6
+ export const generateIdFromName = (name: string) => {
7
7
  return name
8
8
  .toLowerCase()
9
9
  .trim()
@@ -0,0 +1,4 @@
1
+ import { customAlphabet } from 'nanoid';
2
+
3
+ // This ensures IDs are always lowercase and never start with a hyphen
4
+ export const generateId = customAlphabet('abcdefghijklmnopqrstuvwxyz0123456789', 21);
@@ -1 +0,0 @@
1
- "use strict";exports.id=2557,exports.ids=[2557],exports.modules={5294:(a,b,c)=>{c.d(b,{$Y:()=>g,GO:()=>i,K3:()=>h,h9:()=>k});var d=c(29991);c(58415);var e=c(8703),f=c(45796);async function g(a,b,c=1,d=50){(0,f.M2)(a),(0,f.nt)(b);let h=new URLSearchParams({page:c.toString(),limit:d.toString()});return(await (0,e.J)(`tenants/${a}/projects/${b}/credentials?${h}`)).data}async function h(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`)).data}async function i(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials`,{method:"POST",body:JSON.stringify(c)})).data}async function j(a,b,c,d){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`,{method:"PUT",body:JSON.stringify(d)})).data}async function k(a,b,c){(0,f.M2)(a),(0,f.nt)(b),await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${c}`,{method:"DELETE"})}(0,c(33451).D)([g,h,i,j,k]),(0,d.A)(g,"783d005aa5d19329ae583d5b8827ee21407f999d80",null),(0,d.A)(h,"704846b83f466097610f348314e4df394b2ba01eae",null),(0,d.A)(i,"70fc8cad33bc70913106de6862351dea4de22be85b",null),(0,d.A)(j,"78582e37e94e90182d2fa51104c46e859b2ee831d6",null),(0,d.A)(k,"70f2d9381ef6597b1aeeb783b27bcad0e431e0cd55",null)},19329:(a,b,c)=>{c.d(b,{U:()=>f});var d=c(29991);c(58415);var e=c(5294);async function f(a,b,c){try{let d=await (0,e.K3)(a,b,c.id);if(d)return d}catch{}try{return await (0,e.GO)(a,b,c)}catch(a){throw console.error("Failed to save credential to database:",a),Error(`Failed to save credential '${c.id}' to database`)}}(0,c(33451).D)([f]),(0,d.A)(f,"70369cff52fd69ec1fced9046350ec543bc1fa75a8",null)},21395:(a,b,c)=>{c.d(b,{RN:()=>t,Ak:()=>q,uP:()=>u,tN:()=>r,Mj:()=>p,tQ:()=>o,pv:()=>n,Mb:()=>m,H6:()=>v,EN:()=>l,P:()=>w});var d=c(29991);c(58415);var e=c(47990),f=c(69973),g=c(67417);class h extends Error{constructor(a,b,c){super(a),this.operation=b,this.cause=c,this.name="NangoError"}}function i(a,b,c){if(a instanceof h)throw a;throw new h(b,c,a)}var j=c(33451);let k=()=>{let a=process.env.NANGO_SECRET_KEY;if(!a)throw new h("NANGO_SECRET_KEY environment variable is required for Nango integration");try{return new f.CA({secretKey:a,host:process.env.NANGO_SERVER_URL||process.env.PUBLIC_NANGO_SERVER_URL||g.ko})}catch(a){throw new h("Failed to initialize Nango client","new Nango",a)}};async function l(){let a=process.env.NANGO_SECRET_KEY;return!!(a&&""!==a.trim())}async function m(){try{let a=k();return(await a.listProviders({})).data}catch(a){console.error("Failed to fetch providers:",a),i(a,"Unable to retrieve available providers from Nango","listProviders")}}async function n(a){try{let b=k();return(await b.getProvider({provider:a})).data}catch(b){console.error(`Failed to fetch provider ${a}:`,b),i(b,`Provider '${a}' not found or inaccessible`,"getProvider")}}async function o(){try{let a=k();return(await a.listIntegrations()).configs}catch(a){console.error("Failed to fetch integrations:",a),i(a,"Unable to retrieve existing integrations","listIntegrations")}}async function p(a){try{let b=k(),c=(await b.getIntegration({uniqueKey:a},{include:["credentials"]})).data,d=!1;d=c.credentials?.type==="OAUTH2"||c.credentials?.type==="OAUTH1"||c.credentials?.type==="TBA"?!!(c.credentials?.client_id&&c.credentials?.client_secret):c.credentials?.type!=="APP"||!!(c.credentials?.app_id&&c.credentials?.app_link);let{credentials:e,...f}=c;return{...f,areCredentialsSet:d}}catch(b){if(b&&"object"==typeof b&&"status"in b&&404===b.status)return null;console.error(`Failed to fetch integration ${a}:`,b),i(b,`Unable to fetch integration with key '${a}'`,"getIntegration")}}async function q(a){try{let b=k();return(await b.createIntegration({provider:a.provider,unique_key:a.uniqueKey,display_name:a.displayName,credentials:a.credentials})).data}catch(b){console.error("Failed to create integration:",b),i(b,`Failed to create integration '${a.uniqueKey}' for provider '${a.provider}'`,"createIntegration")}}async function r(a){try{let a=k();return(await a.listConnections()).connections}catch(c){let b=a?` for integration '${a}'`:"";console.error(`Failed to fetch connections${b}:`,c),i(c,`Unable to retrieve connections${b}`,"listConnections")}}async function s({endUserId:a="test-tenant",endUserEmail:b="test@test-tenant.com",endUserDisplayName:c="Test User",organizationId:d=process.env.TENANT_ID||g.P3,organizationDisplayName:e="Test Organization",integrationId:f}){try{let g=k(),{data:h}=await g.createConnectSession({end_user:{id:a,email:b,display_name:c},organization:{id:d,display_name:e},allowed_integrations:[f]});return h}catch(a){console.error("Failed to create connect session:",a),i(a,`Unable to create connect session for integration '${f}'`,"createConnectSession")}}async function t({name:a,apiKeyToSet:b,metadata:c}){let d=(0,e.K_)(a);try{let e;try{e=await q({provider:"private-api-bearer",uniqueKey:d,displayName:a})}catch(a){if(a instanceof h&&a.cause&&"object"==typeof a.cause&&"status"in a.cause&&400===a.cause.status){let b=await p(d);b?e=b:i(a,"Integration creation failed for unexpected reasons","create")}else i(a,`Failed to create or retrieve integration '${d}'`,"create")}try{let a=`${process.env.NANGO_SERVER_URL||process.env.PUBLIC_NANGO_SERVER_URL||g.ko}/connections`,f={provider_config_key:e.unique_key,connection_id:d,metadata:c,credentials:{type:"API_KEY",apiKey:b}},i=await fetch(a,{method:"POST",headers:{Authorization:`Bearer ${process.env.NANGO_SECRET_KEY}`,"Content-Type":"application/json"},body:JSON.stringify(f)});if(!i.ok)throw new h(`Failed to import connection: HTTP ${i.status} - ${i.statusText}`,"importConnection")}catch(a){i(a,"Failed to import API key connection to Nango","importConnection")}try{await w({providerConfigKey:e.unique_key,connectionId:d,metadata:c})}catch(a){console.warn(`Failed to set metadata for connection ${d}:`,a)}return{integration:e}}catch(b){console.error("Unexpected error creating API key credential:",b),i(b,`Unexpected error creating API key credential '${a}'`,"createNangoApiKeyConnection")}}async function u({providerName:a,uniqueKey:b,displayName:c,credentials:d}){try{let e,f=null;try{f=await p(b)}catch(b){if(b instanceof h)throw b;console.debug(`Integration '${a}' not found, will create new one`)}if(f?.areCredentialsSet)e=f;else try{e=await q({provider:a,uniqueKey:b,displayName:c,credentials:d})}catch(b){i(b,`Failed to create integration for provider '${a}'`,"create")}try{return(await s({integrationId:e.unique_key})).token}catch(a){i(a,`Failed to create connect session for integration '${e.unique_key}'`,"createConnectSession")}}catch(b){console.error("Unexpected error creating provider connect session:",b),i(b,`Unexpected error creating connect session for provider '${a}'`,"createProviderConnectSession")}}async function v({providerConfigKey:a,connectionId:b}){try{let c=k();return await c.getMetadata(a,b)}catch(a){if(a&&"object"==typeof a&&"status"in a&&404===a.status)return null;console.error("Failed to get connection metadata:",a),i(a,`Unable to retrieve metadata for connection '${b}'`,"getMetadata")}}async function w({providerConfigKey:a,connectionId:b,metadata:c}){try{let d=k();await d.setMetadata(a,b,c)}catch(a){console.error("Failed to set connection metadata:",a),i(a,`Unable to update metadata for connection '${b}'`,"setMetadata")}}(0,j.D)([l,m,n,o,p,q,r,t,u,v,w]),(0,d.A)(l,"00213a1b1d58ee4427db479c6c855c9c6e68c23723",null),(0,d.A)(m,"009915ce920309e3da663108269d937d421c064641",null),(0,d.A)(n,"40fcfc70ceebf54fb0fded3ef984eaebe957c0509b",null),(0,d.A)(o,"00e3e06a8b893fe94ac392727e2dea2dbb1d015985",null),(0,d.A)(p,"40a470d30b0ed27cfca903ac7c75d0493ca078e121",null),(0,d.A)(q,"402f7e3e8b913e85ef0410ef9e9fe9c0cae58a4708",null),(0,d.A)(r,"409268cc466b10aba7171517b1c20d8859fb4793ed",null),(0,d.A)(t,"40d5fa14f0b5f334c6f39830985b098e6447530b71",null),(0,d.A)(u,"40dd3a873cdce89892e05461f4a34b842b0381695c",null),(0,d.A)(v,"40b1cb623ba02104e0723011602d545e98f251f53e",null),(0,d.A)(w,"404c0b1323ba2a0e1095768d36450e5f5df74af54b",null)},26675:(a,b,c)=>{c.d(b,{U:()=>e});var d=c(90147);let e=(0,d.createServerReference)("70369cff52fd69ec1fced9046350ec543bc1fa75a8",d.callServer,void 0,d.findSourceMapURL,"findOrCreateCredential")}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=4883,exports.ids=[4883],exports.modules={29160:(a,b,c)=>{c.r(b),c.d(b,{default:()=>h,dynamic:()=>g});var d=c(72669),e=c(45907),f=c(54637);let g="force-dynamic";async function h({children:a,params:b}){let{tenantId:c,projectId:g}=await b;try{await (0,f.Sw)(c,g)}catch(a){return(0,d.jsx)(e.default,{error:a,context:"project"})}return(0,d.jsx)(d.Fragment,{children:a})}},39878:(a,b,c)=>{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})]})}},44733:(a,b,c)=>{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)=>{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})})}},62503:(a,b,c)=>{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.")},78543:(a,b,c)=>{c.d(b,{ArtifactComponentForm:()=>x});var d=c(59111),e=c(6614),f=c(485),g=c(75823),h=c(68156),i=c(17130),j=c(16426),k=c(56019),l=c(2856),m=c(93622),n=c(35283),o=c(90147);let p=(0,o.createServerReference)("705bc8044c09a6741c64d11bdcf1b54e5de4c0d8b4",o.callServer,void 0,o.findSourceMapURL,"updateArtifactComponentAction"),q=(0,o.createServerReference)("70b92d6870246c28153f266d7f33f2b9c909153b45",o.callServer,void 0,o.findSourceMapURL,"createArtifactComponentAction");var r=c(42723);let s={id:"",name:"",description:"",props:void 0};var t=c(34576),u=c(80974),v=c(62503);let w=t.object({id:v.f,name:t.string().min(1,"Name is required."),description:t.string().min(1,"Description is required."),props:t.union([t.string(),t.null(),t.undefined()]).transform((a,b)=>{if(a&&""!==a&&null!==a)try{let c=JSON.parse(a),d=(0,u._O)(a);if(!d.isValid){let a=d.errors[0]?.message||"Invalid JSON schema";return b.addIssue({code:t.ZodIssueCode.custom,message:a}),t.NEVER}return c}catch(a){return b.addIssue({code:t.ZodIssueCode.custom,message:(0,u.SR)(a)}),t.NEVER}}).optional()});function x({id:a,tenantId:b,projectId:c,initialData:o}){let t=(0,g.mN)({resolver:(0,e.u)(w),defaultValues:(a=>{if(!a)return s;let b={...a};return b.props&&(b.props=(0,r.S_)(b.props)),b})(o)}),{isSubmitting:u}=t.formState,v=(0,f.useRouter)();(0,n.S)({form:t,nameField:"name",idField:"id",isEditing:!!a});let x=async d=>{try{let e={...d};if(void 0===e.props&&(e.props=null),a){let a=await p(b,c,e);if(!a.success)return void h.oR.error(a.error||"Failed to update artifact.");h.oR.success("Artifact updated.")}else{let a=await q(b,c,e);if(!a.success)return void h.oR.error(a.error||"Failed to create artifact");h.oR.success("Artifact created."),v.push(`/${b}/projects/${c}/artifacts`)}}catch(b){console.error("Error submitting artifact:",b);let a=b instanceof Error?b.message:"An unexpected error occurred.";h.oR.error(a)}};return(0,d.jsx)(m.lV,{...t,children:(0,d.jsxs)("form",{onSubmit:t.handleSubmit(x),className:"space-y-8",children:[(0,d.jsx)(i.a,{control:t.control,name:"name",label:"Name",placeholder:"Document Artifact",isRequired:!0}),(0,d.jsx)(i.a,{control:t.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)(j.K,{control:t.control,name:"description",label:"Description",placeholder:"Structured factual information extracted from search results",className:"min-h-[80px]",isRequired:!0}),(0,d.jsx)(k.S,{control:t.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.jsx)(l.$,{type:"submit",disabled:u,children:"Save"})]})})}},80974:(a,b,c)=>{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"}},89365:(a,b,c)=>{c.r(b),c.d(b,{"40259599658ee59e19e1dcf2c748bb897cdb68034e":()=>d.bW,"6004dc4184f62e6e91100dfe3aabb07a190ef15612":()=>d.gL,"60a5162b1d652a1f892487a3b2acb06236350aa540":()=>d.qf,"60c22b391277b250e5a220cf04a18c481e49b5827e":()=>d.Dv,"60c37400dfadd29a2ec80225b944e09b6a7480eb93":()=>p,"705a4e153554a75fa2a2d3d7715fc63e2464918b07":()=>d.Tg,"705bc8044c09a6741c64d11bdcf1b54e5de4c0d8b4":()=>r,"7085b16fe42f0079341e7ac485d701660ed793f657":()=>s,"70b92d6870246c28153f266d7f33f2b9c909153b45":()=>q});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,"6088b714931f78ab9d6bbafbf0132c1316792a54f5",null),(0,e.A)(k,"70d208012fc89b60c4e4ed628b999950c67cb21cb8",null),(0,e.A)(l,"70a9af773e4913636ab5e70b6dccd7cb6bba692d60",null),(0,e.A)(m,"701d3a5514990093f992358f2a4787fc7e2d4e8aa8",null),(0,e.A)(n,"70d2750bea4dabb2fdeafdc5dc4c5753219579e0d5",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`),(0,f.revalidatePath)(`/${a}/projects/${b}/artifacts/${c}`),{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,"60c37400dfadd29a2ec80225b944e09b6a7480eb93",null),(0,e.A)(q,"70b92d6870246c28153f266d7f33f2b9c909153b45",null),(0,e.A)(r,"705bc8044c09a6741c64d11bdcf1b54e5de4c0d8b4",null),(0,e.A)(s,"7085b16fe42f0079341e7ac485d701660ed793f657",null)},93056:(a,b,c)=>{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}`))})]})})}}};