@inkeep/agents-manage-ui 0.31.4 → 0.31.6

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 (296) 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 +287 -277
  3. package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +9 -9
  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 +23 -32
  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 +1 -1
  16. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js +3 -3
  18. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js.nft.json +1 -1
  19. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js +2 -2
  21. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js.nft.json +1 -1
  22. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js +2 -2
  24. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js.nft.json +1 -1
  25. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page_client-reference-manifest.js +1 -1
  26. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js +2 -2
  27. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page_client-reference-manifest.js +1 -1
  28. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js +2 -2
  29. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js.nft.json +1 -1
  30. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page_client-reference-manifest.js +1 -1
  31. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js +2 -2
  32. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js.nft.json +1 -1
  33. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js +2 -2
  35. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js +2 -2
  37. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js.nft.json +1 -1
  38. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js +2 -2
  40. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js.nft.json +1 -1
  41. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js +2 -2
  43. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js +2 -2
  45. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
  46. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js +2 -2
  48. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js +2 -2
  50. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page.js +2 -2
  52. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page_client-reference-manifest.js +1 -1
  53. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page.js +2 -2
  54. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page.js.nft.json +1 -1
  55. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page_client-reference-manifest.js +1 -1
  56. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page.js +1 -1
  57. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page_client-reference-manifest.js +1 -1
  58. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page.js +2 -2
  59. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page_client-reference-manifest.js +1 -1
  60. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js +2 -2
  61. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js.nft.json +1 -1
  62. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page_client-reference-manifest.js +1 -1
  63. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js +2 -2
  64. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js.nft.json +1 -1
  65. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page_client-reference-manifest.js +1 -1
  66. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js +2 -2
  67. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js.nft.json +1 -1
  68. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
  69. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js +2 -2
  70. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page_client-reference-manifest.js +1 -1
  71. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js +2 -2
  72. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  73. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js +2 -2
  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 +2 -2
  76. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js.nft.json +1 -1
  77. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page_client-reference-manifest.js +1 -1
  78. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js +2 -2
  79. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js.nft.json +1 -1
  80. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page_client-reference-manifest.js +1 -1
  81. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js +3 -3
  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 +1 -1
  85. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page_client-reference-manifest.js +1 -1
  86. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js +1 -1
  87. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  88. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
  89. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +9 -9
  90. package/.next/standalone/agents-manage-ui/.next/server/app/api/data-components/[dataComponentId]/generate-render/route.js +2 -2
  91. package/.next/standalone/agents-manage-ui/.next/server/app/api/data-components/[dataComponentId]/generate-render/route_client-reference-manifest.js +1 -1
  92. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  93. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route_client-reference-manifest.js +1 -1
  94. package/.next/standalone/agents-manage-ui/.next/server/app/page.js +2 -2
  95. package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
  96. package/.next/standalone/agents-manage-ui/.next/server/app-paths-manifest.json +9 -9
  97. package/.next/standalone/agents-manage-ui/.next/server/chunks/2049.js +1 -0
  98. package/.next/standalone/agents-manage-ui/.next/server/chunks/2099.js +74 -0
  99. package/.next/standalone/agents-manage-ui/.next/server/chunks/2318.js +1 -0
  100. package/.next/standalone/agents-manage-ui/.next/server/chunks/2323.js +2 -2
  101. package/.next/standalone/agents-manage-ui/.next/server/chunks/305.js +1 -1
  102. package/.next/standalone/agents-manage-ui/.next/server/chunks/3200.js +1 -1
  103. package/.next/standalone/agents-manage-ui/.next/server/chunks/341.js +363 -5
  104. package/.next/standalone/agents-manage-ui/.next/server/chunks/3690.js +7 -0
  105. package/.next/standalone/agents-manage-ui/.next/server/chunks/4021.js +1 -1
  106. package/.next/standalone/agents-manage-ui/.next/server/chunks/4057.js +123 -0
  107. package/.next/standalone/agents-manage-ui/.next/server/chunks/4746.js +1 -0
  108. package/.next/standalone/agents-manage-ui/.next/server/chunks/5007.js +1 -1
  109. package/.next/standalone/agents-manage-ui/.next/server/chunks/{1047.js → 5196.js} +1 -1
  110. package/.next/standalone/agents-manage-ui/.next/server/chunks/5245.js +3 -3
  111. package/.next/standalone/agents-manage-ui/.next/server/chunks/5316.js +3 -3
  112. package/.next/standalone/agents-manage-ui/.next/server/chunks/7065.js +4 -4
  113. package/.next/standalone/agents-manage-ui/.next/server/chunks/{8746.js → 7111.js} +2 -2
  114. package/.next/standalone/agents-manage-ui/.next/server/chunks/7172.js +6 -6
  115. package/.next/standalone/agents-manage-ui/.next/server/chunks/7225.js +1 -0
  116. package/.next/standalone/agents-manage-ui/.next/server/chunks/7497.js +1 -0
  117. package/.next/standalone/agents-manage-ui/.next/server/chunks/8320.js +1 -1
  118. package/.next/standalone/agents-manage-ui/.next/server/chunks/8359.js +1 -1
  119. package/.next/standalone/agents-manage-ui/.next/server/chunks/8528.js +4199 -0
  120. package/.next/standalone/agents-manage-ui/.next/server/chunks/8704.js +1 -1
  121. package/.next/standalone/agents-manage-ui/.next/server/chunks/9435.js +1 -0
  122. package/.next/standalone/agents-manage-ui/.next/server/chunks/9542.js +1 -1
  123. package/.next/standalone/agents-manage-ui/.next/server/chunks/9920.js +1 -1
  124. package/.next/standalone/agents-manage-ui/.next/server/middleware-build-manifest.js +1 -1
  125. package/.next/standalone/agents-manage-ui/.next/server/middleware-manifest.json +5 -5
  126. package/.next/standalone/agents-manage-ui/.next/server/middleware-react-loadable-manifest.js +1 -1
  127. package/.next/standalone/agents-manage-ui/.next/server/pages/404.html +1 -1
  128. package/.next/standalone/agents-manage-ui/.next/server/pages/500.html +1 -1
  129. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.js +1 -1
  130. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.json +1 -1
  131. package/.next/standalone/agents-manage-ui/.next/static/chunks/10385-34a87930d7321135.js +1 -0
  132. package/.next/standalone/agents-manage-ui/.next/static/chunks/11727-dbddb4dbc677cfa7.js +1 -0
  133. package/.next/standalone/agents-manage-ui/.next/static/chunks/19268-4c91d996ccccbc45.js +1 -0
  134. package/.next/standalone/agents-manage-ui/.next/static/chunks/19790-d7debd88cb1da34e.js +1 -0
  135. package/.next/standalone/agents-manage-ui/.next/static/chunks/29129.2b3aec21f9892b9e.js +1 -0
  136. package/.next/standalone/agents-manage-ui/.next/static/chunks/31321-6bee6bed0133919f.js +197 -0
  137. package/.next/standalone/agents-manage-ui/.next/static/chunks/32848-ccddf72d711e0f10.js +1 -0
  138. package/.next/standalone/agents-manage-ui/.next/static/chunks/37226-af0e272517d004df.js +1 -0
  139. package/.next/standalone/agents-manage-ui/.next/static/chunks/42658-cba95733d43d6b98.js +1 -0
  140. package/.next/standalone/agents-manage-ui/.next/static/chunks/{42966-c45601890893f4fe.js → 43883-4a0edc82a64d282e.js} +1 -1
  141. package/.next/standalone/agents-manage-ui/.next/static/chunks/4601-be81d9f529ebb629.js +4 -0
  142. package/.next/standalone/agents-manage-ui/.next/static/chunks/46410.741cf7adb0d1397c.js +1 -0
  143. package/.next/standalone/agents-manage-ui/.next/static/chunks/4653-1381428fd8730f4b.js +1 -0
  144. package/.next/standalone/agents-manage-ui/.next/static/chunks/52218-66069d13c487bb67.js +1 -0
  145. package/.next/standalone/agents-manage-ui/.next/static/chunks/52247-9bc5f31d80cdd76e.js +1 -0
  146. package/.next/standalone/agents-manage-ui/.next/static/chunks/{56452.a7e4d92cc4db7a28.js → 56452.8af20314358ce189.js} +1 -1
  147. package/.next/standalone/agents-manage-ui/.next/static/chunks/65665-00887d4d2c362ca2.js +123 -0
  148. package/.next/standalone/agents-manage-ui/.next/static/chunks/67695.2ac4acc5c19805bf.js +1 -0
  149. package/.next/standalone/agents-manage-ui/.next/static/chunks/73629-c59d321deb96b18e.js +1 -0
  150. package/.next/standalone/agents-manage-ui/.next/static/chunks/73744-ed53b2a1b7396fba.js +1 -0
  151. package/.next/standalone/agents-manage-ui/.next/static/chunks/{77246.627627baf66e549d.js → 77246.12508e2a9fd3c50d.js} +2 -2
  152. package/.next/standalone/agents-manage-ui/.next/static/chunks/77764-1df13c1f10585571.js +1 -0
  153. package/.next/standalone/agents-manage-ui/.next/static/chunks/85145-85cfc74451117fee.js +2 -0
  154. package/.next/standalone/agents-manage-ui/.next/static/chunks/85210-101ae8171554340b.js +1 -0
  155. package/.next/standalone/agents-manage-ui/.next/static/chunks/87799-f447ef2b59041d68.js +21 -0
  156. package/.next/standalone/agents-manage-ui/.next/static/chunks/{98749-e87db9b701dfca1b.js → 88686-b22f308e913d4f41.js} +1 -1
  157. package/.next/standalone/agents-manage-ui/.next/static/chunks/91783-163c98dc7933ec82.js +1 -0
  158. package/.next/standalone/agents-manage-ui/.next/static/chunks/96365-e0704ccf63dd8e5f.js +1 -0
  159. package/.next/standalone/agents-manage-ui/.next/static/chunks/97635-cc97848f52f745fa.js +1 -0
  160. package/.next/standalone/agents-manage-ui/.next/static/chunks/98522-61e930eb8a6e224a.js +1 -0
  161. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/{page-3d0c92c01eb13e24.js → page-be966a70f8502ccc.js} +1 -1
  162. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/page-580bc2327bbae5ca.js +1 -0
  163. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-228d99a91c845367.js +1 -0
  164. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-4d19601501dcd086.js +1 -0
  165. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-88efe1a39c9a6d18.js +1 -0
  166. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-454ba86d45fe5bfc.js +1 -0
  167. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-68fb8aa4c30ce1e4.js +1 -0
  168. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page-6767ebcf26247be8.js +1 -0
  169. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/page-859361f1b23eabcb.js +1 -0
  170. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-1436a021ea5a4169.js +1 -0
  171. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-5f8ed5a10c190d14.js +1 -0
  172. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-a0c2608afa8249db.js +1 -0
  173. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-05f6016077c943c1.js +1 -0
  174. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/{page-52f8080522e65045.js → page-8c5c87e9120bafa8.js} +1 -1
  175. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page-8f3159402ba52537.js +1 -0
  176. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/{page-c15ae98c8da775e7.js → page-71a32195e25c4f20.js} +1 -1
  177. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/new/page-2a8d400555b0276a.js +1 -0
  178. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/page-15784e1c28e7a7a4.js +1 -0
  179. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/{page-d0889bb0ecbba52a.js → page-f5d13f6f6f160526.js} +1 -1
  180. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-33e029753139f5f8.js +1 -0
  181. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/{page-76e93febd8faae06.js → page-8f3436690464e9bf.js} +1 -1
  182. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-d2aea0d2aa1e34da.js +1 -0
  183. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/page-ab197455cc37afc6.js +1 -0
  184. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/ai-calls/{page-ff6bb6ad21bedf2e.js → page-1ca030e6ca5874c2.js} +1 -1
  185. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/{page-915bc11a351377b6.js → page-e0b199dd271e9637.js} +1 -1
  186. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-c18fe3e202b9acf5.js +1 -0
  187. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-6dd70ed80c36b165.js +1 -0
  188. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-7552ac033085bed2.js +1 -0
  189. package/.next/standalone/agents-manage-ui/.next/static/chunks/webpack-8ccede0f7d1fc68d.js +1 -0
  190. package/.next/standalone/agents-manage-ui/.next/static/css/31178030b73a06ca.css +1 -0
  191. package/.next/standalone/agents-manage-ui/package.json +3 -2
  192. package/.next/standalone/packages/agents-core/package.json +1 -1
  193. package/package.json +6 -5
  194. package/src/components/agent/ship/api-guide.tsx +53 -0
  195. package/src/components/agent/ship/chat-ui-guide/chat-ui-code.tsx +101 -0
  196. package/src/components/agent/ship/chat-ui-guide/chat-ui-guide.tsx +93 -0
  197. package/src/components/agent/ship/chat-ui-guide/chat-ui-preview-form.tsx +83 -0
  198. package/src/components/agent/ship/chat-ui-guide/chat-ui-preview.tsx +105 -0
  199. package/src/components/agent/ship/chat-ui-guide/snippets/index.ts +7 -0
  200. package/src/components/agent/ship/chat-ui-guide/snippets/js-chat-button.ts +10 -0
  201. package/src/components/agent/ship/chat-ui-guide/snippets/js-embedded-chat.ts +22 -0
  202. package/src/components/agent/ship/chat-ui-guide/snippets/js-script-tag.ts +9 -0
  203. package/src/components/agent/ship/chat-ui-guide/snippets/js-sidebar-chat.ts +25 -0
  204. package/src/components/agent/ship/chat-ui-guide/snippets/react-component.ts +10 -0
  205. package/src/components/agent/ship/chat-ui-guide/snippets/react-install.ts +5 -0
  206. package/src/components/agent/ship/chat-ui-guide/snippets/react-sidebar-component.ts +17 -0
  207. package/src/components/agent/ship/guide-header.tsx +30 -0
  208. package/src/components/agent/ship/mcp-guide/mcp-guide.tsx +96 -0
  209. package/src/components/agent/ship/mcp-guide/snippets/claude-code.ts +16 -0
  210. package/src/components/agent/ship/mcp-guide/snippets/cursor.ts +27 -0
  211. package/src/components/agent/ship/mcp-guide/snippets/index.ts +4 -0
  212. package/src/components/agent/ship/mcp-guide/snippets/vscode.ts +27 -0
  213. package/src/components/agent/ship/mcp-guide/snippets/windsurf.ts +25 -0
  214. package/src/components/agent/ship/node-js-guide.tsx +67 -0
  215. package/src/components/agent/ship/sdk-guide.tsx +102 -0
  216. package/src/components/agent/ship/ship-modal.tsx +143 -0
  217. package/src/components/agent/ship/utils.ts +25 -0
  218. package/src/components/agent/toolbar/toolbar.tsx +2 -0
  219. package/src/components/data-components/render/component-render-generator.tsx +9 -12
  220. package/src/components/form/json-schema-builder.tsx +12 -9
  221. package/src/components/form/json-schema-input.tsx +1 -1
  222. package/src/components/icons/claude.tsx +21 -0
  223. package/src/components/icons/cursor.tsx +15 -0
  224. package/src/components/icons/vercel.tsx +14 -0
  225. package/src/components/icons/vs-code.tsx +24 -0
  226. package/src/components/icons/windsurf.tsx +15 -0
  227. package/src/components/traces/timeline/hierarchical-timeline.tsx +3 -3
  228. package/src/components/ui/color-picker.tsx +47 -0
  229. package/src/components/ui/dialog.tsx +38 -10
  230. package/src/components/ui/tabs.tsx +29 -9
  231. package/.next/standalone/agents-manage-ui/.next/server/chunks/3058.js +0 -1
  232. package/.next/standalone/agents-manage-ui/.next/server/chunks/3411.js +0 -1
  233. package/.next/standalone/agents-manage-ui/.next/server/chunks/4475.js +0 -74
  234. package/.next/standalone/agents-manage-ui/.next/server/chunks/4881.js +0 -1
  235. package/.next/standalone/agents-manage-ui/.next/server/chunks/565.js +0 -1
  236. package/.next/standalone/agents-manage-ui/.next/server/chunks/762.js +0 -1
  237. package/.next/standalone/agents-manage-ui/.next/server/chunks/824.js +0 -1
  238. package/.next/standalone/agents-manage-ui/.next/server/chunks/8717.js +0 -7
  239. package/.next/standalone/agents-manage-ui/.next/server/chunks/910.js +0 -1
  240. package/.next/standalone/agents-manage-ui/.next/server/chunks/9682.js +0 -123
  241. package/.next/standalone/agents-manage-ui/.next/static/chunks/15856-09dd885eb1330cba.js +0 -1
  242. package/.next/standalone/agents-manage-ui/.next/static/chunks/1721-4d8716eb27abc2c8.js +0 -1
  243. package/.next/standalone/agents-manage-ui/.next/static/chunks/17430-81adddca8d7ea403.js +0 -1
  244. package/.next/standalone/agents-manage-ui/.next/static/chunks/20693-1b34b01549c71fcd.js +0 -1
  245. package/.next/standalone/agents-manage-ui/.next/static/chunks/21009-32af3656c7538d1b.js +0 -1
  246. package/.next/standalone/agents-manage-ui/.next/static/chunks/22205-1bace94483c408ae.js +0 -1
  247. package/.next/standalone/agents-manage-ui/.next/static/chunks/26959-ac6be17f7b14778b.js +0 -4
  248. package/.next/standalone/agents-manage-ui/.next/static/chunks/32848-e368b492419ae6e4.js +0 -1
  249. package/.next/standalone/agents-manage-ui/.next/static/chunks/37058-88c6556ebedb9d47.js +0 -1
  250. package/.next/standalone/agents-manage-ui/.next/static/chunks/37226-a04406434cd8bb5f.js +0 -1
  251. package/.next/standalone/agents-manage-ui/.next/static/chunks/38474-4ab4ddfcf860813d.js +0 -1
  252. package/.next/standalone/agents-manage-ui/.next/static/chunks/46410.0e8a6975e064d1b2.js +0 -1
  253. package/.next/standalone/agents-manage-ui/.next/static/chunks/47380-98ba7170ef8d47cd.js +0 -2
  254. package/.next/standalone/agents-manage-ui/.next/static/chunks/50118.0a75e445f38b54be.js +0 -1
  255. package/.next/standalone/agents-manage-ui/.next/static/chunks/51397-ed3623cc53c3cd80.js +0 -1
  256. package/.next/standalone/agents-manage-ui/.next/static/chunks/54339.3d0067056dcd81a1.js +0 -21
  257. package/.next/standalone/agents-manage-ui/.next/static/chunks/55157-25e4c0b9f9d95f2c.js +0 -123
  258. package/.next/standalone/agents-manage-ui/.next/static/chunks/5571-7243ce6d41b18de5.js +0 -1
  259. package/.next/standalone/agents-manage-ui/.next/static/chunks/56117-a96a6a5a77f14ba0.js +0 -1
  260. package/.next/standalone/agents-manage-ui/.next/static/chunks/67695.50daf2d55a535621.js +0 -1
  261. package/.next/standalone/agents-manage-ui/.next/static/chunks/71839-e9ba4ed0b3ce7668.js +0 -1
  262. package/.next/standalone/agents-manage-ui/.next/static/chunks/78155-b4ada7f3606c9500.js +0 -197
  263. package/.next/standalone/agents-manage-ui/.next/static/chunks/81385-bf660a5d2d61583a.js +0 -1
  264. package/.next/standalone/agents-manage-ui/.next/static/chunks/85210-7e4bb57822963370.js +0 -1
  265. package/.next/standalone/agents-manage-ui/.next/static/chunks/91340-6a4c648f7a6b13e5.js +0 -1
  266. package/.next/standalone/agents-manage-ui/.next/static/chunks/9766-12c570d61ec6ab54.js +0 -1
  267. package/.next/standalone/agents-manage-ui/.next/static/chunks/98117-23cc4134c1bc5526.js +0 -1
  268. package/.next/standalone/agents-manage-ui/.next/static/chunks/99724-b87437be879a6140.js +0 -1
  269. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/new/page-d714a4fd03dc2306.js +0 -1
  270. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-e8da5303d0df1f6d.js +0 -1
  271. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-cf48ef911f40e1b0.js +0 -1
  272. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-2d39e5bec5da14d1.js +0 -1
  273. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-fcb1a45f6cf225b4.js +0 -1
  274. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-cd3eec2d38bfaec1.js +0 -1
  275. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page-e34ef47a0a056252.js +0 -1
  276. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/page-82bc98ae0bea5273.js +0 -1
  277. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-9071c8ddc4ff3843.js +0 -1
  278. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-df7b2ca0e2b96bcf.js +0 -1
  279. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-152052de97b91e11.js +0 -1
  280. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-1bbcd9cde29e316e.js +0 -1
  281. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page-e207f1a9d366dec2.js +0 -1
  282. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/new/page-efadffe3f843917d.js +0 -1
  283. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/page-d41caff7520558f0.js +0 -1
  284. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-f43afc20c7b679cc.js +0 -1
  285. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-d5141432493a5eaa.js +0 -1
  286. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/page-fc7bc85c3a758e9a.js +0 -1
  287. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-df885415e1c2fe8a.js +0 -1
  288. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-c6e860aa7b2d726b.js +0 -1
  289. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-33cfcac33a61ad21.js +0 -1
  290. package/.next/standalone/agents-manage-ui/.next/static/chunks/webpack-314a6b9a2162cc11.js +0 -1
  291. package/.next/standalone/agents-manage-ui/.next/static/css/79e788a7e7a93a1e.css +0 -1
  292. /package/.next/standalone/agents-manage-ui/.next/static/{i6GLHI_W62QkxURNDKYIc → HarCmbzAumIcjUAzOVpVH}/_buildManifest.js +0 -0
  293. /package/.next/standalone/agents-manage-ui/.next/static/{i6GLHI_W62QkxURNDKYIc → HarCmbzAumIcjUAzOVpVH}/_ssgManifest.js +0 -0
  294. /package/.next/standalone/agents-manage-ui/.next/static/chunks/{21f4193d.7ccc1aebbebe4f76.js → 21f4193d-7ccc1aebbebe4f76.js} +0 -0
  295. /package/.next/standalone/agents-manage-ui/.next/static/chunks/{9f915ca0.83c49af9bcc715c2.js → 9f915ca0-83c49af9bcc715c2.js} +0 -0
  296. /package/.next/standalone/agents-manage-ui/.next/static/chunks/{acf92edd.26fc0407d83498c7.js → acf92edd-26fc0407d83498c7.js} +0 -0
@@ -0,0 +1,67 @@
1
+ import { useParams } from 'next/navigation';
2
+ import { Streamdown } from 'streamdown';
3
+ import { DOCS_BASE_URL } from '@/constants/page-descriptions';
4
+ import { useRuntimeConfig } from '@/contexts/runtime-config-context';
5
+ import { DocsLink, Header } from './guide-header';
6
+
7
+ export function NodeJsGuide() {
8
+ const { PUBLIC_INKEEP_AGENTS_RUN_API_URL } = useRuntimeConfig();
9
+ const apiUrl = `${PUBLIC_INKEEP_AGENTS_RUN_API_URL}/api/chat`;
10
+ const { agentId } = useParams();
11
+
12
+ return (
13
+ <div>
14
+ <Header.Container>
15
+ <Header.Title title="Node.js Backend" />
16
+ <DocsLink href={`${DOCS_BASE_URL}/talk-to-your-agents/chat-api`} />
17
+ </Header.Container>
18
+ <Streamdown>
19
+ {`Example Next.js API route (\`app/api/chat/route.ts\`):
20
+
21
+ \`\`\`typescript
22
+ export async function POST(req: Request) {
23
+ const { messages, conversationId } = await req.json();
24
+
25
+ const response = await fetch('${apiUrl}', {
26
+ method: 'POST',
27
+ headers: {
28
+ 'Authorization': \`Bearer \${process.env.INKEEP_AGENT_API_KEY}\`,
29
+ 'Content-Type': 'application/json',
30
+ 'x-emit-operations': 'true',
31
+ },
32
+ body: JSON.stringify({
33
+ messages,
34
+ conversationId,
35
+ }),
36
+ });
37
+
38
+ return new Response(response.body, {
39
+ headers: {
40
+ 'Content-Type': 'text/event-stream',
41
+ 'Cache-Control': 'no-cache',
42
+ 'Connection': 'keep-alive',
43
+ },
44
+ });
45
+ }
46
+ \`\`\`
47
+
48
+ Example response (Server-Sent Events stream):
49
+
50
+ \`\`\`bash
51
+ data: {"type":"data-operation","data":{"type":"agent_initializing","details":{"sessionId":"chatds-12345678910111","agentId":"${agentId}"}}}
52
+
53
+ data: {"type":"text-start","id":"1234567891011-abcdefghi"}
54
+
55
+ data: {"type":"text-delta","id":"1234567891011-abcdefghi","delta":"I answer"}
56
+
57
+ data: {"type":"text-delta","id":"1234567891011-abcdefghi","delta":" technical questions"}
58
+
59
+ data: {"type":"text-end","id":"1234567891011-abcdefghi"}
60
+
61
+ data: [DONE]
62
+ \`\`\`
63
+ `}
64
+ </Streamdown>
65
+ </div>
66
+ );
67
+ }
@@ -0,0 +1,102 @@
1
+ import { Streamdown } from 'streamdown';
2
+ import { DOCS_BASE_URL } from '@/constants/page-descriptions';
3
+ import { useRuntimeConfig } from '@/contexts/runtime-config-context';
4
+ import { DocsLink, Header } from './guide-header';
5
+
6
+ export function SdkGuide() {
7
+ const { PUBLIC_INKEEP_AGENTS_RUN_API_URL } = useRuntimeConfig();
8
+ const apiUrl = `${PUBLIC_INKEEP_AGENTS_RUN_API_URL}/api/chat`;
9
+
10
+ return (
11
+ <div>
12
+ <Header.Container>
13
+ <Header.Title title="Vercel SDK" />
14
+ <DocsLink href={`${DOCS_BASE_URL}/talk-to-your-agents/vercel-ai-sdk/use-chat`} />
15
+ </Header.Container>
16
+ <Streamdown>
17
+ {`Install the package:
18
+
19
+ \`\`\`bash
20
+ npm install ai @ai-sdk/react
21
+ \`\`\`
22
+
23
+ Example Next.js implementation using Vercel AI SDK:
24
+
25
+ \`\`\`tsx
26
+ "use client";
27
+
28
+ import { useChat } from "@ai-sdk/react";
29
+ import { DefaultChatTransport } from "ai";
30
+ import { useState } from "react";
31
+
32
+ export default function Page() {
33
+ const { messages, sendMessage } = useChat({
34
+ transport: new DefaultChatTransport({
35
+ api: "${apiUrl}",
36
+ headers: {
37
+ Authorization: "Bearer INKEEP_AGENT_API_KEY",
38
+ },
39
+ }),
40
+ });
41
+ const [input, setInput] = useState("");
42
+
43
+ return (
44
+ <div className="max-w-2xl mx-auto p-4">
45
+ <div className="space-y-4 mb-4">
46
+ {messages.map((message) => (
47
+ <div key={message.id} className="border rounded p-3">
48
+ <div className="font-semibold mb-2">
49
+ {message.role === "user" ? "👤 User" : "🤖 Assistant"}
50
+ </div>
51
+
52
+ <div className="space-y-2">
53
+ {message.parts.map((part, partIndex) => {
54
+ const partKey = \`\${message.id}-\${part.type}-\${partIndex}\`;
55
+
56
+ if (part.type === "text") {
57
+ return (
58
+ <div key={partKey} className="whitespace-pre-wrap">
59
+ {part.text}
60
+ </div>
61
+ );
62
+ }
63
+
64
+ return null;
65
+ })}
66
+ </div>
67
+ </div>
68
+ ))}
69
+ </div>
70
+
71
+ <form
72
+ onSubmit={(e) => {
73
+ e.preventDefault();
74
+ if (input.trim()) {
75
+ sendMessage({ text: input });
76
+ setInput("");
77
+ }
78
+ }}
79
+ className="flex gap-2"
80
+ >
81
+ <input
82
+ value={input}
83
+ onChange={(e) => setInput(e.target.value)}
84
+ placeholder="Type your message..."
85
+ className="flex-1 p-2 border rounded"
86
+ />
87
+ <button
88
+ type="submit"
89
+ className="px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600"
90
+ >
91
+ Send
92
+ </button>
93
+ </form>
94
+ </div>
95
+ );
96
+ }
97
+ \`\`\`
98
+ `}
99
+ </Streamdown>
100
+ </div>
101
+ );
102
+ }
@@ -0,0 +1,143 @@
1
+ import {
2
+ Hexagon,
3
+ Key,
4
+ type LucideProps,
5
+ MessagesSquare,
6
+ RocketIcon,
7
+ SquareTerminal,
8
+ X,
9
+ } from 'lucide-react';
10
+ import Link from 'next/link';
11
+ import { useParams } from 'next/navigation';
12
+ import type { ComponentType } from 'react';
13
+ import { MCPIcon } from '@/components/icons/mcp-icon';
14
+ import { VercelIcon } from '@/components/icons/vercel';
15
+ import { Button } from '@/components/ui/button';
16
+ import {
17
+ Dialog,
18
+ DialogClose,
19
+ DialogContent,
20
+ DialogDescription,
21
+ DialogHeader,
22
+ DialogTitle,
23
+ DialogTrigger,
24
+ } from '@/components/ui/dialog';
25
+ import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
26
+ import { ApiGuide } from './api-guide';
27
+ import { ChatUIGuide } from './chat-ui-guide/chat-ui-guide';
28
+ import { McpGuide } from './mcp-guide/mcp-guide';
29
+ import { NodeJsGuide } from './node-js-guide';
30
+ import { SdkGuide } from './sdk-guide';
31
+
32
+ const TAB_VALUES = {
33
+ CHAT_UI: 'chat-ui',
34
+ MCP_SERVER: 'mcp-server',
35
+ SDK: 'sdk',
36
+ NODE_JS: 'node-js',
37
+ API: 'api',
38
+ } as const;
39
+
40
+ type TabValue = (typeof TAB_VALUES)[keyof typeof TAB_VALUES];
41
+
42
+ type TabItem = {
43
+ label: string;
44
+ value: TabValue;
45
+ IconComponent?: React.ComponentType<LucideProps>;
46
+ };
47
+
48
+ const shipModalTabComponents: Record<TabValue, ComponentType> = {
49
+ [TAB_VALUES.CHAT_UI]: ChatUIGuide,
50
+ [TAB_VALUES.MCP_SERVER]: McpGuide,
51
+ [TAB_VALUES.SDK]: SdkGuide,
52
+ [TAB_VALUES.NODE_JS]: NodeJsGuide,
53
+ [TAB_VALUES.API]: ApiGuide,
54
+ };
55
+
56
+ const shipModalTabItems: TabItem[] = [
57
+ {
58
+ label: 'Chat UI',
59
+ value: TAB_VALUES.CHAT_UI,
60
+ IconComponent: MessagesSquare,
61
+ },
62
+ {
63
+ label: 'MCP Server',
64
+ value: TAB_VALUES.MCP_SERVER,
65
+ IconComponent: MCPIcon,
66
+ },
67
+ {
68
+ label: 'Vercel SDK',
69
+ value: TAB_VALUES.SDK,
70
+ IconComponent: VercelIcon,
71
+ },
72
+ {
73
+ label: 'Node JS',
74
+ value: TAB_VALUES.NODE_JS,
75
+ IconComponent: Hexagon,
76
+ },
77
+ {
78
+ label: 'REST API',
79
+ value: TAB_VALUES.API,
80
+ IconComponent: SquareTerminal,
81
+ },
82
+ ];
83
+
84
+ export function ShipModal() {
85
+ const params = useParams();
86
+ const { tenantId, projectId } = params;
87
+ return (
88
+ <Dialog>
89
+ <DialogTrigger asChild>
90
+ <Button variant="outline">
91
+ <RocketIcon className="size-4" />
92
+ Ship
93
+ </Button>
94
+ </DialogTrigger>
95
+ <DialogContent className="max-w-full! w-7xl" position="top" showCloseButton={false}>
96
+ <DialogHeader>
97
+ <div className="flex items-center justify-between w-full gap-2">
98
+ <DialogTitle>Talk to your agent</DialogTitle>
99
+ <div className="flex items-center gap-2">
100
+ <Button asChild variant="outline" size="sm">
101
+ <Link
102
+ href={`/${tenantId}/projects/${projectId}/api-keys`}
103
+ target="_blank"
104
+ rel="noreferrer noopener"
105
+ >
106
+ <Key className="size-4" />
107
+ Create API key
108
+ </Link>
109
+ </Button>
110
+ <DialogClose asChild>
111
+ <Button variant="ghost" className="size-8">
112
+ <X className="size-4 text-muted-foreground" />
113
+ <span className="sr-only">Close</span>
114
+ </Button>
115
+ </DialogClose>
116
+ </div>
117
+ </div>
118
+ <DialogDescription className="sr-only">Talk to your agent.</DialogDescription>
119
+ </DialogHeader>
120
+ <Tabs defaultValue={TAB_VALUES.CHAT_UI} className="min-w-0">
121
+ <TabsList className="bg-transparent relative rounded-none border-b p-0 w-full justify-start gap-4">
122
+ {shipModalTabItems.map((tab) => (
123
+ <TabsTrigger
124
+ key={tab.value}
125
+ variant="underline"
126
+ value={tab.value}
127
+ className="text-sm gap-2"
128
+ >
129
+ {tab.IconComponent && <tab.IconComponent className="size-4" />}
130
+ {tab.label}
131
+ </TabsTrigger>
132
+ ))}
133
+ </TabsList>
134
+ {Object.entries(shipModalTabComponents).map(([value, Component]) => (
135
+ <TabsContent key={value} value={value} className="py-4">
136
+ <Component />
137
+ </TabsContent>
138
+ ))}
139
+ </Tabs>
140
+ </DialogContent>
141
+ </Dialog>
142
+ );
143
+ }
@@ -0,0 +1,25 @@
1
+ export const replaceTemplatePlaceholders = (
2
+ template: string,
3
+ replacements: Record<string, string>
4
+ ): string => {
5
+ let result = template;
6
+ for (const [key, value] of Object.entries(replacements)) {
7
+ result = result.replace(new RegExp(`{{${key}}}`, 'g'), value);
8
+ }
9
+ return result;
10
+ };
11
+
12
+ export function toCamelCase(str: string): string {
13
+ return str
14
+ .toLowerCase()
15
+ .replace(/[^a-zA-Z0-9]+(.)/g, (_, char) => char.toUpperCase())
16
+ .replace(/^[^a-zA-Z]+/, '');
17
+ }
18
+
19
+ export const indentJson = (json: string, spaces: number): string => {
20
+ const indent = ' '.repeat(spaces);
21
+ return json
22
+ .split('\n')
23
+ .map((line, index) => (index === 0 ? line : `${indent}${line}`))
24
+ .join('\n');
25
+ };
@@ -4,6 +4,7 @@ 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';
6
6
  import { isMacOs } from '@/lib/utils';
7
+ import { ShipModal } from '../ship/ship-modal';
7
8
 
8
9
  interface ToolbarProps {
9
10
  onSubmit: () => void;
@@ -55,6 +56,7 @@ export function Toolbar({
55
56
 
56
57
  return (
57
58
  <div className="flex gap-2 flex-wrap justify-end content-start">
59
+ {!inPreviewDisabled && <ShipModal />}
58
60
  {dirty || inPreviewDisabled ? (
59
61
  <Tooltip>
60
62
  <TooltipTrigger asChild>
@@ -16,15 +16,6 @@ import { Textarea } from '@/components/ui/textarea';
16
16
  import { updateDataComponent } from '@/lib/api/data-components';
17
17
  import { DynamicComponentRenderer } from './dynamic-component-renderer';
18
18
 
19
- const StyledTabsTrigger = (props: React.ComponentProps<typeof TabsTrigger>) => {
20
- return (
21
- <TabsTrigger
22
- {...props}
23
- className="bg-transparent data-[state=active]:border-primary dark:data-[state=active]:border-primary h-full rounded-none border-0 border-b-2 border-transparent data-[state=active]:shadow-none data-[state=active]:text-primary data-[state=active]:bg-transparent uppercase font-mono text-xs mt-0.5 pt-2"
24
- />
25
- );
26
- };
27
-
28
19
  interface ComponentPreviewGeneratorProps {
29
20
  tenantId: string;
30
21
  projectId: string;
@@ -306,9 +297,15 @@ export function ComponentRenderGenerator({
306
297
  <Card className="px-2 py-4 pt-0">
307
298
  <Tabs defaultValue="render" className="w-full">
308
299
  <TabsList className="bg-transparent relative rounded-none border-b p-0 w-full justify-start gap-2">
309
- <StyledTabsTrigger value="render">Render</StyledTabsTrigger>
310
- <StyledTabsTrigger value="code">Code</StyledTabsTrigger>
311
- <StyledTabsTrigger value="data">Sample Data</StyledTabsTrigger>
300
+ <TabsTrigger variant="underline" value="render">
301
+ Render
302
+ </TabsTrigger>
303
+ <TabsTrigger variant="underline" value="code">
304
+ Code
305
+ </TabsTrigger>
306
+ <TabsTrigger variant="underline" value="data">
307
+ Sample Data
308
+ </TabsTrigger>
312
309
  </TabsList>
313
310
 
314
311
  <TabsContent value="render">
@@ -107,12 +107,15 @@ const Property: FC<PropertyProps> = ({ fieldId, depth = 0, prefix }) => {
107
107
  <>
108
108
  <Tooltip>
109
109
  <TooltipTrigger asChild>
110
- <Checkbox
111
- checked={Boolean(field.isRequired)}
112
- onCheckedChange={(checked) =>
113
- updateField(field.id, { isRequired: checked === true })
114
- }
115
- />
110
+ {/* without the wrapping div the checkbox doesn't get the data-state="checked" attribute and the styles are not applied */}
111
+ <div>
112
+ <Checkbox
113
+ checked={Boolean(field.isRequired)}
114
+ onCheckedChange={(checked) =>
115
+ updateField(field.id, { isRequired: checked === true })
116
+ }
117
+ />
118
+ </div>
116
119
  </TooltipTrigger>
117
120
  <TooltipContent>Mark this field as required</TooltipContent>
118
121
  </Tooltip>
@@ -180,7 +183,7 @@ const Property: FC<PropertyProps> = ({ fieldId, depth = 0, prefix }) => {
180
183
  <Button
181
184
  type="button"
182
185
  onClick={() => addChild(field.id)}
183
- variant="secondary"
186
+ variant="link"
184
187
  size="sm"
185
188
  className="self-start text-xs"
186
189
  style={{ marginLeft: indentStyle + 24 + (prefix ? 82 : 0) }}
@@ -248,7 +251,7 @@ export const JsonSchemaBuilder: FC<{ value: string; onChange: (newValue: string)
248
251
  <>
249
252
  <Table>
250
253
  <TableHeader>
251
- <TableRow>
254
+ <TableRow noHover>
252
255
  <TableHead className="w-[15%] text-center">Type</TableHead>
253
256
  <TableHead className="w-[42%] text-center">Name</TableHead>
254
257
  <TableHead className="text-center">Description</TableHead>
@@ -262,7 +265,7 @@ export const JsonSchemaBuilder: FC<{ value: string; onChange: (newValue: string)
262
265
  <Button
263
266
  type="button"
264
267
  onClick={() => addChild()}
265
- variant="secondary"
268
+ variant="link"
266
269
  size="sm"
267
270
  className="self-start text-xs"
268
271
  >
@@ -55,7 +55,7 @@ export function JsonSchemaInput<T extends FieldValues>({
55
55
  ) : (
56
56
  <JsonSchemaBuilder value={value} onChange={field.onChange} />
57
57
  )}
58
- <span className="absolute flex items-center end-0 top-0 gap-2 text-sm">
58
+ <span className="absolute flex items-center end-0 -top-[2.5px] gap-2 text-sm font-medium">
59
59
  JSON
60
60
  <Switch checked={isJsonSchemaModeChecked} onCheckedChange={setJsonSchemaMode} />
61
61
  </span>
@@ -0,0 +1,21 @@
1
+ import { forwardRef } from 'react';
2
+ import { type IconComponentProps, SvgIcon } from '@/components/ui/svg-icon';
3
+
4
+ export const ClaudeIcon = forwardRef<SVGSVGElement, IconComponentProps>((props, ref) => (
5
+ <SvgIcon ref={ref} {...props} strokeWidth={0}>
6
+ <title>Claude icon</title>
7
+ <g clipPath="url(#clip0_23_202)">
8
+ <path
9
+ d="M4.704 15.96L9.432 13.32L9.504 13.08L9.432 12.96H9.192L8.4 12.912L5.712 12.84L3.36 12.72L1.08 12.6L0.504 12.48L0 11.76L0.048 11.4L0.528 11.088L1.224 11.136L2.736 11.256L5.016 11.4L6.672 11.496L9.12 11.784H9.504L9.552 11.616L9.432 11.52L9.336 11.424L6.96 9.84L4.416 8.16L3.072 7.176L2.352 6.696L1.992 6.216L1.848 5.208L2.496 4.488L3.384 4.56L3.6 4.608L4.488 5.304L6.408 6.768L8.88 8.64L9.24 8.928L9.384 8.832L9.408 8.76L9.24 8.496L7.92 6L6.48 3.504L5.832 2.472L5.664 1.848C5.592 1.608 5.568 1.368 5.568 1.128L6.288 0.12L6.72 0L7.728 0.144L8.112 0.48L8.736 1.92L9.72 4.152L11.28 7.176L11.76 8.088L12 8.904L12.072 9.144H12.24V9.024L12.36 7.296L12.6 5.208L12.84 2.52L12.912 1.752L13.296 0.84L14.016 0.36L14.64 0.624L15.12 1.32L15.048 1.752L14.784 3.6L14.16 6.504L13.8 8.472H14.016L14.256 8.208L15.24 6.912L16.896 4.848L17.616 4.008L18.48 3.12L19.032 2.688H20.064L20.808 3.816L20.472 4.992L19.416 6.336L18.528 7.464L17.256 9.168L16.488 10.536L16.56 10.632H16.728L19.608 10.008L21.144 9.744L22.968 9.432L23.808 9.816L23.904 10.2L23.568 11.016L21.6 11.496L19.296 11.976L15.864 12.768L15.816 12.792L15.864 12.864L17.4 13.008L18.072 13.056H19.704L22.728 13.296L23.52 13.776L23.976 14.424L23.904 14.904L22.68 15.528L21.048 15.144L17.208 14.232L15.912 13.92H15.72V14.016L16.824 15.096L18.816 16.896L21.36 19.224L21.48 19.8L21.168 20.28L20.832 20.232L18.624 18.552L17.76 17.832L15.84 16.2H15.72V16.368L16.152 17.016L18.504 20.544L18.624 21.624L18.456 21.96L17.832 22.2L17.184 22.056L15.792 20.136L14.352 17.976L13.224 16.008L13.104 16.104L12.408 23.352L12.096 23.712L11.376 24L10.776 23.52L10.44 22.8L10.776 21.312L11.16 19.392L11.472 17.856L11.76 15.96L11.928 15.336V15.288H11.76L10.32 17.28L8.16 20.232L6.432 22.056L6.024 22.224L5.304 21.864L5.376 21.192L5.76 20.64L8.16 17.568L9.6 15.672L10.56 14.568L10.536 14.448H10.464L4.128 18.576L3 18.72L2.52 18.24L2.568 17.52L2.808 17.28L4.728 15.96H4.704Z"
10
+ fill="currentColor"
11
+ />
12
+ </g>
13
+ <defs>
14
+ <clipPath id="clip0_23_202">
15
+ <rect width="24" height="24" fill="white" />
16
+ </clipPath>
17
+ </defs>
18
+ </SvgIcon>
19
+ ));
20
+
21
+ ClaudeIcon.displayName = 'ClaudeIcon';
@@ -0,0 +1,15 @@
1
+ import { forwardRef } from 'react';
2
+ import { type IconComponentProps, SvgIcon } from '@/components/ui/svg-icon';
3
+
4
+ export const CursorIcon = forwardRef<SVGSVGElement, IconComponentProps>((props, ref) => (
5
+ <SvgIcon ref={ref} {...props} strokeWidth={0}>
6
+ <title>Cursor icon</title>
7
+ <path
8
+ xmlns="http://www.w3.org/2000/svg"
9
+ d="M22.1323 5.6806L12.5245 0.133623C12.216 -0.0445409 11.8353 -0.0445409 11.5268 0.133623L1.91947 5.6806C1.66012 5.83035 1.5 6.10727 1.5 6.40723V17.5928C1.5 17.8923 1.66012 18.1697 1.91947 18.3194L11.5272 23.8664C11.8358 24.0445 12.2164 24.0445 12.525 23.8664L22.1327 18.3194C22.3921 18.1697 22.5522 17.8927 22.5522 17.5928V6.40723C22.5522 6.10774 22.3921 5.83035 22.1327 5.6806H22.1323ZM21.5288 6.85558L12.2539 22.9201C12.1912 23.0283 12.0257 22.9841 12.0257 22.8587V12.3399C12.0257 12.1297 11.9133 11.9353 11.7311 11.8297L2.62176 6.57052C2.51351 6.50784 2.55771 6.34227 2.6831 6.34227H21.2329C21.4963 6.34227 21.6609 6.6278 21.5292 6.85605H21.5288V6.85558Z"
10
+ fill="currentColor"
11
+ />
12
+ </SvgIcon>
13
+ ));
14
+
15
+ CursorIcon.displayName = 'CursorIcon';
@@ -0,0 +1,14 @@
1
+ import { forwardRef } from 'react';
2
+ import { type IconComponentProps, SvgIcon } from '@/components/ui/svg-icon';
3
+
4
+ export const VercelIcon = forwardRef<SVGSVGElement, IconComponentProps>((props, ref) => (
5
+ <SvgIcon ref={ref} {...props} strokeWidth={0}>
6
+ <title>Vercel icon</title>
7
+ <g clipPath="url(#clip0_24_207)">
8
+ <path d="M11.9573 1.5L23.9146 22.2109H0L11.9573 1.5Z" fill="currentColor" />
9
+ </g>
10
+ <defs></defs>
11
+ </SvgIcon>
12
+ ));
13
+
14
+ VercelIcon.displayName = 'VercelIcon';
@@ -0,0 +1,24 @@
1
+ import { forwardRef } from 'react';
2
+ import { type IconComponentProps, SvgIcon } from '@/components/ui/svg-icon';
3
+
4
+ export const VSCodeIcon = forwardRef<SVGSVGElement, IconComponentProps>((props, ref) => (
5
+ <SvgIcon ref={ref} {...props} strokeWidth={0}>
6
+ <title>VS Code icon</title>
7
+ <g clipPath="url(#clip0_22_190)">
8
+ <path
9
+ d="M18.0011 0.957249C18.0011 0.203854 17.1576 0.203846 16.7827 0.29802C17.3075 -0.116349 17.9231 -0.0158829 18.1417 0.10968L23.2103 2.59498C23.6933 2.83179 23.9996 3.32452 23.9996 3.86449V20.2141C23.9996 20.7613 23.6851 21.2593 23.1923 21.4923L18.4229 23.7475C18.0948 23.8887 17.3825 24.2372 16.7827 23.7474C17.5325 23.8888 17.9387 23.3551 18.0011 22.9941V0.957249Z"
10
+ fill="currentColor"
11
+ />
12
+ <path
13
+ d="M16.8439 0.285044C17.2418 0.206418 18.0016 0.242881 18.0016 0.957858V6.58559L2.63451 18.2108C2.3659 18.4141 1.98789 18.3803 1.75911 18.1327L0.175313 16.419C-0.0728021 16.1505 -0.0554421 15.7302 0.213964 15.4834L16.783 0.29863L16.8439 0.285044Z"
14
+ fill="currentColor"
15
+ />
16
+ <path
17
+ d="M18.0016 17.461L2.63451 5.83572C2.3659 5.63251 1.98789 5.66623 1.75911 5.91379L0.175313 7.62757C-0.0728021 7.89602 -0.0554421 8.31628 0.213964 8.56322L16.783 23.7479C17.5329 23.8892 17.9391 23.3555 18.0016 22.9945V17.461Z"
18
+ fill="currentColor"
19
+ />
20
+ </g>
21
+ </SvgIcon>
22
+ ));
23
+
24
+ VSCodeIcon.displayName = 'VSCodeIcon';
@@ -0,0 +1,15 @@
1
+ import { forwardRef } from 'react';
2
+ import { type IconComponentProps, SvgIcon } from '@/components/ui/svg-icon';
3
+
4
+ export const WindsurfIcon = forwardRef<SVGSVGElement, IconComponentProps>((props, ref) => (
5
+ <SvgIcon ref={ref} {...props} strokeWidth={0}>
6
+ <title>Windsurf icon</title>
7
+ <path
8
+ xmlns="http://www.w3.org/2000/svg"
9
+ d="M23.7787 5.00376H23.55C22.3463 5.00188 21.3695 5.97669 21.3695 7.18024V12.0478C21.3695 13.0198 20.566 13.8072 19.6098 13.8072C19.0417 13.8072 18.4746 13.5213 18.138 13.0414L13.1667 5.94109C12.7542 5.35149 12.083 5 11.3564 5C10.223 5 9.20307 5.96357 9.20307 7.15308V12.0488C9.20307 13.0208 8.40623 13.8081 7.44346 13.8081C6.87349 13.8081 6.30724 13.5222 5.97068 13.0424L0.407794 5.09655C0.28217 4.91657 0 5.00564 0 5.22498V9.47015C0 9.68481 0.0656303 9.89291 0.188421 10.0691L5.66319 17.8874C5.98663 18.3495 6.46382 18.6926 7.01408 18.8173C8.39123 19.1303 9.65869 18.0702 9.65869 16.7195V11.8266C9.65869 10.8546 10.4462 10.0672 11.4183 10.0672H11.4211C12.007 10.0672 12.5564 10.3531 12.8929 10.833L17.8652 17.9324C18.2787 18.523 18.9152 18.8735 19.6745 18.8735C20.8332 18.8735 21.826 17.909 21.826 16.7204V11.8257C21.826 10.8537 22.6135 10.0663 23.5856 10.0663H23.7797C23.9015 10.0663 24 9.96787 24 9.84604V5.22402C24 5.10219 23.9015 5.00376 23.7797 5.00376H23.7787Z"
10
+ fill="currentColor"
11
+ />
12
+ </SvgIcon>
13
+ ));
14
+
15
+ WindsurfIcon.displayName = 'WindsurfIcon';
@@ -44,7 +44,7 @@ function TreeNodeItem({
44
44
  className="absolute left-0 top-0 border-l border-border"
45
45
  style={{
46
46
  left: node.depth > 0 ? `${(node.depth - 1) * indentSize + 7}px` : '7px',
47
- bottom: '-16px',
47
+ bottom: '-19px',
48
48
  }}
49
49
  />
50
50
  )}
@@ -55,11 +55,11 @@ function TreeNodeItem({
55
55
  width: `${node.depth * indentSize}px`,
56
56
  minWidth: `${node.depth * indentSize}px`,
57
57
  }}
58
- className="relative flex-shrink-0"
58
+ className="relative shrink-0"
59
59
  >
60
60
  {node.depth > 0 && (
61
61
  <div
62
- className="absolute top-[16px] border-t border-border"
62
+ className="absolute top-[19px] border-t border-border"
63
63
  style={{
64
64
  left: `${(node.depth - 1) * indentSize + 7}px`,
65
65
  width: `${indentSize - 7}px`,
@@ -0,0 +1,47 @@
1
+ import { Popover, PopoverContent, PopoverTrigger } from '@radix-ui/react-popover';
2
+ import { HexColorInput, HexColorPicker } from 'react-colorful';
3
+ import { Button } from '@/components/ui/button';
4
+ import { cn } from '@/lib/utils';
5
+
6
+ interface ColorPickerInputProps {
7
+ color: string;
8
+ setColor: (color: string) => void;
9
+ placeholder: string;
10
+ }
11
+
12
+ export function ColorPickerInput({ placeholder, color, setColor }: ColorPickerInputProps) {
13
+ return (
14
+ <div className="relative flex items-center flex-row max-w-full">
15
+ <div className="absolute left-3 text-sm text-muted-foreground">#</div>
16
+ <HexColorInput
17
+ className={cn(
18
+ 'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',
19
+ 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',
20
+ 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive disabled:bg-muted',
21
+ 'pl-7 pr-12'
22
+ )}
23
+ color={color}
24
+ onChange={setColor}
25
+ placeholder={placeholder}
26
+ />
27
+ <div className="z-10 absolute right-3">
28
+ <Popover>
29
+ <PopoverTrigger asChild>
30
+ <Button
31
+ aria-label="color picker"
32
+ className="flex flex-row gap-2 rounded w-6 h-6"
33
+ size="sm"
34
+ variant="ghost"
35
+ style={{ background: color }}
36
+ >
37
+ <span className="sr-only">Color picker</span>
38
+ </Button>
39
+ </PopoverTrigger>
40
+ <PopoverContent className="flex flex-row w-fit p-2">
41
+ <HexColorPicker color={color} onChange={setColor} />
42
+ </PopoverContent>
43
+ </Popover>
44
+ </div>
45
+ </div>
46
+ );
47
+ }