@stigmer/react 3.10.0 → 3.11.1-dev.20260812192248

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 (1415) 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.d.ts.map +1 -1
  24. package/agent-instance/AgentInstanceList.js +5 -4
  25. package/agent-instance/AgentInstanceList.js.map +1 -1
  26. package/agent-instance/CreateAgentInstanceDialog.js +1 -1
  27. package/agent-instance/CreateAgentInstanceDialog.js.map +1 -1
  28. package/api-key/ApiKeyCreatedAlert.js +1 -1
  29. package/api-key/ApiKeyCreatedAlert.js.map +1 -1
  30. package/api-key/ApiKeyListPanel.d.ts.map +1 -1
  31. package/api-key/ApiKeyListPanel.js +10 -9
  32. package/api-key/ApiKeyListPanel.js.map +1 -1
  33. package/api-key/CreateApiKeyForm.js +5 -5
  34. package/api-key/CreateApiKeyForm.js.map +1 -1
  35. package/attachment/AttachmentChipList.d.ts.map +1 -1
  36. package/attachment/AttachmentChipList.js +18 -17
  37. package/attachment/AttachmentChipList.js.map +1 -1
  38. package/attachment/AttachmentImageLightbox.d.ts.map +1 -1
  39. package/attachment/AttachmentImageLightbox.js +1 -1
  40. package/attachment/AttachmentImageLightbox.js.map +1 -1
  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/billing/AutoRechargeCard.js +2 -2
  46. package/billing/AutoRechargeCard.js.map +1 -1
  47. package/billing/BillingSection.js +6 -6
  48. package/billing/BillingSection.js.map +1 -1
  49. package/billing/CreditBalanceCard.js +4 -4
  50. package/billing/CreditBalanceCard.js.map +1 -1
  51. package/billing/CreditLedgerTable.js +13 -13
  52. package/billing/CreditLedgerTable.js.map +1 -1
  53. package/billing/CreditPackGrid.js +2 -2
  54. package/billing/CreditPackGrid.js.map +1 -1
  55. package/billing/LowBalanceBanner.js +4 -4
  56. package/billing/LowBalanceBanner.js.map +1 -1
  57. package/billing/PaymentMethodCard.js +2 -2
  58. package/billing/PaymentMethodCard.js.map +1 -1
  59. package/button/Button.js +7 -7
  60. package/button/Button.js.map +1 -1
  61. package/channel/AgentChannelsPanel.d.ts.map +1 -1
  62. package/channel/AgentChannelsPanel.js +13 -12
  63. package/channel/AgentChannelsPanel.js.map +1 -1
  64. package/channel/ChannelConversationsDialog.d.ts.map +1 -1
  65. package/channel/ChannelConversationsDialog.js +7 -6
  66. package/channel/ChannelConversationsDialog.js.map +1 -1
  67. package/channel/ChannelCredentialsDialog.js +2 -2
  68. package/channel/ChannelCredentialsDialog.js.map +1 -1
  69. package/channel/ChannelTemplatesDialog.d.ts.map +1 -1
  70. package/channel/ChannelTemplatesDialog.js +14 -13
  71. package/channel/ChannelTemplatesDialog.js.map +1 -1
  72. package/channel/ChannelToolCredentials.js +3 -3
  73. package/channel/ChannelToolCredentials.js.map +1 -1
  74. package/channel/ConnectSlackDialog.js +13 -13
  75. package/channel/ConnectSlackDialog.js.map +1 -1
  76. package/channel/ConnectWhatsAppDialog.js +8 -8
  77. package/channel/ConnectWhatsAppDialog.js.map +1 -1
  78. package/channel/connect/ServingAppSection.js +5 -5
  79. package/channel/connect/ServingAppSection.js.map +1 -1
  80. package/channel/connect/ToolCredentialsSection.js +1 -1
  81. package/channel/connect/ToolCredentialsSection.js.map +1 -1
  82. package/channel/connect/VerbatimRefusal.js +1 -1
  83. package/channel/connect/VerbatimRefusal.js.map +1 -1
  84. package/channel/connect/icons.js +1 -1
  85. package/channel/connect/icons.js.map +1 -1
  86. package/channel-app/ChannelAppDetailPanel.js +3 -3
  87. package/channel-app/ChannelAppDetailPanel.js.map +1 -1
  88. package/channel-app/ChannelAppListPanel.js +5 -5
  89. package/channel-app/ChannelAppListPanel.js.map +1 -1
  90. package/channel-app/CreateChannelAppForm.js +6 -6
  91. package/channel-app/CreateChannelAppForm.js.map +1 -1
  92. package/channel-app/internal.d.ts.map +1 -1
  93. package/channel-app/internal.js +8 -7
  94. package/channel-app/internal.js.map +1 -1
  95. package/composer/ComposerToolbar.d.ts.map +1 -1
  96. package/composer/ComposerToolbar.js +10 -7
  97. package/composer/ComposerToolbar.js.map +1 -1
  98. package/composer/ConfigureMenu.d.ts.map +1 -1
  99. package/composer/ConfigureMenu.js +5 -4
  100. package/composer/ConfigureMenu.js.map +1 -1
  101. package/composer/ContextChip.d.ts.map +1 -1
  102. package/composer/ContextChip.js +5 -4
  103. package/composer/ContextChip.js.map +1 -1
  104. package/composer/ContextPopover.d.ts.map +1 -1
  105. package/composer/ContextPopover.js +5 -4
  106. package/composer/ContextPopover.js.map +1 -1
  107. package/composer/InteractionModePicker.js +5 -5
  108. package/composer/InteractionModePicker.js.map +1 -1
  109. package/composer/SessionComposer.d.ts +13 -0
  110. package/composer/SessionComposer.d.ts.map +1 -1
  111. package/composer/SessionComposer.js +19 -9
  112. package/composer/SessionComposer.js.map +1 -1
  113. package/composer/icons.js +3 -3
  114. package/composer/icons.js.map +1 -1
  115. package/conversation/ConversationAttentionBanner.js +2 -2
  116. package/conversation/ConversationAttentionBanner.js.map +1 -1
  117. package/conversation/ConversationComposer.js +2 -2
  118. package/conversation/ConversationComposer.js.map +1 -1
  119. package/conversation/ConversationControlBanner.js +5 -5
  120. package/conversation/ConversationControlBanner.js.map +1 -1
  121. package/conversation/ConversationListPane.js +12 -12
  122. package/conversation/ConversationListPane.js.map +1 -1
  123. package/conversation/ConversationMediaAttachment.d.ts.map +1 -1
  124. package/conversation/ConversationMediaAttachment.js +5 -4
  125. package/conversation/ConversationMediaAttachment.js.map +1 -1
  126. package/conversation/ConversationTimelineView.d.ts.map +1 -1
  127. package/conversation/ConversationTimelineView.js +25 -15
  128. package/conversation/ConversationTimelineView.js.map +1 -1
  129. package/conversation/ConversationsWorkbench.js +3 -3
  130. package/conversation/ConversationsWorkbench.js.map +1 -1
  131. package/conversation/conversationPresentation.d.ts +28 -0
  132. package/conversation/conversationPresentation.d.ts.map +1 -1
  133. package/conversation/conversationPresentation.js +38 -1
  134. package/conversation/conversationPresentation.js.map +1 -1
  135. package/cursor-accounts/CursorAccountEditor.js +1 -1
  136. package/cursor-accounts/CursorAccountEditor.js.map +1 -1
  137. package/cursor-accounts/CursorAccountsAccessNotice.js +1 -1
  138. package/cursor-accounts/CursorAccountsAccessNotice.js.map +1 -1
  139. package/cursor-accounts/CursorAccountsConsole.js +9 -9
  140. package/cursor-accounts/CursorAccountsConsole.js.map +1 -1
  141. package/cursor-accounts/MemberCoverageTable.d.ts.map +1 -1
  142. package/cursor-accounts/MemberCoverageTable.js +11 -10
  143. package/cursor-accounts/MemberCoverageTable.js.map +1 -1
  144. package/cursor-accounts/MemberKeysPanel.js +3 -3
  145. package/cursor-accounts/MemberKeysPanel.js.map +1 -1
  146. package/cursor-accounts/badges.js +1 -1
  147. package/cursor-accounts/badges.js.map +1 -1
  148. package/dashboard/DashboardFailedRuns.js +4 -4
  149. package/dashboard/DashboardFailedRuns.js.map +1 -1
  150. package/dashboard/DashboardKPICards.d.ts.map +1 -1
  151. package/dashboard/DashboardKPICards.js +9 -7
  152. package/dashboard/DashboardKPICards.js.map +1 -1
  153. package/dashboard/OperationalDashboard.js +1 -1
  154. package/dashboard/OperationalDashboard.js.map +1 -1
  155. package/datastore/CollectionRecordsBrowser.d.ts.map +1 -1
  156. package/datastore/CollectionRecordsBrowser.js +14 -11
  157. package/datastore/CollectionRecordsBrowser.js.map +1 -1
  158. package/datastore/CollectionSchemaView.js +4 -4
  159. package/datastore/CollectionSchemaView.js.map +1 -1
  160. package/datastore/DatastoreDetailView.js +4 -4
  161. package/datastore/DatastoreDetailView.js.map +1 -1
  162. package/datastore/DatastoreSyncReport.js +1 -1
  163. package/datastore/DatastoreSyncReport.js.map +1 -1
  164. package/datastore/DeleteDatastoreDialog.js +1 -1
  165. package/datastore/DeleteDatastoreDialog.js.map +1 -1
  166. package/datastore/FieldValueControl.js +2 -2
  167. package/datastore/FieldValueControl.js.map +1 -1
  168. package/datastore/RecordFilterBuilder.js +4 -4
  169. package/datastore/RecordFilterBuilder.js.map +1 -1
  170. package/datastore/RecordFormPanel.js +5 -5
  171. package/datastore/RecordFormPanel.js.map +1 -1
  172. package/dependency-graph/DependencyGraph.js +1 -1
  173. package/dependency-graph/DependencyGraph.js.map +1 -1
  174. package/dependency-graph/DependencyTreeNode.js +8 -8
  175. package/dependency-graph/DependencyTreeNode.js.map +1 -1
  176. package/empty-state/EmptyState.js +3 -3
  177. package/empty-state/EmptyState.js.map +1 -1
  178. package/empty-state/useEmptyState.js +1 -1
  179. package/empty-state/useEmptyState.js.map +1 -1
  180. package/environment/CreateEnvironmentForm.js +2 -2
  181. package/environment/CreateEnvironmentForm.js.map +1 -1
  182. package/environment/EnvVarForm.js +4 -4
  183. package/environment/EnvVarForm.js.map +1 -1
  184. package/environment/EnvironmentListPanel.js +9 -9
  185. package/environment/EnvironmentListPanel.js.map +1 -1
  186. package/environment/EnvironmentPicker.js +4 -4
  187. package/environment/EnvironmentPicker.js.map +1 -1
  188. package/environment/EnvironmentVariableEditor.d.ts.map +1 -1
  189. package/environment/EnvironmentVariableEditor.js +18 -17
  190. package/environment/EnvironmentVariableEditor.js.map +1 -1
  191. package/error/ErrorMessage.js +1 -1
  192. package/error/ErrorMessage.js.map +1 -1
  193. package/error/SecretFlowErrorGuide.js +1 -1
  194. package/error/SecretFlowErrorGuide.js.map +1 -1
  195. package/execution/ApprovalCard.d.ts.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.d.ts.map +1 -1
  211. package/execution/ArtifactRowView.js +3 -2
  212. package/execution/ArtifactRowView.js.map +1 -1
  213. package/execution/ArtifactsWidget.js +1 -1
  214. package/execution/ArtifactsWidget.js.map +1 -1
  215. package/execution/ContextGauge.js +9 -9
  216. package/execution/ContextGauge.js.map +1 -1
  217. package/execution/EmptyChangeNotice.js +1 -1
  218. package/execution/EmptyChangeNotice.js.map +1 -1
  219. package/execution/ExecutionPhaseBadge.js +10 -10
  220. package/execution/ExecutionPhaseBadge.js.map +1 -1
  221. package/execution/ExecutionProgress.js +1 -1
  222. package/execution/ExecutionProgress.js.map +1 -1
  223. package/execution/FileChangeProgressBar.js +3 -3
  224. package/execution/FileChangeProgressBar.js.map +1 -1
  225. package/execution/FileChangesView.js +5 -5
  226. package/execution/FileChangesView.js.map +1 -1
  227. package/execution/FilePathLink.d.ts +4 -4
  228. package/execution/FilePathLink.d.ts.map +1 -1
  229. package/execution/FilePathLink.js +8 -8
  230. package/execution/FilePathLink.js.map +1 -1
  231. package/execution/FileReviewAtoms.js +7 -7
  232. package/execution/FileReviewAtoms.js.map +1 -1
  233. package/execution/FileReviewCard.js +18 -18
  234. package/execution/FileReviewCard.js.map +1 -1
  235. package/execution/FileReviewDock.js +1 -1
  236. package/execution/FileReviewDock.js.map +1 -1
  237. package/execution/FollowUpInput.js +3 -3
  238. package/execution/FollowUpInput.js.map +1 -1
  239. package/execution/InteractionModeBadge.js +1 -1
  240. package/execution/InteractionModeBadge.js.map +1 -1
  241. package/execution/McpToolDetail.d.ts.map +1 -1
  242. package/execution/McpToolDetail.js +13 -12
  243. package/execution/McpToolDetail.js.map +1 -1
  244. package/execution/MessageAttachments.d.ts.map +1 -1
  245. package/execution/MessageAttachments.js +13 -11
  246. package/execution/MessageAttachments.js.map +1 -1
  247. package/execution/MessageEntry.d.ts.map +1 -1
  248. package/execution/MessageEntry.js +9 -8
  249. package/execution/MessageEntry.js.map +1 -1
  250. package/execution/MessageThread.js +12 -12
  251. package/execution/MessageThread.js.map +1 -1
  252. package/execution/PlanArtifactCard.d.ts.map +1 -1
  253. package/execution/PlanArtifactCard.js +14 -11
  254. package/execution/PlanArtifactCard.js.map +1 -1
  255. package/execution/PlanCompletionCard.js +2 -2
  256. package/execution/PlanCompletionCard.js.map +1 -1
  257. package/execution/PlanDocumentMessage.js +2 -2
  258. package/execution/PlanDocumentMessage.js.map +1 -1
  259. package/execution/PlanStreamingCard.js +3 -3
  260. package/execution/PlanStreamingCard.js.map +1 -1
  261. package/execution/ResultView.js +17 -17
  262. package/execution/ResultView.js.map +1 -1
  263. package/execution/SessionVariablesInput.js +6 -6
  264. package/execution/SessionVariablesInput.js.map +1 -1
  265. package/execution/SetupProgress.js +2 -2
  266. package/execution/SetupProgress.js.map +1 -1
  267. package/execution/SubAgentSection.js +19 -19
  268. package/execution/SubAgentSection.js.map +1 -1
  269. package/execution/SummarizationBadge.js +3 -3
  270. package/execution/SummarizationBadge.js.map +1 -1
  271. package/execution/SummarizationCard.js +2 -2
  272. package/execution/SummarizationCard.js.map +1 -1
  273. package/execution/TerminalSession.js +2 -2
  274. package/execution/TerminalSession.js.map +1 -1
  275. package/execution/ThreadSkeleton.js +1 -1
  276. package/execution/ThreadSkeleton.js.map +1 -1
  277. package/execution/TodoCard.js +3 -3
  278. package/execution/TodoCard.js.map +1 -1
  279. package/execution/TodoList.js +8 -8
  280. package/execution/TodoList.js.map +1 -1
  281. package/execution/ToolArgsView.js +4 -4
  282. package/execution/ToolArgsView.js.map +1 -1
  283. package/execution/ToolCallDetail.d.ts.map +1 -1
  284. package/execution/ToolCallDetail.js +4 -4
  285. package/execution/ToolCallDetail.js.map +1 -1
  286. package/execution/ToolCallGroup.js +1 -1
  287. package/execution/ToolCallGroup.js.map +1 -1
  288. package/execution/ToolCallItem.d.ts.map +1 -1
  289. package/execution/ToolCallItem.js +20 -16
  290. package/execution/ToolCallItem.js.map +1 -1
  291. package/execution/ToolRunGroup.js +9 -9
  292. package/execution/ToolRunGroup.js.map +1 -1
  293. package/execution/UsageWidget.js +3 -3
  294. package/execution/UsageWidget.js.map +1 -1
  295. package/execution/WriteBackCard.d.ts.map +1 -1
  296. package/execution/WriteBackCard.js +18 -16
  297. package/execution/WriteBackCard.js.map +1 -1
  298. package/execution/WriteBacksWidget.js +1 -1
  299. package/execution/WriteBacksWidget.js.map +1 -1
  300. package/execution/artifact-row-item.d.ts +1 -1
  301. package/execution/artifact-row-item.d.ts.map +1 -1
  302. package/execution/tool-rendering-primitives.js +5 -5
  303. package/execution/tool-rendering-primitives.js.map +1 -1
  304. package/feedback/StigmerToaster.d.ts.map +1 -1
  305. package/feedback/StigmerToaster.js +9 -5
  306. package/feedback/StigmerToaster.js.map +1 -1
  307. package/file-reference/FileReferenceChipList.d.ts.map +1 -1
  308. package/file-reference/FileReferenceChipList.js +8 -3
  309. package/file-reference/FileReferenceChipList.js.map +1 -1
  310. package/github/GitHubRepoPicker.js +26 -26
  311. package/github/GitHubRepoPicker.js.map +1 -1
  312. package/iam-policy/GrantAccessForm.js +2 -2
  313. package/iam-policy/GrantAccessForm.js.map +1 -1
  314. package/iam-policy/OrgMembersPanel.d.ts.map +1 -1
  315. package/iam-policy/OrgMembersPanel.js +13 -12
  316. package/iam-policy/OrgMembersPanel.js.map +1 -1
  317. package/iam-policy/PeopleWithAccess.js +4 -4
  318. package/iam-policy/PeopleWithAccess.js.map +1 -1
  319. package/iam-policy/PrincipalPicker.js +6 -6
  320. package/iam-policy/PrincipalPicker.js.map +1 -1
  321. package/iam-policy/ProviderBadge.d.ts.map +1 -1
  322. package/iam-policy/ProviderBadge.js +3 -2
  323. package/iam-policy/ProviderBadge.js.map +1 -1
  324. package/iam-policy/RoleSelector.d.ts.map +1 -1
  325. package/iam-policy/RoleSelector.js +4 -4
  326. package/iam-policy/RoleSelector.js.map +1 -1
  327. package/iam-policy/SharePanel.js +1 -1
  328. package/iam-policy/SharePanel.js.map +1 -1
  329. package/identity-provider/CreateIdentityProviderForm.js +6 -6
  330. package/identity-provider/CreateIdentityProviderForm.js.map +1 -1
  331. package/identity-provider/IdentityProviderDetailPanel.js +11 -11
  332. package/identity-provider/IdentityProviderDetailPanel.js.map +1 -1
  333. package/identity-provider/IdentityProviderListPanel.d.ts.map +1 -1
  334. package/identity-provider/IdentityProviderListPanel.js +9 -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 +1 -1
  343. package/index.d.ts.map +1 -1
  344. package/index.js +1 -1
  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 +12 -10
  391. package/internal/form-primitives.d.ts.map +1 -1
  392. package/internal/form-primitives.js +14 -12
  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/internal/truncated-text.d.ts +17 -0
  408. package/internal/truncated-text.d.ts.map +1 -0
  409. package/internal/truncated-text.js +27 -0
  410. package/internal/truncated-text.js.map +1 -0
  411. package/invitation/InvitationCreatedAlert.js +1 -1
  412. package/invitation/InvitationCreatedAlert.js.map +1 -1
  413. package/invitation/InvitationManager.d.ts.map +1 -1
  414. package/invitation/InvitationManager.js +25 -24
  415. package/invitation/InvitationManager.js.map +1 -1
  416. package/invitation/InvitationRedemption.js +12 -12
  417. package/invitation/InvitationRedemption.js.map +1 -1
  418. package/library/ResourceCountCard.js +4 -4
  419. package/library/ResourceCountCard.js.map +1 -1
  420. package/library/ScopeToggle.d.ts.map +1 -1
  421. package/library/ScopeToggle.js +13 -5
  422. package/library/ScopeToggle.js.map +1 -1
  423. package/library/VisibilityOptionRow.d.ts +1 -1
  424. package/library/VisibilityOptionRow.d.ts.map +1 -1
  425. package/library/VisibilityOptionRow.js +22 -22
  426. package/library/VisibilityOptionRow.js.map +1 -1
  427. package/library/VisibilitySelector.d.ts.map +1 -1
  428. package/library/VisibilitySelector.js +6 -5
  429. package/library/VisibilitySelector.js.map +1 -1
  430. package/manifest/ApplyManifestDialog.js +6 -6
  431. package/manifest/ApplyManifestDialog.js.map +1 -1
  432. package/manifest/EditResourceYamlDialog.js +2 -2
  433. package/manifest/EditResourceYamlDialog.js.map +1 -1
  434. package/manifest/RedactedSecretsNotice.js +1 -1
  435. package/manifest/RedactedSecretsNotice.js.map +1 -1
  436. package/manifest/YamlEditor.js +1 -1
  437. package/manifest/YamlEditor.js.map +1 -1
  438. package/mcp-server/McpServerConfigPanel.d.ts +30 -1
  439. package/mcp-server/McpServerConfigPanel.d.ts.map +1 -1
  440. package/mcp-server/McpServerConfigPanel.js +36 -26
  441. package/mcp-server/McpServerConfigPanel.js.map +1 -1
  442. package/mcp-server/McpServerConnectDialog.d.ts +12 -1
  443. package/mcp-server/McpServerConnectDialog.d.ts.map +1 -1
  444. package/mcp-server/McpServerConnectDialog.js +48 -21
  445. package/mcp-server/McpServerConnectDialog.js.map +1 -1
  446. package/mcp-server/McpServerDetailView.d.ts.map +1 -1
  447. package/mcp-server/McpServerDetailView.js +113 -64
  448. package/mcp-server/McpServerDetailView.js.map +1 -1
  449. package/mcp-server/McpServerPicker.d.ts.map +1 -1
  450. package/mcp-server/McpServerPicker.js +101 -20
  451. package/mcp-server/McpServerPicker.js.map +1 -1
  452. package/mcp-server/McpToolSelector.d.ts.map +1 -1
  453. package/mcp-server/McpToolSelector.js +5 -4
  454. package/mcp-server/McpToolSelector.js.map +1 -1
  455. package/mcp-server/OAuthAppForm.js +2 -2
  456. package/mcp-server/OAuthAppForm.js.map +1 -1
  457. package/mcp-server/OAuthCallbackHandler.js +4 -4
  458. package/mcp-server/OAuthCallbackHandler.js.map +1 -1
  459. package/mcp-server/OAuthRequiredNotice.js +1 -1
  460. package/mcp-server/OAuthRequiredNotice.js.map +1 -1
  461. package/mcp-server/StdioSandboxNotice.js +1 -1
  462. package/mcp-server/StdioSandboxNotice.js.map +1 -1
  463. package/mcp-server/VendorApprovalBlockedNotice.d.ts +77 -0
  464. package/mcp-server/VendorApprovalBlockedNotice.d.ts.map +1 -0
  465. package/mcp-server/VendorApprovalBlockedNotice.js +62 -0
  466. package/mcp-server/VendorApprovalBlockedNotice.js.map +1 -0
  467. package/mcp-server/index.d.ts +1 -1
  468. package/mcp-server/index.d.ts.map +1 -1
  469. package/mcp-server/index.js +1 -1
  470. package/mcp-server/index.js.map +1 -1
  471. package/mcp-server/mcpServerSetupReducer.d.ts +18 -0
  472. package/mcp-server/mcpServerSetupReducer.d.ts.map +1 -1
  473. package/mcp-server/mcpServerSetupReducer.js +6 -0
  474. package/mcp-server/mcpServerSetupReducer.js.map +1 -1
  475. package/mcp-server/steps/EnvironmentAuthStep.js +4 -4
  476. package/mcp-server/steps/EnvironmentAuthStep.js.map +1 -1
  477. package/mcp-server/steps/IdentityTransportStep.js +8 -8
  478. package/mcp-server/steps/IdentityTransportStep.js.map +1 -1
  479. package/mcp-server/steps/ReviewStep.js +3 -3
  480. package/mcp-server/steps/ReviewStep.js.map +1 -1
  481. package/mcp-server/useMcpServerOAuthConnect.d.ts +29 -0
  482. package/mcp-server/useMcpServerOAuthConnect.d.ts.map +1 -1
  483. package/mcp-server/useMcpServerOAuthConnect.js +49 -10
  484. package/mcp-server/useMcpServerOAuthConnect.js.map +1 -1
  485. package/mcp-server/useMcpServerSetup.d.ts.map +1 -1
  486. package/mcp-server/useMcpServerSetup.js +7 -0
  487. package/mcp-server/useMcpServerSetup.js.map +1 -1
  488. package/models/HarnessSelector.js +8 -8
  489. package/models/HarnessSelector.js.map +1 -1
  490. package/models/ModelSelector.js +11 -11
  491. package/models/ModelSelector.js.map +1 -1
  492. package/oauth-app/CreateOAuthAppForm.js +4 -4
  493. package/oauth-app/CreateOAuthAppForm.js.map +1 -1
  494. package/oauth-app/OAuthAppDetailPanel.js +8 -8
  495. package/oauth-app/OAuthAppDetailPanel.js.map +1 -1
  496. package/oauth-app/OAuthAppListPanel.d.ts.map +1 -1
  497. package/oauth-app/OAuthAppListPanel.js +7 -6
  498. package/oauth-app/OAuthAppListPanel.js.map +1 -1
  499. package/organization/CreateOrganizationForm.js +4 -4
  500. package/organization/CreateOrganizationForm.js.map +1 -1
  501. package/organization/OrgProfilePanel.js +10 -10
  502. package/organization/OrgProfilePanel.js.map +1 -1
  503. package/organization/OrgSwitcher.js +5 -5
  504. package/organization/OrgSwitcher.js.map +1 -1
  505. package/package.json +4 -4
  506. package/platform-client/CreatePlatformClientForm.js +5 -5
  507. package/platform-client/CreatePlatformClientForm.js.map +1 -1
  508. package/platform-client/PlatformClientDetailPanel.js +8 -8
  509. package/platform-client/PlatformClientDetailPanel.js.map +1 -1
  510. package/platform-client/PlatformClientListPanel.d.ts.map +1 -1
  511. package/platform-client/PlatformClientListPanel.js +11 -10
  512. package/platform-client/PlatformClientListPanel.js.map +1 -1
  513. package/platform-client/PlatformClientSecretAlert.js +2 -2
  514. package/platform-client/PlatformClientSecretAlert.js.map +1 -1
  515. package/portal-container.d.ts +34 -9
  516. package/portal-container.d.ts.map +1 -1
  517. package/portal-container.js +33 -8
  518. package/portal-container.js.map +1 -1
  519. package/pricing-governance/BaselineEditor.d.ts.map +1 -1
  520. package/pricing-governance/BaselineEditor.js +11 -5
  521. package/pricing-governance/BaselineEditor.js.map +1 -1
  522. package/pricing-governance/ModelCatalogPanel.d.ts.map +1 -1
  523. package/pricing-governance/ModelCatalogPanel.js +6 -5
  524. package/pricing-governance/ModelCatalogPanel.js.map +1 -1
  525. package/pricing-governance/ModelGovernanceDetail.js +7 -7
  526. package/pricing-governance/ModelGovernanceDetail.js.map +1 -1
  527. package/pricing-governance/OperatorAccessNotice.js +1 -1
  528. package/pricing-governance/OperatorAccessNotice.js.map +1 -1
  529. package/pricing-governance/PricingGovernanceConsole.d.ts.map +1 -1
  530. package/pricing-governance/PricingGovernanceConsole.js +9 -8
  531. package/pricing-governance/PricingGovernanceConsole.js.map +1 -1
  532. package/pricing-governance/PricingGovernancePanel.d.ts.map +1 -1
  533. package/pricing-governance/PricingGovernancePanel.js +5 -4
  534. package/pricing-governance/PricingGovernancePanel.js.map +1 -1
  535. package/pricing-governance/RetireConfirm.js +1 -1
  536. package/pricing-governance/RetireConfirm.js.map +1 -1
  537. package/pricing-governance/governance-primitives.js +6 -6
  538. package/pricing-governance/governance-primitives.js.map +1 -1
  539. package/resource-creation/CreationPicker.js +7 -7
  540. package/resource-creation/CreationPicker.js.map +1 -1
  541. package/resource-creation/StepIndicator.js +4 -4
  542. package/resource-creation/StepIndicator.js.map +1 -1
  543. package/resource-creation/TemplateCard.js +15 -15
  544. package/resource-creation/TemplateCard.js.map +1 -1
  545. package/resource-creation/TemplateGallery.js +5 -5
  546. package/resource-creation/TemplateGallery.js.map +1 -1
  547. package/resource-creation/WizardNav.js +2 -2
  548. package/resource-creation/WizardNav.js.map +1 -1
  549. package/resource-creation/WizardShell.js +2 -2
  550. package/resource-creation/WizardShell.js.map +1 -1
  551. package/resource-detail/ConfirmDialog.js +3 -3
  552. package/resource-detail/ConfirmDialog.js.map +1 -1
  553. package/resource-detail/ResourceActionBar.js +2 -2
  554. package/resource-detail/ResourceActionBar.js.map +1 -1
  555. package/resource-detail/ResourceDetailShell.js +3 -3
  556. package/resource-detail/ResourceDetailShell.js.map +1 -1
  557. package/resource-detail/Section.js +1 -1
  558. package/resource-detail/Section.js.map +1 -1
  559. package/resource-workbench/components/BulkActionBar.js +4 -4
  560. package/resource-workbench/components/BulkActionBar.js.map +1 -1
  561. package/resource-workbench/components/ColumnHeader.js +3 -3
  562. package/resource-workbench/components/ColumnHeader.js.map +1 -1
  563. package/resource-workbench/components/FilterBar.js +3 -3
  564. package/resource-workbench/components/FilterBar.js.map +1 -1
  565. package/resource-workbench/components/ResourceAvatar.js +18 -18
  566. package/resource-workbench/components/ResourceAvatar.js.map +1 -1
  567. package/resource-workbench/components/ResourceCards.js +2 -2
  568. package/resource-workbench/components/ResourceCards.js.map +1 -1
  569. package/resource-workbench/components/ResourceInspector.js +1 -1
  570. package/resource-workbench/components/ResourceInspector.js.map +1 -1
  571. package/resource-workbench/components/ResourceList.js +2 -2
  572. package/resource-workbench/components/ResourceList.js.map +1 -1
  573. package/resource-workbench/components/ResourceTable.js +5 -5
  574. package/resource-workbench/components/ResourceTable.js.map +1 -1
  575. package/resource-workbench/components/ResourceWorkbench.js +11 -11
  576. package/resource-workbench/components/ResourceWorkbench.js.map +1 -1
  577. package/resource-workbench/components/SelectionCheckbox.js +1 -1
  578. package/resource-workbench/components/SelectionCheckbox.js.map +1 -1
  579. package/resource-workbench/components/StatusBadge.d.ts.map +1 -1
  580. package/resource-workbench/components/StatusBadge.js +17 -16
  581. package/resource-workbench/components/StatusBadge.js.map +1 -1
  582. package/resource-workbench/components/ViewSwitcher.js +4 -4
  583. package/resource-workbench/components/ViewSwitcher.js.map +1 -1
  584. package/schedule/CadenceField.d.ts.map +1 -1
  585. package/schedule/CadenceField.js +26 -19
  586. package/schedule/CadenceField.js.map +1 -1
  587. package/schedule/ScheduleDetailView.js +39 -39
  588. package/schedule/ScheduleDetailView.js.map +1 -1
  589. package/schedule/ScheduleForm.js +9 -9
  590. package/schedule/ScheduleForm.js.map +1 -1
  591. package/schedule/ScheduleRowActions.js +1 -1
  592. package/schedule/ScheduleRowActions.js.map +1 -1
  593. package/schedule/ScheduleRunsTable.d.ts.map +1 -1
  594. package/schedule/ScheduleRunsTable.js +18 -17
  595. package/schedule/ScheduleRunsTable.js.map +1 -1
  596. package/schedule/TimeZoneField.js +5 -5
  597. package/schedule/TimeZoneField.js.map +1 -1
  598. package/schedule/scheduleColumns.js +5 -5
  599. package/schedule/scheduleColumns.js.map +1 -1
  600. package/session/NewSessionViewer.js +3 -3
  601. package/session/NewSessionViewer.js.map +1 -1
  602. package/session/PlanEditor.d.ts.map +1 -1
  603. package/session/PlanEditor.js +9 -11
  604. package/session/PlanEditor.js.map +1 -1
  605. package/session/PlanStreamingDocument.js +2 -2
  606. package/session/PlanStreamingDocument.js.map +1 -1
  607. package/session/SessionViewer.js +21 -21
  608. package/session/SessionViewer.js.map +1 -1
  609. package/session/SessionViewerLayout.d.ts +11 -8
  610. package/session/SessionViewerLayout.d.ts.map +1 -1
  611. package/session/SessionViewerLayout.js +1 -1
  612. package/session/SessionViewerLayout.js.map +1 -1
  613. package/session/facets/ArtifactsTab.js +2 -2
  614. package/session/facets/ArtifactsTab.js.map +1 -1
  615. package/session/facets/ChangesTab.js +3 -3
  616. package/session/facets/ChangesTab.js.map +1 -1
  617. package/session/facets/SetupTab.js +11 -11
  618. package/session/facets/SetupTab.js.map +1 -1
  619. package/session/facets/UsageTab.js +1 -1
  620. package/session/facets/UsageTab.js.map +1 -1
  621. package/settings/ApiKeysSection.js +1 -1
  622. package/settings/ApiKeysSection.js.map +1 -1
  623. package/settings/ChannelAppsSection.js +1 -1
  624. package/settings/ChannelAppsSection.js.map +1 -1
  625. package/settings/EnvironmentsSection.js +4 -4
  626. package/settings/EnvironmentsSection.js.map +1 -1
  627. package/settings/IdentityProvidersSection.js +1 -1
  628. package/settings/IdentityProvidersSection.js.map +1 -1
  629. package/settings/InvitationsSection.js +1 -1
  630. package/settings/InvitationsSection.js.map +1 -1
  631. package/settings/MembersSection.js +1 -1
  632. package/settings/MembersSection.js.map +1 -1
  633. package/settings/OAuthAppsSection.js +1 -1
  634. package/settings/OAuthAppsSection.js.map +1 -1
  635. package/settings/OrgProfileSection.js +1 -1
  636. package/settings/OrgProfileSection.js.map +1 -1
  637. package/settings/PlatformClientsSection.js +1 -1
  638. package/settings/PlatformClientsSection.js.map +1 -1
  639. package/settings/UsageSection.js +1 -1
  640. package/settings/UsageSection.js.map +1 -1
  641. package/sharing/AgentShareList.d.ts.map +1 -1
  642. package/sharing/AgentShareList.js +7 -5
  643. package/sharing/AgentShareList.js.map +1 -1
  644. package/sharing/ShareAgentDialog.d.ts.map +1 -1
  645. package/sharing/ShareAgentDialog.js +31 -30
  646. package/sharing/ShareAgentDialog.js.map +1 -1
  647. package/sharing/SharedAgentChat.js +6 -6
  648. package/sharing/SharedAgentChat.js.map +1 -1
  649. package/sidebar/SettingsSidebar.js +5 -5
  650. package/sidebar/SettingsSidebar.js.map +1 -1
  651. package/sidebar/WorkspaceSidebar.js +13 -13
  652. package/sidebar/WorkspaceSidebar.js.map +1 -1
  653. package/sidebar/chrome.js +5 -5
  654. package/sidebar/chrome.js.map +1 -1
  655. package/skill/SkillDetailView.d.ts.map +1 -1
  656. package/skill/SkillDetailView.js +14 -13
  657. package/skill/SkillDetailView.js.map +1 -1
  658. package/skill/SkillDiffDialog.js +2 -2
  659. package/skill/SkillDiffDialog.js.map +1 -1
  660. package/skill/SkillFileBrowser.js +4 -4
  661. package/skill/SkillFileBrowser.js.map +1 -1
  662. package/skill/SkillPicker.js +10 -10
  663. package/skill/SkillPicker.js.map +1 -1
  664. package/skill/SkillUploader.js +8 -8
  665. package/skill/SkillUploader.js.map +1 -1
  666. package/src/__tests__/helpers/compile-sdk-styles.ts +33 -0
  667. package/src/__tests__/helpers/open-menu.ts +88 -0
  668. package/src/__tests__/portal-container.test.tsx +97 -0
  669. package/src/__tests__/preflight-parity.layout.test.tsx +156 -0
  670. package/src/__tests__/scope-unprefixed.test.ts +86 -0
  671. package/src/__tests__/styles-border-layer-invariant.test.ts +86 -58
  672. package/src/__tests__/styles-dist-isolation.test.ts +195 -0
  673. package/src/__tests__/styles-host-isolation.layout.test.tsx +204 -0
  674. package/src/access/ManageAccessButton.tsx +3 -3
  675. package/src/access/ManageAccessDialog.tsx +19 -19
  676. package/src/action-menu/ActionMenu.tsx +8 -8
  677. package/src/activity/useRecentActivity.ts +6 -1
  678. package/src/agent/AgentDetailView.tsx +112 -112
  679. package/src/agent/AgentPicker.tsx +26 -26
  680. package/src/agent/steps/CapabilitiesStep.tsx +36 -36
  681. package/src/agent/steps/IdentityStep.tsx +45 -45
  682. package/src/agent/steps/ReviewStep.tsx +18 -18
  683. package/src/agent-instance/AgentInstanceDetailPanel.tsx +45 -45
  684. package/src/agent-instance/AgentInstanceList.tsx +40 -41
  685. package/src/agent-instance/CreateAgentInstanceDialog.tsx +35 -35
  686. package/src/agent-instance/__tests__/AgentInstanceList.test.tsx +5 -10
  687. package/src/api-key/ApiKeyCreatedAlert.tsx +15 -15
  688. package/src/api-key/ApiKeyListPanel.tsx +39 -31
  689. package/src/api-key/CreateApiKeyForm.tsx +25 -25
  690. package/src/attachment/AttachmentChipList.tsx +86 -77
  691. package/src/attachment/AttachmentImageLightbox.tsx +13 -14
  692. package/src/attachment/__tests__/AttachmentChipList.test.tsx +5 -4
  693. package/src/attachment/attachment-utils.ts +8 -5
  694. package/src/billing/AutoRechargeCard.tsx +26 -26
  695. package/src/billing/BillingSection.tsx +14 -14
  696. package/src/billing/CreditBalanceCard.tsx +7 -7
  697. package/src/billing/CreditLedgerTable.tsx +27 -27
  698. package/src/billing/CreditPackGrid.tsx +13 -13
  699. package/src/billing/LowBalanceBanner.tsx +6 -6
  700. package/src/billing/PaymentMethodCard.tsx +13 -13
  701. package/src/button/Button.tsx +10 -10
  702. package/src/button/__tests__/Button.test.tsx +9 -9
  703. package/src/channel/AgentChannelsPanel.tsx +37 -38
  704. package/src/channel/ChannelConversationsDialog.tsx +25 -23
  705. package/src/channel/ChannelCredentialsDialog.tsx +13 -13
  706. package/src/channel/ChannelTemplatesDialog.tsx +38 -39
  707. package/src/channel/ChannelToolCredentials.tsx +5 -5
  708. package/src/channel/ConnectSlackDialog.tsx +48 -48
  709. package/src/channel/ConnectWhatsAppDialog.tsx +42 -42
  710. package/src/channel/__tests__/AgentChannelsPanel.test.tsx +18 -18
  711. package/src/channel/connect/ServingAppSection.tsx +14 -14
  712. package/src/channel/connect/ToolCredentialsSection.tsx +5 -5
  713. package/src/channel/connect/VerbatimRefusal.tsx +1 -1
  714. package/src/channel/connect/icons.tsx +1 -1
  715. package/src/channel-app/ChannelAppDetailPanel.tsx +44 -44
  716. package/src/channel-app/ChannelAppListPanel.tsx +15 -15
  717. package/src/channel-app/CreateChannelAppForm.tsx +37 -37
  718. package/src/channel-app/internal.tsx +25 -26
  719. package/src/composer/ComposerToolbar.tsx +124 -92
  720. package/src/composer/ConfigureMenu.tsx +49 -40
  721. package/src/composer/ContextChip.tsx +13 -14
  722. package/src/composer/ContextPopover.tsx +30 -21
  723. package/src/composer/InteractionModePicker.tsx +14 -14
  724. package/src/composer/SessionComposer.tsx +64 -32
  725. package/src/composer/__tests__/SessionComposer-agentSetupError.test.tsx +124 -0
  726. package/src/composer/__tests__/SessionComposer-lockAgent.test.tsx +13 -17
  727. package/src/composer/__tests__/SessionComposer-serviceTier.test.tsx +2 -7
  728. package/src/composer/icons.tsx +5 -5
  729. package/src/conversation/ConversationAttentionBanner.tsx +6 -6
  730. package/src/conversation/ConversationComposer.tsx +13 -13
  731. package/src/conversation/ConversationControlBanner.tsx +11 -11
  732. package/src/conversation/ConversationListPane.tsx +38 -38
  733. package/src/conversation/ConversationMediaAttachment.tsx +14 -14
  734. package/src/conversation/ConversationTimelineView.tsx +64 -47
  735. package/src/conversation/ConversationsWorkbench.tsx +10 -10
  736. package/src/conversation/__tests__/ConversationComposer.test.tsx +1 -1
  737. package/src/conversation/__tests__/ConversationTimelineView.test.tsx +106 -3
  738. package/src/conversation/conversationPresentation.ts +52 -1
  739. package/src/cursor-accounts/CursorAccountEditor.tsx +13 -13
  740. package/src/cursor-accounts/CursorAccountsAccessNotice.tsx +3 -3
  741. package/src/cursor-accounts/CursorAccountsConsole.tsx +35 -35
  742. package/src/cursor-accounts/MemberCoverageTable.tsx +41 -39
  743. package/src/cursor-accounts/MemberKeysPanel.tsx +17 -17
  744. package/src/cursor-accounts/__tests__/CursorAccountsConsole.test.tsx +4 -4
  745. package/src/cursor-accounts/badges.tsx +4 -4
  746. package/src/dashboard/DashboardFailedRuns.tsx +17 -17
  747. package/src/dashboard/DashboardKPICards.tsx +14 -13
  748. package/src/dashboard/OperationalDashboard.tsx +2 -2
  749. package/src/datastore/CollectionRecordsBrowser.tsx +42 -41
  750. package/src/datastore/CollectionSchemaView.tsx +43 -43
  751. package/src/datastore/DatastoreDetailView.tsx +18 -18
  752. package/src/datastore/DatastoreSyncReport.tsx +13 -13
  753. package/src/datastore/DeleteDatastoreDialog.tsx +21 -21
  754. package/src/datastore/FieldValueControl.tsx +7 -7
  755. package/src/datastore/RecordFilterBuilder.tsx +35 -35
  756. package/src/datastore/RecordFormPanel.tsx +35 -35
  757. package/src/dependency-graph/DependencyGraph.tsx +6 -6
  758. package/src/dependency-graph/DependencyTreeNode.tsx +21 -21
  759. package/src/empty-state/EmptyState.tsx +7 -7
  760. package/src/empty-state/useEmptyState.ts +1 -1
  761. package/src/environment/CreateEnvironmentForm.tsx +24 -24
  762. package/src/environment/EnvVarForm.tsx +40 -40
  763. package/src/environment/EnvironmentListPanel.tsx +19 -19
  764. package/src/environment/EnvironmentPicker.tsx +22 -22
  765. package/src/environment/EnvironmentVariableEditor.tsx +69 -58
  766. package/src/error/ErrorMessage.tsx +22 -22
  767. package/src/error/SecretFlowErrorGuide.tsx +19 -19
  768. package/src/execution/ApprovalCard.tsx +20 -22
  769. package/src/execution/ArtifactApplyButton.tsx +7 -7
  770. package/src/execution/ArtifactContentBody.tsx +11 -11
  771. package/src/execution/ArtifactContentRenderer.tsx +29 -29
  772. package/src/execution/ArtifactDocument.tsx +22 -22
  773. package/src/execution/ArtifactFileContent.tsx +6 -6
  774. package/src/execution/ArtifactPreviewModal.tsx +33 -33
  775. package/src/execution/ArtifactRowView.tsx +70 -50
  776. package/src/execution/ArtifactsWidget.tsx +4 -4
  777. package/src/execution/ContextGauge.tsx +24 -24
  778. package/src/execution/EmptyChangeNotice.tsx +1 -1
  779. package/src/execution/ExecutionPhaseBadge.tsx +12 -12
  780. package/src/execution/ExecutionProgress.tsx +2 -2
  781. package/src/execution/FileChangeProgressBar.tsx +9 -9
  782. package/src/execution/FileChangesView.tsx +12 -12
  783. package/src/execution/FilePathLink.tsx +51 -35
  784. package/src/execution/FileReviewAtoms.tsx +9 -9
  785. package/src/execution/FileReviewCard.tsx +37 -37
  786. package/src/execution/FileReviewDock.tsx +2 -2
  787. package/src/execution/FollowUpInput.tsx +9 -9
  788. package/src/execution/InteractionModeBadge.tsx +2 -2
  789. package/src/execution/McpToolDetail.tsx +33 -29
  790. package/src/execution/MessageAttachments.tsx +64 -48
  791. package/src/execution/MessageEntry.tsx +40 -33
  792. package/src/execution/MessageThread.tsx +28 -28
  793. package/src/execution/PlanArtifactCard.tsx +44 -37
  794. package/src/execution/PlanCompletionCard.tsx +10 -10
  795. package/src/execution/PlanDocumentMessage.tsx +6 -6
  796. package/src/execution/PlanStreamingCard.tsx +11 -11
  797. package/src/execution/ResultView.tsx +44 -44
  798. package/src/execution/SessionVariablesInput.tsx +38 -38
  799. package/src/execution/SetupProgress.tsx +5 -5
  800. package/src/execution/SubAgentSection.tsx +42 -42
  801. package/src/execution/SummarizationBadge.tsx +15 -15
  802. package/src/execution/SummarizationCard.tsx +11 -11
  803. package/src/execution/TerminalSession.tsx +7 -7
  804. package/src/execution/ThreadSkeleton.tsx +10 -10
  805. package/src/execution/TodoCard.tsx +11 -11
  806. package/src/execution/TodoList.tsx +13 -13
  807. package/src/execution/ToolArgsView.tsx +8 -8
  808. package/src/execution/ToolCallDetail.tsx +7 -10
  809. package/src/execution/ToolCallGroup.tsx +1 -1
  810. package/src/execution/ToolCallItem.tsx +45 -34
  811. package/src/execution/ToolRunGroup.tsx +16 -16
  812. package/src/execution/UsageWidget.tsx +12 -12
  813. package/src/execution/WriteBackCard.tsx +60 -51
  814. package/src/execution/WriteBacksWidget.tsx +4 -4
  815. package/src/execution/__tests__/ApprovalCard.test.tsx +12 -12
  816. package/src/execution/__tests__/ArtifactContentRenderer.test.tsx +3 -3
  817. package/src/execution/__tests__/ArtifactRow.test.tsx +6 -2
  818. package/src/execution/__tests__/ArtifactRowView.test.tsx +5 -2
  819. package/src/execution/__tests__/FileChangesView.test.tsx +2 -2
  820. package/src/execution/__tests__/FilePathLink.test.tsx +11 -7
  821. package/src/execution/__tests__/FileReviewCard.test.tsx +2 -1
  822. package/src/execution/__tests__/FileReviewDock.test.tsx +1 -1
  823. package/src/execution/__tests__/MessageEntry-attachments.test.tsx +5 -4
  824. package/src/execution/__tests__/MessageThread.test.tsx +7 -2
  825. package/src/execution/__tests__/TerminalSession.test.tsx +1 -1
  826. package/src/execution/__tests__/ToolCallDetail.test.tsx +1 -1
  827. package/src/execution/__tests__/ToolCallGroup.test.tsx +4 -4
  828. package/src/execution/__tests__/ToolCallItem.test.tsx +9 -9
  829. package/src/execution/__tests__/ToolRunGroup.test.tsx +6 -6
  830. package/src/execution/__tests__/WriteBackCard.test.tsx +4 -4
  831. package/src/execution/__tests__/artifact-row-tooltips.layout.test.tsx +115 -0
  832. package/src/execution/__tests__/message-entry.test.tsx +8 -8
  833. package/src/execution/__tests__/thread-memoization.test.ts +2 -2
  834. package/src/execution/__tests__/thread-skeleton.test.tsx +1 -1
  835. package/src/execution/__tests__/virtualized-thread.test.tsx +1 -1
  836. package/src/execution/artifact-row-item.ts +1 -1
  837. package/src/execution/tool-rendering-primitives.tsx +12 -12
  838. package/src/feedback/StigmerToaster.tsx +8 -5
  839. package/src/file-reference/FileReferenceChipList.tsx +31 -19
  840. package/src/file-reference/__tests__/FileReferenceChipList.test.tsx +5 -2
  841. package/src/github/GitHubRepoPicker.tsx +60 -60
  842. package/src/iam-policy/GrantAccessForm.tsx +11 -11
  843. package/src/iam-policy/OrgMembersPanel.tsx +70 -63
  844. package/src/iam-policy/PeopleWithAccess.tsx +23 -23
  845. package/src/iam-policy/PrincipalPicker.tsx +34 -34
  846. package/src/iam-policy/ProviderBadge.tsx +17 -10
  847. package/src/iam-policy/RoleSelector.tsx +9 -10
  848. package/src/iam-policy/SharePanel.tsx +5 -5
  849. package/src/identity-provider/CreateIdentityProviderForm.tsx +47 -47
  850. package/src/identity-provider/IdentityProviderDetailPanel.tsx +73 -73
  851. package/src/identity-provider/IdentityProviderListPanel.tsx +44 -36
  852. package/src/identity-provider/IdentityProviderWizard.tsx +72 -72
  853. package/src/identity-provider/ProviderPicker.tsx +17 -17
  854. package/src/identity-provider/SsoLoginPrompt.tsx +39 -39
  855. package/src/index.ts +1 -0
  856. package/src/inline-edit/InlineEditImage.tsx +26 -26
  857. package/src/inline-edit/InlineEditKeyValue.tsx +44 -44
  858. package/src/inline-edit/InlineEditResourceList.tsx +48 -48
  859. package/src/inline-edit/InlineEditSelect.tsx +22 -22
  860. package/src/inline-edit/InlineEditText.tsx +29 -29
  861. package/src/inline-edit/InlineEditTextarea.tsx +27 -27
  862. package/src/internal/ApprovalPeekBar.tsx +9 -9
  863. package/src/internal/BoundedContent.tsx +3 -3
  864. package/src/internal/CloudFeatureNotice.tsx +3 -3
  865. package/src/internal/DecisionButton.tsx +10 -10
  866. package/src/internal/InCardDecisionError.tsx +1 -1
  867. package/src/internal/JumpToLatestButton.tsx +9 -9
  868. package/src/internal/MermaidDiagram.tsx +5 -5
  869. package/src/internal/Pagination.tsx +5 -5
  870. package/src/internal/ResizableSplit.tsx +61 -20
  871. package/src/internal/RevealToggle.tsx +5 -5
  872. package/src/internal/ScrollFade.tsx +2 -2
  873. package/src/internal/VirtualizedThread.tsx +6 -6
  874. package/src/internal/__tests__/BoundedContent.test.tsx +1 -1
  875. package/src/internal/__tests__/DecisionButton.test.tsx +14 -14
  876. package/src/internal/__tests__/ResizableSplit.layout.test.tsx +136 -0
  877. package/src/internal/__tests__/ResizableSplit.test.tsx +49 -2
  878. package/src/internal/__tests__/ThreadCardShell.test.tsx +4 -4
  879. package/src/internal/__tests__/markdown-components.test.tsx +2 -2
  880. package/src/internal/__tests__/thread-animation.test.tsx +6 -6
  881. package/src/internal/__tests__/truncated-text.layout.test.tsx +68 -0
  882. package/src/internal/__tests__/truncated-text.test.tsx +33 -0
  883. package/src/internal/file-icons/index.tsx +2 -2
  884. package/src/internal/file-tree/FileTreeNode.tsx +9 -9
  885. package/src/internal/file-tree/__tests__/FileTreeNode-explorer.test.tsx +1 -1
  886. package/src/internal/form-primitives.tsx +18 -16
  887. package/src/internal/markdown-components.tsx +24 -24
  888. package/src/internal/menu.tsx +18 -18
  889. package/src/internal/scroll-area.tsx +6 -6
  890. package/src/internal/thread-card/ThreadCardShell.tsx +10 -10
  891. package/src/internal/thread-card/glyphs.tsx +3 -3
  892. package/src/internal/tooltip.tsx +9 -11
  893. package/src/internal/truncated-text.tsx +81 -0
  894. package/src/invitation/InvitationCreatedAlert.tsx +15 -15
  895. package/src/invitation/InvitationManager.tsx +96 -83
  896. package/src/invitation/InvitationRedemption.tsx +49 -49
  897. package/src/library/ResourceCountCard.tsx +7 -7
  898. package/src/library/ScopeToggle.tsx +21 -9
  899. package/src/library/VisibilityOptionRow.tsx +30 -30
  900. package/src/library/VisibilitySelector.tsx +38 -31
  901. package/src/library/__tests__/VisibilitySelector.test.tsx +0 -6
  902. package/src/manifest/ApplyManifestDialog.tsx +36 -36
  903. package/src/manifest/EditResourceYamlDialog.tsx +32 -32
  904. package/src/manifest/RedactedSecretsNotice.tsx +2 -2
  905. package/src/manifest/YamlEditor.tsx +1 -1
  906. package/src/mcp-server/McpServerConfigPanel.tsx +145 -103
  907. package/src/mcp-server/McpServerConnectDialog.tsx +120 -57
  908. package/src/mcp-server/McpServerDetailView.tsx +341 -256
  909. package/src/mcp-server/McpServerPicker.tsx +149 -57
  910. package/src/mcp-server/McpToolSelector.tsx +37 -32
  911. package/src/mcp-server/OAuthAppForm.tsx +32 -32
  912. package/src/mcp-server/OAuthCallbackHandler.tsx +11 -11
  913. package/src/mcp-server/OAuthRequiredNotice.tsx +3 -3
  914. package/src/mcp-server/StdioSandboxNotice.tsx +3 -3
  915. package/src/mcp-server/VendorApprovalBlockedNotice.tsx +221 -0
  916. package/src/mcp-server/__tests__/McpServerDetailView.test.tsx +162 -7
  917. package/src/mcp-server/__tests__/McpServerPicker.test.tsx +504 -0
  918. package/src/mcp-server/__tests__/VendorApprovalBlocked.surfaces.test.tsx +321 -0
  919. package/src/mcp-server/__tests__/VendorApprovalBlockedNotice.test.tsx +154 -0
  920. package/src/mcp-server/__tests__/useMcpServerOAuthConnect.test.tsx +159 -0
  921. package/src/mcp-server/index.ts +4 -1
  922. package/src/mcp-server/mcpServerSetupReducer.ts +24 -0
  923. package/src/mcp-server/steps/EnvironmentAuthStep.tsx +71 -71
  924. package/src/mcp-server/steps/IdentityTransportStep.tsx +94 -94
  925. package/src/mcp-server/steps/ReviewStep.tsx +17 -17
  926. package/src/mcp-server/useMcpServerOAuthConnect.ts +65 -10
  927. package/src/mcp-server/useMcpServerSetup.ts +9 -0
  928. package/src/models/HarnessSelector.tsx +8 -8
  929. package/src/models/ModelSelector.tsx +58 -58
  930. package/src/models/__tests__/ModelSelector-serviceTier.test.tsx +2 -7
  931. package/src/oauth-app/CreateOAuthAppForm.tsx +28 -28
  932. package/src/oauth-app/OAuthAppDetailPanel.tsx +51 -51
  933. package/src/oauth-app/OAuthAppListPanel.tsx +25 -17
  934. package/src/organization/CreateOrganizationForm.tsx +37 -37
  935. package/src/organization/OrgProfilePanel.tsx +65 -65
  936. package/src/organization/OrgSwitcher.tsx +33 -33
  937. package/src/platform-client/CreatePlatformClientForm.tsx +59 -59
  938. package/src/platform-client/PlatformClientDetailPanel.tsx +107 -107
  939. package/src/platform-client/PlatformClientListPanel.tsx +70 -53
  940. package/src/platform-client/PlatformClientSecretAlert.tsx +18 -18
  941. package/src/portal-container.ts +36 -9
  942. package/src/pricing-governance/BaselineEditor.tsx +49 -29
  943. package/src/pricing-governance/ModelCatalogPanel.tsx +35 -31
  944. package/src/pricing-governance/ModelGovernanceDetail.tsx +35 -35
  945. package/src/pricing-governance/OperatorAccessNotice.tsx +3 -3
  946. package/src/pricing-governance/PricingGovernanceConsole.tsx +38 -34
  947. package/src/pricing-governance/PricingGovernancePanel.tsx +31 -22
  948. package/src/pricing-governance/RetireConfirm.tsx +7 -7
  949. package/src/pricing-governance/__tests__/ModelCatalogPanel.test.tsx +37 -0
  950. package/src/pricing-governance/governance-primitives.tsx +12 -12
  951. package/src/resource-creation/CreationPicker.tsx +23 -23
  952. package/src/resource-creation/StepIndicator.tsx +17 -17
  953. package/src/resource-creation/TemplateCard.tsx +23 -23
  954. package/src/resource-creation/TemplateGallery.tsx +13 -13
  955. package/src/resource-creation/WizardNav.tsx +19 -19
  956. package/src/resource-creation/WizardShell.tsx +7 -7
  957. package/src/resource-detail/ConfirmDialog.tsx +16 -16
  958. package/src/resource-detail/ResourceActionBar.tsx +6 -6
  959. package/src/resource-detail/ResourceDetailShell.tsx +14 -14
  960. package/src/resource-detail/Section.tsx +10 -10
  961. package/src/resource-workbench/components/BulkActionBar.tsx +13 -13
  962. package/src/resource-workbench/components/ColumnHeader.tsx +9 -9
  963. package/src/resource-workbench/components/FilterBar.tsx +9 -9
  964. package/src/resource-workbench/components/ResourceAvatar.tsx +19 -19
  965. package/src/resource-workbench/components/ResourceCards.tsx +8 -8
  966. package/src/resource-workbench/components/ResourceInspector.tsx +8 -8
  967. package/src/resource-workbench/components/ResourceList.tsx +7 -7
  968. package/src/resource-workbench/components/ResourceTable.tsx +12 -12
  969. package/src/resource-workbench/components/ResourceWorkbench.tsx +42 -42
  970. package/src/resource-workbench/components/SelectionCheckbox.tsx +2 -2
  971. package/src/resource-workbench/components/StatusBadge.tsx +23 -19
  972. package/src/resource-workbench/components/ViewSwitcher.tsx +7 -7
  973. package/src/schedule/CadenceField.tsx +68 -57
  974. package/src/schedule/ScheduleDetailView.tsx +105 -105
  975. package/src/schedule/ScheduleForm.tsx +49 -49
  976. package/src/schedule/ScheduleRowActions.tsx +4 -4
  977. package/src/schedule/ScheduleRunsTable.tsx +64 -52
  978. package/src/schedule/TimeZoneField.tsx +12 -12
  979. package/src/schedule/__tests__/cadence-tooltips.layout.test.tsx +86 -0
  980. package/src/schedule/__tests__/scheduleCreation.test.tsx +0 -7
  981. package/src/schedule/scheduleColumns.tsx +7 -7
  982. package/src/session/NewSessionViewer.tsx +5 -5
  983. package/src/session/PlanEditor.tsx +46 -45
  984. package/src/session/PlanStreamingDocument.tsx +8 -8
  985. package/src/session/SessionViewer.tsx +48 -48
  986. package/src/session/SessionViewerLayout.tsx +14 -11
  987. package/src/session/__tests__/NewSessionViewer.test.tsx +4 -4
  988. package/src/session/__tests__/PlanEditor.test.tsx +2 -2
  989. package/src/session/__tests__/SessionViewerLayout.test.tsx +20 -8
  990. package/src/session/facets/ArtifactsTab.tsx +3 -3
  991. package/src/session/facets/ChangesTab.tsx +5 -5
  992. package/src/session/facets/SetupTab.tsx +26 -26
  993. package/src/session/facets/UsageTab.tsx +2 -2
  994. package/src/settings/ApiKeysSection.tsx +6 -6
  995. package/src/settings/ChannelAppsSection.tsx +6 -6
  996. package/src/settings/EnvironmentsSection.tsx +15 -15
  997. package/src/settings/IdentityProvidersSection.tsx +7 -7
  998. package/src/settings/InvitationsSection.tsx +4 -4
  999. package/src/settings/MembersSection.tsx +5 -5
  1000. package/src/settings/OAuthAppsSection.tsx +6 -6
  1001. package/src/settings/OrgProfileSection.tsx +3 -3
  1002. package/src/settings/PlatformClientsSection.tsx +7 -7
  1003. package/src/settings/UsageSection.tsx +3 -3
  1004. package/src/sharing/AgentShareList.tsx +62 -56
  1005. package/src/sharing/ShareAgentDialog.tsx +153 -154
  1006. package/src/sharing/SharedAgentChat.tsx +24 -24
  1007. package/src/sharing/__tests__/AgentShareList.test.tsx +4 -11
  1008. package/src/sidebar/SettingsSidebar.tsx +7 -7
  1009. package/src/sidebar/WorkspaceSidebar.tsx +25 -25
  1010. package/src/sidebar/__tests__/SettingsSidebar.test.tsx +3 -7
  1011. package/src/sidebar/__tests__/WorkspaceSidebar.test.tsx +4 -11
  1012. package/src/sidebar/chrome.tsx +16 -16
  1013. package/src/skill/SkillDetailView.tsx +75 -64
  1014. package/src/skill/SkillDiffDialog.tsx +25 -25
  1015. package/src/skill/SkillFileBrowser.tsx +22 -22
  1016. package/src/skill/SkillPicker.tsx +28 -28
  1017. package/src/skill/SkillUploader.tsx +67 -67
  1018. package/src/styles.css +136 -15
  1019. package/src/switch/Switch.tsx +9 -9
  1020. package/src/switch/__tests__/Switch.test.tsx +3 -3
  1021. package/src/tabs/Tabs.tsx +11 -11
  1022. package/src/usage/AgentBreakdownList.tsx +18 -18
  1023. package/src/usage/CreditRunwayIndicator.tsx +4 -4
  1024. package/src/usage/ExportButton.tsx +8 -8
  1025. package/src/usage/HarnessSplitCard.tsx +14 -14
  1026. package/src/usage/OrgUsagePanel.tsx +71 -71
  1027. package/src/user/UserMenu.tsx +13 -13
  1028. package/src/version-history/DiffFileList.tsx +13 -13
  1029. package/src/version-history/DiffSummary.tsx +3 -3
  1030. package/src/version-history/DiffViewer.tsx +14 -14
  1031. package/src/version-history/MultiFileDiffView.tsx +6 -6
  1032. package/src/version-history/UnifiedDiffView.tsx +4 -4
  1033. package/src/version-history/VersionTimeline.tsx +21 -21
  1034. package/src/version-history/VersionTimelineEntry.tsx +48 -39
  1035. package/src/version-history/__tests__/UnifiedDiffView.test.tsx +2 -2
  1036. package/src/workflow/ApprovalFormBuilder.tsx +48 -48
  1037. package/src/workflow/BranchConditionBuilder.tsx +21 -21
  1038. package/src/workflow/CanvasContextMenu.tsx +10 -10
  1039. package/src/workflow/CanvasTransitionEdge.tsx +36 -29
  1040. package/src/workflow/CostByWorkflowChart.tsx +18 -18
  1041. package/src/workflow/ExecutionActiveTaskIndicator.tsx +76 -61
  1042. package/src/workflow/ExecutionSummaryWidget.tsx +29 -29
  1043. package/src/workflow/ExecutionTrendChart.tsx +25 -25
  1044. package/src/workflow/FailedRunsWidget.tsx +14 -14
  1045. package/src/workflow/PendingApprovalsWidget.tsx +19 -19
  1046. package/src/workflow/TaskConfigForm.tsx +32 -32
  1047. package/src/workflow/TaskPickerPopover.tsx +22 -23
  1048. package/src/workflow/ViewYamlDialog.tsx +12 -12
  1049. package/src/workflow/WorkflowAgentCallTranscript.tsx +15 -15
  1050. package/src/workflow/WorkflowApprovalList.tsx +3 -3
  1051. package/src/workflow/WorkflowArchitectDialog.tsx +80 -80
  1052. package/src/workflow/WorkflowArtifactDocument.tsx +17 -17
  1053. package/src/workflow/WorkflowCanvasEditor.tsx +108 -77
  1054. package/src/workflow/WorkflowCanvasInner.tsx +3 -3
  1055. package/src/workflow/WorkflowCodePreviewGraph.tsx +2 -2
  1056. package/src/workflow/WorkflowDashboard.tsx +2 -2
  1057. package/src/workflow/WorkflowDetailView.tsx +50 -50
  1058. package/src/workflow/WorkflowDiffGraph.tsx +5 -5
  1059. package/src/workflow/WorkflowEditorView.tsx +58 -58
  1060. package/src/workflow/WorkflowExecutionGraph.tsx +15 -15
  1061. package/src/workflow/WorkflowExecutionHeader.tsx +14 -14
  1062. package/src/workflow/WorkflowExecutionPhaseBadge.tsx +11 -11
  1063. package/src/workflow/WorkflowExecutionViewer.tsx +39 -39
  1064. package/src/workflow/WorkflowExplainDialog.tsx +30 -30
  1065. package/src/workflow/WorkflowFileReviewList.tsx +3 -3
  1066. package/src/workflow/WorkflowGraphFullscreenDialog.tsx +11 -11
  1067. package/src/workflow/WorkflowNode.tsx +14 -7
  1068. package/src/workflow/WorkflowNodePopover.tsx +15 -15
  1069. package/src/workflow/WorkflowOverviewGraph.tsx +9 -9
  1070. package/src/workflow/WorkflowOverviewSummary.tsx +12 -12
  1071. package/src/workflow/WorkflowRefinePanel.tsx +49 -49
  1072. package/src/workflow/WorkflowRepairCard.tsx +53 -53
  1073. package/src/workflow/WorkflowRunDialog.tsx +20 -20
  1074. package/src/workflow/WorkflowRunForm.tsx +19 -19
  1075. package/src/workflow/WorkflowTaskApprovalCard.tsx +19 -19
  1076. package/src/workflow/WorkflowTaskApprovalSummary.tsx +39 -32
  1077. package/src/workflow/WorkflowTaskList.tsx +13 -13
  1078. package/src/workflow/WorkflowTaskPalette.tsx +23 -23
  1079. package/src/workflow/WorkflowTaskReviewGate.tsx +10 -10
  1080. package/src/workflow/WorkflowVersionBadge.tsx +35 -20
  1081. package/src/workflow/WorkflowVersionDiffViewer.tsx +24 -24
  1082. package/src/workflow/WorkflowVersionTimeline.tsx +39 -38
  1083. package/src/workflow/WorkflowVersionsTab.tsx +7 -7
  1084. package/src/workflow/__tests__/WorkflowAgentCallTranscript.test.tsx +2 -2
  1085. package/src/workflow/__tests__/WorkflowExecutionViewer.reconciliation.test.tsx +6 -6
  1086. package/src/workflow/__tests__/WorkflowTaskApprovalCard.test.tsx +15 -15
  1087. package/src/workflow/__tests__/WorkflowTaskApprovalSummary.test.tsx +4 -2
  1088. package/src/workflow/__tests__/node-shell.test.ts +2 -0
  1089. package/src/workflow/__tests__/structured-data-viewer.test.tsx +5 -2
  1090. package/src/workflow/__tests__/task-type-visual-registry.test.ts +2 -0
  1091. package/src/workflow/diff/DiffSummaryBar.tsx +5 -5
  1092. package/src/workflow/execution-comparison/ComparisonSummaryCards.tsx +11 -11
  1093. package/src/workflow/execution-comparison/ExecutionComparisonPicker.tsx +20 -20
  1094. package/src/workflow/execution-comparison/ExecutionComparisonView.tsx +20 -18
  1095. package/src/workflow/execution-comparison/TaskComparisonTable.tsx +55 -48
  1096. package/src/workflow/execution-history/ExecutionFilterBar.tsx +12 -12
  1097. package/src/workflow/execution-history/ExecutionHistoryTable.tsx +47 -38
  1098. package/src/workflow/execution-history/FailureAnalysisPanel.tsx +18 -18
  1099. package/src/workflow/execution-history/HealthMetricsStrip.tsx +16 -16
  1100. package/src/workflow/execution-history/WorkflowExecutionHistory.tsx +1 -1
  1101. package/src/workflow/facets/WorkflowArtifactsTab.tsx +3 -3
  1102. package/src/workflow/facets/WorkflowChangesTab.tsx +8 -8
  1103. package/src/workflow/facets/WorkflowUsageTab.tsx +24 -24
  1104. package/src/workflow/inspector/EdgeInspector.tsx +14 -14
  1105. package/src/workflow/inspector/InspectorHeader.tsx +36 -27
  1106. package/src/workflow/inspector/InspectorShell.tsx +6 -6
  1107. package/src/workflow/inspector/NestedTaskList.tsx +28 -21
  1108. package/src/workflow/inspector/SentinelInspector.tsx +3 -3
  1109. package/src/workflow/inspector/WorkflowSummaryPanel.tsx +37 -35
  1110. package/src/workflow/inspector/forms/AgentCallForm.tsx +48 -48
  1111. package/src/workflow/inspector/forms/HttpCallForm.tsx +22 -22
  1112. package/src/workflow/inspector/tabs/AdvancedTab.tsx +12 -12
  1113. package/src/workflow/inspector/tabs/BranchesTab.tsx +94 -64
  1114. package/src/workflow/inspector/tabs/CatchTab.tsx +23 -23
  1115. package/src/workflow/inspector/tabs/ConfigureTab.tsx +3 -3
  1116. package/src/workflow/inspector/tabs/DataTab.tsx +6 -6
  1117. package/src/workflow/inspector/tabs/DocsTab.tsx +11 -11
  1118. package/src/workflow/inspector/tabs/IterationTab.tsx +25 -25
  1119. package/src/workflow/inspector/tabs/RuntimeTab.tsx +16 -16
  1120. package/src/workflow/instance/CreateWorkflowInstanceDialog.tsx +35 -35
  1121. package/src/workflow/instance/RunVisibilityControl.tsx +10 -10
  1122. package/src/workflow/instance/WorkflowInstanceDetailPanel.tsx +45 -45
  1123. package/src/workflow/instance/WorkflowInstanceList.tsx +36 -37
  1124. package/src/workflow/instance/__tests__/WorkflowInstanceList.test.tsx +5 -10
  1125. package/src/workflow/node-shell/BranchBadge.tsx +9 -9
  1126. package/src/workflow/node-shell/DiffBadge.tsx +21 -14
  1127. package/src/workflow/node-shell/ExecutionBadge.tsx +79 -52
  1128. package/src/workflow/node-shell/NodeActions.tsx +132 -98
  1129. package/src/workflow/node-shell/NodeContent.tsx +9 -9
  1130. package/src/workflow/node-shell/NodeHandles.tsx +5 -5
  1131. package/src/workflow/node-shell/NodeShell.tsx +27 -27
  1132. package/src/workflow/picker/BranchAddPopover.tsx +16 -16
  1133. package/src/workflow/task-detail/StructuredDataViewer.tsx +37 -35
  1134. package/src/workflow/templates/WorkflowTemplateCard.tsx +32 -32
  1135. package/src/workflow/templates/WorkflowTemplateGallery.tsx +13 -13
  1136. package/src/workflow/templates/WorkflowTemplatePreview.tsx +29 -29
  1137. package/src/workflow/thread/WorkflowTaskThread.tsx +36 -36
  1138. package/src/workspace/EditorTabs.tsx +102 -85
  1139. package/src/workspace/ExplorerTree.tsx +57 -40
  1140. package/src/workspace/FileViewer.tsx +48 -40
  1141. package/src/workspace/PanelChip.tsx +32 -23
  1142. package/src/workspace/WorkspaceContentSearch.tsx +26 -26
  1143. package/src/workspace/WorkspaceEditor.tsx +63 -51
  1144. package/src/workspace/WorkspaceFileSearch.tsx +22 -22
  1145. package/src/workspace/WorkspaceSummary.tsx +25 -16
  1146. package/src/workspace/WorkspaceSurface.tsx +120 -95
  1147. package/src/workspace/__tests__/EditorTabs.test.tsx +5 -2
  1148. package/src/workspace/__tests__/FileViewer.test.tsx +1 -1
  1149. package/src/workspace/__tests__/WorkspaceContentSearch.test.tsx +5 -5
  1150. package/src/workspace/__tests__/WorkspaceFileSearch.test.tsx +3 -3
  1151. package/src/workspace/__tests__/WorkspaceSurface.test.tsx +11 -8
  1152. package/styles.css +1 -1
  1153. package/switch/Switch.js +2 -2
  1154. package/switch/Switch.js.map +1 -1
  1155. package/tabs/Tabs.js +7 -7
  1156. package/tabs/Tabs.js.map +1 -1
  1157. package/usage/AgentBreakdownList.js +4 -4
  1158. package/usage/AgentBreakdownList.js.map +1 -1
  1159. package/usage/CreditRunwayIndicator.js +1 -1
  1160. package/usage/CreditRunwayIndicator.js.map +1 -1
  1161. package/usage/ExportButton.js +2 -2
  1162. package/usage/ExportButton.js.map +1 -1
  1163. package/usage/HarnessSplitCard.js +6 -6
  1164. package/usage/HarnessSplitCard.js.map +1 -1
  1165. package/usage/OrgUsagePanel.js +15 -15
  1166. package/usage/OrgUsagePanel.js.map +1 -1
  1167. package/user/UserMenu.js +3 -3
  1168. package/user/UserMenu.js.map +1 -1
  1169. package/version-history/DiffFileList.js +8 -8
  1170. package/version-history/DiffFileList.js.map +1 -1
  1171. package/version-history/DiffSummary.js +1 -1
  1172. package/version-history/DiffSummary.js.map +1 -1
  1173. package/version-history/DiffViewer.js +11 -11
  1174. package/version-history/DiffViewer.js.map +1 -1
  1175. package/version-history/MultiFileDiffView.js +2 -2
  1176. package/version-history/MultiFileDiffView.js.map +1 -1
  1177. package/version-history/UnifiedDiffView.js +1 -1
  1178. package/version-history/UnifiedDiffView.js.map +1 -1
  1179. package/version-history/VersionTimeline.js +4 -4
  1180. package/version-history/VersionTimeline.js.map +1 -1
  1181. package/version-history/VersionTimelineEntry.d.ts.map +1 -1
  1182. package/version-history/VersionTimelineEntry.js +10 -9
  1183. package/version-history/VersionTimelineEntry.js.map +1 -1
  1184. package/workflow/ApprovalFormBuilder.js +15 -15
  1185. package/workflow/ApprovalFormBuilder.js.map +1 -1
  1186. package/workflow/BranchConditionBuilder.js +8 -8
  1187. package/workflow/BranchConditionBuilder.js.map +1 -1
  1188. package/workflow/CanvasContextMenu.js +6 -6
  1189. package/workflow/CanvasContextMenu.js.map +1 -1
  1190. package/workflow/CanvasTransitionEdge.d.ts.map +1 -1
  1191. package/workflow/CanvasTransitionEdge.js +13 -12
  1192. package/workflow/CanvasTransitionEdge.js.map +1 -1
  1193. package/workflow/CostByWorkflowChart.js +4 -4
  1194. package/workflow/CostByWorkflowChart.js.map +1 -1
  1195. package/workflow/ExecutionActiveTaskIndicator.d.ts.map +1 -1
  1196. package/workflow/ExecutionActiveTaskIndicator.js +12 -11
  1197. package/workflow/ExecutionActiveTaskIndicator.js.map +1 -1
  1198. package/workflow/ExecutionSummaryWidget.js +15 -15
  1199. package/workflow/ExecutionSummaryWidget.js.map +1 -1
  1200. package/workflow/ExecutionTrendChart.js +10 -10
  1201. package/workflow/ExecutionTrendChart.js.map +1 -1
  1202. package/workflow/FailedRunsWidget.js +3 -3
  1203. package/workflow/FailedRunsWidget.js.map +1 -1
  1204. package/workflow/PendingApprovalsWidget.js +3 -3
  1205. package/workflow/PendingApprovalsWidget.js.map +1 -1
  1206. package/workflow/TaskConfigForm.js +12 -12
  1207. package/workflow/TaskConfigForm.js.map +1 -1
  1208. package/workflow/TaskPickerPopover.js +5 -5
  1209. package/workflow/TaskPickerPopover.js.map +1 -1
  1210. package/workflow/ViewYamlDialog.js +2 -2
  1211. package/workflow/ViewYamlDialog.js.map +1 -1
  1212. package/workflow/WorkflowAgentCallTranscript.js +2 -2
  1213. package/workflow/WorkflowAgentCallTranscript.js.map +1 -1
  1214. package/workflow/WorkflowApprovalList.js +2 -2
  1215. package/workflow/WorkflowApprovalList.js.map +1 -1
  1216. package/workflow/WorkflowArchitectDialog.js +9 -9
  1217. package/workflow/WorkflowArchitectDialog.js.map +1 -1
  1218. package/workflow/WorkflowArtifactDocument.js +7 -7
  1219. package/workflow/WorkflowArtifactDocument.js.map +1 -1
  1220. package/workflow/WorkflowCanvasEditor.d.ts.map +1 -1
  1221. package/workflow/WorkflowCanvasEditor.js +13 -6
  1222. package/workflow/WorkflowCanvasEditor.js.map +1 -1
  1223. package/workflow/WorkflowCanvasInner.js +1 -1
  1224. package/workflow/WorkflowCanvasInner.js.map +1 -1
  1225. package/workflow/WorkflowCodePreviewGraph.js +2 -2
  1226. package/workflow/WorkflowCodePreviewGraph.js.map +1 -1
  1227. package/workflow/WorkflowDashboard.js +1 -1
  1228. package/workflow/WorkflowDashboard.js.map +1 -1
  1229. package/workflow/WorkflowDetailView.js +15 -15
  1230. package/workflow/WorkflowDetailView.js.map +1 -1
  1231. package/workflow/WorkflowDiffGraph.js +3 -3
  1232. package/workflow/WorkflowDiffGraph.js.map +1 -1
  1233. package/workflow/WorkflowEditorView.js +13 -13
  1234. package/workflow/WorkflowEditorView.js.map +1 -1
  1235. package/workflow/WorkflowExecutionGraph.js +6 -6
  1236. package/workflow/WorkflowExecutionGraph.js.map +1 -1
  1237. package/workflow/WorkflowExecutionHeader.js +4 -4
  1238. package/workflow/WorkflowExecutionHeader.js.map +1 -1
  1239. package/workflow/WorkflowExecutionPhaseBadge.js +9 -9
  1240. package/workflow/WorkflowExecutionPhaseBadge.js.map +1 -1
  1241. package/workflow/WorkflowExecutionViewer.js +16 -16
  1242. package/workflow/WorkflowExecutionViewer.js.map +1 -1
  1243. package/workflow/WorkflowExplainDialog.js +2 -2
  1244. package/workflow/WorkflowExplainDialog.js.map +1 -1
  1245. package/workflow/WorkflowFileReviewList.js +2 -2
  1246. package/workflow/WorkflowFileReviewList.js.map +1 -1
  1247. package/workflow/WorkflowGraphFullscreenDialog.js +1 -1
  1248. package/workflow/WorkflowGraphFullscreenDialog.js.map +1 -1
  1249. package/workflow/WorkflowNode.d.ts.map +1 -1
  1250. package/workflow/WorkflowNode.js +2 -1
  1251. package/workflow/WorkflowNode.js.map +1 -1
  1252. package/workflow/WorkflowNodePopover.js +2 -2
  1253. package/workflow/WorkflowNodePopover.js.map +1 -1
  1254. package/workflow/WorkflowOverviewGraph.js +4 -4
  1255. package/workflow/WorkflowOverviewGraph.js.map +1 -1
  1256. package/workflow/WorkflowOverviewSummary.js +8 -8
  1257. package/workflow/WorkflowOverviewSummary.js.map +1 -1
  1258. package/workflow/WorkflowRefinePanel.js +5 -5
  1259. package/workflow/WorkflowRefinePanel.js.map +1 -1
  1260. package/workflow/WorkflowRepairCard.js +5 -5
  1261. package/workflow/WorkflowRepairCard.js.map +1 -1
  1262. package/workflow/WorkflowRunDialog.js +2 -2
  1263. package/workflow/WorkflowRunDialog.js.map +1 -1
  1264. package/workflow/WorkflowRunForm.js +10 -10
  1265. package/workflow/WorkflowRunForm.js.map +1 -1
  1266. package/workflow/WorkflowTaskApprovalCard.js +1 -1
  1267. package/workflow/WorkflowTaskApprovalCard.js.map +1 -1
  1268. package/workflow/WorkflowTaskApprovalSummary.d.ts.map +1 -1
  1269. package/workflow/WorkflowTaskApprovalSummary.js +11 -9
  1270. package/workflow/WorkflowTaskApprovalSummary.js.map +1 -1
  1271. package/workflow/WorkflowTaskList.js +5 -5
  1272. package/workflow/WorkflowTaskList.js.map +1 -1
  1273. package/workflow/WorkflowTaskPalette.js +5 -5
  1274. package/workflow/WorkflowTaskPalette.js.map +1 -1
  1275. package/workflow/WorkflowTaskReviewGate.js +3 -3
  1276. package/workflow/WorkflowTaskReviewGate.js.map +1 -1
  1277. package/workflow/WorkflowVersionBadge.d.ts.map +1 -1
  1278. package/workflow/WorkflowVersionBadge.js +2 -1
  1279. package/workflow/WorkflowVersionBadge.js.map +1 -1
  1280. package/workflow/WorkflowVersionDiffViewer.js +12 -12
  1281. package/workflow/WorkflowVersionDiffViewer.js.map +1 -1
  1282. package/workflow/WorkflowVersionTimeline.d.ts.map +1 -1
  1283. package/workflow/WorkflowVersionTimeline.js +8 -7
  1284. package/workflow/WorkflowVersionTimeline.js.map +1 -1
  1285. package/workflow/WorkflowVersionsTab.js +1 -1
  1286. package/workflow/WorkflowVersionsTab.js.map +1 -1
  1287. package/workflow/diff/DiffSummaryBar.js +2 -2
  1288. package/workflow/diff/DiffSummaryBar.js.map +1 -1
  1289. package/workflow/execution-comparison/ComparisonSummaryCards.js +1 -1
  1290. package/workflow/execution-comparison/ComparisonSummaryCards.js.map +1 -1
  1291. package/workflow/execution-comparison/ExecutionComparisonPicker.js +7 -7
  1292. package/workflow/execution-comparison/ExecutionComparisonPicker.js.map +1 -1
  1293. package/workflow/execution-comparison/ExecutionComparisonView.d.ts.map +1 -1
  1294. package/workflow/execution-comparison/ExecutionComparisonView.js +5 -4
  1295. package/workflow/execution-comparison/ExecutionComparisonView.js.map +1 -1
  1296. package/workflow/execution-comparison/TaskComparisonTable.d.ts.map +1 -1
  1297. package/workflow/execution-comparison/TaskComparisonTable.js +23 -22
  1298. package/workflow/execution-comparison/TaskComparisonTable.js.map +1 -1
  1299. package/workflow/execution-history/ExecutionFilterBar.js +5 -5
  1300. package/workflow/execution-history/ExecutionFilterBar.js.map +1 -1
  1301. package/workflow/execution-history/ExecutionHistoryTable.d.ts.map +1 -1
  1302. package/workflow/execution-history/ExecutionHistoryTable.js +15 -13
  1303. package/workflow/execution-history/ExecutionHistoryTable.js.map +1 -1
  1304. package/workflow/execution-history/FailureAnalysisPanel.js +4 -4
  1305. package/workflow/execution-history/FailureAnalysisPanel.js.map +1 -1
  1306. package/workflow/execution-history/HealthMetricsStrip.js +8 -8
  1307. package/workflow/execution-history/HealthMetricsStrip.js.map +1 -1
  1308. package/workflow/execution-history/WorkflowExecutionHistory.js +1 -1
  1309. package/workflow/execution-history/WorkflowExecutionHistory.js.map +1 -1
  1310. package/workflow/facets/WorkflowArtifactsTab.js +2 -2
  1311. package/workflow/facets/WorkflowArtifactsTab.js.map +1 -1
  1312. package/workflow/facets/WorkflowChangesTab.js +5 -5
  1313. package/workflow/facets/WorkflowChangesTab.js.map +1 -1
  1314. package/workflow/facets/WorkflowUsageTab.js +6 -6
  1315. package/workflow/facets/WorkflowUsageTab.js.map +1 -1
  1316. package/workflow/inspector/EdgeInspector.js +1 -1
  1317. package/workflow/inspector/EdgeInspector.js.map +1 -1
  1318. package/workflow/inspector/InspectorHeader.d.ts.map +1 -1
  1319. package/workflow/inspector/InspectorHeader.js +9 -7
  1320. package/workflow/inspector/InspectorHeader.js.map +1 -1
  1321. package/workflow/inspector/InspectorShell.js +2 -2
  1322. package/workflow/inspector/InspectorShell.js.map +1 -1
  1323. package/workflow/inspector/NestedTaskList.d.ts.map +1 -1
  1324. package/workflow/inspector/NestedTaskList.js +3 -2
  1325. package/workflow/inspector/NestedTaskList.js.map +1 -1
  1326. package/workflow/inspector/SentinelInspector.js +1 -1
  1327. package/workflow/inspector/SentinelInspector.js.map +1 -1
  1328. package/workflow/inspector/WorkflowSummaryPanel.d.ts.map +1 -1
  1329. package/workflow/inspector/WorkflowSummaryPanel.js +6 -5
  1330. package/workflow/inspector/WorkflowSummaryPanel.js.map +1 -1
  1331. package/workflow/inspector/forms/AgentCallForm.js +9 -9
  1332. package/workflow/inspector/forms/AgentCallForm.js.map +1 -1
  1333. package/workflow/inspector/forms/HttpCallForm.js +4 -4
  1334. package/workflow/inspector/forms/HttpCallForm.js.map +1 -1
  1335. package/workflow/inspector/tabs/AdvancedTab.js +2 -2
  1336. package/workflow/inspector/tabs/AdvancedTab.js.map +1 -1
  1337. package/workflow/inspector/tabs/BranchesTab.d.ts.map +1 -1
  1338. package/workflow/inspector/tabs/BranchesTab.js +9 -6
  1339. package/workflow/inspector/tabs/BranchesTab.js.map +1 -1
  1340. package/workflow/inspector/tabs/CatchTab.js +2 -2
  1341. package/workflow/inspector/tabs/CatchTab.js.map +1 -1
  1342. package/workflow/inspector/tabs/ConfigureTab.js +3 -3
  1343. package/workflow/inspector/tabs/ConfigureTab.js.map +1 -1
  1344. package/workflow/inspector/tabs/DataTab.js +1 -1
  1345. package/workflow/inspector/tabs/DataTab.js.map +1 -1
  1346. package/workflow/inspector/tabs/DocsTab.js +1 -1
  1347. package/workflow/inspector/tabs/DocsTab.js.map +1 -1
  1348. package/workflow/inspector/tabs/IterationTab.js +3 -3
  1349. package/workflow/inspector/tabs/IterationTab.js.map +1 -1
  1350. package/workflow/inspector/tabs/RuntimeTab.js +9 -9
  1351. package/workflow/inspector/tabs/RuntimeTab.js.map +1 -1
  1352. package/workflow/instance/CreateWorkflowInstanceDialog.js +1 -1
  1353. package/workflow/instance/CreateWorkflowInstanceDialog.js.map +1 -1
  1354. package/workflow/instance/RunVisibilityControl.js +5 -5
  1355. package/workflow/instance/RunVisibilityControl.js.map +1 -1
  1356. package/workflow/instance/WorkflowInstanceDetailPanel.js +2 -2
  1357. package/workflow/instance/WorkflowInstanceDetailPanel.js.map +1 -1
  1358. package/workflow/instance/WorkflowInstanceList.d.ts.map +1 -1
  1359. package/workflow/instance/WorkflowInstanceList.js +5 -4
  1360. package/workflow/instance/WorkflowInstanceList.js.map +1 -1
  1361. package/workflow/node-shell/BranchBadge.js +3 -3
  1362. package/workflow/node-shell/BranchBadge.js.map +1 -1
  1363. package/workflow/node-shell/DiffBadge.d.ts.map +1 -1
  1364. package/workflow/node-shell/DiffBadge.js +6 -5
  1365. package/workflow/node-shell/DiffBadge.js.map +1 -1
  1366. package/workflow/node-shell/ExecutionBadge.d.ts.map +1 -1
  1367. package/workflow/node-shell/ExecutionBadge.js +11 -10
  1368. package/workflow/node-shell/ExecutionBadge.js.map +1 -1
  1369. package/workflow/node-shell/NodeActions.d.ts.map +1 -1
  1370. package/workflow/node-shell/NodeActions.js +14 -13
  1371. package/workflow/node-shell/NodeActions.js.map +1 -1
  1372. package/workflow/node-shell/NodeContent.js +5 -5
  1373. package/workflow/node-shell/NodeContent.js.map +1 -1
  1374. package/workflow/node-shell/NodeHandles.js +5 -5
  1375. package/workflow/node-shell/NodeHandles.js.map +1 -1
  1376. package/workflow/node-shell/NodeShell.js +14 -14
  1377. package/workflow/node-shell/NodeShell.js.map +1 -1
  1378. package/workflow/picker/BranchAddPopover.js +2 -2
  1379. package/workflow/picker/BranchAddPopover.js.map +1 -1
  1380. package/workflow/task-detail/StructuredDataViewer.d.ts.map +1 -1
  1381. package/workflow/task-detail/StructuredDataViewer.js +16 -12
  1382. package/workflow/task-detail/StructuredDataViewer.js.map +1 -1
  1383. package/workflow/templates/WorkflowTemplateCard.js +17 -17
  1384. package/workflow/templates/WorkflowTemplateCard.js.map +1 -1
  1385. package/workflow/templates/WorkflowTemplateGallery.js +5 -5
  1386. package/workflow/templates/WorkflowTemplateGallery.js.map +1 -1
  1387. package/workflow/templates/WorkflowTemplatePreview.js +5 -5
  1388. package/workflow/templates/WorkflowTemplatePreview.js.map +1 -1
  1389. package/workflow/thread/WorkflowTaskThread.js +16 -16
  1390. package/workflow/thread/WorkflowTaskThread.js.map +1 -1
  1391. package/workspace/EditorTabs.d.ts.map +1 -1
  1392. package/workspace/EditorTabs.js +38 -37
  1393. package/workspace/EditorTabs.js.map +1 -1
  1394. package/workspace/ExplorerTree.d.ts.map +1 -1
  1395. package/workspace/ExplorerTree.js +7 -6
  1396. package/workspace/ExplorerTree.js.map +1 -1
  1397. package/workspace/FileViewer.d.ts.map +1 -1
  1398. package/workspace/FileViewer.js +21 -20
  1399. package/workspace/FileViewer.js.map +1 -1
  1400. package/workspace/PanelChip.d.ts.map +1 -1
  1401. package/workspace/PanelChip.js +2 -1
  1402. package/workspace/PanelChip.js.map +1 -1
  1403. package/workspace/WorkspaceContentSearch.js +11 -11
  1404. package/workspace/WorkspaceContentSearch.js.map +1 -1
  1405. package/workspace/WorkspaceEditor.d.ts.map +1 -1
  1406. package/workspace/WorkspaceEditor.js +11 -10
  1407. package/workspace/WorkspaceEditor.js.map +1 -1
  1408. package/workspace/WorkspaceFileSearch.js +9 -9
  1409. package/workspace/WorkspaceFileSearch.js.map +1 -1
  1410. package/workspace/WorkspaceSummary.d.ts.map +1 -1
  1411. package/workspace/WorkspaceSummary.js +8 -3
  1412. package/workspace/WorkspaceSummary.js.map +1 -1
  1413. package/workspace/WorkspaceSurface.d.ts.map +1 -1
  1414. package/workspace/WorkspaceSurface.js +28 -27
  1415. package/workspace/WorkspaceSurface.js.map +1 -1
@@ -10,6 +10,7 @@ import { AttachmentImageLightbox } from "../attachment/AttachmentImageLightbox.j
10
10
  import { formatFileSize } from "../attachment/attachment-utils.js";
11
11
  import { UNSTYLED_BUTTON } from "../internal/form-primitives.js";
12
12
  import { toError } from "../internal/toError.js";
13
+ import { TruncatedText } from "../internal/truncated-text.js";
13
14
  import { useStigmer } from "../hooks.js";
14
15
  import { useConversationMediaUrl } from "./useConversationMediaUrl.js";
15
16
 
@@ -115,32 +116,32 @@ function MediaImageThumbnail({
115
116
 
116
117
  return (
117
118
  <>
118
- {/* UNSTYLED_BUTTON is load-bearing: without it the thumbnail shows
119
- the UA's default button box in preflight-less hosts. */}
119
+ {/* UNSTYLED_BUTTON adds the pointer cursor the media thumbnail
120
+ carries no other clickability cue. */}
120
121
  <button
121
122
  type="button"
122
123
  onClick={() => setPreviewOpen(true)}
123
124
  aria-label={`Preview ${name}`}
124
125
  className={cn(
125
126
  UNSTYLED_BUTTON,
126
- "block rounded-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
127
+ "stg:block stg:rounded-md stg:focus-visible:outline-none stg:focus-visible:ring-2 stg:focus-visible:ring-ring",
127
128
  className,
128
129
  )}
129
130
  >
130
- <span className="relative block h-40 w-56 max-w-full overflow-hidden rounded-md">
131
+ <span className="stg:relative stg:block stg:h-40 stg:w-56 stg:max-w-full stg:overflow-hidden stg:rounded-md">
131
132
  {url ? (
132
133
  <img
133
134
  src={url}
134
135
  alt=""
135
136
  aria-hidden="true"
136
137
  loading="lazy"
137
- className="h-full w-full object-cover"
138
+ className="stg:h-full stg:w-full stg:object-cover"
138
139
  />
139
140
  ) : (
140
141
  // Pulse placeholder while the presigned URL is minted; same
141
142
  // footprint as the image, so no layout shift.
142
143
  <span
143
- className="block h-full w-full animate-pulse bg-muted"
144
+ className="stg:block stg:h-full stg:w-full stg:animate-pulse stg:bg-muted"
144
145
  aria-hidden="true"
145
146
  />
146
147
  )}
@@ -191,8 +192,7 @@ function MediaDocumentChip({
191
192
  return (
192
193
  <div className={className}>
193
194
  <span
194
- title={name}
195
- className="inline-flex max-w-[240px] items-center rounded-md bg-muted-subtle px-2 py-1 text-xs text-foreground"
195
+ className="stg:inline-flex stg:max-w-[240px] stg:items-center stg:rounded-md stg:bg-muted-subtle stg:px-2 stg:py-1 stg:text-xs stg:text-foreground"
196
196
  >
197
197
  <button
198
198
  type="button"
@@ -201,19 +201,19 @@ function MediaDocumentChip({
201
201
  aria-label={`Open ${name}`}
202
202
  className={cn(
203
203
  UNSTYLED_BUTTON,
204
- "flex min-w-0 items-center gap-1.5 rounded-sm text-inherit [font:inherit] hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
205
- isOpening && "opacity-70",
204
+ "stg:flex stg:min-w-0 stg:items-center stg:gap-1.5 stg:rounded-sm stg:hover:text-accent-foreground stg:focus-visible:outline-none stg:focus-visible:ring-2 stg:focus-visible:ring-ring",
205
+ isOpening && "stg:opacity-70",
206
206
  )}
207
207
  >
208
208
  <FileGlyph />
209
- <span className="min-w-0 truncate">{name}</span>
209
+ <TruncatedText text={name} className="stg:min-w-0" />
210
210
  {size !== null && (
211
- <span className="shrink-0 text-muted-foreground">{size}</span>
211
+ <span className="stg:shrink-0 stg:text-muted-foreground">{size}</span>
212
212
  )}
213
213
  </button>
214
214
  </span>
215
215
  {error !== null && (
216
- <p className="mt-1 break-words text-xs text-destructive">
216
+ <p className="stg:mt-1 stg:break-words stg:text-xs stg:text-destructive">
217
217
  {getUserMessage(error)}
218
218
  </p>
219
219
  )}
@@ -298,7 +298,7 @@ function FileGlyph() {
298
298
  strokeWidth="1.5"
299
299
  strokeLinecap="round"
300
300
  strokeLinejoin="round"
301
- className="shrink-0 text-muted-foreground"
301
+ className="stg:shrink-0 stg:text-muted-foreground"
302
302
  aria-hidden="true"
303
303
  >
304
304
  <path d="M8 1H4C3.45 1 3 1.45 3 2V12C3 12.55 3.45 13 4 13H10C10.55 13 11 12.55 11 12V4L8 1Z" />
@@ -19,6 +19,7 @@ import {
19
19
  import { useAutoScroll } from "../internal/useAutoScroll.js";
20
20
  import { ConversationMediaAttachment } from "./ConversationMediaAttachment.js";
21
21
  import {
22
+ attemptExplanationOf,
22
23
  authorKindOf,
23
24
  inboundPlaceholderOf,
24
25
  isInternalItem,
@@ -113,15 +114,15 @@ export function ConversationTimelineView({
113
114
  <TooltipProvider>
114
115
  <div
115
116
  aria-label="Conversation timeline"
116
- className={cn("relative flex min-h-0 flex-1 flex-col", className)}
117
+ className={cn("stg:relative stg:flex stg:min-h-0 stg:flex-1 stg:flex-col", className)}
117
118
  >
118
119
  <div
119
120
  ref={scrollRef}
120
- className="min-h-0 flex-1 overflow-y-auto [overflow-anchor:none] px-4 py-3"
121
+ className="stg:min-h-0 stg:flex-1 stg:overflow-y-auto stg:[overflow-anchor:none] stg:px-4 stg:py-3"
121
122
  >
122
123
  {!showsCustomerMessages && descriptor && (
123
- <div className="mb-3 flex items-start gap-2 rounded-md border border-border bg-muted-faint px-3 py-2 text-xs text-muted-foreground">
124
- <Info aria-hidden="true" className="mt-0.5 size-3.5 shrink-0" />
124
+ <div className="stg:mb-3 stg:flex stg:items-start stg:gap-2 stg:rounded-md stg:border stg:border-border stg:bg-muted-faint stg:px-3 stg:py-2 stg:text-xs stg:text-muted-foreground">
125
+ <Info aria-hidden="true" className="stg:mt-0.5 stg:size-3.5 stg:shrink-0" />
125
126
  <p>
126
127
  Customer messages on {descriptor.label} channels aren&apos;t shown
127
128
  here yet — this thread has replies, sends, and internal events only.
@@ -132,20 +133,20 @@ export function ConversationTimelineView({
132
133
  {isLoading ? (
133
134
  <TimelineSkeleton />
134
135
  ) : error ? (
135
- <p className="px-2 py-6 text-center text-sm text-destructive">
136
+ <p className="stg:px-2 stg:py-6 stg:text-center stg:text-sm stg:text-destructive">
136
137
  {getUserMessage(error)}
137
138
  </p>
138
139
  ) : items.length === 0 ? (
139
140
  <EmptyState
140
141
  variant="first-use"
141
- icon={<MessageSquare className="size-8" />}
142
+ icon={<MessageSquare className="stg:size-8" />}
142
143
  title="No messages yet"
143
144
  description="The conversation's messages appear here as they happen."
144
145
  />
145
146
  ) : (
146
147
  <div ref={contentRef}>
147
148
  {hasOlder && (
148
- <div className="flex justify-center pb-2">
149
+ <div className="stg:flex stg:justify-center stg:pb-2">
149
150
  <Button
150
151
  variant="ghost"
151
152
  size="xs"
@@ -159,12 +160,12 @@ export function ConversationTimelineView({
159
160
  {days.map((day) => (
160
161
  <div key={day.label}>
161
162
  <div
162
- className="my-2 text-center text-xs text-muted-foreground-faint"
163
+ className="stg:my-2 stg:text-center stg:text-xs stg:text-muted-foreground-faint"
163
164
  role="separator"
164
165
  >
165
166
  {day.label}
166
167
  </div>
167
- <ul className="space-y-1.5">
168
+ <ul className="stg:space-y-1.5">
168
169
  {day.items.map((item) => (
169
170
  <TimelineItemRow
170
171
  key={item.itemId}
@@ -228,8 +229,10 @@ const TimelineItemRow = memo(function TimelineItemRow({
228
229
  // relay, never pattern-matched; the numeric twin (receipt_error_code)
229
230
  // stays off the surface as machine vocabulary. Gated exactly like
230
231
  // ReceiptTicks' failed arm — attempt delivered AND receipt failed —
231
- // so the attempt-axis explanation (last_error, F-25's slice) can
232
- // structurally never leak in here.
232
+ // so the attempt-axis explanation (attemptExplanationOf, cloud#262's
233
+ // slice) can structurally never leak in here: its gate requires
234
+ // attempt FAILED, this one attempt delivered, so at most one of the
235
+ // two explanations ever renders.
233
236
  const receiptExplanation =
234
237
  sendAttemptOf(item) === "delivered" &&
235
238
  receiptOf(item) === "failed" &&
@@ -237,16 +240,25 @@ const TimelineItemRow = memo(function TimelineItemRow({
237
240
  ? item.receiptDetail
238
241
  : null;
239
242
 
243
+ // The attempt axis's explanation (cloud#262, closing F-25), the same
244
+ // R-1 visible-text treatment as the receipt explanation and for the
245
+ // same reason: why a send failed is decision-bearing (a closed
246
+ // 24h-window refusal says "the customer must write first"; a deleted
247
+ // channel says there is nothing to retry). The words and the gate
248
+ // live in attemptExplanationOf — presentation vocabulary, never
249
+ // computed in the view.
250
+ const attemptExplanation = attemptExplanationOf(item);
251
+
240
252
  return (
241
- <li className={cn("flex", isCustomer ? "justify-start" : "justify-end")}>
253
+ <li className={cn("stg:flex", isCustomer ? "stg:justify-start" : "stg:justify-end")}>
242
254
  <div
243
255
  className={cn(
244
- "max-w-[80%] rounded-lg px-3 py-2",
245
- isCustomer ? "bg-muted-subtle" : "bg-primary-subtle",
256
+ "stg:max-w-[80%] stg:rounded-lg stg:px-3 stg:py-2",
257
+ isCustomer ? "stg:bg-muted-subtle" : "stg:bg-primary-subtle",
246
258
  )}
247
259
  >
248
260
  {!isCustomer && (
249
- <p className="text-xs font-medium text-muted-foreground">
261
+ <p className="stg:text-xs stg:font-medium stg:text-muted-foreground">
250
262
  {BUSINESS_CAPTION[author]}
251
263
  </p>
252
264
  )}
@@ -254,7 +266,7 @@ const TimelineItemRow = memo(function TimelineItemRow({
254
266
  <ConversationMediaAttachment
255
267
  media={item.media}
256
268
  address={mediaAddress}
257
- className={item.text ? "mb-1.5" : undefined}
269
+ className={item.text ? "stg:mb-1.5" : undefined}
258
270
  />
259
271
  )}
260
272
  {/* A media item without a caption is complete as its media —
@@ -262,18 +274,23 @@ const TimelineItemRow = memo(function TimelineItemRow({
262
274
  {(body || mediaAddress === null) && (
263
275
  <p
264
276
  className={cn(
265
- "whitespace-pre-wrap break-words text-sm text-foreground",
266
- !item.text && "italic text-muted-foreground",
277
+ "stg:whitespace-pre-wrap stg:break-words stg:text-sm stg:text-foreground",
278
+ !item.text && "stg:italic stg:text-muted-foreground",
267
279
  )}
268
280
  >
269
281
  {body || "Message content unavailable"}
270
282
  </p>
271
283
  )}
272
284
  {receiptExplanation !== null && (
273
- <p className="mt-1 break-words text-xs text-destructive">
285
+ <p className="stg:mt-1 stg:break-words stg:text-xs stg:text-destructive">
274
286
  {receiptExplanation}
275
287
  </p>
276
288
  )}
289
+ {attemptExplanation !== null && (
290
+ <p className="stg:mt-1 stg:break-words stg:text-xs stg:text-destructive">
291
+ {attemptExplanation}
292
+ </p>
293
+ )}
277
294
  <ItemFooter item={item} />
278
295
  </div>
279
296
  </li>
@@ -323,30 +340,30 @@ function ItemFooter({ item }: { readonly item: ConversationTimelineItem }) {
323
340
  : "";
324
341
 
325
342
  return (
326
- <p className="mt-1 flex items-center justify-end gap-1 text-xs text-muted-foreground-faint">
343
+ <p className="stg:mt-1 stg:flex stg:items-center stg:justify-end stg:gap-1 stg:text-xs stg:text-muted-foreground-faint">
327
344
  <span>{time}</span>
328
345
  {attempt === "failed" && (
329
346
  <StatusHint
330
347
  hint="The platform could not deliver this message"
331
- className="flex items-center gap-0.5 text-destructive"
348
+ className="stg:flex stg:items-center stg:gap-0.5 stg:text-destructive"
332
349
  >
333
- <TriangleAlert aria-hidden="true" className="size-3" />
350
+ <TriangleAlert aria-hidden="true" className="stg:size-3" />
334
351
  Not delivered
335
352
  </StatusHint>
336
353
  )}
337
354
  {attempt === "suppressed" && (
338
355
  <StatusHint
339
356
  hint="Withheld because a human had the conversation when it came due"
340
- className="flex items-center gap-0.5"
357
+ className="stg:flex stg:items-center stg:gap-0.5"
341
358
  >
342
- <Ban aria-hidden="true" className="size-3" />
359
+ <Ban aria-hidden="true" className="stg:size-3" />
343
360
  Held
344
361
  </StatusHint>
345
362
  )}
346
363
  {(attempt === "pending" || attempt === "delivering") && (
347
- <StatusHint hint="Sending" className="flex items-center gap-0.5">
348
- <Clock aria-hidden="true" className="size-3" />
349
- <span className="sr-only">Sending</span>
364
+ <StatusHint hint="Sending" className="stg:flex stg:items-center stg:gap-0.5">
365
+ <Clock aria-hidden="true" className="stg:size-3" />
366
+ <span className="stg:sr-only">Sending</span>
350
367
  </StatusHint>
351
368
  )}
352
369
  {attempt === "delivered" && <ReceiptTicks item={item} />}
@@ -366,34 +383,34 @@ function ReceiptTicks({ item }: { readonly item: ConversationTimelineItem }) {
366
383
  return (
367
384
  <StatusHint
368
385
  hint="The provider accepted this message but could not deliver it"
369
- className="flex items-center gap-0.5 text-destructive"
386
+ className="stg:flex stg:items-center stg:gap-0.5 stg:text-destructive"
370
387
  >
371
- <TriangleAlert aria-hidden="true" className="size-3" />
388
+ <TriangleAlert aria-hidden="true" className="stg:size-3" />
372
389
  Delivery failed
373
390
  </StatusHint>
374
391
  );
375
392
  }
376
393
  if (receipt === "read") {
377
394
  return (
378
- <StatusHint hint="Read by the customer" className="text-primary">
379
- <CheckCheck aria-hidden="true" className="size-3.5" />
380
- <span className="sr-only">Read</span>
395
+ <StatusHint hint="Read by the customer" className="stg:text-primary">
396
+ <CheckCheck aria-hidden="true" className="stg:size-3.5" />
397
+ <span className="stg:sr-only">Read</span>
381
398
  </StatusHint>
382
399
  );
383
400
  }
384
401
  if (receipt === "delivered") {
385
402
  return (
386
403
  <StatusHint hint="Delivered to the customer's device">
387
- <CheckCheck aria-hidden="true" className="size-3.5" />
388
- <span className="sr-only">Delivered</span>
404
+ <CheckCheck aria-hidden="true" className="stg:size-3.5" />
405
+ <span className="stg:sr-only">Delivered</span>
389
406
  </StatusHint>
390
407
  );
391
408
  }
392
409
  // Handed to the provider; no (further) receipt yet.
393
410
  return (
394
411
  <StatusHint hint="Sent">
395
- <Check aria-hidden="true" className="size-3.5" />
396
- <span className="sr-only">Sent</span>
412
+ <Check aria-hidden="true" className="stg:size-3.5" />
413
+ <span className="stg:sr-only">Sent</span>
397
414
  </StatusHint>
398
415
  );
399
416
  }
@@ -409,25 +426,25 @@ function InternalEventRow({ item }: { readonly item: ConversationTimelineItem })
409
426
  const isEscalation = author === "agent" && item.text !== "";
410
427
 
411
428
  return (
412
- <li className="flex justify-center">
429
+ <li className="stg:flex stg:justify-center">
413
430
  <div
414
431
  className={cn(
415
- "flex max-w-[90%] items-start gap-1.5 rounded-md px-3 py-1.5 text-center text-xs",
432
+ "stg:flex stg:max-w-[90%] stg:items-start stg:gap-1.5 stg:rounded-md stg:px-3 stg:py-1.5 stg:text-center stg:text-xs",
416
433
  isEscalation
417
- ? "bg-destructive-subtle text-destructive"
418
- : "bg-muted-faint text-muted-foreground",
434
+ ? "stg:bg-destructive-subtle stg:text-destructive"
435
+ : "stg:bg-muted-faint stg:text-muted-foreground",
419
436
  )}
420
437
  >
421
438
  {isEscalation ? (
422
439
  <>
423
- <TriangleAlert aria-hidden="true" className="mt-0.5 size-3.5 shrink-0" />
424
- <span className="min-w-0 break-words">
440
+ <TriangleAlert aria-hidden="true" className="stg:mt-0.5 stg:size-3.5 stg:shrink-0" />
441
+ <span className="stg:min-w-0 stg:break-words">
425
442
  Agent escalated to a human — “{item.text}”
426
443
  </span>
427
444
  </>
428
445
  ) : item.text !== "" ? (
429
446
  // A future internal note flows through with zero code change.
430
- <span className="min-w-0 break-words">{item.text}</span>
447
+ <span className="stg:min-w-0 stg:break-words">{item.text}</span>
431
448
  ) : (
432
449
  <span>A teammate resolved the attention flag</span>
433
450
  )}
@@ -438,10 +455,10 @@ function InternalEventRow({ item }: { readonly item: ConversationTimelineItem })
438
455
 
439
456
  function TimelineSkeleton() {
440
457
  return (
441
- <div className="space-y-2" aria-hidden="true">
442
- <div className="h-10 w-3/5 animate-pulse rounded-lg bg-muted-faint" />
443
- <div className="ml-auto h-10 w-3/5 animate-pulse rounded-lg bg-muted-faint" />
444
- <div className="h-10 w-2/5 animate-pulse rounded-lg bg-muted-faint" />
458
+ <div className="stg:space-y-2" aria-hidden="true">
459
+ <div className="stg:h-10 stg:w-3/5 stg:animate-pulse stg:rounded-lg stg:bg-muted-faint" />
460
+ <div className="stg:ml-auto stg:h-10 stg:w-3/5 stg:animate-pulse stg:rounded-lg stg:bg-muted-faint" />
461
+ <div className="stg:h-10 stg:w-2/5 stg:animate-pulse stg:rounded-lg stg:bg-muted-faint" />
445
462
  </div>
446
463
  );
447
464
  }
@@ -265,10 +265,10 @@ export function ConversationsWorkbench({
265
265
  return (
266
266
  <div
267
267
  aria-label="Conversations workbench"
268
- className={cn("flex min-h-0 flex-1", className)}
268
+ className={cn("stg:flex stg:min-h-0 stg:flex-1", className)}
269
269
  >
270
270
  <ConversationListPane
271
- className="w-80 shrink-0 border-r border-border"
271
+ className="stg:w-80 stg:shrink-0 stg:border-r stg:border-border"
272
272
  conversations={list.conversations}
273
273
  isLoading={list.isLoading}
274
274
  error={list.error}
@@ -286,10 +286,10 @@ export function ConversationsWorkbench({
286
286
  />
287
287
 
288
288
  {selected === null ? (
289
- <div className="flex min-w-0 flex-1 items-center justify-center p-6">
289
+ <div className="stg:flex stg:min-w-0 stg:flex-1 stg:items-center stg:justify-center stg:p-6">
290
290
  <EmptyState
291
291
  variant="first-use"
292
- icon={<MessagesSquare className="size-8" />}
292
+ icon={<MessagesSquare className="stg:size-8" />}
293
293
  title="Select a conversation"
294
294
  description="Pick a conversation to read its thread, reply as your business, or take over from the agent."
295
295
  />
@@ -305,15 +305,15 @@ export function ConversationsWorkbench({
305
305
  // Channel ids never contain ":", so the joined key is unambiguous.
306
306
  <div
307
307
  key={`${selected.agentChannelId}:${selected.conversationKey}`}
308
- className="flex min-w-0 flex-1 flex-col"
308
+ className="stg:flex stg:min-w-0 stg:flex-1 stg:flex-col"
309
309
  >
310
- <div className="flex items-center justify-between gap-2 border-b border-border px-4 py-2.5">
311
- <div className="min-w-0">
312
- <h2 className="truncate text-sm font-semibold text-foreground">
310
+ <div className="stg:flex stg:items-center stg:justify-between stg:gap-2 stg:border-b stg:border-border stg:px-4 stg:py-2.5">
311
+ <div className="stg:min-w-0">
312
+ <h2 className="stg:truncate stg:text-sm stg:font-semibold stg:text-foreground">
313
313
  {detailLabel}
314
314
  </h2>
315
315
  {(detailContact !== null || channelName) && (
316
- <p className="truncate text-xs text-muted-foreground">
316
+ <p className="stg:truncate stg:text-xs stg:text-muted-foreground">
317
317
  {detailContact}
318
318
  {detailContact !== null && channelName && " · "}
319
319
  {channelName &&
@@ -323,7 +323,7 @@ export function ConversationsWorkbench({
323
323
  (selectedChannelHref ? (
324
324
  <a
325
325
  href={selectedChannelHref}
326
- className="hover:text-foreground hover:underline"
326
+ className="stg:hover:text-foreground stg:hover:underline"
327
327
  >
328
328
  {channelName}
329
329
  </a>
@@ -85,7 +85,7 @@ describe("ConversationComposer", () => {
85
85
  expect(button.textContent).toContain("Sending…");
86
86
  // The house in-flight glyph (the session composer's pattern): the
87
87
  // static Send icon must not render while the reply is in flight.
88
- expect(button.querySelector("svg.animate-spin")).not.toBeNull();
88
+ expect(button.querySelector("svg.stg\\:animate-spin")).not.toBeNull();
89
89
  expect(
90
90
  (screen.getByLabelText("Reply to the customer") as HTMLTextAreaElement).disabled,
91
91
  ).toBe(true);
@@ -10,7 +10,10 @@ import {
10
10
  ConversationLane,
11
11
  ConversationTimelineItemSchema,
12
12
  } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/conversation_io_pb";
13
- import { ChannelDeliveryStatus } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/delivery_pb";
13
+ import {
14
+ ChannelAttemptFailureKind,
15
+ ChannelDeliveryStatus,
16
+ } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/delivery_pb";
14
17
  import { ChannelReceiptState } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/outbound_pb";
15
18
  import { StigmerContext } from "../../context";
16
19
  import { ConversationTimelineView } from "../ConversationTimelineView";
@@ -174,8 +177,9 @@ describe("ConversationTimelineView", () => {
174
177
  text: "lost reply",
175
178
  deliveryStatus: ChannelDeliveryStatus.failed,
176
179
  // A malformed item carrying a detail on the wrong axis: the
177
- // attempt-axis explanation (last_error) is F-25's separate
178
- // slice, so this lane renders nothing extra.
180
+ // attempt-axis explanation has its own field and gate
181
+ // (attemptExplanationOf, cloud#262), so a stray receipt
182
+ // detail still renders nothing here.
179
183
  receiptDetail: "should never render",
180
184
  }),
181
185
  ]}
@@ -185,6 +189,105 @@ describe("ConversationTimelineView", () => {
185
189
  expect(screen.queryByText("should never render")).toBeNull();
186
190
  });
187
191
 
192
+ it("shows a refused send's platform-authored explanation verbatim (cloud#262)", () => {
193
+ render(
194
+ <ConversationTimelineView
195
+ {...baseProps()}
196
+ items={[
197
+ item("ob:1", {
198
+ author: ConversationItemAuthor.author_teammate,
199
+ text: "Following up on your case.",
200
+ deliveryStatus: ChannelDeliveryStatus.failed,
201
+ attemptFailureKind: ChannelAttemptFailureKind.attempt_refused,
202
+ attemptDetail: "the recipient's 24-hour customer-service window is closed",
203
+ }),
204
+ ]}
205
+ />,
206
+ );
207
+ expect(screen.getByText("Not delivered")).toBeDefined();
208
+ expect(
209
+ screen.getByText("the recipient's 24-hour customer-service window is closed"),
210
+ ).toBeDefined();
211
+ });
212
+
213
+ it("shows a withdrawn send's structural fact verbatim (cloud#262)", () => {
214
+ render(
215
+ <ConversationTimelineView
216
+ {...baseProps()}
217
+ items={[
218
+ item("dl:1", {
219
+ author: ConversationItemAuthor.author_agent,
220
+ text: "the reply that never landed",
221
+ deliveryStatus: ChannelDeliveryStatus.failed,
222
+ attemptFailureKind: ChannelAttemptFailureKind.attempt_withdrawn,
223
+ attemptDetail: "channel deleted",
224
+ }),
225
+ ]}
226
+ />,
227
+ );
228
+ expect(screen.getByText("channel deleted")).toBeDefined();
229
+ });
230
+
231
+ it("shows this surface's own generic copy for an errored send — the wire carries no detail (cloud#262)", () => {
232
+ render(
233
+ <ConversationTimelineView
234
+ {...baseProps()}
235
+ items={[
236
+ item("dl:1", {
237
+ author: ConversationItemAuthor.author_agent,
238
+ text: "lost reply",
239
+ deliveryStatus: ChannelDeliveryStatus.failed,
240
+ attemptFailureKind: ChannelAttemptFailureKind.attempt_errored,
241
+ // attemptDetail deliberately empty: the server's AttemptFailure
242
+ // construction keeps diagnostics off the wire entirely.
243
+ }),
244
+ ]}
245
+ />,
246
+ );
247
+ expect(screen.getByText("Not delivered")).toBeDefined();
248
+ expect(
249
+ screen.getByText("Delivery failed due to a technical problem on the platform's side."),
250
+ ).toBeDefined();
251
+ });
252
+
253
+ it("keeps the bare tick for a failure the platform never classified (pre-cloud#262 rows)", () => {
254
+ render(
255
+ <ConversationTimelineView
256
+ {...baseProps()}
257
+ items={[
258
+ item("ob:1", {
259
+ author: ConversationItemAuthor.author_teammate,
260
+ text: "an old failed send",
261
+ deliveryStatus: ChannelDeliveryStatus.failed,
262
+ }),
263
+ ]}
264
+ />,
265
+ );
266
+ expect(screen.getByText("Not delivered")).toBeDefined();
267
+ expect(screen.queryByText(/technical problem/)).toBeNull();
268
+ });
269
+
270
+ it("never shows the attempt explanation on a delivered item — the F-25 boundary's mirror", () => {
271
+ render(
272
+ <ConversationTimelineView
273
+ {...baseProps()}
274
+ items={[
275
+ item("ob:1", {
276
+ author: ConversationItemAuthor.author_teammate,
277
+ text: "a landed send",
278
+ deliveryStatus: ChannelDeliveryStatus.delivered,
279
+ // A malformed item carrying attempt copy on a success: the
280
+ // gate requires attempt FAILED, so nothing renders.
281
+ attemptFailureKind: ChannelAttemptFailureKind.attempt_refused,
282
+ attemptDetail: "should never render",
283
+ }),
284
+ ]}
285
+ />,
286
+ );
287
+ expect(screen.queryByText("should never render")).toBeNull();
288
+ expect(screen.queryByText("Not delivered")).toBeNull();
289
+ });
290
+
188
291
  it("renders a dead-lettered send as exactly that", () => {
189
292
  render(
190
293
  <ConversationTimelineView
@@ -6,7 +6,10 @@ import {
6
6
  ConversationLane,
7
7
  type ConversationTimelineItem,
8
8
  } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/conversation_io_pb";
9
- import { ChannelDeliveryStatus } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/delivery_pb";
9
+ import {
10
+ ChannelAttemptFailureKind,
11
+ ChannelDeliveryStatus,
12
+ } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/delivery_pb";
10
13
  import { ChannelReceiptState } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/outbound_pb";
11
14
  import type { ChannelProviderId } from "../channel/providers.js";
12
15
 
@@ -106,6 +109,54 @@ export function receiptOf(item: ConversationTimelineItem): ReceiptKind | null {
106
109
  }
107
110
  }
108
111
 
112
+ /**
113
+ * Why a FAILED send attempt failed, in render vocabulary. `null` until
114
+ * the platform classifies (rows failed before the classification
115
+ * existed, and every non-failed item).
116
+ *
117
+ * The structured twin of {@link attemptExplanationOf}'s prose
118
+ * (cloud#262): a renderer that branches on the failure keys on this,
119
+ * never on the explanation's words.
120
+ */
121
+ export type AttemptFailureKind = "refused" | "errored" | "withdrawn";
122
+
123
+ /** Map the wire attempt-failure kind onto the render vocabulary. */
124
+ export function attemptFailureOf(item: ConversationTimelineItem): AttemptFailureKind | null {
125
+ switch (item.attemptFailureKind) {
126
+ case ChannelAttemptFailureKind.attempt_refused:
127
+ return "refused";
128
+ case ChannelAttemptFailureKind.attempt_errored:
129
+ return "errored";
130
+ case ChannelAttemptFailureKind.attempt_withdrawn:
131
+ return "withdrawn";
132
+ default:
133
+ return null;
134
+ }
135
+ }
136
+
137
+ /**
138
+ * The visible explanation for a FAILED send attempt, or `null` when the
139
+ * item carries none to show (non-failed items, and rows failed before
140
+ * the platform classified failures).
141
+ *
142
+ * The attempt-axis sibling of the receipt explanation (cloud#262,
143
+ * closing F-25): `attempt_detail` is PLATFORM-authored thread-safe copy
144
+ * — the write side guarantees raw diagnostics never occupy it — so it
145
+ * renders verbatim when present (refusals and withdrawn sends). An
146
+ * `errored` failure deliberately carries no detail (its diagnostic is
147
+ * operator-only, in `last_error` server-side); the copy here is this
148
+ * surface's own generic for that arm, and it makes NO claim about
149
+ * attempt counts — the wire does not carry them, and `errored` covers
150
+ * first-try structural dead-letters as well as exhausted retries.
151
+ */
152
+ export function attemptExplanationOf(item: ConversationTimelineItem): string | null {
153
+ if (sendAttemptOf(item) !== "failed") return null;
154
+ if (item.attemptDetail !== "") return item.attemptDetail;
155
+ return attemptFailureOf(item) === "errored"
156
+ ? "Delivery failed due to a technical problem on the platform's side."
157
+ : null;
158
+ }
159
+
109
160
  /**
110
161
  * Placeholder copy for inbound items whose body the platform cannot
111
162
  * render (`text` empty, `provider_message_type` names the kind) — the