@inkeep/agents-manage-ui 0.30.0 → 0.30.1

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 (191) 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 +146 -146
  3. package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +5 -5
  4. package/.next/standalone/agents-manage-ui/.next/build-manifest.json +5 -5
  5. package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +3 -3
  6. package/.next/standalone/agents-manage-ui/.next/react-loadable-manifest.json +2 -2
  7. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js +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_client-reference-manifest.js +1 -1
  17. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js +3 -3
  18. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js +2 -2
  20. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js.nft.json +1 -1
  21. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js +2 -2
  23. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js.nft.json +1 -1
  24. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js +2 -2
  26. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js +2 -2
  28. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js.nft.json +1 -1
  29. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js +2 -2
  31. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js.nft.json +1 -1
  32. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js +2 -2
  34. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page_client-reference-manifest.js +1 -1
  35. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js +1 -1
  36. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page_client-reference-manifest.js +1 -1
  37. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js +2 -2
  38. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js +1 -1
  40. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page_client-reference-manifest.js +1 -1
  41. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js +2 -2
  42. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
  43. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js +1 -1
  45. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js +2 -2
  47. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page.js +2 -2
  49. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page.js.nft.json +1 -1
  50. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page.js +1 -1
  52. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page_client-reference-manifest.js +1 -1
  53. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page.js +2 -2
  54. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page.js.nft.json +1 -1
  55. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page_client-reference-manifest.js +1 -1
  56. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page.js +2 -2
  57. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page_client-reference-manifest.js +1 -1
  58. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js +2 -2
  59. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js.nft.json +1 -1
  60. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page_client-reference-manifest.js +1 -1
  61. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js +2 -2
  62. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js.nft.json +1 -1
  63. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page_client-reference-manifest.js +1 -1
  64. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js +2 -2
  65. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js.nft.json +1 -1
  66. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
  67. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js +2 -2
  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 +2 -2
  70. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  71. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js +2 -2
  72. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page_client-reference-manifest.js +1 -1
  73. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js +1 -1
  74. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js.nft.json +1 -1
  75. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page_client-reference-manifest.js +1 -1
  76. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js +1 -1
  77. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page_client-reference-manifest.js +1 -1
  78. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js +2 -2
  79. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js.nft.json +1 -1
  80. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page_client-reference-manifest.js +1 -1
  81. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js +2 -2
  82. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page_client-reference-manifest.js +1 -1
  83. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js +1 -1
  84. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  85. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
  86. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +8 -8
  87. package/.next/standalone/agents-manage-ui/.next/server/app/api/data-components/[dataComponentId]/generate-render/route.js +1 -1
  88. package/.next/standalone/agents-manage-ui/.next/server/app/api/data-components/[dataComponentId]/generate-render/route_client-reference-manifest.js +1 -1
  89. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route_client-reference-manifest.js +1 -1
  91. package/.next/standalone/agents-manage-ui/.next/server/app/page.js +2 -2
  92. package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
  93. package/.next/standalone/agents-manage-ui/.next/server/app-paths-manifest.json +5 -5
  94. package/.next/standalone/agents-manage-ui/.next/server/chunks/1051.js +2 -2
  95. package/.next/standalone/agents-manage-ui/.next/server/chunks/2012.js +1 -0
  96. package/.next/standalone/agents-manage-ui/.next/server/chunks/{2427.js → 208.js} +1 -1
  97. package/.next/standalone/agents-manage-ui/.next/server/chunks/418.js +1 -0
  98. package/.next/standalone/agents-manage-ui/.next/server/chunks/4386.js +1 -0
  99. package/.next/standalone/agents-manage-ui/.next/server/chunks/4608.js +5 -5
  100. package/.next/standalone/agents-manage-ui/.next/server/chunks/493.js +1 -1
  101. package/.next/standalone/agents-manage-ui/.next/server/chunks/5206.js +2 -2
  102. package/.next/standalone/agents-manage-ui/.next/server/chunks/6685.js +1 -0
  103. package/.next/standalone/agents-manage-ui/.next/server/chunks/7166.js +123 -0
  104. package/.next/standalone/agents-manage-ui/.next/server/chunks/{618.js → 7185.js} +1 -1
  105. package/.next/standalone/agents-manage-ui/.next/server/chunks/7306.js +2 -2
  106. package/.next/standalone/agents-manage-ui/.next/server/chunks/7586.js +1 -1
  107. package/.next/standalone/agents-manage-ui/.next/server/chunks/9887.js +12 -12
  108. package/.next/standalone/agents-manage-ui/.next/server/middleware-build-manifest.js +1 -1
  109. package/.next/standalone/agents-manage-ui/.next/server/middleware-manifest.json +5 -5
  110. package/.next/standalone/agents-manage-ui/.next/server/middleware-react-loadable-manifest.js +1 -1
  111. package/.next/standalone/agents-manage-ui/.next/server/pages/404.html +1 -1
  112. package/.next/standalone/agents-manage-ui/.next/server/pages/500.html +1 -1
  113. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.js +1 -1
  114. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.json +1 -1
  115. package/.next/standalone/agents-manage-ui/.next/static/chunks/{32913-b68f414e3b3c0790.js → 18417-889badb50e89f506.js} +1 -1
  116. package/.next/standalone/agents-manage-ui/.next/static/chunks/{23527.f70768e16484389f.js → 23527.a44ee54d28c80c9d.js} +2 -2
  117. package/.next/standalone/agents-manage-ui/.next/static/chunks/{92288-ad4e1e33d8b16129.js → 29177-2e8bc35cfa8e85a1.js} +2 -2
  118. package/.next/standalone/agents-manage-ui/.next/static/chunks/30457-3c313bac7f8cfa6c.js +1 -0
  119. package/.next/standalone/agents-manage-ui/.next/static/chunks/38252-95ab90100c9977cf.js +1 -0
  120. package/.next/standalone/agents-manage-ui/.next/static/chunks/{43308.8c67c6ec961ed702.js → 43308.2bc3559d8989c0b8.js} +1 -1
  121. package/.next/standalone/agents-manage-ui/.next/static/chunks/60864-5a56298db0914e3d.js +4 -0
  122. package/.next/standalone/agents-manage-ui/.next/static/chunks/63496-05fece77d55b446d.js +1 -0
  123. package/.next/standalone/agents-manage-ui/.next/static/chunks/65336-d517a782803f82bd.js +1 -0
  124. package/.next/standalone/agents-manage-ui/.next/static/chunks/7231-52871124dd13d0cc.js +123 -0
  125. package/.next/standalone/agents-manage-ui/.next/static/chunks/{8300-82af03d18fd042c8.js → 8300-d7a3c39e3a967cc3.js} +1 -1
  126. package/.next/standalone/agents-manage-ui/.next/static/chunks/96777-5f1577313988510b.js +1 -0
  127. package/.next/standalone/agents-manage-ui/.next/static/chunks/98428-d3f11b624797f527.js +1 -0
  128. package/.next/standalone/agents-manage-ui/.next/static/chunks/98617-2ecd89a8d65683fa.js +1 -0
  129. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/{page-495551cd910bd06a.js → page-bf3d6e9208c10c47.js} +1 -1
  130. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/{page-b1492441859ee76e.js → page-18c62c993b74b713.js} +1 -1
  131. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-c1137c654255649f.js +1 -0
  132. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-464e6b3c1c143858.js +1 -0
  133. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/{page-45c2d6a4c6e06c63.js → page-5eb4e000e8f5282f.js} +1 -1
  134. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/{page-1a67c3612f46fceb.js → page-a915375e7dfcb747.js} +1 -1
  135. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/{page-47ae11a529351137.js → page-45496e9dc885096e.js} +1 -1
  136. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/{page-577543c7d1db732a.js → page-8181435b4b6f86d0.js} +1 -1
  137. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/page-ef48b8508c4a9f07.js +1 -0
  138. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-936cffc5d2b96942.js +1 -0
  139. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-bb11506d781ef258.js +1 -0
  140. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-cb21405decefd467.js +1 -0
  141. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-5f8b30a4a2e74d5f.js +1 -0
  142. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/{page-e30449dd8705a9bd.js → page-94690f00fc35256a.js} +1 -1
  143. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/{page-ac94e54545a636a8.js → page-c2353d575b17851a.js} +1 -1
  144. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/new/{page-549e53b57febd300.js → page-04b33dd50985ac71.js} +1 -1
  145. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/page-7ce46049f43ac89d.js +1 -0
  146. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/{page-9ab600987517aa6e.js → page-2dceb4e2ac2dd9a1.js} +1 -1
  147. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-f76f97a38f3df5ef.js +1 -0
  148. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/{page-9337cf462497d330.js → page-24689c6162ab0c80.js} +1 -1
  149. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/{page-65c117d1b9e4a573.js → page-fff0c1d675c192f4.js} +1 -1
  150. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/{page-f504c972f701e03b.js → page-5696b3f6cb5b6b9a.js} +1 -1
  151. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/{page-281e7ac181a553a5.js → page-f2d3ab1b44246720.js} +1 -1
  152. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-38b080eefd96c433.js +1 -0
  153. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-c95090e5caaefe10.js +1 -0
  154. package/.next/standalone/agents-manage-ui/.next/static/chunks/{webpack-2476dbb434604b2e.js → webpack-adb9582241b13ddf.js} +1 -1
  155. package/.next/standalone/agents-manage-ui/package.json +2 -1
  156. package/.next/standalone/packages/agents-core/package.json +1 -1
  157. package/package.json +5 -4
  158. package/src/components/agent/sidepane/edges/edge-editor.tsx +110 -26
  159. package/src/components/agent/sidepane/metadata/metadata-editor.tsx +3 -3
  160. package/src/components/agent/sidepane/nodes/model-section.tsx +3 -3
  161. package/src/components/projects/form/project-models-section.tsx +3 -3
  162. package/src/components/ui/radio-group.tsx +39 -0
  163. package/src/lib/utils/agent-error-parser.ts +1 -1
  164. package/src/lib/utils/cycle-detection.ts +70 -0
  165. package/.next/standalone/agents-manage-ui/.next/server/chunks/3026.js +0 -1
  166. package/.next/standalone/agents-manage-ui/.next/server/chunks/3802.js +0 -123
  167. package/.next/standalone/agents-manage-ui/.next/server/chunks/4805.js +0 -1
  168. package/.next/standalone/agents-manage-ui/.next/server/chunks/595.js +0 -1
  169. package/.next/standalone/agents-manage-ui/.next/server/chunks/7465.js +0 -1
  170. package/.next/standalone/agents-manage-ui/.next/static/chunks/16631-8d275ca71102f283.js +0 -123
  171. package/.next/standalone/agents-manage-ui/.next/static/chunks/55743-a685c307050b5a7f.js +0 -1
  172. package/.next/standalone/agents-manage-ui/.next/static/chunks/60864-b5d5476b1699d327.js +0 -4
  173. package/.next/standalone/agents-manage-ui/.next/static/chunks/63496-f9d66fd67133f7a3.js +0 -1
  174. package/.next/standalone/agents-manage-ui/.next/static/chunks/83986-c27d3523538c6544.js +0 -1
  175. package/.next/standalone/agents-manage-ui/.next/static/chunks/84416-33eedbe868caf8dc.js +0 -1
  176. package/.next/standalone/agents-manage-ui/.next/static/chunks/92140-a72a725fe1082cc9.js +0 -1
  177. package/.next/standalone/agents-manage-ui/.next/static/chunks/9443-8b306589ad38c17c.js +0 -1
  178. package/.next/standalone/agents-manage-ui/.next/static/chunks/98617-4e5ba3d31dfd3a57.js +0 -1
  179. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-ac3a8ed7239ba32a.js +0 -1
  180. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-27717b1379db4c13.js +0 -1
  181. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/page-9d1040cf5d02fd83.js +0 -1
  182. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-58fb7e9e1a9f7a21.js +0 -1
  183. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-57e9ece60d4f0ebc.js +0 -1
  184. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-d43b932af2c94979.js +0 -1
  185. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-fc861244355b3235.js +0 -1
  186. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/page-4da2460a9447a1ec.js +0 -1
  187. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-3723c664ea2121af.js +0 -1
  188. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-3cf2f3953b5e75b2.js +0 -1
  189. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-c12426a0042d74e6.js +0 -1
  190. /package/.next/standalone/agents-manage-ui/.next/static/{AglP-oVd7dJ3L6FvFByxT → 8J6i2h2kYuG8UYXrNY4C8}/_buildManifest.js +0 -0
  191. /package/.next/standalone/agents-manage-ui/.next/static/{AglP-oVd7dJ3L6FvFByxT → 8J6i2h2kYuG8UYXrNY4C8}/_ssgManifest.js +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/agents-core",
3
- "version": "0.30.0",
3
+ "version": "0.30.1",
4
4
  "description": "Agents Core contains the database schema, types, and validation schemas for Inkeep Agent Framework, along with core components.",
5
5
  "type": "module",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/agents-manage-ui",
3
- "version": "0.30.0",
3
+ "version": "0.30.1",
4
4
  "license": "SEE LICENSE IN LICENSE.md",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -46,6 +46,7 @@
46
46
  "@radix-ui/react-dropdown-menu": "^2.1.15",
47
47
  "@radix-ui/react-label": "^2.1.7",
48
48
  "@radix-ui/react-popover": "^1.1.15",
49
+ "@radix-ui/react-radio-group": "^1.3.8",
49
50
  "@radix-ui/react-scroll-area": "^1.2.9",
50
51
  "@radix-ui/react-select": "^2.2.5",
51
52
  "@radix-ui/react-separator": "^1.1.7",
@@ -89,9 +90,9 @@
89
90
  "use-stick-to-bottom": "^1.1.1",
90
91
  "zod": "^4.1.11",
91
92
  "zustand": "^5.0.7",
92
- "@inkeep/agents-core": "^0.30.0",
93
- "@inkeep/agents-manage-api": "^0.30.0",
94
- "@inkeep/agents-run-api": "^0.30.0"
93
+ "@inkeep/agents-core": "^0.30.1",
94
+ "@inkeep/agents-manage-api": "^0.30.1",
95
+ "@inkeep/agents-run-api": "^0.30.1"
95
96
  },
96
97
  "devDependencies": {
97
98
  "start-server-and-test": "^2.1.2",
@@ -1,13 +1,16 @@
1
1
  import { type Edge, useNodesData, useReactFlow } from '@xyflow/react';
2
2
  import { Spline, Trash2 } from 'lucide-react';
3
3
  import { useCallback } from 'react';
4
+ import { toast } from 'sonner';
4
5
  import { DashedSplineIcon } from '@/components/icons/dashed-spline';
5
6
  import { Badge } from '@/components/ui/badge';
6
7
  import { Button } from '@/components/ui/button';
7
8
  import { Checkbox } from '@/components/ui/checkbox';
8
9
  import { Label } from '@/components/ui/label';
10
+ import { RadioGroup, RadioGroupItem } from '@/components/ui/radio-group';
9
11
  import { Separator } from '@/components/ui/separator';
10
12
  import { useAgentActions } from '@/features/agent/state/use-agent-store';
13
+ import { getCycleErrorMessage, wouldCreateCycle } from '@/lib/utils/cycle-detection';
11
14
  import type { A2AEdgeData } from '../../configuration/edge-types';
12
15
 
13
16
  type RelationshipOptionProps = {
@@ -42,6 +45,8 @@ type RelationshipSectionProps = {
42
45
  options: Array<{ id: string; label: string | React.ReactNode }>;
43
46
  onCheckedChange: (id: string, checked: boolean) => void;
44
47
  checkedValues: A2AEdgeData['relationships'];
48
+ useRadio?: boolean;
49
+ onRadioChange?: (value: string) => void;
45
50
  };
46
51
 
47
52
  function RelationshipSection({
@@ -51,7 +56,16 @@ function RelationshipSection({
51
56
  options,
52
57
  onCheckedChange,
53
58
  checkedValues,
59
+ useRadio = false,
60
+ onRadioChange,
54
61
  }: RelationshipSectionProps) {
62
+ const getRadioValue = () => {
63
+ const checkedOption = options.find(
64
+ (opt) => checkedValues?.[opt.id as keyof A2AEdgeData['relationships']],
65
+ );
66
+ return checkedOption?.id || '';
67
+ };
68
+
55
69
  return (
56
70
  <div className="space-y-4">
57
71
  <div className="space-y-2">
@@ -61,15 +75,30 @@ function RelationshipSection({
61
75
  </div>
62
76
  <p className="text-muted-foreground text-sm">{description}</p>
63
77
  </div>
64
- {options.map((option) => (
65
- <RelationshipOption
66
- key={option.id}
67
- id={option.id}
68
- label={option.label}
69
- onCheckedChange={onCheckedChange}
70
- checked={checkedValues?.[option.id as keyof A2AEdgeData['relationships']] || false}
71
- />
72
- ))}
78
+ {useRadio && onRadioChange ? (
79
+ <RadioGroup value={getRadioValue()} onValueChange={onRadioChange}>
80
+ {options.map((option) => (
81
+ <div key={option.id} className="flex items-start gap-3">
82
+ <RadioGroupItem value={option.id} id={option.id} className="mt-[5px]" />
83
+ <div className="grid gap-2">
84
+ <Label htmlFor={option.id} className="font-normal">
85
+ {option.label}
86
+ </Label>
87
+ </div>
88
+ </div>
89
+ ))}
90
+ </RadioGroup>
91
+ ) : (
92
+ options.map((option) => (
93
+ <RelationshipOption
94
+ key={option.id}
95
+ id={option.id}
96
+ label={option.label}
97
+ onCheckedChange={onCheckedChange}
98
+ checked={checkedValues?.[option.id as keyof A2AEdgeData['relationships']] || false}
99
+ />
100
+ ))
101
+ )}
73
102
  </div>
74
103
  );
75
104
  }
@@ -79,7 +108,7 @@ interface EdgeEditorProps {
79
108
  }
80
109
 
81
110
  function EdgeEditor({ selectedEdge }: EdgeEditorProps) {
82
- const { updateEdgeData, setEdges, deleteElements } = useReactFlow();
111
+ const { updateEdgeData, setEdges, deleteElements, getEdges } = useReactFlow();
83
112
 
84
113
  const deleteEdge = useCallback(() => {
85
114
  deleteElements({ edges: [{ id: selectedEdge.id }] });
@@ -91,6 +120,43 @@ function EdgeEditor({ selectedEdge }: EdgeEditorProps) {
91
120
 
92
121
  const isSelfLoop = selectedEdge.source === selectedEdge.target;
93
122
 
123
+ const checkForCycle = (delegateId: string): boolean => {
124
+ const source = delegateId === 'delegateSourceToTarget' ? selectedEdge.source : selectedEdge.target;
125
+ const target = delegateId === 'delegateSourceToTarget' ? selectedEdge.target : selectedEdge.source;
126
+
127
+ const allEdges = getEdges();
128
+ const otherEdges = allEdges.filter((edge) => edge.id !== selectedEdge.id);
129
+
130
+ if (wouldCreateCycle(otherEdges, { source, target })) {
131
+ const sourceName = (sourceNode?.data.name as string) || (sourceNode?.data.id as string) || 'Sub Agent';
132
+ const targetName = (targetNode?.data.name as string) || (targetNode?.data.id as string) || 'Sub Agent';
133
+ const sourceLabel = delegateId === 'delegateSourceToTarget' ? sourceName : targetName;
134
+ const targetLabel = delegateId === 'delegateSourceToTarget' ? targetName : sourceName;
135
+
136
+ toast.error('Circular Delegation Detected', {
137
+ description: getCycleErrorMessage(sourceLabel, targetLabel),
138
+ });
139
+ return true;
140
+ }
141
+ return false;
142
+ };
143
+
144
+ const updateRelationships = (newRelationships: A2AEdgeData['relationships']) => {
145
+ const hasAnyRelationship =
146
+ newRelationships.transferSourceToTarget ||
147
+ newRelationships.transferTargetToSource ||
148
+ newRelationships.delegateSourceToTarget ||
149
+ newRelationships.delegateTargetToSource;
150
+
151
+ markUnsaved();
152
+
153
+ if (!hasAnyRelationship) {
154
+ setEdges((edges) => edges.filter((edge) => edge.id !== selectedEdge.id));
155
+ } else {
156
+ updateEdgeData(selectedEdge.id, { relationships: newRelationships });
157
+ }
158
+ };
159
+
94
160
  const handleCheckboxChange = (id: string, checked: boolean) => {
95
161
  // Calculate the new relationships state
96
162
  let newRelationships: A2AEdgeData['relationships'];
@@ -111,29 +177,45 @@ function EdgeEditor({ selectedEdge }: EdgeEditorProps) {
111
177
  ...updates,
112
178
  };
113
179
  } else {
180
+ const updates: Partial<A2AEdgeData['relationships']> = { [id]: checked };
181
+
182
+ // Prevent two-way delegation: when enabling one delegation direction, disable the opposite
183
+ if (checked) {
184
+ if (id === 'delegateSourceToTarget') {
185
+ updates.delegateTargetToSource = false;
186
+ } else if (id === 'delegateTargetToSource') {
187
+ updates.delegateSourceToTarget = false;
188
+ }
189
+ }
190
+
114
191
  newRelationships = {
115
192
  ...(selectedEdge.data?.relationships as A2AEdgeData['relationships']),
116
- [id]: checked,
193
+ ...updates,
117
194
  };
118
195
  }
119
196
 
120
- const hasAnyRelationship =
121
- newRelationships.transferSourceToTarget ||
122
- newRelationships.transferTargetToSource ||
123
- newRelationships.delegateSourceToTarget ||
124
- newRelationships.delegateTargetToSource;
197
+ updateRelationships(newRelationships);
198
+ };
125
199
 
126
- // Always mark as unsaved when relationships change
127
- markUnsaved();
200
+ const handleDelegateRadioChange = (value: string) => {
201
+ if (value && checkForCycle(value)) return;
128
202
 
129
- if (!hasAnyRelationship) {
130
- // Remove the edge if no relationships remain
131
- setEdges((edges) => edges.filter((edge) => edge.id !== selectedEdge.id));
132
- } else {
133
- updateEdgeData(selectedEdge.id, {
134
- relationships: newRelationships,
135
- });
203
+ const newRelationships: A2AEdgeData['relationships'] = {
204
+ ...(selectedEdge.data?.relationships as A2AEdgeData['relationships']),
205
+ delegateSourceToTarget: false,
206
+ delegateTargetToSource: false,
207
+ };
208
+
209
+ if (value) {
210
+ if (isSelfLoop && value === 'delegateSourceToTarget') {
211
+ newRelationships.delegateSourceToTarget = true;
212
+ newRelationships.delegateTargetToSource = true;
213
+ } else {
214
+ newRelationships[value as keyof A2AEdgeData['relationships']] = true;
215
+ }
136
216
  }
217
+
218
+ updateRelationships(newRelationships);
137
219
  };
138
220
 
139
221
  const sourceName =
@@ -245,10 +327,12 @@ function EdgeEditor({ selectedEdge }: EdgeEditorProps) {
245
327
  <RelationshipSection
246
328
  icon={<DashedSplineIcon className="w-4 h-4 text-muted-foreground" />}
247
329
  title="Delegate relationships"
248
- description="Delegate relationships are used to pass a task from one agent to another."
330
+ description="Delegate relationships are used to pass a task from one agent to another. Delegate relationships cannot be bi-directional."
249
331
  options={delegateOptions}
250
332
  onCheckedChange={handleCheckboxChange}
251
333
  checkedValues={selectedEdge.data?.relationships as A2AEdgeData['relationships']}
334
+ useRadio={true}
335
+ onRadioChange={handleDelegateRadioChange}
252
336
  />
253
337
  <Separator />
254
338
  <div className="flex justify-end">
@@ -226,7 +226,7 @@ function MetadataEditor() {
226
226
  value={models.base.providerOptions || ''}
227
227
  placeholder={`{
228
228
  "temperature": 0.7,
229
- "maxTokens": 2048
229
+ "maxOutputTokens": 2048
230
230
  }`}
231
231
  />
232
232
  )}
@@ -286,7 +286,7 @@ function MetadataEditor() {
286
286
  value={models.structuredOutput.providerOptions || ''}
287
287
  placeholder={`{
288
288
  "temperature": 0.1,
289
- "maxTokens": 1024
289
+ "maxOutputTokens": 1024
290
290
  }`}
291
291
  />
292
292
  )}
@@ -345,7 +345,7 @@ function MetadataEditor() {
345
345
  value={models.summarizer.providerOptions || ''}
346
346
  placeholder={`{
347
347
  "temperature": 0.3,
348
- "maxTokens": 1024
348
+ "maxOutputTokens": 1024
349
349
  }`}
350
350
  />
351
351
  )}
@@ -76,7 +76,7 @@ export function ModelSection({
76
76
  value={models?.base?.providerOptions || ''}
77
77
  placeholder={`{
78
78
  "temperature": 0.7,
79
- "maxTokens": 2048
79
+ "maxOutputTokens": 2048
80
80
  }`}
81
81
  />
82
82
  )}
@@ -124,7 +124,7 @@ export function ModelSection({
124
124
  value={models?.structuredOutput?.providerOptions || ''}
125
125
  placeholder={`{
126
126
  "temperature": 0.1,
127
- "maxTokens": 1024
127
+ "maxOutputTokens": 1024
128
128
  }`}
129
129
  />
130
130
  )}
@@ -172,7 +172,7 @@ export function ModelSection({
172
172
  value={models?.summarizer?.providerOptions || ''}
173
173
  placeholder={`{
174
174
  "temperature": 0.3,
175
- "maxTokens": 1024
175
+ "maxOutputTokens": 1024
176
176
  }`}
177
177
  />
178
178
  )}
@@ -62,7 +62,7 @@ function BaseModelSection({ control }: { control: Control<ProjectFormData> }) {
62
62
  }}
63
63
  placeholder={`{
64
64
  "temperature": 0.7,
65
- "maxTokens": 2048
65
+ "maxOutputTokens": 2048
66
66
  }`}
67
67
  />
68
68
  </div>
@@ -116,7 +116,7 @@ function StructuredOutputModelSection({ control }: { control: Control<ProjectFor
116
116
  }}
117
117
  placeholder={`{
118
118
  "temperature": 0.1,
119
- "maxTokens": 1024
119
+ "maxOutputTokens": 1024
120
120
  }`}
121
121
  />
122
122
  </div>
@@ -170,7 +170,7 @@ function SummarizerModelSection({ control }: { control: Control<ProjectFormData>
170
170
  }}
171
171
  placeholder={`{
172
172
  "temperature": 0.3,
173
- "maxTokens": 1024
173
+ "maxOutputTokens": 1024
174
174
  }`}
175
175
  />
176
176
  </div>
@@ -0,0 +1,39 @@
1
+ 'use client';
2
+
3
+ import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
4
+ import { Circle } from 'lucide-react';
5
+ import type * as React from 'react';
6
+
7
+ import { cn } from '@/lib/utils';
8
+
9
+ function RadioGroup({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {
10
+ return (
11
+ <RadioGroupPrimitive.Root
12
+ className={cn('grid gap-2', className)}
13
+ {...props}
14
+ />
15
+ );
16
+ }
17
+
18
+ function RadioGroupItem({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {
19
+ return (
20
+ <RadioGroupPrimitive.Item
21
+ data-slot="radio-item"
22
+ className={cn(
23
+ '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-full border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50',
24
+ className
25
+ )}
26
+ {...props}
27
+ >
28
+ <RadioGroupPrimitive.Indicator
29
+ data-slot="radio-indicator"
30
+ className="flex items-center justify-center"
31
+ >
32
+ <Circle className="size-2.5 fill-current text-current" />
33
+ </RadioGroupPrimitive.Indicator>
34
+ </RadioGroupPrimitive.Item>
35
+ );
36
+ }
37
+
38
+ export { RadioGroup, RadioGroupItem };
39
+
@@ -200,7 +200,7 @@ function getFieldDisplayName(field: string): string {
200
200
  description: 'Description',
201
201
  model: 'Model',
202
202
  temperature: 'Temperature',
203
- maxTokens: 'Max tokens',
203
+ maxOutputTokens: 'Max output tokens',
204
204
  systemPrompt: 'System prompt',
205
205
  tools: 'Tools',
206
206
  dataComponents: 'Components',
@@ -0,0 +1,70 @@
1
+ import type { Edge } from '@xyflow/react';
2
+ import type { A2AEdgeData } from '@/components/agent/configuration/edge-types';
3
+
4
+ export type DelegationEdge = {
5
+ source: string;
6
+ target: string;
7
+ };
8
+
9
+ export function wouldCreateCycle(
10
+ edges: Edge[],
11
+ newDelegation: DelegationEdge
12
+ ): boolean {
13
+ const graph = buildDelegationGraph(edges);
14
+ const sources = graph.get(newDelegation.source) || [];
15
+ graph.set(newDelegation.source, [...sources, newDelegation.target]);
16
+ return hasCycle(graph);
17
+ }
18
+
19
+ function buildDelegationGraph(edges: Edge[]): Map<string, string[]> {
20
+ const graph = new Map<string, string[]>();
21
+
22
+ for (const edge of edges) {
23
+ const relationships = edge.data?.relationships as A2AEdgeData['relationships'] | undefined;
24
+ if (!relationships) continue;
25
+
26
+ if (relationships.delegateSourceToTarget) {
27
+ const targets = graph.get(edge.source) || [];
28
+ graph.set(edge.source, [...targets, edge.target]);
29
+ }
30
+
31
+ if (relationships.delegateTargetToSource) {
32
+ const sources = graph.get(edge.target) || [];
33
+ graph.set(edge.target, [...sources, edge.source]);
34
+ }
35
+ }
36
+
37
+ return graph;
38
+ }
39
+
40
+ function hasCycle(graph: Map<string, string[]>): boolean {
41
+ const visited = new Set<string>();
42
+ const stack = new Set<string>();
43
+
44
+ function dfs(node: string): boolean {
45
+ visited.add(node);
46
+ stack.add(node);
47
+
48
+ for (const neighbor of graph.get(node) || []) {
49
+ if (!visited.has(neighbor)) {
50
+ if (dfs(neighbor)) return true;
51
+ } else if (stack.has(neighbor)) {
52
+ return true;
53
+ }
54
+ }
55
+
56
+ stack.delete(node);
57
+ return false;
58
+ }
59
+
60
+ for (const node of graph.keys()) {
61
+ if (!visited.has(node) && dfs(node)) return true;
62
+ }
63
+
64
+ return false;
65
+ }
66
+
67
+ export function getCycleErrorMessage(sourceAgent: string, targetAgent: string): string {
68
+ return `Cannot create delegation from "${sourceAgent}" to "${targetAgent}" as it would create a circular delegation chain. Circular delegations can cause infinite loops.`;
69
+ }
70
+
@@ -1 +0,0 @@
1
- "use strict";exports.id=3026,exports.ids=[3026],exports.modules={4599:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{ArtifactComponentForm:()=>y});var e=c(59111),f=c(35197),g=c(485),h=c(14450),i=c(51820),j=c(68156),k=c(17130),l=c(16426),m=c(56019),n=c(2856),o=c(96032),p=c(93622),q=c(35283),r=c(15887),s=c(72290),t=c(42723),u=c(33305),v=c(68933),w=c(59245),x=a([m]);function y({id:a,tenantId:b,projectId:c,initialData:d}){let[x,y]=(0,h.useState)(!1),z=(0,i.mN)({resolver:(0,f.u)(w.z),defaultValues:(a=>{if(!a)return v.g;let b={...a};return b.props&&(b.props=(0,t.S_)(b.props)),b})(d)}),{isSubmitting:A}=z.formState,B=(0,g.useRouter)();(0,q.S)({form:z,nameField:"name",idField:"id",isEditing:!!a});let C=async d=>{try{let e={...d};if(void 0===e.props&&(e.props=null),a){let a=await (0,r.X)(b,c,e);if(!a.success)return void j.oR.error(a.error||"Failed to update artifact.");j.oR.success("Artifact updated.")}else{let a=await (0,s.o)(b,c,e);if(!a.success)return void j.oR.error(a.error||"Failed to create artifact");j.oR.success("Artifact created."),B.push(`/${b}/projects/${c}/artifacts`)}}catch(b){console.error("Error submitting artifact:",b);let a=b instanceof Error?b.message:"An unexpected error occurred.";j.oR.error(a)}};return(0,e.jsxs)(o.lG,{open:x,onOpenChange:y,children:[(0,e.jsx)(p.lV,{...z,children:(0,e.jsxs)("form",{onSubmit:z.handleSubmit(C),className:"space-y-8",children:[(0,e.jsx)(k.a,{control:z.control,name:"name",label:"Name",placeholder:"Document Artifact",isRequired:!0}),(0,e.jsx)(k.a,{control:z.control,name:"id",label:"Id",placeholder:"my-artifact",disabled:!!a,isRequired:!0,description:a?"":"Choose a unique identifier for this artifact. Using an existing id will replace that artifact."}),(0,e.jsx)(l.K,{control:z.control,name:"description",label:"Description",placeholder:"Structured factual information extracted from search results",className:"min-h-[80px]",isRequired:!0}),(0,e.jsx)(m.S,{control:z.control,name:"props",label:"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,e.jsxs)("div",{className:"flex w-full justify-between",children:[(0,e.jsx)(n.$,{type:"submit",disabled:A,children:"Save"}),a&&(0,e.jsx)(o.zM,{asChild:!0,children:(0,e.jsx)(n.$,{type:"button",variant:"destructive-outline",children:"Delete Artifact"})})]})]})}),x&&a&&(0,e.jsx)(u.W,{artifactComponentId:a,artifactComponentName:z.getValues("name"),setIsOpen:y,redirectOnDelete:!0})]})}m=(x.then?(await x)():x)[0],d()}catch(a){d(a)}})},15887:(a,b,c)=>{c.d(b,{X:()=>e});var d=c(90147);let e=(0,d.createServerReference)("704bcec420635fc9b64942e5e3b3371d13f191b241",d.callServer,void 0,d.findSourceMapURL,"updateArtifactComponentAction")},16079:(a,b,c)=>{c.r(b),c.d(b,{"4031c5346ec11e5aaf071cd970f37270ef2b159aaa":()=>d.bW,"602bad7ca0a422923a3f02e0bbc99d3ab7352bad14":()=>p,"6045676ce53eed0abaf4c10a59090225d7c005ee87":()=>d.Dv,"606351316cc622de67c93aff0e389a49c319981874":()=>d.qf,"60f8e57176c716a3dcb8f4ca88f1fb2bc0593bed61":()=>d.gL,"7021d97d85b74f50bd4d298fc75fc082b636af05e7":()=>q,"704bcec420635fc9b64942e5e3b3371d13f191b241":()=>r,"70ac55c6f6ecf61c5d7c347613059bb0055ec865df":()=>s,"70dbdbf4d7504b4e4f8274567265c3f6ebc5d89de0":()=>d.Tg});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,"60f97f424b2f642f315d1fa9428d918a774e91a384",null),(0,e.A)(k,"70a6c1d1ff7f48323cd7899efe0ba4498e206e1dc9",null),(0,e.A)(l,"708e9c41889d45012f8343c235c5fb537d94cde16f",null),(0,e.A)(m,"708d1d01119ef930070b205b058e7e1abc6b4b903a",null),(0,e.A)(n,"70561bdd1c580af7ba5d1151fe09248fb564205461",null);var o=c(36608);async function p(a,b){try{let c=await j(a,b);return{success:!0,data:c.data}}catch(a){if(a instanceof o.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function q(a,b,c){try{let d=await l(a,b,c);return(0,f.revalidatePath)(`/${a}/projects/${b}/artifacts`),{success:!0,data:d}}catch(a){if(a instanceof o.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function r(a,b,c){try{let d=await m(a,b,c);return(0,f.revalidatePath)(`/${a}/projects/${b}/artifacts`),(0,f.revalidatePath)(`/${a}/projects/${b}/artifacts/${c.id}`),{success:!0,data:d}}catch(a){if(a instanceof o.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function s(a,b,c){try{return await n(a,b,c),(0,f.revalidatePath)(`/${a}/projects/${b}/artifacts`),{success:!0}}catch(a){if(a instanceof o.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}(0,i.D)([p,q,r,s]),(0,e.A)(p,"602bad7ca0a422923a3f02e0bbc99d3ab7352bad14",null),(0,e.A)(q,"7021d97d85b74f50bd4d298fc75fc082b636af05e7",null),(0,e.A)(r,"704bcec420635fc9b64942e5e3b3371d13f191b241",null),(0,e.A)(s,"70ac55c6f6ecf61c5d7c347613059bb0055ec865df",null)},33305:(a,b,c)=>{c.d(b,{W:()=>k});var d=c(59111),e=c(485),f=c(14450),g=c(68156),h=c(93755),i=c(90147);let j=(0,i.createServerReference)("70ac55c6f6ecf61c5d7c347613059bb0055ec865df",i.callServer,void 0,i.findSourceMapURL,"deleteArtifactComponentAction");function k({artifactComponentId:a,artifactComponentName:b,setIsOpen:c,redirectOnDelete:i=!1}){let[k,l]=(0,f.useState)(!1),m=(0,e.useRouter)(),{tenantId:n,projectId:o}=(0,e.useParams)(),p=async()=>{l(!0);try{let b=await j(n,o,a);b.success?(c(!1),g.oR.success("Artifact deleted."),i&&m.push(`/${n}/projects/${o}/artifacts`)):g.oR.error(b.error)}finally{l(!1)}};return(0,d.jsx)(h.J,{itemName:b||"this artifact",isSubmitting:k,onDelete:p})}},44733:(a,b,c)=>{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.a(a,async(a,d)=>{try{c.d(b,{S:()=>i});var e=c(59111),f=c(71771),g=c(76394),h=a([g]);function i({control:a,name:b,label:c="JSON Schema",placeholder:d,disabled:h,description:i,readOnly:j,isRequired:k=!1}){return(0,e.jsx)(f.u,{control:a,name:b,label:c,description:i,isRequired:k,children:a=>(0,e.jsx)(g.$,{placeholder:d,...a,value:a.value||"",onChange:a.onChange,readOnly:j,disabled:h})})}g=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},59245:(a,b,c)=>{c.d(b,{z:()=>g});var d=c(34576),e=c(80974),f=c(62503);let g=d.object({id:f.f,name:d.string().min(1,"Name is required."),description:d.string().min(1,"Description is required."),props:d.union([d.string(),d.null(),d.undefined()]).transform((a,b)=>{if(a&&""!==a&&null!==a)try{let c=JSON.parse(a),f=(0,e._O)(a);if(!f.isValid){let a=f.errors[0]?.message||"Invalid JSON schema";return b.addIssue({code:d.ZodIssueCode.custom,message:a}),d.NEVER}return c}catch(a){return b.addIssue({code:d.ZodIssueCode.custom,message:(0,e.SR)(a)}),d.NEVER}}).optional()})},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.")},68933:(a,b,c)=>{c.d(b,{g:()=>d});let d={id:"",name:"",description:"",props:void 0}},72290:(a,b,c)=>{c.d(b,{o:()=>e});var d=c(90147);let e=(0,d.createServerReference)("7021d97d85b74f50bd4d298fc75fc082b636af05e7",d.callServer,void 0,d.findSourceMapURL,"createArtifactComponentAction")},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}`))})]})})}},93755:(a,b,c)=>{c.d(b,{J:()=>h});var d=c(59111),e=c(53710),f=c(2856),g=c(96032);function h({itemName:a,isSubmitting:b,onDelete:c,customTitle:h,customDescription:i}){let j=async()=>{await c()};return(0,d.jsxs)(g.Cf,{children:[(0,d.jsx)(g.L3,{children:h||`Delete ${a||"this item"}`}),(0,d.jsx)(g.rr,{children:i||`Are you sure you want to delete ${a||"this item"}? This action cannot be undone.`}),(0,d.jsxs)(g.Es,{children:[(0,d.jsx)(g.HM,{asChild:!0,children:(0,d.jsx)(f.$,{variant:"outline",children:"Cancel"})}),(0,d.jsx)(f.$,{variant:"destructive",onClick:j,disabled:b,children:b?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(e.A,{className:"size-4 animate-spin"})," Deleting..."]}):"Delete"})]})]})}}};