@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
@@ -44,15 +44,18 @@ export interface SessionViewerLayoutProps {
44
44
  */
45
45
  readonly splitStorageKey?: string;
46
46
  /**
47
- * Whether the conversation pane collapses below the `lg` breakpoint
48
- * while the panel is open, leaving the panel full-width — the shipped
49
- * console behavior on narrow windows.
47
+ * Whether the conversation pane collapses while the panel is open and
48
+ * the layout's own box is narrower than 48rem, leaving the panel
49
+ * full-width — the shipped console behavior in tight quarters.
50
50
  *
51
- * Pass `false` in fixed-canvas hosts, where the media query is
52
- * meaningless or actively wrong: a documentation embed renders in an
53
- * iframe whose viewport is the docs column (below `lg` on most pages),
54
- * so the default would hide the conversation on exactly the beats that
55
- * open the panel.
51
+ * The narrowness check is a CSS container query against the layout's
52
+ * box, never the viewport (stigmer/stigmer#301), so it is equally
53
+ * correct full-window and docked in a narrow pane of a wide window.
54
+ *
55
+ * Pass `false` in hosts that must never trade the conversation for the
56
+ * panel regardless of available space — e.g. a scripted documentation
57
+ * tour rendered on a narrow fixed canvas, where the collapse would hide
58
+ * the conversation on exactly the beats that open the panel.
56
59
  *
57
60
  * @default true
58
61
  */
@@ -105,9 +108,9 @@ export function SessionViewerLayout({
105
108
  const isPanelOpen = panel != null;
106
109
 
107
110
  return (
108
- <div className={cn("relative flex h-full w-full flex-col", className)}>
111
+ <div className={cn("stg:relative stg:flex stg:h-full stg:w-full stg:flex-col", className)}>
109
112
  {(headerActions != null || chip != null) && (
110
- <div className="absolute top-2 right-6 z-10 flex items-center gap-2">
113
+ <div className="stg:absolute stg:top-2 stg:right-6 stg:z-10 stg:flex stg:items-center stg:gap-2">
111
114
  {headerActions}
112
115
  {chip}
113
116
  </div>
@@ -122,7 +125,7 @@ export function SessionViewerLayout({
122
125
  storageKey={splitStorageKey}
123
126
  responsiveCollapse={responsive && isPanelOpen ? "primary" : "none"}
124
127
  ariaLabel={resizeAriaLabel}
125
- className="min-h-0 flex-1"
128
+ className="stg:min-h-0 stg:flex-1"
126
129
  primary={conversation}
127
130
  secondary={panel}
128
131
  />
@@ -133,8 +133,8 @@ describe("NewSessionViewer — composer stays centered", () => {
133
133
 
134
134
  it("centers the composer with zero attached context", () => {
135
135
  render(<NewSessionViewer org="acme" onSessionCreated={vi.fn()} />);
136
- expect(composerWrapper()?.className).toContain("my-auto");
137
- expect(composerWrapper()?.className).not.toContain("my-6");
136
+ expect(composerWrapper()?.className).toContain("stg:my-auto");
137
+ expect(composerWrapper()?.className).not.toContain("stg:my-6");
138
138
  });
139
139
 
140
140
  it("keeps the composer centered when context is attached (no position flip)", () => {
@@ -142,7 +142,7 @@ describe("NewSessionViewer — composer stays centered", () => {
142
142
  render(<NewSessionViewer org="acme" onSessionCreated={vi.fn()} />);
143
143
  // Regression guard: attaching a workspace previously top-anchored the
144
144
  // composer. Centering must now hold irrespective of attached context.
145
- expect(composerWrapper()?.className).toContain("my-auto");
146
- expect(composerWrapper()?.className).not.toContain("my-6");
145
+ expect(composerWrapper()?.className).toContain("stg:my-auto");
146
+ expect(composerWrapper()?.className).not.toContain("stg:my-6");
147
147
  });
148
148
  });
@@ -103,8 +103,8 @@ describe("PlanEditor", () => {
103
103
  expect(buildLabel.className).toContain("truncate");
104
104
  const toolbar = screen.getByRole("tablist", { name: "Plan view" })
105
105
  .parentElement!;
106
- expect(toolbar.className).toContain("flex-wrap");
107
- expect(toolbar.className).toContain("min-w-0");
106
+ expect(toolbar.className).toContain("stg:flex-wrap");
107
+ expect(toolbar.className).toContain("stg:min-w-0");
108
108
  });
109
109
 
110
110
  it("shows a pending label and disables the primary while the build starts", async () => {
@@ -8,8 +8,8 @@ import { SessionViewerLayout } from "../SessionViewerLayout";
8
8
  // The contract under test:
9
9
  // - `panel` is the single source of truth for collapsed state
10
10
  // - the conversation never remounts across an open/close toggle
11
- // - `responsive={false}` disables the below-`lg` conversation collapse
12
- // (fixed-canvas hosts: docs embeds, video export)
11
+ // - `responsive={false}` disables the narrow-container conversation
12
+ // collapse (hosts that must never trade the conversation for the panel)
13
13
  // - no `splitStorageKey` means no localStorage read (deterministic hosts)
14
14
  // ---------------------------------------------------------------------------
15
15
 
@@ -75,17 +75,24 @@ describe("SessionViewerLayout", () => {
75
75
  expect(pane.style.width).toBe("420px");
76
76
  });
77
77
 
78
- it("responsive (default): the open-panel conversation pane collapses below lg", () => {
78
+ // The collapse classes are container-query variants keyed on the split's
79
+ // own box, never the viewport (stigmer/stigmer#301). These are class-name
80
+ // pins only — the real layout behavior (a narrow dock inside a wide window
81
+ // collapsing) is proven in Chromium by ResizableSplit.layout.test.tsx.
82
+ it("responsive (default): the open-panel conversation pane collapses in a narrow container", () => {
79
83
  const { container } = render(
80
84
  <SessionViewerLayout conversation={conversation()} panel={panel()} />,
81
85
  );
82
86
  const pane = screen.getByTestId("conversation").parentElement!;
83
- expect(pane.className).toContain("max-lg:hidden");
84
- // The separator hides with it, so the panel is the full row below lg.
85
- expect(container.querySelectorAll('[class*="max-lg:hidden"]').length).toBe(2);
87
+ expect(pane.className).toContain("stg:@max-3xl/resizable-split:hidden");
88
+ // The separator hides with it, so the panel is the full narrow row.
89
+ expect(
90
+ container.querySelectorAll('[class*="stg:@max-3xl/resizable-split:hidden"]')
91
+ .length,
92
+ ).toBe(2);
86
93
  });
87
94
 
88
- it("responsive={false}: no below-lg collapse anywhere (fixed-canvas hosts)", () => {
95
+ it("responsive={false}: no narrow-container collapse anywhere (opt-out hosts)", () => {
89
96
  const { container } = render(
90
97
  <SessionViewerLayout
91
98
  conversation={conversation()}
@@ -93,7 +100,12 @@ describe("SessionViewerLayout", () => {
93
100
  responsive={false}
94
101
  />,
95
102
  );
96
- expect(container.querySelector('[class*="max-lg:hidden"]')).toBeNull();
103
+ expect(
104
+ container.querySelector('[class*="stg:@max-3xl/resizable-split:hidden"]'),
105
+ ).toBeNull();
106
+ // No collapse to decide means no CSS container either (the containment
107
+ // invariant documented in ResizableSplit).
108
+ expect(container.querySelector('[class*="stg:@container"]')).toBeNull();
97
109
  });
98
110
 
99
111
  it("reads no localStorage without a splitStorageKey (deterministic hosts)", () => {
@@ -260,6 +260,68 @@ describe("useSessionConversation", () => {
260
260
  expect(result.current.pendingUserMessage).toBe("Hello agent");
261
261
  });
262
262
 
263
+ it("sendFollowUp carries the submit's attachments as pendingAttachments, cleared with the first snapshot", async () => {
264
+ methods.listBySession.mockResolvedValue({ entries: [] });
265
+ const newExec = makeExecution("new-exec", ExecutionPhase.EXECUTION_PENDING);
266
+ newExec.metadata!.id = "new-exec";
267
+ methods.executionCreate.mockResolvedValue(newExec);
268
+
269
+ const newStream = createControllableStream<AgentExecution>();
270
+ methods.subscribe.mockReturnValue(newStream.generator);
271
+
272
+ const attachments = [
273
+ { filename: "sketch.png", storageKey: "attachments/01AAA/sketch.png", contentType: "image/png" },
274
+ ];
275
+
276
+ const { result } = renderHook(
277
+ () => useSessionConversation("session-1", "org"),
278
+ { wrapper: createWrapper(mockStigmer) },
279
+ );
280
+ await waitFor(() => expect(result.current.isLoading).toBe(false));
281
+
282
+ await act(async () => {
283
+ await result.current.sendFollowUp("Here is a sketch", { attachments });
284
+ });
285
+
286
+ // The optimistic turn carries BOTH facets — text and files (#372).
287
+ expect(result.current.pendingUserMessage).toBe("Here is a sketch");
288
+ expect(result.current.pendingAttachments).toBe(attachments);
289
+
290
+ act(() => {
291
+ newStream.push(
292
+ makeExecution("new-exec", ExecutionPhase.EXECUTION_IN_PROGRESS),
293
+ );
294
+ });
295
+
296
+ // Both clear together once the real execution record takes over.
297
+ await waitFor(() => {
298
+ expect(result.current.pendingUserMessage).toBeNull();
299
+ expect(result.current.pendingAttachments).toBeNull();
300
+ });
301
+ });
302
+
303
+ it("keeps pendingAttachments when the send fails (the chips are what Retry re-sends)", async () => {
304
+ methods.listBySession.mockResolvedValue({ entries: [] });
305
+ methods.executionCreate.mockRejectedValue(new Error("create boom"));
306
+
307
+ const attachments = [
308
+ { filename: "notes.txt", storageKey: "attachments/01BBB/notes.txt", contentType: "text/plain" },
309
+ ];
310
+
311
+ const { result } = renderHook(
312
+ () => useSessionConversation("session-1", "org"),
313
+ { wrapper: createWrapper(mockStigmer) },
314
+ );
315
+ await waitFor(() => expect(result.current.isLoading).toBe(false));
316
+
317
+ await act(async () => {
318
+ await result.current.sendFollowUp("keep my files", { attachments });
319
+ });
320
+
321
+ expect(result.current.sendError?.message).toBe("create boom");
322
+ expect(result.current.pendingAttachments).toBe(attachments);
323
+ });
324
+
263
325
  it("sendFollowUp creates execution via the SDK", async () => {
264
326
  methods.listBySession.mockResolvedValue({ entries: [] });
265
327
  const newExec = makeExecution("new-exec", ExecutionPhase.EXECUTION_PENDING);
@@ -113,8 +113,8 @@ export function ArtifactsTab({
113
113
 
114
114
  if (!hasArtifacts) {
115
115
  return (
116
- <div className="flex flex-col items-center justify-center px-4 py-8 text-center">
117
- <p className="text-xs text-muted-foreground">
116
+ <div className="stg:flex stg:flex-col stg:items-center stg:justify-center stg:px-4 stg:py-8 stg:text-center">
117
+ <p className="stg:text-xs stg:text-muted-foreground">
118
118
  No artifacts yet. Files generated by the agent will appear here.
119
119
  </p>
120
120
  </div>
@@ -123,7 +123,7 @@ export function ArtifactsTab({
123
123
 
124
124
  return (
125
125
  <>
126
- <ul role="list" className="flex flex-col">
126
+ <ul role="list" className="stg:flex stg:flex-col">
127
127
  {artifacts.map((entry) => (
128
128
  <ArtifactRow
129
129
  key={artifactKey(entry.artifact)}
@@ -48,7 +48,7 @@ export function ChangesTab({
48
48
  // Dense row groups matching the Artifacts facet's list — gap separates
49
49
  // entries only in multi-repo sessions (single-entry lists stay seamless).
50
50
  return (
51
- <ul role="list" className="flex flex-col gap-3">
51
+ <ul role="list" className="stg:flex stg:flex-col stg:gap-3">
52
52
  {writeBacks.map((entry) => (
53
53
  <li key={entry.writeBack.workspaceEntryName}>
54
54
  <WriteBackCard writeBack={entry.writeBack} />
@@ -60,8 +60,8 @@ export function ChangesTab({
60
60
 
61
61
  if (expectsWriteBack) {
62
62
  return (
63
- <div className="flex flex-col items-center justify-center px-4 py-8 text-center">
64
- <p className="text-xs text-muted-foreground">
63
+ <div className="stg:flex stg:flex-col stg:items-center stg:justify-center stg:px-4 stg:py-8 stg:text-center">
64
+ <p className="stg:text-xs stg:text-muted-foreground">
65
65
  {isSettled
66
66
  ? "No changes have been pushed yet. When the agent changes files " +
67
67
  "and you approve them, they are pushed to a branch and pull " +
@@ -74,8 +74,8 @@ export function ChangesTab({
74
74
  }
75
75
 
76
76
  return (
77
- <div className="flex flex-col items-center justify-center px-4 py-8 text-center">
78
- <p className="text-xs text-muted-foreground">
77
+ <div className="stg:flex stg:flex-col stg:items-center stg:justify-center stg:px-4 stg:py-8 stg:text-center">
78
+ <p className="stg:text-xs stg:text-muted-foreground">
79
79
  No changes yet. Pull requests will appear here once the agent pushes
80
80
  its work back to your repository.
81
81
  </p>
@@ -70,7 +70,7 @@ export function SetupTab({
70
70
  const hasSessionVars = sessionVariables != null && !sessionVariables.isEmpty;
71
71
 
72
72
  return (
73
- <div className="flex flex-col gap-5">
73
+ <div className="stg:flex stg:flex-col stg:gap-5">
74
74
  <RunConfigSection
75
75
  harness={harness}
76
76
  executionTarget={executionTarget}
@@ -108,7 +108,7 @@ export function SetupTab({
108
108
 
109
109
  function SectionHeading({ children }: { children: React.ReactNode }) {
110
110
  return (
111
- <h3 className="text-[0.65rem] font-semibold uppercase tracking-wider text-muted-foreground">
111
+ <h3 className="stg:text-[0.65rem] stg:font-semibold stg:uppercase stg:tracking-wider stg:text-muted-foreground">
112
112
  {children}
113
113
  </h3>
114
114
  );
@@ -116,14 +116,14 @@ function SectionHeading({ children }: { children: React.ReactNode }) {
116
116
 
117
117
  function EmptyHint({ children }: { children: React.ReactNode }) {
118
118
  return (
119
- <p className="text-xs text-muted-foreground/70">{children}</p>
119
+ <p className="stg:text-xs stg:text-muted-foreground/70">{children}</p>
120
120
  );
121
121
  }
122
122
 
123
123
  function ItemPill({ children, className: cls }: { children: React.ReactNode; className?: string }) {
124
124
  return (
125
125
  <span className={cn(
126
- "inline-flex items-center gap-1.5 rounded-md bg-muted-subtle px-2 py-1 text-xs text-foreground",
126
+ "stg:inline-flex stg:items-center stg:gap-1.5 stg:rounded-md stg:bg-muted-subtle stg:px-2 stg:py-1 stg:text-xs stg:text-foreground",
127
127
  cls,
128
128
  )}>
129
129
  {children}
@@ -136,7 +136,7 @@ function RemoveButton({ onClick, label }: { onClick: () => void; label: string }
136
136
  <button
137
137
  type="button"
138
138
  onClick={onClick}
139
- className="shrink-0 text-muted-foreground hover:text-destructive transition-colors"
139
+ className="stg:shrink-0 stg:text-muted-foreground stg:hover:text-destructive stg:transition-colors"
140
140
  aria-label={label}
141
141
  >
142
142
  <XIcon />
@@ -158,22 +158,22 @@ function RunConfigSection({
158
158
  modelId: string | undefined;
159
159
  }) {
160
160
  return (
161
- <section className="flex flex-col gap-1.5">
161
+ <section className="stg:flex stg:flex-col stg:gap-1.5">
162
162
  <SectionHeading>Run Config</SectionHeading>
163
- <div className="flex flex-wrap gap-1.5">
163
+ <div className="stg:flex stg:flex-wrap stg:gap-1.5">
164
164
  <ItemPill>
165
- <span className="text-muted-foreground">Harness</span>
165
+ <span className="stg:text-muted-foreground">Harness</span>
166
166
  {HARNESS_META[harness]?.label ?? harness}
167
167
  </ItemPill>
168
168
  {modelId && (
169
169
  <ItemPill>
170
- <span className="text-muted-foreground">Model</span>
170
+ <span className="stg:text-muted-foreground">Model</span>
171
171
  {modelId}
172
172
  </ItemPill>
173
173
  )}
174
174
  {executionTarget && (
175
175
  <ItemPill>
176
- <span className="text-muted-foreground">Target</span>
176
+ <span className="stg:text-muted-foreground">Target</span>
177
177
  {executionTarget === "local" ? "Local" : "Cloud"}
178
178
  </ItemPill>
179
179
  )}
@@ -196,10 +196,10 @@ function AgentSection({
196
196
  onRemove?: () => void;
197
197
  }) {
198
198
  return (
199
- <section className="flex flex-col gap-1.5">
199
+ <section className="stg:flex stg:flex-col stg:gap-1.5">
200
200
  <SectionHeading>Agent</SectionHeading>
201
201
  {agentRef ? (
202
- <div className="flex items-center gap-1.5">
202
+ <div className="stg:flex stg:items-center stg:gap-1.5">
203
203
  <ItemPill>
204
204
  {agentRef.slug}
205
205
  {onRemove && !isDefaultAgent && (
@@ -207,7 +207,7 @@ function AgentSection({
207
207
  )}
208
208
  </ItemPill>
209
209
  {isDefaultAgent && (
210
- <span className="rounded bg-primary/10 px-1.5 py-0.5 text-[0.6rem] font-medium text-primary">
210
+ <span className="stg:rounded stg:bg-primary/10 stg:px-1.5 stg:py-0.5 stg:text-[0.6rem] stg:font-medium stg:text-primary">
211
211
  default
212
212
  </span>
213
213
  )}
@@ -231,15 +231,15 @@ function McpSection({
231
231
  onRemove?: (ref: ResourceRef) => void;
232
232
  }) {
233
233
  return (
234
- <section className="flex flex-col gap-1.5">
234
+ <section className="stg:flex stg:flex-col stg:gap-1.5">
235
235
  <SectionHeading>
236
236
  MCP Servers
237
237
  {mcpServerUsages.length > 0 && (
238
- <span className="ml-1 text-muted-foreground/60">({mcpServerUsages.length})</span>
238
+ <span className="stg:ml-1 stg:text-muted-foreground/60">({mcpServerUsages.length})</span>
239
239
  )}
240
240
  </SectionHeading>
241
241
  {mcpServerUsages.length > 0 ? (
242
- <div className="flex flex-col gap-1">
242
+ <div className="stg:flex stg:flex-col stg:gap-1">
243
243
  {mcpServerUsages.map((usage) => {
244
244
  const slug = usage.mcpServerRef.slug;
245
245
  const enabledCount = usage.enabledTools?.length;
@@ -247,7 +247,7 @@ function McpSection({
247
247
  <ItemPill key={`${usage.mcpServerRef.org}/${slug}`}>
248
248
  <span>{slug}</span>
249
249
  {enabledCount != null && enabledCount > 0 && (
250
- <span className="text-muted-foreground">
250
+ <span className="stg:text-muted-foreground">
251
251
  {enabledCount} tool{enabledCount !== 1 ? "s" : ""}
252
252
  </span>
253
253
  )}
@@ -280,15 +280,15 @@ function SkillsSection({
280
280
  onRemove?: (ref: ResourceRef) => void;
281
281
  }) {
282
282
  return (
283
- <section className="flex flex-col gap-1.5">
283
+ <section className="stg:flex stg:flex-col stg:gap-1.5">
284
284
  <SectionHeading>
285
285
  Skills
286
286
  {skillRefs.length > 0 && (
287
- <span className="ml-1 text-muted-foreground/60">({skillRefs.length})</span>
287
+ <span className="stg:ml-1 stg:text-muted-foreground/60">({skillRefs.length})</span>
288
288
  )}
289
289
  </SectionHeading>
290
290
  {skillRefs.length > 0 ? (
291
- <div className="flex flex-wrap gap-1.5">
291
+ <div className="stg:flex stg:flex-wrap stg:gap-1.5">
292
292
  {skillRefs.map((ref) => (
293
293
  <ItemPill key={`${ref.org}/${ref.slug}`}>
294
294
  {ref.slug}
@@ -318,21 +318,21 @@ function SessionVarsSection({
318
318
  entries: UseSessionVariablesReturn["entries"];
319
319
  }) {
320
320
  return (
321
- <section className="flex flex-col gap-1.5">
321
+ <section className="stg:flex stg:flex-col stg:gap-1.5">
322
322
  <SectionHeading>
323
323
  Session Variables
324
- <span className="ml-1 font-normal normal-case tracking-normal text-muted-foreground/60">
324
+ <span className="stg:ml-1 stg:font-normal stg:normal-case stg:tracking-normal stg:text-muted-foreground/60">
325
325
  (next message only)
326
326
  </span>
327
327
  </SectionHeading>
328
- <div className="flex flex-col gap-1">
328
+ <div className="stg:flex stg:flex-col stg:gap-1">
329
329
  {entries.map((entry) => (
330
330
  <ItemPill key={entry.id}>
331
- <span className="font-medium">{entry.key || "(unnamed)"}</span>
331
+ <span className="stg:font-medium">{entry.key || "(unnamed)"}</span>
332
332
  {entry.isSecret ? (
333
- <span className="text-muted-foreground">********</span>
333
+ <span className="stg:text-muted-foreground">********</span>
334
334
  ) : (
335
- <span className="max-w-[140px] truncate text-muted-foreground">{entry.value}</span>
335
+ <span className="stg:max-w-[140px] stg:truncate stg:text-muted-foreground">{entry.value}</span>
336
336
  )}
337
337
  </ItemPill>
338
338
  ))}
@@ -20,8 +20,8 @@ export function UsageTab({ executions }: UsageTabProps) {
20
20
 
21
21
  if (!usage.hasUsage) {
22
22
  return (
23
- <div className="flex flex-col items-center justify-center px-4 py-8 text-center">
24
- <p className="text-xs text-muted-foreground">
23
+ <div className="stg:flex stg:flex-col stg:items-center stg:justify-center stg:px-4 stg:py-8 stg:text-center">
24
+ <p className="stg:text-xs stg:text-muted-foreground">
25
25
  No usage data yet. Cost and token stats will appear here.
26
26
  </p>
27
27
  </div>
@@ -213,6 +213,14 @@ export interface UseSessionConversationReturn {
213
213
  * {@link sendError} to render the turn as failed with a retry control.
214
214
  */
215
215
  readonly pendingUserMessage: string | null;
216
+ /**
217
+ * The attachments submitted with {@link pendingUserMessage}, so the
218
+ * optimistic bubble shows the turn's files, not just its text
219
+ * (stigmer/stigmer#372). Set and cleared in lockstep with the message —
220
+ * including retention on a failed send, where the chips are the evidence
221
+ * of what Retry will re-send. Wire to `MessageThread.pendingAttachments`.
222
+ */
223
+ readonly pendingAttachments: readonly AttachmentInput[] | null;
216
224
 
217
225
  /** Current workspace entries from the session spec. Empty array when session is not loaded. */
218
226
  readonly workspaceEntries: readonly ProtoWorkspaceEntry[];
@@ -439,6 +447,12 @@ export function useSessionConversation(
439
447
  const [pendingUserMessage, setPendingUserMessage] = useState<string | null>(
440
448
  null,
441
449
  );
450
+ // The pending message's attachments, kept in lockstep with the text: one
451
+ // pending turn, two facets. Held separately (not an object) so existing
452
+ // pendingUserMessage consumers keep their string contract.
453
+ const [pendingAttachments, setPendingAttachments] = useState<
454
+ readonly AttachmentInput[] | null
455
+ >(null);
442
456
  // Dedicated send-failure state, distinct from the create hook's internal
443
457
  // error so it can also cover the session.update() path. The last send's
444
458
  // arguments are captured for an exact retry.
@@ -507,8 +521,9 @@ export function useSessionConversation(
507
521
  useEffect(() => {
508
522
  if (!stream.execution) return;
509
523
  if (pendingUserMessage) setPendingUserMessage(null);
524
+ if (pendingAttachments) setPendingAttachments(null);
510
525
  if (sendError) setSendError(null);
511
- }, [pendingUserMessage, sendError, stream.execution]);
526
+ }, [pendingUserMessage, pendingAttachments, sendError, stream.execution]);
512
527
 
513
528
  // Refetch executions when stream reaches a terminal phase so the
514
529
  // fetched list reflects the completed status and listActiveId clears.
@@ -620,6 +635,7 @@ export function useSessionConversation(
620
635
  // renders the failed-with-retry bubble instead of vanishing.
621
636
  if (!options?.buildFromPlan) {
622
637
  setPendingUserMessage(message);
638
+ setPendingAttachments(options?.attachments ?? null);
623
639
  }
624
640
 
625
641
  try {
@@ -666,8 +682,10 @@ export function useSessionConversation(
666
682
  // pendingUserMessage) so the turn renders as failed-with-retry instead
667
683
  // of vanishing. Covers both the update() and create() paths. For a
668
684
  // build turn this is the FIRST time the message is set — failure is
669
- // the one case where its label must become visible.
685
+ // the one case where its label must become visible. The attachments
686
+ // ride along: the failed bubble's chips are what Retry will re-send.
670
687
  setPendingUserMessage(message);
688
+ setPendingAttachments(options?.attachments ?? null);
671
689
  setSendError(toError(err));
672
690
  if (process.env.NODE_ENV !== "production") {
673
691
  console.error("[useSessionConversation] sendFollowUp failed:", err);
@@ -753,6 +771,7 @@ export function useSessionConversation(
753
771
  retryLastSend,
754
772
 
755
773
  pendingUserMessage,
774
+ pendingAttachments,
756
775
 
757
776
  workspaceEntries,
758
777
  mcpServerUsages,
@@ -38,10 +38,10 @@ export function ApiKeysSection() {
38
38
 
39
39
  return (
40
40
  <section aria-labelledby="api-keys-heading">
41
- <div className="mb-3 flex items-center justify-between">
41
+ <div className="stg:mb-3 stg:flex stg:items-center stg:justify-between">
42
42
  <h2
43
43
  id="api-keys-heading"
44
- className="text-foreground text-sm font-semibold"
44
+ className="stg:text-foreground stg:text-sm stg:font-semibold"
45
45
  >
46
46
  API Keys
47
47
  </h2>
@@ -50,13 +50,13 @@ export function ApiKeysSection() {
50
50
  <button
51
51
  type="button"
52
52
  onClick={() => setFlow({ phase: "creating" })}
53
- className="text-primary hover:text-foreground text-xs font-medium transition-colors"
53
+ className="stg:text-primary stg:hover:text-foreground stg:text-xs stg:font-medium stg:transition-colors"
54
54
  >
55
55
  + New API key
56
56
  </button>
57
57
  )}
58
58
  </div>
59
- <p className="text-muted-foreground mb-4 text-xs">
59
+ <p className="stg:text-muted-foreground stg:mb-4 stg:text-xs">
60
60
  API keys authenticate CLI sessions and programmatic access to the
61
61
  Stigmer API. Keys are scoped to your identity and work across all
62
62
  your organizations.
@@ -74,12 +74,12 @@ export function ApiKeysSection() {
74
74
  rawKey={flow.rawKey}
75
75
  keyName={flow.keyName}
76
76
  onDismiss={handleDismissReveal}
77
- className="mb-4"
77
+ className="stg:mb-4"
78
78
  />
79
79
  )}
80
80
 
81
81
  {flow.phase === "creating" && (
82
- <div className="border-border bg-card mb-4 rounded-lg border p-4">
82
+ <div className="stg:border-border stg:bg-card stg:mb-4 stg:rounded-lg stg:border stg:p-4">
83
83
  <CreateApiKeyForm
84
84
  org={org}
85
85
  onCreated={handleCreated}
@@ -73,10 +73,10 @@ export function ChannelAppsSection() {
73
73
 
74
74
  return (
75
75
  <section aria-labelledby="channel-apps-heading">
76
- <div className="mb-3 flex items-center justify-between">
76
+ <div className="stg:mb-3 stg:flex stg:items-center stg:justify-between">
77
77
  <h2
78
78
  id="channel-apps-heading"
79
- className="text-foreground text-sm font-semibold"
79
+ className="stg:text-foreground stg:text-sm stg:font-semibold"
80
80
  >
81
81
  Channel Apps
82
82
  </h2>
@@ -85,13 +85,13 @@ export function ChannelAppsSection() {
85
85
  <button
86
86
  type="button"
87
87
  onClick={() => setFlow({ phase: "creating" })}
88
- className="text-primary hover:text-foreground text-xs font-medium transition-colors"
88
+ className="stg:text-primary stg:hover:text-foreground stg:text-xs stg:font-medium stg:transition-colors"
89
89
  >
90
90
  + New channel app
91
91
  </button>
92
92
  )}
93
93
  </div>
94
- <p className="text-muted-foreground mb-4 text-xs">
94
+ <p className="stg:text-muted-foreground stg:mb-4 stg:text-xs">
95
95
  Your own provider apps for serving agent channels. A Slack app
96
96
  gives the bot your name and icon, and lets multiple agents serve
97
97
  the same workspace — one per app. A Meta app is how WhatsApp
@@ -104,7 +104,7 @@ export function ChannelAppsSection() {
104
104
  require Stigmer Cloud.
105
105
  </CloudFeatureNotice>
106
106
  ) : flow.phase === "creating" ? (
107
- <div className="border-border bg-card rounded-lg border p-4">
107
+ <div className="stg:border-border stg:bg-card stg:rounded-lg stg:border stg:p-4">
108
108
  <CreateChannelAppForm
109
109
  org={org}
110
110
  onCreated={handleCreated}
@@ -112,7 +112,7 @@ export function ChannelAppsSection() {
112
112
  />
113
113
  </div>
114
114
  ) : flow.phase === "editing" ? (
115
- <div className="border-border bg-card rounded-lg border p-4">
115
+ <div className="stg:border-border stg:bg-card stg:rounded-lg stg:border stg:p-4">
116
116
  <ChannelAppDetailPanel
117
117
  channelApp={flow.channelApp}
118
118
  createHandoff={flow.createHandoff}