@agent-native/toolkit 0.23.1 → 0.198.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 (2903) hide show
  1. package/README.md +20 -10
  2. package/agent-native.eject.json +1197 -1
  3. package/dist/app/PrimitiveButton.d.ts +5 -0
  4. package/dist/app/PrimitiveButton.d.ts.map +1 -0
  5. package/dist/app/PrimitiveButton.js +17 -0
  6. package/dist/app/PrimitiveButton.js.map +1 -0
  7. package/dist/app/agent-page/AgentContextTab.d.ts +5 -0
  8. package/dist/app/agent-page/AgentContextTab.d.ts.map +1 -0
  9. package/dist/app/agent-page/AgentContextTab.js +202 -0
  10. package/dist/app/agent-page/AgentContextTab.js.map +1 -0
  11. package/dist/app/agent-page/AgentEmptyState.d.ts +14 -0
  12. package/dist/app/agent-page/AgentEmptyState.d.ts.map +1 -0
  13. package/dist/app/agent-page/AgentEmptyState.js +10 -0
  14. package/dist/app/agent-page/AgentEmptyState.js.map +1 -0
  15. package/dist/app/agent-page/AgentJobsTab.d.ts +15 -0
  16. package/dist/app/agent-page/AgentJobsTab.d.ts.map +1 -0
  17. package/dist/app/agent-page/AgentJobsTab.js +379 -0
  18. package/dist/app/agent-page/AgentJobsTab.js.map +1 -0
  19. package/dist/app/agent-page/AgentTabFrame.d.ts +14 -0
  20. package/dist/app/agent-page/AgentTabFrame.d.ts.map +1 -0
  21. package/dist/app/agent-page/AgentTabFrame.js +9 -0
  22. package/dist/app/agent-page/AgentTabFrame.js.map +1 -0
  23. package/dist/app/agent-page/AgentTabsPage.d.ts +28 -0
  24. package/dist/app/agent-page/AgentTabsPage.d.ts.map +1 -0
  25. package/dist/app/agent-page/AgentTabsPage.js +425 -0
  26. package/dist/app/agent-page/AgentTabsPage.js.map +1 -0
  27. package/dist/app/agent-page/AgentWorkspaceContent.d.ts +10 -0
  28. package/dist/app/agent-page/AgentWorkspaceContent.d.ts.map +1 -0
  29. package/dist/app/agent-page/AgentWorkspaceContent.js +127 -0
  30. package/dist/app/agent-page/AgentWorkspaceContent.js.map +1 -0
  31. package/dist/app/agent-page/AutomationDetailsDialog.d.ts +21 -0
  32. package/dist/app/agent-page/AutomationDetailsDialog.d.ts.map +1 -0
  33. package/dist/app/agent-page/AutomationDetailsDialog.js +40 -0
  34. package/dist/app/agent-page/AutomationDetailsDialog.js.map +1 -0
  35. package/dist/app/agent-page/AutomationScheduleDialog.d.ts +17 -0
  36. package/dist/app/agent-page/AutomationScheduleDialog.d.ts.map +1 -0
  37. package/dist/app/agent-page/AutomationScheduleDialog.js +161 -0
  38. package/dist/app/agent-page/AutomationScheduleDialog.js.map +1 -0
  39. package/dist/app/agent-page/ScheduledTriggerNotice.d.ts +7 -0
  40. package/dist/app/agent-page/ScheduledTriggerNotice.d.ts.map +1 -0
  41. package/dist/app/agent-page/ScheduledTriggerNotice.js +58 -0
  42. package/dist/app/agent-page/ScheduledTriggerNotice.js.map +1 -0
  43. package/dist/app/agent-page/TimezoneSelect.d.ts +13 -0
  44. package/dist/app/agent-page/TimezoneSelect.d.ts.map +1 -0
  45. package/dist/app/agent-page/TimezoneSelect.js +90 -0
  46. package/dist/app/agent-page/TimezoneSelect.js.map +1 -0
  47. package/dist/app/agent-page/automation-schedule.d.ts +44 -0
  48. package/dist/app/agent-page/automation-schedule.d.ts.map +1 -0
  49. package/dist/app/agent-page/automation-schedule.js +199 -0
  50. package/dist/app/agent-page/automation-schedule.js.map +1 -0
  51. package/dist/app/agent-page/index.d.ts +4 -0
  52. package/dist/app/agent-page/index.d.ts.map +1 -0
  53. package/dist/app/agent-page/index.js +2 -0
  54. package/dist/app/agent-page/index.js.map +1 -0
  55. package/dist/app/agent-page/scheduled-trigger-state.d.ts +14 -0
  56. package/dist/app/agent-page/scheduled-trigger-state.d.ts.map +1 -0
  57. package/dist/app/agent-page/scheduled-trigger-state.js +7 -0
  58. package/dist/app/agent-page/scheduled-trigger-state.js.map +1 -0
  59. package/dist/app/agent-page/types.d.ts +14 -0
  60. package/dist/app/agent-page/types.d.ts.map +1 -0
  61. package/dist/app/agent-page/types.js +9 -0
  62. package/dist/app/agent-page/types.js.map +1 -0
  63. package/dist/app/agent-page/use-jobs.d.ts +103 -0
  64. package/dist/app/agent-page/use-jobs.d.ts.map +1 -0
  65. package/dist/app/agent-page/use-jobs.js +118 -0
  66. package/dist/app/agent-page/use-jobs.js.map +1 -0
  67. package/dist/app/agentkit/index.d.ts +2 -0
  68. package/dist/app/agentkit/index.d.ts.map +1 -0
  69. package/dist/app/agentkit/index.js +2 -0
  70. package/dist/app/agentkit/index.js.map +1 -0
  71. package/dist/app/agentkit/react/chat.d.ts +27 -0
  72. package/dist/app/agentkit/react/chat.d.ts.map +1 -0
  73. package/dist/app/agentkit/react/chat.js +19 -0
  74. package/dist/app/agentkit/react/chat.js.map +1 -0
  75. package/dist/app/agentkit/react/components.d.ts +110 -0
  76. package/dist/app/agentkit/react/components.d.ts.map +1 -0
  77. package/dist/app/agentkit/react/components.js +2138 -0
  78. package/dist/app/agentkit/react/components.js.map +1 -0
  79. package/dist/app/agentkit/react/composer-submission.d.ts +22 -0
  80. package/dist/app/agentkit/react/composer-submission.d.ts.map +1 -0
  81. package/dist/app/agentkit/react/composer-submission.js +33 -0
  82. package/dist/app/agentkit/react/composer-submission.js.map +1 -0
  83. package/dist/app/agentkit/react/context.d.ts +315 -0
  84. package/dist/app/agentkit/react/context.d.ts.map +1 -0
  85. package/dist/app/agentkit/react/context.js +399 -0
  86. package/dist/app/agentkit/react/context.js.map +1 -0
  87. package/dist/app/agentkit/react/headless.d.ts +3 -0
  88. package/dist/app/agentkit/react/headless.d.ts.map +1 -0
  89. package/dist/app/agentkit/react/headless.js +3 -0
  90. package/dist/app/agentkit/react/headless.js.map +1 -0
  91. package/dist/app/agentkit/react/index.d.ts +6 -0
  92. package/dist/app/agentkit/react/index.d.ts.map +1 -0
  93. package/dist/app/agentkit/react/index.js +6 -0
  94. package/dist/app/agentkit/react/index.js.map +1 -0
  95. package/dist/app/agentkit/react/root.d.ts +49 -0
  96. package/dist/app/agentkit/react/root.d.ts.map +1 -0
  97. package/dist/app/agentkit/react/root.js +145 -0
  98. package/dist/app/agentkit/react/root.js.map +1 -0
  99. package/dist/app/agentkit/react/streaming-text.d.ts +17 -0
  100. package/dist/app/agentkit/react/streaming-text.d.ts.map +1 -0
  101. package/dist/app/agentkit/react/streaming-text.js +257 -0
  102. package/dist/app/agentkit/react/streaming-text.js.map +1 -0
  103. package/dist/app/agentkit/react/styles.css +1898 -0
  104. package/dist/app/auth/AuthPage.d.ts +34 -0
  105. package/dist/app/auth/AuthPage.d.ts.map +1 -0
  106. package/dist/app/auth/AuthPage.js +2122 -0
  107. package/dist/app/auth/AuthPage.js.map +1 -0
  108. package/dist/app/auth/RequireSession.d.ts +15 -0
  109. package/dist/app/auth/RequireSession.d.ts.map +1 -0
  110. package/dist/app/auth/RequireSession.js +43 -0
  111. package/dist/app/auth/RequireSession.js.map +1 -0
  112. package/dist/app/auth/ResetPasswordPage.d.ts +6 -0
  113. package/dist/app/auth/ResetPasswordPage.d.ts.map +1 -0
  114. package/dist/app/auth/ResetPasswordPage.js +122 -0
  115. package/dist/app/auth/ResetPasswordPage.js.map +1 -0
  116. package/dist/app/auth/entry.d.ts +2 -0
  117. package/dist/app/auth/entry.d.ts.map +1 -0
  118. package/dist/app/auth/entry.js +24 -0
  119. package/dist/app/auth/entry.js.map +1 -0
  120. package/dist/app/auth/index.d.ts +4 -0
  121. package/dist/app/auth/index.d.ts.map +1 -0
  122. package/dist/app/auth/index.js +4 -0
  123. package/dist/app/auth/index.js.map +1 -0
  124. package/dist/app/blocks/AiEditableField.d.ts +8 -0
  125. package/dist/app/blocks/AiEditableField.d.ts.map +1 -0
  126. package/dist/app/blocks/AiEditableField.js +10 -0
  127. package/dist/app/blocks/AiEditableField.js.map +1 -0
  128. package/dist/app/blocks/BlockView.d.ts +17 -0
  129. package/dist/app/blocks/BlockView.d.ts.map +1 -0
  130. package/dist/app/blocks/BlockView.js +39 -0
  131. package/dist/app/blocks/BlockView.js.map +1 -0
  132. package/dist/app/blocks/RegistryBlockDataProvider.d.ts +7 -0
  133. package/dist/app/blocks/RegistryBlockDataProvider.d.ts.map +1 -0
  134. package/dist/app/blocks/RegistryBlockDataProvider.js +54 -0
  135. package/dist/app/blocks/RegistryBlockDataProvider.js.map +1 -0
  136. package/dist/app/blocks/SchemaBlockEditor.d.ts +11 -0
  137. package/dist/app/blocks/SchemaBlockEditor.d.ts.map +1 -0
  138. package/dist/app/blocks/SchemaBlockEditor.js +139 -0
  139. package/dist/app/blocks/SchemaBlockEditor.js.map +1 -0
  140. package/dist/app/blocks/code-block-direction.d.ts +6 -0
  141. package/dist/app/blocks/code-block-direction.d.ts.map +1 -0
  142. package/dist/app/blocks/code-block-direction.js +5 -0
  143. package/dist/app/blocks/code-block-direction.js.map +1 -0
  144. package/dist/app/blocks/index.d.ts +68 -0
  145. package/dist/app/blocks/index.d.ts.map +1 -0
  146. package/dist/app/blocks/index.js +68 -0
  147. package/dist/app/blocks/index.js.map +1 -0
  148. package/dist/app/blocks/library/AnnotatedCodeBlock.d.ts +6 -0
  149. package/dist/app/blocks/library/AnnotatedCodeBlock.d.ts.map +1 -0
  150. package/dist/app/blocks/library/AnnotatedCodeBlock.js +225 -0
  151. package/dist/app/blocks/library/AnnotatedCodeBlock.js.map +1 -0
  152. package/dist/app/blocks/library/ApiEndpointBlock.d.ts +5 -0
  153. package/dist/app/blocks/library/ApiEndpointBlock.d.ts.map +1 -0
  154. package/dist/app/blocks/library/ApiEndpointBlock.js +267 -0
  155. package/dist/app/blocks/library/ApiEndpointBlock.js.map +1 -0
  156. package/dist/app/blocks/library/DataModelBlock.d.ts +5 -0
  157. package/dist/app/blocks/library/DataModelBlock.d.ts.map +1 -0
  158. package/dist/app/blocks/library/DataModelBlock.js +222 -0
  159. package/dist/app/blocks/library/DataModelBlock.js.map +1 -0
  160. package/dist/app/blocks/library/DiffBlock.d.ts +12 -0
  161. package/dist/app/blocks/library/DiffBlock.d.ts.map +1 -0
  162. package/dist/app/blocks/library/DiffBlock.js +777 -0
  163. package/dist/app/blocks/library/DiffBlock.js.map +1 -0
  164. package/dist/app/blocks/library/FileTreeBlock.d.ts +5 -0
  165. package/dist/app/blocks/library/FileTreeBlock.d.ts.map +1 -0
  166. package/dist/app/blocks/library/FileTreeBlock.js +298 -0
  167. package/dist/app/blocks/library/FileTreeBlock.js.map +1 -0
  168. package/dist/app/blocks/library/HighlightedCode.d.ts +14 -0
  169. package/dist/app/blocks/library/HighlightedCode.d.ts.map +1 -0
  170. package/dist/app/blocks/library/HighlightedCode.js +152 -0
  171. package/dist/app/blocks/library/HighlightedCode.js.map +1 -0
  172. package/dist/app/blocks/library/JsonExplorerBlock.d.ts +16 -0
  173. package/dist/app/blocks/library/JsonExplorerBlock.d.ts.map +1 -0
  174. package/dist/app/blocks/library/JsonExplorerBlock.js +223 -0
  175. package/dist/app/blocks/library/JsonExplorerBlock.js.map +1 -0
  176. package/dist/app/blocks/library/MermaidBlock.d.ts +5 -0
  177. package/dist/app/blocks/library/MermaidBlock.d.ts.map +1 -0
  178. package/dist/app/blocks/library/MermaidBlock.js +152 -0
  179. package/dist/app/blocks/library/MermaidBlock.js.map +1 -0
  180. package/dist/app/blocks/library/OpenApiSpecBlock.d.ts +12 -0
  181. package/dist/app/blocks/library/OpenApiSpecBlock.d.ts.map +1 -0
  182. package/dist/app/blocks/library/OpenApiSpecBlock.js +459 -0
  183. package/dist/app/blocks/library/OpenApiSpecBlock.js.map +1 -0
  184. package/dist/app/blocks/library/annotation-rail.d.ts +175 -0
  185. package/dist/app/blocks/library/annotation-rail.d.ts.map +1 -0
  186. package/dist/app/blocks/library/annotation-rail.js +467 -0
  187. package/dist/app/blocks/library/annotation-rail.js.map +1 -0
  188. package/dist/app/blocks/library/block-copy.d.ts +33 -0
  189. package/dist/app/blocks/library/block-copy.d.ts.map +1 -0
  190. package/dist/app/blocks/library/block-copy.js +361 -0
  191. package/dist/app/blocks/library/block-copy.js.map +1 -0
  192. package/dist/app/blocks/library/callout.d.ts +6 -0
  193. package/dist/app/blocks/library/callout.d.ts.map +1 -0
  194. package/dist/app/blocks/library/callout.js +45 -0
  195. package/dist/app/blocks/library/callout.js.map +1 -0
  196. package/dist/app/blocks/library/checklist.d.ts +8 -0
  197. package/dist/app/blocks/library/checklist.d.ts.map +1 -0
  198. package/dist/app/blocks/library/checklist.js +45 -0
  199. package/dist/app/blocks/library/checklist.js.map +1 -0
  200. package/dist/app/blocks/library/code-copy-button.d.ts +4 -0
  201. package/dist/app/blocks/library/code-copy-button.d.ts.map +1 -0
  202. package/dist/app/blocks/library/code-copy-button.js +13 -0
  203. package/dist/app/blocks/library/code-copy-button.js.map +1 -0
  204. package/dist/app/blocks/library/code-filename-label.d.ts +8 -0
  205. package/dist/app/blocks/library/code-filename-label.d.ts.map +1 -0
  206. package/dist/app/blocks/library/code-filename-label.js +15 -0
  207. package/dist/app/blocks/library/code-filename-label.js.map +1 -0
  208. package/dist/app/blocks/library/code-highlight.d.ts +5 -0
  209. package/dist/app/blocks/library/code-highlight.d.ts.map +1 -0
  210. package/dist/app/blocks/library/code-highlight.js +142 -0
  211. package/dist/app/blocks/library/code-highlight.js.map +1 -0
  212. package/dist/app/blocks/library/code-tabs.d.ts +3 -0
  213. package/dist/app/blocks/library/code-tabs.d.ts.map +1 -0
  214. package/dist/app/blocks/library/code-tabs.js +258 -0
  215. package/dist/app/blocks/library/code-tabs.js.map +1 -0
  216. package/dist/app/blocks/library/code.d.ts +3 -0
  217. package/dist/app/blocks/library/code.d.ts.map +1 -0
  218. package/dist/app/blocks/library/code.js +107 -0
  219. package/dist/app/blocks/library/code.js.map +1 -0
  220. package/dist/app/blocks/library/columns.d.ts +6 -0
  221. package/dist/app/blocks/library/columns.d.ts.map +1 -0
  222. package/dist/app/blocks/library/columns.js +178 -0
  223. package/dist/app/blocks/library/columns.js.map +1 -0
  224. package/dist/app/blocks/library/dev-doc-ui.d.ts +40 -0
  225. package/dist/app/blocks/library/dev-doc-ui.d.ts.map +1 -0
  226. package/dist/app/blocks/library/dev-doc-ui.js +37 -0
  227. package/dist/app/blocks/library/dev-doc-ui.js.map +1 -0
  228. package/dist/app/blocks/library/diagram.d.ts +10 -0
  229. package/dist/app/blocks/library/diagram.d.ts.map +1 -0
  230. package/dist/app/blocks/library/diagram.js +347 -0
  231. package/dist/app/blocks/library/diagram.js.map +1 -0
  232. package/dist/app/blocks/library/html.d.ts +6 -0
  233. package/dist/app/blocks/library/html.d.ts.map +1 -0
  234. package/dist/app/blocks/library/html.js +88 -0
  235. package/dist/app/blocks/library/html.js.map +1 -0
  236. package/dist/app/blocks/library/narrow-container.d.ts +6 -0
  237. package/dist/app/blocks/library/narrow-container.d.ts.map +1 -0
  238. package/dist/app/blocks/library/narrow-container.js +10 -0
  239. package/dist/app/blocks/library/narrow-container.js.map +1 -0
  240. package/dist/app/blocks/library/question-form.d.ts +8 -0
  241. package/dist/app/blocks/library/question-form.d.ts.map +1 -0
  242. package/dist/app/blocks/library/question-form.js +319 -0
  243. package/dist/app/blocks/library/question-form.js.map +1 -0
  244. package/dist/app/blocks/library/sanitize-html.d.ts +7 -0
  245. package/dist/app/blocks/library/sanitize-html.d.ts.map +1 -0
  246. package/dist/app/blocks/library/sanitize-html.js +326 -0
  247. package/dist/app/blocks/library/sanitize-html.js.map +1 -0
  248. package/dist/app/blocks/library/specs.d.ts +8 -0
  249. package/dist/app/blocks/library/specs.d.ts.map +1 -0
  250. package/dist/app/blocks/library/specs.js +211 -0
  251. package/dist/app/blocks/library/specs.js.map +1 -0
  252. package/dist/app/blocks/library/table.d.ts +3 -0
  253. package/dist/app/blocks/library/table.d.ts.map +1 -0
  254. package/dist/app/blocks/library/table.js +156 -0
  255. package/dist/app/blocks/library/table.js.map +1 -0
  256. package/dist/app/blocks/library/tabs.d.ts +6 -0
  257. package/dist/app/blocks/library/tabs.d.ts.map +1 -0
  258. package/dist/app/blocks/library/tabs.js +250 -0
  259. package/dist/app/blocks/library/tabs.js.map +1 -0
  260. package/dist/app/blocks/library/wireframe-icons.d.ts +2 -0
  261. package/dist/app/blocks/library/wireframe-icons.d.ts.map +1 -0
  262. package/dist/app/blocks/library/wireframe-icons.js +175 -0
  263. package/dist/app/blocks/library/wireframe-icons.js.map +1 -0
  264. package/dist/app/blocks/library/wireframe-kit.d.ts +234 -0
  265. package/dist/app/blocks/library/wireframe-kit.d.ts.map +1 -0
  266. package/dist/app/blocks/library/wireframe-kit.js +1017 -0
  267. package/dist/app/blocks/library/wireframe-kit.js.map +1 -0
  268. package/dist/app/blocks/library/wireframe.d.ts +6 -0
  269. package/dist/app/blocks/library/wireframe.d.ts.map +1 -0
  270. package/dist/app/blocks/library/wireframe.js +174 -0
  271. package/dist/app/blocks/library/wireframe.js.map +1 -0
  272. package/dist/app/blocks/provider.d.ts +16 -0
  273. package/dist/app/blocks/provider.d.ts.map +1 -0
  274. package/dist/app/blocks/provider.js +17 -0
  275. package/dist/app/blocks/provider.js.map +1 -0
  276. package/dist/app/changelog/Changelog.d.ts +31 -0
  277. package/dist/app/changelog/Changelog.d.ts.map +1 -0
  278. package/dist/app/changelog/Changelog.js +100 -0
  279. package/dist/app/changelog/Changelog.js.map +1 -0
  280. package/dist/app/changelog/index.d.ts +2 -0
  281. package/dist/app/changelog/index.d.ts.map +1 -0
  282. package/dist/app/changelog/index.js +2 -0
  283. package/dist/app/changelog/index.js.map +1 -0
  284. package/dist/app/chat/AgentAskPopover.d.ts +16 -0
  285. package/dist/app/chat/AgentAskPopover.d.ts.map +1 -0
  286. package/dist/app/chat/AgentAskPopover.js +25 -0
  287. package/dist/app/chat/AgentAskPopover.js.map +1 -0
  288. package/dist/app/chat/AgentChatHome.d.ts +9 -0
  289. package/dist/app/chat/AgentChatHome.d.ts.map +1 -0
  290. package/dist/app/chat/AgentChatHome.js +7 -0
  291. package/dist/app/chat/AgentChatHome.js.map +1 -0
  292. package/dist/app/chat/AgentKitAssistantChat.d.ts +15 -0
  293. package/dist/app/chat/AgentKitAssistantChat.d.ts.map +1 -0
  294. package/dist/app/chat/AgentKitAssistantChat.js +3023 -0
  295. package/dist/app/chat/AgentKitAssistantChat.js.map +1 -0
  296. package/dist/app/chat/AgentNativeEmbedded.d.ts +14 -0
  297. package/dist/app/chat/AgentNativeEmbedded.d.ts.map +1 -0
  298. package/dist/app/chat/AgentNativeEmbedded.js +35 -0
  299. package/dist/app/chat/AgentNativeEmbedded.js.map +1 -0
  300. package/dist/app/chat/AgentPanel.d.ts +128 -0
  301. package/dist/app/chat/AgentPanel.d.ts.map +1 -0
  302. package/dist/app/chat/AgentPanel.js +1216 -0
  303. package/dist/app/chat/AgentPanel.js.map +1 -0
  304. package/dist/app/chat/AgentSidebar.d.ts +89 -0
  305. package/dist/app/chat/AgentSidebar.d.ts.map +1 -0
  306. package/dist/app/chat/AgentSidebar.js +827 -0
  307. package/dist/app/chat/AgentSidebar.js.map +1 -0
  308. package/dist/app/chat/AgentSidebarPanel.d.ts +3 -0
  309. package/dist/app/chat/AgentSidebarPanel.d.ts.map +1 -0
  310. package/dist/app/chat/AgentSidebarPanel.js +8 -0
  311. package/dist/app/chat/AgentSidebarPanel.js.map +1 -0
  312. package/dist/app/chat/AgentTaskCard.d.ts +9 -0
  313. package/dist/app/chat/AgentTaskCard.d.ts.map +1 -0
  314. package/dist/app/chat/AgentTaskCard.js +127 -0
  315. package/dist/app/chat/AgentTaskCard.js.map +1 -0
  316. package/dist/app/chat/BuilderReferralInviteRow.d.ts +4 -0
  317. package/dist/app/chat/BuilderReferralInviteRow.d.ts.map +1 -0
  318. package/dist/app/chat/BuilderReferralInviteRow.js +17 -0
  319. package/dist/app/chat/BuilderReferralInviteRow.js.map +1 -0
  320. package/dist/app/chat/ConnectBuilderCard.d.ts +11 -0
  321. package/dist/app/chat/ConnectBuilderCard.d.ts.map +1 -0
  322. package/dist/app/chat/ConnectBuilderCard.js +231 -0
  323. package/dist/app/chat/ConnectBuilderCard.js.map +1 -0
  324. package/dist/app/chat/FileStorageSetupPopover.d.ts +19 -0
  325. package/dist/app/chat/FileStorageSetupPopover.d.ts.map +1 -0
  326. package/dist/app/chat/FileStorageSetupPopover.js +60 -0
  327. package/dist/app/chat/FileStorageSetupPopover.js.map +1 -0
  328. package/dist/app/chat/HighlightedCodeBlock.d.ts +20 -0
  329. package/dist/app/chat/HighlightedCodeBlock.d.ts.map +1 -0
  330. package/dist/app/chat/HighlightedCodeBlock.js +98 -0
  331. package/dist/app/chat/HighlightedCodeBlock.js.map +1 -0
  332. package/dist/app/chat/KeepTabOpenNotice.d.ts +11 -0
  333. package/dist/app/chat/KeepTabOpenNotice.d.ts.map +1 -0
  334. package/dist/app/chat/KeepTabOpenNotice.js +75 -0
  335. package/dist/app/chat/KeepTabOpenNotice.js.map +1 -0
  336. package/dist/app/chat/MultiTabAssistantChat.d.ts +75 -0
  337. package/dist/app/chat/MultiTabAssistantChat.d.ts.map +1 -0
  338. package/dist/app/chat/MultiTabAssistantChat.js +2237 -0
  339. package/dist/app/chat/MultiTabAssistantChat.js.map +1 -0
  340. package/dist/app/chat/RunStuckBanner.d.ts +16 -0
  341. package/dist/app/chat/RunStuckBanner.d.ts.map +1 -0
  342. package/dist/app/chat/RunStuckBanner.js +207 -0
  343. package/dist/app/chat/RunStuckBanner.js.map +1 -0
  344. package/dist/app/chat/agent-sidebar-context.d.ts +2 -0
  345. package/dist/app/chat/agent-sidebar-context.d.ts.map +1 -0
  346. package/dist/app/chat/agent-sidebar-context.js +3 -0
  347. package/dist/app/chat/agent-sidebar-context.js.map +1 -0
  348. package/dist/app/chat/agent-sidebar-events.d.ts +7 -0
  349. package/dist/app/chat/agent-sidebar-events.d.ts.map +1 -0
  350. package/dist/app/chat/agent-sidebar-events.js +21 -0
  351. package/dist/app/chat/agent-sidebar-events.js.map +1 -0
  352. package/dist/app/chat/agent-sidebar-url-sync.d.ts +15 -0
  353. package/dist/app/chat/agent-sidebar-url-sync.d.ts.map +1 -0
  354. package/dist/app/chat/agent-sidebar-url-sync.js +169 -0
  355. package/dist/app/chat/agent-sidebar-url-sync.js.map +1 -0
  356. package/dist/app/chat/agentkit-chat/action-widget.d.ts +4 -0
  357. package/dist/app/chat/agentkit-chat/action-widget.d.ts.map +1 -0
  358. package/dist/app/chat/agentkit-chat/action-widget.js +76 -0
  359. package/dist/app/chat/agentkit-chat/action-widget.js.map +1 -0
  360. package/dist/app/chat/agentkit-chat/approval-card.d.ts +8 -0
  361. package/dist/app/chat/agentkit-chat/approval-card.d.ts.map +1 -0
  362. package/dist/app/chat/agentkit-chat/approval-card.js +85 -0
  363. package/dist/app/chat/agentkit-chat/approval-card.js.map +1 -0
  364. package/dist/app/chat/agentkit-chat/composer.d.ts +2 -0
  365. package/dist/app/chat/agentkit-chat/composer.d.ts.map +1 -0
  366. package/dist/app/chat/agentkit-chat/composer.js +2 -0
  367. package/dist/app/chat/agentkit-chat/composer.js.map +1 -0
  368. package/dist/app/chat/agentkit-chat/connections.d.ts +5 -0
  369. package/dist/app/chat/agentkit-chat/connections.d.ts.map +1 -0
  370. package/dist/app/chat/agentkit-chat/connections.js +27 -0
  371. package/dist/app/chat/agentkit-chat/connections.js.map +1 -0
  372. package/dist/app/chat/agentkit-chat/guided-questions.d.ts +148 -0
  373. package/dist/app/chat/agentkit-chat/guided-questions.d.ts.map +1 -0
  374. package/dist/app/chat/agentkit-chat/guided-questions.js +658 -0
  375. package/dist/app/chat/agentkit-chat/guided-questions.js.map +1 -0
  376. package/dist/app/chat/agentkit-chat/history.d.ts +109 -0
  377. package/dist/app/chat/agentkit-chat/history.d.ts.map +1 -0
  378. package/dist/app/chat/agentkit-chat/history.js +647 -0
  379. package/dist/app/chat/agentkit-chat/history.js.map +1 -0
  380. package/dist/app/chat/agentkit-chat/index.d.ts +16 -0
  381. package/dist/app/chat/agentkit-chat/index.d.ts.map +1 -0
  382. package/dist/app/chat/agentkit-chat/index.js +16 -0
  383. package/dist/app/chat/agentkit-chat/index.js.map +1 -0
  384. package/dist/app/chat/agentkit-chat/parity-renderers.d.ts +11 -0
  385. package/dist/app/chat/agentkit-chat/parity-renderers.d.ts.map +1 -0
  386. package/dist/app/chat/agentkit-chat/parity-renderers.js +45 -0
  387. package/dist/app/chat/agentkit-chat/parity-renderers.js.map +1 -0
  388. package/dist/app/chat/agentkit-chat/questions.d.ts +2 -0
  389. package/dist/app/chat/agentkit-chat/questions.d.ts.map +1 -0
  390. package/dist/app/chat/agentkit-chat/questions.js +2 -0
  391. package/dist/app/chat/agentkit-chat/questions.js.map +1 -0
  392. package/dist/app/chat/agentkit-chat/rail.d.ts +5 -0
  393. package/dist/app/chat/agentkit-chat/rail.d.ts.map +1 -0
  394. package/dist/app/chat/agentkit-chat/rail.js +5 -0
  395. package/dist/app/chat/agentkit-chat/rail.js.map +1 -0
  396. package/dist/app/chat/agentkit-chat/root.d.ts +3 -0
  397. package/dist/app/chat/agentkit-chat/root.d.ts.map +1 -0
  398. package/dist/app/chat/agentkit-chat/root.js +12 -0
  399. package/dist/app/chat/agentkit-chat/root.js.map +1 -0
  400. package/dist/app/chat/agentkit-chat/suggestions.d.ts +2 -0
  401. package/dist/app/chat/agentkit-chat/suggestions.d.ts.map +1 -0
  402. package/dist/app/chat/agentkit-chat/suggestions.js +2 -0
  403. package/dist/app/chat/agentkit-chat/suggestions.js.map +1 -0
  404. package/dist/app/chat/chat/ChatHistoryList.d.ts +2 -0
  405. package/dist/app/chat/chat/ChatHistoryList.d.ts.map +1 -0
  406. package/dist/app/chat/chat/ChatHistoryList.js +2 -0
  407. package/dist/app/chat/chat/ChatHistoryList.js.map +1 -0
  408. package/dist/app/chat/chat/IframeEmbed.d.ts +10 -0
  409. package/dist/app/chat/chat/IframeEmbed.d.ts.map +1 -0
  410. package/dist/app/chat/chat/IframeEmbed.js +100 -0
  411. package/dist/app/chat/chat/IframeEmbed.js.map +1 -0
  412. package/dist/app/chat/chat/action-chat-ui-surface.d.ts +8 -0
  413. package/dist/app/chat/chat/action-chat-ui-surface.d.ts.map +1 -0
  414. package/dist/app/chat/chat/action-chat-ui-surface.js +14 -0
  415. package/dist/app/chat/chat/action-chat-ui-surface.js.map +1 -0
  416. package/dist/app/chat/chat/agent-activity-object.d.ts +15 -0
  417. package/dist/app/chat/chat/agent-activity-object.d.ts.map +1 -0
  418. package/dist/app/chat/chat/agent-activity-object.js +19 -0
  419. package/dist/app/chat/chat/agent-activity-object.js.map +1 -0
  420. package/dist/app/chat/chat/agent-activity-trace.d.ts +34 -0
  421. package/dist/app/chat/chat/agent-activity-trace.d.ts.map +1 -0
  422. package/dist/app/chat/chat/agent-activity-trace.js +56 -0
  423. package/dist/app/chat/chat/agent-activity-trace.js.map +1 -0
  424. package/dist/app/chat/chat/agent-approval-card.d.ts +42 -0
  425. package/dist/app/chat/chat/agent-approval-card.d.ts.map +1 -0
  426. package/dist/app/chat/chat/agent-approval-card.js +32 -0
  427. package/dist/app/chat/chat/agent-approval-card.js.map +1 -0
  428. package/dist/app/chat/chat/history-types.d.ts +50 -0
  429. package/dist/app/chat/chat/history-types.d.ts.map +1 -0
  430. package/dist/app/chat/chat/history-types.js +2 -0
  431. package/dist/app/chat/chat/history-types.js.map +1 -0
  432. package/dist/app/chat/chat/index.d.ts +36 -0
  433. package/dist/app/chat/chat/index.d.ts.map +1 -0
  434. package/dist/app/chat/chat/index.js +34 -0
  435. package/dist/app/chat/chat/index.js.map +1 -0
  436. package/dist/app/chat/chat/legacy-chart-shorthand.d.ts +22 -0
  437. package/dist/app/chat/chat/legacy-chart-shorthand.d.ts.map +1 -0
  438. package/dist/app/chat/chat/legacy-chart-shorthand.js +279 -0
  439. package/dist/app/chat/chat/legacy-chart-shorthand.js.map +1 -0
  440. package/dist/app/chat/chat/markdown-renderer.d.ts +77 -0
  441. package/dist/app/chat/chat/markdown-renderer.d.ts.map +1 -0
  442. package/dist/app/chat/chat/markdown-renderer.js +578 -0
  443. package/dist/app/chat/chat/markdown-renderer.js.map +1 -0
  444. package/dist/app/chat/chat/run-recovery.d.ts +60 -0
  445. package/dist/app/chat/chat/run-recovery.d.ts.map +1 -0
  446. package/dist/app/chat/chat/run-recovery.js +433 -0
  447. package/dist/app/chat/chat/run-recovery.js.map +1 -0
  448. package/dist/app/chat/chat/surface-types.d.ts +353 -0
  449. package/dist/app/chat/chat/surface-types.d.ts.map +1 -0
  450. package/dist/app/chat/chat/surface-types.js +4 -0
  451. package/dist/app/chat/chat/surface-types.js.map +1 -0
  452. package/dist/app/chat/chat/tool-call-display.d.ts +129 -0
  453. package/dist/app/chat/chat/tool-call-display.d.ts.map +1 -0
  454. package/dist/app/chat/chat/tool-call-display.js +718 -0
  455. package/dist/app/chat/chat/tool-call-display.js.map +1 -0
  456. package/dist/app/chat/chat/tool-chips.d.ts +30 -0
  457. package/dist/app/chat/chat/tool-chips.d.ts.map +1 -0
  458. package/dist/app/chat/chat/tool-chips.js +28 -0
  459. package/dist/app/chat/chat/tool-chips.js.map +1 -0
  460. package/dist/app/chat/chat/tool-integration.d.ts +9 -0
  461. package/dist/app/chat/chat/tool-integration.d.ts.map +1 -0
  462. package/dist/app/chat/chat/tool-integration.js +52 -0
  463. package/dist/app/chat/chat/tool-integration.js.map +1 -0
  464. package/dist/app/chat/chat/tool-render-registry.d.ts +42 -0
  465. package/dist/app/chat/chat/tool-render-registry.d.ts.map +1 -0
  466. package/dist/app/chat/chat/tool-render-registry.js +83 -0
  467. package/dist/app/chat/chat/tool-render-registry.js.map +1 -0
  468. package/dist/app/chat/chat/widgets/ActionCard.d.ts +10 -0
  469. package/dist/app/chat/chat/widgets/ActionCard.d.ts.map +1 -0
  470. package/dist/app/chat/chat/widgets/ActionCard.js +6 -0
  471. package/dist/app/chat/chat/widgets/ActionCard.js.map +1 -0
  472. package/dist/app/chat/chat/widgets/AgentTeamProgressWidget.d.ts +3 -0
  473. package/dist/app/chat/chat/widgets/AgentTeamProgressWidget.d.ts.map +1 -0
  474. package/dist/app/chat/chat/widgets/AgentTeamProgressWidget.js +28 -0
  475. package/dist/app/chat/chat/widgets/AgentTeamProgressWidget.js.map +1 -0
  476. package/dist/app/chat/chat/widgets/ConnectRequiredWidget.d.ts +5 -0
  477. package/dist/app/chat/chat/widgets/ConnectRequiredWidget.d.ts.map +1 -0
  478. package/dist/app/chat/chat/widgets/ConnectRequiredWidget.js +19 -0
  479. package/dist/app/chat/chat/widgets/ConnectRequiredWidget.js.map +1 -0
  480. package/dist/app/chat/chat/widgets/DataChartRenderer.d.ts +5 -0
  481. package/dist/app/chat/chat/widgets/DataChartRenderer.d.ts.map +1 -0
  482. package/dist/app/chat/chat/widgets/DataChartRenderer.js +112 -0
  483. package/dist/app/chat/chat/widgets/DataChartRenderer.js.map +1 -0
  484. package/dist/app/chat/chat/widgets/DataChartWidget.d.ts +5 -0
  485. package/dist/app/chat/chat/widgets/DataChartWidget.d.ts.map +1 -0
  486. package/dist/app/chat/chat/widgets/DataChartWidget.js +21 -0
  487. package/dist/app/chat/chat/widgets/DataChartWidget.js.map +1 -0
  488. package/dist/app/chat/chat/widgets/DataInsightsWidget.d.ts +5 -0
  489. package/dist/app/chat/chat/widgets/DataInsightsWidget.d.ts.map +1 -0
  490. package/dist/app/chat/chat/widgets/DataInsightsWidget.js +20 -0
  491. package/dist/app/chat/chat/widgets/DataInsightsWidget.js.map +1 -0
  492. package/dist/app/chat/chat/widgets/DataTableWidget.d.ts +9 -0
  493. package/dist/app/chat/chat/widgets/DataTableWidget.d.ts.map +1 -0
  494. package/dist/app/chat/chat/widgets/DataTableWidget.js +125 -0
  495. package/dist/app/chat/chat/widgets/DataTableWidget.js.map +1 -0
  496. package/dist/app/chat/chat/widgets/InlineExtensionWidget.d.ts +6 -0
  497. package/dist/app/chat/chat/widgets/InlineExtensionWidget.d.ts.map +1 -0
  498. package/dist/app/chat/chat/widgets/InlineExtensionWidget.js +18 -0
  499. package/dist/app/chat/chat/widgets/InlineExtensionWidget.js.map +1 -0
  500. package/dist/app/chat/chat/widgets/RecordChangeWidget.d.ts +12 -0
  501. package/dist/app/chat/chat/widgets/RecordChangeWidget.d.ts.map +1 -0
  502. package/dist/app/chat/chat/widgets/RecordChangeWidget.js +261 -0
  503. package/dist/app/chat/chat/widgets/RecordChangeWidget.js.map +1 -0
  504. package/dist/app/chat/chat/widgets/WorkspaceFileWidget.d.ts +5 -0
  505. package/dist/app/chat/chat/widgets/WorkspaceFileWidget.d.ts.map +1 -0
  506. package/dist/app/chat/chat/widgets/WorkspaceFileWidget.js +35 -0
  507. package/dist/app/chat/chat/widgets/WorkspaceFileWidget.js.map +1 -0
  508. package/dist/app/chat/chat/widgets/builtin-tool-renderers.d.ts +8 -0
  509. package/dist/app/chat/chat/widgets/builtin-tool-renderers.d.ts.map +1 -0
  510. package/dist/app/chat/chat/widgets/builtin-tool-renderers.js +352 -0
  511. package/dist/app/chat/chat/widgets/builtin-tool-renderers.js.map +1 -0
  512. package/dist/app/chat/chat/widgets/data-widget-types.d.ts +2 -0
  513. package/dist/app/chat/chat/widgets/data-widget-types.d.ts.map +1 -0
  514. package/dist/app/chat/chat/widgets/data-widget-types.js +2 -0
  515. package/dist/app/chat/chat/widgets/data-widget-types.js.map +1 -0
  516. package/dist/app/chat/chat/widgets/inline-extension-result.d.ts +14 -0
  517. package/dist/app/chat/chat/widgets/inline-extension-result.d.ts.map +1 -0
  518. package/dist/app/chat/chat/widgets/inline-extension-result.js +67 -0
  519. package/dist/app/chat/chat/widgets/inline-extension-result.js.map +1 -0
  520. package/dist/app/chat/chat/widgets/workspace-file-result.d.ts +12 -0
  521. package/dist/app/chat/chat/widgets/workspace-file-result.d.ts.map +1 -0
  522. package/dist/app/chat/chat/widgets/workspace-file-result.js +34 -0
  523. package/dist/app/chat/chat/widgets/workspace-file-result.js.map +1 -0
  524. package/dist/app/chat/chat-first/ChatFirstAgentActivityPanel.d.ts +12 -0
  525. package/dist/app/chat/chat-first/ChatFirstAgentActivityPanel.d.ts.map +1 -0
  526. package/dist/app/chat/chat-first/ChatFirstAgentActivityPanel.js +52 -0
  527. package/dist/app/chat/chat-first/ChatFirstAgentActivityPanel.js.map +1 -0
  528. package/dist/app/chat/chat-first/ChatFirstSurfacePanelToggle.d.ts +6 -0
  529. package/dist/app/chat/chat-first/ChatFirstSurfacePanelToggle.d.ts.map +1 -0
  530. package/dist/app/chat/chat-first/ChatFirstSurfacePanelToggle.js +7 -0
  531. package/dist/app/chat/chat-first/ChatFirstSurfacePanelToggle.js.map +1 -0
  532. package/dist/app/chat/chat-first/active-surface.d.ts +16 -0
  533. package/dist/app/chat/chat-first/active-surface.d.ts.map +1 -0
  534. package/dist/app/chat/chat-first/active-surface.js +17 -0
  535. package/dist/app/chat/chat-first/active-surface.js.map +1 -0
  536. package/dist/app/chat/chat-first/agents-pane.d.ts +3 -0
  537. package/dist/app/chat/chat-first/agents-pane.d.ts.map +1 -0
  538. package/dist/app/chat/chat-first/agents-pane.js +7 -0
  539. package/dist/app/chat/chat-first/agents-pane.js.map +1 -0
  540. package/dist/app/chat/chat-first/app-open-actions.d.ts +31 -0
  541. package/dist/app/chat/chat-first/app-open-actions.d.ts.map +1 -0
  542. package/dist/app/chat/chat-first/app-open-actions.js +28 -0
  543. package/dist/app/chat/chat-first/app-open-actions.js.map +1 -0
  544. package/dist/app/chat/chat-first/app-pane.d.ts +3 -0
  545. package/dist/app/chat/chat-first/app-pane.d.ts.map +1 -0
  546. package/dist/app/chat/chat-first/app-pane.js +7 -0
  547. package/dist/app/chat/chat-first/app-pane.js.map +1 -0
  548. package/dist/app/chat/chat-first/apps-rail.d.ts +4 -0
  549. package/dist/app/chat/chat-first/apps-rail.d.ts.map +1 -0
  550. package/dist/app/chat/chat-first/apps-rail.js +148 -0
  551. package/dist/app/chat/chat-first/apps-rail.js.map +1 -0
  552. package/dist/app/chat/chat-first/browser-pane.d.ts +3 -0
  553. package/dist/app/chat/chat-first/browser-pane.d.ts.map +1 -0
  554. package/dist/app/chat/chat-first/browser-pane.js +68 -0
  555. package/dist/app/chat/chat-first/browser-pane.js.map +1 -0
  556. package/dist/app/chat/chat-first/chat-history.d.ts +9 -0
  557. package/dist/app/chat/chat-first/chat-history.d.ts.map +1 -0
  558. package/dist/app/chat/chat-first/chat-history.js +11 -0
  559. package/dist/app/chat/chat-first/chat-history.js.map +1 -0
  560. package/dist/app/chat/chat-first/copy.d.ts +3 -0
  561. package/dist/app/chat/chat-first/copy.d.ts.map +1 -0
  562. package/dist/app/chat/chat-first/copy.js +122 -0
  563. package/dist/app/chat/chat-first/copy.js.map +1 -0
  564. package/dist/app/chat/chat-first/index.d.ts +18 -0
  565. package/dist/app/chat/chat-first/index.d.ts.map +1 -0
  566. package/dist/app/chat/chat-first/index.js +17 -0
  567. package/dist/app/chat/chat-first/index.js.map +1 -0
  568. package/dist/app/chat/chat-first/primary-nav.d.ts +14 -0
  569. package/dist/app/chat/chat-first/primary-nav.d.ts.map +1 -0
  570. package/dist/app/chat/chat-first/primary-nav.js +34 -0
  571. package/dist/app/chat/chat-first/primary-nav.js.map +1 -0
  572. package/dist/app/chat/chat-first/session-watch-pane.d.ts +3 -0
  573. package/dist/app/chat/chat-first/session-watch-pane.d.ts.map +1 -0
  574. package/dist/app/chat/chat-first/session-watch-pane.js +10 -0
  575. package/dist/app/chat/chat-first/session-watch-pane.js.map +1 -0
  576. package/dist/app/chat/chat-first/surface-panel.d.ts +10 -0
  577. package/dist/app/chat/chat-first/surface-panel.d.ts.map +1 -0
  578. package/dist/app/chat/chat-first/surface-panel.js +10 -0
  579. package/dist/app/chat/chat-first/surface-panel.js.map +1 -0
  580. package/dist/app/chat/chat-first/surface-tabs.d.ts +10 -0
  581. package/dist/app/chat/chat-first/surface-tabs.d.ts.map +1 -0
  582. package/dist/app/chat/chat-first/surface-tabs.js +88 -0
  583. package/dist/app/chat/chat-first/surface-tabs.js.map +1 -0
  584. package/dist/app/chat/chat-first/types.d.ts +93 -0
  585. package/dist/app/chat/chat-first/types.d.ts.map +1 -0
  586. package/dist/app/chat/chat-first/types.js +2 -0
  587. package/dist/app/chat/chat-first/types.js.map +1 -0
  588. package/dist/app/chat/components/CodeAgentIndicator.d.ts +6 -0
  589. package/dist/app/chat/components/CodeAgentIndicator.d.ts.map +1 -0
  590. package/dist/app/chat/components/CodeAgentIndicator.js +22 -0
  591. package/dist/app/chat/components/CodeAgentIndicator.js.map +1 -0
  592. package/dist/app/chat/components/CodeRequiredDialog.d.ts +7 -0
  593. package/dist/app/chat/components/CodeRequiredDialog.d.ts.map +1 -0
  594. package/dist/app/chat/components/CodeRequiredDialog.js +251 -0
  595. package/dist/app/chat/components/CodeRequiredDialog.js.map +1 -0
  596. package/dist/app/chat/components/ui/button-classes.d.ts +2 -0
  597. package/dist/app/chat/components/ui/button-classes.d.ts.map +1 -0
  598. package/dist/app/chat/components/ui/button-classes.js +2 -0
  599. package/dist/app/chat/components/ui/button-classes.js.map +1 -0
  600. package/dist/app/chat/components/ui/message-scroller.d.ts +16 -0
  601. package/dist/app/chat/components/ui/message-scroller.d.ts.map +1 -0
  602. package/dist/app/chat/components/ui/message-scroller.js +30 -0
  603. package/dist/app/chat/components/ui/message-scroller.js.map +1 -0
  604. package/dist/app/chat/composer/assistant-ui-recovery.d.ts +36 -0
  605. package/dist/app/chat/composer/assistant-ui-recovery.d.ts.map +1 -0
  606. package/dist/app/chat/composer/assistant-ui-recovery.js +136 -0
  607. package/dist/app/chat/composer/assistant-ui-recovery.js.map +1 -0
  608. package/dist/app/chat/composer/index.d.ts +9 -0
  609. package/dist/app/chat/composer/index.d.ts.map +1 -0
  610. package/dist/app/chat/composer/index.js +9 -0
  611. package/dist/app/chat/composer/index.js.map +1 -0
  612. package/dist/app/chat/composer/model-runtime-adapters.d.ts +3 -0
  613. package/dist/app/chat/composer/model-runtime-adapters.d.ts.map +1 -0
  614. package/dist/app/chat/composer/model-runtime-adapters.js +15 -0
  615. package/dist/app/chat/composer/model-runtime-adapters.js.map +1 -0
  616. package/dist/app/chat/composer/runtime-adapters.d.ts +9 -0
  617. package/dist/app/chat/composer/runtime-adapters.d.ts.map +1 -0
  618. package/dist/app/chat/composer/runtime-adapters.js +80 -0
  619. package/dist/app/chat/composer/runtime-adapters.js.map +1 -0
  620. package/dist/app/chat/composer/use-agentkit-capabilities.d.ts +194 -0
  621. package/dist/app/chat/composer/use-agentkit-capabilities.d.ts.map +1 -0
  622. package/dist/app/chat/composer/use-agentkit-capabilities.js +89 -0
  623. package/dist/app/chat/composer/use-agentkit-capabilities.js.map +1 -0
  624. package/dist/app/chat/composer/use-agentkit-integration-menu.d.ts +9 -0
  625. package/dist/app/chat/composer/use-agentkit-integration-menu.d.ts.map +1 -0
  626. package/dist/app/chat/composer/use-agentkit-integration-menu.js +62 -0
  627. package/dist/app/chat/composer/use-agentkit-integration-menu.js.map +1 -0
  628. package/dist/app/chat/composer/use-mention-search.d.ts +7 -0
  629. package/dist/app/chat/composer/use-mention-search.d.ts.map +1 -0
  630. package/dist/app/chat/composer/use-mention-search.js +6 -0
  631. package/dist/app/chat/composer/use-mention-search.js.map +1 -0
  632. package/dist/app/chat/composer/use-send-to-agent-chat.d.ts +7 -0
  633. package/dist/app/chat/composer/use-send-to-agent-chat.d.ts.map +1 -0
  634. package/dist/app/chat/composer/use-send-to-agent-chat.js +11 -0
  635. package/dist/app/chat/composer/use-send-to-agent-chat.js.map +1 -0
  636. package/dist/app/chat/composer/wired-components.d.ts +11 -0
  637. package/dist/app/chat/composer/wired-components.d.ts.map +1 -0
  638. package/dist/app/chat/composer/wired-components.js +51 -0
  639. package/dist/app/chat/composer/wired-components.js.map +1 -0
  640. package/dist/app/chat/conversation/AgentConversation.d.ts +18 -0
  641. package/dist/app/chat/conversation/AgentConversation.d.ts.map +1 -0
  642. package/dist/app/chat/conversation/AgentConversation.js +206 -0
  643. package/dist/app/chat/conversation/AgentConversation.js.map +1 -0
  644. package/dist/app/chat/conversation/code-agent-transcript.d.ts +22 -0
  645. package/dist/app/chat/conversation/code-agent-transcript.d.ts.map +1 -0
  646. package/dist/app/chat/conversation/code-agent-transcript.js +207 -0
  647. package/dist/app/chat/conversation/code-agent-transcript.js.map +1 -0
  648. package/dist/app/chat/conversation/index.d.ts +5 -0
  649. package/dist/app/chat/conversation/index.d.ts.map +1 -0
  650. package/dist/app/chat/conversation/index.js +4 -0
  651. package/dist/app/chat/conversation/index.js.map +1 -0
  652. package/dist/app/chat/conversation/types.d.ts +67 -0
  653. package/dist/app/chat/conversation/types.d.ts.map +1 -0
  654. package/dist/app/chat/conversation/types.js +2 -0
  655. package/dist/app/chat/conversation/types.js.map +1 -0
  656. package/dist/app/chat/conversation/use-near-bottom-autoscroll.d.ts +30 -0
  657. package/dist/app/chat/conversation/use-near-bottom-autoscroll.d.ts.map +1 -0
  658. package/dist/app/chat/conversation/use-near-bottom-autoscroll.js +271 -0
  659. package/dist/app/chat/conversation/use-near-bottom-autoscroll.js.map +1 -0
  660. package/dist/app/chat/external-agent-host.d.ts +24 -0
  661. package/dist/app/chat/external-agent-host.d.ts.map +1 -0
  662. package/dist/app/chat/external-agent-host.js +343 -0
  663. package/dist/app/chat/external-agent-host.js.map +1 -0
  664. package/dist/app/chat/index.d.ts +26 -0
  665. package/dist/app/chat/index.d.ts.map +1 -0
  666. package/dist/app/chat/index.js +24 -0
  667. package/dist/app/chat/index.js.map +1 -0
  668. package/dist/app/chat/mcp-apps/McpAppRenderer.d.ts +18 -0
  669. package/dist/app/chat/mcp-apps/McpAppRenderer.d.ts.map +1 -0
  670. package/dist/app/chat/mcp-apps/McpAppRenderer.js +684 -0
  671. package/dist/app/chat/mcp-apps/McpAppRenderer.js.map +1 -0
  672. package/dist/app/chat/thinking-display.d.ts +17 -0
  673. package/dist/app/chat/thinking-display.d.ts.map +1 -0
  674. package/dist/app/chat/thinking-display.js +73 -0
  675. package/dist/app/chat/thinking-display.js.map +1 -0
  676. package/dist/app/chat/tool-cells/BashCell.d.ts +16 -0
  677. package/dist/app/chat/tool-cells/BashCell.d.ts.map +1 -0
  678. package/dist/app/chat/tool-cells/BashCell.js +38 -0
  679. package/dist/app/chat/tool-cells/BashCell.js.map +1 -0
  680. package/dist/app/chat/tool-cells/EditCell.d.ts +14 -0
  681. package/dist/app/chat/tool-cells/EditCell.d.ts.map +1 -0
  682. package/dist/app/chat/tool-cells/EditCell.js +110 -0
  683. package/dist/app/chat/tool-cells/EditCell.js.map +1 -0
  684. package/dist/app/chat/tool-cells/FilesChangedSummary.d.ts +7 -0
  685. package/dist/app/chat/tool-cells/FilesChangedSummary.d.ts.map +1 -0
  686. package/dist/app/chat/tool-cells/FilesChangedSummary.js +95 -0
  687. package/dist/app/chat/tool-cells/FilesChangedSummary.js.map +1 -0
  688. package/dist/app/chat/tool-cells/WriteCell.d.ts +14 -0
  689. package/dist/app/chat/tool-cells/WriteCell.d.ts.map +1 -0
  690. package/dist/app/chat/tool-cells/WriteCell.js +24 -0
  691. package/dist/app/chat/tool-cells/WriteCell.js.map +1 -0
  692. package/dist/app/chat/tool-cells/index.d.ts +8 -0
  693. package/dist/app/chat/tool-cells/index.d.ts.map +1 -0
  694. package/dist/app/chat/tool-cells/index.js +5 -0
  695. package/dist/app/chat/tool-cells/index.js.map +1 -0
  696. package/dist/app/context-xray/ContextMeter.d.ts +7 -0
  697. package/dist/app/context-xray/ContextMeter.d.ts.map +1 -0
  698. package/dist/app/context-xray/ContextMeter.js +70 -0
  699. package/dist/app/context-xray/ContextMeter.js.map +1 -0
  700. package/dist/app/context-xray/ContextSegmentRow.d.ts +9 -0
  701. package/dist/app/context-xray/ContextSegmentRow.d.ts.map +1 -0
  702. package/dist/app/context-xray/ContextSegmentRow.js +6 -0
  703. package/dist/app/context-xray/ContextSegmentRow.js.map +1 -0
  704. package/dist/app/context-xray/ContextTreemap.d.ts +7 -0
  705. package/dist/app/context-xray/ContextTreemap.d.ts.map +1 -0
  706. package/dist/app/context-xray/ContextTreemap.js +6 -0
  707. package/dist/app/context-xray/ContextTreemap.js.map +1 -0
  708. package/dist/app/context-xray/ContextXRayPanel.d.ts +9 -0
  709. package/dist/app/context-xray/ContextXRayPanel.d.ts.map +1 -0
  710. package/dist/app/context-xray/ContextXRayPanel.js +28 -0
  711. package/dist/app/context-xray/ContextXRayPanel.js.map +1 -0
  712. package/dist/app/context-xray/SegmentProvenancePopover.d.ts +7 -0
  713. package/dist/app/context-xray/SegmentProvenancePopover.d.ts.map +1 -0
  714. package/dist/app/context-xray/SegmentProvenancePopover.js +6 -0
  715. package/dist/app/context-xray/SegmentProvenancePopover.js.map +1 -0
  716. package/dist/app/context-xray/index.d.ts +6 -0
  717. package/dist/app/context-xray/index.d.ts.map +1 -0
  718. package/dist/app/context-xray/index.js +6 -0
  719. package/dist/app/context-xray/index.js.map +1 -0
  720. package/dist/app/db-admin/DataGrid.d.ts +34 -0
  721. package/dist/app/db-admin/DataGrid.d.ts.map +1 -0
  722. package/dist/app/db-admin/DataGrid.js +204 -0
  723. package/dist/app/db-admin/DataGrid.js.map +1 -0
  724. package/dist/app/db-admin/DbAdminPage.d.ts +10 -0
  725. package/dist/app/db-admin/DbAdminPage.d.ts.map +1 -0
  726. package/dist/app/db-admin/DbAdminPage.js +58 -0
  727. package/dist/app/db-admin/DbAdminPage.js.map +1 -0
  728. package/dist/app/db-admin/DevDatabaseLink.d.ts +6 -0
  729. package/dist/app/db-admin/DevDatabaseLink.d.ts.map +1 -0
  730. package/dist/app/db-admin/DevDatabaseLink.js +4 -0
  731. package/dist/app/db-admin/DevDatabaseLink.js.map +1 -0
  732. package/dist/app/db-admin/EditableCell.d.ts +18 -0
  733. package/dist/app/db-admin/EditableCell.d.ts.map +1 -0
  734. package/dist/app/db-admin/EditableCell.js +145 -0
  735. package/dist/app/db-admin/EditableCell.js.map +1 -0
  736. package/dist/app/db-admin/FilterBar.d.ts +8 -0
  737. package/dist/app/db-admin/FilterBar.d.ts.map +1 -0
  738. package/dist/app/db-admin/FilterBar.js +68 -0
  739. package/dist/app/db-admin/FilterBar.js.map +1 -0
  740. package/dist/app/db-admin/ResultsGrid.d.ts +6 -0
  741. package/dist/app/db-admin/ResultsGrid.d.ts.map +1 -0
  742. package/dist/app/db-admin/ResultsGrid.js +33 -0
  743. package/dist/app/db-admin/ResultsGrid.js.map +1 -0
  744. package/dist/app/db-admin/RowSidePanel.d.ts +12 -0
  745. package/dist/app/db-admin/RowSidePanel.d.ts.map +1 -0
  746. package/dist/app/db-admin/RowSidePanel.js +100 -0
  747. package/dist/app/db-admin/RowSidePanel.js.map +1 -0
  748. package/dist/app/db-admin/SqlEditor.d.ts +8 -0
  749. package/dist/app/db-admin/SqlEditor.d.ts.map +1 -0
  750. package/dist/app/db-admin/SqlEditor.js +318 -0
  751. package/dist/app/db-admin/SqlEditor.js.map +1 -0
  752. package/dist/app/db-admin/TableBrowser.d.ts +10 -0
  753. package/dist/app/db-admin/TableBrowser.d.ts.map +1 -0
  754. package/dist/app/db-admin/TableBrowser.js +56 -0
  755. package/dist/app/db-admin/TableBrowser.js.map +1 -0
  756. package/dist/app/db-admin/TableEditor.d.ts +10 -0
  757. package/dist/app/db-admin/TableEditor.d.ts.map +1 -0
  758. package/dist/app/db-admin/TableEditor.js +258 -0
  759. package/dist/app/db-admin/TableEditor.js.map +1 -0
  760. package/dist/app/db-admin/cell-format.d.ts +21 -0
  761. package/dist/app/db-admin/cell-format.d.ts.map +1 -0
  762. package/dist/app/db-admin/cell-format.js +188 -0
  763. package/dist/app/db-admin/cell-format.js.map +1 -0
  764. package/dist/app/db-admin/changeset.d.ts +36 -0
  765. package/dist/app/db-admin/changeset.d.ts.map +1 -0
  766. package/dist/app/db-admin/changeset.js +164 -0
  767. package/dist/app/db-admin/changeset.js.map +1 -0
  768. package/dist/app/db-admin/export-utils.d.ts +5 -0
  769. package/dist/app/db-admin/export-utils.d.ts.map +1 -0
  770. package/dist/app/db-admin/export-utils.js +53 -0
  771. package/dist/app/db-admin/export-utils.js.map +1 -0
  772. package/dist/app/db-admin/index.d.ts +7 -0
  773. package/dist/app/db-admin/index.d.ts.map +1 -0
  774. package/dist/app/db-admin/index.js +7 -0
  775. package/dist/app/db-admin/index.js.map +1 -0
  776. package/dist/app/db-admin/sql-storage.d.ts +16 -0
  777. package/dist/app/db-admin/sql-storage.d.ts.map +1 -0
  778. package/dist/app/db-admin/sql-storage.js +95 -0
  779. package/dist/app/db-admin/sql-storage.js.map +1 -0
  780. package/dist/app/db-admin/storage.d.ts +13 -0
  781. package/dist/app/db-admin/storage.d.ts.map +1 -0
  782. package/dist/app/db-admin/storage.js +47 -0
  783. package/dist/app/db-admin/storage.js.map +1 -0
  784. package/dist/app/db-admin/useAgentSync.d.ts +13 -0
  785. package/dist/app/db-admin/useAgentSync.d.ts.map +1 -0
  786. package/dist/app/db-admin/useAgentSync.js +142 -0
  787. package/dist/app/db-admin/useAgentSync.js.map +1 -0
  788. package/dist/app/db-admin/useDbAdmin.d.ts +23 -0
  789. package/dist/app/db-admin/useDbAdmin.d.ts.map +1 -0
  790. package/dist/app/db-admin/useDbAdmin.js +139 -0
  791. package/dist/app/db-admin/useDbAdmin.js.map +1 -0
  792. package/dist/app/dev-overlay/DevOverlay.d.ts +7 -0
  793. package/dist/app/dev-overlay/DevOverlay.d.ts.map +1 -0
  794. package/dist/app/dev-overlay/DevOverlay.js +296 -0
  795. package/dist/app/dev-overlay/DevOverlay.js.map +1 -0
  796. package/dist/app/dev-overlay/index.d.ts +2 -0
  797. package/dist/app/dev-overlay/index.d.ts.map +1 -0
  798. package/dist/app/dev-overlay/index.js +2 -0
  799. package/dist/app/dev-overlay/index.js.map +1 -0
  800. package/dist/app/eject/remote-mcp-presets.d.ts +18 -0
  801. package/dist/app/eject/remote-mcp-presets.d.ts.map +1 -0
  802. package/dist/app/eject/remote-mcp-presets.js +114 -0
  803. package/dist/app/eject/remote-mcp-presets.js.map +1 -0
  804. package/dist/app/eject/setup-readiness-ui.d.ts +5 -0
  805. package/dist/app/eject/setup-readiness-ui.d.ts.map +1 -0
  806. package/dist/app/eject/setup-readiness-ui.js +4 -0
  807. package/dist/app/eject/setup-readiness-ui.js.map +1 -0
  808. package/dist/app/extensions/AgentNativeExtensionFrame.d.ts +49 -0
  809. package/dist/app/extensions/AgentNativeExtensionFrame.d.ts.map +1 -0
  810. package/dist/app/extensions/AgentNativeExtensionFrame.js +355 -0
  811. package/dist/app/extensions/AgentNativeExtensionFrame.js.map +1 -0
  812. package/dist/app/extensions/EmbeddedExtension.d.ts +12 -0
  813. package/dist/app/extensions/EmbeddedExtension.d.ts.map +1 -0
  814. package/dist/app/extensions/EmbeddedExtension.js +377 -0
  815. package/dist/app/extensions/EmbeddedExtension.js.map +1 -0
  816. package/dist/app/extensions/ExtensionEditor.d.ts +5 -0
  817. package/dist/app/extensions/ExtensionEditor.d.ts.map +1 -0
  818. package/dist/app/extensions/ExtensionEditor.js +173 -0
  819. package/dist/app/extensions/ExtensionEditor.js.map +1 -0
  820. package/dist/app/extensions/ExtensionQueryErrorState.d.ts +8 -0
  821. package/dist/app/extensions/ExtensionQueryErrorState.d.ts.map +1 -0
  822. package/dist/app/extensions/ExtensionQueryErrorState.js +11 -0
  823. package/dist/app/extensions/ExtensionQueryErrorState.js.map +1 -0
  824. package/dist/app/extensions/ExtensionSlot.d.ts +10 -0
  825. package/dist/app/extensions/ExtensionSlot.d.ts.map +1 -0
  826. package/dist/app/extensions/ExtensionSlot.js +146 -0
  827. package/dist/app/extensions/ExtensionSlot.js.map +1 -0
  828. package/dist/app/extensions/ExtensionViewer.d.ts +5 -0
  829. package/dist/app/extensions/ExtensionViewer.d.ts.map +1 -0
  830. package/dist/app/extensions/ExtensionViewer.js +789 -0
  831. package/dist/app/extensions/ExtensionViewer.js.map +1 -0
  832. package/dist/app/extensions/ExtensionViewerPage.d.ts +2 -0
  833. package/dist/app/extensions/ExtensionViewerPage.d.ts.map +1 -0
  834. package/dist/app/extensions/ExtensionViewerPage.js +31 -0
  835. package/dist/app/extensions/ExtensionViewerPage.js.map +1 -0
  836. package/dist/app/extensions/ExtensionsListPage.d.ts +5 -0
  837. package/dist/app/extensions/ExtensionsListPage.d.ts.map +1 -0
  838. package/dist/app/extensions/ExtensionsListPage.js +142 -0
  839. package/dist/app/extensions/ExtensionsListPage.js.map +1 -0
  840. package/dist/app/extensions/ExtensionsSidebarSection.d.ts +2 -0
  841. package/dist/app/extensions/ExtensionsSidebarSection.d.ts.map +1 -0
  842. package/dist/app/extensions/ExtensionsSidebarSection.js +729 -0
  843. package/dist/app/extensions/ExtensionsSidebarSection.js.map +1 -0
  844. package/dist/app/extensions/InlineExtensionFrame.d.ts +25 -0
  845. package/dist/app/extensions/InlineExtensionFrame.d.ts.map +1 -0
  846. package/dist/app/extensions/InlineExtensionFrame.js +518 -0
  847. package/dist/app/extensions/InlineExtensionFrame.js.map +1 -0
  848. package/dist/app/extensions/delete-extension.d.ts +12 -0
  849. package/dist/app/extensions/delete-extension.d.ts.map +1 -0
  850. package/dist/app/extensions/delete-extension.js +51 -0
  851. package/dist/app/extensions/delete-extension.js.map +1 -0
  852. package/dist/app/extensions/extension-load-error.d.ts +7 -0
  853. package/dist/app/extensions/extension-load-error.d.ts.map +1 -0
  854. package/dist/app/extensions/extension-load-error.js +19 -0
  855. package/dist/app/extensions/extension-load-error.js.map +1 -0
  856. package/dist/app/extensions/extension-order.d.ts +7 -0
  857. package/dist/app/extensions/extension-order.d.ts.map +1 -0
  858. package/dist/app/extensions/extension-order.js +47 -0
  859. package/dist/app/extensions/extension-order.js.map +1 -0
  860. package/dist/app/extensions/extension-popularity.d.ts +5 -0
  861. package/dist/app/extensions/extension-popularity.d.ts.map +1 -0
  862. package/dist/app/extensions/extension-popularity.js +52 -0
  863. package/dist/app/extensions/extension-popularity.js.map +1 -0
  864. package/dist/app/extensions/iframe-bridge.d.ts +21 -0
  865. package/dist/app/extensions/iframe-bridge.d.ts.map +1 -0
  866. package/dist/app/extensions/iframe-bridge.js +238 -0
  867. package/dist/app/extensions/iframe-bridge.js.map +1 -0
  868. package/dist/app/extensions/index.d.ts +19 -0
  869. package/dist/app/extensions/index.d.ts.map +1 -0
  870. package/dist/app/extensions/index.js +19 -0
  871. package/dist/app/extensions/index.js.map +1 -0
  872. package/dist/app/extensions/portable-extension.d.ts +81 -0
  873. package/dist/app/extensions/portable-extension.d.ts.map +1 -0
  874. package/dist/app/extensions/portable-extension.js +799 -0
  875. package/dist/app/extensions/portable-extension.js.map +1 -0
  876. package/dist/app/feature-flags/FeatureFlagsPanel.d.ts +10 -0
  877. package/dist/app/feature-flags/FeatureFlagsPanel.d.ts.map +1 -0
  878. package/dist/app/feature-flags/FeatureFlagsPanel.js +154 -0
  879. package/dist/app/feature-flags/FeatureFlagsPanel.js.map +1 -0
  880. package/dist/app/feature-flags/index.d.ts +2 -0
  881. package/dist/app/feature-flags/index.d.ts.map +1 -0
  882. package/dist/app/feature-flags/index.js +2 -0
  883. package/dist/app/feature-flags/index.js.map +1 -0
  884. package/dist/app/feedback/ErrorReportActions.d.ts +13 -0
  885. package/dist/app/feedback/ErrorReportActions.d.ts.map +1 -0
  886. package/dist/app/feedback/ErrorReportActions.js +14 -0
  887. package/dist/app/feedback/ErrorReportActions.js.map +1 -0
  888. package/dist/app/feedback/FeedbackButton.d.ts +31 -0
  889. package/dist/app/feedback/FeedbackButton.d.ts.map +1 -0
  890. package/dist/app/feedback/FeedbackButton.js +423 -0
  891. package/dist/app/feedback/FeedbackButton.js.map +1 -0
  892. package/dist/app/feedback/index.d.ts +4 -0
  893. package/dist/app/feedback/index.d.ts.map +1 -0
  894. package/dist/app/feedback/index.js +4 -0
  895. package/dist/app/feedback/index.js.map +1 -0
  896. package/dist/app/i18n/catalog.d.ts +5 -0
  897. package/dist/app/i18n/catalog.d.ts.map +1 -0
  898. package/dist/app/i18n/catalog.js +109 -0
  899. package/dist/app/i18n/catalog.js.map +1 -0
  900. package/dist/app/i18n/catalogs/ar-SA.d.ts +4 -0
  901. package/dist/app/i18n/catalogs/ar-SA.d.ts.map +1 -0
  902. package/dist/app/i18n/catalogs/ar-SA.js +2219 -0
  903. package/dist/app/i18n/catalogs/ar-SA.js.map +1 -0
  904. package/dist/app/i18n/catalogs/de-DE.d.ts +4 -0
  905. package/dist/app/i18n/catalogs/de-DE.d.ts.map +1 -0
  906. package/dist/app/i18n/catalogs/de-DE.js +2147 -0
  907. package/dist/app/i18n/catalogs/de-DE.js.map +1 -0
  908. package/dist/app/i18n/catalogs/en-US.d.ts +2147 -0
  909. package/dist/app/i18n/catalogs/en-US.d.ts.map +1 -0
  910. package/dist/app/i18n/catalogs/en-US.js +2147 -0
  911. package/dist/app/i18n/catalogs/en-US.js.map +1 -0
  912. package/dist/app/i18n/catalogs/es-ES.d.ts +4 -0
  913. package/dist/app/i18n/catalogs/es-ES.d.ts.map +1 -0
  914. package/dist/app/i18n/catalogs/es-ES.js +2165 -0
  915. package/dist/app/i18n/catalogs/es-ES.js.map +1 -0
  916. package/dist/app/i18n/catalogs/fr-FR.d.ts +4 -0
  917. package/dist/app/i18n/catalogs/fr-FR.d.ts.map +1 -0
  918. package/dist/app/i18n/catalogs/fr-FR.js +2165 -0
  919. package/dist/app/i18n/catalogs/fr-FR.js.map +1 -0
  920. package/dist/app/i18n/catalogs/hi-IN.d.ts +4 -0
  921. package/dist/app/i18n/catalogs/hi-IN.d.ts.map +1 -0
  922. package/dist/app/i18n/catalogs/hi-IN.js +2147 -0
  923. package/dist/app/i18n/catalogs/hi-IN.js.map +1 -0
  924. package/dist/app/i18n/catalogs/ja-JP.d.ts +4 -0
  925. package/dist/app/i18n/catalogs/ja-JP.d.ts.map +1 -0
  926. package/dist/app/i18n/catalogs/ja-JP.js +2130 -0
  927. package/dist/app/i18n/catalogs/ja-JP.js.map +1 -0
  928. package/dist/app/i18n/catalogs/ko-KR.d.ts +4 -0
  929. package/dist/app/i18n/catalogs/ko-KR.d.ts.map +1 -0
  930. package/dist/app/i18n/catalogs/ko-KR.js +2130 -0
  931. package/dist/app/i18n/catalogs/ko-KR.js.map +1 -0
  932. package/dist/app/i18n/catalogs/pt-BR.d.ts +4 -0
  933. package/dist/app/i18n/catalogs/pt-BR.d.ts.map +1 -0
  934. package/dist/app/i18n/catalogs/pt-BR.js +2165 -0
  935. package/dist/app/i18n/catalogs/pt-BR.js.map +1 -0
  936. package/dist/app/i18n/catalogs/zh-CN.d.ts +4 -0
  937. package/dist/app/i18n/catalogs/zh-CN.d.ts.map +1 -0
  938. package/dist/app/i18n/catalogs/zh-CN.js +2130 -0
  939. package/dist/app/i18n/catalogs/zh-CN.js.map +1 -0
  940. package/dist/app/i18n/catalogs/zh-TW.d.ts +4 -0
  941. package/dist/app/i18n/catalogs/zh-TW.d.ts.map +1 -0
  942. package/dist/app/i18n/catalogs/zh-TW.js +2130 -0
  943. package/dist/app/i18n/catalogs/zh-TW.js.map +1 -0
  944. package/dist/app/i18n/types.d.ts +8 -0
  945. package/dist/app/i18n/types.d.ts.map +1 -0
  946. package/dist/app/i18n/types.js +2 -0
  947. package/dist/app/i18n/types.js.map +1 -0
  948. package/dist/app/i18n.d.ts +13 -0
  949. package/dist/app/i18n.d.ts.map +1 -0
  950. package/dist/app/i18n.js +49 -0
  951. package/dist/app/i18n.js.map +1 -0
  952. package/dist/app/integrations/BuilderIntegrationPage.d.ts +12 -0
  953. package/dist/app/integrations/BuilderIntegrationPage.d.ts.map +1 -0
  954. package/dist/app/integrations/BuilderIntegrationPage.js +304 -0
  955. package/dist/app/integrations/BuilderIntegrationPage.js.map +1 -0
  956. package/dist/app/integrations/ChannelsPage.d.ts +16 -0
  957. package/dist/app/integrations/ChannelsPage.d.ts.map +1 -0
  958. package/dist/app/integrations/ChannelsPage.js +384 -0
  959. package/dist/app/integrations/ChannelsPage.js.map +1 -0
  960. package/dist/app/integrations/GoogleProductLogo.d.ts +6 -0
  961. package/dist/app/integrations/GoogleProductLogo.d.ts.map +1 -0
  962. package/dist/app/integrations/GoogleProductLogo.js +46 -0
  963. package/dist/app/integrations/GoogleProductLogo.js.map +1 -0
  964. package/dist/app/integrations/IntegrationConnectionChoice.d.ts +17 -0
  965. package/dist/app/integrations/IntegrationConnectionChoice.d.ts.map +1 -0
  966. package/dist/app/integrations/IntegrationConnectionChoice.js +11 -0
  967. package/dist/app/integrations/IntegrationConnectionChoice.js.map +1 -0
  968. package/dist/app/integrations/IntegrationDetailPage.d.ts +15 -0
  969. package/dist/app/integrations/IntegrationDetailPage.d.ts.map +1 -0
  970. package/dist/app/integrations/IntegrationDetailPage.js +337 -0
  971. package/dist/app/integrations/IntegrationDetailPage.js.map +1 -0
  972. package/dist/app/integrations/IntegrationDetailParts.d.ts +56 -0
  973. package/dist/app/integrations/IntegrationDetailParts.d.ts.map +1 -0
  974. package/dist/app/integrations/IntegrationDetailParts.js +69 -0
  975. package/dist/app/integrations/IntegrationDetailParts.js.map +1 -0
  976. package/dist/app/integrations/IntegrationGrid.d.ts +25 -0
  977. package/dist/app/integrations/IntegrationGrid.d.ts.map +1 -0
  978. package/dist/app/integrations/IntegrationGrid.js +22 -0
  979. package/dist/app/integrations/IntegrationGrid.js.map +1 -0
  980. package/dist/app/integrations/IntegrationsPage.d.ts +23 -0
  981. package/dist/app/integrations/IntegrationsPage.d.ts.map +1 -0
  982. package/dist/app/integrations/IntegrationsPage.js +241 -0
  983. package/dist/app/integrations/IntegrationsPage.js.map +1 -0
  984. package/dist/app/integrations/IntegrationsPanel.d.ts +70 -0
  985. package/dist/app/integrations/IntegrationsPanel.d.ts.map +1 -0
  986. package/dist/app/integrations/IntegrationsPanel.js +663 -0
  987. package/dist/app/integrations/IntegrationsPanel.js.map +1 -0
  988. package/dist/app/integrations/channel-extensions.d.ts +30 -0
  989. package/dist/app/integrations/channel-extensions.d.ts.map +1 -0
  990. package/dist/app/integrations/channel-extensions.js +48 -0
  991. package/dist/app/integrations/channel-extensions.js.map +1 -0
  992. package/dist/app/integrations/channel-icons.d.ts +9 -0
  993. package/dist/app/integrations/channel-icons.d.ts.map +1 -0
  994. package/dist/app/integrations/channel-icons.js +15 -0
  995. package/dist/app/integrations/channel-icons.js.map +1 -0
  996. package/dist/app/integrations/index.d.ts +13 -0
  997. package/dist/app/integrations/index.d.ts.map +1 -0
  998. package/dist/app/integrations/index.js +13 -0
  999. package/dist/app/integrations/index.js.map +1 -0
  1000. package/dist/app/integrations/settings-page-link.d.ts +18 -0
  1001. package/dist/app/integrations/settings-page-link.d.ts.map +1 -0
  1002. package/dist/app/integrations/settings-page-link.js +32 -0
  1003. package/dist/app/integrations/settings-page-link.js.map +1 -0
  1004. package/dist/app/labs/ExperimentsSettings.d.ts +9 -0
  1005. package/dist/app/labs/ExperimentsSettings.d.ts.map +1 -0
  1006. package/dist/app/labs/ExperimentsSettings.js +6 -0
  1007. package/dist/app/labs/ExperimentsSettings.js.map +1 -0
  1008. package/dist/app/labs/LabsSettings.d.ts +15 -0
  1009. package/dist/app/labs/LabsSettings.d.ts.map +1 -0
  1010. package/dist/app/labs/LabsSettings.js +72 -0
  1011. package/dist/app/labs/LabsSettings.js.map +1 -0
  1012. package/dist/app/labs/index.d.ts +3 -0
  1013. package/dist/app/labs/index.d.ts.map +1 -0
  1014. package/dist/app/labs/index.js +3 -0
  1015. package/dist/app/labs/index.js.map +1 -0
  1016. package/dist/app/notifications/NotificationsBell.d.ts +11 -0
  1017. package/dist/app/notifications/NotificationsBell.d.ts.map +1 -0
  1018. package/dist/app/notifications/NotificationsBell.js +190 -0
  1019. package/dist/app/notifications/NotificationsBell.js.map +1 -0
  1020. package/dist/app/notifications/index.d.ts +2 -0
  1021. package/dist/app/notifications/index.d.ts.map +1 -0
  1022. package/dist/app/notifications/index.js +2 -0
  1023. package/dist/app/notifications/index.js.map +1 -0
  1024. package/dist/app/observability/ObservabilityDashboard.d.ts +31 -0
  1025. package/dist/app/observability/ObservabilityDashboard.d.ts.map +1 -0
  1026. package/dist/app/observability/ObservabilityDashboard.js +1210 -0
  1027. package/dist/app/observability/ObservabilityDashboard.js.map +1 -0
  1028. package/dist/app/observability/ObservabilityReviewSummaryButton.d.ts +12 -0
  1029. package/dist/app/observability/ObservabilityReviewSummaryButton.d.ts.map +1 -0
  1030. package/dist/app/observability/ObservabilityReviewSummaryButton.js +61 -0
  1031. package/dist/app/observability/ObservabilityReviewSummaryButton.js.map +1 -0
  1032. package/dist/app/observability/OutputPreview.d.ts +51 -0
  1033. package/dist/app/observability/OutputPreview.d.ts.map +1 -0
  1034. package/dist/app/observability/OutputPreview.js +572 -0
  1035. package/dist/app/observability/OutputPreview.js.map +1 -0
  1036. package/dist/app/observability/ThumbsFeedback.d.ts +8 -0
  1037. package/dist/app/observability/ThumbsFeedback.d.ts.map +1 -0
  1038. package/dist/app/observability/ThumbsFeedback.js +185 -0
  1039. package/dist/app/observability/ThumbsFeedback.js.map +1 -0
  1040. package/dist/app/observability/index.d.ts +4 -0
  1041. package/dist/app/observability/index.d.ts.map +1 -0
  1042. package/dist/app/observability/index.js +4 -0
  1043. package/dist/app/observability/index.js.map +1 -0
  1044. package/dist/app/observability/useObservability.d.ts +168 -0
  1045. package/dist/app/observability/useObservability.d.ts.map +1 -0
  1046. package/dist/app/observability/useObservability.js +200 -0
  1047. package/dist/app/observability/useObservability.js.map +1 -0
  1048. package/dist/app/onboarding/FirstRunOnboarding.d.ts +14 -0
  1049. package/dist/app/onboarding/FirstRunOnboarding.d.ts.map +1 -0
  1050. package/dist/app/onboarding/FirstRunOnboarding.js +540 -0
  1051. package/dist/app/onboarding/FirstRunOnboarding.js.map +1 -0
  1052. package/dist/app/onboarding/NewWorkspaceAppFlow.d.ts +23 -0
  1053. package/dist/app/onboarding/NewWorkspaceAppFlow.d.ts.map +1 -0
  1054. package/dist/app/onboarding/NewWorkspaceAppFlow.js +312 -0
  1055. package/dist/app/onboarding/NewWorkspaceAppFlow.js.map +1 -0
  1056. package/dist/app/onboarding/OnboardingBanner.d.ts +8 -0
  1057. package/dist/app/onboarding/OnboardingBanner.d.ts.map +1 -0
  1058. package/dist/app/onboarding/OnboardingBanner.js +36 -0
  1059. package/dist/app/onboarding/OnboardingBanner.js.map +1 -0
  1060. package/dist/app/onboarding/OnboardingPanel.d.ts +8 -0
  1061. package/dist/app/onboarding/OnboardingPanel.d.ts.map +1 -0
  1062. package/dist/app/onboarding/OnboardingPanel.js +521 -0
  1063. package/dist/app/onboarding/OnboardingPanel.js.map +1 -0
  1064. package/dist/app/onboarding/OnboardingStepLayout.d.ts +12 -0
  1065. package/dist/app/onboarding/OnboardingStepLayout.d.ts.map +1 -0
  1066. package/dist/app/onboarding/OnboardingStepLayout.js +7 -0
  1067. package/dist/app/onboarding/OnboardingStepLayout.js.map +1 -0
  1068. package/dist/app/onboarding/SetupButton.d.ts +4 -0
  1069. package/dist/app/onboarding/SetupButton.d.ts.map +1 -0
  1070. package/dist/app/onboarding/SetupButton.js +37 -0
  1071. package/dist/app/onboarding/SetupButton.js.map +1 -0
  1072. package/dist/app/onboarding/first-run-startup-gate.d.ts +8 -0
  1073. package/dist/app/onboarding/first-run-startup-gate.d.ts.map +1 -0
  1074. package/dist/app/onboarding/first-run-startup-gate.js +85 -0
  1075. package/dist/app/onboarding/first-run-startup-gate.js.map +1 -0
  1076. package/dist/app/onboarding/index.d.ts +8 -0
  1077. package/dist/app/onboarding/index.d.ts.map +1 -0
  1078. package/dist/app/onboarding/index.js +8 -0
  1079. package/dist/app/onboarding/index.js.map +1 -0
  1080. package/dist/app/org/AppsAccessSection.d.ts +12 -0
  1081. package/dist/app/org/AppsAccessSection.d.ts.map +1 -0
  1082. package/dist/app/org/AppsAccessSection.js +47 -0
  1083. package/dist/app/org/AppsAccessSection.js.map +1 -0
  1084. package/dist/app/org/AuthenticationSection.d.ts +15 -0
  1085. package/dist/app/org/AuthenticationSection.d.ts.map +1 -0
  1086. package/dist/app/org/AuthenticationSection.js +179 -0
  1087. package/dist/app/org/AuthenticationSection.js.map +1 -0
  1088. package/dist/app/org/BulkInviteForm.d.ts +8 -0
  1089. package/dist/app/org/BulkInviteForm.d.ts.map +1 -0
  1090. package/dist/app/org/BulkInviteForm.js +185 -0
  1091. package/dist/app/org/BulkInviteForm.js.map +1 -0
  1092. package/dist/app/org/GroupsSection.d.ts +37 -0
  1093. package/dist/app/org/GroupsSection.d.ts.map +1 -0
  1094. package/dist/app/org/GroupsSection.js +152 -0
  1095. package/dist/app/org/GroupsSection.js.map +1 -0
  1096. package/dist/app/org/InvitationBanner.d.ts +5 -0
  1097. package/dist/app/org/InvitationBanner.d.ts.map +1 -0
  1098. package/dist/app/org/InvitationBanner.js +49 -0
  1099. package/dist/app/org/InvitationBanner.js.map +1 -0
  1100. package/dist/app/org/MemberAppRoles.d.ts +12 -0
  1101. package/dist/app/org/MemberAppRoles.d.ts.map +1 -0
  1102. package/dist/app/org/MemberAppRoles.js +100 -0
  1103. package/dist/app/org/MemberAppRoles.js.map +1 -0
  1104. package/dist/app/org/MembersSection.d.ts +75 -0
  1105. package/dist/app/org/MembersSection.d.ts.map +1 -0
  1106. package/dist/app/org/MembersSection.js +267 -0
  1107. package/dist/app/org/MembersSection.js.map +1 -0
  1108. package/dist/app/org/OrgGeneralSection.d.ts +29 -0
  1109. package/dist/app/org/OrgGeneralSection.d.ts.map +1 -0
  1110. package/dist/app/org/OrgGeneralSection.js +183 -0
  1111. package/dist/app/org/OrgGeneralSection.js.map +1 -0
  1112. package/dist/app/org/OrgIdentitySettings.d.ts +12 -0
  1113. package/dist/app/org/OrgIdentitySettings.d.ts.map +1 -0
  1114. package/dist/app/org/OrgIdentitySettings.js +124 -0
  1115. package/dist/app/org/OrgIdentitySettings.js.map +1 -0
  1116. package/dist/app/org/OrgSwitcher.d.ts +58 -0
  1117. package/dist/app/org/OrgSwitcher.d.ts.map +1 -0
  1118. package/dist/app/org/OrgSwitcher.js +273 -0
  1119. package/dist/app/org/OrgSwitcher.js.map +1 -0
  1120. package/dist/app/org/RequireActiveOrg.d.ts +9 -0
  1121. package/dist/app/org/RequireActiveOrg.d.ts.map +1 -0
  1122. package/dist/app/org/RequireActiveOrg.js +59 -0
  1123. package/dist/app/org/RequireActiveOrg.js.map +1 -0
  1124. package/dist/app/org/RequirePermission.d.ts +8 -0
  1125. package/dist/app/org/RequirePermission.d.ts.map +1 -0
  1126. package/dist/app/org/RequirePermission.js +6 -0
  1127. package/dist/app/org/RequirePermission.js.map +1 -0
  1128. package/dist/app/org/SuccessorPicker.d.ts +19 -0
  1129. package/dist/app/org/SuccessorPicker.d.ts.map +1 -0
  1130. package/dist/app/org/SuccessorPicker.js +48 -0
  1131. package/dist/app/org/SuccessorPicker.js.map +1 -0
  1132. package/dist/app/org/TeamOnboardingCards.d.ts +10 -0
  1133. package/dist/app/org/TeamOnboardingCards.d.ts.map +1 -0
  1134. package/dist/app/org/TeamOnboardingCards.js +55 -0
  1135. package/dist/app/org/TeamOnboardingCards.js.map +1 -0
  1136. package/dist/app/org/TeamPage.d.ts +16 -0
  1137. package/dist/app/org/TeamPage.d.ts.map +1 -0
  1138. package/dist/app/org/TeamPage.js +36 -0
  1139. package/dist/app/org/TeamPage.js.map +1 -0
  1140. package/dist/app/org/TeamPrimitives.d.ts +25 -0
  1141. package/dist/app/org/TeamPrimitives.d.ts.map +1 -0
  1142. package/dist/app/org/TeamPrimitives.js +41 -0
  1143. package/dist/app/org/TeamPrimitives.js.map +1 -0
  1144. package/dist/app/org/WorkspaceNotice.d.ts +4 -0
  1145. package/dist/app/org/WorkspaceNotice.d.ts.map +1 -0
  1146. package/dist/app/org/WorkspaceNotice.js +44 -0
  1147. package/dist/app/org/WorkspaceNotice.js.map +1 -0
  1148. package/dist/app/org/index.d.ts +23 -0
  1149. package/dist/app/org/index.d.ts.map +1 -0
  1150. package/dist/app/org/index.js +20 -0
  1151. package/dist/app/org/index.js.map +1 -0
  1152. package/dist/app/org/pages/OrgAppsPage.d.ts +6 -0
  1153. package/dist/app/org/pages/OrgAppsPage.d.ts.map +1 -0
  1154. package/dist/app/org/pages/OrgAppsPage.js +59 -0
  1155. package/dist/app/org/pages/OrgAppsPage.js.map +1 -0
  1156. package/dist/app/org/pages/OrgAuthenticationPage.d.ts +10 -0
  1157. package/dist/app/org/pages/OrgAuthenticationPage.d.ts.map +1 -0
  1158. package/dist/app/org/pages/OrgAuthenticationPage.js +60 -0
  1159. package/dist/app/org/pages/OrgAuthenticationPage.js.map +1 -0
  1160. package/dist/app/org/pages/OrgGeneralPage.d.ts +3 -0
  1161. package/dist/app/org/pages/OrgGeneralPage.d.ts.map +1 -0
  1162. package/dist/app/org/pages/OrgGeneralPage.js +97 -0
  1163. package/dist/app/org/pages/OrgGeneralPage.js.map +1 -0
  1164. package/dist/app/org/pages/OrgMembersPage.d.ts +11 -0
  1165. package/dist/app/org/pages/OrgMembersPage.d.ts.map +1 -0
  1166. package/dist/app/org/pages/OrgMembersPage.js +152 -0
  1167. package/dist/app/org/pages/OrgMembersPage.js.map +1 -0
  1168. package/dist/app/org/pages/OrgPageGate.d.ts +20 -0
  1169. package/dist/app/org/pages/OrgPageGate.d.ts.map +1 -0
  1170. package/dist/app/org/pages/OrgPageGate.js +38 -0
  1171. package/dist/app/org/pages/OrgPageGate.js.map +1 -0
  1172. package/dist/app/org/workspace-app-links.d.ts +38 -0
  1173. package/dist/app/org/workspace-app-links.d.ts.map +1 -0
  1174. package/dist/app/org/workspace-app-links.js +312 -0
  1175. package/dist/app/org/workspace-app-links.js.map +1 -0
  1176. package/dist/app/progress/RunsTray.d.ts +17 -0
  1177. package/dist/app/progress/RunsTray.d.ts.map +1 -0
  1178. package/dist/app/progress/RunsTray.js +366 -0
  1179. package/dist/app/progress/RunsTray.js.map +1 -0
  1180. package/dist/app/progress/index.d.ts +2 -0
  1181. package/dist/app/progress/index.d.ts.map +1 -0
  1182. package/dist/app/progress/index.js +2 -0
  1183. package/dist/app/progress/index.js.map +1 -0
  1184. package/dist/app/providers/AppProviders.d.ts +30 -0
  1185. package/dist/app/providers/AppProviders.d.ts.map +1 -0
  1186. package/dist/app/providers/AppProviders.js +233 -0
  1187. package/dist/app/providers/AppProviders.js.map +1 -0
  1188. package/dist/app/providers/index.d.ts +2 -0
  1189. package/dist/app/providers/index.d.ts.map +1 -0
  1190. package/dist/app/providers/index.js +2 -0
  1191. package/dist/app/providers/index.js.map +1 -0
  1192. package/dist/app/resources/BuiltinCapabilityDetail.d.ts +11 -0
  1193. package/dist/app/resources/BuiltinCapabilityDetail.d.ts.map +1 -0
  1194. package/dist/app/resources/BuiltinCapabilityDetail.js +51 -0
  1195. package/dist/app/resources/BuiltinCapabilityDetail.js.map +1 -0
  1196. package/dist/app/resources/McpAccessSettings.d.ts +11 -0
  1197. package/dist/app/resources/McpAccessSettings.d.ts.map +1 -0
  1198. package/dist/app/resources/McpAccessSettings.js +118 -0
  1199. package/dist/app/resources/McpAccessSettings.js.map +1 -0
  1200. package/dist/app/resources/McpAgentKitConnectionRequest.d.ts +22 -0
  1201. package/dist/app/resources/McpAgentKitConnectionRequest.d.ts.map +1 -0
  1202. package/dist/app/resources/McpAgentKitConnectionRequest.js +42 -0
  1203. package/dist/app/resources/McpAgentKitConnectionRequest.js.map +1 -0
  1204. package/dist/app/resources/McpConnectionSuggestion.d.ts +19 -0
  1205. package/dist/app/resources/McpConnectionSuggestion.d.ts.map +1 -0
  1206. package/dist/app/resources/McpConnectionSuggestion.js +207 -0
  1207. package/dist/app/resources/McpConnectionSuggestion.js.map +1 -0
  1208. package/dist/app/resources/McpIntegrationDialog.d.ts +21 -0
  1209. package/dist/app/resources/McpIntegrationDialog.d.ts.map +1 -0
  1210. package/dist/app/resources/McpIntegrationDialog.js +694 -0
  1211. package/dist/app/resources/McpIntegrationDialog.js.map +1 -0
  1212. package/dist/app/resources/McpIntegrationDialogDeferred.d.ts +6 -0
  1213. package/dist/app/resources/McpIntegrationDialogDeferred.d.ts.map +1 -0
  1214. package/dist/app/resources/McpIntegrationDialogDeferred.js +17 -0
  1215. package/dist/app/resources/McpIntegrationDialogDeferred.js.map +1 -0
  1216. package/dist/app/resources/McpIntegrationLogo.d.ts +12 -0
  1217. package/dist/app/resources/McpIntegrationLogo.d.ts.map +1 -0
  1218. package/dist/app/resources/McpIntegrationLogo.js +15 -0
  1219. package/dist/app/resources/McpIntegrationLogo.js.map +1 -0
  1220. package/dist/app/resources/McpServerDetail.d.ts +8 -0
  1221. package/dist/app/resources/McpServerDetail.d.ts.map +1 -0
  1222. package/dist/app/resources/McpServerDetail.js +59 -0
  1223. package/dist/app/resources/McpServerDetail.js.map +1 -0
  1224. package/dist/app/resources/ResourceEditor.d.ts +12 -0
  1225. package/dist/app/resources/ResourceEditor.d.ts.map +1 -0
  1226. package/dist/app/resources/ResourceEditor.js +442 -0
  1227. package/dist/app/resources/ResourceEditor.js.map +1 -0
  1228. package/dist/app/resources/ResourceSettingsGroups.d.ts +71 -0
  1229. package/dist/app/resources/ResourceSettingsGroups.d.ts.map +1 -0
  1230. package/dist/app/resources/ResourceSettingsGroups.js +163 -0
  1231. package/dist/app/resources/ResourceSettingsGroups.js.map +1 -0
  1232. package/dist/app/resources/ResourceTree.d.ts +31 -0
  1233. package/dist/app/resources/ResourceTree.d.ts.map +1 -0
  1234. package/dist/app/resources/ResourceTree.js +271 -0
  1235. package/dist/app/resources/ResourceTree.js.map +1 -0
  1236. package/dist/app/resources/ResourcesPanel.d.ts +92 -0
  1237. package/dist/app/resources/ResourcesPanel.d.ts.map +1 -0
  1238. package/dist/app/resources/ResourcesPanel.js +1151 -0
  1239. package/dist/app/resources/ResourcesPanel.js.map +1 -0
  1240. package/dist/app/resources/index.d.ts +13 -0
  1241. package/dist/app/resources/index.d.ts.map +1 -0
  1242. package/dist/app/resources/index.js +13 -0
  1243. package/dist/app/resources/index.js.map +1 -0
  1244. package/dist/app/review/InlineMarkdown.d.ts +20 -0
  1245. package/dist/app/review/InlineMarkdown.d.ts.map +1 -0
  1246. package/dist/app/review/InlineMarkdown.js +68 -0
  1247. package/dist/app/review/InlineMarkdown.js.map +1 -0
  1248. package/dist/app/review/ReviewCommentComposer.d.ts +33 -0
  1249. package/dist/app/review/ReviewCommentComposer.d.ts.map +1 -0
  1250. package/dist/app/review/ReviewCommentComposer.js +215 -0
  1251. package/dist/app/review/ReviewCommentComposer.js.map +1 -0
  1252. package/dist/app/review/ReviewStatusBadge.d.ts +7 -0
  1253. package/dist/app/review/ReviewStatusBadge.d.ts.map +1 -0
  1254. package/dist/app/review/ReviewStatusBadge.js +19 -0
  1255. package/dist/app/review/ReviewStatusBadge.js.map +1 -0
  1256. package/dist/app/review/ReviewThreadPanel.d.ts +88 -0
  1257. package/dist/app/review/ReviewThreadPanel.d.ts.map +1 -0
  1258. package/dist/app/review/ReviewThreadPanel.js +742 -0
  1259. package/dist/app/review/ReviewThreadPanel.js.map +1 -0
  1260. package/dist/app/review/index.d.ts +5 -0
  1261. package/dist/app/review/index.d.ts.map +1 -0
  1262. package/dist/app/review/index.js +5 -0
  1263. package/dist/app/review/index.js.map +1 -0
  1264. package/dist/app/settings/AccountSettingsCard.d.ts +9 -0
  1265. package/dist/app/settings/AccountSettingsCard.d.ts.map +1 -0
  1266. package/dist/app/settings/AccountSettingsCard.js +169 -0
  1267. package/dist/app/settings/AccountSettingsCard.js.map +1 -0
  1268. package/dist/app/settings/AgentDirectorySection.d.ts +14 -0
  1269. package/dist/app/settings/AgentDirectorySection.d.ts.map +1 -0
  1270. package/dist/app/settings/AgentDirectorySection.js +65 -0
  1271. package/dist/app/settings/AgentDirectorySection.js.map +1 -0
  1272. package/dist/app/settings/AgentPersonalizationSettings.d.ts +2 -0
  1273. package/dist/app/settings/AgentPersonalizationSettings.d.ts.map +1 -0
  1274. package/dist/app/settings/AgentPersonalizationSettings.js +115 -0
  1275. package/dist/app/settings/AgentPersonalizationSettings.js.map +1 -0
  1276. package/dist/app/settings/AgentProviderPicker.d.ts +12 -0
  1277. package/dist/app/settings/AgentProviderPicker.d.ts.map +1 -0
  1278. package/dist/app/settings/AgentProviderPicker.js +47 -0
  1279. package/dist/app/settings/AgentProviderPicker.js.map +1 -0
  1280. package/dist/app/settings/AgentsSection.d.ts +130 -0
  1281. package/dist/app/settings/AgentsSection.d.ts.map +1 -0
  1282. package/dist/app/settings/AgentsSection.js +1079 -0
  1283. package/dist/app/settings/AgentsSection.js.map +1 -0
  1284. package/dist/app/settings/ApiKeySettings.d.ts +6 -0
  1285. package/dist/app/settings/ApiKeySettings.d.ts.map +1 -0
  1286. package/dist/app/settings/ApiKeySettings.js +200 -0
  1287. package/dist/app/settings/ApiKeySettings.js.map +1 -0
  1288. package/dist/app/settings/AutomationsSection.d.ts +4 -0
  1289. package/dist/app/settings/AutomationsSection.d.ts.map +1 -0
  1290. package/dist/app/settings/AutomationsSection.js +18 -0
  1291. package/dist/app/settings/AutomationsSection.js.map +1 -0
  1292. package/dist/app/settings/BuilderConnectPopover.d.ts +28 -0
  1293. package/dist/app/settings/BuilderConnectPopover.d.ts.map +1 -0
  1294. package/dist/app/settings/BuilderConnectPopover.js +94 -0
  1295. package/dist/app/settings/BuilderConnectPopover.js.map +1 -0
  1296. package/dist/app/settings/DemoModeSection.d.ts +4 -0
  1297. package/dist/app/settings/DemoModeSection.d.ts.map +1 -0
  1298. package/dist/app/settings/DemoModeSection.js +12 -0
  1299. package/dist/app/settings/DemoModeSection.js.map +1 -0
  1300. package/dist/app/settings/ExtensionsSettingsContent.d.ts +2 -0
  1301. package/dist/app/settings/ExtensionsSettingsContent.d.ts.map +1 -0
  1302. package/dist/app/settings/ExtensionsSettingsContent.js +10 -0
  1303. package/dist/app/settings/ExtensionsSettingsContent.js.map +1 -0
  1304. package/dist/app/settings/KeyProviderTile.d.ts +12 -0
  1305. package/dist/app/settings/KeyProviderTile.d.ts.map +1 -0
  1306. package/dist/app/settings/KeyProviderTile.js +59 -0
  1307. package/dist/app/settings/KeyProviderTile.js.map +1 -0
  1308. package/dist/app/settings/NewKeyMenu.d.ts +26 -0
  1309. package/dist/app/settings/NewKeyMenu.d.ts.map +1 -0
  1310. package/dist/app/settings/NewKeyMenu.js +40 -0
  1311. package/dist/app/settings/NewKeyMenu.js.map +1 -0
  1312. package/dist/app/settings/ProviderSetupForm.d.ts +24 -0
  1313. package/dist/app/settings/ProviderSetupForm.d.ts.map +1 -0
  1314. package/dist/app/settings/ProviderSetupForm.js +253 -0
  1315. package/dist/app/settings/ProviderSetupForm.js.map +1 -0
  1316. package/dist/app/settings/SchedulingTimezoneField.d.ts +4 -0
  1317. package/dist/app/settings/SchedulingTimezoneField.d.ts.map +1 -0
  1318. package/dist/app/settings/SchedulingTimezoneField.js +25 -0
  1319. package/dist/app/settings/SchedulingTimezoneField.js.map +1 -0
  1320. package/dist/app/settings/SecretsSection.d.ts +6 -0
  1321. package/dist/app/settings/SecretsSection.d.ts.map +1 -0
  1322. package/dist/app/settings/SecretsSection.js +469 -0
  1323. package/dist/app/settings/SecretsSection.js.map +1 -0
  1324. package/dist/app/settings/SettingsCrossLinkHint.d.ts +6 -0
  1325. package/dist/app/settings/SettingsCrossLinkHint.d.ts.map +1 -0
  1326. package/dist/app/settings/SettingsCrossLinkHint.js +5 -0
  1327. package/dist/app/settings/SettingsCrossLinkHint.js.map +1 -0
  1328. package/dist/app/settings/SettingsPanel.d.ts +52 -0
  1329. package/dist/app/settings/SettingsPanel.d.ts.map +1 -0
  1330. package/dist/app/settings/SettingsPanel.js +1750 -0
  1331. package/dist/app/settings/SettingsPanel.js.map +1 -0
  1332. package/dist/app/settings/SettingsRow.d.ts +22 -0
  1333. package/dist/app/settings/SettingsRow.d.ts.map +1 -0
  1334. package/dist/app/settings/SettingsRow.js +11 -0
  1335. package/dist/app/settings/SettingsRow.js.map +1 -0
  1336. package/dist/app/settings/SettingsSection.d.ts +24 -0
  1337. package/dist/app/settings/SettingsSection.d.ts.map +1 -0
  1338. package/dist/app/settings/SettingsSection.js +62 -0
  1339. package/dist/app/settings/SettingsSection.js.map +1 -0
  1340. package/dist/app/settings/SettingsSkeleton.d.ts +11 -0
  1341. package/dist/app/settings/SettingsSkeleton.d.ts.map +1 -0
  1342. package/dist/app/settings/SettingsSkeleton.js +13 -0
  1343. package/dist/app/settings/SettingsSkeleton.js.map +1 -0
  1344. package/dist/app/settings/SettingsTabsPage.d.ts +123 -0
  1345. package/dist/app/settings/SettingsTabsPage.d.ts.map +1 -0
  1346. package/dist/app/settings/SettingsTabsPage.js +590 -0
  1347. package/dist/app/settings/SettingsTabsPage.js.map +1 -0
  1348. package/dist/app/settings/StorageSettingsForm.d.ts +29 -0
  1349. package/dist/app/settings/StorageSettingsForm.d.ts.map +1 -0
  1350. package/dist/app/settings/StorageSettingsForm.js +283 -0
  1351. package/dist/app/settings/StorageSettingsForm.js.map +1 -0
  1352. package/dist/app/settings/UsageSection.d.ts +19 -0
  1353. package/dist/app/settings/UsageSection.d.ts.map +1 -0
  1354. package/dist/app/settings/UsageSection.js +358 -0
  1355. package/dist/app/settings/UsageSection.js.map +1 -0
  1356. package/dist/app/settings/VoiceTranscriptionSection.d.ts +5 -0
  1357. package/dist/app/settings/VoiceTranscriptionSection.d.ts.map +1 -0
  1358. package/dist/app/settings/VoiceTranscriptionSection.js +443 -0
  1359. package/dist/app/settings/VoiceTranscriptionSection.js.map +1 -0
  1360. package/dist/app/settings/account/PreferencesSettings.d.ts +6 -0
  1361. package/dist/app/settings/account/PreferencesSettings.d.ts.map +1 -0
  1362. package/dist/app/settings/account/PreferencesSettings.js +18 -0
  1363. package/dist/app/settings/account/PreferencesSettings.js.map +1 -0
  1364. package/dist/app/settings/account/ProfileSettings.d.ts +3 -0
  1365. package/dist/app/settings/account/ProfileSettings.d.ts.map +1 -0
  1366. package/dist/app/settings/account/ProfileSettings.js +123 -0
  1367. package/dist/app/settings/account/ProfileSettings.js.map +1 -0
  1368. package/dist/app/settings/account/SecuritySettings.d.ts +3 -0
  1369. package/dist/app/settings/account/SecuritySettings.d.ts.map +1 -0
  1370. package/dist/app/settings/account/SecuritySettings.js +161 -0
  1371. package/dist/app/settings/account/SecuritySettings.js.map +1 -0
  1372. package/dist/app/settings/account/account-copy.d.ts +10 -0
  1373. package/dist/app/settings/account/account-copy.d.ts.map +1 -0
  1374. package/dist/app/settings/account/account-copy.js +25 -0
  1375. package/dist/app/settings/account/account-copy.js.map +1 -0
  1376. package/dist/app/settings/account/account-hooks.d.ts +81 -0
  1377. package/dist/app/settings/account/account-hooks.d.ts.map +1 -0
  1378. package/dist/app/settings/account/account-hooks.js +298 -0
  1379. package/dist/app/settings/account/account-hooks.js.map +1 -0
  1380. package/dist/app/settings/account/search-entries.d.ts +5 -0
  1381. package/dist/app/settings/account/search-entries.d.ts.map +1 -0
  1382. package/dist/app/settings/account/search-entries.js +70 -0
  1383. package/dist/app/settings/account/search-entries.js.map +1 -0
  1384. package/dist/app/settings/agent-settings-search.d.ts +30 -0
  1385. package/dist/app/settings/agent-settings-search.d.ts.map +1 -0
  1386. package/dist/app/settings/agent-settings-search.js +261 -0
  1387. package/dist/app/settings/agent-settings-search.js.map +1 -0
  1388. package/dist/app/settings/api-keys/ApiKeyDialogs.d.ts +51 -0
  1389. package/dist/app/settings/api-keys/ApiKeyDialogs.d.ts.map +1 -0
  1390. package/dist/app/settings/api-keys/ApiKeyDialogs.js +237 -0
  1391. package/dist/app/settings/api-keys/ApiKeyDialogs.js.map +1 -0
  1392. package/dist/app/settings/api-keys/ApiKeysSettingsPage.d.ts +8 -0
  1393. package/dist/app/settings/api-keys/ApiKeysSettingsPage.d.ts.map +1 -0
  1394. package/dist/app/settings/api-keys/ApiKeysSettingsPage.js +178 -0
  1395. package/dist/app/settings/api-keys/ApiKeysSettingsPage.js.map +1 -0
  1396. package/dist/app/settings/api-keys/api-keys-client.d.ts +25 -0
  1397. package/dist/app/settings/api-keys/api-keys-client.d.ts.map +1 -0
  1398. package/dist/app/settings/api-keys/api-keys-client.js +59 -0
  1399. package/dist/app/settings/api-keys/api-keys-client.js.map +1 -0
  1400. package/dist/app/settings/api-keys/api-keys-state.d.ts +51 -0
  1401. package/dist/app/settings/api-keys/api-keys-state.d.ts.map +1 -0
  1402. package/dist/app/settings/api-keys/api-keys-state.js +92 -0
  1403. package/dist/app/settings/api-keys/api-keys-state.js.map +1 -0
  1404. package/dist/app/settings/app-group/AppDefaultModelRow.d.ts +10 -0
  1405. package/dist/app/settings/app-group/AppDefaultModelRow.d.ts.map +1 -0
  1406. package/dist/app/settings/app-group/AppDefaultModelRow.js +125 -0
  1407. package/dist/app/settings/app-group/AppDefaultModelRow.js.map +1 -0
  1408. package/dist/app/settings/app-group/ReadOnlySettingValue.d.ts +6 -0
  1409. package/dist/app/settings/app-group/ReadOnlySettingValue.d.ts.map +1 -0
  1410. package/dist/app/settings/app-group/ReadOnlySettingValue.js +8 -0
  1411. package/dist/app/settings/app-group/ReadOnlySettingValue.js.map +1 -0
  1412. package/dist/app/settings/app-group/SettingsHeaderBadge.d.ts +6 -0
  1413. package/dist/app/settings/app-group/SettingsHeaderBadge.d.ts.map +1 -0
  1414. package/dist/app/settings/app-group/SettingsHeaderBadge.js +11 -0
  1415. package/dist/app/settings/app-group/SettingsHeaderBadge.js.map +1 -0
  1416. package/dist/app/settings/app-settings-tabs.d.ts +18 -0
  1417. package/dist/app/settings/app-settings-tabs.d.ts.map +1 -0
  1418. package/dist/app/settings/app-settings-tabs.js +45 -0
  1419. package/dist/app/settings/app-settings-tabs.js.map +1 -0
  1420. package/dist/app/settings/deferred-builder-connect-popover.d.ts +4 -0
  1421. package/dist/app/settings/deferred-builder-connect-popover.d.ts.map +1 -0
  1422. package/dist/app/settings/deferred-builder-connect-popover.js +15 -0
  1423. package/dist/app/settings/deferred-builder-connect-popover.js.map +1 -0
  1424. package/dist/app/settings/index.d.ts +25 -0
  1425. package/dist/app/settings/index.d.ts.map +1 -0
  1426. package/dist/app/settings/index.js +23 -0
  1427. package/dist/app/settings/index.js.map +1 -0
  1428. package/dist/app/settings/infra/EnvironmentDialogs.d.ts +9 -0
  1429. package/dist/app/settings/infra/EnvironmentDialogs.d.ts.map +1 -0
  1430. package/dist/app/settings/infra/EnvironmentDialogs.js +102 -0
  1431. package/dist/app/settings/infra/EnvironmentDialogs.js.map +1 -0
  1432. package/dist/app/settings/infra/InfrastructureSettingsPage.d.ts +8 -0
  1433. package/dist/app/settings/infra/InfrastructureSettingsPage.d.ts.map +1 -0
  1434. package/dist/app/settings/infra/InfrastructureSettingsPage.js +397 -0
  1435. package/dist/app/settings/infra/InfrastructureSettingsPage.js.map +1 -0
  1436. package/dist/app/settings/infra/ServiceDialog.d.ts +23 -0
  1437. package/dist/app/settings/infra/ServiceDialog.d.ts.map +1 -0
  1438. package/dist/app/settings/infra/ServiceDialog.js +94 -0
  1439. package/dist/app/settings/infra/ServiceDialog.js.map +1 -0
  1440. package/dist/app/settings/infra/infra-page-state.d.ts +86 -0
  1441. package/dist/app/settings/infra/infra-page-state.d.ts.map +1 -0
  1442. package/dist/app/settings/infra/infra-page-state.js +182 -0
  1443. package/dist/app/settings/infra/infra-page-state.js.map +1 -0
  1444. package/dist/app/settings/infra/logos.d.ts +21 -0
  1445. package/dist/app/settings/infra/logos.d.ts.map +1 -0
  1446. package/dist/app/settings/infra/logos.js +21 -0
  1447. package/dist/app/settings/infra/logos.js.map +1 -0
  1448. package/dist/app/settings/managed-secrets.d.ts +19 -0
  1449. package/dist/app/settings/managed-secrets.d.ts.map +1 -0
  1450. package/dist/app/settings/managed-secrets.js +40 -0
  1451. package/dist/app/settings/managed-secrets.js.map +1 -0
  1452. package/dist/app/settings/model/ChatGPTSubscriptionRow.d.ts +3 -0
  1453. package/dist/app/settings/model/ChatGPTSubscriptionRow.d.ts.map +1 -0
  1454. package/dist/app/settings/model/ChatGPTSubscriptionRow.js +95 -0
  1455. package/dist/app/settings/model/ChatGPTSubscriptionRow.js.map +1 -0
  1456. package/dist/app/settings/model/ModelSettingsPage.d.ts +8 -0
  1457. package/dist/app/settings/model/ModelSettingsPage.d.ts.map +1 -0
  1458. package/dist/app/settings/model/ModelSettingsPage.js +490 -0
  1459. package/dist/app/settings/model/ModelSettingsPage.js.map +1 -0
  1460. package/dist/app/settings/model/ProviderDialog.d.ts +38 -0
  1461. package/dist/app/settings/model/ProviderDialog.d.ts.map +1 -0
  1462. package/dist/app/settings/model/ProviderDialog.js +467 -0
  1463. package/dist/app/settings/model/ProviderDialog.js.map +1 -0
  1464. package/dist/app/settings/model/RemoveProviderDialog.d.ts +20 -0
  1465. package/dist/app/settings/model/RemoveProviderDialog.d.ts.map +1 -0
  1466. package/dist/app/settings/model/RemoveProviderDialog.js +93 -0
  1467. package/dist/app/settings/model/RemoveProviderDialog.js.map +1 -0
  1468. package/dist/app/settings/model/RestrictKeysDialog.d.ts +12 -0
  1469. package/dist/app/settings/model/RestrictKeysDialog.d.ts.map +1 -0
  1470. package/dist/app/settings/model/RestrictKeysDialog.js +55 -0
  1471. package/dist/app/settings/model/RestrictKeysDialog.js.map +1 -0
  1472. package/dist/app/settings/model/model-page-state.d.ts +101 -0
  1473. package/dist/app/settings/model/model-page-state.d.ts.map +1 -0
  1474. package/dist/app/settings/model/model-page-state.js +193 -0
  1475. package/dist/app/settings/model/model-page-state.js.map +1 -0
  1476. package/dist/app/settings/recent-prompt-groups.d.ts +13 -0
  1477. package/dist/app/settings/recent-prompt-groups.d.ts.map +1 -0
  1478. package/dist/app/settings/recent-prompt-groups.js +21 -0
  1479. package/dist/app/settings/recent-prompt-groups.js.map +1 -0
  1480. package/dist/app/settings/shell/SettingsShell.d.ts +34 -0
  1481. package/dist/app/settings/shell/SettingsShell.d.ts.map +1 -0
  1482. package/dist/app/settings/shell/SettingsShell.js +573 -0
  1483. package/dist/app/settings/shell/SettingsShell.js.map +1 -0
  1484. package/dist/app/settings/shell/SettingsShellSkeleton.d.ts +5 -0
  1485. package/dist/app/settings/shell/SettingsShellSkeleton.d.ts.map +1 -0
  1486. package/dist/app/settings/shell/SettingsShellSkeleton.js +13 -0
  1487. package/dist/app/settings/shell/SettingsShellSkeleton.js.map +1 -0
  1488. package/dist/app/settings/shell/app-identity.d.ts +15 -0
  1489. package/dist/app/settings/shell/app-identity.d.ts.map +1 -0
  1490. package/dist/app/settings/shell/app-identity.js +50 -0
  1491. package/dist/app/settings/shell/app-identity.js.map +1 -0
  1492. package/dist/app/settings/shell/bridge.d.ts +85 -0
  1493. package/dist/app/settings/shell/bridge.d.ts.map +1 -0
  1494. package/dist/app/settings/shell/bridge.js +187 -0
  1495. package/dist/app/settings/shell/bridge.js.map +1 -0
  1496. package/dist/app/settings/shell/context.d.ts +26 -0
  1497. package/dist/app/settings/shell/context.d.ts.map +1 -0
  1498. package/dist/app/settings/shell/context.js +22 -0
  1499. package/dist/app/settings/shell/context.js.map +1 -0
  1500. package/dist/app/settings/shell/core-pages.d.ts +9 -0
  1501. package/dist/app/settings/shell/core-pages.d.ts.map +1 -0
  1502. package/dist/app/settings/shell/core-pages.js +599 -0
  1503. package/dist/app/settings/shell/core-pages.js.map +1 -0
  1504. package/dist/app/settings/shell/index.d.ts +12 -0
  1505. package/dist/app/settings/shell/index.d.ts.map +1 -0
  1506. package/dist/app/settings/shell/index.js +17 -0
  1507. package/dist/app/settings/shell/index.js.map +1 -0
  1508. package/dist/app/settings/shell/pages/api-keys.d.ts +3 -0
  1509. package/dist/app/settings/shell/pages/api-keys.d.ts.map +1 -0
  1510. package/dist/app/settings/shell/pages/api-keys.js +8 -0
  1511. package/dist/app/settings/shell/pages/api-keys.js.map +1 -0
  1512. package/dist/app/settings/shell/pages/app.d.ts +7 -0
  1513. package/dist/app/settings/shell/pages/app.d.ts.map +1 -0
  1514. package/dist/app/settings/shell/pages/app.js +36 -0
  1515. package/dist/app/settings/shell/pages/app.js.map +1 -0
  1516. package/dist/app/settings/shell/pages/apps.d.ts +2 -0
  1517. package/dist/app/settings/shell/pages/apps.d.ts.map +1 -0
  1518. package/dist/app/settings/shell/pages/apps.js +6 -0
  1519. package/dist/app/settings/shell/pages/apps.js.map +1 -0
  1520. package/dist/app/settings/shell/pages/audit.d.ts +4 -0
  1521. package/dist/app/settings/shell/pages/audit.d.ts.map +1 -0
  1522. package/dist/app/settings/shell/pages/audit.js +200 -0
  1523. package/dist/app/settings/shell/pages/audit.js.map +1 -0
  1524. package/dist/app/settings/shell/pages/auth.d.ts +2 -0
  1525. package/dist/app/settings/shell/pages/auth.d.ts.map +1 -0
  1526. package/dist/app/settings/shell/pages/auth.js +6 -0
  1527. package/dist/app/settings/shell/pages/auth.js.map +1 -0
  1528. package/dist/app/settings/shell/pages/automations.d.ts +8 -0
  1529. package/dist/app/settings/shell/pages/automations.d.ts.map +1 -0
  1530. package/dist/app/settings/shell/pages/automations.js +30 -0
  1531. package/dist/app/settings/shell/pages/automations.js.map +1 -0
  1532. package/dist/app/settings/shell/pages/bridged-tab.d.ts +4 -0
  1533. package/dist/app/settings/shell/pages/bridged-tab.d.ts.map +1 -0
  1534. package/dist/app/settings/shell/pages/bridged-tab.js +6 -0
  1535. package/dist/app/settings/shell/pages/bridged-tab.js.map +1 -0
  1536. package/dist/app/settings/shell/pages/channels.d.ts +3 -0
  1537. package/dist/app/settings/shell/pages/channels.d.ts.map +1 -0
  1538. package/dist/app/settings/shell/pages/channels.js +14 -0
  1539. package/dist/app/settings/shell/pages/channels.js.map +1 -0
  1540. package/dist/app/settings/shell/pages/creative-context.d.ts +8 -0
  1541. package/dist/app/settings/shell/pages/creative-context.d.ts.map +1 -0
  1542. package/dist/app/settings/shell/pages/creative-context.js +18 -0
  1543. package/dist/app/settings/shell/pages/creative-context.js.map +1 -0
  1544. package/dist/app/settings/shell/pages/files.d.ts +2 -0
  1545. package/dist/app/settings/shell/pages/files.d.ts.map +1 -0
  1546. package/dist/app/settings/shell/pages/files.js +39 -0
  1547. package/dist/app/settings/shell/pages/files.js.map +1 -0
  1548. package/dist/app/settings/shell/pages/infra.d.ts +3 -0
  1549. package/dist/app/settings/shell/pages/infra.d.ts.map +1 -0
  1550. package/dist/app/settings/shell/pages/infra.js +6 -0
  1551. package/dist/app/settings/shell/pages/infra.js.map +1 -0
  1552. package/dist/app/settings/shell/pages/instructions.d.ts +2 -0
  1553. package/dist/app/settings/shell/pages/instructions.d.ts.map +1 -0
  1554. package/dist/app/settings/shell/pages/instructions.js +35 -0
  1555. package/dist/app/settings/shell/pages/instructions.js.map +1 -0
  1556. package/dist/app/settings/shell/pages/integrations.d.ts +3 -0
  1557. package/dist/app/settings/shell/pages/integrations.d.ts.map +1 -0
  1558. package/dist/app/settings/shell/pages/integrations.js +23 -0
  1559. package/dist/app/settings/shell/pages/integrations.js.map +1 -0
  1560. package/dist/app/settings/shell/pages/labs.d.ts +3 -0
  1561. package/dist/app/settings/shell/pages/labs.d.ts.map +1 -0
  1562. package/dist/app/settings/shell/pages/labs.js +8 -0
  1563. package/dist/app/settings/shell/pages/labs.js.map +1 -0
  1564. package/dist/app/settings/shell/pages/mcp.d.ts +3 -0
  1565. package/dist/app/settings/shell/pages/mcp.d.ts.map +1 -0
  1566. package/dist/app/settings/shell/pages/mcp.js +27 -0
  1567. package/dist/app/settings/shell/pages/mcp.js.map +1 -0
  1568. package/dist/app/settings/shell/pages/members.d.ts +2 -0
  1569. package/dist/app/settings/shell/pages/members.d.ts.map +1 -0
  1570. package/dist/app/settings/shell/pages/members.js +6 -0
  1571. package/dist/app/settings/shell/pages/members.js.map +1 -0
  1572. package/dist/app/settings/shell/pages/memory.d.ts +2 -0
  1573. package/dist/app/settings/shell/pages/memory.d.ts.map +1 -0
  1574. package/dist/app/settings/shell/pages/memory.js +41 -0
  1575. package/dist/app/settings/shell/pages/memory.js.map +1 -0
  1576. package/dist/app/settings/shell/pages/model.d.ts +3 -0
  1577. package/dist/app/settings/shell/pages/model.d.ts.map +1 -0
  1578. package/dist/app/settings/shell/pages/model.js +13 -0
  1579. package/dist/app/settings/shell/pages/model.js.map +1 -0
  1580. package/dist/app/settings/shell/pages/notifications.d.ts +3 -0
  1581. package/dist/app/settings/shell/pages/notifications.d.ts.map +1 -0
  1582. package/dist/app/settings/shell/pages/notifications.js +5 -0
  1583. package/dist/app/settings/shell/pages/notifications.js.map +1 -0
  1584. package/dist/app/settings/shell/pages/org.d.ts +2 -0
  1585. package/dist/app/settings/shell/pages/org.d.ts.map +1 -0
  1586. package/dist/app/settings/shell/pages/org.js +6 -0
  1587. package/dist/app/settings/shell/pages/org.js.map +1 -0
  1588. package/dist/app/settings/shell/pages/pending.d.ts +3 -0
  1589. package/dist/app/settings/shell/pages/pending.d.ts.map +1 -0
  1590. package/dist/app/settings/shell/pages/pending.js +8 -0
  1591. package/dist/app/settings/shell/pages/pending.js.map +1 -0
  1592. package/dist/app/settings/shell/pages/preferences.d.ts +2 -0
  1593. package/dist/app/settings/shell/pages/preferences.d.ts.map +1 -0
  1594. package/dist/app/settings/shell/pages/preferences.js +6 -0
  1595. package/dist/app/settings/shell/pages/preferences.js.map +1 -0
  1596. package/dist/app/settings/shell/pages/profile.d.ts +2 -0
  1597. package/dist/app/settings/shell/pages/profile.d.ts.map +1 -0
  1598. package/dist/app/settings/shell/pages/profile.js +6 -0
  1599. package/dist/app/settings/shell/pages/profile.js.map +1 -0
  1600. package/dist/app/settings/shell/pages/resource-collection.d.ts +6 -0
  1601. package/dist/app/settings/shell/pages/resource-collection.d.ts.map +1 -0
  1602. package/dist/app/settings/shell/pages/resource-collection.js +11 -0
  1603. package/dist/app/settings/shell/pages/resource-collection.js.map +1 -0
  1604. package/dist/app/settings/shell/pages/resource-settings-page.d.ts +63 -0
  1605. package/dist/app/settings/shell/pages/resource-settings-page.d.ts.map +1 -0
  1606. package/dist/app/settings/shell/pages/resource-settings-page.js +237 -0
  1607. package/dist/app/settings/shell/pages/resource-settings-page.js.map +1 -0
  1608. package/dist/app/settings/shell/pages/security.d.ts +2 -0
  1609. package/dist/app/settings/shell/pages/security.d.ts.map +1 -0
  1610. package/dist/app/settings/shell/pages/security.js +6 -0
  1611. package/dist/app/settings/shell/pages/security.js.map +1 -0
  1612. package/dist/app/settings/shell/pages/skills.d.ts +2 -0
  1613. package/dist/app/settings/shell/pages/skills.d.ts.map +1 -0
  1614. package/dist/app/settings/shell/pages/skills.js +39 -0
  1615. package/dist/app/settings/shell/pages/skills.js.map +1 -0
  1616. package/dist/app/settings/shell/pages/sub-agents.d.ts +27 -0
  1617. package/dist/app/settings/shell/pages/sub-agents.d.ts.map +1 -0
  1618. package/dist/app/settings/shell/pages/sub-agents.js +336 -0
  1619. package/dist/app/settings/shell/pages/sub-agents.js.map +1 -0
  1620. package/dist/app/settings/shell/pages/usage.d.ts +3 -0
  1621. package/dist/app/settings/shell/pages/usage.d.ts.map +1 -0
  1622. package/dist/app/settings/shell/pages/usage.js +6 -0
  1623. package/dist/app/settings/shell/pages/usage.js.map +1 -0
  1624. package/dist/app/settings/shell/pages/whats-new.d.ts +3 -0
  1625. package/dist/app/settings/shell/pages/whats-new.d.ts.map +1 -0
  1626. package/dist/app/settings/shell/pages/whats-new.js +30 -0
  1627. package/dist/app/settings/shell/pages/whats-new.js.map +1 -0
  1628. package/dist/app/settings/shell/registry.d.ts +99 -0
  1629. package/dist/app/settings/shell/registry.d.ts.map +1 -0
  1630. package/dist/app/settings/shell/registry.js +80 -0
  1631. package/dist/app/settings/shell/registry.js.map +1 -0
  1632. package/dist/app/settings/shell/return-path.d.ts +10 -0
  1633. package/dist/app/settings/shell/return-path.d.ts.map +1 -0
  1634. package/dist/app/settings/shell/return-path.js +45 -0
  1635. package/dist/app/settings/shell/return-path.js.map +1 -0
  1636. package/dist/app/settings/shell/routing.d.ts +62 -0
  1637. package/dist/app/settings/shell/routing.d.ts.map +1 -0
  1638. package/dist/app/settings/shell/routing.js +190 -0
  1639. package/dist/app/settings/shell/routing.js.map +1 -0
  1640. package/dist/app/settings/shell/search.d.ts +26 -0
  1641. package/dist/app/settings/shell/search.d.ts.map +1 -0
  1642. package/dist/app/settings/shell/search.js +65 -0
  1643. package/dist/app/settings/shell/search.js.map +1 -0
  1644. package/dist/app/settings/usage/UsageAlerts.d.ts +11 -0
  1645. package/dist/app/settings/usage/UsageAlerts.d.ts.map +1 -0
  1646. package/dist/app/settings/usage/UsageAlerts.js +174 -0
  1647. package/dist/app/settings/usage/UsageAlerts.js.map +1 -0
  1648. package/dist/app/settings/usage/UsageCharts.d.ts +37 -0
  1649. package/dist/app/settings/usage/UsageCharts.d.ts.map +1 -0
  1650. package/dist/app/settings/usage/UsageCharts.js +70 -0
  1651. package/dist/app/settings/usage/UsageCharts.js.map +1 -0
  1652. package/dist/app/settings/usage/UsageGroup.d.ts +18 -0
  1653. package/dist/app/settings/usage/UsageGroup.d.ts.map +1 -0
  1654. package/dist/app/settings/usage/UsageGroup.js +16 -0
  1655. package/dist/app/settings/usage/UsageGroup.js.map +1 -0
  1656. package/dist/app/settings/usage/UsagePage.d.ts +10 -0
  1657. package/dist/app/settings/usage/UsagePage.d.ts.map +1 -0
  1658. package/dist/app/settings/usage/UsagePage.js +283 -0
  1659. package/dist/app/settings/usage/UsagePage.js.map +1 -0
  1660. package/dist/app/settings/usage/usage-model.d.ts +143 -0
  1661. package/dist/app/settings/usage/usage-model.d.ts.map +1 -0
  1662. package/dist/app/settings/usage/usage-model.js +111 -0
  1663. package/dist/app/settings/usage/usage-model.js.map +1 -0
  1664. package/dist/app/settings/use-provider-key-save-scope.d.ts +15 -0
  1665. package/dist/app/settings/use-provider-key-save-scope.d.ts.map +1 -0
  1666. package/dist/app/settings/use-provider-key-save-scope.js +17 -0
  1667. package/dist/app/settings/use-provider-key-save-scope.js.map +1 -0
  1668. package/dist/app/settings/useBuilderStatus.d.ts +176 -0
  1669. package/dist/app/settings/useBuilderStatus.d.ts.map +1 -0
  1670. package/dist/app/settings/useBuilderStatus.js +1313 -0
  1671. package/dist/app/settings/useBuilderStatus.js.map +1 -0
  1672. package/dist/app/settings/useSettingsPanelController.d.ts +22 -0
  1673. package/dist/app/settings/useSettingsPanelController.d.ts.map +1 -0
  1674. package/dist/app/settings/useSettingsPanelController.js +134 -0
  1675. package/dist/app/settings/useSettingsPanelController.js.map +1 -0
  1676. package/dist/app/setup-connections/BuilderConnectCard.d.ts +34 -0
  1677. package/dist/app/setup-connections/BuilderConnectCard.d.ts.map +1 -0
  1678. package/dist/app/setup-connections/BuilderConnectCard.js +185 -0
  1679. package/dist/app/setup-connections/BuilderConnectCard.js.map +1 -0
  1680. package/dist/app/setup-connections/ProviderReadinessBadge.d.ts +8 -0
  1681. package/dist/app/setup-connections/ProviderReadinessBadge.d.ts.map +1 -0
  1682. package/dist/app/setup-connections/ProviderReadinessBadge.js +32 -0
  1683. package/dist/app/setup-connections/ProviderReadinessBadge.js.map +1 -0
  1684. package/dist/app/setup-connections/SetupConnectionsPage.d.ts +17 -0
  1685. package/dist/app/setup-connections/SetupConnectionsPage.d.ts.map +1 -0
  1686. package/dist/app/setup-connections/SetupConnectionsPage.js +10 -0
  1687. package/dist/app/setup-connections/SetupConnectionsPage.js.map +1 -0
  1688. package/dist/app/setup-connections/index.d.ts +5 -0
  1689. package/dist/app/setup-connections/index.d.ts.map +1 -0
  1690. package/dist/app/setup-connections/index.js +5 -0
  1691. package/dist/app/setup-connections/index.js.map +1 -0
  1692. package/dist/app/setup-connections/useBuilderConnectCardController.d.ts +43 -0
  1693. package/dist/app/setup-connections/useBuilderConnectCardController.d.ts.map +1 -0
  1694. package/dist/app/setup-connections/useBuilderConnectCardController.js +48 -0
  1695. package/dist/app/setup-connections/useBuilderConnectCardController.js.map +1 -0
  1696. package/dist/app/shared/AboutAgentNativeDialog.d.ts +6 -0
  1697. package/dist/app/shared/AboutAgentNativeDialog.d.ts.map +1 -0
  1698. package/dist/app/shared/AboutAgentNativeDialog.js +57 -0
  1699. package/dist/app/shared/AboutAgentNativeDialog.js.map +1 -0
  1700. package/dist/app/shared/AgentNativeIcon.d.ts +7 -0
  1701. package/dist/app/shared/AgentNativeIcon.d.ts.map +1 -0
  1702. package/dist/app/shared/AgentNativeIcon.js +5 -0
  1703. package/dist/app/shared/AgentNativeIcon.js.map +1 -0
  1704. package/dist/app/shared/AppShellSkeleton.d.ts +8 -0
  1705. package/dist/app/shared/AppShellSkeleton.d.ts.map +1 -0
  1706. package/dist/app/shared/AppShellSkeleton.js +506 -0
  1707. package/dist/app/shared/AppShellSkeleton.js.map +1 -0
  1708. package/dist/app/shared/AppSidebar.d.ts +19 -0
  1709. package/dist/app/shared/AppSidebar.d.ts.map +1 -0
  1710. package/dist/app/shared/AppSidebar.js +45 -0
  1711. package/dist/app/shared/AppSidebar.js.map +1 -0
  1712. package/dist/app/shared/AppearancePicker.d.ts +7 -0
  1713. package/dist/app/shared/AppearancePicker.d.ts.map +1 -0
  1714. package/dist/app/shared/AppearancePicker.js +16 -0
  1715. package/dist/app/shared/AppearancePicker.js.map +1 -0
  1716. package/dist/app/shared/ClientOnly.d.ts +6 -0
  1717. package/dist/app/shared/ClientOnly.d.ts.map +1 -0
  1718. package/dist/app/shared/ClientOnly.js +10 -0
  1719. package/dist/app/shared/ClientOnly.js.map +1 -0
  1720. package/dist/app/shared/CommandMenu.d.ts +84 -0
  1721. package/dist/app/shared/CommandMenu.d.ts.map +1 -0
  1722. package/dist/app/shared/CommandMenu.js +419 -0
  1723. package/dist/app/shared/CommandMenu.js.map +1 -0
  1724. package/dist/app/shared/DefaultSpinner.d.ts +14 -0
  1725. package/dist/app/shared/DefaultSpinner.d.ts.map +1 -0
  1726. package/dist/app/shared/DefaultSpinner.js +80 -0
  1727. package/dist/app/shared/DefaultSpinner.js.map +1 -0
  1728. package/dist/app/shared/EnvironmentBadge.d.ts +17 -0
  1729. package/dist/app/shared/EnvironmentBadge.d.ts.map +1 -0
  1730. package/dist/app/shared/EnvironmentBadge.js +231 -0
  1731. package/dist/app/shared/EnvironmentBadge.js.map +1 -0
  1732. package/dist/app/shared/ErrorBoundary.d.ts +3 -0
  1733. package/dist/app/shared/ErrorBoundary.d.ts.map +1 -0
  1734. package/dist/app/shared/ErrorBoundary.js +267 -0
  1735. package/dist/app/shared/ErrorBoundary.js.map +1 -0
  1736. package/dist/app/shared/LanguagePicker.d.ts +9 -0
  1737. package/dist/app/shared/LanguagePicker.d.ts.map +1 -0
  1738. package/dist/app/shared/LanguagePicker.js +129 -0
  1739. package/dist/app/shared/LanguagePicker.js.map +1 -0
  1740. package/dist/app/shared/LazyChunkErrorBoundary.d.ts +17 -0
  1741. package/dist/app/shared/LazyChunkErrorBoundary.d.ts.map +1 -0
  1742. package/dist/app/shared/LazyChunkErrorBoundary.js +17 -0
  1743. package/dist/app/shared/LazyChunkErrorBoundary.js.map +1 -0
  1744. package/dist/app/shared/LazyChunkRetryFallback.d.ts +4 -0
  1745. package/dist/app/shared/LazyChunkRetryFallback.d.ts.map +1 -0
  1746. package/dist/app/shared/LazyChunkRetryFallback.js +10 -0
  1747. package/dist/app/shared/LazyChunkRetryFallback.js.map +1 -0
  1748. package/dist/app/shared/PoweredByBadge.d.ts +12 -0
  1749. package/dist/app/shared/PoweredByBadge.d.ts.map +1 -0
  1750. package/dist/app/shared/PoweredByBadge.js +184 -0
  1751. package/dist/app/shared/PoweredByBadge.js.map +1 -0
  1752. package/dist/app/shared/PrimitiveButton.d.ts +7 -0
  1753. package/dist/app/shared/PrimitiveButton.d.ts.map +1 -0
  1754. package/dist/app/shared/PrimitiveButton.js +29 -0
  1755. package/dist/app/shared/PrimitiveButton.js.map +1 -0
  1756. package/dist/app/shared/RouteTransitionIndicator.d.ts +4 -0
  1757. package/dist/app/shared/RouteTransitionIndicator.d.ts.map +1 -0
  1758. package/dist/app/shared/RouteTransitionIndicator.js +36 -0
  1759. package/dist/app/shared/RouteTransitionIndicator.js.map +1 -0
  1760. package/dist/app/shared/RuntimeConfigNotice.d.ts +2 -0
  1761. package/dist/app/shared/RuntimeConfigNotice.d.ts.map +1 -0
  1762. package/dist/app/shared/RuntimeConfigNotice.js +98 -0
  1763. package/dist/app/shared/RuntimeConfigNotice.js.map +1 -0
  1764. package/dist/app/shared/StarfieldBackground.d.ts +7 -0
  1765. package/dist/app/shared/StarfieldBackground.d.ts.map +1 -0
  1766. package/dist/app/shared/StarfieldBackground.js +369 -0
  1767. package/dist/app/shared/StarfieldBackground.js.map +1 -0
  1768. package/dist/app/shared/Turnstile.d.ts +19 -0
  1769. package/dist/app/shared/Turnstile.d.ts.map +1 -0
  1770. package/dist/app/shared/Turnstile.js +67 -0
  1771. package/dist/app/shared/Turnstile.js.map +1 -0
  1772. package/dist/app/shared/index.d.ts +20 -0
  1773. package/dist/app/shared/index.d.ts.map +1 -0
  1774. package/dist/app/shared/index.js +20 -0
  1775. package/dist/app/shared/index.js.map +1 -0
  1776. package/dist/app/sharing/AgentShareSection.d.ts +9 -0
  1777. package/dist/app/sharing/AgentShareSection.d.ts.map +1 -0
  1778. package/dist/app/sharing/AgentShareSection.js +63 -0
  1779. package/dist/app/sharing/AgentShareSection.js.map +1 -0
  1780. package/dist/app/sharing/ShareButton.d.ts +89 -0
  1781. package/dist/app/sharing/ShareButton.d.ts.map +1 -0
  1782. package/dist/app/sharing/ShareButton.js +491 -0
  1783. package/dist/app/sharing/ShareButton.js.map +1 -0
  1784. package/dist/app/sharing/ShareDialog.d.ts +15 -0
  1785. package/dist/app/sharing/ShareDialog.d.ts.map +1 -0
  1786. package/dist/app/sharing/ShareDialog.js +85 -0
  1787. package/dist/app/sharing/ShareDialog.js.map +1 -0
  1788. package/dist/app/sharing/VisibilityBadge.d.ts +2 -0
  1789. package/dist/app/sharing/VisibilityBadge.d.ts.map +1 -0
  1790. package/dist/app/sharing/VisibilityBadge.js +2 -0
  1791. package/dist/app/sharing/VisibilityBadge.js.map +1 -0
  1792. package/dist/app/sharing/index.d.ts +5 -0
  1793. package/dist/app/sharing/index.d.ts.map +1 -0
  1794. package/dist/app/sharing/index.js +5 -0
  1795. package/dist/app/sharing/index.js.map +1 -0
  1796. package/dist/app/styles/agent-conversation.css +770 -0
  1797. package/dist/app/styles/agent-native.css +1429 -0
  1798. package/dist/app/styles/blocks.css +1668 -0
  1799. package/dist/app/styles/chat-history-list.css +15 -0
  1800. package/dist/app/styles/rich-markdown-editor.css +1 -0
  1801. package/dist/app/styles/tokens/agent-kit.css +116 -0
  1802. package/dist/app/terminal/AgentTerminal.d.ts +23 -0
  1803. package/dist/app/terminal/AgentTerminal.d.ts.map +1 -0
  1804. package/dist/app/terminal/AgentTerminal.js +442 -0
  1805. package/dist/app/terminal/AgentTerminal.js.map +1 -0
  1806. package/dist/app/terminal/index.d.ts +2 -0
  1807. package/dist/app/terminal/index.d.ts.map +1 -0
  1808. package/dist/app/terminal/index.js +2 -0
  1809. package/dist/app/terminal/index.js.map +1 -0
  1810. package/dist/app/transcription/BuilderTranscriptionCta.d.ts +2 -0
  1811. package/dist/app/transcription/BuilderTranscriptionCta.d.ts.map +1 -0
  1812. package/dist/app/transcription/BuilderTranscriptionCta.js +26 -0
  1813. package/dist/app/transcription/BuilderTranscriptionCta.js.map +1 -0
  1814. package/dist/app/transcription/index.d.ts +2 -0
  1815. package/dist/app/transcription/index.d.ts.map +1 -0
  1816. package/dist/app/transcription/index.js +2 -0
  1817. package/dist/app/transcription/index.js.map +1 -0
  1818. package/dist/app-shell/prompt-home.css +4 -0
  1819. package/dist/composer/ComposerContextMenu.d.ts +11 -1
  1820. package/dist/composer/ComposerContextMenu.d.ts.map +1 -1
  1821. package/dist/composer/ComposerContextMenu.js +122 -59
  1822. package/dist/composer/ComposerContextMenu.js.map +1 -1
  1823. package/dist/composer/ComposerContextPickerDialog.d.ts.map +1 -1
  1824. package/dist/composer/ComposerContextPickerDialog.js +41 -11
  1825. package/dist/composer/ComposerContextPickerDialog.js.map +1 -1
  1826. package/dist/composer/ComposerPlusMenu.d.ts +10 -6
  1827. package/dist/composer/ComposerPlusMenu.d.ts.map +1 -1
  1828. package/dist/composer/ComposerPlusMenu.js +247 -273
  1829. package/dist/composer/ComposerPlusMenu.js.map +1 -1
  1830. package/dist/composer/MentionPopover.d.ts.map +1 -1
  1831. package/dist/composer/MentionPopover.js +1 -1
  1832. package/dist/composer/MentionPopover.js.map +1 -1
  1833. package/dist/composer/PromptComposer.d.ts +10 -4
  1834. package/dist/composer/PromptComposer.d.ts.map +1 -1
  1835. package/dist/composer/PromptComposer.js +11 -10
  1836. package/dist/composer/PromptComposer.js.map +1 -1
  1837. package/dist/composer/TiptapComposer.d.ts +18 -8
  1838. package/dist/composer/TiptapComposer.d.ts.map +1 -1
  1839. package/dist/composer/TiptapComposer.js +446 -92
  1840. package/dist/composer/TiptapComposer.js.map +1 -1
  1841. package/dist/composer/attachment-accept.d.ts +4 -2
  1842. package/dist/composer/attachment-accept.d.ts.map +1 -1
  1843. package/dist/composer/attachment-accept.js +10 -2
  1844. package/dist/composer/attachment-accept.js.map +1 -1
  1845. package/dist/composer/index.d.ts +1 -0
  1846. package/dist/composer/index.d.ts.map +1 -1
  1847. package/dist/composer/index.js +1 -0
  1848. package/dist/composer/index.js.map +1 -1
  1849. package/dist/composer/types.d.ts +1 -1
  1850. package/dist/composer/types.d.ts.map +1 -1
  1851. package/dist/composer/use-composer-panel-placement.d.ts +10 -0
  1852. package/dist/composer/use-composer-panel-placement.d.ts.map +1 -0
  1853. package/dist/composer/use-composer-panel-placement.js +63 -0
  1854. package/dist/composer/use-composer-panel-placement.js.map +1 -0
  1855. package/dist/composer/use-mention-search.d.ts +2 -0
  1856. package/dist/composer/use-mention-search.d.ts.map +1 -1
  1857. package/dist/composer/use-mention-search.js +50 -22
  1858. package/dist/composer/use-mention-search.js.map +1 -1
  1859. package/dist/composer/use-skills.d.ts.map +1 -1
  1860. package/dist/composer/use-skills.js +47 -3
  1861. package/dist/composer/use-skills.js.map +1 -1
  1862. package/dist/composer/useComposerContextPicker.d.ts +5 -1
  1863. package/dist/composer/useComposerContextPicker.d.ts.map +1 -1
  1864. package/dist/composer/useComposerContextPicker.js +2 -2
  1865. package/dist/composer/useComposerContextPicker.js.map +1 -1
  1866. package/dist/styles.css +2 -3
  1867. package/eject/remote-mcp-presets.spec.ts +66 -0
  1868. package/package.json +325 -5
  1869. package/src/app/PrimitiveButton.tsx +43 -0
  1870. package/src/app/agent-page/AgentContextTab.spec.ts +35 -0
  1871. package/src/app/agent-page/AgentContextTab.tsx +493 -0
  1872. package/src/app/agent-page/AgentEmptyState.tsx +61 -0
  1873. package/src/app/agent-page/AgentJobsTab.blocked.spec.tsx +300 -0
  1874. package/src/app/agent-page/AgentJobsTab.spec.tsx +435 -0
  1875. package/src/app/agent-page/AgentJobsTab.tsx +967 -0
  1876. package/src/app/agent-page/AgentTabFrame.spec.tsx +48 -0
  1877. package/src/app/agent-page/AgentTabFrame.tsx +66 -0
  1878. package/src/app/agent-page/AgentTabsPage.spec.ts +31 -0
  1879. package/src/app/agent-page/AgentTabsPage.tsx +938 -0
  1880. package/src/app/agent-page/AgentWorkspaceContent.tsx +266 -0
  1881. package/src/app/agent-page/AutomationDetailsDialog.tsx +246 -0
  1882. package/src/app/agent-page/AutomationScheduleDialog.spec.tsx +86 -0
  1883. package/src/app/agent-page/AutomationScheduleDialog.tsx +545 -0
  1884. package/src/app/agent-page/ConnectionsTab.render.spec.tsx +103 -0
  1885. package/src/app/agent-page/ConnectionsTab.spec.tsx +96 -0
  1886. package/src/app/agent-page/ScheduledTriggerNotice.spec.tsx +166 -0
  1887. package/src/app/agent-page/ScheduledTriggerNotice.tsx +136 -0
  1888. package/src/app/agent-page/TimezoneSelect.spec.tsx +111 -0
  1889. package/src/app/agent-page/TimezoneSelect.tsx +230 -0
  1890. package/src/app/agent-page/automation-schedule.spec.ts +73 -0
  1891. package/src/app/agent-page/automation-schedule.ts +251 -0
  1892. package/src/app/agent-page/index.ts +3 -0
  1893. package/src/app/agent-page/scheduled-trigger-state.ts +19 -0
  1894. package/src/app/agent-page/types.ts +15 -0
  1895. package/src/app/agent-page/use-jobs.ts +264 -0
  1896. package/src/app/agentkit/index.ts +1 -0
  1897. package/src/app/agentkit/react/chat.tsx +86 -0
  1898. package/src/app/agentkit/react/components.interaction.spec.tsx +1445 -0
  1899. package/src/app/agentkit/react/components.spec.tsx +1636 -0
  1900. package/src/app/agentkit/react/components.tsx +4432 -0
  1901. package/src/app/agentkit/react/composer-context.spec.tsx +766 -0
  1902. package/src/app/agentkit/react/composer-submission.ts +62 -0
  1903. package/src/app/agentkit/react/context.tsx +887 -0
  1904. package/src/app/agentkit/react/headless.ts +2 -0
  1905. package/src/app/agentkit/react/index.ts +5 -0
  1906. package/src/app/agentkit/react/lifecycle.spec.tsx +3188 -0
  1907. package/src/app/agentkit/react/markdown.spec.tsx +175 -0
  1908. package/src/app/agentkit/react/render-boundary.spec.tsx +118 -0
  1909. package/src/app/agentkit/react/root.tsx +287 -0
  1910. package/src/app/agentkit/react/streaming-text.spec.ts +134 -0
  1911. package/src/app/agentkit/react/streaming-text.tsx +346 -0
  1912. package/src/app/agentkit/react/styles.css +1898 -0
  1913. package/src/app/agentkit/react/suggestions.spec.tsx +266 -0
  1914. package/src/app/auth/AuthPage.deploy-settings-error.spec.tsx +108 -0
  1915. package/src/app/auth/AuthPage.interaction.spec.tsx +156 -0
  1916. package/src/app/auth/AuthPage.resend.spec.tsx +172 -0
  1917. package/src/app/auth/AuthPage.spec.tsx +372 -0
  1918. package/src/app/auth/AuthPage.tsx +3139 -0
  1919. package/src/app/auth/RequireSession.spec.tsx +314 -0
  1920. package/src/app/auth/RequireSession.tsx +100 -0
  1921. package/src/app/auth/ResetPasswordPage.spec.tsx +30 -0
  1922. package/src/app/auth/ResetPasswordPage.tsx +205 -0
  1923. package/src/app/auth/entry.tsx +25 -0
  1924. package/src/app/auth/index.ts +3 -0
  1925. package/src/app/blocks/AiEditableField.tsx +33 -0
  1926. package/src/app/blocks/BlockView.tsx +122 -0
  1927. package/src/app/blocks/RegistryBlockDataProvider.spec.tsx +100 -0
  1928. package/src/app/blocks/RegistryBlockDataProvider.tsx +121 -0
  1929. package/src/app/blocks/SchemaBlockEditor.tsx +432 -0
  1930. package/src/app/blocks/code-block-direction.ts +6 -0
  1931. package/src/app/blocks/index.ts +302 -0
  1932. package/src/app/blocks/library/AnnotatedCodeBlock.spec.tsx +741 -0
  1933. package/src/app/blocks/library/AnnotatedCodeBlock.tsx +660 -0
  1934. package/src/app/blocks/library/ApiEndpointBlock.spec.tsx +227 -0
  1935. package/src/app/blocks/library/ApiEndpointBlock.tsx +1013 -0
  1936. package/src/app/blocks/library/DataModelBlock.tsx +707 -0
  1937. package/src/app/blocks/library/DiffBlock.spec.tsx +815 -0
  1938. package/src/app/blocks/library/DiffBlock.tsx +1695 -0
  1939. package/src/app/blocks/library/FileTreeBlock.spec.tsx +295 -0
  1940. package/src/app/blocks/library/FileTreeBlock.tsx +784 -0
  1941. package/src/app/blocks/library/HighlightedCode.tsx +235 -0
  1942. package/src/app/blocks/library/JsonExplorerBlock.spec.tsx +220 -0
  1943. package/src/app/blocks/library/JsonExplorerBlock.tsx +577 -0
  1944. package/src/app/blocks/library/MermaidBlock.render.spec.tsx +118 -0
  1945. package/src/app/blocks/library/MermaidBlock.tsx +314 -0
  1946. package/src/app/blocks/library/OpenApiSpecBlock.tsx +955 -0
  1947. package/src/app/blocks/library/annotation-rail.spec.ts +158 -0
  1948. package/src/app/blocks/library/annotation-rail.tsx +899 -0
  1949. package/src/app/blocks/library/block-copy.ts +399 -0
  1950. package/src/app/blocks/library/callout.tsx +135 -0
  1951. package/src/app/blocks/library/checklist.tsx +175 -0
  1952. package/src/app/blocks/library/code-copy-button.tsx +30 -0
  1953. package/src/app/blocks/library/code-filename-label.tsx +59 -0
  1954. package/src/app/blocks/library/code-highlight.tsx +160 -0
  1955. package/src/app/blocks/library/code-tabs.tsx +585 -0
  1956. package/src/app/blocks/library/code.spec.tsx +186 -0
  1957. package/src/app/blocks/library/code.tsx +396 -0
  1958. package/src/app/blocks/library/columns.render.spec.tsx +80 -0
  1959. package/src/app/blocks/library/columns.spec.ts +77 -0
  1960. package/src/app/blocks/library/columns.tsx +281 -0
  1961. package/src/app/blocks/library/dev-doc-ui.tsx +170 -0
  1962. package/src/app/blocks/library/diagram.spec.tsx +452 -0
  1963. package/src/app/blocks/library/diagram.tsx +902 -0
  1964. package/src/app/blocks/library/html.tsx +245 -0
  1965. package/src/app/blocks/library/narrow-container.tsx +15 -0
  1966. package/src/app/blocks/library/question-form.spec.tsx +239 -0
  1967. package/src/app/blocks/library/question-form.tsx +923 -0
  1968. package/src/app/blocks/library/sanitize-html.ts +385 -0
  1969. package/src/app/blocks/library/specs.tsx +275 -0
  1970. package/src/app/blocks/library/tab-rails.spec.tsx +414 -0
  1971. package/src/app/blocks/library/table.tsx +414 -0
  1972. package/src/app/blocks/library/tabs.spec.ts +93 -0
  1973. package/src/app/blocks/library/tabs.tsx +625 -0
  1974. package/src/app/blocks/library/wireframe-icons.ts +210 -0
  1975. package/src/app/blocks/library/wireframe-kit.tsx +1923 -0
  1976. package/src/app/blocks/library/wireframe.render.spec.tsx +443 -0
  1977. package/src/app/blocks/library/wireframe.tsx +461 -0
  1978. package/src/app/blocks/provider.tsx +40 -0
  1979. package/src/app/changelog/Changelog.spec.tsx +165 -0
  1980. package/src/app/changelog/Changelog.tsx +319 -0
  1981. package/src/app/changelog/index.ts +1 -0
  1982. package/src/app/chat/AgentAskPopover.tsx +85 -0
  1983. package/src/app/chat/AgentChatHome.tsx +57 -0
  1984. package/src/app/chat/AgentKitAssistantChat.spec.tsx +4077 -0
  1985. package/src/app/chat/AgentKitAssistantChat.tsx +4887 -0
  1986. package/src/app/chat/AgentNativeEmbedded.tsx +99 -0
  1987. package/src/app/chat/AgentPanel.header.spec.ts +1143 -0
  1988. package/src/app/chat/AgentPanel.overlay.spec.tsx +309 -0
  1989. package/src/app/chat/AgentPanel.tsx +2966 -0
  1990. package/src/app/chat/AgentSidebar.spec.tsx +394 -0
  1991. package/src/app/chat/AgentSidebar.tsx +1412 -0
  1992. package/src/app/chat/AgentSidebarPanel.tsx +12 -0
  1993. package/src/app/chat/AgentTaskCard.tsx +241 -0
  1994. package/src/app/chat/BuilderReferralInviteRow.tsx +35 -0
  1995. package/src/app/chat/ConnectBuilderCard.spec.tsx +441 -0
  1996. package/src/app/chat/ConnectBuilderCard.tsx +578 -0
  1997. package/src/app/chat/FileStorageSetupPopover.tsx +189 -0
  1998. package/src/app/chat/HighlightedCodeBlock.tsx +145 -0
  1999. package/src/app/chat/KeepTabOpenNotice.spec.tsx +196 -0
  2000. package/src/app/chat/KeepTabOpenNotice.tsx +125 -0
  2001. package/src/app/chat/MultiTabAssistantChat.messageCount.spec.tsx +27 -0
  2002. package/src/app/chat/MultiTabAssistantChat.spec.tsx +3623 -0
  2003. package/src/app/chat/MultiTabAssistantChat.tsx +3234 -0
  2004. package/src/app/chat/RunStuckBanner.tsx +346 -0
  2005. package/src/app/chat/agent-sidebar-context.ts +3 -0
  2006. package/src/app/chat/agent-sidebar-events.ts +27 -0
  2007. package/src/app/chat/agent-sidebar-url-sync.spec.tsx +48 -0
  2008. package/src/app/chat/agent-sidebar-url-sync.tsx +203 -0
  2009. package/src/app/chat/agentkit-chat/action-widget.spec.tsx +410 -0
  2010. package/src/app/chat/agentkit-chat/action-widget.tsx +123 -0
  2011. package/src/app/chat/agentkit-chat/approval-card.spec.tsx +400 -0
  2012. package/src/app/chat/agentkit-chat/approval-card.tsx +191 -0
  2013. package/src/app/chat/agentkit-chat/composer.tsx +1 -0
  2014. package/src/app/chat/agentkit-chat/connections.spec.tsx +81 -0
  2015. package/src/app/chat/agentkit-chat/connections.ts +39 -0
  2016. package/src/app/chat/agentkit-chat/dev-checkpoint-restore.spec.ts +35 -0
  2017. package/src/app/chat/agentkit-chat/guided-answers-context.spec.ts +77 -0
  2018. package/src/app/chat/agentkit-chat/guided-questions.flow.spec.tsx +897 -0
  2019. package/src/app/chat/agentkit-chat/guided-questions.spec.ts +66 -0
  2020. package/src/app/chat/agentkit-chat/guided-questions.tsx +1357 -0
  2021. package/src/app/chat/agentkit-chat/history.spec.ts +143 -0
  2022. package/src/app/chat/agentkit-chat/history.tsx +1134 -0
  2023. package/src/app/chat/agentkit-chat/index.spec.tsx +53 -0
  2024. package/src/app/chat/agentkit-chat/index.ts +75 -0
  2025. package/src/app/chat/agentkit-chat/parity-renderers.spec.tsx +70 -0
  2026. package/src/app/chat/agentkit-chat/parity-renderers.tsx +87 -0
  2027. package/src/app/chat/agentkit-chat/questions.ts +5 -0
  2028. package/src/app/chat/agentkit-chat/rail.ts +14 -0
  2029. package/src/app/chat/agentkit-chat/root.tsx +17 -0
  2030. package/src/app/chat/agentkit-chat/suggestions.ts +4 -0
  2031. package/src/app/chat/chat/ChatHistoryList.tsx +7 -0
  2032. package/src/app/chat/chat/IframeEmbed.tsx +142 -0
  2033. package/src/app/chat/chat/action-chat-ui-surface.tsx +43 -0
  2034. package/src/app/chat/chat/agent-activity-object.tsx +74 -0
  2035. package/src/app/chat/chat/agent-activity-trace.spec.tsx +122 -0
  2036. package/src/app/chat/chat/agent-activity-trace.tsx +252 -0
  2037. package/src/app/chat/chat/agent-approval-card.tsx +287 -0
  2038. package/src/app/chat/chat/history-types.ts +75 -0
  2039. package/src/app/chat/chat/index.ts +250 -0
  2040. package/src/app/chat/chat/legacy-chart-shorthand.render.spec.tsx +40 -0
  2041. package/src/app/chat/chat/legacy-chart-shorthand.spec.ts +225 -0
  2042. package/src/app/chat/chat/legacy-chart-shorthand.tsx +426 -0
  2043. package/src/app/chat/chat/markdown-renderer.dom-stability.spec.tsx +99 -0
  2044. package/src/app/chat/chat/markdown-renderer.spec.tsx +281 -0
  2045. package/src/app/chat/chat/markdown-renderer.tsx +919 -0
  2046. package/src/app/chat/chat/run-recovery.spec.tsx +1040 -0
  2047. package/src/app/chat/chat/run-recovery.tsx +1116 -0
  2048. package/src/app/chat/chat/surface-types.ts +394 -0
  2049. package/src/app/chat/chat/tool-call-display.spec.tsx +2915 -0
  2050. package/src/app/chat/chat/tool-call-display.tsx +1829 -0
  2051. package/src/app/chat/chat/tool-chips.spec.tsx +59 -0
  2052. package/src/app/chat/chat/tool-chips.tsx +153 -0
  2053. package/src/app/chat/chat/tool-integration.spec.tsx +71 -0
  2054. package/src/app/chat/chat/tool-integration.tsx +87 -0
  2055. package/src/app/chat/chat/tool-render-registry.spec.tsx +228 -0
  2056. package/src/app/chat/chat/tool-render-registry.tsx +150 -0
  2057. package/src/app/chat/chat/widgets/ActionCard.spec.tsx +32 -0
  2058. package/src/app/chat/chat/widgets/ActionCard.tsx +58 -0
  2059. package/src/app/chat/chat/widgets/AgentTeamProgressWidget.tsx +58 -0
  2060. package/src/app/chat/chat/widgets/ConnectRequiredWidget.tsx +43 -0
  2061. package/src/app/chat/chat/widgets/DataChartRenderer.tsx +245 -0
  2062. package/src/app/chat/chat/widgets/DataChartWidget.ssr.spec.tsx +28 -0
  2063. package/src/app/chat/chat/widgets/DataChartWidget.tsx +60 -0
  2064. package/src/app/chat/chat/widgets/DataInsightsWidget.tsx +62 -0
  2065. package/src/app/chat/chat/widgets/DataTableWidget.spec.tsx +130 -0
  2066. package/src/app/chat/chat/widgets/DataTableWidget.tsx +245 -0
  2067. package/src/app/chat/chat/widgets/InlineExtensionWidget.tsx +33 -0
  2068. package/src/app/chat/chat/widgets/RecordChangeWidget.tsx +396 -0
  2069. package/src/app/chat/chat/widgets/WorkspaceFileWidget.spec.tsx +52 -0
  2070. package/src/app/chat/chat/widgets/WorkspaceFileWidget.tsx +72 -0
  2071. package/src/app/chat/chat/widgets/agent-team-progress-widget.spec.tsx +92 -0
  2072. package/src/app/chat/chat/widgets/builtin-connect-required-renderer.spec.tsx +210 -0
  2073. package/src/app/chat/chat/widgets/builtin-tool-renderers.spec.ts +110 -0
  2074. package/src/app/chat/chat/widgets/builtin-tool-renderers.tsx +527 -0
  2075. package/src/app/chat/chat/widgets/builtin-workspace-file-renderer.spec.tsx +105 -0
  2076. package/src/app/chat/chat/widgets/data-widget-types.ts +1 -0
  2077. package/src/app/chat/chat/widgets/inline-extension-result.ts +87 -0
  2078. package/src/app/chat/chat/widgets/record-change-widget.spec.tsx +748 -0
  2079. package/src/app/chat/chat/widgets/workspace-file-result.spec.ts +55 -0
  2080. package/src/app/chat/chat/widgets/workspace-file-result.ts +49 -0
  2081. package/src/app/chat/chat-first/ChatFirstAgentActivityPanel.tsx +200 -0
  2082. package/src/app/chat/chat-first/ChatFirstSurfacePanelToggle.tsx +29 -0
  2083. package/src/app/chat/chat-first/active-surface.spec.ts +93 -0
  2084. package/src/app/chat/chat-first/active-surface.ts +39 -0
  2085. package/src/app/chat/chat-first/agents-pane.tsx +29 -0
  2086. package/src/app/chat/chat-first/app-open-actions.tsx +167 -0
  2087. package/src/app/chat/chat-first/app-pane.tsx +53 -0
  2088. package/src/app/chat/chat-first/apps-rail.spec.tsx +538 -0
  2089. package/src/app/chat/chat-first/apps-rail.tsx +611 -0
  2090. package/src/app/chat/chat-first/browser-pane.spec.tsx +58 -0
  2091. package/src/app/chat/chat-first/browser-pane.tsx +221 -0
  2092. package/src/app/chat/chat-first/chat-history.spec.tsx +95 -0
  2093. package/src/app/chat/chat-first/chat-history.tsx +62 -0
  2094. package/src/app/chat/chat-first/copy.spec.ts +23 -0
  2095. package/src/app/chat/chat-first/copy.ts +133 -0
  2096. package/src/app/chat/chat-first/index.ts +64 -0
  2097. package/src/app/chat/chat-first/primary-nav.spec.tsx +255 -0
  2098. package/src/app/chat/chat-first/primary-nav.tsx +179 -0
  2099. package/src/app/chat/chat-first/session-watch-pane.tsx +48 -0
  2100. package/src/app/chat/chat-first/surface-panel.tsx +43 -0
  2101. package/src/app/chat/chat-first/surface-tabs.spec.tsx +157 -0
  2102. package/src/app/chat/chat-first/surface-tabs.tsx +337 -0
  2103. package/src/app/chat/chat-first/types.ts +116 -0
  2104. package/src/app/chat/components/CodeAgentIndicator.tsx +49 -0
  2105. package/src/app/chat/components/CodeRequiredDialog.spec.tsx +100 -0
  2106. package/src/app/chat/components/CodeRequiredDialog.tsx +452 -0
  2107. package/src/app/chat/components/ui/button-classes.ts +2 -0
  2108. package/src/app/chat/components/ui/message-scroller.tsx +148 -0
  2109. package/src/app/chat/composer/assistant-ui-recovery.tsx +228 -0
  2110. package/src/app/chat/composer/index.ts +20 -0
  2111. package/src/app/chat/composer/model-runtime-adapters.ts +26 -0
  2112. package/src/app/chat/composer/runtime-adapters.spec.tsx +58 -0
  2113. package/src/app/chat/composer/runtime-adapters.tsx +129 -0
  2114. package/src/app/chat/composer/use-agentkit-capabilities.hardening.spec.tsx +266 -0
  2115. package/src/app/chat/composer/use-agentkit-capabilities.spec.ts +42 -0
  2116. package/src/app/chat/composer/use-agentkit-capabilities.ts +114 -0
  2117. package/src/app/chat/composer/use-agentkit-integration-menu.hardening.spec.tsx +102 -0
  2118. package/src/app/chat/composer/use-agentkit-integration-menu.spec.tsx +179 -0
  2119. package/src/app/chat/composer/use-agentkit-integration-menu.tsx +91 -0
  2120. package/src/app/chat/composer/use-mention-search.ts +6 -0
  2121. package/src/app/chat/composer/use-send-to-agent-chat.tsx +19 -0
  2122. package/src/app/chat/composer/wired-components.spec.tsx +159 -0
  2123. package/src/app/chat/composer/wired-components.tsx +112 -0
  2124. package/src/app/chat/conversation/AgentConversation.spec.tsx +306 -0
  2125. package/src/app/chat/conversation/AgentConversation.tsx +567 -0
  2126. package/src/app/chat/conversation/code-agent-transcript.spec.ts +249 -0
  2127. package/src/app/chat/conversation/code-agent-transcript.ts +279 -0
  2128. package/src/app/chat/conversation/index.ts +22 -0
  2129. package/src/app/chat/conversation/types.ts +83 -0
  2130. package/src/app/chat/conversation/use-near-bottom-autoscroll.spec.tsx +469 -0
  2131. package/src/app/chat/conversation/use-near-bottom-autoscroll.ts +313 -0
  2132. package/src/app/chat/external-agent-host.spec.ts +85 -0
  2133. package/src/app/chat/external-agent-host.tsx +493 -0
  2134. package/src/app/chat/index.ts +80 -0
  2135. package/src/app/chat/mcp-apps/McpAppRenderer.spec.ts +490 -0
  2136. package/src/app/chat/mcp-apps/McpAppRenderer.tsx +956 -0
  2137. package/src/app/chat/thinking-display.spec.tsx +159 -0
  2138. package/src/app/chat/thinking-display.tsx +112 -0
  2139. package/src/app/chat/tool-cells/BashCell.tsx +150 -0
  2140. package/src/app/chat/tool-cells/EditCell.tsx +282 -0
  2141. package/src/app/chat/tool-cells/FilesChangedSummary.spec.tsx +56 -0
  2142. package/src/app/chat/tool-cells/FilesChangedSummary.tsx +179 -0
  2143. package/src/app/chat/tool-cells/WriteCell.tsx +141 -0
  2144. package/src/app/chat/tool-cells/index.ts +7 -0
  2145. package/src/app/context-xray/ContextMeter.tsx +131 -0
  2146. package/src/app/context-xray/ContextSegmentRow.tsx +26 -0
  2147. package/src/app/context-xray/ContextTreemap.tsx +23 -0
  2148. package/src/app/context-xray/ContextXRayPanel.spec.tsx +94 -0
  2149. package/src/app/context-xray/ContextXRayPanel.tsx +59 -0
  2150. package/src/app/context-xray/SegmentProvenancePopover.tsx +17 -0
  2151. package/src/app/context-xray/index.ts +5 -0
  2152. package/src/app/db-admin/DataGrid.tsx +543 -0
  2153. package/src/app/db-admin/DbAdminPage.tsx +193 -0
  2154. package/src/app/db-admin/DevDatabaseLink.spec.tsx +11 -0
  2155. package/src/app/db-admin/DevDatabaseLink.tsx +8 -0
  2156. package/src/app/db-admin/EditableCell.tsx +434 -0
  2157. package/src/app/db-admin/FilterBar.tsx +202 -0
  2158. package/src/app/db-admin/ResultsGrid.tsx +105 -0
  2159. package/src/app/db-admin/RowSidePanel.tsx +323 -0
  2160. package/src/app/db-admin/SqlEditor.tsx +781 -0
  2161. package/src/app/db-admin/TableBrowser.tsx +206 -0
  2162. package/src/app/db-admin/TableEditor.tsx +741 -0
  2163. package/src/app/db-admin/cell-format.ts +202 -0
  2164. package/src/app/db-admin/changeset.ts +252 -0
  2165. package/src/app/db-admin/export-utils.spec.ts +20 -0
  2166. package/src/app/db-admin/export-utils.ts +60 -0
  2167. package/src/app/db-admin/index.ts +32 -0
  2168. package/src/app/db-admin/sql-storage.ts +108 -0
  2169. package/src/app/db-admin/storage.ts +55 -0
  2170. package/src/app/db-admin/useAgentSync.spec.tsx +80 -0
  2171. package/src/app/db-admin/useAgentSync.ts +184 -0
  2172. package/src/app/db-admin/useDbAdmin.ts +238 -0
  2173. package/src/app/dev-overlay/DevOverlay.tsx +548 -0
  2174. package/src/app/dev-overlay/index.ts +1 -0
  2175. package/src/app/eject/remote-mcp-presets.ts +173 -0
  2176. package/src/app/eject/setup-readiness-ui.tsx +17 -0
  2177. package/src/app/extensions/AgentNativeExtensionFrame.e2e-host.tsx +136 -0
  2178. package/src/app/extensions/AgentNativeExtensionFrame.e2e.spec.ts +193 -0
  2179. package/src/app/extensions/AgentNativeExtensionFrame.spec.tsx +99 -0
  2180. package/src/app/extensions/AgentNativeExtensionFrame.tsx +699 -0
  2181. package/src/app/extensions/EmbeddedExtension.spec.ts +41 -0
  2182. package/src/app/extensions/EmbeddedExtension.tsx +624 -0
  2183. package/src/app/extensions/ExtensionEditor.tsx +454 -0
  2184. package/src/app/extensions/ExtensionQueryErrorState.tsx +46 -0
  2185. package/src/app/extensions/ExtensionSlot.spec.tsx +177 -0
  2186. package/src/app/extensions/ExtensionSlot.tsx +332 -0
  2187. package/src/app/extensions/ExtensionViewer.spec.tsx +374 -0
  2188. package/src/app/extensions/ExtensionViewer.tsx +1553 -0
  2189. package/src/app/extensions/ExtensionViewerPage.tsx +37 -0
  2190. package/src/app/extensions/ExtensionsListPage.spec.tsx +177 -0
  2191. package/src/app/extensions/ExtensionsListPage.tsx +457 -0
  2192. package/src/app/extensions/ExtensionsSidebarSection.spec.tsx +200 -0
  2193. package/src/app/extensions/ExtensionsSidebarSection.tsx +1278 -0
  2194. package/src/app/extensions/InlineExtensionFrame.spec.tsx +416 -0
  2195. package/src/app/extensions/InlineExtensionFrame.tsx +687 -0
  2196. package/src/app/extensions/delete-extension.spec.ts +81 -0
  2197. package/src/app/extensions/delete-extension.ts +77 -0
  2198. package/src/app/extensions/extension-load-error.ts +26 -0
  2199. package/src/app/extensions/extension-order.ts +49 -0
  2200. package/src/app/extensions/extension-popularity.ts +61 -0
  2201. package/src/app/extensions/iframe-bridge.spec.ts +323 -0
  2202. package/src/app/extensions/iframe-bridge.ts +333 -0
  2203. package/src/app/extensions/index.ts +78 -0
  2204. package/src/app/extensions/portable-extension.spec.ts +252 -0
  2205. package/src/app/extensions/portable-extension.ts +1023 -0
  2206. package/src/app/feature-flags/FeatureFlagsPanel.tsx +529 -0
  2207. package/src/app/feature-flags/index.ts +1 -0
  2208. package/src/app/feedback/ErrorReportActions.tsx +64 -0
  2209. package/src/app/feedback/FeedbackButton.spec.ts +134 -0
  2210. package/src/app/feedback/FeedbackButton.tsx +683 -0
  2211. package/src/app/feedback/index.ts +9 -0
  2212. package/src/app/i18n/catalog.spec.ts +61 -0
  2213. package/src/app/i18n/catalog.ts +135 -0
  2214. package/src/app/i18n/catalogs/ar-SA.ts +2759 -0
  2215. package/src/app/i18n/catalogs/de-DE.ts +2841 -0
  2216. package/src/app/i18n/catalogs/en-US.ts +2716 -0
  2217. package/src/app/i18n/catalogs/es-ES.ts +2844 -0
  2218. package/src/app/i18n/catalogs/fr-FR.ts +2877 -0
  2219. package/src/app/i18n/catalogs/hi-IN.ts +2652 -0
  2220. package/src/app/i18n/catalogs/ja-JP.ts +2736 -0
  2221. package/src/app/i18n/catalogs/ko-KR.ts +2689 -0
  2222. package/src/app/i18n/catalogs/pt-BR.ts +2837 -0
  2223. package/src/app/i18n/catalogs/zh-CN.ts +2481 -0
  2224. package/src/app/i18n/catalogs/zh-TW.ts +2493 -0
  2225. package/src/app/i18n/types.ts +11 -0
  2226. package/src/app/i18n.ts +95 -0
  2227. package/src/app/integrations/BuilderIntegrationPage.spec.tsx +479 -0
  2228. package/src/app/integrations/BuilderIntegrationPage.tsx +773 -0
  2229. package/src/app/integrations/ChannelsPage.spec.tsx +824 -0
  2230. package/src/app/integrations/ChannelsPage.tsx +1173 -0
  2231. package/src/app/integrations/GoogleProductLogo.tsx +179 -0
  2232. package/src/app/integrations/IntegrationConnectionChoice.tsx +131 -0
  2233. package/src/app/integrations/IntegrationDetailPage.spec.tsx +497 -0
  2234. package/src/app/integrations/IntegrationDetailPage.tsx +823 -0
  2235. package/src/app/integrations/IntegrationDetailParts.tsx +233 -0
  2236. package/src/app/integrations/IntegrationGrid.tsx +181 -0
  2237. package/src/app/integrations/IntegrationsPage.spec.tsx +394 -0
  2238. package/src/app/integrations/IntegrationsPage.tsx +826 -0
  2239. package/src/app/integrations/IntegrationsPanel.spec.tsx +441 -0
  2240. package/src/app/integrations/IntegrationsPanel.tsx +1623 -0
  2241. package/src/app/integrations/channel-extensions.spec.ts +29 -0
  2242. package/src/app/integrations/channel-extensions.ts +88 -0
  2243. package/src/app/integrations/channel-icons.spec.ts +13 -0
  2244. package/src/app/integrations/channel-icons.ts +33 -0
  2245. package/src/app/integrations/index.ts +12 -0
  2246. package/src/app/integrations/settings-page-link.tsx +66 -0
  2247. package/src/app/labs/ExperimentsSettings.tsx +18 -0
  2248. package/src/app/labs/LabsSettings.tsx +178 -0
  2249. package/src/app/labs/index.ts +2 -0
  2250. package/src/app/notifications/NotificationsBell.spec.tsx +68 -0
  2251. package/src/app/notifications/NotificationsBell.tsx +356 -0
  2252. package/src/app/notifications/index.ts +1 -0
  2253. package/src/app/observability/ObservabilityDashboard.review.spec.tsx +2649 -0
  2254. package/src/app/observability/ObservabilityDashboard.spec.tsx +201 -0
  2255. package/src/app/observability/ObservabilityDashboard.tsx +3330 -0
  2256. package/src/app/observability/ObservabilityReviewSummaryButton.spec.tsx +242 -0
  2257. package/src/app/observability/ObservabilityReviewSummaryButton.tsx +158 -0
  2258. package/src/app/observability/OutputPreview.render.spec.tsx +595 -0
  2259. package/src/app/observability/OutputPreview.spec.ts +283 -0
  2260. package/src/app/observability/OutputPreview.tsx +1046 -0
  2261. package/src/app/observability/ThumbsFeedback.spec.tsx +819 -0
  2262. package/src/app/observability/ThumbsFeedback.tsx +335 -0
  2263. package/src/app/observability/index.ts +21 -0
  2264. package/src/app/observability/useObservability.spec.ts +54 -0
  2265. package/src/app/observability/useObservability.ts +421 -0
  2266. package/src/app/onboarding/FirstRunOnboarding.spec.tsx +1671 -0
  2267. package/src/app/onboarding/FirstRunOnboarding.tsx +1307 -0
  2268. package/src/app/onboarding/NewWorkspaceAppFlow.spec.ts +497 -0
  2269. package/src/app/onboarding/NewWorkspaceAppFlow.tsx +626 -0
  2270. package/src/app/onboarding/OnboardingBanner.tsx +65 -0
  2271. package/src/app/onboarding/OnboardingPanel.tsx +1064 -0
  2272. package/src/app/onboarding/OnboardingStepLayout.tsx +46 -0
  2273. package/src/app/onboarding/SetupButton.tsx +56 -0
  2274. package/src/app/onboarding/first-run-startup-gate.spec.tsx +479 -0
  2275. package/src/app/onboarding/first-run-startup-gate.tsx +159 -0
  2276. package/src/app/onboarding/index.ts +7 -0
  2277. package/src/app/org/AppsAccessSection.tsx +169 -0
  2278. package/src/app/org/AuthenticationSection.tsx +536 -0
  2279. package/src/app/org/BulkInviteForm.spec.tsx +274 -0
  2280. package/src/app/org/BulkInviteForm.tsx +505 -0
  2281. package/src/app/org/GroupsSection.tsx +524 -0
  2282. package/src/app/org/InvitationBanner.tsx +148 -0
  2283. package/src/app/org/MemberAppRoles.tsx +334 -0
  2284. package/src/app/org/MembersSection.tsx +998 -0
  2285. package/src/app/org/OrgGeneralSection.tsx +561 -0
  2286. package/src/app/org/OrgIdentitySettings.spec.tsx +160 -0
  2287. package/src/app/org/OrgIdentitySettings.tsx +522 -0
  2288. package/src/app/org/OrgSwitcher.spec.tsx +779 -0
  2289. package/src/app/org/OrgSwitcher.tsx +927 -0
  2290. package/src/app/org/RequireActiveOrg.tsx +323 -0
  2291. package/src/app/org/RequirePermission.tsx +17 -0
  2292. package/src/app/org/SuccessorPicker.spec.tsx +101 -0
  2293. package/src/app/org/SuccessorPicker.tsx +156 -0
  2294. package/src/app/org/TeamOnboardingCards.tsx +188 -0
  2295. package/src/app/org/TeamPage.search.spec.tsx +294 -0
  2296. package/src/app/org/TeamPage.spec.tsx +479 -0
  2297. package/src/app/org/TeamPage.tsx +140 -0
  2298. package/src/app/org/TeamPrimitives.tsx +113 -0
  2299. package/src/app/org/WorkspaceNotice.spec.tsx +89 -0
  2300. package/src/app/org/WorkspaceNotice.tsx +84 -0
  2301. package/src/app/org/index.ts +129 -0
  2302. package/src/app/org/pages/OrgAppsPage.tsx +207 -0
  2303. package/src/app/org/pages/OrgAuthenticationPage.tsx +228 -0
  2304. package/src/app/org/pages/OrgGeneralPage.tsx +287 -0
  2305. package/src/app/org/pages/OrgMembersPage.tsx +618 -0
  2306. package/src/app/org/pages/OrgPageGate.tsx +107 -0
  2307. package/src/app/org/pages/OrgSettingsPages.spec.tsx +389 -0
  2308. package/src/app/org/workspace-app-links.spec.ts +134 -0
  2309. package/src/app/org/workspace-app-links.ts +425 -0
  2310. package/src/app/progress/RunsTray.spec.tsx +201 -0
  2311. package/src/app/progress/RunsTray.tsx +867 -0
  2312. package/src/app/progress/index.ts +1 -0
  2313. package/src/app/providers/AppProviders.spec.tsx +557 -0
  2314. package/src/app/providers/AppProviders.tsx +522 -0
  2315. package/src/app/providers/AppProviders.webmcp-lifecycle.spec.tsx +217 -0
  2316. package/src/app/providers/index.ts +5 -0
  2317. package/src/app/resources/BuiltinCapabilityDetail.tsx +257 -0
  2318. package/src/app/resources/McpAccessSettings.spec.tsx +214 -0
  2319. package/src/app/resources/McpAccessSettings.tsx +369 -0
  2320. package/src/app/resources/McpAgentKitConnectionRequest.spec.tsx +62 -0
  2321. package/src/app/resources/McpAgentKitConnectionRequest.tsx +100 -0
  2322. package/src/app/resources/McpConnectionSuggestion.render.spec.tsx +174 -0
  2323. package/src/app/resources/McpConnectionSuggestion.spec.ts +167 -0
  2324. package/src/app/resources/McpConnectionSuggestion.tsx +388 -0
  2325. package/src/app/resources/McpIntegrationDialog.hardening.spec.tsx +213 -0
  2326. package/src/app/resources/McpIntegrationDialog.spec.tsx +1235 -0
  2327. package/src/app/resources/McpIntegrationDialog.tsx +1330 -0
  2328. package/src/app/resources/McpIntegrationDialogDeferred.tsx +37 -0
  2329. package/src/app/resources/McpIntegrationLogo.spec.tsx +109 -0
  2330. package/src/app/resources/McpIntegrationLogo.tsx +62 -0
  2331. package/src/app/resources/McpServerDetail.tsx +214 -0
  2332. package/src/app/resources/ResourceEditor.spec.tsx +98 -0
  2333. package/src/app/resources/ResourceEditor.tsx +854 -0
  2334. package/src/app/resources/ResourceSettingsGroups.tsx +596 -0
  2335. package/src/app/resources/ResourceTree.spec.tsx +56 -0
  2336. package/src/app/resources/ResourceTree.tsx +880 -0
  2337. package/src/app/resources/ResourcesPanel.spec.ts +803 -0
  2338. package/src/app/resources/ResourcesPanel.tsx +2544 -0
  2339. package/src/app/resources/index.ts +12 -0
  2340. package/src/app/review/InlineMarkdown.spec.tsx +153 -0
  2341. package/src/app/review/InlineMarkdown.tsx +169 -0
  2342. package/src/app/review/ReviewCommentComposer.spec.tsx +445 -0
  2343. package/src/app/review/ReviewCommentComposer.tsx +499 -0
  2344. package/src/app/review/ReviewStatusBadge.tsx +39 -0
  2345. package/src/app/review/ReviewThreadPanel.spec.tsx +1047 -0
  2346. package/src/app/review/ReviewThreadPanel.tsx +1695 -0
  2347. package/src/app/review/index.ts +4 -0
  2348. package/src/app/settings/AccountSettingsCard.spec.tsx +457 -0
  2349. package/src/app/settings/AccountSettingsCard.tsx +841 -0
  2350. package/src/app/settings/AgentDirectorySection.tsx +207 -0
  2351. package/src/app/settings/AgentPersonalizationSettings.tsx +244 -0
  2352. package/src/app/settings/AgentProviderPicker.tsx +189 -0
  2353. package/src/app/settings/AgentsSection.spec.tsx +237 -0
  2354. package/src/app/settings/AgentsSection.tsx +2441 -0
  2355. package/src/app/settings/ApiKeySettings.tsx +304 -0
  2356. package/src/app/settings/AutomationsSection.spec.tsx +51 -0
  2357. package/src/app/settings/AutomationsSection.tsx +52 -0
  2358. package/src/app/settings/BuilderConnectPopover.spec.tsx +399 -0
  2359. package/src/app/settings/BuilderConnectPopover.tsx +237 -0
  2360. package/src/app/settings/DemoModeSection.tsx +39 -0
  2361. package/src/app/settings/ExtensionsSettingsContent.tsx +21 -0
  2362. package/src/app/settings/KeyProviderTile.spec.tsx +44 -0
  2363. package/src/app/settings/KeyProviderTile.tsx +91 -0
  2364. package/src/app/settings/NewKeyMenu.tsx +185 -0
  2365. package/src/app/settings/ProviderSetupForm.scope.spec.tsx +180 -0
  2366. package/src/app/settings/ProviderSetupForm.tsx +680 -0
  2367. package/src/app/settings/SchedulingTimezoneField.tsx +84 -0
  2368. package/src/app/settings/SecretsSection.spec.tsx +706 -0
  2369. package/src/app/settings/SecretsSection.tsx +1225 -0
  2370. package/src/app/settings/SettingsCrossLinkHint.tsx +21 -0
  2371. package/src/app/settings/SettingsPanel.connections.spec.tsx +468 -0
  2372. package/src/app/settings/SettingsPanel.model-defaults.spec.tsx +125 -0
  2373. package/src/app/settings/SettingsPanel.provider-save.spec.tsx +1020 -0
  2374. package/src/app/settings/SettingsPanel.tsx +4747 -0
  2375. package/src/app/settings/SettingsRow.spec.tsx +76 -0
  2376. package/src/app/settings/SettingsRow.tsx +114 -0
  2377. package/src/app/settings/SettingsSection.spec.tsx +41 -0
  2378. package/src/app/settings/SettingsSection.tsx +249 -0
  2379. package/src/app/settings/SettingsSkeleton.spec.tsx +44 -0
  2380. package/src/app/settings/SettingsSkeleton.tsx +94 -0
  2381. package/src/app/settings/SettingsTabsPage.gate.spec.tsx +122 -0
  2382. package/src/app/settings/SettingsTabsPage.mount.spec.tsx +61 -0
  2383. package/src/app/settings/SettingsTabsPage.spec.ts +55 -0
  2384. package/src/app/settings/SettingsTabsPage.spec.tsx +1285 -0
  2385. package/src/app/settings/SettingsTabsPage.tsx +1072 -0
  2386. package/src/app/settings/StorageSettingsForm.spec.tsx +317 -0
  2387. package/src/app/settings/StorageSettingsForm.tsx +590 -0
  2388. package/src/app/settings/UsageSection.tsx +1397 -0
  2389. package/src/app/settings/VoiceTranscriptionSection.spec.tsx +228 -0
  2390. package/src/app/settings/VoiceTranscriptionSection.tsx +1047 -0
  2391. package/src/app/settings/account/PreferencesSettings.spec.tsx +105 -0
  2392. package/src/app/settings/account/PreferencesSettings.tsx +45 -0
  2393. package/src/app/settings/account/ProfileSettings.spec.tsx +248 -0
  2394. package/src/app/settings/account/ProfileSettings.tsx +325 -0
  2395. package/src/app/settings/account/SecuritySettings.spec.tsx +337 -0
  2396. package/src/app/settings/account/SecuritySettings.tsx +629 -0
  2397. package/src/app/settings/account/account-copy.ts +42 -0
  2398. package/src/app/settings/account/account-hooks.ts +385 -0
  2399. package/src/app/settings/account/search-entries.spec.ts +47 -0
  2400. package/src/app/settings/account/search-entries.ts +76 -0
  2401. package/src/app/settings/agent-settings-search.spec.ts +75 -0
  2402. package/src/app/settings/agent-settings-search.ts +319 -0
  2403. package/src/app/settings/api-keys/ApiKeyDialogs.tsx +650 -0
  2404. package/src/app/settings/api-keys/ApiKeysSettingsPage.spec.tsx +616 -0
  2405. package/src/app/settings/api-keys/ApiKeysSettingsPage.tsx +533 -0
  2406. package/src/app/settings/api-keys/api-keys-client.ts +85 -0
  2407. package/src/app/settings/api-keys/api-keys-state.ts +146 -0
  2408. package/src/app/settings/app-group/AppDefaultModelRow.tsx +241 -0
  2409. package/src/app/settings/app-group/ReadOnlySettingValue.tsx +33 -0
  2410. package/src/app/settings/app-group/SettingsHeaderBadge.tsx +34 -0
  2411. package/src/app/settings/app-settings-tabs.ts +65 -0
  2412. package/src/app/settings/deferred-builder-connect-popover.tsx +30 -0
  2413. package/src/app/settings/extension-settings-capability.spec.ts +16 -0
  2414. package/src/app/settings/index.node-esm.spec.ts +45 -0
  2415. package/src/app/settings/index.ts +114 -0
  2416. package/src/app/settings/infra/EnvironmentDialogs.tsx +377 -0
  2417. package/src/app/settings/infra/InfrastructureSettingsPage.spec.tsx +687 -0
  2418. package/src/app/settings/infra/InfrastructureSettingsPage.tsx +906 -0
  2419. package/src/app/settings/infra/ServiceDialog.tsx +230 -0
  2420. package/src/app/settings/infra/infra-page-state.spec.ts +251 -0
  2421. package/src/app/settings/infra/infra-page-state.ts +282 -0
  2422. package/src/app/settings/infra/logos.tsx +62 -0
  2423. package/src/app/settings/managed-secrets.ts +57 -0
  2424. package/src/app/settings/model/ChatGPTSubscriptionRow.tsx +151 -0
  2425. package/src/app/settings/model/ModelSettingsPage.spec.tsx +743 -0
  2426. package/src/app/settings/model/ModelSettingsPage.tsx +1118 -0
  2427. package/src/app/settings/model/ProviderDialog.spec.tsx +616 -0
  2428. package/src/app/settings/model/ProviderDialog.tsx +1113 -0
  2429. package/src/app/settings/model/RemoveProviderDialog.tsx +213 -0
  2430. package/src/app/settings/model/RestrictKeysDialog.tsx +155 -0
  2431. package/src/app/settings/model/model-page-state.spec.ts +266 -0
  2432. package/src/app/settings/model/model-page-state.ts +305 -0
  2433. package/src/app/settings/recent-prompt-groups.spec.ts +41 -0
  2434. package/src/app/settings/recent-prompt-groups.ts +30 -0
  2435. package/src/app/settings/shell/SettingsShell.spec.tsx +879 -0
  2436. package/src/app/settings/shell/SettingsShell.tsx +1104 -0
  2437. package/src/app/settings/shell/SettingsShellSkeleton.tsx +56 -0
  2438. package/src/app/settings/shell/app-identity.ts +86 -0
  2439. package/src/app/settings/shell/bridge.spec.ts +289 -0
  2440. package/src/app/settings/shell/bridge.ts +276 -0
  2441. package/src/app/settings/shell/context.tsx +48 -0
  2442. package/src/app/settings/shell/core-pages.ts +668 -0
  2443. package/src/app/settings/shell/index.ts +73 -0
  2444. package/src/app/settings/shell/pages/api-keys.tsx +8 -0
  2445. package/src/app/settings/shell/pages/app-group-pages.spec.tsx +527 -0
  2446. package/src/app/settings/shell/pages/app.tsx +105 -0
  2447. package/src/app/settings/shell/pages/apps.tsx +5 -0
  2448. package/src/app/settings/shell/pages/audit.spec.tsx +262 -0
  2449. package/src/app/settings/shell/pages/audit.tsx +520 -0
  2450. package/src/app/settings/shell/pages/auth.tsx +5 -0
  2451. package/src/app/settings/shell/pages/automations.tsx +61 -0
  2452. package/src/app/settings/shell/pages/bridged-tab.tsx +9 -0
  2453. package/src/app/settings/shell/pages/channels.tsx +31 -0
  2454. package/src/app/settings/shell/pages/creative-context.tsx +24 -0
  2455. package/src/app/settings/shell/pages/files.tsx +65 -0
  2456. package/src/app/settings/shell/pages/infra.tsx +6 -0
  2457. package/src/app/settings/shell/pages/instructions.tsx +62 -0
  2458. package/src/app/settings/shell/pages/integrations.tsx +47 -0
  2459. package/src/app/settings/shell/pages/labs.tsx +14 -0
  2460. package/src/app/settings/shell/pages/mcp.tsx +54 -0
  2461. package/src/app/settings/shell/pages/members.tsx +5 -0
  2462. package/src/app/settings/shell/pages/memory.tsx +81 -0
  2463. package/src/app/settings/shell/pages/model.tsx +23 -0
  2464. package/src/app/settings/shell/pages/notifications.tsx +7 -0
  2465. package/src/app/settings/shell/pages/org.tsx +5 -0
  2466. package/src/app/settings/shell/pages/pending.tsx +11 -0
  2467. package/src/app/settings/shell/pages/preferences.tsx +5 -0
  2468. package/src/app/settings/shell/pages/profile.tsx +5 -0
  2469. package/src/app/settings/shell/pages/resource-collection.tsx +25 -0
  2470. package/src/app/settings/shell/pages/resource-pages.spec.tsx +316 -0
  2471. package/src/app/settings/shell/pages/resource-settings-page.tsx +602 -0
  2472. package/src/app/settings/shell/pages/security.tsx +5 -0
  2473. package/src/app/settings/shell/pages/skills.tsx +65 -0
  2474. package/src/app/settings/shell/pages/sub-agents.spec.tsx +329 -0
  2475. package/src/app/settings/shell/pages/sub-agents.tsx +1039 -0
  2476. package/src/app/settings/shell/pages/usage.tsx +6 -0
  2477. package/src/app/settings/shell/pages/whats-new.tsx +58 -0
  2478. package/src/app/settings/shell/registry.spec.ts +156 -0
  2479. package/src/app/settings/shell/registry.ts +194 -0
  2480. package/src/app/settings/shell/return-path.ts +51 -0
  2481. package/src/app/settings/shell/routing.spec.ts +290 -0
  2482. package/src/app/settings/shell/routing.ts +276 -0
  2483. package/src/app/settings/shell/search.spec.ts +93 -0
  2484. package/src/app/settings/shell/search.ts +98 -0
  2485. package/src/app/settings/usage/UsageAlerts.tsx +475 -0
  2486. package/src/app/settings/usage/UsageCharts.tsx +316 -0
  2487. package/src/app/settings/usage/UsageGroup.tsx +48 -0
  2488. package/src/app/settings/usage/UsagePage.spec.tsx +394 -0
  2489. package/src/app/settings/usage/UsagePage.tsx +878 -0
  2490. package/src/app/settings/usage/usage-model.spec.ts +98 -0
  2491. package/src/app/settings/usage/usage-model.ts +248 -0
  2492. package/src/app/settings/use-provider-key-save-scope.ts +32 -0
  2493. package/src/app/settings/useBuilderStatus.spec.tsx +2813 -0
  2494. package/src/app/settings/useBuilderStatus.ts +1720 -0
  2495. package/src/app/settings/useSettingsPanelController.spec.ts +138 -0
  2496. package/src/app/settings/useSettingsPanelController.ts +186 -0
  2497. package/src/app/setup-connections/BuilderConnectCard.spec.tsx +534 -0
  2498. package/src/app/setup-connections/BuilderConnectCard.tsx +514 -0
  2499. package/src/app/setup-connections/ProviderReadinessBadge.tsx +72 -0
  2500. package/src/app/setup-connections/SetupConnectionsPage.tsx +94 -0
  2501. package/src/app/setup-connections/index.ts +11 -0
  2502. package/src/app/setup-connections/useBuilderConnectCardController.spec.tsx +238 -0
  2503. package/src/app/setup-connections/useBuilderConnectCardController.ts +113 -0
  2504. package/src/app/shared/AboutAgentNativeDialog.tsx +149 -0
  2505. package/src/app/shared/AgentNativeIcon.tsx +33 -0
  2506. package/src/app/shared/AppShellSkeleton.tsx +1120 -0
  2507. package/src/app/shared/AppSidebar.spec.tsx +135 -0
  2508. package/src/app/shared/AppSidebar.tsx +202 -0
  2509. package/src/app/shared/AppearancePicker.tsx +74 -0
  2510. package/src/app/shared/ClientOnly.spec.tsx +61 -0
  2511. package/src/app/shared/ClientOnly.tsx +17 -0
  2512. package/src/app/shared/CommandMenu.spec.tsx +942 -0
  2513. package/src/app/shared/CommandMenu.tsx +863 -0
  2514. package/src/app/shared/DefaultSpinner.tsx +129 -0
  2515. package/src/app/shared/EnvironmentBadge.tsx +525 -0
  2516. package/src/app/shared/ErrorBoundary.spec.tsx +28 -0
  2517. package/src/app/shared/ErrorBoundary.tsx +350 -0
  2518. package/src/app/shared/LanguagePicker.spec.tsx +652 -0
  2519. package/src/app/shared/LanguagePicker.tsx +247 -0
  2520. package/src/app/shared/LazyChunkErrorBoundary.tsx +22 -0
  2521. package/src/app/shared/LazyChunkRetryFallback.tsx +27 -0
  2522. package/src/app/shared/PoweredByBadge.tsx +264 -0
  2523. package/src/app/shared/PrimitiveButton.spec.tsx +210 -0
  2524. package/src/app/shared/PrimitiveButton.tsx +58 -0
  2525. package/src/app/shared/RouteTransitionIndicator.spec.tsx +189 -0
  2526. package/src/app/shared/RouteTransitionIndicator.tsx +55 -0
  2527. package/src/app/shared/RuntimeConfigNotice.tsx +181 -0
  2528. package/src/app/shared/StarfieldBackground.tsx +423 -0
  2529. package/src/app/shared/Turnstile.tsx +111 -0
  2530. package/src/app/shared/index.ts +19 -0
  2531. package/src/app/shared/lazy-chunk-error-boundary.spec.tsx +72 -0
  2532. package/src/app/sharing/AgentShareSection.tsx +138 -0
  2533. package/src/app/sharing/ShareButton.spec.tsx +1238 -0
  2534. package/src/app/sharing/ShareButton.tsx +1625 -0
  2535. package/src/app/sharing/ShareDialog.spec.tsx +197 -0
  2536. package/src/app/sharing/ShareDialog.tsx +511 -0
  2537. package/src/app/sharing/VisibilityBadge.tsx +4 -0
  2538. package/src/app/sharing/index.ts +4 -0
  2539. package/src/app/sharing/use-share-org-member-search.spec.tsx +72 -0
  2540. package/src/app/sharing/useShareButtonController.spec.tsx +356 -0
  2541. package/src/app/sharing/useShareDialogController.spec.tsx +385 -0
  2542. package/src/app/styles/agent-conversation.css +770 -0
  2543. package/src/app/styles/agent-native.css +1429 -0
  2544. package/src/app/styles/agent-native.spec.ts +420 -0
  2545. package/src/app/styles/blocks.css +1668 -0
  2546. package/src/app/styles/chat-history-list.css +15 -0
  2547. package/src/app/styles/rich-markdown-editor.css +1 -0
  2548. package/src/app/styles/tokens/agent-kit.css +116 -0
  2549. package/src/app/terminal/AgentTerminal.spec.ts +328 -0
  2550. package/src/app/terminal/AgentTerminal.tsx +542 -0
  2551. package/src/app/terminal/index.ts +6 -0
  2552. package/src/app/transcription/BuilderTranscriptionCta.spec.tsx +59 -0
  2553. package/src/app/transcription/BuilderTranscriptionCta.tsx +65 -0
  2554. package/src/app/transcription/index.ts +1 -0
  2555. package/src/app-shell/prompt-home.css +4 -0
  2556. package/src/composer/ComposerContextMenu.spec.tsx +260 -38
  2557. package/src/composer/ComposerContextMenu.tsx +252 -93
  2558. package/src/composer/ComposerContextPicker.spec.tsx +16 -19
  2559. package/src/composer/ComposerContextPickerDialog.spec.tsx +121 -3
  2560. package/src/composer/ComposerContextPickerDialog.tsx +153 -17
  2561. package/src/composer/ComposerPlusMenu.parity.spec.tsx +777 -0
  2562. package/src/composer/ComposerPlusMenu.tsx +419 -728
  2563. package/src/composer/MentionPopover.tsx +4 -1
  2564. package/src/composer/PromptComposer.context.spec.tsx +558 -23
  2565. package/src/composer/PromptComposer.submission.spec.tsx +488 -0
  2566. package/src/composer/PromptComposer.tsx +38 -32
  2567. package/src/composer/TiptapComposer.spec.ts +567 -11
  2568. package/src/composer/TiptapComposer.tsx +563 -140
  2569. package/src/composer/attachment-accept.spec.ts +12 -0
  2570. package/src/composer/attachment-accept.ts +20 -3
  2571. package/src/composer/index.ts +4 -0
  2572. package/src/composer/types.ts +1 -1
  2573. package/src/composer/use-composer-panel-placement.ts +70 -0
  2574. package/src/composer/use-mention-search.spec.tsx +123 -0
  2575. package/src/composer/use-mention-search.ts +57 -22
  2576. package/src/composer/use-skills.spec.tsx +154 -0
  2577. package/src/composer/use-skills.ts +61 -3
  2578. package/src/composer/useComposerContextPicker.ts +7 -3
  2579. package/src/styles.css +2 -3
  2580. package/dist/app-shell/PromptHome.spec.d.ts +0 -2
  2581. package/dist/app-shell/PromptHome.spec.d.ts.map +0 -1
  2582. package/dist/app-shell/PromptHome.spec.js +0 -289
  2583. package/dist/app-shell/PromptHome.spec.js.map +0 -1
  2584. package/dist/app-shell/TemplatePreviewDialog.spec.d.ts +0 -2
  2585. package/dist/app-shell/TemplatePreviewDialog.spec.d.ts.map +0 -1
  2586. package/dist/app-shell/TemplatePreviewDialog.spec.js +0 -258
  2587. package/dist/app-shell/TemplatePreviewDialog.spec.js.map +0 -1
  2588. package/dist/app-shell/sidebar-footer-actions.spec.d.ts +0 -2
  2589. package/dist/app-shell/sidebar-footer-actions.spec.d.ts.map +0 -1
  2590. package/dist/app-shell/sidebar-footer-actions.spec.js +0 -43
  2591. package/dist/app-shell/sidebar-footer-actions.spec.js.map +0 -1
  2592. package/dist/app-shell/sidebar-overflow.spec.d.ts +0 -2
  2593. package/dist/app-shell/sidebar-overflow.spec.d.ts.map +0 -1
  2594. package/dist/app-shell/sidebar-overflow.spec.js +0 -109
  2595. package/dist/app-shell/sidebar-overflow.spec.js.map +0 -1
  2596. package/dist/app-shell/sidebar.spec.d.ts +0 -2
  2597. package/dist/app-shell/sidebar.spec.d.ts.map +0 -1
  2598. package/dist/app-shell/sidebar.spec.js +0 -112
  2599. package/dist/app-shell/sidebar.spec.js.map +0 -1
  2600. package/dist/app-shell/use-persistent-sidebar-collapsed.spec.d.ts +0 -2
  2601. package/dist/app-shell/use-persistent-sidebar-collapsed.spec.d.ts.map +0 -1
  2602. package/dist/app-shell/use-persistent-sidebar-collapsed.spec.js +0 -157
  2603. package/dist/app-shell/use-persistent-sidebar-collapsed.spec.js.map +0 -1
  2604. package/dist/canvas-annotations/DrawOverlay.spec.d.ts +0 -2
  2605. package/dist/canvas-annotations/DrawOverlay.spec.d.ts.map +0 -1
  2606. package/dist/canvas-annotations/DrawOverlay.spec.js +0 -119
  2607. package/dist/canvas-annotations/DrawOverlay.spec.js.map +0 -1
  2608. package/dist/canvas-interactions/canvas-interactions.spec.d.ts +0 -2
  2609. package/dist/canvas-interactions/canvas-interactions.spec.d.ts.map +0 -1
  2610. package/dist/canvas-interactions/canvas-interactions.spec.js +0 -593
  2611. package/dist/canvas-interactions/canvas-interactions.spec.js.map +0 -1
  2612. package/dist/chat-history/ChatHistoryList.spec.d.ts +0 -2
  2613. package/dist/chat-history/ChatHistoryList.spec.d.ts.map +0 -1
  2614. package/dist/chat-history/ChatHistoryList.spec.js +0 -289
  2615. package/dist/chat-history/ChatHistoryList.spec.js.map +0 -1
  2616. package/dist/chat-history/ChatHistoryRail.spec.d.ts +0 -2
  2617. package/dist/chat-history/ChatHistoryRail.spec.d.ts.map +0 -1
  2618. package/dist/chat-history/ChatHistoryRail.spec.js +0 -185
  2619. package/dist/chat-history/ChatHistoryRail.spec.js.map +0 -1
  2620. package/dist/chat-history/useChatHistoryRailController.spec.d.ts +0 -2
  2621. package/dist/chat-history/useChatHistoryRailController.spec.d.ts.map +0 -1
  2622. package/dist/chat-history/useChatHistoryRailController.spec.js +0 -101
  2623. package/dist/chat-history/useChatHistoryRailController.spec.js.map +0 -1
  2624. package/dist/collab-ui/PresenceBar.spec.d.ts +0 -2
  2625. package/dist/collab-ui/PresenceBar.spec.d.ts.map +0 -1
  2626. package/dist/collab-ui/PresenceBar.spec.js +0 -101
  2627. package/dist/collab-ui/PresenceBar.spec.js.map +0 -1
  2628. package/dist/collab-ui/lead-client.spec.d.ts +0 -2
  2629. package/dist/collab-ui/lead-client.spec.d.ts.map +0 -1
  2630. package/dist/collab-ui/lead-client.spec.js +0 -15
  2631. package/dist/collab-ui/lead-client.spec.js.map +0 -1
  2632. package/dist/collab-ui/types.spec.d.ts +0 -2
  2633. package/dist/collab-ui/types.spec.d.ts.map +0 -1
  2634. package/dist/collab-ui/types.spec.js +0 -49
  2635. package/dist/collab-ui/types.spec.js.map +0 -1
  2636. package/dist/composer/AgentComposerFrame.spec.d.ts +0 -2
  2637. package/dist/composer/AgentComposerFrame.spec.d.ts.map +0 -1
  2638. package/dist/composer/AgentComposerFrame.spec.js +0 -18
  2639. package/dist/composer/AgentComposerFrame.spec.js.map +0 -1
  2640. package/dist/composer/AgentComposerFrame.viewport.spec.d.ts +0 -2
  2641. package/dist/composer/AgentComposerFrame.viewport.spec.d.ts.map +0 -1
  2642. package/dist/composer/AgentComposerFrame.viewport.spec.js +0 -96
  2643. package/dist/composer/AgentComposerFrame.viewport.spec.js.map +0 -1
  2644. package/dist/composer/AgentSuggestionBar.spec.d.ts +0 -2
  2645. package/dist/composer/AgentSuggestionBar.spec.d.ts.map +0 -1
  2646. package/dist/composer/AgentSuggestionBar.spec.js +0 -63
  2647. package/dist/composer/AgentSuggestionBar.spec.js.map +0 -1
  2648. package/dist/composer/ComposerContextMenu.spec.d.ts +0 -2
  2649. package/dist/composer/ComposerContextMenu.spec.d.ts.map +0 -1
  2650. package/dist/composer/ComposerContextMenu.spec.js +0 -307
  2651. package/dist/composer/ComposerContextMenu.spec.js.map +0 -1
  2652. package/dist/composer/ComposerContextPicker.spec.d.ts +0 -2
  2653. package/dist/composer/ComposerContextPicker.spec.d.ts.map +0 -1
  2654. package/dist/composer/ComposerContextPicker.spec.js +0 -454
  2655. package/dist/composer/ComposerContextPicker.spec.js.map +0 -1
  2656. package/dist/composer/ComposerContextPickerDialog.spec.d.ts +0 -2
  2657. package/dist/composer/ComposerContextPickerDialog.spec.d.ts.map +0 -1
  2658. package/dist/composer/ComposerContextPickerDialog.spec.js +0 -336
  2659. package/dist/composer/ComposerContextPickerDialog.spec.js.map +0 -1
  2660. package/dist/composer/ComposerPlusMenu.spec.d.ts +0 -2
  2661. package/dist/composer/ComposerPlusMenu.spec.d.ts.map +0 -1
  2662. package/dist/composer/ComposerPlusMenu.spec.js +0 -12
  2663. package/dist/composer/ComposerPlusMenu.spec.js.map +0 -1
  2664. package/dist/composer/MentionItemMedia.spec.d.ts +0 -2
  2665. package/dist/composer/MentionItemMedia.spec.d.ts.map +0 -1
  2666. package/dist/composer/MentionItemMedia.spec.js +0 -72
  2667. package/dist/composer/MentionItemMedia.spec.js.map +0 -1
  2668. package/dist/composer/MessageQueueDrawer.spec.d.ts +0 -2
  2669. package/dist/composer/MessageQueueDrawer.spec.d.ts.map +0 -1
  2670. package/dist/composer/MessageQueueDrawer.spec.js +0 -108
  2671. package/dist/composer/MessageQueueDrawer.spec.js.map +0 -1
  2672. package/dist/composer/PastedTextChip.spec.d.ts +0 -2
  2673. package/dist/composer/PastedTextChip.spec.d.ts.map +0 -1
  2674. package/dist/composer/PastedTextChip.spec.js +0 -42
  2675. package/dist/composer/PastedTextChip.spec.js.map +0 -1
  2676. package/dist/composer/PromptComposer.context.spec.d.ts +0 -2
  2677. package/dist/composer/PromptComposer.context.spec.d.ts.map +0 -1
  2678. package/dist/composer/PromptComposer.context.spec.js +0 -671
  2679. package/dist/composer/PromptComposer.context.spec.js.map +0 -1
  2680. package/dist/composer/PromptComposer.spec.d.ts +0 -2
  2681. package/dist/composer/PromptComposer.spec.d.ts.map +0 -1
  2682. package/dist/composer/PromptComposer.spec.js +0 -188
  2683. package/dist/composer/PromptComposer.spec.js.map +0 -1
  2684. package/dist/composer/RealtimeVoiceMode.spec.d.ts +0 -2
  2685. package/dist/composer/RealtimeVoiceMode.spec.d.ts.map +0 -1
  2686. package/dist/composer/RealtimeVoiceMode.spec.js +0 -541
  2687. package/dist/composer/RealtimeVoiceMode.spec.js.map +0 -1
  2688. package/dist/composer/TiptapComposer.spec.d.ts +0 -2
  2689. package/dist/composer/TiptapComposer.spec.d.ts.map +0 -1
  2690. package/dist/composer/TiptapComposer.spec.js +0 -1780
  2691. package/dist/composer/TiptapComposer.spec.js.map +0 -1
  2692. package/dist/composer/VoiceButton.spec.d.ts +0 -2
  2693. package/dist/composer/VoiceButton.spec.d.ts.map +0 -1
  2694. package/dist/composer/VoiceButton.spec.js +0 -27
  2695. package/dist/composer/VoiceButton.spec.js.map +0 -1
  2696. package/dist/composer/asset-picker-url.spec.d.ts +0 -2
  2697. package/dist/composer/asset-picker-url.spec.d.ts.map +0 -1
  2698. package/dist/composer/asset-picker-url.spec.js +0 -23
  2699. package/dist/composer/asset-picker-url.spec.js.map +0 -1
  2700. package/dist/composer/attachment-accept.spec.d.ts +0 -2
  2701. package/dist/composer/attachment-accept.spec.d.ts.map +0 -1
  2702. package/dist/composer/attachment-accept.spec.js +0 -39
  2703. package/dist/composer/attachment-accept.spec.js.map +0 -1
  2704. package/dist/composer/context-items.spec.d.ts +0 -2
  2705. package/dist/composer/context-items.spec.d.ts.map +0 -1
  2706. package/dist/composer/context-items.spec.js +0 -43
  2707. package/dist/composer/context-items.spec.js.map +0 -1
  2708. package/dist/composer/draft-key.spec.d.ts +0 -2
  2709. package/dist/composer/draft-key.spec.d.ts.map +0 -1
  2710. package/dist/composer/draft-key.spec.js +0 -13
  2711. package/dist/composer/draft-key.spec.js.map +0 -1
  2712. package/dist/composer/model-selection.spec.d.ts +0 -2
  2713. package/dist/composer/model-selection.spec.d.ts.map +0 -1
  2714. package/dist/composer/model-selection.spec.js +0 -46
  2715. package/dist/composer/model-selection.spec.js.map +0 -1
  2716. package/dist/composer/pasted-text.spec.d.ts +0 -2
  2717. package/dist/composer/pasted-text.spec.d.ts.map +0 -1
  2718. package/dist/composer/pasted-text.spec.js +0 -105
  2719. package/dist/composer/pasted-text.spec.js.map +0 -1
  2720. package/dist/composer/prompt-attachments.spec.d.ts +0 -2
  2721. package/dist/composer/prompt-attachments.spec.d.ts.map +0 -1
  2722. package/dist/composer/prompt-attachments.spec.js +0 -63
  2723. package/dist/composer/prompt-attachments.spec.js.map +0 -1
  2724. package/dist/composer/realtime-voice-audio-level.spec.d.ts +0 -2
  2725. package/dist/composer/realtime-voice-audio-level.spec.d.ts.map +0 -1
  2726. package/dist/composer/realtime-voice-audio-level.spec.js +0 -32
  2727. package/dist/composer/realtime-voice-audio-level.spec.js.map +0 -1
  2728. package/dist/composer/realtime-voice-transcript.spec.d.ts +0 -2
  2729. package/dist/composer/realtime-voice-transcript.spec.d.ts.map +0 -1
  2730. package/dist/composer/realtime-voice-transcript.spec.js +0 -73
  2731. package/dist/composer/realtime-voice-transcript.spec.js.map +0 -1
  2732. package/dist/composer/runtime-adapters.spec.d.ts +0 -2
  2733. package/dist/composer/runtime-adapters.spec.d.ts.map +0 -1
  2734. package/dist/composer/runtime-adapters.spec.js +0 -68
  2735. package/dist/composer/runtime-adapters.spec.js.map +0 -1
  2736. package/dist/composer/useRealtimeVoiceMode.spec.d.ts +0 -2
  2737. package/dist/composer/useRealtimeVoiceMode.spec.d.ts.map +0 -1
  2738. package/dist/composer/useRealtimeVoiceMode.spec.js +0 -959
  2739. package/dist/composer/useRealtimeVoiceMode.spec.js.map +0 -1
  2740. package/dist/composer/useVoiceDictation.browser.spec.d.ts +0 -2
  2741. package/dist/composer/useVoiceDictation.browser.spec.d.ts.map +0 -1
  2742. package/dist/composer/useVoiceDictation.browser.spec.js +0 -220
  2743. package/dist/composer/useVoiceDictation.browser.spec.js.map +0 -1
  2744. package/dist/composer/useVoiceDictation.spec.d.ts +0 -2
  2745. package/dist/composer/useVoiceDictation.spec.d.ts.map +0 -1
  2746. package/dist/composer/useVoiceDictation.spec.js +0 -32
  2747. package/dist/composer/useVoiceDictation.spec.js.map +0 -1
  2748. package/dist/conformance/conformance.spec.d.ts +0 -2
  2749. package/dist/conformance/conformance.spec.d.ts.map +0 -1
  2750. package/dist/conformance/conformance.spec.js +0 -87
  2751. package/dist/conformance/conformance.spec.js.map +0 -1
  2752. package/dist/context-ui/ContextMeter.spec.d.ts +0 -2
  2753. package/dist/context-ui/ContextMeter.spec.d.ts.map +0 -1
  2754. package/dist/context-ui/ContextMeter.spec.js +0 -52
  2755. package/dist/context-ui/ContextMeter.spec.js.map +0 -1
  2756. package/dist/dashboard/GenericChartPanel.spec.d.ts +0 -2
  2757. package/dist/dashboard/GenericChartPanel.spec.d.ts.map +0 -1
  2758. package/dist/dashboard/GenericChartPanel.spec.js +0 -41
  2759. package/dist/dashboard/GenericChartPanel.spec.js.map +0 -1
  2760. package/dist/dashboard/dashboard-layout.spec.d.ts +0 -2
  2761. package/dist/dashboard/dashboard-layout.spec.d.ts.map +0 -1
  2762. package/dist/dashboard/dashboard-layout.spec.js +0 -52
  2763. package/dist/dashboard/dashboard-layout.spec.js.map +0 -1
  2764. package/dist/data-grid/DataGrid.spec.d.ts +0 -2
  2765. package/dist/data-grid/DataGrid.spec.d.ts.map +0 -1
  2766. package/dist/data-grid/DataGrid.spec.js +0 -226
  2767. package/dist/data-grid/DataGrid.spec.js.map +0 -1
  2768. package/dist/design-system/default-adapter.spec.d.ts +0 -2
  2769. package/dist/design-system/default-adapter.spec.d.ts.map +0 -1
  2770. package/dist/design-system/default-adapter.spec.js +0 -129
  2771. package/dist/design-system/default-adapter.spec.js.map +0 -1
  2772. package/dist/design-system/design-system.spec.d.ts +0 -2
  2773. package/dist/design-system/design-system.spec.d.ts.map +0 -1
  2774. package/dist/design-system/design-system.spec.js +0 -231
  2775. package/dist/design-system/design-system.spec.js.map +0 -1
  2776. package/dist/design-system/theme.spec.d.ts +0 -2
  2777. package/dist/design-system/theme.spec.d.ts.map +0 -1
  2778. package/dist/design-system/theme.spec.js +0 -43
  2779. package/dist/design-system/theme.spec.js.map +0 -1
  2780. package/dist/design-tweaks/font-family.spec.d.ts +0 -2
  2781. package/dist/design-tweaks/font-family.spec.d.ts.map +0 -1
  2782. package/dist/design-tweaks/font-family.spec.js +0 -29
  2783. package/dist/design-tweaks/font-family.spec.js.map +0 -1
  2784. package/dist/design-tweaks/visual-style-controls.spec.d.ts +0 -2
  2785. package/dist/design-tweaks/visual-style-controls.spec.d.ts.map +0 -1
  2786. package/dist/design-tweaks/visual-style-controls.spec.js +0 -457
  2787. package/dist/design-tweaks/visual-style-controls.spec.js.map +0 -1
  2788. package/dist/editor/DragHandle.spec.d.ts +0 -2
  2789. package/dist/editor/DragHandle.spec.d.ts.map +0 -1
  2790. package/dist/editor/DragHandle.spec.js +0 -532
  2791. package/dist/editor/DragHandle.spec.js.map +0 -1
  2792. package/dist/editor/ImageExtension.roundtrip.spec.d.ts +0 -2
  2793. package/dist/editor/ImageExtension.roundtrip.spec.d.ts.map +0 -1
  2794. package/dist/editor/ImageExtension.roundtrip.spec.js +0 -83
  2795. package/dist/editor/ImageExtension.roundtrip.spec.js.map +0 -1
  2796. package/dist/editor/RegistryBlockNode.spec.d.ts +0 -2
  2797. package/dist/editor/RegistryBlockNode.spec.d.ts.map +0 -1
  2798. package/dist/editor/RegistryBlockNode.spec.js +0 -275
  2799. package/dist/editor/RegistryBlockNode.spec.js.map +0 -1
  2800. package/dist/editor/RichMarkdownEditor.collab.spec.d.ts +0 -2
  2801. package/dist/editor/RichMarkdownEditor.collab.spec.d.ts.map +0 -1
  2802. package/dist/editor/RichMarkdownEditor.collab.spec.js +0 -57
  2803. package/dist/editor/RichMarkdownEditor.collab.spec.js.map +0 -1
  2804. package/dist/editor/RichMarkdownEditor.roundtrip.spec.d.ts +0 -2
  2805. package/dist/editor/RichMarkdownEditor.roundtrip.spec.d.ts.map +0 -1
  2806. package/dist/editor/RichMarkdownEditor.roundtrip.spec.js +0 -131
  2807. package/dist/editor/RichMarkdownEditor.roundtrip.spec.js.map +0 -1
  2808. package/dist/editor/SharedRichEditor.spec.d.ts +0 -2
  2809. package/dist/editor/SharedRichEditor.spec.d.ts.map +0 -1
  2810. package/dist/editor/SharedRichEditor.spec.js +0 -133
  2811. package/dist/editor/SharedRichEditor.spec.js.map +0 -1
  2812. package/dist/editor/SlashCommandMenu.spec.d.ts +0 -2
  2813. package/dist/editor/SlashCommandMenu.spec.d.ts.map +0 -1
  2814. package/dist/editor/SlashCommandMenu.spec.js +0 -67
  2815. package/dist/editor/SlashCommandMenu.spec.js.map +0 -1
  2816. package/dist/editor/TaskListPaste.spec.d.ts +0 -2
  2817. package/dist/editor/TaskListPaste.spec.d.ts.map +0 -1
  2818. package/dist/editor/TaskListPaste.spec.js +0 -239
  2819. package/dist/editor/TaskListPaste.spec.js.map +0 -1
  2820. package/dist/editor/disableHistory.spec.d.ts +0 -2
  2821. package/dist/editor/disableHistory.spec.d.ts.map +0 -1
  2822. package/dist/editor/disableHistory.spec.js +0 -57
  2823. package/dist/editor/disableHistory.spec.js.map +0 -1
  2824. package/dist/editor/gfmDoc.spec.d.ts +0 -2
  2825. package/dist/editor/gfmDoc.spec.d.ts.map +0 -1
  2826. package/dist/editor/gfmDoc.spec.js +0 -159
  2827. package/dist/editor/gfmDoc.spec.js.map +0 -1
  2828. package/dist/editor/structuralReorderUndo.spec.d.ts +0 -2
  2829. package/dist/editor/structuralReorderUndo.spec.d.ts.map +0 -1
  2830. package/dist/editor/structuralReorderUndo.spec.js +0 -92
  2831. package/dist/editor/structuralReorderUndo.spec.js.map +0 -1
  2832. package/dist/editor/surgical-apply.spec.d.ts +0 -2
  2833. package/dist/editor/surgical-apply.spec.d.ts.map +0 -1
  2834. package/dist/editor/surgical-apply.spec.js +0 -398
  2835. package/dist/editor/surgical-apply.spec.js.map +0 -1
  2836. package/dist/editor/useCollabReconcile.concurrent.spec.d.ts +0 -2
  2837. package/dist/editor/useCollabReconcile.concurrent.spec.d.ts.map +0 -1
  2838. package/dist/editor/useCollabReconcile.concurrent.spec.js +0 -2062
  2839. package/dist/editor/useCollabReconcile.concurrent.spec.js.map +0 -1
  2840. package/dist/editor/useCollabReconcile.idempotent.spec.d.ts +0 -2
  2841. package/dist/editor/useCollabReconcile.idempotent.spec.d.ts.map +0 -1
  2842. package/dist/editor/useCollabReconcile.idempotent.spec.js +0 -199
  2843. package/dist/editor/useCollabReconcile.idempotent.spec.js.map +0 -1
  2844. package/dist/editor/useCollabReconcile.seed.spec.d.ts +0 -2
  2845. package/dist/editor/useCollabReconcile.seed.spec.d.ts.map +0 -1
  2846. package/dist/editor/useCollabReconcile.seed.spec.js +0 -55
  2847. package/dist/editor/useCollabReconcile.seed.spec.js.map +0 -1
  2848. package/dist/editor/useCollabReconcile.spec.d.ts +0 -2
  2849. package/dist/editor/useCollabReconcile.spec.d.ts.map +0 -1
  2850. package/dist/editor/useCollabReconcile.spec.js +0 -20
  2851. package/dist/editor/useCollabReconcile.spec.js.map +0 -1
  2852. package/dist/icons/ResourceIcon.spec.d.ts +0 -2
  2853. package/dist/icons/ResourceIcon.spec.d.ts.map +0 -1
  2854. package/dist/icons/ResourceIcon.spec.js +0 -23
  2855. package/dist/icons/ResourceIcon.spec.js.map +0 -1
  2856. package/dist/icons/catalog.spec.d.ts +0 -2
  2857. package/dist/icons/catalog.spec.d.ts.map +0 -1
  2858. package/dist/icons/catalog.spec.js +0 -29
  2859. package/dist/icons/catalog.spec.js.map +0 -1
  2860. package/dist/icons/emoji-catalog.spec.d.ts +0 -2
  2861. package/dist/icons/emoji-catalog.spec.d.ts.map +0 -1
  2862. package/dist/icons/emoji-catalog.spec.js +0 -29
  2863. package/dist/icons/emoji-catalog.spec.js.map +0 -1
  2864. package/dist/icons/icon-persistence.spec.d.ts +0 -2
  2865. package/dist/icons/icon-persistence.spec.d.ts.map +0 -1
  2866. package/dist/icons/icon-persistence.spec.js +0 -38
  2867. package/dist/icons/icon-persistence.spec.js.map +0 -1
  2868. package/dist/icons/recents.spec.d.ts +0 -2
  2869. package/dist/icons/recents.spec.d.ts.map +0 -1
  2870. package/dist/icons/recents.spec.js +0 -29
  2871. package/dist/icons/recents.spec.js.map +0 -1
  2872. package/dist/onboarding/AuthForm.spec.d.ts +0 -2
  2873. package/dist/onboarding/AuthForm.spec.d.ts.map +0 -1
  2874. package/dist/onboarding/AuthForm.spec.js +0 -25
  2875. package/dist/onboarding/AuthForm.spec.js.map +0 -1
  2876. package/dist/sharing/ShareControls.spec.d.ts +0 -2
  2877. package/dist/sharing/ShareControls.spec.d.ts.map +0 -1
  2878. package/dist/sharing/ShareControls.spec.js +0 -55
  2879. package/dist/sharing/ShareControls.spec.js.map +0 -1
  2880. package/dist/sharing/VisibilityBadge.spec.d.ts +0 -2
  2881. package/dist/sharing/VisibilityBadge.spec.d.ts.map +0 -1
  2882. package/dist/sharing/VisibilityBadge.spec.js +0 -60
  2883. package/dist/sharing/VisibilityBadge.spec.js.map +0 -1
  2884. package/dist/ui/command.spec.d.ts +0 -2
  2885. package/dist/ui/command.spec.d.ts.map +0 -1
  2886. package/dist/ui/command.spec.js +0 -48
  2887. package/dist/ui/command.spec.js.map +0 -1
  2888. package/dist/ui/cube-loader.spec.d.ts +0 -2
  2889. package/dist/ui/cube-loader.spec.d.ts.map +0 -1
  2890. package/dist/ui/cube-loader.spec.js +0 -79
  2891. package/dist/ui/cube-loader.spec.js.map +0 -1
  2892. package/dist/ui/dialog.spec.d.ts +0 -2
  2893. package/dist/ui/dialog.spec.d.ts.map +0 -1
  2894. package/dist/ui/dialog.spec.js +0 -21
  2895. package/dist/ui/dialog.spec.js.map +0 -1
  2896. package/dist/ui/filter-trigger.spec.d.ts +0 -2
  2897. package/dist/ui/filter-trigger.spec.d.ts.map +0 -1
  2898. package/dist/ui/filter-trigger.spec.js +0 -22
  2899. package/dist/ui/filter-trigger.spec.js.map +0 -1
  2900. package/dist/ui/menu-shortcut-spacing.test.d.ts +0 -2
  2901. package/dist/ui/menu-shortcut-spacing.test.d.ts.map +0 -1
  2902. package/dist/ui/menu-shortcut-spacing.test.js +0 -18
  2903. package/dist/ui/menu-shortcut-spacing.test.js.map +0 -1
@@ -0,0 +1,2966 @@
1
+ import { getBrowserTabId } from "@agent-native/core/client/hooks";
2
+ import type { AgentRun } from "@agent-native/core/progress";
3
+ import { Tooltip as DesignSystemTooltip } from "@agent-native/toolkit/design-system";
4
+ import {
5
+ DropdownMenu,
6
+ DropdownMenuContent,
7
+ DropdownMenuItem,
8
+ DropdownMenuSeparator,
9
+ DropdownMenuShortcut,
10
+ DropdownMenuTrigger,
11
+ } from "@agent-native/toolkit/ui/dropdown-menu";
12
+ import { normalizeTooltipText } from "@agent-native/toolkit/ui/tooltip";
13
+ import {
14
+ IconMessageCircle,
15
+ IconMessageDots,
16
+ IconTerminal2,
17
+ IconLayoutSidebarRightCollapse,
18
+ IconLayoutGrid,
19
+ IconCheck,
20
+ IconPlus,
21
+ IconX,
22
+ IconDotsVertical,
23
+ IconHistory,
24
+ IconArrowsHorizontal,
25
+ IconExternalLink,
26
+ IconPlugConnected,
27
+ IconShare3,
28
+ } from "@tabler/icons-react";
29
+ import React, {
30
+ useState,
31
+ useEffect,
32
+ useRef,
33
+ useCallback,
34
+ useMemo,
35
+ lazy,
36
+ Suspense,
37
+ startTransition,
38
+ } from "react";
39
+
40
+ import { resolveFeedbackUrl } from "../feedback/FeedbackButton.js";
41
+ import { ErrorReportActions, FeedbackButton } from "../feedback/index.js";
42
+ import { RunsTrayMenuItem } from "../progress/index.js";
43
+ import { ShareButton } from "../sharing/index.js";
44
+ import { ThinkingDisplayProvider } from "./thinking-display.js";
45
+ const loadMultiTabAssistantChat = () =>
46
+ import("./MultiTabAssistantChat.js").then((m) => ({
47
+ default: m.MultiTabAssistantChat,
48
+ }));
49
+ const MultiTabAssistantChatLazy = lazy(loadMultiTabAssistantChat);
50
+ import { buildSettingsRoute } from "@agent-native/core/navigation";
51
+ import {
52
+ isSettingsSectionId,
53
+ SETTINGS_SECTION_ALIASES,
54
+ } from "@agent-native/core/navigation";
55
+ import { withBuilderUtmTrackingParams } from "@agent-native/core/shared/builder-link-tracking";
56
+ import { useLocation, useNavigate } from "react-router";
57
+
58
+ import {
59
+ AGENT_PANEL_OPEN_SETTINGS_EVENT,
60
+ AGENT_PANEL_SET_MODE_EVENT,
61
+ } from "./agent-sidebar-events.js";
62
+ import type { AgentChatSurfaceKind } from "./chat/surface-types.js";
63
+ export {
64
+ shouldHandleAgentPanelChatShortcut,
65
+ shouldHandleAgentSidebarToggle,
66
+ } from "./agent-sidebar-events.js";
67
+ export {
68
+ AgentSidebar,
69
+ AgentToggleButton,
70
+ focusAgentChat,
71
+ preloadAgentChatSurface,
72
+ } from "./AgentSidebar.js";
73
+ export type { AgentSidebarProps } from "./AgentSidebar.js";
74
+ import {
75
+ AGENT_CHAT_VIEW_TRANSITION_CLASS,
76
+ getAgentChatViewTransitionStyle,
77
+ } from "@agent-native/core/client/agent-chat";
78
+ import { useDevMode } from "@agent-native/core/client/agent-chat";
79
+ import { trackEvent } from "@agent-native/core/client/analytics";
80
+ import { agentNativePath, appPath } from "@agent-native/core/client/api-path";
81
+ import { fetchBuilderStatus } from "@agent-native/core/client/client-status-requests";
82
+ import { getFramePostMessageTargetOrigin } from "@agent-native/core/client/host";
83
+ import { useT } from "@agent-native/core/client/i18n";
84
+ import { isFirstRunOnboardingEnabled } from "@agent-native/core/client/onboarding";
85
+ import { useOnboardingPreviewMode } from "@agent-native/core/client/onboarding";
86
+ import { recoverFromStaleChunkError } from "@agent-native/core/client/route-chunk-recovery";
87
+ import { cn } from "@agent-native/toolkit/utils";
88
+
89
+ import { useFirstRunOnboardingGateOwnsSurface } from "../onboarding/first-run-startup-gate.js";
90
+ import {
91
+ SETTINGS_SECTION_STATE_KEY,
92
+ withBuilderConnectTrackingParams,
93
+ } from "../settings/index.js";
94
+ import { RouterSidebarLink } from "../shared/index.js";
95
+ import { AgentSidebarOnboardingContext } from "./agent-sidebar-context.js";
96
+ import {
97
+ SettingsReturnPathRecorder,
98
+ URLSync,
99
+ } from "./agent-sidebar-url-sync.js";
100
+ import type { AssistantChatProps } from "./chat/surface-types.js";
101
+ import { assistantUiRecoverableRenderErrorKind } from "./composer/assistant-ui-recovery.js";
102
+ import type {
103
+ MultiTabAssistantChatHeaderProps,
104
+ MultiTabAssistantChatProps,
105
+ } from "./MultiTabAssistantChat.js";
106
+
107
+ function parentFrameTargetOrigin(): string {
108
+ return getFramePostMessageTargetOrigin() ?? window.location.origin;
109
+ }
110
+
111
+ const AgentTerminal = lazy(() =>
112
+ import("../terminal/index.js").then((m) => ({
113
+ default: m.AgentTerminal,
114
+ })),
115
+ );
116
+
117
+ /**
118
+ * The section an `agent-panel:open-settings` request names. Callers that set
119
+ * the hash and dispatch no section (run recovery's `#agent-limits`, the
120
+ * composer's `#llm`) meant that hash.
121
+ */
122
+ export function requestedSettingsSection(
123
+ section?: string | null,
124
+ currentHash?: string | null,
125
+ ): string {
126
+ const requested = section?.replace(/^#/, "").trim() ?? "";
127
+ if (requested) return requested;
128
+ const hash = currentHash?.replace(/^#/, "").trim() ?? "";
129
+ return isSettingsSectionId(hash) || /^secrets:./i.test(hash) ? hash : "";
130
+ }
131
+
132
+ /** Today's Settings hash for a section; the redesigned shell reads the section itself. */
133
+ export function settingsRouteHashForSection(
134
+ section?: string | null,
135
+ currentHash?: string | null,
136
+ ): string {
137
+ const raw = requestedSettingsSection(section, currentHash);
138
+ const lowered = raw.toLowerCase();
139
+ const normalized = SETTINGS_SECTION_ALIASES[lowered] ?? lowered;
140
+ if (
141
+ [
142
+ "llm",
143
+ "app-models",
144
+ "limits",
145
+ "demo-mode",
146
+ "hosting",
147
+ "database",
148
+ "uploads",
149
+ "auth",
150
+ "email",
151
+ "browser",
152
+ "background",
153
+ "usage",
154
+ ].includes(normalized)
155
+ ) {
156
+ return `#${normalized}`;
157
+ }
158
+ if (normalized === "voice") return "#voice";
159
+ if (normalized === "a2a") return "#agent:agents";
160
+ if (normalized.startsWith("secrets:")) {
161
+ return `#secrets:${raw.slice("secrets:".length)}`;
162
+ }
163
+ if (normalized === "secrets") {
164
+ const existing = currentHash?.replace(/^#/, "").trim() ?? "";
165
+ if (existing.toLowerCase().startsWith("secrets:") && existing.length > 8) {
166
+ return `#secrets:${existing.slice("secrets:".length)}`;
167
+ }
168
+ }
169
+ if (normalized === "automations") return "#agent:automations";
170
+ if (
171
+ normalized.startsWith("secrets") ||
172
+ normalized.includes("api") ||
173
+ normalized === "integrations" ||
174
+ normalized === "connections"
175
+ ) {
176
+ return "#integrations";
177
+ }
178
+ if (
179
+ normalized === "account" ||
180
+ normalized === "workspace" ||
181
+ normalized === "workspace-settings" ||
182
+ normalized === "organization" ||
183
+ normalized === "org"
184
+ ) {
185
+ return "#workspace";
186
+ }
187
+ return "#agent";
188
+ }
189
+
190
+ export function AgentPanelSettingsNavigation({
191
+ onOpenSettings,
192
+ }: {
193
+ onOpenSettings?: (section?: string) => void;
194
+ } = {}) {
195
+ const navigate = useNavigate();
196
+
197
+ useEffect(() => {
198
+ function handleOpenSettings(event: Event) {
199
+ const section = (event as CustomEvent<{ section?: string }>).detail
200
+ ?.section;
201
+ if (onOpenSettings) {
202
+ onOpenSettings(section);
203
+ return;
204
+ }
205
+ const requested = requestedSettingsSection(section, window.location.hash);
206
+ const navigation = navigate(
207
+ {
208
+ pathname: appPath("/settings"),
209
+ hash: settingsRouteHashForSection(section, window.location.hash),
210
+ },
211
+ // The hash can't tell API keys from Integrations; the redesigned
212
+ // Settings reads the section from history state instead.
213
+ {
214
+ state: requested ? { [SETTINGS_SECTION_STATE_KEY]: requested } : null,
215
+ },
216
+ );
217
+ const notifyLocationChange = () => {
218
+ window.dispatchEvent(new Event("popstate"));
219
+ window.dispatchEvent(new Event("hashchange"));
220
+ };
221
+ void Promise.resolve(navigation).then(
222
+ notifyLocationChange,
223
+ () => undefined,
224
+ );
225
+ }
226
+ window.addEventListener(
227
+ AGENT_PANEL_OPEN_SETTINGS_EVENT,
228
+ handleOpenSettings,
229
+ );
230
+ return () =>
231
+ window.removeEventListener(
232
+ AGENT_PANEL_OPEN_SETTINGS_EVENT,
233
+ handleOpenSettings,
234
+ );
235
+ }, [navigate, onOpenSettings]);
236
+
237
+ return null;
238
+ }
239
+ const ResourcesPanel = lazy(() =>
240
+ import("../resources/ResourcesPanel.js").then((m) => ({
241
+ default: m.ResourcesPanel,
242
+ })),
243
+ );
244
+
245
+ const OnboardingPanel = lazy(() =>
246
+ import("../onboarding/OnboardingPanel.js").then((m) => ({
247
+ default: m.OnboardingPanel,
248
+ })),
249
+ );
250
+
251
+ const FirstRunOnboarding = lazy(() =>
252
+ import("../onboarding/FirstRunOnboarding.js").then((m) => ({
253
+ default: m.FirstRunOnboarding,
254
+ })),
255
+ );
256
+
257
+ const SetupButton = lazy(() =>
258
+ import("../onboarding/SetupButton.js").then((m) => ({
259
+ default: m.SetupButton,
260
+ })),
261
+ );
262
+
263
+ const SHOW_ONBOARDING = false;
264
+ const SHOW_FIRST_RUN_ONBOARDING = isFirstRunOnboardingEnabled();
265
+
266
+ const CLI_STORAGE_KEY = "agent-native-cli-command";
267
+ const CLI_DEFAULT = "claude";
268
+ const EXEC_MODE_KEY = "agent-native-exec-mode";
269
+ type ExecMode = "build" | "plan";
270
+ type PanelMode = "chat" | "cli" | "resources";
271
+ export function normalizeAgentPanelModeForSurface(
272
+ mode: string,
273
+ chatOnly = false,
274
+ ): PanelMode {
275
+ if (chatOnly) return "chat";
276
+ return mode === "cli" || mode === "resources" ? mode : "chat";
277
+ }
278
+ const AGENT_PANEL_FONT_FAMILY =
279
+ 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif';
280
+ const AGENT_PANEL_ROOT_STYLE = {
281
+ fontFamily: AGENT_PANEL_FONT_FAMILY,
282
+ fontSize: 13,
283
+ lineHeight: 1.2,
284
+ } satisfies React.CSSProperties;
285
+ const AGENT_PANEL_HEADER_CLASS =
286
+ "agent-native-shell-topbar relative z-[240] flex h-12 shrink-0 items-center justify-between gap-2";
287
+ const AGENT_PANEL_HEADER_STYLE = {
288
+ paddingLeft: 8,
289
+ paddingRight: 8,
290
+ } satisfies React.CSSProperties;
291
+ const AGENT_PANEL_CONTROL_STYLE = {
292
+ fontSize: 12,
293
+ lineHeight: 1,
294
+ } satisfies React.CSSProperties;
295
+ const ACTIVATE_KEYS = new Set(["Enter", " "]);
296
+ type AgentPanelOverlayOpenTiming = "animation-frame" | "timeout";
297
+
298
+ export function deferAgentPanelOverlayOpen(
299
+ event: { preventDefault: () => void },
300
+ closeMenu: () => void,
301
+ openOverlay: () => void,
302
+ timing: AgentPanelOverlayOpenTiming = "animation-frame",
303
+ ): void {
304
+ event.preventDefault();
305
+ closeMenu();
306
+ if (timing === "timeout") {
307
+ setTimeout(openOverlay, 0);
308
+ return;
309
+ }
310
+ if (
311
+ typeof window !== "undefined" &&
312
+ typeof window.requestAnimationFrame === "function"
313
+ ) {
314
+ window.requestAnimationFrame(() => openOverlay());
315
+ } else {
316
+ setTimeout(openOverlay, 0);
317
+ }
318
+ }
319
+
320
+ export function consumeAgentPanelOverlayFocusRestore(
321
+ pendingOverlayRef: { current: boolean },
322
+ event: { preventDefault: () => void },
323
+ ): void {
324
+ if (!pendingOverlayRef.current) return;
325
+ pendingOverlayRef.current = false;
326
+ event.preventDefault();
327
+ }
328
+
329
+ interface AvailableCli {
330
+ command: string;
331
+ label: string;
332
+ available: boolean;
333
+ }
334
+
335
+ function useAvailableClis() {
336
+ const [clis, setClis] = useState<AvailableCli[]>([]);
337
+ useEffect(() => {
338
+ fetch(agentNativePath("/_agent-native/available-clis"))
339
+ .then((r) => (r.ok ? r.json() : []))
340
+ .then((data) => setClis(Array.isArray(data) ? data : []))
341
+ .catch(() => {});
342
+ }, []);
343
+ return clis;
344
+ }
345
+
346
+ function useCliSelection(keyPrefix: string) {
347
+ const cliKey = `${CLI_STORAGE_KEY}${keyPrefix}`;
348
+ const [selected, setSelected] = useState(CLI_DEFAULT);
349
+ useEffect(() => {
350
+ try {
351
+ const saved = localStorage.getItem(cliKey);
352
+ if (saved) setSelected(saved);
353
+ } catch {}
354
+ }, [cliKey]);
355
+ const select = (cmd: string) => {
356
+ setSelected(cmd);
357
+ try {
358
+ localStorage.setItem(cliKey, cmd);
359
+ } catch {}
360
+ };
361
+ return [selected, select] as const;
362
+ }
363
+
364
+ function IconTooltip({
365
+ content,
366
+ children,
367
+ }: {
368
+ content: string;
369
+ children: React.ReactElement;
370
+ }) {
371
+ return (
372
+ <DesignSystemTooltip
373
+ trigger={children}
374
+ content={normalizeTooltipText(content)}
375
+ placement="bottom"
376
+ delayMs={250}
377
+ className="z-[300] overflow-hidden rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-foreground shadow-md"
378
+ />
379
+ );
380
+ }
381
+
382
+ type ChatHeaderRenderer = (
383
+ props: MultiTabAssistantChatHeaderProps,
384
+ ) => React.ReactNode;
385
+
386
+ function ChatLoadingSkeleton({
387
+ renderHeader,
388
+ centerComposerWhenEmpty = false,
389
+ composerSlot,
390
+ composerAreaClassName,
391
+ composerLayoutVariant = "default",
392
+ }: {
393
+ renderHeader?: ChatHeaderRenderer;
394
+ centerComposerWhenEmpty?: boolean;
395
+ composerSlot?: React.ReactNode;
396
+ composerAreaClassName?: string;
397
+ composerLayoutVariant?: AssistantChatProps["composerLayoutVariant"];
398
+ }) {
399
+ const t = useT();
400
+ const noop = useCallback(() => {}, []);
401
+ const noopStr = useCallback((_id: string) => {}, []);
402
+ const stubProps: MultiTabAssistantChatHeaderProps = {
403
+ tabs: [],
404
+ activeTabId: "",
405
+ activeTabMessageCount: 0,
406
+ setActiveTabId: noopStr,
407
+ addTab: noop,
408
+ closeTab: noopStr,
409
+ closeOtherTabs: noopStr,
410
+ closeAllTabs: noop,
411
+ clearActiveTab: noop,
412
+ showHistory: false,
413
+ tabCount: 0,
414
+ toggleHistory: noop,
415
+ };
416
+ if (centerComposerWhenEmpty) {
417
+ return (
418
+ <div className="flex flex-col flex-1 min-h-0">
419
+ {renderHeader ? renderHeader(stubProps) : null}
420
+ <div
421
+ data-agent-empty-state="centered"
422
+ className="relative flex flex-1 flex-col h-full min-h-0 text-foreground"
423
+ >
424
+ <div className="agent-chat-scroll flex-1 overflow-y-auto overflow-x-hidden min-h-0">
425
+ <div className="agent-empty-state sr-only" aria-busy="true">
426
+ {t("agentChat.empty.loadingChat")}
427
+ </div>
428
+ </div>
429
+ {composerSlot}
430
+ <div className="agent-composer-stack">
431
+ <div
432
+ className={cn(
433
+ "agent-composer-area shrink-0 px-3 py-2",
434
+ composerLayoutVariant !== "default" &&
435
+ `agent-composer-area--${composerLayoutVariant}`,
436
+ composerAreaClassName,
437
+ )}
438
+ >
439
+ <div
440
+ className={cn(
441
+ "agent-composer-root flex flex-col rounded-lg border border-input bg-muted/45 transition-colors",
442
+ composerLayoutVariant !== "default" &&
443
+ `agent-composer-root--${composerLayoutVariant}`,
444
+ )}
445
+ >
446
+ <div className="px-3 pt-3">
447
+ <div className="h-5 w-3/5 rounded bg-muted animate-pulse motion-reduce:animate-none" />
448
+ </div>
449
+ <div className="mt-auto flex items-center gap-2 px-3 py-2">
450
+ <div className="h-5 w-5 rounded bg-muted animate-pulse motion-reduce:animate-none" />
451
+ <div className="ml-auto h-4 w-28 rounded bg-muted animate-pulse motion-reduce:animate-none" />
452
+ <div className="h-7 w-7 rounded-md bg-muted animate-pulse motion-reduce:animate-none" />
453
+ </div>
454
+ </div>
455
+ </div>
456
+ </div>
457
+ </div>
458
+ </div>
459
+ );
460
+ }
461
+ return (
462
+ <div className="flex flex-col flex-1 min-h-0">
463
+ {renderHeader ? renderHeader(stubProps) : null}
464
+ {/* Composer-shaped placeholder keeps layout stable during chunk load */}
465
+ <div className="mt-auto shrink-0 border-t border-border p-3">
466
+ <div className="h-16 rounded-xl bg-muted/40 animate-pulse motion-reduce:animate-none" />
467
+ </div>
468
+ </div>
469
+ );
470
+ }
471
+
472
+ export function getAgentPanelChatTabGroups(
473
+ tabs: MultiTabAssistantChatHeaderProps["tabs"],
474
+ activeTabId: string,
475
+ ) {
476
+ const activeTab = tabs.find((t) => t.id === activeTabId);
477
+ const focusParentId = activeTab?.parentThreadId || activeTabId;
478
+ const childTabs = tabs.filter((t) => t.parentThreadId === focusParentId);
479
+ const mainTabs = tabs.filter((t) => !t.parentThreadId);
480
+
481
+ return {
482
+ activeTab,
483
+ childTabs,
484
+ focusParentId,
485
+ hasSubTabs: childTabs.length > 0,
486
+ mainTabs,
487
+ };
488
+ }
489
+
490
+ export function shouldShowAgentPanelChatTabBar(
491
+ tabs: MultiTabAssistantChatHeaderProps["tabs"],
492
+ activeTabId: string,
493
+ ) {
494
+ const { hasSubTabs, mainTabs } = getAgentPanelChatTabGroups(
495
+ tabs,
496
+ activeTabId,
497
+ );
498
+ return mainTabs.length > 1 || hasSubTabs;
499
+ }
500
+
501
+ export function shouldShowAgentPanelSidebarChatTabs(
502
+ tabs: MultiTabAssistantChatHeaderProps["tabs"],
503
+ ) {
504
+ return tabs.some((tab) => !tab.parentThreadId);
505
+ }
506
+
507
+ export function shouldShowAgentPanelPageNewChatButton(
508
+ tabs: MultiTabAssistantChatHeaderProps["tabs"],
509
+ activeTabId: string,
510
+ activeTabMessageCount: number,
511
+ ) {
512
+ return shouldShowAgentPanelPageHeader(
513
+ tabs,
514
+ activeTabId,
515
+ activeTabMessageCount,
516
+ );
517
+ }
518
+
519
+ export function shouldShowAgentPanelPageHeader(
520
+ tabs: MultiTabAssistantChatHeaderProps["tabs"],
521
+ activeTabId: string,
522
+ activeTabMessageCount: number,
523
+ ) {
524
+ if (!activeTabId) return false;
525
+ if (activeTabMessageCount > 0) return true;
526
+
527
+ const activeTab = tabs.find((tab) => tab.id === activeTabId);
528
+ return activeTab?.status === "running" || activeTab?.status === "completed";
529
+ }
530
+
531
+ export function shouldShowAgentPanelCliTabBar(cliTabs: string[]) {
532
+ return cliTabs.length > 1;
533
+ }
534
+
535
+ export function shouldShowAgentPanelModeButtons(
536
+ isSidebar: boolean,
537
+ chatOnly = false,
538
+ ) {
539
+ return !isSidebar && !chatOnly;
540
+ }
541
+
542
+ export function shouldShowAgentPanelFullViewAction(
543
+ agentPageHref: string | undefined,
544
+ mode: PanelMode,
545
+ isSidebar = false,
546
+ currentPath?: string,
547
+ ) {
548
+ return (
549
+ Boolean(agentPageHref) &&
550
+ currentPath !== agentPageHref &&
551
+ (isSidebar || mode === "resources")
552
+ );
553
+ }
554
+
555
+ export function AgentPanelFullViewMenuItem({
556
+ activeTabId,
557
+ onFullViewRequest,
558
+ label,
559
+ }: {
560
+ activeTabId: string;
561
+ onFullViewRequest: (threadId?: string) => void;
562
+ label: string;
563
+ }) {
564
+ return (
565
+ <DropdownMenuItem
566
+ onSelect={() => onFullViewRequest(activeTabId || undefined)}
567
+ aria-label={label}
568
+ >
569
+ {label}
570
+ </DropdownMenuItem>
571
+ );
572
+ }
573
+
574
+ export function resolveAgentPanelFullViewAction(
575
+ agentPageHref: string | undefined,
576
+ onFullViewRequest: ((threadId?: string) => void) | undefined,
577
+ mode: PanelMode,
578
+ isSidebar = false,
579
+ currentPath?: string,
580
+ ) {
581
+ if (
582
+ !agentPageHref ||
583
+ !shouldShowAgentPanelFullViewAction(
584
+ agentPageHref,
585
+ mode,
586
+ isSidebar,
587
+ currentPath,
588
+ )
589
+ ) {
590
+ return null;
591
+ }
592
+
593
+ return onFullViewRequest
594
+ ? ({ kind: "callback" } as const)
595
+ : ({ kind: "link", href: agentPageHref } as const);
596
+ }
597
+
598
+ // Hosts without a Settings route pass no agentPageHref, so it doubles as the
599
+ // signal that an Integrations page exists to link to. Both paths are
600
+ // router-local; RouterSidebarLink adds the app base path.
601
+ export function resolveAgentPanelIntegrationsHref(
602
+ agentPageHref: string | undefined,
603
+ currentPath?: string,
604
+ ) {
605
+ if (!agentPageHref) return null;
606
+ const href = buildSettingsRoute("integrations");
607
+ if (currentPath === href || currentPath?.startsWith(`${href}/`)) return null;
608
+ return href;
609
+ }
610
+
611
+ export function getAgentPanelShortcutHints(isMac: boolean) {
612
+ return {
613
+ closeTab: isMac ? "⌃W" : "⌥W",
614
+ closeAllTabs: isMac ? "⌃⌥W" : "^⌥W",
615
+ toggleSidebar: isMac ? "⌘\\" : "^\\",
616
+ widenChat: isMac ? "⌘⇧\\" : "^⇧\\",
617
+ };
618
+ }
619
+
620
+ export interface AgentPanelCodeAccess {
621
+ enabled: boolean;
622
+ unavailableTitle?: string;
623
+ unavailableDescription?: string;
624
+ unavailableCtaLabel?: string;
625
+ unavailableCtaHref?: string;
626
+ unavailableSecondaryCtaLabel?: string;
627
+ unavailableSecondaryCtaHref?: string;
628
+ /** @deprecated Chat stays available when code access is unavailable. */
629
+ unavailableComposerPlaceholder?: string;
630
+ }
631
+
632
+ function useBuilderConnectUrl() {
633
+ const [connectUrl, setConnectUrl] = useState<string | null>(null);
634
+ const [configured, setConfigured] = useState(false);
635
+
636
+ useEffect(() => {
637
+ let cancelled = false;
638
+ let lastConfigured = false;
639
+ const refresh = () => {
640
+ fetchBuilderStatus<{
641
+ connectUrl?: string;
642
+ configured?: boolean;
643
+ }>()
644
+ .then((result) => (result.state === "available" ? result.value : null))
645
+ .then((data) => {
646
+ if (cancelled || !data) return;
647
+ const nextConnectUrl = data.connectUrl;
648
+ if (nextConnectUrl) setConnectUrl(nextConnectUrl);
649
+ const nextConfigured = !!data.configured;
650
+ setConfigured(nextConfigured);
651
+ if (nextConfigured && !lastConfigured) {
652
+ lastConfigured = true;
653
+ window.dispatchEvent(
654
+ new CustomEvent("agent-engine:configured-changed", {
655
+ detail: { source: "builder-status" },
656
+ }),
657
+ );
658
+ } else if (!nextConfigured) {
659
+ lastConfigured = false;
660
+ }
661
+ })
662
+ .catch(() => {});
663
+ };
664
+ refresh();
665
+ const onFocus = () => refresh();
666
+ const onVisibility = () => {
667
+ if (document.visibilityState === "visible") refresh();
668
+ };
669
+ const onConfigured = (e: Event) => {
670
+ const detail = (e as CustomEvent).detail as
671
+ | { source?: string }
672
+ | undefined;
673
+ if (detail?.source === "builder-status") return;
674
+ refresh();
675
+ };
676
+ window.addEventListener("focus", onFocus);
677
+ document.addEventListener("visibilitychange", onVisibility);
678
+ window.addEventListener("agent-engine:configured-changed", onConfigured);
679
+ let channel: BroadcastChannel | null = null;
680
+ try {
681
+ channel = new BroadcastChannel(`builder-connect:${window.location.host}`);
682
+ channel.onmessage = (e: MessageEvent) => {
683
+ const data = e.data as { type?: string } | undefined;
684
+ if (data?.type === "builder-connect-success") refresh();
685
+ };
686
+ } catch {
687
+ // BroadcastChannel missing — focus/visibility refresh still covers it.
688
+ }
689
+ const onMessage = (e: MessageEvent) => {
690
+ if (e.origin !== window.location.origin) return;
691
+ const data = e.data as { type?: string } | undefined;
692
+ if (data?.type === "builder-connect-success") refresh();
693
+ };
694
+ window.addEventListener("message", onMessage);
695
+ return () => {
696
+ cancelled = true;
697
+ window.removeEventListener("focus", onFocus);
698
+ document.removeEventListener("visibilitychange", onVisibility);
699
+ window.removeEventListener(
700
+ "agent-engine:configured-changed",
701
+ onConfigured,
702
+ );
703
+ window.removeEventListener("message", onMessage);
704
+ channel?.close();
705
+ };
706
+ }, []);
707
+
708
+ return { connectUrl, configured };
709
+ }
710
+
711
+ export interface AgentPanelProps extends Omit<
712
+ AssistantChatProps,
713
+ "onSwitchToCli"
714
+ > {
715
+ defaultMode?: "chat" | "cli";
716
+ className?: string;
717
+ style?: React.CSSProperties;
718
+ onCollapse?: () => void;
719
+ showCollapseButton?: boolean;
720
+ isFullscreen?: boolean;
721
+ /** @deprecated Fullscreen sidebar controls are no longer rendered. */
722
+ onToggleFullscreen?: () => void;
723
+ onFullViewRequest?: (threadId?: string) => void;
724
+ onSnapTo75Percent?: () => void;
725
+ isWideDrawer?: boolean;
726
+ onExitWideDrawer?: () => void;
727
+ onOpenSettings?: (section?: string) => void;
728
+ onNewCliTab?: () => void;
729
+ onNewUiTab?: () => void;
730
+ renderCliTab?: (input: { id: string; active: boolean }) => React.ReactNode;
731
+ newTabMode?: "ui" | "cli";
732
+ newCliTabLabel?: string;
733
+ newUiTabLabel?: string;
734
+ storageKey?: string;
735
+ restoreActiveThread?: boolean;
736
+ scope?: import("@agent-native/core/client/agent-chat").ChatThreadScope | null;
737
+ isolateHistoryByScope?: boolean;
738
+ /** @deprecated Scope context now appears inside the composer. */
739
+ showScopeBadge?: MultiTabAssistantChatProps["showScopeBadge"];
740
+ browserTabId?: string;
741
+ threadUrlSync?: MultiTabAssistantChatProps["threadUrlSync"];
742
+ chatNotice?: React.ReactNode;
743
+ showTabBar?: boolean;
744
+ showPageNewChatButton?: boolean;
745
+ showPageHeader?: boolean;
746
+ pageHeaderLeadingSlot?: React.ReactNode;
747
+ pageToolbarSlot?: React.ReactNode;
748
+ onPageHeaderVisibilityChange?: (visible: boolean) => void;
749
+ chatOnly?: boolean;
750
+ agentPageHref?: string;
751
+ codeAccess?: AgentPanelCodeAccess;
752
+ }
753
+
754
+ function useClientOnly() {
755
+ const [mounted, setMounted] = useState(false);
756
+ useEffect(() => setMounted(true), []);
757
+ return mounted;
758
+ }
759
+
760
+ function PageHeaderVisibilityReporter({
761
+ visible,
762
+ onVisibilityChange,
763
+ }: {
764
+ visible: boolean;
765
+ onVisibilityChange?: (visible: boolean) => void;
766
+ }) {
767
+ useEffect(() => {
768
+ onVisibilityChange?.(visible);
769
+ }, [onVisibilityChange, visible]);
770
+ return null;
771
+ }
772
+
773
+ const DESKTOP_CODE_SURFACE_QUERY_PARAM = "_agentNativeDesktopCode";
774
+ const DESKTOP_CODE_SURFACE_SESSION_KEY = "agent-native:desktop-code-surface";
775
+
776
+ function isDesktopCodeSurfaceRequested(): boolean {
777
+ if (typeof window === "undefined") return false;
778
+ try {
779
+ const requested =
780
+ new URLSearchParams(window.location.search).get(
781
+ DESKTOP_CODE_SURFACE_QUERY_PARAM,
782
+ ) === "1";
783
+ if (requested) {
784
+ window.sessionStorage.setItem(DESKTOP_CODE_SURFACE_SESSION_KEY, "1");
785
+ return true;
786
+ }
787
+ return (
788
+ window.sessionStorage.getItem(DESKTOP_CODE_SURFACE_SESSION_KEY) === "1"
789
+ );
790
+ } catch {
791
+ return false;
792
+ }
793
+ }
794
+
795
+ export function resolveAgentPanelChatSurface(
796
+ explicitSurface: AgentChatSurfaceKind | undefined,
797
+ desktopCodeSurfaceRequested: boolean,
798
+ ): AgentChatSurfaceKind {
799
+ if (explicitSurface) return explicitSurface;
800
+ return desktopCodeSurfaceRequested ? "desktop" : "app";
801
+ }
802
+
803
+ function CodeAccessUnavailablePanel({
804
+ title,
805
+ description,
806
+ ctaLabel,
807
+ ctaHref,
808
+ secondaryCtaLabel = "Use Builder",
809
+ secondaryCtaHref,
810
+ compact = false,
811
+ }: {
812
+ title: string;
813
+ description: string;
814
+ ctaLabel: string;
815
+ ctaHref?: string;
816
+ secondaryCtaLabel?: string;
817
+ secondaryCtaHref?: string;
818
+ compact?: boolean;
819
+ }) {
820
+ const { connectUrl: builderConnectUrl } = useBuilderConnectUrl();
821
+ const builderHref = secondaryCtaHref
822
+ ? withBuilderUtmTrackingParams(secondaryCtaHref, {
823
+ campaign: "product",
824
+ content: "code_access_unavailable_panel",
825
+ })
826
+ : builderConnectUrl
827
+ ? withBuilderConnectTrackingParams(builderConnectUrl, {
828
+ source: "code_access_unavailable_panel",
829
+ flow: "background_agent",
830
+ })
831
+ : withBuilderUtmTrackingParams("https://builder.io", {
832
+ content: "code_access_unavailable_panel",
833
+ });
834
+
835
+ return (
836
+ <div
837
+ className={cn(
838
+ "rounded-lg border border-border bg-muted/35 text-center",
839
+ compact ? "mx-3 mt-2 px-3 py-2.5" : "max-w-[300px] px-4 py-4",
840
+ )}
841
+ >
842
+ <div
843
+ className={cn(
844
+ "mx-auto flex items-center justify-center rounded-full bg-background text-muted-foreground",
845
+ compact ? "mb-2 h-8 w-8" : "mb-3 h-10 w-10",
846
+ )}
847
+ >
848
+ <IconTerminal2 className={compact ? "h-4 w-4" : "h-5 w-5"} />
849
+ </div>
850
+ <p className="text-sm font-medium text-foreground">{title}</p>
851
+ <p
852
+ className={cn(
853
+ "mt-1 text-muted-foreground",
854
+ compact ? "text-[11px] leading-snug" : "text-xs leading-relaxed",
855
+ )}
856
+ >
857
+ {description}
858
+ </p>
859
+ <div className="mt-3 flex flex-wrap items-center justify-center gap-2">
860
+ {ctaHref ? (
861
+ <a
862
+ href={ctaHref}
863
+ target="_blank"
864
+ rel="noreferrer"
865
+ className="inline-flex items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs font-medium text-background hover:opacity-90"
866
+ >
867
+ {ctaLabel}
868
+ <IconExternalLink className="h-3 w-3" />
869
+ </a>
870
+ ) : null}
871
+ <a
872
+ href={builderHref}
873
+ target="_blank"
874
+ rel="noreferrer"
875
+ onClick={() => {
876
+ trackEvent("builder connect clicked", {
877
+ feature: "builder",
878
+ stage: "client",
879
+ source: "code_access_unavailable_panel",
880
+ flow: "background_agent",
881
+ connect_url_kind: builderConnectUrl ? "provided" : "fallback",
882
+ });
883
+ }}
884
+ className="inline-flex items-center gap-1.5 rounded-md border border-border bg-background px-3 py-1.5 text-xs font-medium text-foreground hover:bg-accent"
885
+ >
886
+ {secondaryCtaLabel}
887
+ </a>
888
+ </div>
889
+ </div>
890
+ );
891
+ }
892
+
893
+ function AgentPanelInner({
894
+ defaultMode = "chat",
895
+ className,
896
+ style,
897
+ apiUrl,
898
+ emptyStateText,
899
+ emptyStateAddon,
900
+ emptyStateFooter,
901
+ onMessageCountChange,
902
+ suggestions,
903
+ dynamicSuggestions,
904
+ showHeader = true,
905
+ onCollapse,
906
+ showCollapseButton = true,
907
+ isFullscreen,
908
+ onToggleFullscreen,
909
+ onFullViewRequest,
910
+ onSnapTo75Percent,
911
+ isWideDrawer,
912
+ onExitWideDrawer,
913
+ onOpenSettings,
914
+ onNewCliTab,
915
+ onNewUiTab,
916
+ renderCliTab,
917
+ newTabMode = "ui",
918
+ newCliTabLabel,
919
+ newUiTabLabel,
920
+ storageKey,
921
+ restoreActiveThread = true,
922
+ scope,
923
+ isolateHistoryByScope = false,
924
+ showScopeBadge,
925
+ browserTabId,
926
+ threadUrlSync,
927
+ chatNotice,
928
+ showTabBar = true,
929
+ showPageNewChatButton = false,
930
+ showPageHeader = false,
931
+ pageHeaderLeadingSlot,
932
+ pageToolbarSlot,
933
+ onPageHeaderVisibilityChange,
934
+ chatOnly = false,
935
+ agentPageHref,
936
+ codeAccess,
937
+ ...assistantChatProps
938
+ }: AgentPanelProps) {
939
+ const t = useT();
940
+ const location = useLocation();
941
+ const mounted = useClientOnly();
942
+ const onboardingPreviewMode = useOnboardingPreviewMode();
943
+ const firstRunOnboardingGateOwnsSurface =
944
+ useFirstRunOnboardingGateOwnsSurface();
945
+ const showFirstRunOnboarding =
946
+ !firstRunOnboardingGateOwnsSurface &&
947
+ (SHOW_FIRST_RUN_ONBOARDING || onboardingPreviewMode);
948
+ const insideAgentSidebar = React.useContext(AgentSidebarOnboardingContext);
949
+ const isFirstRunOnboardingSurface =
950
+ showFirstRunOnboarding && !insideAgentSidebar;
951
+ const feedbackEnabled =
952
+ resolveFeedbackUrl(undefined, mounted ? undefined : null) !== null;
953
+ const keyPrefix = storageKey ? `:${storageKey}` : "";
954
+ const execModeKey = `${EXEC_MODE_KEY}${keyPrefix}`;
955
+ const panelModeKey = `agent-native-panel-mode${keyPrefix}`;
956
+ const isMac = useMemo(
957
+ () =>
958
+ typeof navigator !== "undefined" &&
959
+ /Mac|iPhone|iPad/.test(navigator.userAgent),
960
+ [],
961
+ );
962
+ const {
963
+ closeTab: closeTabHint,
964
+ closeAllTabs: closeAllTabsHint,
965
+ toggleSidebar: toggleSidebarHint,
966
+ widenChat: widenChatHint,
967
+ } = getAgentPanelShortcutHints(isMac);
968
+
969
+ const [execMode, setExecMode] = useState<ExecMode>(() => {
970
+ try {
971
+ const saved = localStorage.getItem(execModeKey);
972
+ if (saved === "build" || saved === "plan") return saved;
973
+ } catch {}
974
+ return "build";
975
+ });
976
+
977
+ const switchExecMode = useCallback(
978
+ (next: ExecMode) => {
979
+ setExecMode(next);
980
+ try {
981
+ localStorage.setItem(execModeKey, next);
982
+ } catch {}
983
+ window.dispatchEvent(
984
+ new CustomEvent("agent-panel:exec-mode-change", {
985
+ detail: { mode: next },
986
+ }),
987
+ );
988
+ },
989
+ [execModeKey],
990
+ );
991
+
992
+ const [mode, setMode] = useState<PanelMode>(() => {
993
+ try {
994
+ const saved = localStorage.getItem(panelModeKey);
995
+ return normalizeAgentPanelModeForSurface(saved ?? defaultMode, chatOnly);
996
+ } catch {}
997
+ return normalizeAgentPanelModeForSurface(defaultMode, chatOnly);
998
+ });
999
+ useEffect(() => {
1000
+ try {
1001
+ localStorage.setItem(panelModeKey, mode);
1002
+ } catch {}
1003
+ }, [mode, panelModeKey]);
1004
+ const switchMode = useCallback(
1005
+ (m: PanelMode) => {
1006
+ startTransition(() =>
1007
+ setMode(normalizeAgentPanelModeForSurface(m, chatOnly)),
1008
+ );
1009
+ },
1010
+ [chatOnly],
1011
+ );
1012
+ const previousDefaultModeRef = useRef(defaultMode);
1013
+ useEffect(() => {
1014
+ if (previousDefaultModeRef.current === defaultMode) return;
1015
+ previousDefaultModeRef.current = defaultMode;
1016
+ switchMode(defaultMode);
1017
+ }, [defaultMode, switchMode]);
1018
+ useEffect(() => {
1019
+ const nextMode = normalizeAgentPanelModeForSurface(mode, chatOnly);
1020
+ if (nextMode !== mode) switchMode(nextMode);
1021
+ }, [mode, chatOnly, switchMode]);
1022
+ const openRunThread = useCallback(
1023
+ (threadId: string, run?: AgentRun) => {
1024
+ switchMode("chat");
1025
+ const metadata = run?.metadata ?? {};
1026
+ const parentThreadId =
1027
+ typeof metadata.parentThreadId === "string"
1028
+ ? metadata.parentThreadId.trim()
1029
+ : "";
1030
+ const isAgentTeam =
1031
+ metadata.kind === "agent-team" || metadata.source === "agent-teams";
1032
+ if (isAgentTeam && parentThreadId && parentThreadId !== threadId) {
1033
+ window.dispatchEvent(
1034
+ new CustomEvent("agent-task-open", {
1035
+ detail: {
1036
+ threadId,
1037
+ parentThreadId,
1038
+ description:
1039
+ typeof metadata.description === "string"
1040
+ ? metadata.description
1041
+ : run?.title || "",
1042
+ name: typeof metadata.name === "string" ? metadata.name : "",
1043
+ },
1044
+ }),
1045
+ );
1046
+ return;
1047
+ }
1048
+ window.dispatchEvent(
1049
+ new CustomEvent("agent-chat:open-thread", {
1050
+ detail: { threadId },
1051
+ }),
1052
+ );
1053
+ },
1054
+ [switchMode],
1055
+ );
1056
+ const activateOnKeyDown = useCallback(
1057
+ (activate: () => void) => (event: React.KeyboardEvent) => {
1058
+ if (!ACTIVATE_KEYS.has(event.key)) return;
1059
+ event.preventDefault();
1060
+ activate();
1061
+ },
1062
+ [],
1063
+ );
1064
+
1065
+ useEffect(() => {
1066
+ function handler(e: Event) {
1067
+ const requestedMode = (e as CustomEvent<{ mode?: unknown }>).detail?.mode;
1068
+ if (
1069
+ requestedMode === "chat" ||
1070
+ requestedMode === "cli" ||
1071
+ requestedMode === "resources"
1072
+ ) {
1073
+ switchMode(requestedMode);
1074
+ }
1075
+ }
1076
+ window.addEventListener(AGENT_PANEL_SET_MODE_EVENT, handler);
1077
+ return () =>
1078
+ window.removeEventListener(AGENT_PANEL_SET_MODE_EVENT, handler);
1079
+ }, [switchMode]);
1080
+
1081
+ const [cliTabs, setCliTabs] = useState<string[]>(["cli-1"]);
1082
+ const [activeCliTab, setActiveCliTab] = useState("cli-1");
1083
+ const [mountedCliTabs, setMountedCliTabs] = useState<string[]>([]);
1084
+ const cliCounter = useRef(1);
1085
+
1086
+ useEffect(() => {
1087
+ if (mode !== "cli" || !activeCliTab) return;
1088
+ setMountedCliTabs((current) =>
1089
+ current.includes(activeCliTab) ? current : [...current, activeCliTab],
1090
+ );
1091
+ }, [activeCliTab, mode]);
1092
+
1093
+ const addCliTab = useCallback(() => {
1094
+ const id = `cli-${++cliCounter.current}`;
1095
+ setCliTabs((prev) => [...prev, id]);
1096
+ setActiveCliTab(id);
1097
+ }, []);
1098
+ const openNewCliTab = useCallback(() => {
1099
+ if (onNewCliTab) {
1100
+ onNewCliTab();
1101
+ return;
1102
+ }
1103
+ addCliTab();
1104
+ switchMode("cli");
1105
+ }, [addCliTab, onNewCliTab, switchMode]);
1106
+ const openNewUiTab = useCallback(
1107
+ (addTab: () => void) => {
1108
+ if (onNewUiTab) {
1109
+ onNewUiTab();
1110
+ return;
1111
+ }
1112
+ addTab();
1113
+ switchMode("chat");
1114
+ },
1115
+ [onNewUiTab, switchMode],
1116
+ );
1117
+ const cliTabsToRender = renderCliTab
1118
+ ? cliTabs.filter((id) => mountedCliTabs.includes(id))
1119
+ : cliTabs;
1120
+
1121
+ const closeCliTab = useCallback(
1122
+ (id: string) => {
1123
+ setCliTabs((prev) => {
1124
+ if (prev.length <= 1) {
1125
+ const newId = `cli-${++cliCounter.current}`;
1126
+ setActiveCliTab(newId);
1127
+ return [newId];
1128
+ }
1129
+ const next = prev.filter((t) => t !== id);
1130
+ if (id === activeCliTab) {
1131
+ const idx = prev.indexOf(id);
1132
+ setActiveCliTab(next[Math.min(idx, next.length - 1)]);
1133
+ }
1134
+ return next;
1135
+ });
1136
+ },
1137
+ [activeCliTab],
1138
+ );
1139
+
1140
+ const closeOtherCliTabs = useCallback((id: string) => {
1141
+ setCliTabs([id]);
1142
+ setActiveCliTab(id);
1143
+ }, []);
1144
+
1145
+ const closeAllCliTabs = useCallback(() => {
1146
+ const id = `cli-${++cliCounter.current}`;
1147
+ setCliTabs([id]);
1148
+ setActiveCliTab(id);
1149
+ }, []);
1150
+
1151
+ useEffect(() => {
1152
+ const handleKeyDown = (e: KeyboardEvent) => {
1153
+ if (e.code !== "KeyW" || e.metaKey || e.shiftKey) return;
1154
+ const isCloseAll = e.ctrlKey && e.altKey;
1155
+ const isCloseOne = isMac
1156
+ ? e.ctrlKey && !e.altKey
1157
+ : e.altKey && !e.ctrlKey;
1158
+ if (!isCloseAll && !isCloseOne) return;
1159
+ e.preventDefault();
1160
+ if (mode === "chat") {
1161
+ window.dispatchEvent(
1162
+ new CustomEvent(
1163
+ isCloseAll
1164
+ ? "agent-chat:close-all-tabs"
1165
+ : "agent-chat:close-current-tab",
1166
+ ),
1167
+ );
1168
+ } else if (mode === "cli") {
1169
+ if (isCloseAll) closeAllCliTabs();
1170
+ else if (activeCliTab) closeCliTab(activeCliTab);
1171
+ }
1172
+ };
1173
+ document.addEventListener("keydown", handleKeyDown);
1174
+ return () => document.removeEventListener("keydown", handleKeyDown);
1175
+ }, [mode, activeCliTab, closeCliTab, closeAllCliTabs, isMac]);
1176
+
1177
+ const availableClis = useAvailableClis();
1178
+ const [selectedCli, selectCli] = useCliSelection(keyPrefix);
1179
+ const { isDevMode } = useDevMode(apiUrl);
1180
+ const effectiveAgentChatSurface = resolveAgentPanelChatSurface(
1181
+ assistantChatProps.agentChatSurface,
1182
+ isDesktopCodeSurfaceRequested(),
1183
+ );
1184
+ const isDevFrameChatSurface = effectiveAgentChatSurface === "dev-frame";
1185
+ const isCodeEditingChatSurface =
1186
+ isDevFrameChatSurface || effectiveAgentChatSurface === "desktop";
1187
+ const inferredCodeAccessEnabled = !isDevMode || isCodeEditingChatSurface;
1188
+ const codeAccessEnabled = codeAccess?.enabled ?? inferredCodeAccessEnabled;
1189
+ const codeUnavailableTitle =
1190
+ codeAccess?.unavailableTitle ?? t("agentPanel.openDesktopToEditCode");
1191
+ const codeUnavailableDescription =
1192
+ codeAccess?.unavailableDescription ??
1193
+ t("agentPanel.codeUnavailableDescription");
1194
+ const codeUnavailableCtaLabel =
1195
+ codeAccess?.unavailableCtaLabel ?? t("agentPanel.downloadDesktop");
1196
+ const codeUnavailableCtaHref =
1197
+ codeAccess?.unavailableCtaHref ?? "https://www.agent-native.com/download";
1198
+ const codeUnavailableSecondaryCtaLabel =
1199
+ codeAccess?.unavailableSecondaryCtaLabel ?? t("agentPanel.useBuilder");
1200
+ const codeUnavailableSecondaryCtaHref =
1201
+ codeAccess?.unavailableSecondaryCtaHref;
1202
+ const canUseCodeTools =
1203
+ isDevMode && codeAccessEnabled && isCodeEditingChatSurface;
1204
+ const showCliMode =
1205
+ Boolean(renderCliTab) ||
1206
+ ((isDevMode || !codeAccessEnabled) && isCodeEditingChatSurface);
1207
+ useEffect(() => {
1208
+ if (mode === "cli" && !showCliMode) switchMode("chat");
1209
+ }, [mode, showCliMode, switchMode]);
1210
+
1211
+ const prevIsDevMode = useRef(isDevMode);
1212
+ useEffect(() => {
1213
+ if (prevIsDevMode.current !== isDevMode) {
1214
+ prevIsDevMode.current = isDevMode;
1215
+ window.dispatchEvent(
1216
+ new CustomEvent("agent-panel:dev-mode-change", {
1217
+ detail: { isDevMode },
1218
+ }),
1219
+ );
1220
+ if (window.parent !== window) {
1221
+ window.parent.postMessage(
1222
+ { type: "agentNative.devModeChange", data: { isDevMode } },
1223
+ parentFrameTargetOrigin(),
1224
+ );
1225
+ }
1226
+ }
1227
+ }, [isDevMode]);
1228
+
1229
+ const renderModeButtons = useCallback(
1230
+ (activeMode: PanelMode) => (
1231
+ <div className="flex shrink-0 items-center gap-1">
1232
+ <DesignSystemTooltip
1233
+ trigger={
1234
+ <button
1235
+ onClick={() => switchMode("chat")}
1236
+ aria-label={t("agentPanel.chatMode")}
1237
+ className={cn(
1238
+ "flex items-center gap-1 rounded-md px-2 py-1 text-[12px] leading-none",
1239
+ activeMode === "chat"
1240
+ ? "bg-accent text-foreground"
1241
+ : "text-muted-foreground hover:bg-accent/50 hover:text-foreground",
1242
+ )}
1243
+ style={AGENT_PANEL_CONTROL_STYLE}
1244
+ >
1245
+ <IconMessageCircle size={14} />
1246
+ {t("agentPanel.chat")}
1247
+ </button>
1248
+ }
1249
+ content={t("agentPanel.chatMode")}
1250
+ delayMs={200}
1251
+ />
1252
+ {showCliMode && (
1253
+ <DesignSystemTooltip
1254
+ trigger={
1255
+ <button
1256
+ onClick={() => switchMode("cli")}
1257
+ aria-label={t("agentPanel.cliTerminalMode")}
1258
+ className={cn(
1259
+ "flex items-center gap-1 rounded-md px-2 py-1 text-[12px] leading-none",
1260
+ activeMode === "cli"
1261
+ ? "bg-accent text-foreground"
1262
+ : "text-muted-foreground hover:bg-accent/50 hover:text-foreground",
1263
+ )}
1264
+ style={AGENT_PANEL_CONTROL_STYLE}
1265
+ >
1266
+ <IconTerminal2 size={14} />
1267
+ {t("agentPanel.cli")}
1268
+ </button>
1269
+ }
1270
+ content={
1271
+ codeAccessEnabled
1272
+ ? t("agentPanel.cliTerminalMode")
1273
+ : codeUnavailableDescription
1274
+ }
1275
+ className="max-w-[260px]"
1276
+ delayMs={200}
1277
+ />
1278
+ )}
1279
+ <DesignSystemTooltip
1280
+ trigger={
1281
+ <button
1282
+ onClick={() => switchMode("resources")}
1283
+ aria-label={t("agentPanel.workspaceMode")}
1284
+ className={cn(
1285
+ "flex items-center gap-1 rounded-md px-2 py-1 text-[12px] leading-none",
1286
+ activeMode === "resources"
1287
+ ? "bg-accent text-foreground"
1288
+ : "text-muted-foreground hover:bg-accent/50 hover:text-foreground",
1289
+ )}
1290
+ style={AGENT_PANEL_CONTROL_STYLE}
1291
+ >
1292
+ <IconLayoutGrid size={14} />
1293
+ {t("agentPanel.workspace")}
1294
+ </button>
1295
+ }
1296
+ content={t("agentPanel.workspaceMode")}
1297
+ delayMs={200}
1298
+ />
1299
+ </div>
1300
+ ),
1301
+ [codeAccessEnabled, codeUnavailableDescription, showCliMode, t],
1302
+ );
1303
+
1304
+ const [headerMenuOpen, setHeaderMenuOpen] = useState(false);
1305
+ const [feedbackOpen, setFeedbackOpen] = useState(false);
1306
+ const [shareFromMenuOpen, setShareFromMenuOpen] = useState(false);
1307
+ const preventHeaderMenuFocusRestoreRef = useRef(false);
1308
+ const closeHeaderMenuForOverlay = useCallback(() => {
1309
+ preventHeaderMenuFocusRestoreRef.current = true;
1310
+ setHeaderMenuOpen(false);
1311
+ }, []);
1312
+
1313
+ const getChatThreadShareUrl = useCallback(
1314
+ (threadId: string) => {
1315
+ if (typeof window === "undefined") return undefined;
1316
+ if (
1317
+ threadUrlSync &&
1318
+ typeof threadUrlSync === "object" &&
1319
+ typeof threadUrlSync.getPath === "function"
1320
+ ) {
1321
+ return new URL(
1322
+ appPath(threadUrlSync.getPath(threadId)),
1323
+ window.location.origin,
1324
+ ).toString();
1325
+ }
1326
+ const url = new URL(window.location.href);
1327
+ url.searchParams.set("thread", threadId);
1328
+ return url.toString();
1329
+ },
1330
+ [threadUrlSync],
1331
+ );
1332
+ const wideDrawerAction = isWideDrawer ? onExitWideDrawer : onSnapTo75Percent;
1333
+ const wideDrawerLabel = t(
1334
+ isWideDrawer ? "agentPanel.returnChatToLayout" : "agentPanel.widenChat",
1335
+ );
1336
+ const fullViewAction = resolveAgentPanelFullViewAction(
1337
+ agentPageHref,
1338
+ onFullViewRequest,
1339
+ mode,
1340
+ chatOnly,
1341
+ location.pathname,
1342
+ );
1343
+ const integrationsHref = resolveAgentPanelIntegrationsHref(
1344
+ agentPageHref,
1345
+ location.pathname,
1346
+ );
1347
+
1348
+ useEffect(() => {
1349
+ const handleKeyDown = (event: KeyboardEvent) => {
1350
+ if (
1351
+ !(event.metaKey || event.ctrlKey) ||
1352
+ !event.shiftKey ||
1353
+ event.altKey
1354
+ ) {
1355
+ return;
1356
+ }
1357
+
1358
+ if (
1359
+ event.code === "Backslash" &&
1360
+ onCollapse &&
1361
+ mode === "chat" &&
1362
+ wideDrawerAction
1363
+ ) {
1364
+ event.preventDefault();
1365
+ wideDrawerAction();
1366
+ return;
1367
+ }
1368
+ };
1369
+
1370
+ document.addEventListener("keydown", handleKeyDown);
1371
+ return () => document.removeEventListener("keydown", handleKeyDown);
1372
+ }, [mode, onCollapse, wideDrawerAction]);
1373
+
1374
+ const renderHeaderActions = useCallback(
1375
+ ({
1376
+ activeChatSessionId,
1377
+ activeTabId,
1378
+ activeTabMessageCount,
1379
+ addTab,
1380
+ clearActiveTab,
1381
+ closeAllTabs,
1382
+ closeOtherTabs,
1383
+ closeTab,
1384
+ showHistory,
1385
+ tabs,
1386
+ toggleHistory,
1387
+ }: Pick<
1388
+ MultiTabAssistantChatHeaderProps,
1389
+ | "activeTabId"
1390
+ | "activeTabMessageCount"
1391
+ | "addTab"
1392
+ | "clearActiveTab"
1393
+ | "closeAllTabs"
1394
+ | "closeOtherTabs"
1395
+ | "closeTab"
1396
+ | "showHistory"
1397
+ | "tabs"
1398
+ | "toggleHistory"
1399
+ > & { activeChatSessionId?: string }) => (
1400
+ <div className="relative flex shrink-0 items-center gap-0.5">
1401
+ {!onCollapse && SHOW_ONBOARDING && (
1402
+ <Suspense fallback={null}>
1403
+ <SetupButton />
1404
+ </Suspense>
1405
+ )}
1406
+ {(!onCollapse || shareFromMenuOpen) &&
1407
+ (() => {
1408
+ const activeTab =
1409
+ mode === "chat" && activeChatSessionId
1410
+ ? tabs.find((tab) => tab.id === activeChatSessionId)
1411
+ : undefined;
1412
+ if (
1413
+ !activeTab ||
1414
+ (activeTabMessageCount <= 0 && activeTab.status === "idle")
1415
+ ) {
1416
+ return null;
1417
+ }
1418
+ return (
1419
+ <ShareButton
1420
+ resourceType="chat_thread"
1421
+ resourceId={activeTab.id}
1422
+ allowedRoles={["viewer", "editor", "admin"]}
1423
+ resourceTitle={activeTab.label || t("agentPanel.chat")}
1424
+ shareUrl={getChatThreadShareUrl(activeTab.id)}
1425
+ triggerClassName="h-7 px-2"
1426
+ defaultOpen={onCollapse && shareFromMenuOpen}
1427
+ onOpenChange={onCollapse ? setShareFromMenuOpen : undefined}
1428
+ />
1429
+ );
1430
+ })()}
1431
+ {feedbackEnabled ? (
1432
+ <FeedbackButton
1433
+ variant="icon"
1434
+ side="bottom"
1435
+ align="end"
1436
+ chatSessionId={activeChatSessionId}
1437
+ chatStorageKey={storageKey}
1438
+ open={feedbackOpen}
1439
+ onOpenChange={setFeedbackOpen}
1440
+ trigger={
1441
+ <button
1442
+ type="button"
1443
+ tabIndex={-1}
1444
+ aria-hidden="true"
1445
+ className="pointer-events-none absolute end-0 top-full h-px w-px opacity-0"
1446
+ />
1447
+ }
1448
+ />
1449
+ ) : null}
1450
+ {mode === "chat" && (
1451
+ <IconTooltip
1452
+ content={
1453
+ newTabMode === "cli" && newCliTabLabel
1454
+ ? newCliTabLabel
1455
+ : (newUiTabLabel ?? t("agentPanel.newChat"))
1456
+ }
1457
+ >
1458
+ <button
1459
+ onClick={newTabMode === "cli" ? openNewCliTab : addTab}
1460
+ aria-label={
1461
+ newTabMode === "cli" && newCliTabLabel
1462
+ ? newCliTabLabel
1463
+ : (newUiTabLabel ?? t("agentPanel.newChat"))
1464
+ }
1465
+ className="flex h-6 w-6 items-center justify-center rounded text-muted-foreground hover:text-foreground hover:bg-accent/50"
1466
+ >
1467
+ <IconPlus size={14} />
1468
+ </button>
1469
+ </IconTooltip>
1470
+ )}
1471
+ {mode === "cli" && (canUseCodeTools || renderCliTab) && (
1472
+ <IconTooltip content={t("agentPanel.newTerminal")}>
1473
+ <button
1474
+ onClick={openNewCliTab}
1475
+ aria-label={t("agentPanel.newTerminal")}
1476
+ className="flex h-6 w-6 items-center justify-center rounded text-muted-foreground hover:text-foreground hover:bg-accent/50"
1477
+ >
1478
+ <IconPlus size={14} />
1479
+ </button>
1480
+ </IconTooltip>
1481
+ )}
1482
+ <DropdownMenu open={headerMenuOpen} onOpenChange={setHeaderMenuOpen}>
1483
+ <DropdownMenuTrigger asChild>
1484
+ <button
1485
+ className={cn(
1486
+ "flex h-6 w-6 items-center justify-center rounded text-muted-foreground hover:text-foreground hover:bg-accent/50",
1487
+ headerMenuOpen && "bg-accent text-foreground",
1488
+ )}
1489
+ aria-label={t("agentPanel.panelOptions")}
1490
+ >
1491
+ <IconDotsVertical size={14} />
1492
+ </button>
1493
+ </DropdownMenuTrigger>
1494
+ <DropdownMenuContent
1495
+ align="end"
1496
+ sideOffset={6}
1497
+ className="max-h-[var(--radix-dropdown-menu-content-available-height)] w-48 overflow-y-auto"
1498
+ onCloseAutoFocus={(event) => {
1499
+ consumeAgentPanelOverlayFocusRestore(
1500
+ preventHeaderMenuFocusRestoreRef,
1501
+ event,
1502
+ );
1503
+ }}
1504
+ >
1505
+ {onCollapse && (
1506
+ <>
1507
+ <DropdownMenuItem onSelect={onCollapse}>
1508
+ <IconLayoutSidebarRightCollapse
1509
+ size={14}
1510
+ className="shrink-0"
1511
+ />
1512
+ {t("agentPanel.collapseSidebar")}
1513
+ <DropdownMenuShortcut>
1514
+ {toggleSidebarHint}
1515
+ </DropdownMenuShortcut>
1516
+ </DropdownMenuItem>
1517
+ <DropdownMenuSeparator />
1518
+ </>
1519
+ )}
1520
+ {onCollapse && mode === "chat" && wideDrawerAction ? (
1521
+ <DropdownMenuItem onSelect={wideDrawerAction}>
1522
+ <IconArrowsHorizontal size={14} className="shrink-0" />
1523
+ {wideDrawerLabel}
1524
+ <DropdownMenuShortcut>{widenChatHint}</DropdownMenuShortcut>
1525
+ </DropdownMenuItem>
1526
+ ) : null}
1527
+ {fullViewAction?.kind === "callback" && onFullViewRequest ? (
1528
+ <AgentPanelFullViewMenuItem
1529
+ activeTabId={activeTabId}
1530
+ onFullViewRequest={onFullViewRequest}
1531
+ label={t("agentPanel.openFullView")}
1532
+ />
1533
+ ) : fullViewAction?.kind === "link" ? (
1534
+ <DropdownMenuItem asChild>
1535
+ <RouterSidebarLink
1536
+ to={fullViewAction.href}
1537
+ aria-label={t("agentPanel.openFullView")}
1538
+ >
1539
+ {t("agentPanel.openFullView")}
1540
+ </RouterSidebarLink>
1541
+ </DropdownMenuItem>
1542
+ ) : null}
1543
+ {integrationsHref ? (
1544
+ <DropdownMenuItem asChild>
1545
+ <RouterSidebarLink to={integrationsHref}>
1546
+ <IconPlugConnected size={14} className="shrink-0" />
1547
+ {t("agentPanel.integrations")}
1548
+ </RouterSidebarLink>
1549
+ </DropdownMenuItem>
1550
+ ) : null}
1551
+ {(onCollapse && mode === "chat" && wideDrawerAction) ||
1552
+ fullViewAction ||
1553
+ integrationsHref ? (
1554
+ <DropdownMenuSeparator />
1555
+ ) : null}
1556
+ {onCollapse &&
1557
+ (newTabMode === "cli" || (mode === "cli" && renderCliTab)) && (
1558
+ <>
1559
+ <DropdownMenuItem onSelect={() => openNewUiTab(addTab)}>
1560
+ <IconPlus size={14} className="shrink-0" />
1561
+ {newUiTabLabel ?? t("agentPanel.newChat")}
1562
+ </DropdownMenuItem>
1563
+ <DropdownMenuItem onSelect={openNewCliTab}>
1564
+ <IconTerminal2 size={14} className="shrink-0" />
1565
+ {newCliTabLabel ?? t("agentPanel.newTerminal")}
1566
+ </DropdownMenuItem>
1567
+ {mode === "chat" ? <DropdownMenuSeparator /> : null}
1568
+ </>
1569
+ )}
1570
+ {onCollapse && mode === "chat" && newTabMode !== "cli" && (
1571
+ <DropdownMenuItem onSelect={() => openNewUiTab(addTab)}>
1572
+ <IconPlus size={14} className="shrink-0" />
1573
+ {newUiTabLabel ?? t("agentPanel.newChat")}
1574
+ </DropdownMenuItem>
1575
+ )}
1576
+ {onCollapse &&
1577
+ mode === "chat" &&
1578
+ renderCliTab &&
1579
+ newTabMode !== "cli" ? (
1580
+ <DropdownMenuItem onSelect={openNewCliTab}>
1581
+ <IconTerminal2 size={14} className="shrink-0" />
1582
+ {newCliTabLabel ?? t("agentPanel.newTerminal")}
1583
+ </DropdownMenuItem>
1584
+ ) : null}
1585
+ {mode === "chat" &&
1586
+ newTabMode !== "cli" &&
1587
+ onNewCliTab &&
1588
+ newCliTabLabel ? (
1589
+ <DropdownMenuItem onSelect={onNewCliTab}>
1590
+ <IconTerminal2 size={14} className="shrink-0" />
1591
+ {newCliTabLabel}
1592
+ </DropdownMenuItem>
1593
+ ) : null}
1594
+ {onCollapse &&
1595
+ mode === "chat" &&
1596
+ (() => {
1597
+ const activeTab = activeChatSessionId
1598
+ ? tabs.find((tab) => tab.id === activeChatSessionId)
1599
+ : undefined;
1600
+ if (
1601
+ !activeTab ||
1602
+ (activeTabMessageCount <= 0 && activeTab.status === "idle")
1603
+ ) {
1604
+ return null;
1605
+ }
1606
+ return (
1607
+ <DropdownMenuItem
1608
+ onSelect={(event) =>
1609
+ deferAgentPanelOverlayOpen(
1610
+ event,
1611
+ closeHeaderMenuForOverlay,
1612
+ () => setShareFromMenuOpen(true),
1613
+ "timeout",
1614
+ )
1615
+ }
1616
+ >
1617
+ <IconShare3 size={14} className="shrink-0" />
1618
+ {t("agentChat.share.share", { defaultValue: "Share" })}
1619
+ </DropdownMenuItem>
1620
+ );
1621
+ })()}
1622
+ {mode === "chat" && toggleHistory && (
1623
+ <DropdownMenuItem
1624
+ onSelect={(event) =>
1625
+ deferAgentPanelOverlayOpen(
1626
+ event,
1627
+ closeHeaderMenuForOverlay,
1628
+ toggleHistory,
1629
+ "timeout",
1630
+ )
1631
+ }
1632
+ >
1633
+ <IconHistory size={14} className="shrink-0" />
1634
+ {showHistory
1635
+ ? t("agentPanel.hideChats")
1636
+ : t("agentPanel.allChats")}
1637
+ </DropdownMenuItem>
1638
+ )}
1639
+ {mode === "chat" && (
1640
+ <RunsTrayMenuItem
1641
+ pollMs={0}
1642
+ limit={12}
1643
+ showRecent={true}
1644
+ onOpenThread={openRunThread}
1645
+ />
1646
+ )}
1647
+ {mode === "chat" && <DropdownMenuSeparator />}
1648
+ {mode === "cli" && availableClis.length > 0 && (
1649
+ <>
1650
+ {availableClis.map((cli) => (
1651
+ <DropdownMenuItem
1652
+ key={cli.command}
1653
+ onSelect={() => selectCli(cli.command)}
1654
+ className={cn(
1655
+ cli.command === selectedCli
1656
+ ? "font-medium"
1657
+ : "text-muted-foreground",
1658
+ )}
1659
+ >
1660
+ {cli.command === selectedCli ? (
1661
+ <IconCheck size={12} className="shrink-0" />
1662
+ ) : (
1663
+ <span className="w-3" />
1664
+ )}
1665
+ {cli.label}
1666
+ </DropdownMenuItem>
1667
+ ))}
1668
+ <DropdownMenuSeparator />
1669
+ </>
1670
+ )}
1671
+ {feedbackEnabled ? (
1672
+ <DropdownMenuItem
1673
+ onSelect={(event) =>
1674
+ deferAgentPanelOverlayOpen(
1675
+ event,
1676
+ closeHeaderMenuForOverlay,
1677
+ () => setFeedbackOpen(true),
1678
+ )
1679
+ }
1680
+ >
1681
+ <IconMessageDots size={14} className="shrink-0" />
1682
+ {t("agentPanel.feedback")}
1683
+ </DropdownMenuItem>
1684
+ ) : null}
1685
+ {((mode === "chat" && activeTabId) ||
1686
+ (mode === "cli" &&
1687
+ (canUseCodeTools || renderCliTab) &&
1688
+ activeCliTab)) && (
1689
+ <>
1690
+ <DropdownMenuSeparator />
1691
+ {mode === "chat" ? (
1692
+ shouldShowAgentPanelChatTabBar(tabs, activeTabId) ? (
1693
+ <>
1694
+ <DropdownMenuItem onSelect={() => closeTab(activeTabId)}>
1695
+ <IconX size={14} className="shrink-0" />
1696
+ {t("agentPanel.closeTab")}
1697
+ <DropdownMenuShortcut>
1698
+ {closeTabHint}
1699
+ </DropdownMenuShortcut>
1700
+ </DropdownMenuItem>
1701
+ <DropdownMenuItem
1702
+ onSelect={() => closeOtherTabs(activeTabId)}
1703
+ >
1704
+ {t("agentPanel.closeOtherTabs")}
1705
+ </DropdownMenuItem>
1706
+ <DropdownMenuItem onSelect={() => closeAllTabs()}>
1707
+ {t("agentPanel.closeAllTabs")}
1708
+ <DropdownMenuShortcut>
1709
+ {closeAllTabsHint}
1710
+ </DropdownMenuShortcut>
1711
+ </DropdownMenuItem>
1712
+ </>
1713
+ ) : (
1714
+ <DropdownMenuItem onSelect={clearActiveTab}>
1715
+ <IconX size={14} className="shrink-0" />
1716
+ {t("agentPanel.clearChat")}
1717
+ </DropdownMenuItem>
1718
+ )
1719
+ ) : (
1720
+ <>
1721
+ <DropdownMenuItem
1722
+ onSelect={() => closeCliTab(activeCliTab)}
1723
+ >
1724
+ <IconX size={14} className="shrink-0" />
1725
+ {t("agentPanel.closeTab")}
1726
+ <DropdownMenuShortcut>
1727
+ {closeTabHint}
1728
+ </DropdownMenuShortcut>
1729
+ </DropdownMenuItem>
1730
+ <DropdownMenuItem
1731
+ onSelect={() => closeOtherCliTabs(activeCliTab)}
1732
+ >
1733
+ {t("agentPanel.closeOtherTabs")}
1734
+ </DropdownMenuItem>
1735
+ <DropdownMenuItem onSelect={() => closeAllCliTabs()}>
1736
+ {t("agentPanel.closeAllTabs")}
1737
+ <DropdownMenuShortcut>
1738
+ {closeAllTabsHint}
1739
+ </DropdownMenuShortcut>
1740
+ </DropdownMenuItem>
1741
+ </>
1742
+ )}
1743
+ </>
1744
+ )}
1745
+ </DropdownMenuContent>
1746
+ </DropdownMenu>
1747
+ {onCollapse && showCollapseButton && (
1748
+ <IconTooltip content={t("agentPanel.collapseSidebar")}>
1749
+ <button
1750
+ type="button"
1751
+ onClick={onCollapse}
1752
+ aria-label={t("agentPanel.collapseSidebar")}
1753
+ className="flex h-6 w-6 items-center justify-center rounded text-muted-foreground hover:text-foreground hover:bg-accent/50"
1754
+ >
1755
+ <IconX size={14} />
1756
+ </button>
1757
+ </IconTooltip>
1758
+ )}
1759
+ </div>
1760
+ ),
1761
+ [
1762
+ activeCliTab,
1763
+ addCliTab,
1764
+ availableClis,
1765
+ canUseCodeTools,
1766
+ closeHeaderMenuForOverlay,
1767
+ closeAllCliTabs,
1768
+ closeAllTabsHint,
1769
+ closeCliTab,
1770
+ closeOtherCliTabs,
1771
+ closeTabHint,
1772
+ feedbackOpen,
1773
+ feedbackEnabled,
1774
+ getChatThreadShareUrl,
1775
+ headerMenuOpen,
1776
+ isWideDrawer,
1777
+ mode,
1778
+ newTabMode,
1779
+ newCliTabLabel,
1780
+ newUiTabLabel,
1781
+ agentPageHref,
1782
+ fullViewAction,
1783
+ integrationsHref,
1784
+ onCollapse,
1785
+ onFullViewRequest,
1786
+ onExitWideDrawer,
1787
+ onSnapTo75Percent,
1788
+ openRunThread,
1789
+ openNewCliTab,
1790
+ openNewUiTab,
1791
+ renderCliTab,
1792
+ selectCli,
1793
+ selectedCli,
1794
+ shareFromMenuOpen,
1795
+ showCollapseButton,
1796
+ storageKey,
1797
+ switchMode,
1798
+ t,
1799
+ wideDrawerAction,
1800
+ wideDrawerLabel,
1801
+ widenChatHint,
1802
+ ],
1803
+ );
1804
+
1805
+ const renderPageChatOverlay = useCallback(
1806
+ ({
1807
+ activeTabId,
1808
+ activeTabMessageCount,
1809
+ addTab,
1810
+ clearActiveTab,
1811
+ showHistory,
1812
+ tabs,
1813
+ toggleHistory,
1814
+ }: MultiTabAssistantChatHeaderProps) => {
1815
+ const activeTab = activeTabId
1816
+ ? tabs.find((tab) => tab.id === activeTabId)
1817
+ : undefined;
1818
+ const pageHeaderVisible = shouldShowAgentPanelPageHeader(
1819
+ tabs,
1820
+ activeTabId,
1821
+ activeTabMessageCount,
1822
+ );
1823
+ const canShareActiveTab =
1824
+ activeTab && (activeTabMessageCount > 0 || activeTab.status !== "idle");
1825
+ const showNewChatAction =
1826
+ showPageNewChatButton &&
1827
+ shouldShowAgentPanelPageNewChatButton(
1828
+ tabs,
1829
+ activeTabId,
1830
+ activeTabMessageCount,
1831
+ );
1832
+
1833
+ return (
1834
+ <>
1835
+ <PageHeaderVisibilityReporter
1836
+ visible={pageHeaderVisible}
1837
+ onVisibilityChange={onPageHeaderVisibilityChange}
1838
+ />
1839
+ {pageHeaderVisible ? (
1840
+ <>
1841
+ <div
1842
+ aria-hidden="true"
1843
+ data-agent-page-chat-fade=""
1844
+ className="agent-kit-page-fade pointer-events-none absolute inset-x-0 h-5 bg-gradient-to-b from-background/80 to-transparent"
1845
+ />
1846
+ <header
1847
+ data-agent-page-chat-header=""
1848
+ className="agent-kit-page-header absolute inset-x-0 top-0 flex items-center gap-3 border-b border-border/70 px-3 sm:px-4"
1849
+ >
1850
+ <div className="flex min-w-0 flex-1 items-center gap-2">
1851
+ {pageHeaderLeadingSlot}
1852
+ <h1 className="truncate text-xs font-medium text-foreground">
1853
+ {activeTab?.label || t("agentPanel.newChat")}
1854
+ </h1>
1855
+ <DropdownMenu
1856
+ open={headerMenuOpen}
1857
+ onOpenChange={setHeaderMenuOpen}
1858
+ >
1859
+ <DropdownMenuTrigger asChild>
1860
+ <button
1861
+ type="button"
1862
+ data-agent-page-title-menu=""
1863
+ aria-label={t("agentPanel.panelOptions")}
1864
+ className="flex size-7 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent/60 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring data-[state=open]:bg-accent data-[state=open]:text-foreground"
1865
+ >
1866
+ <IconDotsVertical size={14} />
1867
+ </button>
1868
+ </DropdownMenuTrigger>
1869
+ <DropdownMenuContent
1870
+ align="start"
1871
+ sideOffset={5}
1872
+ className="w-44"
1873
+ onCloseAutoFocus={(event) => {
1874
+ consumeAgentPanelOverlayFocusRestore(
1875
+ preventHeaderMenuFocusRestoreRef,
1876
+ event,
1877
+ );
1878
+ }}
1879
+ >
1880
+ {toggleHistory ? (
1881
+ <DropdownMenuItem
1882
+ onSelect={(event) =>
1883
+ deferAgentPanelOverlayOpen(
1884
+ event,
1885
+ closeHeaderMenuForOverlay,
1886
+ toggleHistory,
1887
+ "timeout",
1888
+ )
1889
+ }
1890
+ >
1891
+ <IconHistory size={14} className="shrink-0" />
1892
+ {showHistory
1893
+ ? t("agentPanel.hideChats")
1894
+ : t("agentPanel.allChats")}
1895
+ </DropdownMenuItem>
1896
+ ) : null}
1897
+ {activeTabMessageCount > 0 ? (
1898
+ <DropdownMenuItem onSelect={clearActiveTab}>
1899
+ <IconX size={14} className="shrink-0" />
1900
+ {t("agentPanel.clearChat")}
1901
+ </DropdownMenuItem>
1902
+ ) : null}
1903
+ </DropdownMenuContent>
1904
+ </DropdownMenu>
1905
+ {activeTab?.status === "running" ? (
1906
+ <span className="size-1.5 shrink-0 rounded-full bg-muted-foreground/55 animate-pulse motion-reduce:animate-none" />
1907
+ ) : null}
1908
+ </div>
1909
+ <div className="flex shrink-0 items-center gap-1">
1910
+ {canShareActiveTab ? (
1911
+ <ShareButton
1912
+ resourceType="chat_thread"
1913
+ resourceId={activeTab.id}
1914
+ allowedRoles={["viewer", "editor", "admin"]}
1915
+ resourceTitle={activeTab.label || t("agentPanel.chat")}
1916
+ shareUrl={getChatThreadShareUrl(activeTab.id)}
1917
+ triggerContent={
1918
+ <IconShare3 size={15} aria-hidden="true" />
1919
+ }
1920
+ triggerClassName="size-8 p-0 border-0 bg-transparent shadow-none hover:bg-accent/60"
1921
+ />
1922
+ ) : null}
1923
+ {pageToolbarSlot}
1924
+ {showNewChatAction ? (
1925
+ <button
1926
+ type="button"
1927
+ data-agent-page-new-chat=""
1928
+ aria-label={t("agentPanel.newChat")}
1929
+ onClick={() => {
1930
+ addTab();
1931
+ }}
1932
+ className="inline-flex h-8 items-center gap-1.5 rounded-md border border-border bg-background/95 px-2.5 text-xs font-medium text-foreground shadow-sm transition-colors hover:bg-accent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
1933
+ >
1934
+ <IconPlus size={14} />
1935
+ <span>{t("agentPanel.newChat")}</span>
1936
+ </button>
1937
+ ) : null}
1938
+ </div>
1939
+ </header>
1940
+ </>
1941
+ ) : null}
1942
+ </>
1943
+ );
1944
+ },
1945
+ [
1946
+ getChatThreadShareUrl,
1947
+ closeHeaderMenuForOverlay,
1948
+ headerMenuOpen,
1949
+ onPageHeaderVisibilityChange,
1950
+ pageHeaderLeadingSlot,
1951
+ pageToolbarSlot,
1952
+ preventHeaderMenuFocusRestoreRef,
1953
+ setHeaderMenuOpen,
1954
+ showPageNewChatButton,
1955
+ t,
1956
+ ],
1957
+ );
1958
+
1959
+ const activeTabResizeObserverRef = useRef<ResizeObserver | null>(null);
1960
+ const scrollActiveTabIntoView = useCallback((el: HTMLDivElement) => {
1961
+ const container = getActiveTabScrollContainer(el);
1962
+ if (!container) return;
1963
+ requestAnimationFrame(() => {
1964
+ const delta = getActiveTabScrollDelta(
1965
+ container.getBoundingClientRect(),
1966
+ el.getBoundingClientRect(),
1967
+ );
1968
+ if (delta !== 0) container.scrollLeft += delta;
1969
+ });
1970
+ }, []);
1971
+
1972
+ const activeTabRefCb = useCallback(
1973
+ (el: HTMLDivElement | null) => {
1974
+ activeTabResizeObserverRef.current?.disconnect();
1975
+ activeTabResizeObserverRef.current = null;
1976
+ if (!el) return;
1977
+ const container = getActiveTabScrollContainer(el);
1978
+ if (!container) return;
1979
+
1980
+ const observer =
1981
+ typeof ResizeObserver === "undefined"
1982
+ ? null
1983
+ : new ResizeObserver(() => scrollActiveTabIntoView(el));
1984
+ observer?.observe(container);
1985
+ observer?.observe(el);
1986
+ activeTabResizeObserverRef.current = observer;
1987
+ scrollActiveTabIntoView(el);
1988
+ },
1989
+ [scrollActiveTabIntoView],
1990
+ );
1991
+
1992
+ useEffect(() => () => activeTabResizeObserverRef.current?.disconnect(), []);
1993
+
1994
+ const renderChatHeader = useCallback(
1995
+ ({
1996
+ tabs,
1997
+ activeTabId,
1998
+ activeTabMessageCount,
1999
+ setActiveTabId,
2000
+ addTab,
2001
+ clearActiveTab,
2002
+ closeTab,
2003
+ closeOtherTabs,
2004
+ closeAllTabs,
2005
+ showHistory,
2006
+ toggleHistory,
2007
+ }: MultiTabAssistantChatHeaderProps) => {
2008
+ const { activeTab, childTabs, focusParentId, hasSubTabs, mainTabs } =
2009
+ getAgentPanelChatTabGroups(tabs, activeTabId);
2010
+ const showSidebarChatTabs =
2011
+ Boolean(onCollapse) &&
2012
+ mode === "chat" &&
2013
+ shouldShowAgentPanelSidebarChatTabs(tabs);
2014
+ const showUnifiedSurfaceTabs = Boolean(
2015
+ onCollapse && renderCliTab && showTabBar,
2016
+ );
2017
+ const renderUnifiedSurfaceTabs = () => (
2018
+ <div
2019
+ className="agent-tabs-scroll flex min-w-0 flex-1 items-center gap-0.5 overflow-x-auto"
2020
+ role="tablist"
2021
+ aria-label={t("agentPanel.panelOptions")}
2022
+ data-agent-panel-surface-tabs
2023
+ >
2024
+ {mode === "chat" &&
2025
+ mainTabs.map((tab) => {
2026
+ const isActive =
2027
+ mode === "chat" &&
2028
+ (tab.id === activeTabId ||
2029
+ (tab.id === focusParentId &&
2030
+ activeTab?.parentThreadId === tab.id));
2031
+ return (
2032
+ <div
2033
+ key={tab.id}
2034
+ className="agent-tab-group relative flex shrink-0 items-center"
2035
+ >
2036
+ <div
2037
+ role="tab"
2038
+ tabIndex={0}
2039
+ aria-selected={isActive}
2040
+ ref={isActive ? activeTabRefCb : undefined}
2041
+ onClick={() => {
2042
+ setActiveTabId(tab.id);
2043
+ switchMode("chat");
2044
+ }}
2045
+ onKeyDown={activateOnKeyDown(() => {
2046
+ setActiveTabId(tab.id);
2047
+ switchMode("chat");
2048
+ })}
2049
+ className={cn(
2050
+ "agent-tab relative flex shrink-0 items-center gap-1 rounded-md px-2.5 py-1.5 text-[11px] font-medium cursor-pointer min-w-[56px] max-w-[150px]",
2051
+ isActive
2052
+ ? "bg-accent text-foreground"
2053
+ : "text-muted-foreground hover:bg-accent hover:text-foreground",
2054
+ )}
2055
+ >
2056
+ <span className="truncate pe-1">{tab.label}</span>
2057
+ {tab.status === "running" && (
2058
+ <span className="h-1.5 w-1.5 shrink-0 rounded-full bg-muted-foreground/50 animate-pulse" />
2059
+ )}
2060
+ </div>
2061
+ <button
2062
+ type="button"
2063
+ aria-label={t("agentPanel.closeTab")}
2064
+ onClick={(event) => {
2065
+ event.stopPropagation();
2066
+ closeTab(tab.id);
2067
+ }}
2068
+ className="agent-tab-close flex items-center justify-end text-muted-foreground hover:text-foreground"
2069
+ style={{
2070
+ position: "absolute",
2071
+ right: 0,
2072
+ top: 0,
2073
+ bottom: 0,
2074
+ width: 28,
2075
+ paddingRight: 6,
2076
+ borderRadius: "0 6px 6px 0",
2077
+ background:
2078
+ "linear-gradient(to right, transparent, hsl(var(--accent)) 40%)",
2079
+ }}
2080
+ >
2081
+ <IconX size={10} />
2082
+ </button>
2083
+ </div>
2084
+ );
2085
+ })}
2086
+ {mode === "cli" &&
2087
+ cliTabs.map((id, index) => {
2088
+ const isActive = mode === "cli" && id === activeCliTab;
2089
+ return (
2090
+ <div
2091
+ key={id}
2092
+ className="agent-tab-group relative flex shrink-0 items-center"
2093
+ >
2094
+ <div
2095
+ role="tab"
2096
+ tabIndex={0}
2097
+ aria-selected={isActive}
2098
+ ref={isActive ? activeTabRefCb : undefined}
2099
+ onClick={() => {
2100
+ setActiveCliTab(id);
2101
+ switchMode("cli");
2102
+ }}
2103
+ onKeyDown={activateOnKeyDown(() => {
2104
+ setActiveCliTab(id);
2105
+ switchMode("cli");
2106
+ })}
2107
+ className={cn(
2108
+ "agent-tab relative flex shrink-0 items-center gap-1 rounded-md px-2.5 py-1.5 text-[11px] font-medium cursor-pointer min-w-[56px]",
2109
+ isActive
2110
+ ? "bg-accent text-foreground"
2111
+ : "text-muted-foreground hover:bg-accent hover:text-foreground",
2112
+ )}
2113
+ >
2114
+ <span>Terminal {index + 1}</span>
2115
+ </div>
2116
+ <button
2117
+ type="button"
2118
+ aria-label={t("agentPanel.closeTab")}
2119
+ onClick={(event) => {
2120
+ event.stopPropagation();
2121
+ closeCliTab(id);
2122
+ }}
2123
+ className="agent-tab-close flex items-center justify-end text-muted-foreground hover:text-foreground"
2124
+ style={{
2125
+ position: "absolute",
2126
+ right: 0,
2127
+ top: 0,
2128
+ bottom: 0,
2129
+ width: 28,
2130
+ paddingRight: 6,
2131
+ borderRadius: "0 6px 6px 0",
2132
+ background:
2133
+ "linear-gradient(to right, transparent, hsl(var(--accent)) 40%)",
2134
+ }}
2135
+ >
2136
+ <IconX size={10} />
2137
+ </button>
2138
+ </div>
2139
+ );
2140
+ })}
2141
+ </div>
2142
+ );
2143
+
2144
+ return (
2145
+ <div
2146
+ className="agent-sidebar-chat-header flex flex-col shrink-0"
2147
+ data-agent-sidebar-chat-header={onCollapse ? "" : undefined}
2148
+ data-agent-sidebar-chat-header-active={
2149
+ headerMenuOpen || feedbackOpen ? "" : undefined
2150
+ }
2151
+ >
2152
+ {/* Top bar: chat tabs/mode buttons + actions */}
2153
+ <div
2154
+ className={cn(
2155
+ AGENT_PANEL_HEADER_CLASS,
2156
+ !onCollapse && "border-b border-border",
2157
+ )}
2158
+ style={AGENT_PANEL_HEADER_STYLE}
2159
+ >
2160
+ <div className="flex min-w-0 flex-1 items-center gap-1 overflow-hidden">
2161
+ {showUnifiedSurfaceTabs ? (
2162
+ renderUnifiedSurfaceTabs()
2163
+ ) : showSidebarChatTabs ? (
2164
+ <div className="agent-tabs-scroll flex min-w-0 flex-1 items-center gap-0.5 overflow-x-auto">
2165
+ {mainTabs.map((tab) => {
2166
+ const isActive =
2167
+ tab.id === activeTabId ||
2168
+ (tab.id === focusParentId &&
2169
+ activeTab?.parentThreadId === tab.id);
2170
+ return (
2171
+ <div
2172
+ key={tab.id}
2173
+ className="agent-tab-group relative shrink-0"
2174
+ >
2175
+ <div
2176
+ role="button"
2177
+ tabIndex={0}
2178
+ ref={isActive ? activeTabRefCb : undefined}
2179
+ onClick={() => setActiveTabId(tab.id)}
2180
+ onKeyDown={activateOnKeyDown(() =>
2181
+ setActiveTabId(tab.id),
2182
+ )}
2183
+ className={cn(
2184
+ "agent-tab relative flex shrink-0 items-center gap-1 rounded-md px-2.5 py-1.5 text-[11px] font-medium cursor-pointer min-w-[56px] max-w-[150px]",
2185
+ isActive
2186
+ ? "bg-accent text-foreground"
2187
+ : "text-muted-foreground hover:bg-accent hover:text-foreground",
2188
+ )}
2189
+ >
2190
+ <span className="truncate pe-1">{tab.label}</span>
2191
+ {tab.status === "running" && (
2192
+ <span className="h-1.5 w-1.5 shrink-0 rounded-full bg-muted-foreground/50 animate-pulse" />
2193
+ )}
2194
+ </div>
2195
+ <button
2196
+ type="button"
2197
+ aria-label={t("agentPanel.closeTab")}
2198
+ onClick={(e) => {
2199
+ e.stopPropagation();
2200
+ closeTab(tab.id);
2201
+ }}
2202
+ className="agent-tab-close flex items-center justify-end text-muted-foreground hover:text-foreground"
2203
+ style={{
2204
+ position: "absolute",
2205
+ right: 0,
2206
+ top: 0,
2207
+ bottom: 0,
2208
+ width: 28,
2209
+ paddingRight: 6,
2210
+ borderRadius: "0 6px 6px 0",
2211
+ background:
2212
+ "linear-gradient(to right, transparent, hsl(var(--accent)) 40%)",
2213
+ }}
2214
+ >
2215
+ <IconX size={10} />
2216
+ </button>
2217
+ </div>
2218
+ );
2219
+ })}
2220
+ </div>
2221
+ ) : shouldShowAgentPanelModeButtons(
2222
+ Boolean(onCollapse),
2223
+ chatOnly,
2224
+ ) ? (
2225
+ renderModeButtons(mode)
2226
+ ) : null}
2227
+ </div>
2228
+ <div className="flex items-center gap-0.5">
2229
+ {renderHeaderActions({
2230
+ activeChatSessionId: activeTabId,
2231
+ activeTabId,
2232
+ activeTabMessageCount,
2233
+ addTab,
2234
+ clearActiveTab,
2235
+ closeAllTabs,
2236
+ closeOtherTabs,
2237
+ closeTab,
2238
+ showHistory,
2239
+ tabs,
2240
+ toggleHistory,
2241
+ })}
2242
+ </div>
2243
+ </div>
2244
+ {mode === "chat" && chatNotice ? (
2245
+ <div className="border-b border-border">{chatNotice}</div>
2246
+ ) : null}
2247
+ {/* Tab bar: only visible when there is actually more than one tab to switch between. */}
2248
+ {showTabBar &&
2249
+ !showUnifiedSurfaceTabs &&
2250
+ (mode === "chat" ||
2251
+ (mode === "cli" && (canUseCodeTools || renderCliTab))) &&
2252
+ (() => {
2253
+ const showChatTabBar =
2254
+ mode === "chat" &&
2255
+ shouldShowAgentPanelChatTabBar(tabs, activeTabId);
2256
+ const showCliTabBar =
2257
+ mode === "cli" &&
2258
+ (canUseCodeTools || renderCliTab) &&
2259
+ shouldShowAgentPanelCliTabBar(cliTabs);
2260
+
2261
+ if (!showChatTabBar && !showCliTabBar) return null;
2262
+
2263
+ return (
2264
+ <>
2265
+ {!showSidebarChatTabs && (
2266
+ <div className="flex items-center px-2 py-1 border-b border-border gap-0.5">
2267
+ <div className="agent-tabs-scroll flex items-center gap-0.5 min-w-0 overflow-x-auto flex-1">
2268
+ {mode === "chat"
2269
+ ? mainTabs.map((tab) => {
2270
+ const isActive =
2271
+ tab.id === activeTabId ||
2272
+ (tab.id === focusParentId &&
2273
+ activeTab?.parentThreadId === tab.id);
2274
+ return (
2275
+ <div
2276
+ key={tab.id}
2277
+ className="agent-tab-group relative shrink-0"
2278
+ >
2279
+ <div
2280
+ role="button"
2281
+ tabIndex={0}
2282
+ ref={isActive ? activeTabRefCb : undefined}
2283
+ onClick={() => setActiveTabId(tab.id)}
2284
+ onKeyDown={activateOnKeyDown(() =>
2285
+ setActiveTabId(tab.id),
2286
+ )}
2287
+ className={cn(
2288
+ "agent-tab relative flex shrink-0 items-center gap-1 rounded-md px-2.5 py-1.5 text-[11px] font-medium cursor-pointer min-w-[56px] max-w-[150px]",
2289
+ isActive
2290
+ ? "bg-accent text-foreground"
2291
+ : "text-muted-foreground hover:bg-accent hover:text-foreground",
2292
+ )}
2293
+ >
2294
+ <span className="truncate pe-1">
2295
+ {tab.label}
2296
+ </span>
2297
+ {tab.status === "running" && (
2298
+ <span className="h-1.5 w-1.5 shrink-0 rounded-full bg-muted-foreground/50 animate-pulse" />
2299
+ )}
2300
+ </div>
2301
+ <button
2302
+ type="button"
2303
+ aria-label={t("agentPanel.closeTab")}
2304
+ onClick={(e) => {
2305
+ e.stopPropagation();
2306
+ closeTab(tab.id);
2307
+ }}
2308
+ className="agent-tab-close flex items-center justify-end text-muted-foreground hover:text-foreground"
2309
+ style={{
2310
+ position: "absolute",
2311
+ right: 0,
2312
+ top: 0,
2313
+ bottom: 0,
2314
+ width: 28,
2315
+ paddingRight: 6,
2316
+ borderRadius: "0 6px 6px 0",
2317
+ background:
2318
+ "linear-gradient(to right, transparent, hsl(var(--accent)) 40%)",
2319
+ }}
2320
+ >
2321
+ <IconX size={10} />
2322
+ </button>
2323
+ </div>
2324
+ );
2325
+ })
2326
+ : cliTabs.map((id, i) => (
2327
+ <div
2328
+ key={id}
2329
+ className="agent-tab-group relative shrink-0"
2330
+ >
2331
+ <div
2332
+ role="button"
2333
+ tabIndex={0}
2334
+ ref={
2335
+ id === activeCliTab
2336
+ ? activeTabRefCb
2337
+ : undefined
2338
+ }
2339
+ onClick={() => setActiveCliTab(id)}
2340
+ onKeyDown={activateOnKeyDown(() =>
2341
+ setActiveCliTab(id),
2342
+ )}
2343
+ className={cn(
2344
+ "agent-tab relative flex shrink-0 items-center gap-1 rounded-md px-2.5 py-1.5 text-[11px] font-medium cursor-pointer min-w-[56px]",
2345
+ id === activeCliTab
2346
+ ? "bg-accent text-foreground"
2347
+ : "text-muted-foreground hover:bg-accent hover:text-foreground",
2348
+ )}
2349
+ >
2350
+ <span>Terminal {i + 1}</span>
2351
+ </div>
2352
+ <button
2353
+ type="button"
2354
+ aria-label={t("agentPanel.closeTab")}
2355
+ onClick={(e) => {
2356
+ e.stopPropagation();
2357
+ closeCliTab(id);
2358
+ }}
2359
+ className="agent-tab-close flex items-center justify-end text-muted-foreground hover:text-foreground"
2360
+ style={{
2361
+ position: "absolute",
2362
+ right: 0,
2363
+ top: 0,
2364
+ bottom: 0,
2365
+ width: 28,
2366
+ paddingRight: 6,
2367
+ borderRadius: "0 6px 6px 0",
2368
+ background:
2369
+ "linear-gradient(to right, transparent, hsl(var(--accent)) 40%)",
2370
+ }}
2371
+ >
2372
+ <IconX size={10} />
2373
+ </button>
2374
+ </div>
2375
+ ))}
2376
+ </div>
2377
+ </div>
2378
+ )}
2379
+ {/* Sub-agent tab row — shown when the active context has children */}
2380
+ {mode === "chat" && hasSubTabs && (
2381
+ <div
2382
+ className={cn(
2383
+ "flex items-center px-2 py-0.5 gap-0.5 bg-muted/30",
2384
+ !showSidebarChatTabs && "border-b border-border",
2385
+ )}
2386
+ >
2387
+ <div className="agent-tabs-scroll flex items-center gap-0.5 min-w-0 overflow-x-auto flex-1">
2388
+ <div
2389
+ role="button"
2390
+ tabIndex={0}
2391
+ onClick={() => setActiveTabId(focusParentId)}
2392
+ onKeyDown={activateOnKeyDown(() =>
2393
+ setActiveTabId(focusParentId),
2394
+ )}
2395
+ className={cn(
2396
+ "flex shrink-0 items-center gap-1 rounded-md px-2 py-1 text-[10px] font-medium cursor-pointer",
2397
+ activeTabId === focusParentId
2398
+ ? "bg-accent text-foreground"
2399
+ : "text-muted-foreground hover:bg-accent hover:text-foreground",
2400
+ )}
2401
+ >
2402
+ Main
2403
+ </div>
2404
+ {childTabs.map((tab) => (
2405
+ <div
2406
+ key={tab.id}
2407
+ className="agent-tab-group relative shrink-0"
2408
+ >
2409
+ <div
2410
+ role="button"
2411
+ tabIndex={0}
2412
+ ref={
2413
+ tab.id === activeTabId
2414
+ ? activeTabRefCb
2415
+ : undefined
2416
+ }
2417
+ onClick={() => setActiveTabId(tab.id)}
2418
+ onKeyDown={activateOnKeyDown(() =>
2419
+ setActiveTabId(tab.id),
2420
+ )}
2421
+ className={cn(
2422
+ "agent-tab relative flex shrink-0 items-center gap-1 rounded-md px-2 py-1 text-[10px] font-medium cursor-pointer min-w-[48px] max-w-[140px]",
2423
+ tab.id === activeTabId
2424
+ ? "bg-accent text-foreground"
2425
+ : "text-muted-foreground hover:bg-accent hover:text-foreground",
2426
+ )}
2427
+ >
2428
+ <span className="truncate pe-1">
2429
+ {tab.subAgentName || tab.label}
2430
+ </span>
2431
+ {tab.status === "running" && (
2432
+ <span className="h-1 w-1 shrink-0 rounded-full bg-muted-foreground/50 animate-pulse" />
2433
+ )}
2434
+ </div>
2435
+ <button
2436
+ type="button"
2437
+ aria-label={t("agentPanel.closeTab")}
2438
+ onClick={(e) => {
2439
+ e.stopPropagation();
2440
+ closeTab(tab.id);
2441
+ }}
2442
+ className="agent-tab-close flex items-center justify-end text-muted-foreground hover:text-foreground"
2443
+ style={{
2444
+ position: "absolute",
2445
+ right: 0,
2446
+ top: 0,
2447
+ bottom: 0,
2448
+ width: 24,
2449
+ paddingRight: 4,
2450
+ borderRadius: "0 6px 6px 0",
2451
+ background:
2452
+ "linear-gradient(to right, transparent, hsl(var(--accent)) 40%)",
2453
+ }}
2454
+ >
2455
+ <IconX size={8} />
2456
+ </button>
2457
+ </div>
2458
+ ))}
2459
+ </div>
2460
+ </div>
2461
+ )}
2462
+ </>
2463
+ );
2464
+ })()}
2465
+ </div>
2466
+ );
2467
+ },
2468
+ [
2469
+ mode,
2470
+ renderHeaderActions,
2471
+ renderModeButtons,
2472
+ chatNotice,
2473
+ canUseCodeTools,
2474
+ feedbackOpen,
2475
+ headerMenuOpen,
2476
+ onCollapse,
2477
+ showTabBar,
2478
+ cliTabs,
2479
+ activeCliTab,
2480
+ activeTabRefCb,
2481
+ activateOnKeyDown,
2482
+ closeCliTab,
2483
+ renderCliTab,
2484
+ switchMode,
2485
+ t,
2486
+ ],
2487
+ );
2488
+
2489
+ return (
2490
+ <ThinkingDisplayProvider value={assistantChatProps.thinkingDisplay}>
2491
+ <AgentPanelSettingsNavigation onOpenSettings={onOpenSettings} />
2492
+ <div
2493
+ className={cn(
2494
+ "agent-panel-root agent-kit-density flex flex-1 flex-col min-h-0 min-w-0 h-full antialiased",
2495
+ className,
2496
+ )}
2497
+ style={{
2498
+ ...AGENT_PANEL_ROOT_STYLE,
2499
+ ...style,
2500
+ ...(isFirstRunOnboardingSurface ? { contain: "none" } : {}),
2501
+ }}
2502
+ data-agent-fullscreen={isFullscreen ? "true" : undefined}
2503
+ >
2504
+ {/* Fullscreen rules center the message stream and composer to a Claude-style
2505
+ column while leaving the header bar at full width so the action buttons
2506
+ stay pinned to the top corners. */}
2507
+ <style
2508
+ dangerouslySetInnerHTML={{
2509
+ __html:
2510
+ ".agent-tab-close{opacity:0;pointer-events:none}" +
2511
+ ".agent-tab-group:hover .agent-tab-close,.agent-tab-close:focus-visible{opacity:1;pointer-events:auto}" +
2512
+ ".agent-tabs-scroll{scrollbar-width:none;-ms-overflow-style:none;}" +
2513
+ ".agent-tabs-scroll::-webkit-scrollbar{display:none;}" +
2514
+ `[data-agent-fullscreen='true'] .agent-thread-content,` +
2515
+ `[data-agent-fullscreen='true'] .agent-running-activity{` +
2516
+ `max-width:var(--agent-kit-conversation-max-width);` +
2517
+ `margin-left:auto;margin-right:auto;width:100%;}` +
2518
+ `[data-agent-fullscreen='true'] [data-agent-suggestion-bar='true'],` +
2519
+ `[data-agent-fullscreen='true'] .agent-composer-area,` +
2520
+ `[data-agent-fullscreen='true'] .agent-plan-mode-callout{` +
2521
+ `max-width:var(--agent-kit-conversation-max-width);` +
2522
+ `margin-left:auto;margin-right:auto;width:100%;}` +
2523
+ `[data-agent-fullscreen='true'] .agent-composer-area:not(.agent-composer-area--compact){` +
2524
+ `padding-left:0;padding-right:0;}` +
2525
+ `[data-agent-fullscreen='true'] .agent-mcp-connection-suggestion--composer,` +
2526
+ `[data-agent-fullscreen='true'] .agent-mcp-connection-suggestion-error--composer{` +
2527
+ `max-width:var(--agent-kit-conversation-max-width);` +
2528
+ `margin-left:auto;margin-right:auto;width:100%;}`,
2529
+ }}
2530
+ />
2531
+ {/* Framework onboarding — appears above the chat, CLI, and resources tabs
2532
+ so it's visible regardless of which tab the user is on. The panel
2533
+ hides itself once all required steps are done or the user dismisses
2534
+ it. */}
2535
+ {SHOW_ONBOARDING && mounted && (
2536
+ <Suspense fallback={null}>
2537
+ <OnboardingPanel />
2538
+ </Suspense>
2539
+ )}
2540
+
2541
+ {showFirstRunOnboarding && mounted && !insideAgentSidebar && (
2542
+ <Suspense fallback={null}>
2543
+ <FirstRunOnboarding />
2544
+ </Suspense>
2545
+ )}
2546
+
2547
+ {/* Chat view — always mounted to preserve state.
2548
+ Header (with tabs + mode buttons) is always visible.
2549
+ Chat content is hidden when CLI or resources mode is active.
2550
+ The wrapper collapses (no flex-1) when another mode is active
2551
+ so it only takes the height of its header.
2552
+ The Suspense boundary renders the header chrome immediately while
2553
+ the lazy assistant-ui chunk loads in the background. */}
2554
+ <div
2555
+ className={cn(
2556
+ "flex flex-col min-h-0",
2557
+ mode === "chat" ? "flex-1" : "shrink-0",
2558
+ )}
2559
+ >
2560
+ {mounted && (
2561
+ <Suspense
2562
+ fallback={
2563
+ <ChatLoadingSkeleton
2564
+ renderHeader={showHeader ? renderChatHeader : undefined}
2565
+ centerComposerWhenEmpty={
2566
+ assistantChatProps.centerComposerWhenEmpty
2567
+ }
2568
+ composerSlot={assistantChatProps.composerSlot}
2569
+ composerAreaClassName={
2570
+ assistantChatProps.composerAreaClassName
2571
+ }
2572
+ composerLayoutVariant={
2573
+ assistantChatProps.composerLayoutVariant
2574
+ }
2575
+ />
2576
+ }
2577
+ >
2578
+ <MultiTabAssistantChatLazy
2579
+ {...assistantChatProps}
2580
+ threadContentSlot={assistantChatProps.threadContentSlot}
2581
+ agentChatSurface={effectiveAgentChatSurface}
2582
+ apiUrl={apiUrl}
2583
+ showHeader={false}
2584
+ renderHeader={showHeader ? renderChatHeader : undefined}
2585
+ showTabBar={showTabBar}
2586
+ renderOverlay={
2587
+ showPageHeader && !showHeader
2588
+ ? renderPageChatOverlay
2589
+ : undefined
2590
+ }
2591
+ contentHidden={mode !== "chat"}
2592
+ emptyStateText={emptyStateText}
2593
+ emptyStateAddon={emptyStateAddon}
2594
+ emptyStateFooter={emptyStateFooter}
2595
+ onMessageCountChange={onMessageCountChange}
2596
+ suggestions={suggestions}
2597
+ dynamicSuggestions={dynamicSuggestions}
2598
+ suggestionPlacement={
2599
+ assistantChatProps.suggestionPlacement ?? "context-chips"
2600
+ }
2601
+ onSwitchToCli={() => switchMode("cli")}
2602
+ execMode={execMode}
2603
+ onExecModeChange={switchExecMode}
2604
+ storageKey={storageKey}
2605
+ restoreActiveThread={restoreActiveThread}
2606
+ scope={scope}
2607
+ isolateHistoryByScope={isolateHistoryByScope}
2608
+ showScopeBadge={showScopeBadge}
2609
+ browserTabId={browserTabId}
2610
+ threadUrlSync={threadUrlSync}
2611
+ />
2612
+ </Suspense>
2613
+ )}
2614
+ </div>
2615
+
2616
+ {/* CLI terminals — code-capable dev mode: real terminal, otherwise handoff. */}
2617
+ {(canUseCodeTools || renderCliTab) &&
2618
+ (mode === "cli" || Boolean(renderCliTab)) &&
2619
+ cliTabsToRender.map((id) => (
2620
+ <div
2621
+ key={id}
2622
+ className="min-h-0 relative flex-1"
2623
+ style={{
2624
+ display:
2625
+ mode === "cli" && id === activeCliTab ? undefined : "none",
2626
+ }}
2627
+ >
2628
+ <Suspense
2629
+ fallback={
2630
+ <div className="flex items-center justify-center h-full text-muted-foreground text-sm">
2631
+ {t("agentPanel.loadingTerminal")}
2632
+ </div>
2633
+ }
2634
+ >
2635
+ {renderCliTab ? (
2636
+ renderCliTab({
2637
+ id,
2638
+ active: mode === "cli" && id === activeCliTab,
2639
+ })
2640
+ ) : (
2641
+ <AgentTerminal
2642
+ command={selectedCli}
2643
+ hideInFrame={false}
2644
+ className="h-full"
2645
+ style={{ background: "transparent" }}
2646
+ />
2647
+ )}
2648
+ </Suspense>
2649
+ </div>
2650
+ ))}
2651
+ {!canUseCodeTools && !renderCliTab && mode === "cli" && (
2652
+ <div className="flex flex-1 flex-col items-center justify-center min-h-0 px-6 gap-3">
2653
+ <CodeAccessUnavailablePanel
2654
+ title={
2655
+ codeAccessEnabled
2656
+ ? t("agentPanel.cliRequiresDevMode")
2657
+ : codeUnavailableTitle
2658
+ }
2659
+ description={
2660
+ codeAccessEnabled
2661
+ ? t("agentPanel.cliRequiresDevModeDescription")
2662
+ : codeUnavailableDescription
2663
+ }
2664
+ ctaLabel={codeUnavailableCtaLabel}
2665
+ ctaHref={codeAccessEnabled ? undefined : codeUnavailableCtaHref}
2666
+ secondaryCtaLabel={codeUnavailableSecondaryCtaLabel}
2667
+ secondaryCtaHref={codeUnavailableSecondaryCtaHref}
2668
+ />
2669
+ </div>
2670
+ )}
2671
+
2672
+ {/* Resources view */}
2673
+ {mode === "resources" && (
2674
+ <div className="flex flex-1 flex-col min-h-0">
2675
+ <Suspense
2676
+ fallback={
2677
+ <div className="flex h-full flex-col min-h-0">
2678
+ <div className="flex shrink-0 items-center justify-between border-b border-border px-2 py-1.5">
2679
+ <div className="flex items-center gap-1">
2680
+ <div className="h-5 w-16 rounded bg-muted animate-pulse" />
2681
+ <div className="h-5 w-14 rounded bg-muted animate-pulse" />
2682
+ </div>
2683
+ </div>
2684
+ </div>
2685
+ }
2686
+ >
2687
+ <ResourcesPanel />
2688
+ </Suspense>
2689
+ </div>
2690
+ )}
2691
+ </div>
2692
+ </ThinkingDisplayProvider>
2693
+ );
2694
+ }
2695
+
2696
+ export function getActiveTabScrollDelta(
2697
+ containerRect: Pick<DOMRect, "left" | "right">,
2698
+ tabRect: Pick<DOMRect, "left" | "right">,
2699
+ margin = 24,
2700
+ ): number {
2701
+ if (tabRect.left < containerRect.left + margin) {
2702
+ return tabRect.left - containerRect.left - margin;
2703
+ }
2704
+ if (tabRect.right > containerRect.right - margin) {
2705
+ return tabRect.right - containerRect.right + margin;
2706
+ }
2707
+ return 0;
2708
+ }
2709
+
2710
+ export function getActiveTabScrollContainer(
2711
+ el: HTMLElement,
2712
+ ): HTMLElement | null {
2713
+ return el.closest<HTMLElement>(".agent-tabs-scroll");
2714
+ }
2715
+
2716
+ class AgentPanelErrorBoundary extends React.Component<
2717
+ { children: React.ReactNode; onReset: () => void },
2718
+ { error: Error | null; staleIndexRecoveryCount: number }
2719
+ > {
2720
+ state: { error: Error | null; staleIndexRecoveryCount: number } = {
2721
+ error: null,
2722
+ staleIndexRecoveryCount: 0,
2723
+ };
2724
+
2725
+ private recoveryTimer: ReturnType<typeof setTimeout> | null = null;
2726
+ private recoveryCooldownTimer: ReturnType<typeof setTimeout> | null = null;
2727
+
2728
+ static getDerivedStateFromError(error: Error) {
2729
+ return { error };
2730
+ }
2731
+
2732
+ componentDidCatch(error: Error, errorInfo: React.ErrorInfo) {
2733
+ if (recoverFromStaleChunkError(error)) {
2734
+ console.warn(
2735
+ "[agent-native] Recovering agent panel after stale chunk error",
2736
+ );
2737
+ return;
2738
+ }
2739
+ const recoverableKind = assistantUiRecoverableRenderErrorKind(error);
2740
+ if (recoverableKind) {
2741
+ console.warn(
2742
+ "[agent-native] Recovering agent panel after assistant UI render error",
2743
+ recoverableKind,
2744
+ );
2745
+ if (this.state.staleIndexRecoveryCount >= 2) {
2746
+ console.error(
2747
+ "[agent-native] Agent panel assistant UI recovery failed",
2748
+ error,
2749
+ errorInfo,
2750
+ );
2751
+ return;
2752
+ }
2753
+ if (!this.recoveryTimer) {
2754
+ this.recoveryTimer = setTimeout(() => {
2755
+ this.recoveryTimer = null;
2756
+ this.setState((state) => ({
2757
+ error: null,
2758
+ staleIndexRecoveryCount: state.staleIndexRecoveryCount + 1,
2759
+ }));
2760
+ this.props.onReset();
2761
+ }, 0);
2762
+ }
2763
+ return;
2764
+ }
2765
+ console.error("[agent-native] Agent panel crashed", error, errorInfo);
2766
+ }
2767
+
2768
+ componentDidUpdate(
2769
+ _prevProps: Readonly<{ children: React.ReactNode; onReset: () => void }>,
2770
+ prevState: Readonly<{
2771
+ error: Error | null;
2772
+ staleIndexRecoveryCount: number;
2773
+ }>,
2774
+ ) {
2775
+ if (
2776
+ prevState.error &&
2777
+ !this.state.error &&
2778
+ this.state.staleIndexRecoveryCount > 0
2779
+ ) {
2780
+ if (this.recoveryCooldownTimer) {
2781
+ clearTimeout(this.recoveryCooldownTimer);
2782
+ }
2783
+ this.recoveryCooldownTimer = setTimeout(() => {
2784
+ this.recoveryCooldownTimer = null;
2785
+ this.setState((state) =>
2786
+ state.error ? null : { staleIndexRecoveryCount: 0 },
2787
+ );
2788
+ }, 2_000);
2789
+ }
2790
+ }
2791
+
2792
+ componentWillUnmount() {
2793
+ if (this.recoveryTimer) {
2794
+ clearTimeout(this.recoveryTimer);
2795
+ }
2796
+ if (this.recoveryCooldownTimer) {
2797
+ clearTimeout(this.recoveryCooldownTimer);
2798
+ }
2799
+ }
2800
+
2801
+ render() {
2802
+ if (!this.state.error) return this.props.children;
2803
+
2804
+ if (
2805
+ assistantUiRecoverableRenderErrorKind(this.state.error) &&
2806
+ this.state.staleIndexRecoveryCount < 2
2807
+ ) {
2808
+ return <AgentPanelReloadingNotice />;
2809
+ }
2810
+
2811
+ return (
2812
+ <AgentPanelErrorFallback
2813
+ details={this.state.error.message}
2814
+ onReset={() => {
2815
+ this.setState({ error: null, staleIndexRecoveryCount: 0 });
2816
+ this.props.onReset();
2817
+ }}
2818
+ />
2819
+ );
2820
+ }
2821
+ }
2822
+
2823
+ function AgentPanelReloadingNotice() {
2824
+ const t = useT();
2825
+ return (
2826
+ <div className="flex h-full items-center justify-center p-6 text-center text-xs text-muted-foreground">
2827
+ {t("agentPanel.uiError.reloading")}
2828
+ </div>
2829
+ );
2830
+ }
2831
+
2832
+ function AgentPanelErrorFallback({
2833
+ details,
2834
+ onReset,
2835
+ }: {
2836
+ details: string;
2837
+ onReset: () => void;
2838
+ }) {
2839
+ const t = useT();
2840
+ return (
2841
+ <div className="flex h-full flex-col items-center justify-center gap-3 p-6 text-center">
2842
+ <div className="max-w-[260px] space-y-1">
2843
+ <p className="text-sm font-medium text-foreground">
2844
+ {t("agentPanel.uiError.title")}
2845
+ </p>
2846
+ <p className="text-xs leading-relaxed text-muted-foreground">
2847
+ {t("agentPanel.uiError.description")}
2848
+ </p>
2849
+ </div>
2850
+ <button
2851
+ type="button"
2852
+ className="rounded-md border border-border bg-background px-3 py-1.5 text-xs font-medium text-foreground hover:bg-accent"
2853
+ onClick={onReset}
2854
+ >
2855
+ {t("agentPanel.uiError.reset")}
2856
+ </button>
2857
+ <ErrorReportActions
2858
+ appName="Agent panel"
2859
+ title={t("agentPanel.uiError.title")}
2860
+ details={details}
2861
+ issueTitle="Agent panel UI error"
2862
+ className="max-w-[260px]"
2863
+ feedbackClassName="h-7"
2864
+ githubClassName="h-7"
2865
+ />
2866
+ </div>
2867
+ );
2868
+ }
2869
+
2870
+ export function AgentPanel(props: AgentPanelProps) {
2871
+ const [resetKey, setResetKey] = useState(0);
2872
+ const resetPanel = useCallback(() => {
2873
+ try {
2874
+ const keyPrefix = props.storageKey ? `:${props.storageKey}` : "";
2875
+ localStorage.setItem(`agent-native-panel-mode${keyPrefix}`, "chat");
2876
+ } catch {}
2877
+ setResetKey((key) => key + 1);
2878
+ }, [props.storageKey]);
2879
+ const resolvedBrowserTabId =
2880
+ props.browserTabId ??
2881
+ (typeof window === "undefined" ? undefined : getBrowserTabId());
2882
+ return (
2883
+ <AgentPanelErrorBoundary onReset={resetPanel}>
2884
+ <AgentPanelInner
2885
+ key={resetKey}
2886
+ {...props}
2887
+ browserTabId={resolvedBrowserTabId}
2888
+ />
2889
+ </AgentPanelErrorBoundary>
2890
+ );
2891
+ }
2892
+
2893
+ export type AgentChatSurfaceMode = "panel" | "page";
2894
+
2895
+ export interface AgentChatSurfaceProps extends AgentPanelProps {
2896
+ mode?: AgentChatSurfaceMode;
2897
+ chatViewTransition?: boolean;
2898
+ }
2899
+
2900
+ export function shouldDefaultAgentChatSurfacePageNewChatButton(
2901
+ _mode: AgentChatSurfaceMode | undefined,
2902
+ _showTabBar: boolean | undefined,
2903
+ ): boolean {
2904
+ return false;
2905
+ }
2906
+
2907
+ export function shouldDefaultAgentChatSurfacePageHeader(
2908
+ mode: AgentChatSurfaceMode | undefined,
2909
+ ): boolean {
2910
+ return mode === "page";
2911
+ }
2912
+
2913
+ export function AgentChatSurface({
2914
+ mode = "panel",
2915
+ className,
2916
+ defaultMode = "chat",
2917
+ showHeader = false,
2918
+ showTabBar = false,
2919
+ isFullscreen,
2920
+ style,
2921
+ chatViewTransition = false,
2922
+ showPageNewChatButton,
2923
+ showPageHeader,
2924
+ ...props
2925
+ }: AgentChatSurfaceProps) {
2926
+ const pageMode = mode === "page";
2927
+ const resolvedBrowserTabId =
2928
+ props.browserTabId ??
2929
+ (typeof window === "undefined" ? undefined : getBrowserTabId());
2930
+ const defaultShowPageNewChatButton =
2931
+ shouldDefaultAgentChatSurfacePageNewChatButton(mode, showTabBar);
2932
+
2933
+ const panel = (
2934
+ <AgentPanel
2935
+ {...props}
2936
+ browserTabId={resolvedBrowserTabId}
2937
+ defaultMode={defaultMode}
2938
+ showHeader={showHeader}
2939
+ showTabBar={showTabBar}
2940
+ isFullscreen={isFullscreen ?? pageMode}
2941
+ showPageNewChatButton={
2942
+ showPageNewChatButton ?? defaultShowPageNewChatButton
2943
+ }
2944
+ showPageHeader={
2945
+ showPageHeader ?? shouldDefaultAgentChatSurfacePageHeader(mode)
2946
+ }
2947
+ className={cn(
2948
+ pageMode && "h-full min-h-0 w-full overflow-hidden bg-background",
2949
+ chatViewTransition && AGENT_CHAT_VIEW_TRANSITION_CLASS,
2950
+ className,
2951
+ )}
2952
+ style={
2953
+ chatViewTransition ? getAgentChatViewTransitionStyle(style) : style
2954
+ }
2955
+ />
2956
+ );
2957
+
2958
+ if (!pageMode) return panel;
2959
+ return (
2960
+ <>
2961
+ <URLSync browserTabId={resolvedBrowserTabId} />
2962
+ {panel}
2963
+ <SettingsReturnPathRecorder />
2964
+ </>
2965
+ );
2966
+ }