@agent-native/core 0.76.3 → 0.76.5

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 (435) hide show
  1. package/corpus/core/CHANGELOG.md +25 -0
  2. package/corpus/core/package.json +1 -1
  3. package/corpus/core/src/agent/production-agent.ts +147 -56
  4. package/corpus/core/src/agent/run-store.ts +36 -0
  5. package/corpus/core/src/client/AgentPanel.tsx +3 -3
  6. package/corpus/core/src/client/AgentTaskCard.tsx +2 -1
  7. package/corpus/core/src/client/AppearancePicker.tsx +1 -1
  8. package/corpus/core/src/client/AssistantChat.tsx +3 -3
  9. package/corpus/core/src/client/CommandMenu.tsx +4 -4
  10. package/corpus/core/src/client/ErrorBoundary.tsx +1 -1
  11. package/corpus/core/src/client/MultiTabAssistantChat.tsx +11 -11
  12. package/corpus/core/src/client/NewWorkspaceAppFlow.tsx +5 -5
  13. package/corpus/core/src/client/components/ui/dropdown-menu.tsx +9 -9
  14. package/corpus/core/src/client/components/ui/sheet.tsx +1 -1
  15. package/corpus/core/src/client/composer/ComposerPlusMenu.tsx +6 -6
  16. package/corpus/core/src/client/composer/MentionPopover.tsx +4 -4
  17. package/corpus/core/src/client/composer/PastedTextChip.tsx +3 -3
  18. package/corpus/core/src/client/composer/PromptComposer.tsx +3 -3
  19. package/corpus/core/src/client/composer/TiptapComposer.tsx +16 -16
  20. package/corpus/core/src/client/guided-questions.tsx +6 -8
  21. package/corpus/core/src/client/i18n.tsx +2 -2
  22. package/corpus/core/src/client/integrations/IntegrationCard.tsx +2 -2
  23. package/corpus/core/src/client/integrations/IntegrationsPanel.tsx +4 -4
  24. package/corpus/core/src/client/notifications/NotificationsBell.tsx +3 -3
  25. package/corpus/core/src/client/onboarding/OnboardingBanner.tsx +3 -3
  26. package/corpus/core/src/client/onboarding/OnboardingPanel.tsx +17 -10
  27. package/corpus/core/src/client/org/OrgSwitcher.tsx +13 -11
  28. package/corpus/core/src/client/org/TeamPage.tsx +2 -2
  29. package/corpus/core/src/client/settings/AgentsSection.tsx +3 -3
  30. package/corpus/core/src/client/settings/AutomationsSection.tsx +3 -3
  31. package/corpus/core/src/client/settings/SecretsSection.tsx +2 -2
  32. package/corpus/core/src/client/settings/SettingsPanel.tsx +5 -7
  33. package/corpus/core/src/client/settings/SettingsSection.tsx +1 -1
  34. package/corpus/core/src/client/settings/UsageSection.tsx +3 -3
  35. package/corpus/core/src/client/settings/VoiceTranscriptionSection.tsx +3 -3
  36. package/corpus/core/src/client/sharing/ShareButton.tsx +7 -7
  37. package/corpus/core/src/client/sharing/ShareDialog.tsx +3 -3
  38. package/corpus/core/src/deploy/build.ts +31 -14
  39. package/corpus/core/src/styles/agent-conversation.css +10 -10
  40. package/corpus/core/src/styles/blocks.css +2 -2
  41. package/corpus/core/src/styles/rich-markdown-editor.css +2 -2
  42. package/corpus/templates/analytics/app/components/layout/MobileNav.tsx +1 -1
  43. package/corpus/templates/analytics/app/components/ui/alert-dialog.tsx +1 -1
  44. package/corpus/templates/analytics/app/components/ui/alert.tsx +1 -1
  45. package/corpus/templates/analytics/app/components/ui/breadcrumb.tsx +1 -1
  46. package/corpus/templates/analytics/app/components/ui/calendar.tsx +6 -6
  47. package/corpus/templates/analytics/app/components/ui/carousel.tsx +6 -6
  48. package/corpus/templates/analytics/app/components/ui/command.tsx +2 -2
  49. package/corpus/templates/analytics/app/components/ui/context-menu.tsx +9 -9
  50. package/corpus/templates/analytics/app/components/ui/date-picker.tsx +1 -1
  51. package/corpus/templates/analytics/app/components/ui/dialog.tsx +2 -2
  52. package/corpus/templates/analytics/app/components/ui/drawer.tsx +1 -1
  53. package/corpus/templates/analytics/app/components/ui/dropdown-menu.tsx +9 -9
  54. package/corpus/templates/analytics/app/components/ui/input-otp.tsx +1 -1
  55. package/corpus/templates/analytics/app/components/ui/menubar.tsx +9 -9
  56. package/corpus/templates/analytics/app/components/ui/navigation-menu.tsx +3 -3
  57. package/corpus/templates/analytics/app/components/ui/pagination.tsx +4 -4
  58. package/corpus/templates/analytics/app/components/ui/scroll-area.tsx +1 -1
  59. package/corpus/templates/analytics/app/components/ui/select.tsx +3 -3
  60. package/corpus/templates/analytics/app/components/ui/sheet.tsx +2 -2
  61. package/corpus/templates/analytics/app/components/ui/sidebar.tsx +6 -6
  62. package/corpus/templates/analytics/app/components/ui/table.tsx +2 -2
  63. package/corpus/templates/analytics/app/components/ui/toast.tsx +3 -3
  64. package/corpus/templates/assets/app/components/layout/Layout.tsx +2 -2
  65. package/corpus/templates/assets/app/components/layout/Sidebar.tsx +12 -12
  66. package/corpus/templates/assets/app/components/ui/alert-dialog.tsx +1 -1
  67. package/corpus/templates/assets/app/components/ui/alert.tsx +1 -1
  68. package/corpus/templates/assets/app/components/ui/breadcrumb.tsx +1 -1
  69. package/corpus/templates/assets/app/components/ui/dialog.tsx +2 -2
  70. package/corpus/templates/assets/app/components/ui/dropdown-menu.tsx +9 -9
  71. package/corpus/templates/assets/app/components/ui/pagination.tsx +4 -4
  72. package/corpus/templates/assets/app/components/ui/scroll-area.tsx +1 -1
  73. package/corpus/templates/assets/app/components/ui/select.tsx +3 -3
  74. package/corpus/templates/assets/app/components/ui/sheet.tsx +2 -2
  75. package/corpus/templates/assets/app/components/ui/table.tsx +2 -2
  76. package/corpus/templates/assets/app/routes/library.tsx +3 -3
  77. package/corpus/templates/assets/app/routes/settings.tsx +1 -1
  78. package/corpus/templates/brain/app/components/layout/Sidebar.tsx +5 -5
  79. package/corpus/templates/brain/app/components/ui/dropdown-menu.tsx +9 -9
  80. package/corpus/templates/brain/app/components/ui/select.tsx +3 -3
  81. package/corpus/templates/brain/app/components/ui/sheet.tsx +2 -2
  82. package/corpus/templates/brain/app/components/ui/table.tsx +2 -2
  83. package/corpus/templates/calendar/app/components/calendar/GoogleConnectBanner.tsx +6 -6
  84. package/corpus/templates/calendar/app/components/calendar/GoogleSetupWizard.tsx +3 -3
  85. package/corpus/templates/calendar/app/components/layout/Sidebar.tsx +11 -9
  86. package/corpus/templates/calendar/app/components/ui/alert-dialog.tsx +1 -1
  87. package/corpus/templates/calendar/app/components/ui/alert.tsx +1 -1
  88. package/corpus/templates/calendar/app/components/ui/breadcrumb.tsx +1 -1
  89. package/corpus/templates/calendar/app/components/ui/calendar.tsx +5 -5
  90. package/corpus/templates/calendar/app/components/ui/carousel.tsx +6 -6
  91. package/corpus/templates/calendar/app/components/ui/command.tsx +2 -2
  92. package/corpus/templates/calendar/app/components/ui/context-menu.tsx +9 -9
  93. package/corpus/templates/calendar/app/components/ui/dialog.tsx +2 -2
  94. package/corpus/templates/calendar/app/components/ui/drawer.tsx +1 -1
  95. package/corpus/templates/calendar/app/components/ui/dropdown-menu.tsx +9 -9
  96. package/corpus/templates/calendar/app/components/ui/input-otp.tsx +1 -1
  97. package/corpus/templates/calendar/app/components/ui/menubar.tsx +9 -9
  98. package/corpus/templates/calendar/app/components/ui/navigation-menu.tsx +3 -3
  99. package/corpus/templates/calendar/app/components/ui/pagination.tsx +4 -4
  100. package/corpus/templates/calendar/app/components/ui/scroll-area.tsx +1 -1
  101. package/corpus/templates/calendar/app/components/ui/select.tsx +3 -3
  102. package/corpus/templates/calendar/app/components/ui/sheet.tsx +2 -2
  103. package/corpus/templates/calendar/app/components/ui/sidebar.tsx +6 -6
  104. package/corpus/templates/calendar/app/components/ui/sonner.tsx +1 -1
  105. package/corpus/templates/calendar/app/components/ui/table.tsx +2 -2
  106. package/corpus/templates/calendar/app/components/ui/toast.tsx +3 -3
  107. package/corpus/templates/calendar/app/pages/Settings.tsx +5 -5
  108. package/corpus/templates/chat/app/components/layout/Sidebar.tsx +9 -9
  109. package/corpus/templates/chat/app/components/ui/alert-dialog.tsx +1 -1
  110. package/corpus/templates/chat/app/components/ui/alert.tsx +1 -1
  111. package/corpus/templates/chat/app/components/ui/breadcrumb.tsx +1 -1
  112. package/corpus/templates/chat/app/components/ui/calendar.tsx +5 -5
  113. package/corpus/templates/chat/app/components/ui/carousel.tsx +6 -6
  114. package/corpus/templates/chat/app/components/ui/command.tsx +2 -2
  115. package/corpus/templates/chat/app/components/ui/context-menu.tsx +9 -9
  116. package/corpus/templates/chat/app/components/ui/dialog.tsx +2 -2
  117. package/corpus/templates/chat/app/components/ui/drawer.tsx +1 -1
  118. package/corpus/templates/chat/app/components/ui/dropdown-menu.tsx +9 -9
  119. package/corpus/templates/chat/app/components/ui/input-otp.tsx +1 -1
  120. package/corpus/templates/chat/app/components/ui/menubar.tsx +9 -9
  121. package/corpus/templates/chat/app/components/ui/navigation-menu.tsx +3 -3
  122. package/corpus/templates/chat/app/components/ui/pagination.tsx +4 -4
  123. package/corpus/templates/chat/app/components/ui/scroll-area.tsx +1 -1
  124. package/corpus/templates/chat/app/components/ui/select.tsx +3 -3
  125. package/corpus/templates/chat/app/components/ui/sheet.tsx +2 -2
  126. package/corpus/templates/chat/app/components/ui/sidebar.tsx +6 -6
  127. package/corpus/templates/chat/app/components/ui/table.tsx +2 -2
  128. package/corpus/templates/chat/app/components/ui/toast.tsx +3 -3
  129. package/corpus/templates/clips/app/components/capture-install-options.tsx +3 -3
  130. package/corpus/templates/clips/app/components/editable-recording-title.tsx +1 -1
  131. package/corpus/templates/clips/app/components/library/bulk-action-toolbar.tsx +3 -3
  132. package/corpus/templates/clips/app/components/library/folder-tree.tsx +5 -5
  133. package/corpus/templates/clips/app/components/library/library-layout.tsx +3 -3
  134. package/corpus/templates/clips/app/components/library/organization-switcher.tsx +4 -4
  135. package/corpus/templates/clips/app/components/library/recording-card.tsx +11 -11
  136. package/corpus/templates/clips/app/components/library/search-bar.tsx +4 -4
  137. package/corpus/templates/clips/app/components/library/space-card.tsx +1 -1
  138. package/corpus/templates/clips/app/components/library/tag-input.tsx +1 -1
  139. package/corpus/templates/clips/app/components/meetings/quick-ask-sidebar.tsx +2 -2
  140. package/corpus/templates/clips/app/components/recorder/camera-visualizer.tsx +2 -2
  141. package/corpus/templates/clips/app/components/recorder/microphone-visualizer.tsx +1 -1
  142. package/corpus/templates/clips/app/components/recorder/pre-record-panel.tsx +4 -4
  143. package/corpus/templates/clips/app/components/recorder/storage-setup-card.tsx +1 -1
  144. package/corpus/templates/clips/app/components/sharing/share-ui.tsx +2 -2
  145. package/corpus/templates/clips/app/components/ui/alert-dialog.tsx +1 -1
  146. package/corpus/templates/clips/app/components/ui/alert.tsx +1 -1
  147. package/corpus/templates/clips/app/components/ui/breadcrumb.tsx +1 -1
  148. package/corpus/templates/clips/app/components/ui/calendar.tsx +5 -5
  149. package/corpus/templates/clips/app/components/ui/carousel.tsx +6 -6
  150. package/corpus/templates/clips/app/components/ui/command.tsx +2 -2
  151. package/corpus/templates/clips/app/components/ui/context-menu.tsx +9 -9
  152. package/corpus/templates/clips/app/components/ui/dialog.tsx +2 -2
  153. package/corpus/templates/clips/app/components/ui/drawer.tsx +1 -1
  154. package/corpus/templates/clips/app/components/ui/dropdown-menu.tsx +9 -9
  155. package/corpus/templates/clips/app/components/ui/input-otp.tsx +1 -1
  156. package/corpus/templates/clips/app/components/ui/menubar.tsx +9 -9
  157. package/corpus/templates/clips/app/components/ui/navigation-menu.tsx +3 -3
  158. package/corpus/templates/clips/app/components/ui/pagination.tsx +4 -4
  159. package/corpus/templates/clips/app/components/ui/scroll-area.tsx +1 -1
  160. package/corpus/templates/clips/app/components/ui/select.tsx +3 -3
  161. package/corpus/templates/clips/app/components/ui/sheet.tsx +2 -2
  162. package/corpus/templates/clips/app/components/ui/sidebar.tsx +6 -6
  163. package/corpus/templates/clips/app/components/ui/table.tsx +2 -2
  164. package/corpus/templates/clips/app/components/ui/toast.tsx +3 -3
  165. package/corpus/templates/clips/app/components/workspace/branding-editor.tsx +1 -1
  166. package/corpus/templates/clips/app/components/workspace/insights-hub.tsx +2 -2
  167. package/corpus/templates/clips/app/components/workspace/invite-dialog.tsx +2 -2
  168. package/corpus/templates/clips/app/components/workspace/top-creators-table.tsx +6 -6
  169. package/corpus/templates/clips/app/components/workspace/top-videos-table.tsx +2 -2
  170. package/corpus/templates/clips/app/routes/_app.dictate.tsx +4 -4
  171. package/corpus/templates/clips/app/routes/_app.meetings._index.tsx +7 -7
  172. package/corpus/templates/clips/app/routes/_app.settings._index.tsx +1 -1
  173. package/corpus/templates/clips/app/routes/download.tsx +2 -2
  174. package/corpus/templates/clips/app/routes/invite.$token.tsx +2 -2
  175. package/corpus/templates/clips/app/routes/r.$recordingId.tsx +3 -3
  176. package/corpus/templates/clips/app/routes/record.tsx +5 -5
  177. package/corpus/templates/clips/app/routes/share.$shareId.tsx +7 -7
  178. package/corpus/templates/content/app/components/EmptyState.tsx +1 -1
  179. package/corpus/templates/content/app/components/editor/DocumentToolbar.tsx +17 -17
  180. package/corpus/templates/content/app/components/layout/Layout.tsx +2 -2
  181. package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +10 -9
  182. package/corpus/templates/content/app/components/sidebar/DocumentTreeItem.tsx +10 -6
  183. package/corpus/templates/content/app/components/sidebar/NotionButton.tsx +3 -3
  184. package/corpus/templates/content/app/components/ui/alert-dialog.tsx +1 -1
  185. package/corpus/templates/content/app/components/ui/dialog.tsx +2 -2
  186. package/corpus/templates/content/app/components/ui/dropdown-menu.tsx +9 -9
  187. package/corpus/templates/content/app/components/ui/scroll-area.tsx +1 -1
  188. package/corpus/templates/content/app/components/ui/sheet.tsx +2 -2
  189. package/corpus/templates/content/app/components/ui/table.tsx +2 -2
  190. package/corpus/templates/content/app/components/ui/toast.tsx +3 -3
  191. package/corpus/templates/design/app/components/layout/Layout.tsx +3 -3
  192. package/corpus/templates/design/app/components/layout/Sidebar.tsx +3 -3
  193. package/corpus/templates/design/app/components/ui/alert-dialog.tsx +1 -1
  194. package/corpus/templates/design/app/components/ui/alert.tsx +1 -1
  195. package/corpus/templates/design/app/components/ui/breadcrumb.tsx +1 -1
  196. package/corpus/templates/design/app/components/ui/calendar.tsx +5 -5
  197. package/corpus/templates/design/app/components/ui/carousel.tsx +6 -6
  198. package/corpus/templates/design/app/components/ui/command.tsx +2 -2
  199. package/corpus/templates/design/app/components/ui/context-menu.tsx +9 -9
  200. package/corpus/templates/design/app/components/ui/dialog.tsx +2 -2
  201. package/corpus/templates/design/app/components/ui/drawer.tsx +1 -1
  202. package/corpus/templates/design/app/components/ui/dropdown-menu.tsx +9 -9
  203. package/corpus/templates/design/app/components/ui/input-otp.tsx +1 -1
  204. package/corpus/templates/design/app/components/ui/menubar.tsx +9 -9
  205. package/corpus/templates/design/app/components/ui/navigation-menu.tsx +3 -3
  206. package/corpus/templates/design/app/components/ui/pagination.tsx +4 -4
  207. package/corpus/templates/design/app/components/ui/scroll-area.tsx +1 -1
  208. package/corpus/templates/design/app/components/ui/select.tsx +3 -3
  209. package/corpus/templates/design/app/components/ui/sheet.tsx +2 -2
  210. package/corpus/templates/design/app/components/ui/sidebar.tsx +6 -6
  211. package/corpus/templates/design/app/components/ui/table.tsx +2 -2
  212. package/corpus/templates/design/app/components/ui/toast.tsx +3 -3
  213. package/corpus/templates/design/app/pages/DesignSystems.tsx +6 -8
  214. package/corpus/templates/design/app/pages/Index.tsx +8 -8
  215. package/corpus/templates/design/app/pages/NotFound.tsx +1 -1
  216. package/corpus/templates/design/app/pages/Templates.tsx +2 -2
  217. package/corpus/templates/forms/app/components/layout/Sidebar.tsx +3 -3
  218. package/corpus/templates/forms/app/components/ui/alert-dialog.tsx +1 -1
  219. package/corpus/templates/forms/app/components/ui/alert.tsx +1 -1
  220. package/corpus/templates/forms/app/components/ui/breadcrumb.tsx +1 -1
  221. package/corpus/templates/forms/app/components/ui/calendar.tsx +9 -6
  222. package/corpus/templates/forms/app/components/ui/carousel.tsx +6 -6
  223. package/corpus/templates/forms/app/components/ui/command.tsx +2 -2
  224. package/corpus/templates/forms/app/components/ui/context-menu.tsx +9 -9
  225. package/corpus/templates/forms/app/components/ui/dialog.tsx +2 -2
  226. package/corpus/templates/forms/app/components/ui/drawer.tsx +1 -1
  227. package/corpus/templates/forms/app/components/ui/dropdown-menu.tsx +9 -9
  228. package/corpus/templates/forms/app/components/ui/input-otp.tsx +1 -1
  229. package/corpus/templates/forms/app/components/ui/menubar.tsx +9 -9
  230. package/corpus/templates/forms/app/components/ui/navigation-menu.tsx +3 -3
  231. package/corpus/templates/forms/app/components/ui/pagination.tsx +4 -4
  232. package/corpus/templates/forms/app/components/ui/scroll-area.tsx +1 -1
  233. package/corpus/templates/forms/app/components/ui/select.tsx +3 -3
  234. package/corpus/templates/forms/app/components/ui/sheet.tsx +2 -2
  235. package/corpus/templates/forms/app/components/ui/sidebar.tsx +6 -6
  236. package/corpus/templates/forms/app/components/ui/table.tsx +2 -2
  237. package/corpus/templates/forms/app/components/ui/toast.tsx +3 -3
  238. package/corpus/templates/forms/app/pages/FormBuilderPage.tsx +18 -18
  239. package/corpus/templates/forms/app/pages/FormsListPage.tsx +9 -9
  240. package/corpus/templates/macros/app/components/layout/AppLayout.tsx +4 -4
  241. package/corpus/templates/macros/app/components/ui/alert-dialog.tsx +1 -1
  242. package/corpus/templates/macros/app/components/ui/alert.tsx +1 -1
  243. package/corpus/templates/macros/app/components/ui/breadcrumb.tsx +1 -1
  244. package/corpus/templates/macros/app/components/ui/command.tsx +2 -2
  245. package/corpus/templates/macros/app/components/ui/context-menu.tsx +9 -9
  246. package/corpus/templates/macros/app/components/ui/dialog.tsx +2 -2
  247. package/corpus/templates/macros/app/components/ui/drawer.tsx +1 -1
  248. package/corpus/templates/macros/app/components/ui/dropdown-menu.tsx +9 -9
  249. package/corpus/templates/macros/app/components/ui/menubar.tsx +9 -9
  250. package/corpus/templates/macros/app/components/ui/navigation-menu.tsx +3 -3
  251. package/corpus/templates/macros/app/components/ui/pagination.tsx +4 -4
  252. package/corpus/templates/macros/app/components/ui/scroll-area.tsx +1 -1
  253. package/corpus/templates/macros/app/components/ui/select.tsx +3 -3
  254. package/corpus/templates/macros/app/components/ui/sheet.tsx +2 -2
  255. package/corpus/templates/macros/app/components/ui/table.tsx +2 -2
  256. package/corpus/templates/macros/app/components/ui/toast.tsx +3 -3
  257. package/corpus/templates/macros/app/routes/_index.tsx +2 -2
  258. package/corpus/templates/macros/app/routes/analytics.tsx +1 -1
  259. package/corpus/templates/mail/app/components/GoogleConnectBanner.tsx +6 -6
  260. package/corpus/templates/mail/app/components/email/AttachmentStrip.tsx +2 -2
  261. package/corpus/templates/mail/app/components/email/EmailListItem.tsx +5 -5
  262. package/corpus/templates/mail/app/components/email/IntegrationsSidebar.tsx +5 -5
  263. package/corpus/templates/mail/app/components/email/MobileActionBar.tsx +3 -3
  264. package/corpus/templates/mail/app/components/layout/AppLayout.tsx +10 -10
  265. package/corpus/templates/mail/app/components/layout/CommandPalette.tsx +1 -1
  266. package/corpus/templates/mail/app/components/layout/SearchBar.tsx +3 -3
  267. package/corpus/templates/mail/app/components/ui/alert-dialog.tsx +1 -1
  268. package/corpus/templates/mail/app/components/ui/alert.tsx +1 -1
  269. package/corpus/templates/mail/app/components/ui/breadcrumb.tsx +1 -1
  270. package/corpus/templates/mail/app/components/ui/calendar.tsx +4 -4
  271. package/corpus/templates/mail/app/components/ui/carousel.tsx +6 -6
  272. package/corpus/templates/mail/app/components/ui/command.tsx +2 -2
  273. package/corpus/templates/mail/app/components/ui/context-menu.tsx +9 -9
  274. package/corpus/templates/mail/app/components/ui/dialog.tsx +2 -2
  275. package/corpus/templates/mail/app/components/ui/drawer.tsx +1 -1
  276. package/corpus/templates/mail/app/components/ui/dropdown-menu.tsx +9 -9
  277. package/corpus/templates/mail/app/components/ui/input-otp.tsx +1 -1
  278. package/corpus/templates/mail/app/components/ui/menubar.tsx +9 -9
  279. package/corpus/templates/mail/app/components/ui/navigation-menu.tsx +3 -3
  280. package/corpus/templates/mail/app/components/ui/pagination.tsx +4 -4
  281. package/corpus/templates/mail/app/components/ui/scroll-area.tsx +1 -1
  282. package/corpus/templates/mail/app/components/ui/select.tsx +3 -3
  283. package/corpus/templates/mail/app/components/ui/sheet.tsx +2 -2
  284. package/corpus/templates/mail/app/components/ui/sidebar.tsx +6 -6
  285. package/corpus/templates/mail/app/components/ui/sonner.tsx +2 -2
  286. package/corpus/templates/mail/app/components/ui/table.tsx +2 -2
  287. package/corpus/templates/mail/app/components/ui/toast.tsx +3 -3
  288. package/corpus/templates/plan/app/components/layout/Sidebar.tsx +10 -10
  289. package/corpus/templates/plan/app/components/ui/alert-dialog.tsx +1 -1
  290. package/corpus/templates/plan/app/components/ui/alert.tsx +1 -1
  291. package/corpus/templates/plan/app/components/ui/breadcrumb.tsx +1 -1
  292. package/corpus/templates/plan/app/components/ui/calendar.tsx +5 -5
  293. package/corpus/templates/plan/app/components/ui/carousel.tsx +6 -6
  294. package/corpus/templates/plan/app/components/ui/command.tsx +2 -2
  295. package/corpus/templates/plan/app/components/ui/context-menu.tsx +9 -9
  296. package/corpus/templates/plan/app/components/ui/dialog.tsx +2 -2
  297. package/corpus/templates/plan/app/components/ui/drawer.tsx +1 -1
  298. package/corpus/templates/plan/app/components/ui/dropdown-menu.tsx +9 -9
  299. package/corpus/templates/plan/app/components/ui/input-otp.tsx +1 -1
  300. package/corpus/templates/plan/app/components/ui/menubar.tsx +9 -9
  301. package/corpus/templates/plan/app/components/ui/navigation-menu.tsx +3 -3
  302. package/corpus/templates/plan/app/components/ui/pagination.tsx +4 -4
  303. package/corpus/templates/plan/app/components/ui/scroll-area.tsx +1 -1
  304. package/corpus/templates/plan/app/components/ui/select.tsx +3 -3
  305. package/corpus/templates/plan/app/components/ui/sheet.tsx +2 -2
  306. package/corpus/templates/plan/app/components/ui/sidebar.tsx +6 -6
  307. package/corpus/templates/plan/app/components/ui/table.tsx +2 -2
  308. package/corpus/templates/plan/app/components/ui/toast.tsx +3 -3
  309. package/corpus/templates/slides/app/components/layout/Layout.tsx +1 -1
  310. package/corpus/templates/slides/app/components/ui/alert-dialog.tsx +1 -1
  311. package/corpus/templates/slides/app/components/ui/alert.tsx +1 -1
  312. package/corpus/templates/slides/app/components/ui/breadcrumb.tsx +1 -1
  313. package/corpus/templates/slides/app/components/ui/calendar.tsx +5 -5
  314. package/corpus/templates/slides/app/components/ui/carousel.tsx +6 -6
  315. package/corpus/templates/slides/app/components/ui/command.tsx +2 -2
  316. package/corpus/templates/slides/app/components/ui/context-menu.tsx +9 -9
  317. package/corpus/templates/slides/app/components/ui/dialog.tsx +2 -2
  318. package/corpus/templates/slides/app/components/ui/drawer.tsx +1 -1
  319. package/corpus/templates/slides/app/components/ui/dropdown-menu.tsx +9 -9
  320. package/corpus/templates/slides/app/components/ui/input-otp.tsx +1 -1
  321. package/corpus/templates/slides/app/components/ui/menubar.tsx +9 -9
  322. package/corpus/templates/slides/app/components/ui/navigation-menu.tsx +3 -3
  323. package/corpus/templates/slides/app/components/ui/pagination.tsx +4 -4
  324. package/corpus/templates/slides/app/components/ui/scroll-area.tsx +1 -1
  325. package/corpus/templates/slides/app/components/ui/select.tsx +3 -3
  326. package/corpus/templates/slides/app/components/ui/sheet.tsx +2 -2
  327. package/corpus/templates/slides/app/components/ui/sidebar.tsx +6 -6
  328. package/corpus/templates/slides/app/components/ui/table.tsx +2 -2
  329. package/corpus/templates/slides/app/components/ui/toast.tsx +3 -3
  330. package/corpus/templates/videos/app/components/ui/alert-dialog.tsx +1 -1
  331. package/corpus/templates/videos/app/components/ui/alert.tsx +1 -1
  332. package/corpus/templates/videos/app/components/ui/breadcrumb.tsx +1 -1
  333. package/corpus/templates/videos/app/components/ui/calendar.tsx +5 -5
  334. package/corpus/templates/videos/app/components/ui/carousel.tsx +6 -6
  335. package/corpus/templates/videos/app/components/ui/command.tsx +2 -2
  336. package/corpus/templates/videos/app/components/ui/context-menu.tsx +9 -9
  337. package/corpus/templates/videos/app/components/ui/dialog.tsx +2 -2
  338. package/corpus/templates/videos/app/components/ui/drawer.tsx +1 -1
  339. package/corpus/templates/videos/app/components/ui/dropdown-menu.tsx +9 -9
  340. package/corpus/templates/videos/app/components/ui/input-otp.tsx +1 -1
  341. package/corpus/templates/videos/app/components/ui/menubar.tsx +9 -9
  342. package/corpus/templates/videos/app/components/ui/navigation-menu.tsx +3 -3
  343. package/corpus/templates/videos/app/components/ui/pagination.tsx +4 -4
  344. package/corpus/templates/videos/app/components/ui/scroll-area.tsx +1 -1
  345. package/corpus/templates/videos/app/components/ui/select.tsx +3 -3
  346. package/corpus/templates/videos/app/components/ui/sheet.tsx +2 -2
  347. package/corpus/templates/videos/app/components/ui/sidebar.tsx +6 -6
  348. package/corpus/templates/videos/app/components/ui/table.tsx +2 -2
  349. package/corpus/templates/videos/app/components/ui/toast.tsx +3 -3
  350. package/dist/agent/production-agent.d.ts +47 -0
  351. package/dist/agent/production-agent.d.ts.map +1 -1
  352. package/dist/agent/production-agent.js +112 -56
  353. package/dist/agent/production-agent.js.map +1 -1
  354. package/dist/agent/run-store.d.ts +21 -0
  355. package/dist/agent/run-store.d.ts.map +1 -1
  356. package/dist/agent/run-store.js +32 -0
  357. package/dist/agent/run-store.js.map +1 -1
  358. package/dist/client/AgentPanel.js +3 -3
  359. package/dist/client/AgentPanel.js.map +1 -1
  360. package/dist/client/AgentTaskCard.d.ts.map +1 -1
  361. package/dist/client/AgentTaskCard.js +1 -1
  362. package/dist/client/AgentTaskCard.js.map +1 -1
  363. package/dist/client/AppearancePicker.js +1 -1
  364. package/dist/client/AppearancePicker.js.map +1 -1
  365. package/dist/client/AssistantChat.js +3 -3
  366. package/dist/client/AssistantChat.js.map +1 -1
  367. package/dist/client/CommandMenu.js +4 -4
  368. package/dist/client/CommandMenu.js.map +1 -1
  369. package/dist/client/ErrorBoundary.js +1 -1
  370. package/dist/client/ErrorBoundary.js.map +1 -1
  371. package/dist/client/MultiTabAssistantChat.js +9 -9
  372. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  373. package/dist/client/NewWorkspaceAppFlow.js +5 -5
  374. package/dist/client/NewWorkspaceAppFlow.js.map +1 -1
  375. package/dist/client/components/ui/dropdown-menu.js +6 -6
  376. package/dist/client/components/ui/dropdown-menu.js.map +1 -1
  377. package/dist/client/components/ui/sheet.js +1 -1
  378. package/dist/client/components/ui/sheet.js.map +1 -1
  379. package/dist/client/composer/ComposerPlusMenu.js +5 -5
  380. package/dist/client/composer/ComposerPlusMenu.js.map +1 -1
  381. package/dist/client/composer/MentionPopover.js +4 -4
  382. package/dist/client/composer/MentionPopover.js.map +1 -1
  383. package/dist/client/composer/PastedTextChip.js +2 -2
  384. package/dist/client/composer/PastedTextChip.js.map +1 -1
  385. package/dist/client/composer/PromptComposer.js +3 -3
  386. package/dist/client/composer/PromptComposer.js.map +1 -1
  387. package/dist/client/composer/TiptapComposer.js +12 -12
  388. package/dist/client/composer/TiptapComposer.js.map +1 -1
  389. package/dist/client/guided-questions.d.ts.map +1 -1
  390. package/dist/client/guided-questions.js +5 -5
  391. package/dist/client/guided-questions.js.map +1 -1
  392. package/dist/client/i18n.js +2 -2
  393. package/dist/client/i18n.js.map +1 -1
  394. package/dist/client/integrations/IntegrationCard.js +1 -1
  395. package/dist/client/integrations/IntegrationCard.js.map +1 -1
  396. package/dist/client/integrations/IntegrationsPanel.js +4 -4
  397. package/dist/client/integrations/IntegrationsPanel.js.map +1 -1
  398. package/dist/client/notifications/NotificationsBell.js +3 -3
  399. package/dist/client/notifications/NotificationsBell.js.map +1 -1
  400. package/dist/client/onboarding/OnboardingBanner.js +3 -3
  401. package/dist/client/onboarding/OnboardingBanner.js.map +1 -1
  402. package/dist/client/onboarding/OnboardingPanel.d.ts.map +1 -1
  403. package/dist/client/onboarding/OnboardingPanel.js +15 -10
  404. package/dist/client/onboarding/OnboardingPanel.js.map +1 -1
  405. package/dist/client/org/OrgSwitcher.d.ts.map +1 -1
  406. package/dist/client/org/OrgSwitcher.js +7 -7
  407. package/dist/client/org/OrgSwitcher.js.map +1 -1
  408. package/dist/client/org/TeamPage.js +2 -2
  409. package/dist/client/org/TeamPage.js.map +1 -1
  410. package/dist/client/settings/AgentsSection.js +3 -3
  411. package/dist/client/settings/AgentsSection.js.map +1 -1
  412. package/dist/client/settings/AutomationsSection.js +2 -2
  413. package/dist/client/settings/AutomationsSection.js.map +1 -1
  414. package/dist/client/settings/SecretsSection.js +2 -2
  415. package/dist/client/settings/SecretsSection.js.map +1 -1
  416. package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
  417. package/dist/client/settings/SettingsPanel.js +4 -4
  418. package/dist/client/settings/SettingsPanel.js.map +1 -1
  419. package/dist/client/settings/SettingsSection.js +1 -1
  420. package/dist/client/settings/SettingsSection.js.map +1 -1
  421. package/dist/client/settings/UsageSection.js +2 -2
  422. package/dist/client/settings/UsageSection.js.map +1 -1
  423. package/dist/client/settings/VoiceTranscriptionSection.js +3 -3
  424. package/dist/client/settings/VoiceTranscriptionSection.js.map +1 -1
  425. package/dist/client/sharing/ShareButton.js +6 -6
  426. package/dist/client/sharing/ShareButton.js.map +1 -1
  427. package/dist/client/sharing/ShareDialog.js +3 -3
  428. package/dist/client/sharing/ShareDialog.js.map +1 -1
  429. package/dist/deploy/build.d.ts.map +1 -1
  430. package/dist/deploy/build.js +31 -14
  431. package/dist/deploy/build.js.map +1 -1
  432. package/dist/styles/agent-conversation.css +10 -10
  433. package/dist/styles/blocks.css +2 -2
  434. package/dist/styles/rich-markdown-editor.css +2 -2
  435. package/package.json +1 -1
@@ -21,13 +21,13 @@ const DropdownMenuSubTrigger = React.forwardRef<
21
21
  ref={ref}
22
22
  className={cn(
23
23
  "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",
24
- inset && "pl-8",
24
+ inset && "ps-8",
25
25
  className,
26
26
  )}
27
27
  {...props}
28
28
  >
29
29
  {children}
30
- <IconChevronRight className="ml-auto h-4 w-4" />
30
+ <IconChevronRight className="ms-auto h-4 w-4 rtl:-scale-x-100" />
31
31
  </DropdownMenuPrimitive.SubTrigger>
32
32
  ));
33
33
  DropdownMenuSubTrigger.displayName =
@@ -77,7 +77,7 @@ const DropdownMenuItem = React.forwardRef<
77
77
  ref={ref}
78
78
  className={cn(
79
79
  "relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
80
- inset && "pl-8",
80
+ inset && "ps-8",
81
81
  className,
82
82
  )}
83
83
  {...props}
@@ -92,13 +92,13 @@ const DropdownMenuCheckboxItem = React.forwardRef<
92
92
  <DropdownMenuPrimitive.CheckboxItem
93
93
  ref={ref}
94
94
  className={cn(
95
- "relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
95
+ "relative flex cursor-pointer select-none items-center rounded-sm py-1.5 ps-8 pe-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
96
96
  className,
97
97
  )}
98
98
  checked={checked}
99
99
  {...props}
100
100
  >
101
- <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
101
+ <span className="absolute start-2 flex h-3.5 w-3.5 items-center justify-center">
102
102
  <DropdownMenuPrimitive.ItemIndicator>
103
103
  <IconCheck className="h-4 w-4" />
104
104
  </DropdownMenuPrimitive.ItemIndicator>
@@ -116,12 +116,12 @@ const DropdownMenuRadioItem = React.forwardRef<
116
116
  <DropdownMenuPrimitive.RadioItem
117
117
  ref={ref}
118
118
  className={cn(
119
- "relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
119
+ "relative flex cursor-pointer select-none items-center rounded-sm py-1.5 ps-8 pe-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
120
120
  className,
121
121
  )}
122
122
  {...props}
123
123
  >
124
- <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
124
+ <span className="absolute start-2 flex h-3.5 w-3.5 items-center justify-center">
125
125
  <DropdownMenuPrimitive.ItemIndicator>
126
126
  <IconCircle className="h-2 w-2 fill-current" />
127
127
  </DropdownMenuPrimitive.ItemIndicator>
@@ -141,7 +141,7 @@ const DropdownMenuLabel = React.forwardRef<
141
141
  ref={ref}
142
142
  className={cn(
143
143
  "px-2 py-1.5 text-xs font-semibold text-muted-foreground",
144
- inset && "pl-8",
144
+ inset && "ps-8",
145
145
  className,
146
146
  )}
147
147
  {...props}
@@ -166,7 +166,7 @@ const DropdownMenuShortcut = ({
166
166
  ...props
167
167
  }: React.HTMLAttributes<HTMLSpanElement>) => (
168
168
  <span
169
- className={cn("ml-auto text-xs tracking-widest opacity-60", className)}
169
+ className={cn("ms-auto text-xs tracking-widest opacity-60", className)}
170
170
  {...props}
171
171
  />
172
172
  );
@@ -44,7 +44,7 @@ const SheetContent = React.forwardRef<
44
44
  {...props}
45
45
  >
46
46
  {children}
47
- <SheetPrimitive.Close className="absolute right-3 top-3 flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring">
47
+ <SheetPrimitive.Close className="absolute end-3 top-3 flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring">
48
48
  <IconX className="h-4 w-4" />
49
49
  <span className="sr-only">Close</span>
50
50
  </SheetPrimitive.Close>
@@ -565,7 +565,7 @@ function ComposerPlusMenuFull({
565
565
  }}
566
566
  className="flex items-center gap-1 text-[11px] text-muted-foreground hover:text-foreground mb-1.5"
567
567
  >
568
- <IconArrowLeft className="h-3 w-3" />
568
+ <IconArrowLeft className="h-3 w-3 rtl:-scale-x-100" />
569
569
  Back
570
570
  </button>
571
571
  );
@@ -656,7 +656,7 @@ function ComposerPlusMenuFull({
656
656
  type="button"
657
657
  onClick={item.action}
658
658
  className={cn(
659
- "flex w-full items-center gap-2.5 px-3 py-2 text-left hover:bg-accent/50",
659
+ "flex w-full items-center gap-2.5 px-3 py-2 text-start hover:bg-accent/50",
660
660
  isSkill && skillFlyoutOpen && "bg-accent/50",
661
661
  )}
662
662
  >
@@ -670,7 +670,7 @@ function ComposerPlusMenuFull({
670
670
  </div>
671
671
  </div>
672
672
  {isSkill && (
673
- <span className="ml-auto text-muted-foreground/60">
673
+ <span className="ms-auto text-muted-foreground/60">
674
674
 
675
675
  </span>
676
676
  )}
@@ -694,7 +694,7 @@ function ComposerPlusMenuFull({
694
694
  setSkillFlyoutOpen(false);
695
695
  setOpen(false);
696
696
  }}
697
- className="flex w-full items-center gap-2.5 px-3 py-2 text-left hover:bg-accent/50"
697
+ className="flex w-full items-center gap-2.5 px-3 py-2 text-start hover:bg-accent/50"
698
698
  >
699
699
  <span className="text-muted-foreground">
700
700
  <IconBulb className="h-3.5 w-3.5" />
@@ -714,7 +714,7 @@ function ComposerPlusMenuFull({
714
714
  setSkillFlyoutOpen(false);
715
715
  skillFileInputRef.current?.click();
716
716
  }}
717
- className="flex w-full items-center gap-2.5 px-3 py-2 text-left hover:bg-accent/50"
717
+ className="flex w-full items-center gap-2.5 px-3 py-2 text-start hover:bg-accent/50"
718
718
  >
719
719
  <span className="text-muted-foreground">
720
720
  <IconUpload className="h-3.5 w-3.5" />
@@ -743,7 +743,7 @@ function ComposerPlusMenuFull({
743
743
  onClick={() => setView("menu")}
744
744
  className="mb-1.5 flex items-center gap-1 text-[11px] text-muted-foreground hover:text-foreground"
745
745
  >
746
- <IconArrowLeft className="h-3 w-3" />
746
+ <IconArrowLeft className="h-3 w-3 rtl:-scale-x-100" />
747
747
  Back
748
748
  </button>
749
749
  <label className="mb-1 block text-[11px] font-semibold text-foreground">
@@ -299,7 +299,7 @@ export const MentionPopover = forwardRef<
299
299
  <button
300
300
  key={item.id}
301
301
  data-mention-index={idx}
302
- className={`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-sm ${
302
+ className={`flex w-full items-center gap-2 rounded px-2 py-1.5 text-start text-sm ${
303
303
  idx === selectedIndex
304
304
  ? "bg-accent text-accent-foreground"
305
305
  : "hover:bg-accent/50"
@@ -312,7 +312,7 @@ export const MentionPopover = forwardRef<
312
312
  {item.label}
313
313
  </span>
314
314
  {item.description && (
315
- <span className="ml-auto shrink-0 truncate max-w-[160px] text-xs text-muted-foreground">
315
+ <span className="ms-auto shrink-0 truncate max-w-[160px] text-xs text-muted-foreground">
316
316
  {item.description}
317
317
  </span>
318
318
  )}
@@ -337,7 +337,7 @@ export const MentionPopover = forwardRef<
337
337
  <button
338
338
  key={cmd.name}
339
339
  data-mention-index={i}
340
- className={`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-sm ${
340
+ className={`flex w-full items-center gap-2 rounded px-2 py-1.5 text-start text-sm ${
341
341
  i === selectedIndex
342
342
  ? "bg-accent text-accent-foreground"
343
343
  : "hover:bg-accent/50"
@@ -374,7 +374,7 @@ export const MentionPopover = forwardRef<
374
374
  <button
375
375
  key={skill.path}
376
376
  data-mention-index={i}
377
- className={`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-sm ${
377
+ className={`flex w-full items-center gap-2 rounded px-2 py-1.5 text-start text-sm ${
378
378
  i === selectedIndex
379
379
  ? "bg-accent text-accent-foreground"
380
380
  : "hover:bg-accent/50"
@@ -74,11 +74,11 @@ export function PastedTextChip({
74
74
  <button
75
75
  type="button"
76
76
  className={cn(
77
- "group relative inline-flex items-center gap-2 rounded-md border border-border/70 bg-muted/50 text-left text-foreground hover:bg-muted/70 cursor-pointer",
77
+ "group relative inline-flex items-center gap-2 rounded-md border border-border/70 bg-muted/50 text-start text-foreground hover:bg-muted/70 cursor-pointer",
78
78
  compact
79
79
  ? "max-w-[220px] px-2 py-1.5 text-xs"
80
80
  : "max-w-[260px] px-2.5 py-2 text-xs",
81
- onRemove && !compact && "pr-7",
81
+ onRemove && !compact && "pe-7",
82
82
  )}
83
83
  aria-label="Preview pasted text"
84
84
  >
@@ -106,7 +106,7 @@ export function PastedTextChip({
106
106
  aria-label="Remove pasted text"
107
107
  className={cn(
108
108
  "flex h-5 w-5 shrink-0 cursor-pointer items-center justify-center rounded text-muted-foreground hover:text-foreground",
109
- compact ? "" : "absolute right-1.5 top-1.5",
109
+ compact ? "" : "absolute end-1.5 top-1.5",
110
110
  )}
111
111
  >
112
112
  <IconX className="h-3 w-3" />
@@ -314,7 +314,7 @@ function ImagePreviewLightbox({
314
314
  type="button"
315
315
  onClick={onClose}
316
316
  aria-label="Close preview"
317
- className="absolute right-4 top-4 flex h-8 w-8 cursor-pointer items-center justify-center rounded-full border border-white/30 bg-black/40 text-white hover:bg-black/60"
317
+ className="absolute end-4 top-4 flex h-8 w-8 cursor-pointer items-center justify-center rounded-full border border-white/30 bg-black/40 text-white hover:bg-black/60"
318
318
  >
319
319
  <IconX className="h-4 w-4" />
320
320
  </button>
@@ -371,7 +371,7 @@ function AttachmentChip({
371
371
  }
372
372
  }}
373
373
  aria-label={`Remove ${attachment.name}`}
374
- className="absolute right-1 top-1 flex h-5 w-5 cursor-pointer items-center justify-center rounded-full border border-border/60 bg-background/90 text-muted-foreground hover:text-foreground"
374
+ className="absolute end-1 top-1 flex h-5 w-5 cursor-pointer items-center justify-center rounded-full border border-border/60 bg-background/90 text-muted-foreground hover:text-foreground"
375
375
  >
376
376
  <IconX className="h-3 w-3" />
377
377
  </span>
@@ -539,7 +539,7 @@ function PromptComposerInner({
539
539
 
540
540
  return (
541
541
  <AgentComposerFrame
542
- className={cn("text-left", className)}
542
+ className={cn("text-start", className)}
543
543
  rootClassName={rootClassName}
544
544
  style={style}
545
545
  rootStyle={rootStyle}
@@ -323,7 +323,7 @@ function ComposerModeChip({
323
323
  <button
324
324
  type="button"
325
325
  onClick={onRemove}
326
- className="ml-0.5 rounded-sm text-muted-foreground hover:text-foreground cursor-pointer"
326
+ className="ms-0.5 rounded-sm text-muted-foreground hover:text-foreground cursor-pointer"
327
327
  >
328
328
  <IconX className="h-3 w-3" />
329
329
  </button>
@@ -539,7 +539,7 @@ function ModeSelector({
539
539
  onChange("build");
540
540
  setOpen(false);
541
541
  }}
542
- className="flex w-full items-center gap-3 px-3 py-2 hover:bg-accent/50 text-left"
542
+ className="flex w-full items-center gap-3 px-3 py-2 hover:bg-accent/50 text-start"
543
543
  >
544
544
  <IconPencil className="h-4 w-4 shrink-0 text-muted-foreground" />
545
545
  <div className="flex-1 min-w-0">
@@ -561,7 +561,7 @@ function ModeSelector({
561
561
  onChange("plan");
562
562
  setOpen(false);
563
563
  }}
564
- className={`flex w-full items-center gap-3 px-3 py-2 text-left ${
564
+ className={`flex w-full items-center gap-3 px-3 py-2 text-start ${
565
565
  planModeDisabled
566
566
  ? "cursor-not-allowed opacity-60"
567
567
  : "hover:bg-accent/50"
@@ -861,7 +861,7 @@ function ModelSelector({
861
861
  }
862
862
  }}
863
863
  disabled={!onConnectProvider && builderFlow.connecting}
864
- className="flex w-full items-start gap-2 px-3 py-2 text-left hover:bg-accent/50 disabled:opacity-60"
864
+ className="flex w-full items-start gap-2 px-3 py-2 text-start hover:bg-accent/50 disabled:opacity-60"
865
865
  >
866
866
  <IconPlugConnected className="h-4 w-4 shrink-0 mt-0.5 text-blue-500" />
867
867
  <span className="flex-1 min-w-0">
@@ -885,12 +885,12 @@ function ModelSelector({
885
885
  type="button"
886
886
  aria-expanded={imageExpanded}
887
887
  onClick={() => setImageExpanded((prev) => !prev)}
888
- className="flex flex-1 min-w-0 items-center gap-1.5 px-2 py-1.5 cursor-pointer text-left"
888
+ className="flex flex-1 min-w-0 items-center gap-1.5 px-2 py-1.5 cursor-pointer text-start"
889
889
  >
890
890
  {imageExpanded ? (
891
891
  <IconChevronDown className="h-3 w-3 shrink-0 text-muted-foreground" />
892
892
  ) : (
893
- <IconChevronRight className="h-3 w-3 shrink-0 text-muted-foreground" />
893
+ <IconChevronRight className="h-3 w-3 shrink-0 text-muted-foreground rtl:-scale-x-100" />
894
894
  )}
895
895
  <span className="text-[11px] font-medium text-muted-foreground uppercase tracking-wide shrink-0">
896
896
  {imageModel.label ?? "Image model"}
@@ -911,7 +911,7 @@ function ModelSelector({
911
911
  imageModel.onChange(option.value);
912
912
  setImageExpanded(false);
913
913
  }}
914
- className="flex w-full items-center gap-3 pl-7 pr-3 py-1.5 text-left hover:bg-accent/50"
914
+ className="flex w-full items-center gap-3 ps-7 pe-3 py-1.5 text-start hover:bg-accent/50"
915
915
  >
916
916
  <span className="flex-1 min-w-0 text-[13px] text-foreground truncate">
917
917
  {option.label}
@@ -931,7 +931,7 @@ function ModelSelector({
931
931
  onChange("auto", autoModelGroup.engine);
932
932
  setOpen(false);
933
933
  }}
934
- className="flex w-full items-center gap-3 px-3 py-1.5 text-left hover:bg-accent/50"
934
+ className="flex w-full items-center gap-3 px-3 py-1.5 text-start hover:bg-accent/50"
935
935
  >
936
936
  <span className="flex-1 min-w-0 text-[13px] text-foreground truncate">
937
937
  Auto
@@ -956,9 +956,9 @@ function ModelSelector({
956
956
  type="button"
957
957
  aria-expanded={isExpanded}
958
958
  onClick={() => toggleGroup(groupKey)}
959
- className="flex flex-1 min-w-0 items-center gap-1.5 px-2 py-1.5 cursor-pointer text-left"
959
+ className="flex flex-1 min-w-0 items-center gap-1.5 px-2 py-1.5 cursor-pointer text-start"
960
960
  >
961
- <ChevronIcon className="h-3 w-3 shrink-0 text-muted-foreground" />
961
+ <ChevronIcon className="h-3 w-3 shrink-0 text-muted-foreground rtl:-scale-x-100" />
962
962
  <span className="text-[11px] font-medium text-muted-foreground uppercase tracking-wide shrink-0">
963
963
  {group.label}
964
964
  </span>
@@ -971,7 +971,7 @@ function ModelSelector({
971
971
  {!group.configured && (
972
972
  <button
973
973
  type="button"
974
- className="text-[10px] text-muted-foreground/60 hover:text-foreground cursor-pointer pr-3 py-1.5"
974
+ className="text-[10px] text-muted-foreground/60 hover:text-foreground cursor-pointer pe-3 py-1.5"
975
975
  onClick={openLlmSettings}
976
976
  >
977
977
  needs API key
@@ -999,7 +999,7 @@ function ModelSelector({
999
999
  }
1000
1000
  setOpen(false);
1001
1001
  }}
1002
- className={`flex w-full items-center gap-3 pl-7 pr-3 py-1.5 text-left ${
1002
+ className={`flex w-full items-center gap-3 ps-7 pe-3 py-1.5 text-start ${
1003
1003
  group.configured
1004
1004
  ? "hover:bg-accent/50"
1005
1005
  : "opacity-40 cursor-default"
@@ -1024,12 +1024,12 @@ function ModelSelector({
1024
1024
  type="button"
1025
1025
  aria-expanded={reasoningExpanded}
1026
1026
  onClick={() => setReasoningExpanded((prev) => !prev)}
1027
- className="flex flex-1 min-w-0 items-center gap-1.5 px-2 py-1.5 cursor-pointer text-left"
1027
+ className="flex flex-1 min-w-0 items-center gap-1.5 px-2 py-1.5 cursor-pointer text-start"
1028
1028
  >
1029
1029
  {reasoningExpanded ? (
1030
1030
  <IconChevronDown className="h-3 w-3 shrink-0 text-muted-foreground" />
1031
1031
  ) : (
1032
- <IconChevronRight className="h-3 w-3 shrink-0 text-muted-foreground" />
1032
+ <IconChevronRight className="h-3 w-3 shrink-0 text-muted-foreground rtl:-scale-x-100" />
1033
1033
  )}
1034
1034
  <span className="text-[11px] font-medium text-muted-foreground uppercase tracking-wide shrink-0">
1035
1035
  Reasoning
@@ -1047,7 +1047,7 @@ function ModelSelector({
1047
1047
  key={option}
1048
1048
  type="button"
1049
1049
  onClick={() => onEffortChange?.(option)}
1050
- className="flex w-full items-center gap-3 pl-7 pr-3 py-1.5 text-left hover:bg-accent/50"
1050
+ className="flex w-full items-center gap-3 ps-7 pe-3 py-1.5 text-start hover:bg-accent/50"
1051
1051
  >
1052
1052
  <span className="flex-1 min-w-0 text-[13px] text-foreground truncate">
1053
1053
  {reasoningEffortLabel(option)}
@@ -2154,7 +2154,7 @@ export function TiptapComposer({
2154
2154
  type="button"
2155
2155
  onClick={() => onRemoveContextItem?.(item.key)}
2156
2156
  aria-label={`Remove ${item.title} context`}
2157
- className="ml-0.5 flex h-4 w-4 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-foreground"
2157
+ className="ms-0.5 flex h-4 w-4 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-foreground"
2158
2158
  >
2159
2159
  <IconX className="h-3 w-3" />
2160
2160
  </button>
@@ -475,7 +475,7 @@ export function GuidedQuestionFlow({
475
475
  </div>
476
476
  </div>
477
477
 
478
- <div className="min-h-0 flex-1 space-y-4 overflow-y-auto pr-1">
478
+ <div className="min-h-0 flex-1 space-y-4 overflow-y-auto pe-1">
479
479
  {questions.map((question, index) => (
480
480
  <QuestionCard
481
481
  key={question.id}
@@ -516,7 +516,7 @@ export function GuidedQuestionFlow({
516
516
  className="inline-flex cursor-pointer items-center gap-2 rounded-md bg-primary px-3.5 py-2 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/90 disabled:cursor-not-allowed disabled:opacity-45"
517
517
  >
518
518
  {submitLabel}
519
- <IconChevronRight className="h-4 w-4" />
519
+ <IconChevronRight className="h-4 w-4 rtl:-scale-x-100" />
520
520
  </button>
521
521
  </div>
522
522
  </div>
@@ -551,7 +551,7 @@ function QuestionCard({
551
551
  <h3 className="text-sm font-medium leading-5 text-foreground">
552
552
  {question.question}
553
553
  {question.required && (
554
- <span className="ml-1 text-destructive">*</span>
554
+ <span className="ms-1 text-destructive">*</span>
555
555
  )}
556
556
  </h3>
557
557
  {question.description && (
@@ -700,7 +700,7 @@ function OptionButton({
700
700
  onClick={onClick}
701
701
  aria-pressed={selected}
702
702
  className={cn(
703
- "group flex min-h-[56px] cursor-pointer items-start gap-2 rounded-md border px-3 py-2 text-left transition-colors",
703
+ "group flex min-h-[56px] cursor-pointer items-start gap-2 rounded-md border px-3 py-2 text-start transition-colors",
704
704
  selected
705
705
  ? "border-primary bg-primary/10 text-foreground ring-2 ring-primary/25"
706
706
  : "border-border bg-muted/30 text-muted-foreground hover:border-muted-foreground/50 hover:bg-muted/45 hover:text-foreground",
@@ -831,10 +831,8 @@ function SliderQuestion({
831
831
  onChange={(event) => onChange(Number(event.target.value))}
832
832
  className="h-2 flex-1 cursor-pointer accent-primary"
833
833
  />
834
- <span className="w-8 text-right text-xs text-muted-foreground">
835
- {max}
836
- </span>
837
- <span className="min-w-10 text-right text-sm font-medium tabular-nums text-foreground">
834
+ <span className="w-8 text-end text-xs text-muted-foreground">{max}</span>
835
+ <span className="min-w-10 text-end text-sm font-medium tabular-nums text-foreground">
838
836
  {current}
839
837
  </span>
840
838
  </div>
@@ -543,7 +543,7 @@ export function LanguagePicker({
543
543
  className={
544
544
  variant === "icon"
545
545
  ? "flex h-8 w-8 items-center justify-center rounded-md border border-border bg-background text-foreground outline-none transition-colors hover:bg-accent/40 data-[placeholder]:text-muted-foreground"
546
- : "flex h-9 w-full items-center justify-between rounded-md border border-border bg-background px-3 text-left text-[12px] text-foreground outline-none transition-colors hover:bg-accent/40 data-[placeholder]:text-muted-foreground"
546
+ : "flex h-9 w-full items-center justify-between rounded-md border border-border bg-background px-3 text-start text-[12px] text-foreground outline-none transition-colors hover:bg-accent/40 data-[placeholder]:text-muted-foreground"
547
547
  }
548
548
  aria-label={resolvedLabel}
549
549
  title={selected?.label ?? resolvedLabel}
@@ -581,7 +581,7 @@ export function LanguagePicker({
581
581
  value={option.value}
582
582
  className="relative flex w-full cursor-pointer select-none items-start gap-2 rounded-md px-8 py-2.5 text-[12px] outline-none data-[highlighted]:bg-accent/60 data-[state=checked]:bg-accent/40"
583
583
  >
584
- <span className="absolute left-2 top-2.5 flex h-4 w-4 items-center justify-center text-muted-foreground">
584
+ <span className="absolute start-2 top-2.5 flex h-4 w-4 items-center justify-center text-muted-foreground">
585
585
  <SelectPrimitive.ItemIndicator>
586
586
  <IconCheck className="h-3.5 w-3.5" />
587
587
  </SelectPrimitive.ItemIndicator>
@@ -99,7 +99,7 @@ export function IntegrationCard({
99
99
  <div className="rounded-md border border-border bg-background">
100
100
  <button
101
101
  onClick={() => setExpanded(!expanded)}
102
- className="flex w-full items-center gap-2 px-2.5 py-2 text-left hover:bg-accent/50"
102
+ className="flex w-full items-center gap-2 px-2.5 py-2 text-start hover:bg-accent/50"
103
103
  >
104
104
  {expanded ? (
105
105
  <IconChevronDown
@@ -109,7 +109,7 @@ export function IntegrationCard({
109
109
  ) : (
110
110
  <IconChevronRight
111
111
  size={12}
112
- className="text-muted-foreground shrink-0"
112
+ className="text-muted-foreground shrink-0 rtl:-scale-x-100"
113
113
  />
114
114
  )}
115
115
  <Icon size={16} className="text-muted-foreground shrink-0" />
@@ -243,7 +243,7 @@ function IntegrationDetail({
243
243
  onClick={onBack}
244
244
  className="flex items-center gap-1 text-[10px] text-muted-foreground hover:text-foreground mb-2"
245
245
  >
246
- <IconChevronLeft size={12} />
246
+ <IconChevronLeft size={12} className="rtl:-scale-x-100" />
247
247
  Back
248
248
  </button>
249
249
 
@@ -444,7 +444,7 @@ function AddIntegrationPicker({
444
444
  <button
445
445
  key={platform.id}
446
446
  onClick={() => onSelect(platform)}
447
- className="flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left hover:bg-accent/50"
447
+ className="flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start hover:bg-accent/50"
448
448
  >
449
449
  <platform.icon size={14} className="shrink-0 text-muted-foreground" />
450
450
  <div className="flex-1 min-w-0">
@@ -498,7 +498,7 @@ export function IntegrationsPanel() {
498
498
  onClick={() => setShowPicker(false)}
499
499
  className="flex items-center gap-1 text-[10px] text-muted-foreground hover:text-foreground mb-2"
500
500
  >
501
- <IconChevronLeft size={12} />
501
+ <IconChevronLeft size={12} className="rtl:-scale-x-100" />
502
502
  Back
503
503
  </button>
504
504
  <div className="text-[10px] font-medium text-muted-foreground mb-1.5">
@@ -575,7 +575,7 @@ export function IntegrationsPanel() {
575
575
  <button
576
576
  key={platform.id}
577
577
  onClick={() => setSelectedPlatform(platform)}
578
- className="flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left hover:bg-accent/50"
578
+ className="flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start hover:bg-accent/50"
579
579
  >
580
580
  <platform.icon
581
581
  size={14}
@@ -244,7 +244,7 @@ export function NotificationsBell({
244
244
  {hasUnread ? (
245
245
  <span
246
246
  aria-hidden
247
- className="an-notifications-bell__badge absolute -right-0.5 -top-0.5 rounded-full bg-destructive px-1 text-[10px] leading-[14px] font-medium text-destructive-foreground"
247
+ className="an-notifications-bell__badge absolute -end-0.5 -top-0.5 rounded-full bg-destructive px-1 text-[10px] leading-[14px] font-medium text-destructive-foreground"
248
248
  >
249
249
  {unreadCount > 99 ? "99+" : unreadCount}
250
250
  </span>
@@ -314,7 +314,7 @@ export function NotificationsBell({
314
314
  type="button"
315
315
  onClick={onItemClick}
316
316
  className={
317
- "flex w-full flex-col items-start gap-0.5 px-3 py-2 pr-8 text-left" +
317
+ "flex w-full flex-col items-start gap-0.5 px-3 py-2 pe-8 text-start" +
318
318
  (link ? " cursor-pointer" : "")
319
319
  }
320
320
  >
@@ -340,7 +340,7 @@ export function NotificationsBell({
340
340
  e.stopPropagation();
341
341
  void dismiss(n.id);
342
342
  }}
343
- className="absolute right-2 top-2 hidden rounded p-0.5 text-muted-foreground hover:bg-accent hover:text-foreground group-hover:flex"
343
+ className="absolute end-2 top-2 hidden rounded p-0.5 text-muted-foreground hover:bg-accent hover:text-foreground group-hover:flex"
344
344
  >
345
345
  <IconX size={12} />
346
346
  </button>
@@ -38,7 +38,7 @@ export function OnboardingBanner({
38
38
  </span>
39
39
  <span style={styles.cta}>
40
40
  Continue
41
- <IconChevronRight size={12} />
41
+ <IconChevronRight size={12} className="rtl:-scale-x-100" />
42
42
  </span>
43
43
  </button>
44
44
  );
@@ -57,11 +57,11 @@ const styles: Record<string, React.CSSProperties> = {
57
57
  color: "inherit",
58
58
  fontSize: 12,
59
59
  cursor: "pointer",
60
- textAlign: "left" as const,
60
+ textAlign: "start" as const,
61
61
  },
62
62
  left: { display: "flex", alignItems: "center", gap: 6 },
63
63
  title: { fontWeight: 600 },
64
- counter: { opacity: 0.65, marginLeft: 4 },
64
+ counter: { opacity: 0.65, marginInlineStart: 4 },
65
65
  cta: {
66
66
  display: "flex",
67
67
  alignItems: "center",
@@ -108,7 +108,11 @@ export function OnboardingPanel({
108
108
  {completeCount} of {totalCount}
109
109
  </span>
110
110
  <span
111
- style={{ marginLeft: "auto", opacity: 0.5, display: "flex" }}
111
+ style={{
112
+ marginInlineStart: "auto",
113
+ opacity: 0.5,
114
+ display: "flex",
115
+ }}
112
116
  >
113
117
  <IconChevronDown size={14} />
114
118
  </span>
@@ -226,7 +230,7 @@ function StepCard({
226
230
  {expanded ? (
227
231
  <IconChevronDown size={14} />
228
232
  ) : (
229
- <IconChevronRight size={14} />
233
+ <IconChevronRight size={14} className="rtl:-scale-x-100" />
230
234
  )}
231
235
  </span>
232
236
  </button>
@@ -360,7 +364,7 @@ function ManagedProviderMethodGroup({
360
364
  {showKeyForm ? (
361
365
  <IconChevronDown size={14} />
362
366
  ) : (
363
- <IconChevronRight size={14} />
367
+ <IconChevronRight size={14} className="rtl:-scale-x-100" />
364
368
  )}
365
369
  </span>
366
370
  </button>
@@ -550,7 +554,9 @@ function LinkMethod({
550
554
  style={{ ...buttonPrimary(method.primary), textDecoration: "none" }}
551
555
  >
552
556
  Continue
553
- {external && <IconExternalLink size={12} style={{ marginLeft: 4 }} />}
557
+ {external && (
558
+ <IconExternalLink size={12} style={{ marginInlineStart: 4 }} />
559
+ )}
554
560
  </a>
555
561
  );
556
562
  }
@@ -657,7 +663,7 @@ function BuilderCliAuthMethod({
657
663
  <>
658
664
  <IconLoader2
659
665
  size={12}
660
- style={{ marginRight: 4 }}
666
+ style={{ marginInlineEnd: 4 }}
661
667
  className="animate-spin"
662
668
  />
663
669
  Waiting for Builder...
@@ -740,7 +746,7 @@ function badgeStyle(
740
746
  soon: { bg: "rgba(148,163,184,0.15)", fg: "#cbd5e1" },
741
747
  }[kind];
742
748
  return {
743
- marginLeft: 6,
749
+ marginInlineStart: 6,
744
750
  fontSize: 10,
745
751
  padding: "1px 6px",
746
752
  borderRadius: 4,
@@ -798,7 +804,7 @@ const styles: Record<string, React.CSSProperties> = {
798
804
  headerCounter: {
799
805
  opacity: 0.5,
800
806
  fontSize: 11,
801
- marginLeft: 4,
807
+ marginInlineStart: 4,
802
808
  },
803
809
  dismissBtn: {
804
810
  background: "transparent",
@@ -837,7 +843,7 @@ const styles: Record<string, React.CSSProperties> = {
837
843
  color: "inherit",
838
844
  padding: "7px 9px",
839
845
  cursor: "pointer",
840
- textAlign: "left" as const,
846
+ textAlign: "start" as const,
841
847
  },
842
848
  cardHeaderLeft: {
843
849
  display: "flex",
@@ -880,7 +886,8 @@ const styles: Record<string, React.CSSProperties> = {
880
886
  border: "1px solid rgba(255,255,255,0.2)",
881
887
  },
882
888
  cardBody: {
883
- padding: "0 10px 10px 34px",
889
+ paddingBlock: "0 10px",
890
+ paddingInline: "34px 10px",
884
891
  display: "flex",
885
892
  flexDirection: "column",
886
893
  gap: 8,
@@ -934,7 +941,7 @@ const styles: Record<string, React.CSSProperties> = {
934
941
  cursor: "pointer",
935
942
  fontSize: 11,
936
943
  fontWeight: 500,
937
- textAlign: "left" as const,
944
+ textAlign: "start" as const,
938
945
  },
939
946
  secondaryToggleLeft: {
940
947
  display: "flex",