@stigmer/react 3.9.0 → 3.11.0

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 (1356) hide show
  1. package/access/ManageAccessButton.js +1 -1
  2. package/access/ManageAccessButton.js.map +1 -1
  3. package/access/ManageAccessDialog.js +3 -3
  4. package/access/ManageAccessDialog.js.map +1 -1
  5. package/action-menu/ActionMenu.js +3 -3
  6. package/action-menu/ActionMenu.js.map +1 -1
  7. package/activity/useRecentActivity.d.ts +6 -1
  8. package/activity/useRecentActivity.d.ts.map +1 -1
  9. package/activity/useRecentActivity.js +6 -1
  10. package/activity/useRecentActivity.js.map +1 -1
  11. package/agent/AgentDetailView.js +21 -21
  12. package/agent/AgentDetailView.js.map +1 -1
  13. package/agent/AgentPicker.js +8 -8
  14. package/agent/AgentPicker.js.map +1 -1
  15. package/agent/steps/CapabilitiesStep.js +3 -3
  16. package/agent/steps/CapabilitiesStep.js.map +1 -1
  17. package/agent/steps/IdentityStep.js +6 -6
  18. package/agent/steps/IdentityStep.js.map +1 -1
  19. package/agent/steps/ReviewStep.js +3 -3
  20. package/agent/steps/ReviewStep.js.map +1 -1
  21. package/agent-instance/AgentInstanceDetailPanel.js +2 -2
  22. package/agent-instance/AgentInstanceDetailPanel.js.map +1 -1
  23. package/agent-instance/AgentInstanceList.js +4 -4
  24. package/agent-instance/AgentInstanceList.js.map +1 -1
  25. package/agent-instance/CreateAgentInstanceDialog.js +1 -1
  26. package/agent-instance/CreateAgentInstanceDialog.js.map +1 -1
  27. package/api-key/ApiKeyCreatedAlert.js +1 -1
  28. package/api-key/ApiKeyCreatedAlert.js.map +1 -1
  29. package/api-key/ApiKeyListPanel.js +9 -9
  30. package/api-key/ApiKeyListPanel.js.map +1 -1
  31. package/api-key/CreateApiKeyForm.js +5 -5
  32. package/api-key/CreateApiKeyForm.js.map +1 -1
  33. package/attachment/AttachmentChipList.d.ts +16 -4
  34. package/attachment/AttachmentChipList.d.ts.map +1 -1
  35. package/attachment/AttachmentChipList.js +103 -37
  36. package/attachment/AttachmentChipList.js.map +1 -1
  37. package/attachment/AttachmentImageLightbox.d.ts +39 -0
  38. package/attachment/AttachmentImageLightbox.d.ts.map +1 -0
  39. package/attachment/AttachmentImageLightbox.js +57 -0
  40. package/attachment/AttachmentImageLightbox.js.map +1 -0
  41. package/attachment/attachment-utils.d.ts +8 -5
  42. package/attachment/attachment-utils.d.ts.map +1 -1
  43. package/attachment/attachment-utils.js +8 -5
  44. package/attachment/attachment-utils.js.map +1 -1
  45. package/attachment/useObjectUrl.d.ts +15 -0
  46. package/attachment/useObjectUrl.d.ts.map +1 -0
  47. package/attachment/useObjectUrl.js +25 -0
  48. package/attachment/useObjectUrl.js.map +1 -0
  49. package/billing/AutoRechargeCard.js +2 -2
  50. package/billing/AutoRechargeCard.js.map +1 -1
  51. package/billing/BillingSection.js +6 -6
  52. package/billing/BillingSection.js.map +1 -1
  53. package/billing/CreditBalanceCard.js +4 -4
  54. package/billing/CreditBalanceCard.js.map +1 -1
  55. package/billing/CreditLedgerTable.js +13 -13
  56. package/billing/CreditLedgerTable.js.map +1 -1
  57. package/billing/CreditPackGrid.js +2 -2
  58. package/billing/CreditPackGrid.js.map +1 -1
  59. package/billing/LowBalanceBanner.js +4 -4
  60. package/billing/LowBalanceBanner.js.map +1 -1
  61. package/billing/PaymentMethodCard.js +2 -2
  62. package/billing/PaymentMethodCard.js.map +1 -1
  63. package/button/Button.js +7 -7
  64. package/button/Button.js.map +1 -1
  65. package/channel/AgentChannelsPanel.js +12 -12
  66. package/channel/AgentChannelsPanel.js.map +1 -1
  67. package/channel/ChannelConversationsDialog.js +6 -6
  68. package/channel/ChannelConversationsDialog.js.map +1 -1
  69. package/channel/ChannelCredentialsDialog.js +2 -2
  70. package/channel/ChannelCredentialsDialog.js.map +1 -1
  71. package/channel/ChannelTemplatesDialog.js +13 -13
  72. package/channel/ChannelTemplatesDialog.js.map +1 -1
  73. package/channel/ChannelToolCredentials.js +3 -3
  74. package/channel/ChannelToolCredentials.js.map +1 -1
  75. package/channel/ConnectSlackDialog.js +13 -13
  76. package/channel/ConnectSlackDialog.js.map +1 -1
  77. package/channel/ConnectWhatsAppDialog.js +8 -8
  78. package/channel/ConnectWhatsAppDialog.js.map +1 -1
  79. package/channel/connect/ServingAppSection.js +5 -5
  80. package/channel/connect/ServingAppSection.js.map +1 -1
  81. package/channel/connect/ToolCredentialsSection.js +1 -1
  82. package/channel/connect/ToolCredentialsSection.js.map +1 -1
  83. package/channel/connect/VerbatimRefusal.js +1 -1
  84. package/channel/connect/VerbatimRefusal.js.map +1 -1
  85. package/channel/connect/icons.js +1 -1
  86. package/channel/connect/icons.js.map +1 -1
  87. package/channel-app/ChannelAppDetailPanel.js +3 -3
  88. package/channel-app/ChannelAppDetailPanel.js.map +1 -1
  89. package/channel-app/ChannelAppListPanel.js +5 -5
  90. package/channel-app/ChannelAppListPanel.js.map +1 -1
  91. package/channel-app/CreateChannelAppForm.js +6 -6
  92. package/channel-app/CreateChannelAppForm.js.map +1 -1
  93. package/channel-app/internal.js +7 -7
  94. package/channel-app/internal.js.map +1 -1
  95. package/composer/ComposerToolbar.js +4 -4
  96. package/composer/ComposerToolbar.js.map +1 -1
  97. package/composer/ConfigureMenu.js +4 -4
  98. package/composer/ConfigureMenu.js.map +1 -1
  99. package/composer/ContextChip.js +4 -4
  100. package/composer/ContextChip.js.map +1 -1
  101. package/composer/ContextPopover.js +4 -4
  102. package/composer/ContextPopover.js.map +1 -1
  103. package/composer/InteractionModePicker.js +5 -5
  104. package/composer/InteractionModePicker.js.map +1 -1
  105. package/composer/SessionComposer.js +8 -8
  106. package/composer/SessionComposer.js.map +1 -1
  107. package/composer/icons.js +3 -3
  108. package/composer/icons.js.map +1 -1
  109. package/conversation/ConversationAttentionBanner.js +2 -2
  110. package/conversation/ConversationAttentionBanner.js.map +1 -1
  111. package/conversation/ConversationComposer.js +2 -2
  112. package/conversation/ConversationComposer.js.map +1 -1
  113. package/conversation/ConversationControlBanner.js +5 -5
  114. package/conversation/ConversationControlBanner.js.map +1 -1
  115. package/conversation/ConversationListPane.js +12 -12
  116. package/conversation/ConversationListPane.js.map +1 -1
  117. package/conversation/ConversationMediaAttachment.d.ts +45 -0
  118. package/conversation/ConversationMediaAttachment.d.ts.map +1 -0
  119. package/conversation/ConversationMediaAttachment.js +153 -0
  120. package/conversation/ConversationMediaAttachment.js.map +1 -0
  121. package/conversation/ConversationTimelineView.d.ts +18 -1
  122. package/conversation/ConversationTimelineView.d.ts.map +1 -1
  123. package/conversation/ConversationTimelineView.js +24 -15
  124. package/conversation/ConversationTimelineView.js.map +1 -1
  125. package/conversation/ConversationsWorkbench.d.ts.map +1 -1
  126. package/conversation/ConversationsWorkbench.js +3 -3
  127. package/conversation/ConversationsWorkbench.js.map +1 -1
  128. package/conversation/conversationPresentation.d.ts +10 -3
  129. package/conversation/conversationPresentation.d.ts.map +1 -1
  130. package/conversation/conversationPresentation.js +10 -3
  131. package/conversation/conversationPresentation.js.map +1 -1
  132. package/conversation/index.d.ts +2 -0
  133. package/conversation/index.d.ts.map +1 -1
  134. package/conversation/index.js +1 -0
  135. package/conversation/index.js.map +1 -1
  136. package/conversation/useConversationMediaUrl.d.ts +65 -0
  137. package/conversation/useConversationMediaUrl.d.ts.map +1 -0
  138. package/conversation/useConversationMediaUrl.js +61 -0
  139. package/conversation/useConversationMediaUrl.js.map +1 -0
  140. package/cursor-accounts/CursorAccountEditor.js +1 -1
  141. package/cursor-accounts/CursorAccountEditor.js.map +1 -1
  142. package/cursor-accounts/CursorAccountsAccessNotice.js +1 -1
  143. package/cursor-accounts/CursorAccountsAccessNotice.js.map +1 -1
  144. package/cursor-accounts/CursorAccountsConsole.js +9 -9
  145. package/cursor-accounts/CursorAccountsConsole.js.map +1 -1
  146. package/cursor-accounts/MemberCoverageTable.js +7 -7
  147. package/cursor-accounts/MemberCoverageTable.js.map +1 -1
  148. package/cursor-accounts/MemberKeysPanel.js +3 -3
  149. package/cursor-accounts/MemberKeysPanel.js.map +1 -1
  150. package/cursor-accounts/badges.js +1 -1
  151. package/cursor-accounts/badges.js.map +1 -1
  152. package/dashboard/DashboardFailedRuns.js +4 -4
  153. package/dashboard/DashboardFailedRuns.js.map +1 -1
  154. package/dashboard/DashboardKPICards.js +7 -7
  155. package/dashboard/DashboardKPICards.js.map +1 -1
  156. package/dashboard/OperationalDashboard.js +1 -1
  157. package/dashboard/OperationalDashboard.js.map +1 -1
  158. package/datastore/CollectionRecordsBrowser.js +10 -10
  159. package/datastore/CollectionRecordsBrowser.js.map +1 -1
  160. package/datastore/CollectionSchemaView.js +4 -4
  161. package/datastore/CollectionSchemaView.js.map +1 -1
  162. package/datastore/DatastoreDetailView.js +4 -4
  163. package/datastore/DatastoreDetailView.js.map +1 -1
  164. package/datastore/DatastoreSyncReport.js +1 -1
  165. package/datastore/DatastoreSyncReport.js.map +1 -1
  166. package/datastore/DeleteDatastoreDialog.js +1 -1
  167. package/datastore/DeleteDatastoreDialog.js.map +1 -1
  168. package/datastore/FieldValueControl.js +2 -2
  169. package/datastore/FieldValueControl.js.map +1 -1
  170. package/datastore/RecordFilterBuilder.js +4 -4
  171. package/datastore/RecordFilterBuilder.js.map +1 -1
  172. package/datastore/RecordFormPanel.js +5 -5
  173. package/datastore/RecordFormPanel.js.map +1 -1
  174. package/dependency-graph/DependencyGraph.js +1 -1
  175. package/dependency-graph/DependencyGraph.js.map +1 -1
  176. package/dependency-graph/DependencyTreeNode.js +8 -8
  177. package/dependency-graph/DependencyTreeNode.js.map +1 -1
  178. package/empty-state/EmptyState.js +3 -3
  179. package/empty-state/EmptyState.js.map +1 -1
  180. package/empty-state/useEmptyState.js +1 -1
  181. package/empty-state/useEmptyState.js.map +1 -1
  182. package/environment/CreateEnvironmentForm.js +2 -2
  183. package/environment/CreateEnvironmentForm.js.map +1 -1
  184. package/environment/EnvVarForm.js +4 -4
  185. package/environment/EnvVarForm.js.map +1 -1
  186. package/environment/EnvironmentListPanel.js +9 -9
  187. package/environment/EnvironmentListPanel.js.map +1 -1
  188. package/environment/EnvironmentPicker.js +4 -4
  189. package/environment/EnvironmentPicker.js.map +1 -1
  190. package/environment/EnvironmentVariableEditor.js +17 -17
  191. package/environment/EnvironmentVariableEditor.js.map +1 -1
  192. package/error/ErrorMessage.js +1 -1
  193. package/error/ErrorMessage.js.map +1 -1
  194. package/error/SecretFlowErrorGuide.js +1 -1
  195. package/error/SecretFlowErrorGuide.js.map +1 -1
  196. package/execution/ApprovalCard.js +8 -8
  197. package/execution/ApprovalCard.js.map +1 -1
  198. package/execution/ArtifactApplyButton.js +4 -4
  199. package/execution/ArtifactApplyButton.js.map +1 -1
  200. package/execution/ArtifactContentBody.js +3 -3
  201. package/execution/ArtifactContentBody.js.map +1 -1
  202. package/execution/ArtifactContentRenderer.js +19 -19
  203. package/execution/ArtifactContentRenderer.js.map +1 -1
  204. package/execution/ArtifactDocument.js +10 -10
  205. package/execution/ArtifactDocument.js.map +1 -1
  206. package/execution/ArtifactFileContent.js +4 -4
  207. package/execution/ArtifactFileContent.js.map +1 -1
  208. package/execution/ArtifactPreviewModal.js +11 -11
  209. package/execution/ArtifactPreviewModal.js.map +1 -1
  210. package/execution/ArtifactRowView.js +2 -2
  211. package/execution/ArtifactRowView.js.map +1 -1
  212. package/execution/ArtifactsWidget.js +1 -1
  213. package/execution/ArtifactsWidget.js.map +1 -1
  214. package/execution/ContextGauge.js +9 -9
  215. package/execution/ContextGauge.js.map +1 -1
  216. package/execution/EmptyChangeNotice.js +1 -1
  217. package/execution/EmptyChangeNotice.js.map +1 -1
  218. package/execution/ExecutionPhaseBadge.js +10 -10
  219. package/execution/ExecutionPhaseBadge.js.map +1 -1
  220. package/execution/ExecutionProgress.js +1 -1
  221. package/execution/ExecutionProgress.js.map +1 -1
  222. package/execution/FileChangeProgressBar.js +3 -3
  223. package/execution/FileChangeProgressBar.js.map +1 -1
  224. package/execution/FileChangesView.js +5 -5
  225. package/execution/FileChangesView.js.map +1 -1
  226. package/execution/FilePathLink.js +6 -6
  227. package/execution/FilePathLink.js.map +1 -1
  228. package/execution/FileReviewAtoms.js +7 -7
  229. package/execution/FileReviewAtoms.js.map +1 -1
  230. package/execution/FileReviewCard.js +18 -18
  231. package/execution/FileReviewCard.js.map +1 -1
  232. package/execution/FileReviewDock.js +1 -1
  233. package/execution/FileReviewDock.js.map +1 -1
  234. package/execution/FollowUpInput.js +3 -3
  235. package/execution/FollowUpInput.js.map +1 -1
  236. package/execution/InteractionModeBadge.js +1 -1
  237. package/execution/InteractionModeBadge.js.map +1 -1
  238. package/execution/McpToolDetail.js +12 -12
  239. package/execution/McpToolDetail.js.map +1 -1
  240. package/execution/MessageAttachments.d.ts +52 -0
  241. package/execution/MessageAttachments.d.ts.map +1 -0
  242. package/execution/MessageAttachments.js +142 -0
  243. package/execution/MessageAttachments.js.map +1 -0
  244. package/execution/MessageEntry.d.ts +18 -0
  245. package/execution/MessageEntry.d.ts.map +1 -1
  246. package/execution/MessageEntry.js +12 -11
  247. package/execution/MessageEntry.js.map +1 -1
  248. package/execution/MessageThread.d.ts +15 -2
  249. package/execution/MessageThread.d.ts.map +1 -1
  250. package/execution/MessageThread.js +34 -17
  251. package/execution/MessageThread.js.map +1 -1
  252. package/execution/PlanArtifactCard.js +8 -8
  253. package/execution/PlanArtifactCard.js.map +1 -1
  254. package/execution/PlanCompletionCard.js +2 -2
  255. package/execution/PlanCompletionCard.js.map +1 -1
  256. package/execution/PlanDocumentMessage.js +2 -2
  257. package/execution/PlanDocumentMessage.js.map +1 -1
  258. package/execution/PlanStreamingCard.js +3 -3
  259. package/execution/PlanStreamingCard.js.map +1 -1
  260. package/execution/ResultView.js +17 -17
  261. package/execution/ResultView.js.map +1 -1
  262. package/execution/SessionVariablesInput.js +6 -6
  263. package/execution/SessionVariablesInput.js.map +1 -1
  264. package/execution/SetupProgress.js +2 -2
  265. package/execution/SetupProgress.js.map +1 -1
  266. package/execution/SubAgentSection.js +19 -19
  267. package/execution/SubAgentSection.js.map +1 -1
  268. package/execution/SummarizationBadge.js +3 -3
  269. package/execution/SummarizationBadge.js.map +1 -1
  270. package/execution/SummarizationCard.js +2 -2
  271. package/execution/SummarizationCard.js.map +1 -1
  272. package/execution/TerminalSession.js +2 -2
  273. package/execution/TerminalSession.js.map +1 -1
  274. package/execution/ThreadSkeleton.js +1 -1
  275. package/execution/ThreadSkeleton.js.map +1 -1
  276. package/execution/TodoCard.js +3 -3
  277. package/execution/TodoCard.js.map +1 -1
  278. package/execution/TodoList.js +8 -8
  279. package/execution/TodoList.js.map +1 -1
  280. package/execution/ToolArgsView.js +4 -4
  281. package/execution/ToolArgsView.js.map +1 -1
  282. package/execution/ToolCallDetail.js +4 -4
  283. package/execution/ToolCallDetail.js.map +1 -1
  284. package/execution/ToolCallGroup.js +1 -1
  285. package/execution/ToolCallGroup.js.map +1 -1
  286. package/execution/ToolCallItem.js +16 -16
  287. package/execution/ToolCallItem.js.map +1 -1
  288. package/execution/ToolRunGroup.js +9 -9
  289. package/execution/ToolRunGroup.js.map +1 -1
  290. package/execution/UsageWidget.js +3 -3
  291. package/execution/UsageWidget.js.map +1 -1
  292. package/execution/WriteBackCard.js +16 -16
  293. package/execution/WriteBackCard.js.map +1 -1
  294. package/execution/WriteBacksWidget.js +1 -1
  295. package/execution/WriteBacksWidget.js.map +1 -1
  296. package/execution/index.d.ts +2 -0
  297. package/execution/index.d.ts.map +1 -1
  298. package/execution/index.js +1 -0
  299. package/execution/index.js.map +1 -1
  300. package/execution/tool-rendering-primitives.js +5 -5
  301. package/execution/tool-rendering-primitives.js.map +1 -1
  302. package/feedback/StigmerToaster.d.ts.map +1 -1
  303. package/feedback/StigmerToaster.js +9 -5
  304. package/feedback/StigmerToaster.js.map +1 -1
  305. package/file-reference/FileReferenceChipList.js +3 -3
  306. package/file-reference/FileReferenceChipList.js.map +1 -1
  307. package/github/GitHubRepoPicker.js +26 -26
  308. package/github/GitHubRepoPicker.js.map +1 -1
  309. package/github/decodeGitHubContent.d.ts +10 -5
  310. package/github/decodeGitHubContent.d.ts.map +1 -1
  311. package/github/decodeGitHubContent.js +21 -7
  312. package/github/decodeGitHubContent.js.map +1 -1
  313. package/github/useGitHubFileReader.d.ts.map +1 -1
  314. package/github/useGitHubFileReader.js +5 -5
  315. package/github/useGitHubFileReader.js.map +1 -1
  316. package/iam-policy/GrantAccessForm.js +2 -2
  317. package/iam-policy/GrantAccessForm.js.map +1 -1
  318. package/iam-policy/OrgMembersPanel.js +11 -11
  319. package/iam-policy/OrgMembersPanel.js.map +1 -1
  320. package/iam-policy/PeopleWithAccess.js +4 -4
  321. package/iam-policy/PeopleWithAccess.js.map +1 -1
  322. package/iam-policy/PrincipalPicker.js +6 -6
  323. package/iam-policy/PrincipalPicker.js.map +1 -1
  324. package/iam-policy/ProviderBadge.js +1 -1
  325. package/iam-policy/ProviderBadge.js.map +1 -1
  326. package/iam-policy/RoleSelector.js +4 -4
  327. package/iam-policy/RoleSelector.js.map +1 -1
  328. package/iam-policy/SharePanel.js +1 -1
  329. package/iam-policy/SharePanel.js.map +1 -1
  330. package/identity-provider/CreateIdentityProviderForm.js +6 -6
  331. package/identity-provider/CreateIdentityProviderForm.js.map +1 -1
  332. package/identity-provider/IdentityProviderDetailPanel.js +11 -11
  333. package/identity-provider/IdentityProviderDetailPanel.js.map +1 -1
  334. package/identity-provider/IdentityProviderListPanel.js +8 -8
  335. package/identity-provider/IdentityProviderListPanel.js.map +1 -1
  336. package/identity-provider/IdentityProviderWizard.js +16 -16
  337. package/identity-provider/IdentityProviderWizard.js.map +1 -1
  338. package/identity-provider/ProviderPicker.js +11 -11
  339. package/identity-provider/ProviderPicker.js.map +1 -1
  340. package/identity-provider/SsoLoginPrompt.js +7 -7
  341. package/identity-provider/SsoLoginPrompt.js.map +1 -1
  342. package/index.d.ts +4 -4
  343. package/index.d.ts.map +1 -1
  344. package/index.js +3 -3
  345. package/index.js.map +1 -1
  346. package/inline-edit/InlineEditImage.js +5 -5
  347. package/inline-edit/InlineEditImage.js.map +1 -1
  348. package/inline-edit/InlineEditKeyValue.js +3 -3
  349. package/inline-edit/InlineEditKeyValue.js.map +1 -1
  350. package/inline-edit/InlineEditResourceList.js +8 -8
  351. package/inline-edit/InlineEditResourceList.js.map +1 -1
  352. package/inline-edit/InlineEditSelect.js +8 -8
  353. package/inline-edit/InlineEditSelect.js.map +1 -1
  354. package/inline-edit/InlineEditText.js +6 -6
  355. package/inline-edit/InlineEditText.js.map +1 -1
  356. package/inline-edit/InlineEditTextarea.js +4 -4
  357. package/inline-edit/InlineEditTextarea.js.map +1 -1
  358. package/internal/ApprovalPeekBar.js +3 -3
  359. package/internal/ApprovalPeekBar.js.map +1 -1
  360. package/internal/BoundedContent.d.ts +1 -1
  361. package/internal/BoundedContent.d.ts.map +1 -1
  362. package/internal/BoundedContent.js +2 -2
  363. package/internal/BoundedContent.js.map +1 -1
  364. package/internal/CloudFeatureNotice.js +1 -1
  365. package/internal/CloudFeatureNotice.js.map +1 -1
  366. package/internal/DecisionButton.js +6 -6
  367. package/internal/DecisionButton.js.map +1 -1
  368. package/internal/InCardDecisionError.js +1 -1
  369. package/internal/InCardDecisionError.js.map +1 -1
  370. package/internal/JumpToLatestButton.js +3 -3
  371. package/internal/JumpToLatestButton.js.map +1 -1
  372. package/internal/MermaidDiagram.js +2 -2
  373. package/internal/MermaidDiagram.js.map +1 -1
  374. package/internal/Pagination.js +2 -2
  375. package/internal/Pagination.js.map +1 -1
  376. package/internal/ResizableSplit.d.ts +28 -6
  377. package/internal/ResizableSplit.d.ts.map +1 -1
  378. package/internal/ResizableSplit.js +18 -4
  379. package/internal/ResizableSplit.js.map +1 -1
  380. package/internal/RevealToggle.js +2 -2
  381. package/internal/RevealToggle.js.map +1 -1
  382. package/internal/ScrollFade.js +2 -2
  383. package/internal/ScrollFade.js.map +1 -1
  384. package/internal/VirtualizedThread.js +2 -2
  385. package/internal/VirtualizedThread.js.map +1 -1
  386. package/internal/file-icons/index.js +2 -2
  387. package/internal/file-icons/index.js.map +1 -1
  388. package/internal/file-tree/FileTreeNode.js +3 -3
  389. package/internal/file-tree/FileTreeNode.js.map +1 -1
  390. package/internal/form-primitives.d.ts +15 -0
  391. package/internal/form-primitives.d.ts.map +1 -1
  392. package/internal/form-primitives.js +17 -2
  393. package/internal/form-primitives.js.map +1 -1
  394. package/internal/markdown-components.js +23 -23
  395. package/internal/markdown-components.js.map +1 -1
  396. package/internal/menu.js +5 -5
  397. package/internal/menu.js.map +1 -1
  398. package/internal/scroll-area.js +1 -1
  399. package/internal/scroll-area.js.map +1 -1
  400. package/internal/thread-card/ThreadCardShell.js +7 -7
  401. package/internal/thread-card/ThreadCardShell.js.map +1 -1
  402. package/internal/thread-card/glyphs.js +2 -2
  403. package/internal/thread-card/glyphs.js.map +1 -1
  404. package/internal/tooltip.d.ts.map +1 -1
  405. package/internal/tooltip.js +4 -6
  406. package/internal/tooltip.js.map +1 -1
  407. package/invitation/InvitationCreatedAlert.js +1 -1
  408. package/invitation/InvitationCreatedAlert.js.map +1 -1
  409. package/invitation/InvitationManager.js +23 -23
  410. package/invitation/InvitationManager.js.map +1 -1
  411. package/invitation/InvitationRedemption.js +12 -12
  412. package/invitation/InvitationRedemption.js.map +1 -1
  413. package/library/ResourceCountCard.js +4 -4
  414. package/library/ResourceCountCard.js.map +1 -1
  415. package/library/ScopeToggle.js +4 -4
  416. package/library/ScopeToggle.js.map +1 -1
  417. package/library/VisibilityOptionRow.d.ts +1 -1
  418. package/library/VisibilityOptionRow.d.ts.map +1 -1
  419. package/library/VisibilityOptionRow.js +22 -22
  420. package/library/VisibilityOptionRow.js.map +1 -1
  421. package/library/VisibilitySelector.js +5 -5
  422. package/library/VisibilitySelector.js.map +1 -1
  423. package/manifest/ApplyManifestDialog.js +6 -6
  424. package/manifest/ApplyManifestDialog.js.map +1 -1
  425. package/manifest/EditResourceYamlDialog.js +2 -2
  426. package/manifest/EditResourceYamlDialog.js.map +1 -1
  427. package/manifest/RedactedSecretsNotice.js +1 -1
  428. package/manifest/RedactedSecretsNotice.js.map +1 -1
  429. package/manifest/YamlEditor.js +1 -1
  430. package/manifest/YamlEditor.js.map +1 -1
  431. package/mcp-server/McpServerConfigPanel.js +22 -22
  432. package/mcp-server/McpServerConfigPanel.js.map +1 -1
  433. package/mcp-server/McpServerConnectDialog.js +43 -17
  434. package/mcp-server/McpServerConnectDialog.js.map +1 -1
  435. package/mcp-server/McpServerDetailView.d.ts.map +1 -1
  436. package/mcp-server/McpServerDetailView.js +112 -63
  437. package/mcp-server/McpServerDetailView.js.map +1 -1
  438. package/mcp-server/McpServerPicker.js +16 -16
  439. package/mcp-server/McpServerPicker.js.map +1 -1
  440. package/mcp-server/McpToolSelector.js +4 -4
  441. package/mcp-server/McpToolSelector.js.map +1 -1
  442. package/mcp-server/OAuthAppForm.js +2 -2
  443. package/mcp-server/OAuthAppForm.js.map +1 -1
  444. package/mcp-server/OAuthCallbackHandler.js +4 -4
  445. package/mcp-server/OAuthCallbackHandler.js.map +1 -1
  446. package/mcp-server/OAuthRequiredNotice.js +1 -1
  447. package/mcp-server/OAuthRequiredNotice.js.map +1 -1
  448. package/mcp-server/StdioSandboxNotice.js +1 -1
  449. package/mcp-server/StdioSandboxNotice.js.map +1 -1
  450. package/mcp-server/index.d.ts +1 -1
  451. package/mcp-server/index.d.ts.map +1 -1
  452. package/mcp-server/index.js +1 -1
  453. package/mcp-server/index.js.map +1 -1
  454. package/mcp-server/steps/EnvironmentAuthStep.js +4 -4
  455. package/mcp-server/steps/EnvironmentAuthStep.js.map +1 -1
  456. package/mcp-server/steps/IdentityTransportStep.js +8 -8
  457. package/mcp-server/steps/IdentityTransportStep.js.map +1 -1
  458. package/mcp-server/steps/ReviewStep.js +3 -3
  459. package/mcp-server/steps/ReviewStep.js.map +1 -1
  460. package/mcp-server/useMcpServerOAuthConnect.d.ts +29 -0
  461. package/mcp-server/useMcpServerOAuthConnect.d.ts.map +1 -1
  462. package/mcp-server/useMcpServerOAuthConnect.js +49 -10
  463. package/mcp-server/useMcpServerOAuthConnect.js.map +1 -1
  464. package/models/HarnessSelector.js +8 -8
  465. package/models/HarnessSelector.js.map +1 -1
  466. package/models/ModelSelector.js +11 -11
  467. package/models/ModelSelector.js.map +1 -1
  468. package/oauth-app/CreateOAuthAppForm.js +4 -4
  469. package/oauth-app/CreateOAuthAppForm.js.map +1 -1
  470. package/oauth-app/OAuthAppDetailPanel.js +8 -8
  471. package/oauth-app/OAuthAppDetailPanel.js.map +1 -1
  472. package/oauth-app/OAuthAppListPanel.js +6 -6
  473. package/oauth-app/OAuthAppListPanel.js.map +1 -1
  474. package/organization/CreateOrganizationForm.js +4 -4
  475. package/organization/CreateOrganizationForm.js.map +1 -1
  476. package/organization/OrgProfilePanel.js +10 -10
  477. package/organization/OrgProfilePanel.js.map +1 -1
  478. package/organization/OrgSwitcher.js +5 -5
  479. package/organization/OrgSwitcher.js.map +1 -1
  480. package/package.json +4 -4
  481. package/platform-client/CreatePlatformClientForm.js +5 -5
  482. package/platform-client/CreatePlatformClientForm.js.map +1 -1
  483. package/platform-client/PlatformClientDetailPanel.js +8 -8
  484. package/platform-client/PlatformClientDetailPanel.js.map +1 -1
  485. package/platform-client/PlatformClientListPanel.js +10 -10
  486. package/platform-client/PlatformClientListPanel.js.map +1 -1
  487. package/platform-client/PlatformClientSecretAlert.js +2 -2
  488. package/platform-client/PlatformClientSecretAlert.js.map +1 -1
  489. package/portal-container.d.ts +34 -9
  490. package/portal-container.d.ts.map +1 -1
  491. package/portal-container.js +33 -8
  492. package/portal-container.js.map +1 -1
  493. package/pricing-governance/BaselineEditor.js +5 -5
  494. package/pricing-governance/BaselineEditor.js.map +1 -1
  495. package/pricing-governance/ModelCatalogPanel.js +5 -5
  496. package/pricing-governance/ModelCatalogPanel.js.map +1 -1
  497. package/pricing-governance/ModelGovernanceDetail.js +7 -7
  498. package/pricing-governance/ModelGovernanceDetail.js.map +1 -1
  499. package/pricing-governance/OperatorAccessNotice.js +1 -1
  500. package/pricing-governance/OperatorAccessNotice.js.map +1 -1
  501. package/pricing-governance/PricingGovernanceConsole.js +8 -8
  502. package/pricing-governance/PricingGovernanceConsole.js.map +1 -1
  503. package/pricing-governance/PricingGovernancePanel.js +4 -4
  504. package/pricing-governance/PricingGovernancePanel.js.map +1 -1
  505. package/pricing-governance/RetireConfirm.js +1 -1
  506. package/pricing-governance/RetireConfirm.js.map +1 -1
  507. package/pricing-governance/governance-primitives.js +6 -6
  508. package/pricing-governance/governance-primitives.js.map +1 -1
  509. package/resource-creation/CreationPicker.js +7 -7
  510. package/resource-creation/CreationPicker.js.map +1 -1
  511. package/resource-creation/StepIndicator.js +4 -4
  512. package/resource-creation/StepIndicator.js.map +1 -1
  513. package/resource-creation/TemplateCard.js +15 -15
  514. package/resource-creation/TemplateCard.js.map +1 -1
  515. package/resource-creation/TemplateGallery.js +5 -5
  516. package/resource-creation/TemplateGallery.js.map +1 -1
  517. package/resource-creation/WizardNav.js +2 -2
  518. package/resource-creation/WizardNav.js.map +1 -1
  519. package/resource-creation/WizardShell.js +2 -2
  520. package/resource-creation/WizardShell.js.map +1 -1
  521. package/resource-detail/ConfirmDialog.js +3 -3
  522. package/resource-detail/ConfirmDialog.js.map +1 -1
  523. package/resource-detail/ResourceActionBar.js +2 -2
  524. package/resource-detail/ResourceActionBar.js.map +1 -1
  525. package/resource-detail/ResourceDetailShell.js +3 -3
  526. package/resource-detail/ResourceDetailShell.js.map +1 -1
  527. package/resource-detail/Section.js +1 -1
  528. package/resource-detail/Section.js.map +1 -1
  529. package/resource-workbench/components/BulkActionBar.js +4 -4
  530. package/resource-workbench/components/BulkActionBar.js.map +1 -1
  531. package/resource-workbench/components/ColumnHeader.js +3 -3
  532. package/resource-workbench/components/ColumnHeader.js.map +1 -1
  533. package/resource-workbench/components/FilterBar.js +3 -3
  534. package/resource-workbench/components/FilterBar.js.map +1 -1
  535. package/resource-workbench/components/ResourceAvatar.js +18 -18
  536. package/resource-workbench/components/ResourceAvatar.js.map +1 -1
  537. package/resource-workbench/components/ResourceCards.js +2 -2
  538. package/resource-workbench/components/ResourceCards.js.map +1 -1
  539. package/resource-workbench/components/ResourceInspector.js +1 -1
  540. package/resource-workbench/components/ResourceInspector.js.map +1 -1
  541. package/resource-workbench/components/ResourceList.js +2 -2
  542. package/resource-workbench/components/ResourceList.js.map +1 -1
  543. package/resource-workbench/components/ResourceTable.js +5 -5
  544. package/resource-workbench/components/ResourceTable.js.map +1 -1
  545. package/resource-workbench/components/ResourceWorkbench.js +11 -11
  546. package/resource-workbench/components/ResourceWorkbench.js.map +1 -1
  547. package/resource-workbench/components/SelectionCheckbox.js +1 -1
  548. package/resource-workbench/components/SelectionCheckbox.js.map +1 -1
  549. package/resource-workbench/components/StatusBadge.js +16 -16
  550. package/resource-workbench/components/StatusBadge.js.map +1 -1
  551. package/resource-workbench/components/ViewSwitcher.js +4 -4
  552. package/resource-workbench/components/ViewSwitcher.js.map +1 -1
  553. package/schedule/CadenceField.js +14 -14
  554. package/schedule/CadenceField.js.map +1 -1
  555. package/schedule/ScheduleDetailView.js +39 -39
  556. package/schedule/ScheduleDetailView.js.map +1 -1
  557. package/schedule/ScheduleForm.js +9 -9
  558. package/schedule/ScheduleForm.js.map +1 -1
  559. package/schedule/ScheduleRowActions.js +1 -1
  560. package/schedule/ScheduleRowActions.js.map +1 -1
  561. package/schedule/ScheduleRunsTable.js +17 -17
  562. package/schedule/ScheduleRunsTable.js.map +1 -1
  563. package/schedule/TimeZoneField.js +5 -5
  564. package/schedule/TimeZoneField.js.map +1 -1
  565. package/schedule/scheduleColumns.js +5 -5
  566. package/schedule/scheduleColumns.js.map +1 -1
  567. package/session/NewSessionViewer.js +3 -3
  568. package/session/NewSessionViewer.js.map +1 -1
  569. package/session/PlanEditor.js +9 -9
  570. package/session/PlanEditor.js.map +1 -1
  571. package/session/PlanStreamingDocument.js +2 -2
  572. package/session/PlanStreamingDocument.js.map +1 -1
  573. package/session/SessionViewer.js +21 -21
  574. package/session/SessionViewer.js.map +1 -1
  575. package/session/SessionViewerLayout.d.ts +11 -8
  576. package/session/SessionViewerLayout.d.ts.map +1 -1
  577. package/session/SessionViewerLayout.js +1 -1
  578. package/session/SessionViewerLayout.js.map +1 -1
  579. package/session/facets/ArtifactsTab.js +2 -2
  580. package/session/facets/ArtifactsTab.js.map +1 -1
  581. package/session/facets/ChangesTab.js +3 -3
  582. package/session/facets/ChangesTab.js.map +1 -1
  583. package/session/facets/SetupTab.js +11 -11
  584. package/session/facets/SetupTab.js.map +1 -1
  585. package/session/facets/UsageTab.js +1 -1
  586. package/session/facets/UsageTab.js.map +1 -1
  587. package/session/useSessionConversation.d.ts +8 -0
  588. package/session/useSessionConversation.d.ts.map +1 -1
  589. package/session/useSessionConversation.js +12 -2
  590. package/session/useSessionConversation.js.map +1 -1
  591. package/settings/ApiKeysSection.js +1 -1
  592. package/settings/ApiKeysSection.js.map +1 -1
  593. package/settings/ChannelAppsSection.js +1 -1
  594. package/settings/ChannelAppsSection.js.map +1 -1
  595. package/settings/EnvironmentsSection.js +4 -4
  596. package/settings/EnvironmentsSection.js.map +1 -1
  597. package/settings/IdentityProvidersSection.js +1 -1
  598. package/settings/IdentityProvidersSection.js.map +1 -1
  599. package/settings/InvitationsSection.js +1 -1
  600. package/settings/InvitationsSection.js.map +1 -1
  601. package/settings/MembersSection.js +1 -1
  602. package/settings/MembersSection.js.map +1 -1
  603. package/settings/OAuthAppsSection.js +1 -1
  604. package/settings/OAuthAppsSection.js.map +1 -1
  605. package/settings/OrgProfileSection.js +1 -1
  606. package/settings/OrgProfileSection.js.map +1 -1
  607. package/settings/PlatformClientsSection.js +1 -1
  608. package/settings/PlatformClientsSection.js.map +1 -1
  609. package/settings/UsageSection.js +1 -1
  610. package/settings/UsageSection.js.map +1 -1
  611. package/sharing/AgentShareList.js +5 -5
  612. package/sharing/AgentShareList.js.map +1 -1
  613. package/sharing/ShareAgentDialog.js +30 -30
  614. package/sharing/ShareAgentDialog.js.map +1 -1
  615. package/sharing/SharedAgentChat.js +6 -6
  616. package/sharing/SharedAgentChat.js.map +1 -1
  617. package/sidebar/SettingsSidebar.js +5 -5
  618. package/sidebar/SettingsSidebar.js.map +1 -1
  619. package/sidebar/WorkspaceSidebar.js +13 -13
  620. package/sidebar/WorkspaceSidebar.js.map +1 -1
  621. package/sidebar/chrome.js +5 -5
  622. package/sidebar/chrome.js.map +1 -1
  623. package/skill/SkillDetailView.js +13 -13
  624. package/skill/SkillDetailView.js.map +1 -1
  625. package/skill/SkillDiffDialog.js +2 -2
  626. package/skill/SkillDiffDialog.js.map +1 -1
  627. package/skill/SkillFileBrowser.js +4 -4
  628. package/skill/SkillFileBrowser.js.map +1 -1
  629. package/skill/SkillPicker.js +10 -10
  630. package/skill/SkillPicker.js.map +1 -1
  631. package/skill/SkillUploader.js +8 -8
  632. package/skill/SkillUploader.js.map +1 -1
  633. package/src/__tests__/helpers/compile-sdk-styles.ts +33 -0
  634. package/src/__tests__/portal-container.test.tsx +97 -0
  635. package/src/__tests__/preflight-parity.layout.test.tsx +156 -0
  636. package/src/__tests__/scope-unprefixed.test.ts +86 -0
  637. package/src/__tests__/styles-border-layer-invariant.test.ts +86 -58
  638. package/src/__tests__/styles-dist-isolation.test.ts +195 -0
  639. package/src/__tests__/styles-host-isolation.layout.test.tsx +204 -0
  640. package/src/access/ManageAccessButton.tsx +3 -3
  641. package/src/access/ManageAccessDialog.tsx +19 -19
  642. package/src/action-menu/ActionMenu.tsx +8 -8
  643. package/src/activity/useRecentActivity.ts +6 -1
  644. package/src/agent/AgentDetailView.tsx +112 -112
  645. package/src/agent/AgentPicker.tsx +26 -26
  646. package/src/agent/steps/CapabilitiesStep.tsx +36 -36
  647. package/src/agent/steps/IdentityStep.tsx +45 -45
  648. package/src/agent/steps/ReviewStep.tsx +18 -18
  649. package/src/agent-instance/AgentInstanceDetailPanel.tsx +45 -45
  650. package/src/agent-instance/AgentInstanceList.tsx +36 -36
  651. package/src/agent-instance/CreateAgentInstanceDialog.tsx +35 -35
  652. package/src/agent-instance/__tests__/AgentInstanceList.test.tsx +0 -6
  653. package/src/api-key/ApiKeyCreatedAlert.tsx +15 -15
  654. package/src/api-key/ApiKeyListPanel.tsx +28 -28
  655. package/src/api-key/CreateApiKeyForm.tsx +25 -25
  656. package/src/attachment/AttachmentChipList.tsx +321 -75
  657. package/src/attachment/AttachmentImageLightbox.tsx +154 -0
  658. package/src/attachment/__tests__/AttachmentChipList.test.tsx +240 -17
  659. package/src/attachment/attachment-utils.ts +8 -5
  660. package/src/attachment/useObjectUrl.ts +28 -0
  661. package/src/billing/AutoRechargeCard.tsx +26 -26
  662. package/src/billing/BillingSection.tsx +14 -14
  663. package/src/billing/CreditBalanceCard.tsx +7 -7
  664. package/src/billing/CreditLedgerTable.tsx +27 -27
  665. package/src/billing/CreditPackGrid.tsx +13 -13
  666. package/src/billing/LowBalanceBanner.tsx +6 -6
  667. package/src/billing/PaymentMethodCard.tsx +13 -13
  668. package/src/button/Button.tsx +10 -10
  669. package/src/button/__tests__/Button.test.tsx +9 -9
  670. package/src/channel/AgentChannelsPanel.tsx +33 -33
  671. package/src/channel/ChannelConversationsDialog.tsx +21 -21
  672. package/src/channel/ChannelCredentialsDialog.tsx +13 -13
  673. package/src/channel/ChannelTemplatesDialog.tsx +34 -34
  674. package/src/channel/ChannelToolCredentials.tsx +5 -5
  675. package/src/channel/ConnectSlackDialog.tsx +48 -48
  676. package/src/channel/ConnectWhatsAppDialog.tsx +42 -42
  677. package/src/channel/__tests__/AgentChannelsPanel.test.tsx +4 -9
  678. package/src/channel/connect/ServingAppSection.tsx +14 -14
  679. package/src/channel/connect/ToolCredentialsSection.tsx +5 -5
  680. package/src/channel/connect/VerbatimRefusal.tsx +1 -1
  681. package/src/channel/connect/icons.tsx +1 -1
  682. package/src/channel-app/ChannelAppDetailPanel.tsx +44 -44
  683. package/src/channel-app/ChannelAppListPanel.tsx +15 -15
  684. package/src/channel-app/CreateChannelAppForm.tsx +37 -37
  685. package/src/channel-app/internal.tsx +21 -21
  686. package/src/composer/ComposerToolbar.tsx +15 -15
  687. package/src/composer/ConfigureMenu.tsx +22 -22
  688. package/src/composer/ContextChip.tsx +12 -12
  689. package/src/composer/ContextPopover.tsx +8 -8
  690. package/src/composer/InteractionModePicker.tsx +14 -14
  691. package/src/composer/SessionComposer.tsx +24 -24
  692. package/src/composer/__tests__/SessionComposer-lockAgent.test.tsx +16 -15
  693. package/src/composer/__tests__/SessionComposer-serviceTier.test.tsx +2 -7
  694. package/src/composer/icons.tsx +5 -5
  695. package/src/conversation/ConversationAttentionBanner.tsx +6 -6
  696. package/src/conversation/ConversationComposer.tsx +13 -13
  697. package/src/conversation/ConversationControlBanner.tsx +11 -11
  698. package/src/conversation/ConversationListPane.tsx +38 -38
  699. package/src/conversation/ConversationMediaAttachment.tsx +308 -0
  700. package/src/conversation/ConversationTimelineView.tsx +102 -52
  701. package/src/conversation/ConversationsWorkbench.tsx +12 -10
  702. package/src/conversation/__tests__/ConversationComposer.test.tsx +1 -1
  703. package/src/conversation/__tests__/ConversationTimelineView.test.tsx +233 -6
  704. package/src/conversation/__tests__/a11y/conversation-surfaces.a11y.test.tsx +67 -1
  705. package/src/conversation/__tests__/useConversationMediaUrl.test.tsx +66 -0
  706. package/src/conversation/conversationPresentation.ts +10 -3
  707. package/src/conversation/index.ts +6 -0
  708. package/src/conversation/useConversationMediaUrl.ts +121 -0
  709. package/src/cursor-accounts/CursorAccountEditor.tsx +13 -13
  710. package/src/cursor-accounts/CursorAccountsAccessNotice.tsx +3 -3
  711. package/src/cursor-accounts/CursorAccountsConsole.tsx +35 -35
  712. package/src/cursor-accounts/MemberCoverageTable.tsx +29 -29
  713. package/src/cursor-accounts/MemberKeysPanel.tsx +17 -17
  714. package/src/cursor-accounts/badges.tsx +4 -4
  715. package/src/dashboard/DashboardFailedRuns.tsx +17 -17
  716. package/src/dashboard/DashboardKPICards.tsx +12 -12
  717. package/src/dashboard/OperationalDashboard.tsx +2 -2
  718. package/src/datastore/CollectionRecordsBrowser.tsx +35 -35
  719. package/src/datastore/CollectionSchemaView.tsx +43 -43
  720. package/src/datastore/DatastoreDetailView.tsx +18 -18
  721. package/src/datastore/DatastoreSyncReport.tsx +13 -13
  722. package/src/datastore/DeleteDatastoreDialog.tsx +21 -21
  723. package/src/datastore/FieldValueControl.tsx +7 -7
  724. package/src/datastore/RecordFilterBuilder.tsx +35 -35
  725. package/src/datastore/RecordFormPanel.tsx +35 -35
  726. package/src/dependency-graph/DependencyGraph.tsx +6 -6
  727. package/src/dependency-graph/DependencyTreeNode.tsx +21 -21
  728. package/src/empty-state/EmptyState.tsx +7 -7
  729. package/src/empty-state/useEmptyState.ts +1 -1
  730. package/src/environment/CreateEnvironmentForm.tsx +24 -24
  731. package/src/environment/EnvVarForm.tsx +40 -40
  732. package/src/environment/EnvironmentListPanel.tsx +19 -19
  733. package/src/environment/EnvironmentPicker.tsx +22 -22
  734. package/src/environment/EnvironmentVariableEditor.tsx +53 -53
  735. package/src/error/ErrorMessage.tsx +22 -22
  736. package/src/error/SecretFlowErrorGuide.tsx +19 -19
  737. package/src/execution/ApprovalCard.tsx +19 -19
  738. package/src/execution/ArtifactApplyButton.tsx +7 -7
  739. package/src/execution/ArtifactContentBody.tsx +11 -11
  740. package/src/execution/ArtifactContentRenderer.tsx +29 -29
  741. package/src/execution/ArtifactDocument.tsx +22 -22
  742. package/src/execution/ArtifactFileContent.tsx +6 -6
  743. package/src/execution/ArtifactPreviewModal.tsx +33 -33
  744. package/src/execution/ArtifactRowView.tsx +13 -13
  745. package/src/execution/ArtifactsWidget.tsx +4 -4
  746. package/src/execution/ContextGauge.tsx +24 -24
  747. package/src/execution/EmptyChangeNotice.tsx +1 -1
  748. package/src/execution/ExecutionPhaseBadge.tsx +12 -12
  749. package/src/execution/ExecutionProgress.tsx +2 -2
  750. package/src/execution/FileChangeProgressBar.tsx +9 -9
  751. package/src/execution/FileChangesView.tsx +12 -12
  752. package/src/execution/FilePathLink.tsx +10 -10
  753. package/src/execution/FileReviewAtoms.tsx +9 -9
  754. package/src/execution/FileReviewCard.tsx +37 -37
  755. package/src/execution/FileReviewDock.tsx +2 -2
  756. package/src/execution/FollowUpInput.tsx +9 -9
  757. package/src/execution/InteractionModeBadge.tsx +2 -2
  758. package/src/execution/McpToolDetail.tsx +28 -28
  759. package/src/execution/MessageAttachments.tsx +364 -0
  760. package/src/execution/MessageEntry.tsx +60 -22
  761. package/src/execution/MessageThread.tsx +72 -32
  762. package/src/execution/PlanArtifactCard.tsx +22 -22
  763. package/src/execution/PlanCompletionCard.tsx +10 -10
  764. package/src/execution/PlanDocumentMessage.tsx +6 -6
  765. package/src/execution/PlanStreamingCard.tsx +11 -11
  766. package/src/execution/ResultView.tsx +44 -44
  767. package/src/execution/SessionVariablesInput.tsx +38 -38
  768. package/src/execution/SetupProgress.tsx +5 -5
  769. package/src/execution/SubAgentSection.tsx +42 -42
  770. package/src/execution/SummarizationBadge.tsx +15 -15
  771. package/src/execution/SummarizationCard.tsx +11 -11
  772. package/src/execution/TerminalSession.tsx +7 -7
  773. package/src/execution/ThreadSkeleton.tsx +10 -10
  774. package/src/execution/TodoCard.tsx +11 -11
  775. package/src/execution/TodoList.tsx +13 -13
  776. package/src/execution/ToolArgsView.tsx +8 -8
  777. package/src/execution/ToolCallDetail.tsx +7 -7
  778. package/src/execution/ToolCallGroup.tsx +1 -1
  779. package/src/execution/ToolCallItem.tsx +28 -28
  780. package/src/execution/ToolRunGroup.tsx +16 -16
  781. package/src/execution/UsageWidget.tsx +12 -12
  782. package/src/execution/WriteBackCard.tsx +30 -30
  783. package/src/execution/WriteBacksWidget.tsx +4 -4
  784. package/src/execution/__tests__/ApprovalCard.test.tsx +12 -12
  785. package/src/execution/__tests__/ArtifactContentRenderer.test.tsx +3 -3
  786. package/src/execution/__tests__/FileChangesView.test.tsx +2 -2
  787. package/src/execution/__tests__/FilePathLink.test.tsx +1 -1
  788. package/src/execution/__tests__/FileReviewDock.test.tsx +1 -1
  789. package/src/execution/__tests__/MessageEntry-attachments.test.tsx +228 -0
  790. package/src/execution/__tests__/MessageThread.test.tsx +1 -1
  791. package/src/execution/__tests__/TerminalSession.test.tsx +1 -1
  792. package/src/execution/__tests__/ToolCallDetail.test.tsx +1 -1
  793. package/src/execution/__tests__/ToolCallGroup.test.tsx +4 -4
  794. package/src/execution/__tests__/ToolCallItem.test.tsx +9 -9
  795. package/src/execution/__tests__/ToolRunGroup.test.tsx +6 -6
  796. package/src/execution/__tests__/WriteBackCard.test.tsx +4 -4
  797. package/src/execution/__tests__/buildThreadItems-attachments.test.ts +174 -0
  798. package/src/execution/__tests__/message-entry.test.tsx +8 -8
  799. package/src/execution/__tests__/thread-memoization.test.ts +2 -2
  800. package/src/execution/__tests__/thread-skeleton.test.tsx +1 -1
  801. package/src/execution/__tests__/virtualized-thread.test.tsx +1 -1
  802. package/src/execution/index.ts +6 -0
  803. package/src/execution/tool-rendering-primitives.tsx +12 -12
  804. package/src/feedback/StigmerToaster.tsx +8 -5
  805. package/src/file-reference/FileReferenceChipList.tsx +5 -5
  806. package/src/github/GitHubRepoPicker.tsx +60 -60
  807. package/src/github/__tests__/decodeGitHubContent.test.ts +42 -1
  808. package/src/github/decodeGitHubContent.ts +22 -5
  809. package/src/github/useGitHubFileReader.ts +13 -3
  810. package/src/iam-policy/GrantAccessForm.tsx +11 -11
  811. package/src/iam-policy/OrgMembersPanel.tsx +48 -48
  812. package/src/iam-policy/PeopleWithAccess.tsx +23 -23
  813. package/src/iam-policy/PrincipalPicker.tsx +34 -34
  814. package/src/iam-policy/ProviderBadge.tsx +2 -2
  815. package/src/iam-policy/RoleSelector.tsx +9 -9
  816. package/src/iam-policy/SharePanel.tsx +5 -5
  817. package/src/identity-provider/CreateIdentityProviderForm.tsx +47 -47
  818. package/src/identity-provider/IdentityProviderDetailPanel.tsx +73 -73
  819. package/src/identity-provider/IdentityProviderListPanel.tsx +33 -33
  820. package/src/identity-provider/IdentityProviderWizard.tsx +72 -72
  821. package/src/identity-provider/ProviderPicker.tsx +17 -17
  822. package/src/identity-provider/SsoLoginPrompt.tsx +39 -39
  823. package/src/index.ts +6 -0
  824. package/src/inline-edit/InlineEditImage.tsx +26 -26
  825. package/src/inline-edit/InlineEditKeyValue.tsx +44 -44
  826. package/src/inline-edit/InlineEditResourceList.tsx +48 -48
  827. package/src/inline-edit/InlineEditSelect.tsx +22 -22
  828. package/src/inline-edit/InlineEditText.tsx +29 -29
  829. package/src/inline-edit/InlineEditTextarea.tsx +27 -27
  830. package/src/internal/ApprovalPeekBar.tsx +9 -9
  831. package/src/internal/BoundedContent.tsx +3 -3
  832. package/src/internal/CloudFeatureNotice.tsx +3 -3
  833. package/src/internal/DecisionButton.tsx +10 -10
  834. package/src/internal/InCardDecisionError.tsx +1 -1
  835. package/src/internal/JumpToLatestButton.tsx +9 -9
  836. package/src/internal/MermaidDiagram.tsx +5 -5
  837. package/src/internal/Pagination.tsx +5 -5
  838. package/src/internal/ResizableSplit.tsx +61 -20
  839. package/src/internal/RevealToggle.tsx +5 -5
  840. package/src/internal/ScrollFade.tsx +2 -2
  841. package/src/internal/VirtualizedThread.tsx +6 -6
  842. package/src/internal/__tests__/BoundedContent.test.tsx +1 -1
  843. package/src/internal/__tests__/DecisionButton.test.tsx +14 -14
  844. package/src/internal/__tests__/ResizableSplit.layout.test.tsx +136 -0
  845. package/src/internal/__tests__/ResizableSplit.test.tsx +49 -2
  846. package/src/internal/__tests__/ThreadCardShell.test.tsx +4 -4
  847. package/src/internal/__tests__/markdown-components.test.tsx +2 -2
  848. package/src/internal/__tests__/thread-animation.test.tsx +6 -6
  849. package/src/internal/file-icons/index.tsx +2 -2
  850. package/src/internal/file-tree/FileTreeNode.tsx +9 -9
  851. package/src/internal/file-tree/__tests__/FileTreeNode-explorer.test.tsx +1 -1
  852. package/src/internal/form-primitives.tsx +22 -6
  853. package/src/internal/markdown-components.tsx +24 -24
  854. package/src/internal/menu.tsx +18 -18
  855. package/src/internal/scroll-area.tsx +6 -6
  856. package/src/internal/thread-card/ThreadCardShell.tsx +10 -10
  857. package/src/internal/thread-card/glyphs.tsx +3 -3
  858. package/src/internal/tooltip.tsx +9 -11
  859. package/src/invitation/InvitationCreatedAlert.tsx +15 -15
  860. package/src/invitation/InvitationManager.tsx +79 -79
  861. package/src/invitation/InvitationRedemption.tsx +49 -49
  862. package/src/library/ResourceCountCard.tsx +7 -7
  863. package/src/library/ScopeToggle.tsx +7 -7
  864. package/src/library/VisibilityOptionRow.tsx +30 -30
  865. package/src/library/VisibilitySelector.tsx +19 -19
  866. package/src/library/__tests__/VisibilitySelector.test.tsx +0 -6
  867. package/src/manifest/ApplyManifestDialog.tsx +36 -36
  868. package/src/manifest/EditResourceYamlDialog.tsx +32 -32
  869. package/src/manifest/RedactedSecretsNotice.tsx +2 -2
  870. package/src/manifest/YamlEditor.tsx +1 -1
  871. package/src/mcp-server/McpServerConfigPanel.tsx +70 -70
  872. package/src/mcp-server/McpServerConnectDialog.tsx +80 -53
  873. package/src/mcp-server/McpServerDetailView.tsx +325 -224
  874. package/src/mcp-server/McpServerPicker.tsx +50 -50
  875. package/src/mcp-server/McpToolSelector.tsx +26 -26
  876. package/src/mcp-server/OAuthAppForm.tsx +32 -32
  877. package/src/mcp-server/OAuthCallbackHandler.tsx +11 -11
  878. package/src/mcp-server/OAuthRequiredNotice.tsx +3 -3
  879. package/src/mcp-server/StdioSandboxNotice.tsx +3 -3
  880. package/src/mcp-server/__tests__/McpServerDetailView.test.tsx +162 -7
  881. package/src/mcp-server/__tests__/useMcpServerOAuthConnect.test.tsx +159 -0
  882. package/src/mcp-server/index.ts +4 -1
  883. package/src/mcp-server/steps/EnvironmentAuthStep.tsx +71 -71
  884. package/src/mcp-server/steps/IdentityTransportStep.tsx +94 -94
  885. package/src/mcp-server/steps/ReviewStep.tsx +17 -17
  886. package/src/mcp-server/useMcpServerOAuthConnect.ts +65 -10
  887. package/src/models/HarnessSelector.tsx +8 -8
  888. package/src/models/ModelSelector.tsx +58 -58
  889. package/src/models/__tests__/ModelSelector-serviceTier.test.tsx +2 -7
  890. package/src/oauth-app/CreateOAuthAppForm.tsx +28 -28
  891. package/src/oauth-app/OAuthAppDetailPanel.tsx +51 -51
  892. package/src/oauth-app/OAuthAppListPanel.tsx +14 -14
  893. package/src/organization/CreateOrganizationForm.tsx +37 -37
  894. package/src/organization/OrgProfilePanel.tsx +65 -65
  895. package/src/organization/OrgSwitcher.tsx +33 -33
  896. package/src/platform-client/CreatePlatformClientForm.tsx +59 -59
  897. package/src/platform-client/PlatformClientDetailPanel.tsx +107 -107
  898. package/src/platform-client/PlatformClientListPanel.tsx +38 -38
  899. package/src/platform-client/PlatformClientSecretAlert.tsx +18 -18
  900. package/src/portal-container.ts +36 -9
  901. package/src/pricing-governance/BaselineEditor.tsx +29 -29
  902. package/src/pricing-governance/ModelCatalogPanel.tsx +28 -28
  903. package/src/pricing-governance/ModelGovernanceDetail.tsx +35 -35
  904. package/src/pricing-governance/OperatorAccessNotice.tsx +3 -3
  905. package/src/pricing-governance/PricingGovernanceConsole.tsx +31 -31
  906. package/src/pricing-governance/PricingGovernancePanel.tsx +19 -19
  907. package/src/pricing-governance/RetireConfirm.tsx +7 -7
  908. package/src/pricing-governance/governance-primitives.tsx +12 -12
  909. package/src/resource-creation/CreationPicker.tsx +23 -23
  910. package/src/resource-creation/StepIndicator.tsx +17 -17
  911. package/src/resource-creation/TemplateCard.tsx +23 -23
  912. package/src/resource-creation/TemplateGallery.tsx +13 -13
  913. package/src/resource-creation/WizardNav.tsx +19 -19
  914. package/src/resource-creation/WizardShell.tsx +7 -7
  915. package/src/resource-detail/ConfirmDialog.tsx +16 -16
  916. package/src/resource-detail/ResourceActionBar.tsx +6 -6
  917. package/src/resource-detail/ResourceDetailShell.tsx +14 -14
  918. package/src/resource-detail/Section.tsx +10 -10
  919. package/src/resource-workbench/components/BulkActionBar.tsx +13 -13
  920. package/src/resource-workbench/components/ColumnHeader.tsx +9 -9
  921. package/src/resource-workbench/components/FilterBar.tsx +9 -9
  922. package/src/resource-workbench/components/ResourceAvatar.tsx +19 -19
  923. package/src/resource-workbench/components/ResourceCards.tsx +8 -8
  924. package/src/resource-workbench/components/ResourceInspector.tsx +8 -8
  925. package/src/resource-workbench/components/ResourceList.tsx +7 -7
  926. package/src/resource-workbench/components/ResourceTable.tsx +12 -12
  927. package/src/resource-workbench/components/ResourceWorkbench.tsx +42 -42
  928. package/src/resource-workbench/components/SelectionCheckbox.tsx +2 -2
  929. package/src/resource-workbench/components/StatusBadge.tsx +17 -17
  930. package/src/resource-workbench/components/ViewSwitcher.tsx +7 -7
  931. package/src/schedule/CadenceField.tsx +36 -36
  932. package/src/schedule/ScheduleDetailView.tsx +105 -105
  933. package/src/schedule/ScheduleForm.tsx +49 -49
  934. package/src/schedule/ScheduleRowActions.tsx +4 -4
  935. package/src/schedule/ScheduleRunsTable.tsx +43 -43
  936. package/src/schedule/TimeZoneField.tsx +12 -12
  937. package/src/schedule/__tests__/scheduleCreation.test.tsx +0 -7
  938. package/src/schedule/scheduleColumns.tsx +7 -7
  939. package/src/session/NewSessionViewer.tsx +5 -5
  940. package/src/session/PlanEditor.tsx +37 -37
  941. package/src/session/PlanStreamingDocument.tsx +8 -8
  942. package/src/session/SessionViewer.tsx +49 -48
  943. package/src/session/SessionViewerLayout.tsx +14 -11
  944. package/src/session/__tests__/NewSessionViewer.test.tsx +4 -4
  945. package/src/session/__tests__/PlanEditor.test.tsx +2 -2
  946. package/src/session/__tests__/SessionViewerLayout.test.tsx +20 -8
  947. package/src/session/__tests__/useSessionConversation.test.tsx +62 -0
  948. package/src/session/facets/ArtifactsTab.tsx +3 -3
  949. package/src/session/facets/ChangesTab.tsx +5 -5
  950. package/src/session/facets/SetupTab.tsx +26 -26
  951. package/src/session/facets/UsageTab.tsx +2 -2
  952. package/src/session/useSessionConversation.ts +21 -2
  953. package/src/settings/ApiKeysSection.tsx +6 -6
  954. package/src/settings/ChannelAppsSection.tsx +6 -6
  955. package/src/settings/EnvironmentsSection.tsx +15 -15
  956. package/src/settings/IdentityProvidersSection.tsx +7 -7
  957. package/src/settings/InvitationsSection.tsx +4 -4
  958. package/src/settings/MembersSection.tsx +5 -5
  959. package/src/settings/OAuthAppsSection.tsx +6 -6
  960. package/src/settings/OrgProfileSection.tsx +3 -3
  961. package/src/settings/PlatformClientsSection.tsx +7 -7
  962. package/src/settings/UsageSection.tsx +3 -3
  963. package/src/sharing/AgentShareList.tsx +39 -39
  964. package/src/sharing/ShareAgentDialog.tsx +149 -149
  965. package/src/sharing/SharedAgentChat.tsx +24 -24
  966. package/src/sharing/__tests__/AgentShareList.test.tsx +0 -7
  967. package/src/sidebar/SettingsSidebar.tsx +7 -7
  968. package/src/sidebar/WorkspaceSidebar.tsx +25 -25
  969. package/src/sidebar/__tests__/SettingsSidebar.test.tsx +3 -7
  970. package/src/sidebar/__tests__/WorkspaceSidebar.test.tsx +4 -11
  971. package/src/sidebar/chrome.tsx +16 -16
  972. package/src/skill/SkillDetailView.tsx +54 -54
  973. package/src/skill/SkillDiffDialog.tsx +25 -25
  974. package/src/skill/SkillFileBrowser.tsx +22 -22
  975. package/src/skill/SkillPicker.tsx +28 -28
  976. package/src/skill/SkillUploader.tsx +67 -67
  977. package/src/styles.css +136 -15
  978. package/src/switch/Switch.tsx +9 -9
  979. package/src/switch/__tests__/Switch.test.tsx +3 -3
  980. package/src/tabs/Tabs.tsx +11 -11
  981. package/src/usage/AgentBreakdownList.tsx +18 -18
  982. package/src/usage/CreditRunwayIndicator.tsx +4 -4
  983. package/src/usage/ExportButton.tsx +8 -8
  984. package/src/usage/HarnessSplitCard.tsx +14 -14
  985. package/src/usage/OrgUsagePanel.tsx +71 -71
  986. package/src/user/UserMenu.tsx +13 -13
  987. package/src/version-history/DiffFileList.tsx +13 -13
  988. package/src/version-history/DiffSummary.tsx +3 -3
  989. package/src/version-history/DiffViewer.tsx +14 -14
  990. package/src/version-history/MultiFileDiffView.tsx +6 -6
  991. package/src/version-history/UnifiedDiffView.tsx +4 -4
  992. package/src/version-history/VersionTimeline.tsx +21 -21
  993. package/src/version-history/VersionTimelineEntry.tsx +28 -28
  994. package/src/version-history/__tests__/UnifiedDiffView.test.tsx +2 -2
  995. package/src/workflow/ApprovalFormBuilder.tsx +48 -48
  996. package/src/workflow/BranchConditionBuilder.tsx +21 -21
  997. package/src/workflow/CanvasContextMenu.tsx +10 -10
  998. package/src/workflow/CanvasTransitionEdge.tsx +16 -16
  999. package/src/workflow/CostByWorkflowChart.tsx +18 -18
  1000. package/src/workflow/ExecutionActiveTaskIndicator.tsx +13 -13
  1001. package/src/workflow/ExecutionSummaryWidget.tsx +29 -29
  1002. package/src/workflow/ExecutionTrendChart.tsx +25 -25
  1003. package/src/workflow/FailedRunsWidget.tsx +14 -14
  1004. package/src/workflow/PendingApprovalsWidget.tsx +19 -19
  1005. package/src/workflow/TaskConfigForm.tsx +32 -32
  1006. package/src/workflow/TaskPickerPopover.tsx +22 -22
  1007. package/src/workflow/ViewYamlDialog.tsx +12 -12
  1008. package/src/workflow/WorkflowAgentCallTranscript.tsx +15 -15
  1009. package/src/workflow/WorkflowApprovalList.tsx +3 -3
  1010. package/src/workflow/WorkflowArchitectDialog.tsx +80 -80
  1011. package/src/workflow/WorkflowArtifactDocument.tsx +17 -17
  1012. package/src/workflow/WorkflowCanvasEditor.tsx +22 -22
  1013. package/src/workflow/WorkflowCanvasInner.tsx +3 -3
  1014. package/src/workflow/WorkflowCodePreviewGraph.tsx +2 -2
  1015. package/src/workflow/WorkflowDashboard.tsx +2 -2
  1016. package/src/workflow/WorkflowDetailView.tsx +50 -50
  1017. package/src/workflow/WorkflowDiffGraph.tsx +5 -5
  1018. package/src/workflow/WorkflowEditorView.tsx +58 -58
  1019. package/src/workflow/WorkflowExecutionGraph.tsx +15 -15
  1020. package/src/workflow/WorkflowExecutionHeader.tsx +14 -14
  1021. package/src/workflow/WorkflowExecutionPhaseBadge.tsx +11 -11
  1022. package/src/workflow/WorkflowExecutionViewer.tsx +39 -39
  1023. package/src/workflow/WorkflowExplainDialog.tsx +30 -30
  1024. package/src/workflow/WorkflowFileReviewList.tsx +3 -3
  1025. package/src/workflow/WorkflowGraphFullscreenDialog.tsx +11 -11
  1026. package/src/workflow/WorkflowNode.tsx +2 -2
  1027. package/src/workflow/WorkflowNodePopover.tsx +15 -15
  1028. package/src/workflow/WorkflowOverviewGraph.tsx +9 -9
  1029. package/src/workflow/WorkflowOverviewSummary.tsx +12 -12
  1030. package/src/workflow/WorkflowRefinePanel.tsx +49 -49
  1031. package/src/workflow/WorkflowRepairCard.tsx +53 -53
  1032. package/src/workflow/WorkflowRunDialog.tsx +20 -20
  1033. package/src/workflow/WorkflowRunForm.tsx +19 -19
  1034. package/src/workflow/WorkflowTaskApprovalCard.tsx +19 -19
  1035. package/src/workflow/WorkflowTaskApprovalSummary.tsx +23 -23
  1036. package/src/workflow/WorkflowTaskList.tsx +11 -11
  1037. package/src/workflow/WorkflowTaskPalette.tsx +23 -23
  1038. package/src/workflow/WorkflowTaskReviewGate.tsx +10 -10
  1039. package/src/workflow/WorkflowVersionBadge.tsx +7 -7
  1040. package/src/workflow/WorkflowVersionDiffViewer.tsx +24 -24
  1041. package/src/workflow/WorkflowVersionTimeline.tsx +32 -32
  1042. package/src/workflow/WorkflowVersionsTab.tsx +7 -7
  1043. package/src/workflow/__tests__/WorkflowAgentCallTranscript.test.tsx +2 -2
  1044. package/src/workflow/__tests__/WorkflowExecutionViewer.reconciliation.test.tsx +6 -6
  1045. package/src/workflow/__tests__/WorkflowTaskApprovalCard.test.tsx +15 -15
  1046. package/src/workflow/__tests__/WorkflowTaskApprovalSummary.test.tsx +1 -1
  1047. package/src/workflow/__tests__/node-shell.test.ts +2 -0
  1048. package/src/workflow/__tests__/task-type-visual-registry.test.ts +2 -0
  1049. package/src/workflow/diff/DiffSummaryBar.tsx +5 -5
  1050. package/src/workflow/execution-comparison/ComparisonSummaryCards.tsx +11 -11
  1051. package/src/workflow/execution-comparison/ExecutionComparisonPicker.tsx +20 -20
  1052. package/src/workflow/execution-comparison/ExecutionComparisonView.tsx +16 -16
  1053. package/src/workflow/execution-comparison/TaskComparisonTable.tsx +44 -44
  1054. package/src/workflow/execution-history/ExecutionFilterBar.tsx +12 -12
  1055. package/src/workflow/execution-history/ExecutionHistoryTable.tsx +25 -25
  1056. package/src/workflow/execution-history/FailureAnalysisPanel.tsx +18 -18
  1057. package/src/workflow/execution-history/HealthMetricsStrip.tsx +16 -16
  1058. package/src/workflow/execution-history/WorkflowExecutionHistory.tsx +1 -1
  1059. package/src/workflow/facets/WorkflowArtifactsTab.tsx +3 -3
  1060. package/src/workflow/facets/WorkflowChangesTab.tsx +8 -8
  1061. package/src/workflow/facets/WorkflowUsageTab.tsx +24 -24
  1062. package/src/workflow/inspector/EdgeInspector.tsx +14 -14
  1063. package/src/workflow/inspector/InspectorHeader.tsx +18 -18
  1064. package/src/workflow/inspector/InspectorShell.tsx +6 -6
  1065. package/src/workflow/inspector/NestedTaskList.tsx +11 -11
  1066. package/src/workflow/inspector/SentinelInspector.tsx +3 -3
  1067. package/src/workflow/inspector/WorkflowSummaryPanel.tsx +33 -33
  1068. package/src/workflow/inspector/forms/AgentCallForm.tsx +48 -48
  1069. package/src/workflow/inspector/forms/HttpCallForm.tsx +22 -22
  1070. package/src/workflow/inspector/tabs/AdvancedTab.tsx +12 -12
  1071. package/src/workflow/inspector/tabs/BranchesTab.tsx +36 -36
  1072. package/src/workflow/inspector/tabs/CatchTab.tsx +23 -23
  1073. package/src/workflow/inspector/tabs/ConfigureTab.tsx +3 -3
  1074. package/src/workflow/inspector/tabs/DataTab.tsx +6 -6
  1075. package/src/workflow/inspector/tabs/DocsTab.tsx +11 -11
  1076. package/src/workflow/inspector/tabs/IterationTab.tsx +25 -25
  1077. package/src/workflow/inspector/tabs/RuntimeTab.tsx +16 -16
  1078. package/src/workflow/instance/CreateWorkflowInstanceDialog.tsx +35 -35
  1079. package/src/workflow/instance/RunVisibilityControl.tsx +10 -10
  1080. package/src/workflow/instance/WorkflowInstanceDetailPanel.tsx +45 -45
  1081. package/src/workflow/instance/WorkflowInstanceList.tsx +32 -32
  1082. package/src/workflow/instance/__tests__/WorkflowInstanceList.test.tsx +0 -6
  1083. package/src/workflow/node-shell/BranchBadge.tsx +9 -9
  1084. package/src/workflow/node-shell/DiffBadge.tsx +4 -4
  1085. package/src/workflow/node-shell/ExecutionBadge.tsx +17 -17
  1086. package/src/workflow/node-shell/NodeActions.tsx +15 -15
  1087. package/src/workflow/node-shell/NodeContent.tsx +9 -9
  1088. package/src/workflow/node-shell/NodeHandles.tsx +5 -5
  1089. package/src/workflow/node-shell/NodeShell.tsx +27 -27
  1090. package/src/workflow/picker/BranchAddPopover.tsx +16 -16
  1091. package/src/workflow/task-detail/StructuredDataViewer.tsx +34 -34
  1092. package/src/workflow/templates/WorkflowTemplateCard.tsx +32 -32
  1093. package/src/workflow/templates/WorkflowTemplateGallery.tsx +13 -13
  1094. package/src/workflow/templates/WorkflowTemplatePreview.tsx +29 -29
  1095. package/src/workflow/thread/WorkflowTaskThread.tsx +36 -36
  1096. package/src/workspace/EditorTabs.tsx +8 -8
  1097. package/src/workspace/ExplorerTree.tsx +17 -17
  1098. package/src/workspace/FileViewer.tsx +139 -30
  1099. package/src/workspace/PanelChip.tsx +4 -4
  1100. package/src/workspace/WorkspaceContentSearch.tsx +26 -26
  1101. package/src/workspace/WorkspaceEditor.tsx +44 -44
  1102. package/src/workspace/WorkspaceFileReader.ts +55 -1
  1103. package/src/workspace/WorkspaceFileSearch.tsx +22 -22
  1104. package/src/workspace/WorkspaceSummary.tsx +6 -6
  1105. package/src/workspace/WorkspaceSurface.tsx +42 -42
  1106. package/src/workspace/__tests__/FileViewer.test.tsx +99 -1
  1107. package/src/workspace/__tests__/WorkspaceContentSearch.test.tsx +5 -5
  1108. package/src/workspace/__tests__/WorkspaceFileSearch.test.tsx +3 -3
  1109. package/src/workspace/__tests__/WorkspaceSurface.test.tsx +6 -6
  1110. package/src/workspace/index.ts +2 -0
  1111. package/styles.css +1 -1
  1112. package/switch/Switch.js +2 -2
  1113. package/switch/Switch.js.map +1 -1
  1114. package/tabs/Tabs.js +7 -7
  1115. package/tabs/Tabs.js.map +1 -1
  1116. package/usage/AgentBreakdownList.js +4 -4
  1117. package/usage/AgentBreakdownList.js.map +1 -1
  1118. package/usage/CreditRunwayIndicator.js +1 -1
  1119. package/usage/CreditRunwayIndicator.js.map +1 -1
  1120. package/usage/ExportButton.js +2 -2
  1121. package/usage/ExportButton.js.map +1 -1
  1122. package/usage/HarnessSplitCard.js +6 -6
  1123. package/usage/HarnessSplitCard.js.map +1 -1
  1124. package/usage/OrgUsagePanel.js +15 -15
  1125. package/usage/OrgUsagePanel.js.map +1 -1
  1126. package/user/UserMenu.js +3 -3
  1127. package/user/UserMenu.js.map +1 -1
  1128. package/version-history/DiffFileList.js +8 -8
  1129. package/version-history/DiffFileList.js.map +1 -1
  1130. package/version-history/DiffSummary.js +1 -1
  1131. package/version-history/DiffSummary.js.map +1 -1
  1132. package/version-history/DiffViewer.js +11 -11
  1133. package/version-history/DiffViewer.js.map +1 -1
  1134. package/version-history/MultiFileDiffView.js +2 -2
  1135. package/version-history/MultiFileDiffView.js.map +1 -1
  1136. package/version-history/UnifiedDiffView.js +1 -1
  1137. package/version-history/UnifiedDiffView.js.map +1 -1
  1138. package/version-history/VersionTimeline.js +4 -4
  1139. package/version-history/VersionTimeline.js.map +1 -1
  1140. package/version-history/VersionTimelineEntry.js +9 -9
  1141. package/version-history/VersionTimelineEntry.js.map +1 -1
  1142. package/workflow/ApprovalFormBuilder.js +15 -15
  1143. package/workflow/ApprovalFormBuilder.js.map +1 -1
  1144. package/workflow/BranchConditionBuilder.js +8 -8
  1145. package/workflow/BranchConditionBuilder.js.map +1 -1
  1146. package/workflow/CanvasContextMenu.js +6 -6
  1147. package/workflow/CanvasContextMenu.js.map +1 -1
  1148. package/workflow/CanvasTransitionEdge.js +11 -11
  1149. package/workflow/CanvasTransitionEdge.js.map +1 -1
  1150. package/workflow/CostByWorkflowChart.js +4 -4
  1151. package/workflow/CostByWorkflowChart.js.map +1 -1
  1152. package/workflow/ExecutionActiveTaskIndicator.js +8 -8
  1153. package/workflow/ExecutionActiveTaskIndicator.js.map +1 -1
  1154. package/workflow/ExecutionSummaryWidget.js +15 -15
  1155. package/workflow/ExecutionSummaryWidget.js.map +1 -1
  1156. package/workflow/ExecutionTrendChart.js +10 -10
  1157. package/workflow/ExecutionTrendChart.js.map +1 -1
  1158. package/workflow/FailedRunsWidget.js +3 -3
  1159. package/workflow/FailedRunsWidget.js.map +1 -1
  1160. package/workflow/PendingApprovalsWidget.js +3 -3
  1161. package/workflow/PendingApprovalsWidget.js.map +1 -1
  1162. package/workflow/TaskConfigForm.js +12 -12
  1163. package/workflow/TaskConfigForm.js.map +1 -1
  1164. package/workflow/TaskPickerPopover.js +5 -5
  1165. package/workflow/TaskPickerPopover.js.map +1 -1
  1166. package/workflow/ViewYamlDialog.js +2 -2
  1167. package/workflow/ViewYamlDialog.js.map +1 -1
  1168. package/workflow/WorkflowAgentCallTranscript.js +2 -2
  1169. package/workflow/WorkflowAgentCallTranscript.js.map +1 -1
  1170. package/workflow/WorkflowApprovalList.js +2 -2
  1171. package/workflow/WorkflowApprovalList.js.map +1 -1
  1172. package/workflow/WorkflowArchitectDialog.js +9 -9
  1173. package/workflow/WorkflowArchitectDialog.js.map +1 -1
  1174. package/workflow/WorkflowArtifactDocument.js +7 -7
  1175. package/workflow/WorkflowArtifactDocument.js.map +1 -1
  1176. package/workflow/WorkflowCanvasEditor.js +6 -6
  1177. package/workflow/WorkflowCanvasEditor.js.map +1 -1
  1178. package/workflow/WorkflowCanvasInner.js +1 -1
  1179. package/workflow/WorkflowCanvasInner.js.map +1 -1
  1180. package/workflow/WorkflowCodePreviewGraph.js +2 -2
  1181. package/workflow/WorkflowCodePreviewGraph.js.map +1 -1
  1182. package/workflow/WorkflowDashboard.js +1 -1
  1183. package/workflow/WorkflowDashboard.js.map +1 -1
  1184. package/workflow/WorkflowDetailView.js +15 -15
  1185. package/workflow/WorkflowDetailView.js.map +1 -1
  1186. package/workflow/WorkflowDiffGraph.js +3 -3
  1187. package/workflow/WorkflowDiffGraph.js.map +1 -1
  1188. package/workflow/WorkflowEditorView.js +13 -13
  1189. package/workflow/WorkflowEditorView.js.map +1 -1
  1190. package/workflow/WorkflowExecutionGraph.js +6 -6
  1191. package/workflow/WorkflowExecutionGraph.js.map +1 -1
  1192. package/workflow/WorkflowExecutionHeader.js +4 -4
  1193. package/workflow/WorkflowExecutionHeader.js.map +1 -1
  1194. package/workflow/WorkflowExecutionPhaseBadge.js +9 -9
  1195. package/workflow/WorkflowExecutionPhaseBadge.js.map +1 -1
  1196. package/workflow/WorkflowExecutionViewer.js +16 -16
  1197. package/workflow/WorkflowExecutionViewer.js.map +1 -1
  1198. package/workflow/WorkflowExplainDialog.js +2 -2
  1199. package/workflow/WorkflowExplainDialog.js.map +1 -1
  1200. package/workflow/WorkflowFileReviewList.js +2 -2
  1201. package/workflow/WorkflowFileReviewList.js.map +1 -1
  1202. package/workflow/WorkflowGraphFullscreenDialog.js +1 -1
  1203. package/workflow/WorkflowGraphFullscreenDialog.js.map +1 -1
  1204. package/workflow/WorkflowNode.js +1 -1
  1205. package/workflow/WorkflowNode.js.map +1 -1
  1206. package/workflow/WorkflowNodePopover.js +2 -2
  1207. package/workflow/WorkflowNodePopover.js.map +1 -1
  1208. package/workflow/WorkflowOverviewGraph.js +4 -4
  1209. package/workflow/WorkflowOverviewGraph.js.map +1 -1
  1210. package/workflow/WorkflowOverviewSummary.js +8 -8
  1211. package/workflow/WorkflowOverviewSummary.js.map +1 -1
  1212. package/workflow/WorkflowRefinePanel.js +5 -5
  1213. package/workflow/WorkflowRefinePanel.js.map +1 -1
  1214. package/workflow/WorkflowRepairCard.js +5 -5
  1215. package/workflow/WorkflowRepairCard.js.map +1 -1
  1216. package/workflow/WorkflowRunDialog.js +2 -2
  1217. package/workflow/WorkflowRunDialog.js.map +1 -1
  1218. package/workflow/WorkflowRunForm.js +10 -10
  1219. package/workflow/WorkflowRunForm.js.map +1 -1
  1220. package/workflow/WorkflowTaskApprovalCard.js +1 -1
  1221. package/workflow/WorkflowTaskApprovalCard.js.map +1 -1
  1222. package/workflow/WorkflowTaskApprovalSummary.js +8 -8
  1223. package/workflow/WorkflowTaskApprovalSummary.js.map +1 -1
  1224. package/workflow/WorkflowTaskList.js +4 -4
  1225. package/workflow/WorkflowTaskList.js.map +1 -1
  1226. package/workflow/WorkflowTaskPalette.js +5 -5
  1227. package/workflow/WorkflowTaskPalette.js.map +1 -1
  1228. package/workflow/WorkflowTaskReviewGate.js +3 -3
  1229. package/workflow/WorkflowTaskReviewGate.js.map +1 -1
  1230. package/workflow/WorkflowVersionBadge.js +1 -1
  1231. package/workflow/WorkflowVersionBadge.js.map +1 -1
  1232. package/workflow/WorkflowVersionDiffViewer.js +12 -12
  1233. package/workflow/WorkflowVersionDiffViewer.js.map +1 -1
  1234. package/workflow/WorkflowVersionTimeline.js +7 -7
  1235. package/workflow/WorkflowVersionTimeline.js.map +1 -1
  1236. package/workflow/WorkflowVersionsTab.js +1 -1
  1237. package/workflow/WorkflowVersionsTab.js.map +1 -1
  1238. package/workflow/diff/DiffSummaryBar.js +2 -2
  1239. package/workflow/diff/DiffSummaryBar.js.map +1 -1
  1240. package/workflow/execution-comparison/ComparisonSummaryCards.js +1 -1
  1241. package/workflow/execution-comparison/ComparisonSummaryCards.js.map +1 -1
  1242. package/workflow/execution-comparison/ExecutionComparisonPicker.js +7 -7
  1243. package/workflow/execution-comparison/ExecutionComparisonPicker.js.map +1 -1
  1244. package/workflow/execution-comparison/ExecutionComparisonView.js +4 -4
  1245. package/workflow/execution-comparison/ExecutionComparisonView.js.map +1 -1
  1246. package/workflow/execution-comparison/TaskComparisonTable.js +22 -22
  1247. package/workflow/execution-comparison/TaskComparisonTable.js.map +1 -1
  1248. package/workflow/execution-history/ExecutionFilterBar.js +5 -5
  1249. package/workflow/execution-history/ExecutionFilterBar.js.map +1 -1
  1250. package/workflow/execution-history/ExecutionHistoryTable.js +11 -11
  1251. package/workflow/execution-history/ExecutionHistoryTable.js.map +1 -1
  1252. package/workflow/execution-history/FailureAnalysisPanel.js +4 -4
  1253. package/workflow/execution-history/FailureAnalysisPanel.js.map +1 -1
  1254. package/workflow/execution-history/HealthMetricsStrip.js +8 -8
  1255. package/workflow/execution-history/HealthMetricsStrip.js.map +1 -1
  1256. package/workflow/execution-history/WorkflowExecutionHistory.js +1 -1
  1257. package/workflow/execution-history/WorkflowExecutionHistory.js.map +1 -1
  1258. package/workflow/facets/WorkflowArtifactsTab.js +2 -2
  1259. package/workflow/facets/WorkflowArtifactsTab.js.map +1 -1
  1260. package/workflow/facets/WorkflowChangesTab.js +5 -5
  1261. package/workflow/facets/WorkflowChangesTab.js.map +1 -1
  1262. package/workflow/facets/WorkflowUsageTab.js +6 -6
  1263. package/workflow/facets/WorkflowUsageTab.js.map +1 -1
  1264. package/workflow/inspector/EdgeInspector.js +1 -1
  1265. package/workflow/inspector/EdgeInspector.js.map +1 -1
  1266. package/workflow/inspector/InspectorHeader.js +7 -7
  1267. package/workflow/inspector/InspectorHeader.js.map +1 -1
  1268. package/workflow/inspector/InspectorShell.js +2 -2
  1269. package/workflow/inspector/InspectorShell.js.map +1 -1
  1270. package/workflow/inspector/NestedTaskList.js +2 -2
  1271. package/workflow/inspector/NestedTaskList.js.map +1 -1
  1272. package/workflow/inspector/SentinelInspector.js +1 -1
  1273. package/workflow/inspector/SentinelInspector.js.map +1 -1
  1274. package/workflow/inspector/WorkflowSummaryPanel.js +5 -5
  1275. package/workflow/inspector/WorkflowSummaryPanel.js.map +1 -1
  1276. package/workflow/inspector/forms/AgentCallForm.js +9 -9
  1277. package/workflow/inspector/forms/AgentCallForm.js.map +1 -1
  1278. package/workflow/inspector/forms/HttpCallForm.js +4 -4
  1279. package/workflow/inspector/forms/HttpCallForm.js.map +1 -1
  1280. package/workflow/inspector/tabs/AdvancedTab.js +2 -2
  1281. package/workflow/inspector/tabs/AdvancedTab.js.map +1 -1
  1282. package/workflow/inspector/tabs/BranchesTab.js +6 -6
  1283. package/workflow/inspector/tabs/BranchesTab.js.map +1 -1
  1284. package/workflow/inspector/tabs/CatchTab.js +2 -2
  1285. package/workflow/inspector/tabs/CatchTab.js.map +1 -1
  1286. package/workflow/inspector/tabs/ConfigureTab.js +3 -3
  1287. package/workflow/inspector/tabs/ConfigureTab.js.map +1 -1
  1288. package/workflow/inspector/tabs/DataTab.js +1 -1
  1289. package/workflow/inspector/tabs/DataTab.js.map +1 -1
  1290. package/workflow/inspector/tabs/DocsTab.js +1 -1
  1291. package/workflow/inspector/tabs/DocsTab.js.map +1 -1
  1292. package/workflow/inspector/tabs/IterationTab.js +3 -3
  1293. package/workflow/inspector/tabs/IterationTab.js.map +1 -1
  1294. package/workflow/inspector/tabs/RuntimeTab.js +9 -9
  1295. package/workflow/inspector/tabs/RuntimeTab.js.map +1 -1
  1296. package/workflow/instance/CreateWorkflowInstanceDialog.js +1 -1
  1297. package/workflow/instance/CreateWorkflowInstanceDialog.js.map +1 -1
  1298. package/workflow/instance/RunVisibilityControl.js +5 -5
  1299. package/workflow/instance/RunVisibilityControl.js.map +1 -1
  1300. package/workflow/instance/WorkflowInstanceDetailPanel.js +2 -2
  1301. package/workflow/instance/WorkflowInstanceDetailPanel.js.map +1 -1
  1302. package/workflow/instance/WorkflowInstanceList.js +4 -4
  1303. package/workflow/instance/WorkflowInstanceList.js.map +1 -1
  1304. package/workflow/node-shell/BranchBadge.js +3 -3
  1305. package/workflow/node-shell/BranchBadge.js.map +1 -1
  1306. package/workflow/node-shell/DiffBadge.js +4 -4
  1307. package/workflow/node-shell/DiffBadge.js.map +1 -1
  1308. package/workflow/node-shell/ExecutionBadge.js +10 -10
  1309. package/workflow/node-shell/ExecutionBadge.js.map +1 -1
  1310. package/workflow/node-shell/NodeActions.js +3 -3
  1311. package/workflow/node-shell/NodeActions.js.map +1 -1
  1312. package/workflow/node-shell/NodeContent.js +5 -5
  1313. package/workflow/node-shell/NodeContent.js.map +1 -1
  1314. package/workflow/node-shell/NodeHandles.js +5 -5
  1315. package/workflow/node-shell/NodeHandles.js.map +1 -1
  1316. package/workflow/node-shell/NodeShell.js +14 -14
  1317. package/workflow/node-shell/NodeShell.js.map +1 -1
  1318. package/workflow/picker/BranchAddPopover.js +2 -2
  1319. package/workflow/picker/BranchAddPopover.js.map +1 -1
  1320. package/workflow/task-detail/StructuredDataViewer.js +12 -12
  1321. package/workflow/task-detail/StructuredDataViewer.js.map +1 -1
  1322. package/workflow/templates/WorkflowTemplateCard.js +17 -17
  1323. package/workflow/templates/WorkflowTemplateCard.js.map +1 -1
  1324. package/workflow/templates/WorkflowTemplateGallery.js +5 -5
  1325. package/workflow/templates/WorkflowTemplateGallery.js.map +1 -1
  1326. package/workflow/templates/WorkflowTemplatePreview.js +5 -5
  1327. package/workflow/templates/WorkflowTemplatePreview.js.map +1 -1
  1328. package/workflow/thread/WorkflowTaskThread.js +16 -16
  1329. package/workflow/thread/WorkflowTaskThread.js.map +1 -1
  1330. package/workspace/EditorTabs.js +5 -5
  1331. package/workspace/EditorTabs.js.map +1 -1
  1332. package/workspace/ExplorerTree.js +6 -6
  1333. package/workspace/ExplorerTree.js.map +1 -1
  1334. package/workspace/FileViewer.d.ts.map +1 -1
  1335. package/workspace/FileViewer.js +55 -17
  1336. package/workspace/FileViewer.js.map +1 -1
  1337. package/workspace/PanelChip.js +1 -1
  1338. package/workspace/PanelChip.js.map +1 -1
  1339. package/workspace/WorkspaceContentSearch.js +11 -11
  1340. package/workspace/WorkspaceContentSearch.js.map +1 -1
  1341. package/workspace/WorkspaceEditor.js +10 -10
  1342. package/workspace/WorkspaceEditor.js.map +1 -1
  1343. package/workspace/WorkspaceFileReader.d.ts +29 -1
  1344. package/workspace/WorkspaceFileReader.d.ts.map +1 -1
  1345. package/workspace/WorkspaceFileReader.js +42 -0
  1346. package/workspace/WorkspaceFileReader.js.map +1 -1
  1347. package/workspace/WorkspaceFileSearch.js +9 -9
  1348. package/workspace/WorkspaceFileSearch.js.map +1 -1
  1349. package/workspace/WorkspaceSummary.js +3 -3
  1350. package/workspace/WorkspaceSummary.js.map +1 -1
  1351. package/workspace/WorkspaceSurface.js +22 -22
  1352. package/workspace/WorkspaceSurface.js.map +1 -1
  1353. package/workspace/index.d.ts +1 -1
  1354. package/workspace/index.d.ts.map +1 -1
  1355. package/workspace/index.js +1 -1
  1356. package/workspace/index.js.map +1 -1
@@ -94,17 +94,17 @@ export function ChannelAppDetailPanel({
94
94
  }, [deleteApp, appId, onDeleted]);
95
95
 
96
96
  return (
97
- <div className={cn("space-y-5", className)}>
98
- <div className="flex items-center justify-between">
99
- <div className="min-w-0">
100
- <h3 className="truncate text-sm font-semibold text-foreground">{name}</h3>
101
- <p className="font-mono text-[0.65rem] text-muted-foreground">{appId}</p>
97
+ <div className={cn("stg:space-y-5", className)}>
98
+ <div className="stg:flex stg:items-center stg:justify-between">
99
+ <div className="stg:min-w-0">
100
+ <h3 className="stg:truncate stg:text-sm stg:font-semibold stg:text-foreground">{name}</h3>
101
+ <p className="stg:font-mono stg:text-[0.65rem] stg:text-muted-foreground">{appId}</p>
102
102
  </div>
103
103
  {onBack && (
104
104
  <button
105
105
  type="button"
106
106
  onClick={onBack}
107
- className="text-muted-foreground hover:text-foreground shrink-0 text-xs transition-colors"
107
+ className="stg:text-muted-foreground stg:hover:text-foreground stg:shrink-0 stg:text-xs stg:transition-colors"
108
108
  >
109
109
  ← Back
110
110
  </button>
@@ -126,15 +126,15 @@ export function ChannelAppDetailPanel({
126
126
  ) : null}
127
127
 
128
128
  {/* Deletion */}
129
- <section className="border-t border-border pt-3" aria-label="Danger zone">
129
+ <section className="stg:border-t stg:border-border stg:pt-3" aria-label="Danger zone">
130
130
  {deleteError && (
131
- <p className="text-destructive mb-2 text-[0.65rem]" role="alert">
131
+ <p className="stg:text-destructive stg:mb-2 stg:text-[0.65rem]" role="alert">
132
132
  {getUserMessage(deleteError)}
133
133
  </p>
134
134
  )}
135
135
  {confirmingDelete ? (
136
- <div className="flex items-center gap-2">
137
- <p className="text-xs text-foreground">
136
+ <div className="stg:flex stg:items-center stg:gap-2">
137
+ <p className="stg:text-xs stg:text-foreground">
138
138
  Delete this channel app? Channels installing through it must be
139
139
  disconnected first.
140
140
  </p>
@@ -143,9 +143,9 @@ export function ChannelAppDetailPanel({
143
143
  onClick={handleDelete}
144
144
  disabled={isDeleting}
145
145
  className={cn(
146
- "inline-flex items-center gap-1.5 rounded-md px-2.5 py-1 text-xs font-medium",
147
- "bg-destructive text-destructive-foreground hover:opacity-90",
148
- "disabled:pointer-events-none disabled:opacity-40",
146
+ "stg:inline-flex stg:items-center stg:gap-1.5 stg:rounded-md stg:px-2.5 stg:py-1 stg:text-xs stg:font-medium",
147
+ "stg:bg-destructive stg:text-destructive-foreground stg:hover:opacity-90",
148
+ "stg:disabled:pointer-events-none stg:disabled:opacity-40",
149
149
  )}
150
150
  >
151
151
  {isDeleting && <SpinnerIcon />}
@@ -155,7 +155,7 @@ export function ChannelAppDetailPanel({
155
155
  type="button"
156
156
  onClick={() => setConfirmingDelete(false)}
157
157
  disabled={isDeleting}
158
- className="text-muted-foreground hover:text-foreground text-xs transition-colors"
158
+ className="stg:text-muted-foreground stg:hover:text-foreground stg:text-xs stg:transition-colors"
159
159
  >
160
160
  Keep
161
161
  </button>
@@ -164,7 +164,7 @@ export function ChannelAppDetailPanel({
164
164
  <button
165
165
  type="button"
166
166
  onClick={() => setConfirmingDelete(true)}
167
- className="text-destructive text-xs font-medium hover:opacity-80"
167
+ className="stg:text-destructive stg:text-xs stg:font-medium stg:hover:opacity-80"
168
168
  >
169
169
  Delete channel app
170
170
  </button>
@@ -250,10 +250,10 @@ function SlackAppDetail({
250
250
  return (
251
251
  <>
252
252
  {/* Finish setup: the per-app webhook URL only exists after creation */}
253
- <section className="space-y-2" aria-label="Finish setup in Slack">
254
- <p className="text-xs font-medium text-foreground">Finish setup in Slack</p>
255
- <p className="text-[0.65rem] text-muted-foreground">
256
- On the app&apos;s <span className="font-medium">Event
253
+ <section className="stg:space-y-2" aria-label="Finish setup in Slack">
254
+ <p className="stg:text-xs stg:font-medium stg:text-foreground">Finish setup in Slack</p>
255
+ <p className="stg:text-[0.65rem] stg:text-muted-foreground">
256
+ On the app&apos;s <span className="stg:font-medium">Event
257
257
  Subscriptions</span> page, enable events and set the request URL
258
258
  below (Slack verifies it immediately). The completed manifest is
259
259
  also available for review or re-paste.
@@ -268,10 +268,10 @@ function SlackAppDetail({
268
268
  </section>
269
269
 
270
270
  {/* Credential rotation */}
271
- <form onSubmit={handleSave} className="space-y-3" aria-label="Credentials">
272
- <p className="text-xs font-medium text-foreground">Credentials</p>
273
- <p className="-mt-2 text-[0.65rem] text-muted-foreground">
274
- Secrets show as <code className="font-mono">***REDACTED***</code>;
271
+ <form onSubmit={handleSave} className="stg:space-y-3" aria-label="Credentials">
272
+ <p className="stg:text-xs stg:font-medium stg:text-foreground">Credentials</p>
273
+ <p className="stg:-mt-2 stg:text-[0.65rem] stg:text-muted-foreground">
274
+ Secrets show as <code className="stg:font-mono">***REDACTED***</code>;
275
275
  leave a field untouched to keep its stored value, or paste a new
276
276
  one to rotate it.
277
277
  </p>
@@ -307,7 +307,7 @@ function SlackAppDetail({
307
307
  />
308
308
 
309
309
  {updateError && (
310
- <p className="text-destructive text-[0.65rem]" role="alert">
310
+ <p className="stg:text-destructive stg:text-[0.65rem]" role="alert">
311
311
  {getUserMessage(updateError)}
312
312
  </p>
313
313
  )}
@@ -316,9 +316,9 @@ function SlackAppDetail({
316
316
  type="submit"
317
317
  disabled={!canSave}
318
318
  className={cn(
319
- "inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium",
320
- "bg-primary text-primary-foreground hover:bg-primary-hover",
321
- "disabled:pointer-events-none disabled:opacity-40",
319
+ "stg:inline-flex stg:items-center stg:gap-1.5 stg:rounded-md stg:px-3 stg:py-1.5 stg:text-xs stg:font-medium",
320
+ "stg:bg-primary stg:text-primary-foreground stg:hover:bg-primary-hover",
321
+ "stg:disabled:pointer-events-none stg:disabled:opacity-40",
322
322
  )}
323
323
  >
324
324
  {isUpdating && <SpinnerIcon />}
@@ -401,14 +401,14 @@ function WhatsAppAppDetail({
401
401
  <>
402
402
  {/* Finish setup: the per-app webhook URL only exists after creation,
403
403
  and the verify token is only visible in the create handoff. */}
404
- <section className="space-y-2" aria-label="Finish setup in Meta">
405
- <p className="text-xs font-medium text-foreground">Finish setup in Meta</p>
406
- <p className="text-[0.65rem] text-muted-foreground">
407
- On the app&apos;s <span className="font-medium">WhatsApp →
404
+ <section className="stg:space-y-2" aria-label="Finish setup in Meta">
405
+ <p className="stg:text-xs stg:font-medium stg:text-foreground">Finish setup in Meta</p>
406
+ <p className="stg:text-[0.65rem] stg:text-muted-foreground">
407
+ On the app&apos;s <span className="stg:font-medium">WhatsApp →
408
408
  Configuration</span> page, set the callback URL and verify token
409
- below, click <span className="font-medium">Verify and save</span>{" "}
409
+ below, click <span className="stg:font-medium">Verify and save</span>{" "}
410
410
  (Meta verifies immediately), then subscribe to the{" "}
411
- <span className="font-medium">
411
+ <span className="stg:font-medium">
412
412
  {WHATSAPP_CHANNEL_APP_WEBHOOK_FIELDS.join(", ")}
413
413
  </span>{" "}
414
414
  webhook field.
@@ -425,9 +425,9 @@ function WhatsAppAppDetail({
425
425
  copyTargetId="stgm-chapp-verify-token-copy"
426
426
  />
427
427
  ) : (
428
- <div className="space-y-1">
429
- <p className="text-xs font-medium text-foreground">Verify token</p>
430
- <p className="text-[0.65rem] text-muted-foreground">
428
+ <div className="stg:space-y-1">
429
+ <p className="stg:text-xs stg:font-medium stg:text-foreground">Verify token</p>
430
+ <p className="stg:text-[0.65rem] stg:text-muted-foreground">
431
431
  Shown once at registration. If you no longer have it, paste a
432
432
  new one below and update Meta&apos;s webhook configuration to
433
433
  match.
@@ -437,10 +437,10 @@ function WhatsAppAppDetail({
437
437
  </section>
438
438
 
439
439
  {/* Credential rotation */}
440
- <form onSubmit={handleSave} className="space-y-3" aria-label="Credentials">
441
- <p className="text-xs font-medium text-foreground">Credentials</p>
442
- <p className="-mt-2 text-[0.65rem] text-muted-foreground">
443
- Secrets show as <code className="font-mono">***REDACTED***</code>;
440
+ <form onSubmit={handleSave} className="stg:space-y-3" aria-label="Credentials">
441
+ <p className="stg:text-xs stg:font-medium stg:text-foreground">Credentials</p>
442
+ <p className="stg:-mt-2 stg:text-[0.65rem] stg:text-muted-foreground">
443
+ Secrets show as <code className="stg:font-mono">***REDACTED***</code>;
444
444
  leave a field untouched to keep its stored value, or paste a new
445
445
  one to rotate it.
446
446
  </p>
@@ -487,7 +487,7 @@ function WhatsAppAppDetail({
487
487
  />
488
488
 
489
489
  {updateError && (
490
- <p className="text-destructive text-[0.65rem]" role="alert">
490
+ <p className="stg:text-destructive stg:text-[0.65rem]" role="alert">
491
491
  {getUserMessage(updateError)}
492
492
  </p>
493
493
  )}
@@ -496,9 +496,9 @@ function WhatsAppAppDetail({
496
496
  type="submit"
497
497
  disabled={!canSave}
498
498
  className={cn(
499
- "inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium",
500
- "bg-primary text-primary-foreground hover:bg-primary-hover",
501
- "disabled:pointer-events-none disabled:opacity-40",
499
+ "stg:inline-flex stg:items-center stg:gap-1.5 stg:rounded-md stg:px-3 stg:py-1.5 stg:text-xs stg:font-medium",
500
+ "stg:bg-primary stg:text-primary-foreground stg:hover:bg-primary-hover",
501
+ "stg:disabled:pointer-events-none stg:disabled:opacity-40",
502
502
  )}
503
503
  >
504
504
  {isUpdating && <SpinnerIcon />}
@@ -60,12 +60,12 @@ export function ChannelAppListPanel({
60
60
  if (isLoading) {
61
61
  return (
62
62
  <div
63
- className={cn("space-y-2", className)}
63
+ className={cn("stg:space-y-2", className)}
64
64
  aria-busy="true"
65
65
  aria-label="Loading channel apps"
66
66
  >
67
67
  {Array.from({ length: 2 }, (_, i) => (
68
- <div key={i} className="bg-muted-subtle h-14 animate-pulse rounded-lg" />
68
+ <div key={i} className="stg:bg-muted-subtle stg:h-14 stg:animate-pulse stg:rounded-lg" />
69
69
  ))}
70
70
  </div>
71
71
  );
@@ -73,7 +73,7 @@ export function ChannelAppListPanel({
73
73
 
74
74
  if (error) {
75
75
  return (
76
- <p className={cn("text-destructive text-xs", className)} role="alert">
76
+ <p className={cn("stg:text-destructive stg:text-xs", className)} role="alert">
77
77
  {getUserMessage(error)}
78
78
  </p>
79
79
  );
@@ -83,7 +83,7 @@ export function ChannelAppListPanel({
83
83
  return (
84
84
  <p
85
85
  className={cn(
86
- "text-muted-foreground py-4 text-center text-xs",
86
+ "stg:text-muted-foreground stg:py-4 stg:text-center stg:text-xs",
87
87
  className,
88
88
  )}
89
89
  >
@@ -94,7 +94,7 @@ export function ChannelAppListPanel({
94
94
 
95
95
  return (
96
96
  <div
97
- className={cn("space-y-2", className)}
97
+ className={cn("stg:space-y-2", className)}
98
98
  role="list"
99
99
  aria-label="Channel apps"
100
100
  >
@@ -137,28 +137,28 @@ function ChannelAppRow({
137
137
  <div
138
138
  role="listitem"
139
139
  className={cn(
140
- "border-border bg-card flex items-center gap-3 rounded-lg border px-3 py-2.5",
140
+ "stg:border-border stg:bg-card stg:flex stg:items-center stg:gap-3 stg:rounded-lg stg:border stg:px-3 stg:py-2.5",
141
141
  )}
142
142
  >
143
- <div className="min-w-0 flex-1">
144
- <div className="flex items-baseline gap-2">
145
- <span className="truncate text-xs font-medium text-foreground">
143
+ <div className="stg:min-w-0 stg:flex-1">
144
+ <div className="stg:flex stg:items-baseline stg:gap-2">
145
+ <span className="stg:truncate stg:text-xs stg:font-medium stg:text-foreground">
146
146
  {name}
147
147
  </span>
148
148
  {/* Fall back to the raw oneof case for providers this UI
149
149
  doesn't know yet — honest, and never an empty label. */}
150
- <span className="text-[0.65rem] text-muted-foreground">
150
+ <span className="stg:text-[0.65rem] stg:text-muted-foreground">
151
151
  {provider?.label ?? providerCase ?? ""}
152
152
  </span>
153
153
  </div>
154
- <div className="flex items-baseline gap-2">
154
+ <div className="stg:flex stg:items-baseline stg:gap-2">
155
155
  {providerAppId && (
156
- <span className="truncate font-mono text-[0.65rem] text-muted-foreground">
156
+ <span className="stg:truncate stg:font-mono stg:text-[0.65rem] stg:text-muted-foreground">
157
157
  {providerAppId}
158
158
  </span>
159
159
  )}
160
160
  {createdAt && (
161
- <span className="shrink-0 text-[0.65rem] text-muted-foreground">
161
+ <span className="stg:shrink-0 stg:text-[0.65rem] stg:text-muted-foreground">
162
162
  {timestampDate(createdAt).toLocaleDateString()}
163
163
  </span>
164
164
  )}
@@ -171,8 +171,8 @@ function ChannelAppRow({
171
171
  onClick={onEdit}
172
172
  aria-label={`Edit ${name}`}
173
173
  className={cn(
174
- "text-muted-foreground hover:text-foreground hover:bg-accent-hover",
175
- "shrink-0 rounded-md p-1.5 transition-colors",
174
+ "stg:text-muted-foreground stg:hover:text-foreground stg:hover:bg-accent-hover",
175
+ "stg:shrink-0 stg:rounded-md stg:p-1.5 stg:transition-colors",
176
176
  )}
177
177
  >
178
178
  <PencilIcon />
@@ -176,8 +176,8 @@ export function CreateChannelAppForm({
176
176
  );
177
177
 
178
178
  return (
179
- <form onSubmit={handleSubmit} className={cn("space-y-4", className)}>
180
- <div className="space-y-3">
179
+ <form onSubmit={handleSubmit} className={cn("stg:space-y-4", className)}>
180
+ <div className="stg:space-y-3">
181
181
  <ProviderPicker
182
182
  value={provider}
183
183
  onChange={setProvider}
@@ -226,19 +226,19 @@ export function CreateChannelAppForm({
226
226
  </div>
227
227
 
228
228
  {error && (
229
- <p className="text-destructive text-[0.65rem]" role="alert">
229
+ <p className="stg:text-destructive stg:text-[0.65rem]" role="alert">
230
230
  {getUserMessage(error)}
231
231
  </p>
232
232
  )}
233
233
 
234
- <div className="flex items-center gap-2">
234
+ <div className="stg:flex stg:items-center stg:gap-2">
235
235
  <button
236
236
  type="submit"
237
237
  disabled={!canSubmit}
238
238
  className={cn(
239
- "inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium",
240
- "bg-primary text-primary-foreground hover:bg-primary-hover",
241
- "disabled:pointer-events-none disabled:opacity-40",
239
+ "stg:inline-flex stg:items-center stg:gap-1.5 stg:rounded-md stg:px-3 stg:py-1.5 stg:text-xs stg:font-medium",
240
+ "stg:bg-primary stg:text-primary-foreground stg:hover:bg-primary-hover",
241
+ "stg:disabled:pointer-events-none stg:disabled:opacity-40",
242
242
  )}
243
243
  >
244
244
  {isCreating && <SpinnerIcon />}
@@ -251,9 +251,9 @@ export function CreateChannelAppForm({
251
251
  onClick={onCancel}
252
252
  disabled={isCreating}
253
253
  className={cn(
254
- "rounded-md px-3 py-1.5 text-xs",
255
- "text-muted-foreground hover:text-foreground hover:bg-accent-hover",
256
- "disabled:pointer-events-none disabled:opacity-50",
254
+ "stg:rounded-md stg:px-3 stg:py-1.5 stg:text-xs",
255
+ "stg:text-muted-foreground stg:hover:text-foreground stg:hover:bg-accent-hover",
256
+ "stg:disabled:pointer-events-none stg:disabled:opacity-50",
257
257
  )}
258
258
  >
259
259
  Cancel
@@ -284,10 +284,10 @@ function ProviderPicker({
284
284
  }) {
285
285
  return (
286
286
  <fieldset>
287
- <legend className="mb-1.5 block text-xs font-medium text-foreground">
287
+ <legend className="stg:mb-1.5 stg:block stg:text-xs stg:font-medium stg:text-foreground">
288
288
  Provider
289
289
  </legend>
290
- <div role="radiogroup" className="flex gap-1.5">
290
+ <div role="radiogroup" className="stg:flex stg:gap-1.5">
291
291
  {CHANNEL_PROVIDERS.map((p) => {
292
292
  const checked = value === p.id;
293
293
  return (
@@ -295,9 +295,9 @@ function ProviderPicker({
295
295
  key={p.id}
296
296
  htmlFor={`stgm-chapp-provider-${p.id}`}
297
297
  className={cn(
298
- "flex flex-1 cursor-pointer items-center gap-2 rounded-md border px-2.5 py-1.5",
299
- checked ? "border-ring bg-accent" : "border-border hover:bg-accent-hover",
300
- disabled && "pointer-events-none opacity-50",
298
+ "stg:flex stg:flex-1 stg:cursor-pointer stg:items-center stg:gap-2 stg:rounded-md stg:border stg:px-2.5 stg:py-1.5",
299
+ checked ? "stg:border-ring stg:bg-accent" : "stg:border-border stg:hover:bg-accent-hover",
300
+ disabled && "stg:pointer-events-none stg:opacity-50",
301
301
  )}
302
302
  >
303
303
  <input
@@ -307,10 +307,10 @@ function ProviderPicker({
307
307
  checked={checked}
308
308
  onChange={() => onChange(p.id)}
309
309
  disabled={disabled}
310
- className="accent-current"
310
+ className="stg:accent-current"
311
311
  />
312
- <p.Icon className="size-3.5 shrink-0 text-foreground" />
313
- <span className="text-xs font-medium text-foreground">{p.label}</span>
312
+ <p.Icon className="stg:size-3.5 stg:shrink-0 stg:text-foreground" />
313
+ <span className="stg:text-xs stg:font-medium stg:text-foreground">{p.label}</span>
314
314
  </label>
315
315
  );
316
316
  })}
@@ -344,21 +344,21 @@ function SlackCreateSection({
344
344
  }) {
345
345
  return (
346
346
  <>
347
- <div className="space-y-1.5">
348
- <p className="text-xs font-medium text-foreground">
347
+ <div className="stg:space-y-1.5">
348
+ <p className="stg:text-xs stg:font-medium stg:text-foreground">
349
349
  1. Create the Slack app
350
350
  </p>
351
- <p className="text-[0.65rem] text-muted-foreground">
351
+ <p className="stg:text-[0.65rem] stg:text-muted-foreground">
352
352
  On{" "}
353
353
  <a
354
354
  href="https://api.slack.com/apps?new_app=1"
355
355
  target="_blank"
356
356
  rel="noreferrer"
357
- className="text-primary hover:text-foreground underline transition-colors"
357
+ className="stg:text-primary stg:hover:text-foreground stg:underline stg:transition-colors"
358
358
  >
359
359
  api.slack.com/apps
360
360
  </a>
361
- , choose <span className="font-medium">From a manifest</span> and
361
+ , choose <span className="stg:font-medium">From a manifest</span> and
362
362
  paste this. Event subscriptions come after the next step — the
363
363
  webhook URL is minted when this form is saved.
364
364
  </p>
@@ -369,12 +369,12 @@ function SlackCreateSection({
369
369
  />
370
370
  </div>
371
371
 
372
- <div className="space-y-3">
373
- <p className="text-xs font-medium text-foreground">
372
+ <div className="stg:space-y-3">
373
+ <p className="stg:text-xs stg:font-medium stg:text-foreground">
374
374
  2. Paste the app&apos;s credentials
375
375
  </p>
376
- <p className="-mt-2 text-[0.65rem] text-muted-foreground">
377
- From the app&apos;s <span className="font-medium">Basic
376
+ <p className="stg:-mt-2 stg:text-[0.65rem] stg:text-muted-foreground">
377
+ From the app&apos;s <span className="stg:font-medium">Basic
378
378
  Information</span> page. They are encrypted at rest and never
379
379
  shown again.
380
380
  </p>
@@ -443,33 +443,33 @@ function WhatsAppCreateSection({
443
443
  }) {
444
444
  return (
445
445
  <>
446
- <div className="space-y-1.5">
447
- <p className="text-xs font-medium text-foreground">
446
+ <div className="stg:space-y-1.5">
447
+ <p className="stg:text-xs stg:font-medium stg:text-foreground">
448
448
  1. Create the Meta app
449
449
  </p>
450
- <p className="text-[0.65rem] text-muted-foreground">
450
+ <p className="stg:text-[0.65rem] stg:text-muted-foreground">
451
451
  On{" "}
452
452
  <a
453
453
  href="https://developers.facebook.com/apps"
454
454
  target="_blank"
455
455
  rel="noreferrer"
456
- className="text-primary hover:text-foreground underline transition-colors"
456
+ className="stg:text-primary stg:hover:text-foreground stg:underline stg:transition-colors"
457
457
  >
458
458
  developers.facebook.com
459
459
  </a>
460
- , create a <span className="font-medium">Business</span>-type app
461
- and add the <span className="font-medium">WhatsApp</span> product.
460
+ , create a <span className="stg:font-medium">Business</span>-type app
461
+ and add the <span className="stg:font-medium">WhatsApp</span> product.
462
462
  The webhook setup comes after the next step — the webhook URL is
463
463
  minted when this form is saved.
464
464
  </p>
465
465
  </div>
466
466
 
467
- <div className="space-y-3">
468
- <p className="text-xs font-medium text-foreground">
467
+ <div className="stg:space-y-3">
468
+ <p className="stg:text-xs stg:font-medium stg:text-foreground">
469
469
  2. Paste the app&apos;s credentials
470
470
  </p>
471
- <p className="-mt-2 text-[0.65rem] text-muted-foreground">
472
- The app ID and secret are on <span className="font-medium">App
471
+ <p className="stg:-mt-2 stg:text-[0.65rem] stg:text-muted-foreground">
472
+ The app ID and secret are on <span className="stg:font-medium">App
473
473
  settings → Basic</span>; mint a long-lived system-user access
474
474
  token with WhatsApp permissions in Meta Business settings. The
475
475
  secrets are encrypted at rest and never shown again.
@@ -31,8 +31,8 @@ export function FormField({
31
31
  required?: boolean;
32
32
  }) {
33
33
  return (
34
- <div className="space-y-1">
35
- <label htmlFor={id} className="text-xs font-medium text-foreground">
34
+ <div className="stg:space-y-1">
35
+ <label htmlFor={id} className="stg:text-xs stg:font-medium stg:text-foreground">
36
36
  {label}
37
37
  </label>
38
38
  <input
@@ -44,13 +44,13 @@ export function FormField({
44
44
  disabled={disabled}
45
45
  required={required}
46
46
  className={cn(
47
- "w-full rounded-md border border-input bg-background px-2.5 py-1.5 text-xs text-foreground",
48
- "placeholder:text-muted-foreground",
49
- "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
50
- "disabled:pointer-events-none disabled:opacity-50",
47
+ "stg:w-full stg:rounded-md stg:border stg:border-input stg:bg-background stg:px-2.5 stg:py-1.5 stg:text-xs stg:text-foreground",
48
+ "stg:placeholder:text-muted-foreground",
49
+ "stg:focus-visible:outline-none stg:focus-visible:ring-1 stg:focus-visible:ring-ring",
50
+ "stg:disabled:pointer-events-none stg:disabled:opacity-50",
51
51
  )}
52
52
  />
53
- {hint && <p className="text-[0.65rem] text-muted-foreground">{hint}</p>}
53
+ {hint && <p className="stg:text-[0.65rem] stg:text-muted-foreground">{hint}</p>}
54
54
  </div>
55
55
  );
56
56
  }
@@ -71,13 +71,13 @@ export function CopyRow({
71
71
  const { copied, copy } = useCopy(value);
72
72
 
73
73
  return (
74
- <div className="space-y-1">
75
- <p className="text-xs font-medium text-foreground">{label}</p>
76
- <div className="flex items-center gap-1.5">
74
+ <div className="stg:space-y-1">
75
+ <p className="stg:text-xs stg:font-medium stg:text-foreground">{label}</p>
76
+ <div className="stg:flex stg:items-center stg:gap-1.5">
77
77
  <code
78
78
  className={cn(
79
- "min-w-0 flex-1 truncate rounded-md border border-border bg-muted-subtle",
80
- "px-2 py-1.5 font-mono text-[0.65rem] text-foreground",
79
+ "stg:min-w-0 stg:flex-1 stg:truncate stg:rounded-md stg:border stg:border-border stg:bg-muted-subtle",
80
+ "stg:px-2 stg:py-1.5 stg:font-mono stg:text-[0.65rem] stg:text-foreground",
81
81
  )}
82
82
  title={value}
83
83
  >
@@ -102,17 +102,17 @@ export function CopyBlock({
102
102
  const { copied, copy } = useCopy(value);
103
103
 
104
104
  return (
105
- <div className="space-y-1">
106
- <div className="flex items-center justify-between">
107
- <p className="text-[0.65rem] font-medium text-muted-foreground">
105
+ <div className="stg:space-y-1">
106
+ <div className="stg:flex stg:items-center stg:justify-between">
107
+ <p className="stg:text-[0.65rem] stg:font-medium stg:text-muted-foreground">
108
108
  {label}
109
109
  </p>
110
110
  <CopyButton copied={copied} onCopy={copy} copyTargetId={copyTargetId} />
111
111
  </div>
112
112
  <pre
113
113
  className={cn(
114
- "max-h-40 overflow-auto rounded-md border border-border bg-muted-subtle",
115
- "px-2.5 py-2 font-mono text-[0.65rem] leading-relaxed text-foreground",
114
+ "stg:max-h-40 stg:overflow-auto stg:rounded-md stg:border stg:border-border stg:bg-muted-subtle",
115
+ "stg:px-2.5 stg:py-2 stg:font-mono stg:text-[0.65rem] stg:leading-relaxed stg:text-foreground",
116
116
  )}
117
117
  >
118
118
  {value}
@@ -136,10 +136,10 @@ function CopyButton({
136
136
  onClick={onCopy}
137
137
  data-cursor-target={copyTargetId}
138
138
  className={cn(
139
- "shrink-0 rounded-md border border-border px-2 py-1 text-[0.65rem] font-medium transition-colors",
139
+ "stg:shrink-0 stg:rounded-md stg:border stg:border-border stg:px-2 stg:py-1 stg:text-[0.65rem] stg:font-medium stg:transition-colors",
140
140
  copied
141
- ? "text-success"
142
- : "text-muted-foreground hover:text-foreground hover:bg-accent-hover",
141
+ ? "stg:text-success"
142
+ : "stg:text-muted-foreground stg:hover:text-foreground stg:hover:bg-accent-hover",
143
143
  )}
144
144
  aria-live="polite"
145
145
  >
@@ -171,7 +171,7 @@ export function SpinnerIcon() {
171
171
  stroke="currentColor"
172
172
  strokeWidth="2"
173
173
  strokeLinecap="round"
174
- className="animate-spin"
174
+ className="stg:animate-spin"
175
175
  aria-hidden="true"
176
176
  >
177
177
  <path d="M8 2a6 6 0 1 0 6 6" />
@@ -126,10 +126,10 @@ export function ComposerToolbar({
126
126
  const showHarnessSeparate = showHarnessSelector && !showModelSelector;
127
127
 
128
128
  return (
129
- <div className="flex items-center justify-between gap-2 border-t border-border-muted px-3 py-2">
129
+ <div className="stg:flex stg:items-center stg:justify-between stg:gap-2 stg:border-t stg:border-border-muted stg:px-3 stg:py-2">
130
130
  {/* ---- Left group: Primary state (Mode + Model) ---- */}
131
131
 
132
- <div className="flex min-w-0 items-center gap-1.5">
132
+ <div className="stg:flex stg:min-w-0 stg:items-center stg:gap-1.5">
133
133
  {showInteractionModePicker && (
134
134
  <InteractionModePicker
135
135
  value={interactionMode ?? "agent"}
@@ -162,7 +162,7 @@ export function ComposerToolbar({
162
162
 
163
163
  {/* ---- Right group: Secondary actions (icon-only) + Send ---- */}
164
164
 
165
- <div className="flex shrink-0 items-center gap-1">
165
+ <div className="stg:flex stg:shrink-0 stg:items-center stg:gap-1">
166
166
  {showWorkspace && (
167
167
  onWorkspaceDirectAction
168
168
  ? <button
@@ -171,16 +171,16 @@ export function ComposerToolbar({
171
171
  onClick={onWorkspaceDirectAction}
172
172
  title="Workspace"
173
173
  className={cn(
174
- "inline-flex h-8 w-8 items-center justify-center rounded-md text-xs transition-colors",
175
- "text-muted-foreground hover:text-foreground hover:bg-accent-hover",
176
- "disabled:pointer-events-none disabled:opacity-50",
174
+ "stg:inline-flex stg:h-8 stg:w-8 stg:items-center stg:justify-center stg:rounded-md stg:text-xs stg:transition-colors",
175
+ "stg:text-muted-foreground stg:hover:text-foreground stg:hover:bg-accent-hover",
176
+ "stg:disabled:pointer-events-none stg:disabled:opacity-50",
177
177
  )}
178
178
  aria-label="Workspace"
179
179
  >
180
- <span className="relative">
180
+ <span className="stg:relative">
181
181
  <WorkspaceIcon />
182
182
  {workspaceCount > 0 && (
183
- <span className="absolute -right-1.5 -top-1.5 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-primary px-0.5 text-[0.5rem] font-medium leading-none text-primary-foreground">
183
+ <span className="stg:absolute stg:-right-1.5 stg:-top-1.5 stg:flex stg:h-3.5 stg:min-w-3.5 stg:items-center stg:justify-center stg:rounded-full stg:bg-primary stg:px-0.5 stg:text-[0.5rem] stg:font-medium stg:leading-none stg:text-primary-foreground">
184
184
  {workspaceCount}
185
185
  </span>
186
186
  )}
@@ -203,16 +203,16 @@ export function ComposerToolbar({
203
203
  onClick={onAttachClick}
204
204
  title="Attach files"
205
205
  className={cn(
206
- "inline-flex h-8 w-8 items-center justify-center rounded-md text-xs transition-colors",
207
- "text-muted-foreground hover:text-foreground hover:bg-accent-hover",
208
- "disabled:pointer-events-none disabled:opacity-50",
206
+ "stg:inline-flex stg:h-8 stg:w-8 stg:items-center stg:justify-center stg:rounded-md stg:text-xs stg:transition-colors",
207
+ "stg:text-muted-foreground stg:hover:text-foreground stg:hover:bg-accent-hover",
208
+ "stg:disabled:pointer-events-none stg:disabled:opacity-50",
209
209
  )}
210
210
  aria-label="Attach files"
211
211
  >
212
- <span className="relative">
212
+ <span className="stg:relative">
213
213
  <PaperclipIcon />
214
214
  {attachmentCount > 0 && (
215
- <span className="absolute -right-1.5 -top-1.5 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-primary px-0.5 text-[0.5rem] font-medium leading-none text-primary-foreground">
215
+ <span className="stg:absolute stg:-right-1.5 stg:-top-1.5 stg:flex stg:h-3.5 stg:min-w-3.5 stg:items-center stg:justify-center stg:rounded-full stg:bg-primary stg:px-0.5 stg:text-[0.5rem] stg:font-medium stg:leading-none stg:text-primary-foreground">
216
216
  {attachmentCount}
217
217
  </span>
218
218
  )}
@@ -237,7 +237,7 @@ export function ComposerToolbar({
237
237
  <button
238
238
  type="button"
239
239
  onClick={onStop}
240
- className="flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-primary text-primary-foreground transition-colors hover:bg-primary-hover"
240
+ className="stg:flex stg:h-8 stg:w-8 stg:shrink-0 stg:items-center stg:justify-center stg:rounded-full stg:bg-primary stg:text-primary-foreground stg:transition-colors stg:hover:bg-primary-hover"
241
241
  aria-label="Stop generating"
242
242
  title="Stop"
243
243
  >
@@ -248,7 +248,7 @@ export function ComposerToolbar({
248
248
  type="button"
249
249
  disabled={!canSend}
250
250
  onClick={onSend}
251
- className="flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-primary text-primary-foreground transition-colors hover:bg-primary-hover disabled:pointer-events-none disabled:opacity-40"
251
+ className="stg:flex stg:h-8 stg:w-8 stg:shrink-0 stg:items-center stg:justify-center stg:rounded-lg stg:bg-primary stg:text-primary-foreground stg:transition-colors stg:hover:bg-primary-hover stg:disabled:pointer-events-none stg:disabled:opacity-40"
252
252
  aria-label="Send message"
253
253
  >
254
254
  {isSubmitting ? <SpinnerIcon /> : <ArrowUpIcon />}