@inkeep/agents-manage-ui 0.38.3 → 0.39.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 (338) hide show
  1. package/.next/standalone/agents-manage-ui/.next/BUILD_ID +1 -1
  2. package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +11 -10
  3. package/.next/standalone/agents-manage-ui/.next/build-manifest.json +3 -3
  4. package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +28 -3
  5. package/.next/standalone/agents-manage-ui/.next/react-loadable-manifest.json +5 -5
  6. package/.next/standalone/agents-manage-ui/.next/routes-manifest.json +6 -0
  7. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js +2 -2
  8. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js.nft.json +1 -1
  9. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js +6 -6
  11. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page.js.nft.json +1 -1
  12. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page.js +2 -2
  14. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page.js.nft.json +1 -1
  15. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/agents/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js +3 -3
  17. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js.nft.json +1 -1
  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.js.nft.json +1 -1
  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 +1 -1
  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 +1 -1
  35. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js.nft.json +1 -1
  36. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page_client-reference-manifest.js +1 -1
  37. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js +2 -2
  38. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js.nft.json +1 -1
  39. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js +2 -2
  41. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js.nft.json +1 -1
  42. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js +1 -1
  44. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js.nft.json +1 -1
  45. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js +2 -2
  47. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
  48. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js +1 -1
  50. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js.nft.json +1 -1
  51. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
  52. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js +1 -1
  53. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js.nft.json +1 -1
  54. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
  55. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page.js +2 -2
  56. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page.js.nft.json +1 -1
  57. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page_client-reference-manifest.js +1 -1
  58. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page.js +2 -2
  59. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page.js.nft.json +1 -1
  60. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page_client-reference-manifest.js +1 -1
  61. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page.js +2 -2
  62. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page.js.nft.json +1 -1
  63. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/new/page_client-reference-manifest.js +1 -1
  64. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page.js +2 -2
  65. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page.js.nft.json +1 -1
  66. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/external-agents/page_client-reference-manifest.js +1 -1
  67. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js +2 -2
  68. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js.nft.json +1 -1
  69. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page_client-reference-manifest.js +1 -1
  70. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js +2 -2
  71. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js.nft.json +1 -1
  72. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page_client-reference-manifest.js +1 -1
  73. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js +2 -2
  74. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js.nft.json +1 -1
  75. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
  76. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js +2 -2
  77. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js.nft.json +1 -1
  78. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page_client-reference-manifest.js +1 -1
  79. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js +2 -2
  80. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js.nft.json +1 -1
  81. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  82. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js +2 -2
  83. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js.nft.json +1 -1
  84. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page_client-reference-manifest.js +1 -1
  85. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js +2 -2
  86. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js.nft.json +1 -1
  87. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page_client-reference-manifest.js +1 -1
  88. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js +3 -3
  89. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js.nft.json +1 -1
  90. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page_client-reference-manifest.js +1 -1
  91. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js +3 -3
  92. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js.nft.json +1 -1
  93. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page_client-reference-manifest.js +1 -1
  94. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/tool-calls/page.js +2 -2
  95. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/tool-calls/page.js.nft.json +1 -1
  96. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/tool-calls/page_client-reference-manifest.js +1 -1
  97. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js +2 -2
  98. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js.nft.json +1 -1
  99. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page_client-reference-manifest.js +1 -1
  100. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/settings/page.js +2 -2
  101. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/settings/page.js.nft.json +1 -1
  102. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/settings/page_client-reference-manifest.js +1 -1
  103. package/.next/standalone/agents-manage-ui/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  104. package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.html +2 -2
  105. package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.rsc +2 -2
  106. package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
  107. package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  108. package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  109. package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  110. package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.segments/_index.segment.rsc +2 -2
  111. package/.next/standalone/agents-manage-ui/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  112. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js +2 -2
  113. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  114. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
  115. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +19 -18
  116. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.segments/_full.segment.rsc +19 -18
  117. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  118. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.segments/_index.segment.rsc +10 -9
  119. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  120. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  121. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  122. package/.next/standalone/agents-manage-ui/.next/server/app/accept-invitation/[invitationId]/page.js +1 -1
  123. package/.next/standalone/agents-manage-ui/.next/server/app/accept-invitation/[invitationId]/page_client-reference-manifest.js +1 -1
  124. package/.next/standalone/agents-manage-ui/.next/server/app/api/data-components/[dataComponentId]/generate-render/route.js +9 -9
  125. package/.next/standalone/agents-manage-ui/.next/server/app/api/data-components/[dataComponentId]/generate-render/route_client-reference-manifest.js +1 -1
  126. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route_client-reference-manifest.js +1 -1
  128. package/.next/standalone/agents-manage-ui/.next/server/app/device/page.js +2 -0
  129. package/.next/standalone/agents-manage-ui/.next/server/app/device/page.js.nft.json +1 -0
  130. package/.next/standalone/agents-manage-ui/.next/server/app/device/page_client-reference-manifest.js +1 -0
  131. package/.next/standalone/agents-manage-ui/.next/server/app/device.html +1 -0
  132. package/.next/standalone/agents-manage-ui/.next/server/app/device.meta +15 -0
  133. package/.next/standalone/agents-manage-ui/.next/server/app/device.rsc +27 -0
  134. package/.next/standalone/agents-manage-ui/.next/server/app/device.segments/_full.segment.rsc +27 -0
  135. package/.next/standalone/agents-manage-ui/.next/server/app/device.segments/_head.segment.rsc +8 -0
  136. package/.next/standalone/agents-manage-ui/.next/server/app/device.segments/_index.segment.rsc +12 -0
  137. package/.next/standalone/agents-manage-ui/.next/server/app/device.segments/_tree.segment.rsc +5 -0
  138. package/.next/standalone/agents-manage-ui/.next/server/app/device.segments/device/__PAGE__.segment.rsc +9 -0
  139. package/.next/standalone/agents-manage-ui/.next/server/app/device.segments/device.segment.rsc +4 -0
  140. package/.next/standalone/agents-manage-ui/.next/server/app/index.html +1 -1
  141. package/.next/standalone/agents-manage-ui/.next/server/app/index.rsc +23 -22
  142. package/.next/standalone/agents-manage-ui/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  143. package/.next/standalone/agents-manage-ui/.next/server/app/index.segments/_full.segment.rsc +23 -22
  144. package/.next/standalone/agents-manage-ui/.next/server/app/index.segments/_head.segment.rsc +1 -1
  145. package/.next/standalone/agents-manage-ui/.next/server/app/index.segments/_index.segment.rsc +10 -9
  146. package/.next/standalone/agents-manage-ui/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  147. package/.next/standalone/agents-manage-ui/.next/server/app/login/page.js +2 -2
  148. package/.next/standalone/agents-manage-ui/.next/server/app/login/page_client-reference-manifest.js +1 -1
  149. package/.next/standalone/agents-manage-ui/.next/server/app/login.html +1 -1
  150. package/.next/standalone/agents-manage-ui/.next/server/app/login.rsc +23 -22
  151. package/.next/standalone/agents-manage-ui/.next/server/app/login.segments/_full.segment.rsc +23 -22
  152. package/.next/standalone/agents-manage-ui/.next/server/app/login.segments/_head.segment.rsc +1 -1
  153. package/.next/standalone/agents-manage-ui/.next/server/app/login.segments/_index.segment.rsc +10 -9
  154. package/.next/standalone/agents-manage-ui/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  155. package/.next/standalone/agents-manage-ui/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  156. package/.next/standalone/agents-manage-ui/.next/server/app/login.segments/login.segment.rsc +1 -1
  157. package/.next/standalone/agents-manage-ui/.next/server/app/logout/route_client-reference-manifest.js +1 -1
  158. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization/page.js +2 -2
  159. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization/page_client-reference-manifest.js +1 -1
  160. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.html +1 -1
  161. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.rsc +23 -22
  162. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.segments/_full.segment.rsc +23 -22
  163. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.segments/_head.segment.rsc +1 -1
  164. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.segments/_index.segment.rsc +10 -9
  165. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.segments/_tree.segment.rsc +2 -2
  166. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.segments/no-organization/__PAGE__.segment.rsc +2 -2
  167. package/.next/standalone/agents-manage-ui/.next/server/app/no-organization.segments/no-organization.segment.rsc +1 -1
  168. package/.next/standalone/agents-manage-ui/.next/server/app/page.js +2 -2
  169. package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
  170. package/.next/standalone/agents-manage-ui/.next/server/app-paths-manifest.json +11 -10
  171. package/.next/standalone/agents-manage-ui/.next/server/chunks/1431.js +1 -0
  172. package/.next/standalone/agents-manage-ui/.next/server/chunks/27.js +1 -1
  173. package/.next/standalone/agents-manage-ui/.next/server/chunks/3689.js +1 -0
  174. package/.next/standalone/agents-manage-ui/.next/server/chunks/475.js +1 -1
  175. package/.next/standalone/agents-manage-ui/.next/server/chunks/4987.js +1 -0
  176. package/.next/standalone/agents-manage-ui/.next/server/chunks/5520.js +20 -0
  177. package/.next/standalone/agents-manage-ui/.next/server/chunks/6229.js +1 -1
  178. package/.next/standalone/agents-manage-ui/.next/server/chunks/6916.js +1 -0
  179. package/.next/standalone/agents-manage-ui/.next/server/chunks/7927.js +1 -1
  180. package/.next/standalone/agents-manage-ui/.next/server/chunks/8202.js +123 -0
  181. package/.next/standalone/agents-manage-ui/.next/server/chunks/8324.js +3 -3
  182. package/.next/standalone/agents-manage-ui/.next/server/chunks/8386.js +2 -2
  183. package/.next/standalone/agents-manage-ui/.next/server/chunks/8870.js +1 -1
  184. package/.next/standalone/agents-manage-ui/.next/server/chunks/911.js +1 -0
  185. package/.next/standalone/agents-manage-ui/.next/server/chunks/9637.js +1 -1
  186. package/.next/standalone/agents-manage-ui/.next/server/middleware-build-manifest.js +1 -1
  187. package/.next/standalone/agents-manage-ui/.next/server/middleware-react-loadable-manifest.js +1 -1
  188. package/.next/standalone/agents-manage-ui/.next/server/pages/404.html +1 -1
  189. package/.next/standalone/agents-manage-ui/.next/server/pages/500.html +2 -2
  190. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.js +1 -1
  191. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.json +1 -1
  192. package/.next/standalone/agents-manage-ui/.next/static/chunks/{13579-fb734efabde9f1ea.js → 18881-2c483a2ec8ed8f0d.js} +3 -3
  193. package/.next/standalone/agents-manage-ui/.next/static/chunks/{83520-1cff51a358bfe19f.js → 19328-b4caa444b66f44db.js} +2 -2
  194. package/.next/standalone/agents-manage-ui/.next/static/chunks/33538-913163d6de7a8917.js +1 -0
  195. package/.next/standalone/agents-manage-ui/.next/static/chunks/35481-5e8d3b1a40ea08eb.js +1 -0
  196. package/.next/standalone/agents-manage-ui/.next/static/chunks/37211-88a1175c4c962fcf.js +1 -0
  197. package/.next/standalone/agents-manage-ui/.next/static/chunks/39990-c94faef76573c56b.js +1 -0
  198. package/.next/standalone/agents-manage-ui/.next/static/chunks/44447-63de7e25c317ff23.js +1 -0
  199. package/.next/standalone/agents-manage-ui/.next/static/chunks/{50925-89c61b629b4b9312.js → 50925-58e66ef621e03095.js} +1 -1
  200. package/.next/standalone/agents-manage-ui/.next/static/chunks/65006-b74b7287f0496f3d.js +1 -0
  201. package/.next/standalone/agents-manage-ui/.next/static/chunks/73012-0745df036857f731.js +1 -0
  202. package/.next/standalone/agents-manage-ui/.next/static/chunks/80940-88258bb8cc6e6a49.js +1 -0
  203. package/.next/standalone/agents-manage-ui/.next/static/chunks/{8886.03e98a67ad7ffde0.js → 8886.69edb381a9fd5828.js} +1 -1
  204. package/.next/standalone/agents-manage-ui/.next/static/chunks/91091-c317361f614f5200.js +1 -0
  205. package/.next/standalone/agents-manage-ui/.next/static/chunks/94577.9b84635e65820d56.js +23 -0
  206. package/.next/standalone/agents-manage-ui/.next/static/chunks/95899-7f39b73a3363dfb6.js +1 -0
  207. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/layout-51bc1a3ea47cc3e4.js +1 -0
  208. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/loading-65ee388d64fe6cf7.js +1 -0
  209. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/{page-6729a336b082af48.js → page-6b7a489824327dfe.js} +13 -13
  210. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/loading-6539f22b030ad6d0.js +1 -0
  211. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-67208ea2d8f3d0a5.js +1 -0
  212. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-d8dbaa9a9404fd66.js +1 -0
  213. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-8fbc78040bb8d6e0.js +1 -0
  214. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/loading-6d3d32c021e5a5d1.js +1 -0
  215. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-7e08890f6a8321fa.js +1 -0
  216. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-7ee6404a935a349e.js +1 -0
  217. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page-2407e6d0e5f05bf0.js +1 -0
  218. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/loading-f4f5a02dc3fcb302.js +1 -0
  219. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/page-855bd6dd43b1edc6.js +1 -0
  220. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-6c834f7b32aa5977.js +1 -0
  221. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-14c49d36912ac557.js +1 -0
  222. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-e5ffb9fed00474d5.js +1 -0
  223. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/page-f5a70f1aff2b0882.js +1 -0
  224. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-f2e14e60cbf372d6.js +1 -0
  225. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/page-72ca9dbbfc6786a4.js +1 -0
  226. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/{page-8440d8be82b676c0.js → page-374752404fabee1d.js} +1 -1
  227. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page-5e7845cc36367ff4.js +1 -0
  228. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page-cba33be6abd8cd28.js +1 -0
  229. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/new/page-1a540c76162e3ea3.js +1 -0
  230. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/page-f6c6eefc8638591c.js +1 -0
  231. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/layout-bd88fa32bdf5821c.js +1 -0
  232. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page-d6549516cd400fab.js +1 -0
  233. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-a5f158a572b5e4ce.js +1 -0
  234. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/layout-dbf19f7b0155168f.js +1 -0
  235. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-96b9a33fecaacb21.js +1 -0
  236. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-bc53427d6b9fced3.js +1 -0
  237. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/page-e8a62132e0df034c.js +1 -0
  238. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/page-b82348d8c799f269.js +1 -0
  239. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/ai-calls/{page-109d898eb3d49134.js → page-1f57687b42e90364.js} +1 -1
  240. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page-b7fa9ca2e8682722.js +2 -0
  241. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-6613077eb6694016.js +5 -0
  242. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/tool-calls/{page-babf2307e55f00c3.js → page-7ffc6595aac3bbd9.js} +1 -1
  243. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/error-541a7d22483aa681.js +1 -0
  244. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/loading-d00d58c9447cf65b.js +1 -0
  245. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-624d06ff55526ec0.js +1 -0
  246. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/settings/error-103541f0247a52af.js +1 -0
  247. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/settings/loading-850c704998533d24.js +1 -0
  248. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/settings/page-5ddfcd52201d5506.js +1 -0
  249. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/accept-invitation/[invitationId]/page-f84db8b7c586059c.js +1 -0
  250. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/device/page-7fbc2a465a23b428.js +1 -0
  251. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-c091f91cf9f85e15.js +2 -0
  252. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/login/page-8b9a21b18bbd73d2.js +1 -0
  253. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/no-organization/page-e8bb925e135d8e5b.js +1 -0
  254. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/not-found-a97a6249c1b4f780.js +1 -0
  255. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/page-824f71cbac99d919.js +1 -0
  256. package/.next/standalone/agents-manage-ui/.next/static/chunks/{webpack-6347cc7c9b65fa24.js → webpack-c89fa9e7952a6694.js} +1 -1
  257. package/.next/standalone/agents-manage-ui/.next/static/s8e62p5M4vOsvQHhlnyRJ/_buildManifest.js +1 -0
  258. package/.next/standalone/agents-manage-ui/package.json +1 -1
  259. package/.next/standalone/package.json +1 -1
  260. package/.next/standalone/packages/agents-core/package.json +11 -11
  261. package/package.json +4 -4
  262. package/src/app/device/page.tsx +313 -0
  263. package/src/app/layout.tsx +5 -2
  264. package/src/app/login/page.tsx +24 -10
  265. package/src/app/page.tsx +17 -2
  266. package/src/components/errors/full-page-error.tsx +30 -0
  267. package/src/components/layout/header-menus.tsx +10 -1
  268. package/src/components/providers/client-providers.tsx +8 -0
  269. package/src/components/settings/members-table.tsx +4 -2
  270. package/src/components/sidebar-nav/app-sidebar-provider.tsx +2 -2
  271. package/src/components/ui/chart.tsx +9 -8
  272. package/src/components/ui/sidebar.tsx +4 -4
  273. package/src/components/ui/sonner.tsx +3 -3
  274. package/src/env.d.ts +0 -6
  275. package/src/lib/auth-client.tsx +53 -0
  276. package/src/lib/utils/auth-redirect.ts +95 -0
  277. package/.next/standalone/agents-manage-ui/.next/server/chunks/2196.js +0 -20
  278. package/.next/standalone/agents-manage-ui/.next/server/chunks/4490.js +0 -1
  279. package/.next/standalone/agents-manage-ui/.next/server/chunks/5558.js +0 -1
  280. package/.next/standalone/agents-manage-ui/.next/server/chunks/5978.js +0 -123
  281. package/.next/standalone/agents-manage-ui/.next/server/chunks/6093.js +0 -1
  282. package/.next/standalone/agents-manage-ui/.next/server/chunks/6648.js +0 -1
  283. package/.next/standalone/agents-manage-ui/.next/server/chunks/826.js +0 -1
  284. package/.next/standalone/agents-manage-ui/.next/static/chunks/33538-7e6d81f30594c5fc.js +0 -1
  285. package/.next/standalone/agents-manage-ui/.next/static/chunks/35717-bcd4e16be6187f1b.js +0 -1
  286. package/.next/standalone/agents-manage-ui/.next/static/chunks/37211-01d85c9f7407e356.js +0 -1
  287. package/.next/standalone/agents-manage-ui/.next/static/chunks/53177-83f4d162f8c965c7.js +0 -1
  288. package/.next/standalone/agents-manage-ui/.next/static/chunks/5329-70df1f94756d8e49.js +0 -1
  289. package/.next/standalone/agents-manage-ui/.next/static/chunks/76754.6006c35bf2477291.js +0 -23
  290. package/.next/standalone/agents-manage-ui/.next/static/chunks/90663-8c7f01ec7ea7469d.js +0 -1
  291. package/.next/standalone/agents-manage-ui/.next/static/chunks/91091-926969c8760fae8a.js +0 -1
  292. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/layout-c2c3e55e25d3545a.js +0 -1
  293. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/[agentId]/loading-9d29bbfd68b51555.js +0 -1
  294. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/loading-5a1e81d160584341.js +0 -1
  295. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/agents/page-c793d8e19d665a54.js +0 -1
  296. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-90a34a8fec09a408.js +0 -1
  297. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-6dbf890037da4933.js +0 -1
  298. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/loading-5a1e81d160584341.js +0 -1
  299. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-59f9e5dabfe5fbf7.js +0 -1
  300. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-3002149842da91e0.js +0 -1
  301. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page-9ed765afd6efbc98.js +0 -1
  302. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/loading-5a1e81d160584341.js +0 -1
  303. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/page-b394c029005d52ad.js +0 -1
  304. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/page-efe6adec77a8225d.js +0 -1
  305. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-709610f9fdc05fb9.js +0 -1
  306. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-0a9e6aaa034cd2d7.js +0 -1
  307. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/page-5a1e81d160584341.js +0 -1
  308. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-5c8e84b611b8e90d.js +0 -1
  309. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/page-75743a8ecf084cc7.js +0 -1
  310. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/edit/page-31b3d17ddaab769b.js +0 -1
  311. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/[externalAgentId]/page-7b05f0b317ea3904.js +0 -1
  312. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/new/page-f09ba64d012b99f4.js +0 -1
  313. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/external-agents/page-0a3c4c8e97941e92.js +0 -1
  314. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/layout-62a323ad0a30775f.js +0 -1
  315. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page-334a0ee8fb035761.js +0 -1
  316. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-70dcaad5d89d3e64.js +0 -1
  317. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/layout-9d29bbfd68b51555.js +0 -1
  318. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-6f7055b17214e7f7.js +0 -1
  319. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-c90be8b543137927.js +0 -1
  320. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/page-b33b38df5d685759.js +0 -1
  321. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/page-fa37525863e31952.js +0 -1
  322. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page-30ed2b5c15258178.js +0 -2
  323. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-aacca2630ba68548.js +0 -5
  324. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/error-660a512ea230dced.js +0 -1
  325. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/loading-5a1e81d160584341.js +0 -1
  326. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-f05d2d721428da0a.js +0 -1
  327. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/settings/error-b6a18295042824e8.js +0 -1
  328. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/settings/loading-9d29bbfd68b51555.js +0 -1
  329. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/settings/page-d71718217286b332.js +0 -1
  330. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/accept-invitation/[invitationId]/page-a18ab9109517e80b.js +0 -1
  331. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-914e353fef512f30.js +0 -2
  332. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/login/page-9a5c9a4be8179006.js +0 -1
  333. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/no-organization/page-d282bd0851fd52f4.js +0 -1
  334. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/not-found-81f0f493dffd0df7.js +0 -1
  335. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/page-d60adde7704d8aba.js +0 -1
  336. package/.next/standalone/agents-manage-ui/.next/static/ts26Hp9nGJZWmq7b-I1pF/_buildManifest.js +0 -1
  337. package/src/lib/auth-client.ts +0 -32
  338. /package/.next/standalone/agents-manage-ui/.next/static/{ts26Hp9nGJZWmq7b-I1pF → s8e62p5M4vOsvQHhlnyRJ}/_ssgManifest.js +0 -0
@@ -2,9 +2,12 @@
2
2
 
3
3
  import { AlertTriangle, ArrowLeft, type LucideIcon, RefreshCw } from 'lucide-react';
4
4
  import Link from 'next/link';
5
+ import { useRouter } from 'next/navigation';
6
+ import { useEffect, useState } from 'react';
5
7
  import { BodyTemplate } from '@/components/layout/body-template';
6
8
  import { MainContent } from '@/components/layout/main-content';
7
9
  import { Button } from '@/components/ui/button';
10
+ import { buildLoginUrlWithCurrentPath } from '@/lib/utils/auth-redirect';
8
11
 
9
12
  export default function FullPageError({ statusCode, errorCode, ...props }: FullPageErrorProps) {
10
13
  const resolvedStatusCode = statusCode ?? getStatusCodeFromErrorCode(errorCode);
@@ -153,6 +156,9 @@ export function ErrorContent({
153
156
  onRetry,
154
157
  context = 'resource',
155
158
  }: FullPageErrorProps) {
159
+ const router = useRouter();
160
+ const [isRedirecting, setIsRedirecting] = useState(false);
161
+
156
162
  // Resolve error code from props or error object
157
163
  let errorCode = propErrorCode;
158
164
  let statusCode = propStatusCode;
@@ -174,6 +180,15 @@ export function ErrorContent({
174
180
  errorCode = getErrorCodeFromStatusCode(statusCode);
175
181
  }
176
182
 
183
+ // Handle 401 unauthorized errors by redirecting to login
184
+ useEffect(() => {
185
+ if ((statusCode === 401 || errorCode === 'unauthorized') && !isRedirecting) {
186
+ setIsRedirecting(true);
187
+ const loginUrl = buildLoginUrlWithCurrentPath();
188
+ router.push(loginUrl);
189
+ }
190
+ }, [statusCode, errorCode, router, isRedirecting]);
191
+
177
192
  // Generate title and description
178
193
  let title = propTitle;
179
194
  let description = propDescription;
@@ -200,6 +215,21 @@ export function ErrorContent({
200
215
  }
201
216
  };
202
217
 
218
+ // Show redirecting message for 401 errors
219
+ if (isRedirecting && (statusCode === 401 || errorCode === 'unauthorized')) {
220
+ return (
221
+ <main
222
+ aria-labelledby="redirect-title"
223
+ className="flex flex-col items-center justify-center h-full gap-10 px-4"
224
+ >
225
+ <h1 id="redirect-title" className="sr-only">
226
+ Redirecting to login
227
+ </h1>
228
+ <div className="text-muted-foreground text-sm">Redirecting to login...</div>
229
+ </main>
230
+ );
231
+ }
232
+
203
233
  return (
204
234
  <main
205
235
  aria-labelledby="error-title"
@@ -1,14 +1,23 @@
1
1
  'use client';
2
2
 
3
+ import { useEffect, useState } from 'react';
3
4
  import { useAuthSession } from '@/hooks/use-auth';
4
5
  import { UserMenu } from '../auth/user-menu';
5
6
  import { ThemeToggle } from '../theme-toggle';
6
7
  import { Skeleton } from '../ui/skeleton';
7
8
 
8
9
  export function HeaderMenus() {
10
+ const [hasMounted, setHasMounted] = useState(false);
9
11
  const { user, isLoading } = useAuthSession();
10
- if (isLoading) {
12
+
13
+ useEffect(() => {
14
+ setHasMounted(true);
15
+ }, []);
16
+
17
+ // Always render skeleton on server and initial client render to prevent hydration mismatch
18
+ if (!hasMounted || isLoading) {
11
19
  return <Skeleton className="h-7 w-7" />;
12
20
  }
21
+
13
22
  return !user ? <ThemeToggle /> : <UserMenu />;
14
23
  }
@@ -0,0 +1,8 @@
1
+ 'use client';
2
+
3
+ import type { ReactNode } from 'react';
4
+ import { AuthClientProvider } from '@/lib/auth-client';
5
+
6
+ export function ClientProviders({ children }: { children: ReactNode }) {
7
+ return <AuthClientProvider>{children}</AuthClientProvider>;
8
+ }
@@ -1,3 +1,4 @@
1
+ import { UserPlus } from 'lucide-react';
1
2
  import { useState } from 'react';
2
3
  import { InviteMemberDialog } from '@/components/auth/invite-member-dialog';
3
4
  import { Badge } from '@/components/ui/badge';
@@ -10,6 +11,7 @@ import {
10
11
  TableRow,
11
12
  } from '@/components/ui/table';
12
13
  import type { useAuthClient } from '@/lib/auth-client';
14
+ import { Button } from '../ui/button';
13
15
 
14
16
  type FullOrganization = NonNullable<
15
17
  Awaited<
@@ -32,10 +34,10 @@ export function MembersTable({ members }: MembersTableProps) {
32
34
  <h2 className="text-md font-medium text-gray-700 dark:text-white/70">Members</h2>
33
35
  <Badge variant="count">{members.length}</Badge>
34
36
  </div>
35
- {/* <Button onClick={() => setInviteDialogOpen(true)} size="sm" variant="outline">
37
+ <Button onClick={() => setInviteDialogOpen(true)} size="sm" variant="outline">
36
38
  <UserPlus className="h-4 w-4 mr-2" />
37
39
  Invite
38
- </Button> */}
40
+ </Button>
39
41
  </div>
40
42
  <Table>
41
43
  <TableHeader>
@@ -27,8 +27,8 @@ export const AppSidebarProvider: FC<{ children: ReactNode }> = ({ children }) =>
27
27
  return (
28
28
  <SidebarProvider
29
29
  style={{
30
- '--sidebar-width': 'calc(var(--spacing) * 62)',
31
- '--header-height': 'calc(var(--spacing) * 12)',
30
+ ['--sidebar-width' as string]: 'calc(var(--spacing) * 62)',
31
+ ['--header-height' as string]: 'calc(var(--spacing) * 12)',
32
32
  }}
33
33
  open={isOpen}
34
34
  onOpenChange={handleOpen}
@@ -186,16 +186,17 @@ function ChartTooltipContent({
186
186
  className={cn(
187
187
  'shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)',
188
188
  {
189
- 'h-2.5 w-2.5': indicator === 'dot',
190
- 'w-1': indicator === 'line',
191
- 'w-0 border-[1.5px] border-dashed bg-transparent':
192
- indicator === 'dashed',
193
- 'my-0.5': nestLabel && indicator === 'dashed',
194
- }
189
+ dot: 'h-2.5 w-2.5',
190
+ line: 'w-1',
191
+ dashed: [
192
+ 'w-0 border-[1.5px] border-dashed bg-transparent',
193
+ nestLabel && 'my-0.5',
194
+ ],
195
+ }[indicator]
195
196
  )}
196
197
  style={{
197
- '--color-bg': indicatorColor,
198
- '--color-border': indicatorColor,
198
+ ['--color-bg' as string]: indicatorColor,
199
+ ['--color-border' as string]: indicatorColor,
199
200
  }}
200
201
  />
201
202
  )
@@ -123,8 +123,8 @@ function SidebarProvider({
123
123
  <div
124
124
  data-slot="sidebar-wrapper"
125
125
  style={{
126
- '--sidebar-width': SIDEBAR_WIDTH,
127
- '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,
126
+ ['--sidebar-width' as string]: SIDEBAR_WIDTH,
127
+ ['--sidebar-width-icon' as string]: SIDEBAR_WIDTH_ICON,
128
128
  ...style,
129
129
  }}
130
130
  className={cn(
@@ -180,7 +180,7 @@ function Sidebar({
180
180
  data-mobile="true"
181
181
  className="bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden"
182
182
  style={{
183
- '--sidebar-width': SIDEBAR_WIDTH_MOBILE,
183
+ ['--sidebar-width' as string]: SIDEBAR_WIDTH_MOBILE,
184
184
  }}
185
185
  side={side}
186
186
  >
@@ -601,7 +601,7 @@ function SidebarMenuSkeleton({
601
601
  className="h-4 max-w-(--skeleton-width) flex-1"
602
602
  data-sidebar="menu-skeleton-text"
603
603
  style={{
604
- '--skeleton-width': width,
604
+ ['--skeleton-width' as string]: width,
605
605
  }}
606
606
  />
607
607
  </div>
@@ -11,9 +11,9 @@ const Toaster = ({ ...props }: ToasterProps) => {
11
11
  theme={resolvedTheme as ToasterProps['theme']}
12
12
  className="toaster group"
13
13
  style={{
14
- '--normal-bg': 'var(--popover)',
15
- '--normal-text': 'var(--popover-foreground)',
16
- '--normal-border': 'var(--border)',
14
+ ['--normal-bg' as string]: 'var(--popover)',
15
+ ['--normal-text' as string]: 'var(--popover-foreground)',
16
+ ['--normal-border' as string]: 'var(--border)',
17
17
  }}
18
18
  {...props}
19
19
  />
package/src/env.d.ts CHANGED
@@ -11,9 +11,3 @@ declare module '*.svg?svgr' {
11
11
 
12
12
  export default ReactComponent;
13
13
  }
14
-
15
- declare namespace React {
16
- interface CSSProperties {
17
- [key: `--${string}`]: string | number;
18
- }
19
- }
@@ -0,0 +1,53 @@
1
+ 'use client';
2
+
3
+ import { ssoClient } from '@better-auth/sso/client';
4
+ import { ac, adminRole, memberRole, ownerRole } from '@inkeep/agents-core/auth/permissions';
5
+ import { deviceAuthorizationClient, organizationClient } from 'better-auth/client/plugins';
6
+ import { createAuthClient } from 'better-auth/react';
7
+ import { createContext, type ReactNode, useContext, useMemo } from 'react';
8
+ import { useRuntimeConfig } from '@/contexts/runtime-config-context';
9
+
10
+ // Create a factory function to get the proper inferred type
11
+ const createConfiguredAuthClient = (baseURL: string) =>
12
+ createAuthClient({
13
+ baseURL,
14
+ fetchOptions: {
15
+ credentials: 'include',
16
+ },
17
+ plugins: [
18
+ ssoClient(),
19
+ organizationClient({
20
+ ac,
21
+ roles: {
22
+ member: memberRole,
23
+ admin: adminRole,
24
+ owner: ownerRole,
25
+ },
26
+ }),
27
+ deviceAuthorizationClient(),
28
+ ],
29
+ });
30
+
31
+ // Infer the full client type including all plugin methods
32
+ type AuthClientType = ReturnType<typeof createConfiguredAuthClient>;
33
+
34
+ const AuthClientContext = createContext<AuthClientType | null>(null);
35
+
36
+ export function AuthClientProvider({ children }: { children: ReactNode }) {
37
+ const { PUBLIC_INKEEP_AGENTS_MANAGE_API_URL } = useRuntimeConfig();
38
+
39
+ const authClient = useMemo(
40
+ () => createConfiguredAuthClient(PUBLIC_INKEEP_AGENTS_MANAGE_API_URL),
41
+ [PUBLIC_INKEEP_AGENTS_MANAGE_API_URL]
42
+ );
43
+
44
+ return <AuthClientContext.Provider value={authClient}>{children}</AuthClientContext.Provider>;
45
+ }
46
+
47
+ export function useAuthClient() {
48
+ const client = useContext(AuthClientContext);
49
+ if (!client) {
50
+ throw new Error('useAuthClient must be used within <AuthClientProvider>');
51
+ }
52
+ return client;
53
+ }
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Utility functions for handling authentication redirects.
3
+ * Provides consistent login URL building with return URL support.
4
+ */
5
+
6
+ /**
7
+ * Builds a login URL with an optional return URL parameter.
8
+ * After successful login, the user will be redirected to the return URL.
9
+ *
10
+ * @param returnUrl - The URL to redirect to after login (optional)
11
+ * @returns The login URL with encoded return URL parameter
12
+ */
13
+ export function buildLoginUrl(returnUrl?: string): string {
14
+ const loginPath = '/login';
15
+
16
+ if (!returnUrl) {
17
+ return loginPath;
18
+ }
19
+
20
+ const encodedReturnUrl = encodeURIComponent(returnUrl);
21
+ return `${loginPath}?returnUrl=${encodedReturnUrl}`;
22
+ }
23
+
24
+ /**
25
+ * Gets the current URL path for use as a return URL.
26
+ * Works only on the client side.
27
+ *
28
+ * @returns The current pathname and search string, or undefined if on server
29
+ */
30
+ export function getCurrentPath(): string | undefined {
31
+ if (typeof window === 'undefined') {
32
+ return undefined;
33
+ }
34
+
35
+ return window.location.pathname + window.location.search;
36
+ }
37
+
38
+ /**
39
+ * Builds a login URL with the current page as the return URL.
40
+ * Works only on the client side.
41
+ *
42
+ * @returns The login URL with the current path as return URL
43
+ */
44
+ export function buildLoginUrlWithCurrentPath(): string {
45
+ const currentPath = getCurrentPath();
46
+ return buildLoginUrl(currentPath);
47
+ }
48
+
49
+ /**
50
+ * Validates a return URL to ensure it's safe to redirect to.
51
+ * Only allows relative paths (starting with /) to prevent open redirect vulnerabilities.
52
+ *
53
+ * @param returnUrl - The return URL to validate
54
+ * @returns Whether the return URL is safe to use
55
+ */
56
+ export function isValidReturnUrl(returnUrl: string | null | undefined): returnUrl is string {
57
+ if (!returnUrl) {
58
+ return false;
59
+ }
60
+
61
+ // Must start with / (relative path)
62
+ if (!returnUrl.startsWith('/')) {
63
+ return false;
64
+ }
65
+
66
+ // Reject protocol-relative URLs (//example.com)
67
+ if (returnUrl.startsWith('//')) {
68
+ return false;
69
+ }
70
+
71
+ // Reject URLs that try to break out with encoded characters
72
+ try {
73
+ const decoded = decodeURIComponent(returnUrl);
74
+ if (decoded.startsWith('//') || decoded.includes('://')) {
75
+ return false;
76
+ }
77
+ } catch {
78
+ // If decoding fails, reject the URL
79
+ return false;
80
+ }
81
+
82
+ return true;
83
+ }
84
+
85
+ /**
86
+ * Gets a safe return URL from a search param value.
87
+ * Returns the returnUrl if valid, or the fallback (default '/').
88
+ *
89
+ * @param returnUrl - The return URL from search params
90
+ * @param fallback - The fallback URL if returnUrl is invalid
91
+ * @returns A safe URL to redirect to
92
+ */
93
+ export function getSafeReturnUrl(returnUrl: string | null | undefined, fallback = '/'): string {
94
+ return isValidReturnUrl(returnUrl) ? returnUrl : fallback;
95
+ }