@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
@@ -0,0 +1,321 @@
1
+ import { describe, it, expect, vi, beforeAll, afterEach } from "vitest";
2
+ import { render, screen, cleanup, fireEvent } from "@testing-library/react";
3
+ import type { ReactNode } from "react";
4
+ import { create } from "@bufbuild/protobuf";
5
+ import { createRouterTransport } from "@connectrpc/connect";
6
+ import { Stigmer } from "@stigmer/sdk";
7
+ import { McpServerQueryController } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/query_pb";
8
+ import { GetOAuthGrantStatusOutputSchema } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/io_pb";
9
+ import {
10
+ McpServerSpecSchema,
11
+ McpServerAuthSchema,
12
+ HttpServerConfigSchema,
13
+ } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/spec_pb";
14
+ import {
15
+ McpServerStatusSchema,
16
+ OAuthStatusSchema,
17
+ OAuthAppSource,
18
+ ValidationState,
19
+ } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/status_pb";
20
+ import { VendorApprovalStatus } from "@stigmer/protos/ai/stigmer/iam/oauthapp/v1/spec_pb";
21
+ import { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
22
+ import type { McpServer } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/api_pb";
23
+ import { samples } from "../../test/samples";
24
+ import { StigmerContext } from "../../context";
25
+ import { McpServerConnectDialog } from "../McpServerConnectDialog";
26
+ import { McpServerDetailView } from "../McpServerDetailView";
27
+ import { McpServerConfigPanel } from "../McpServerConfigPanel";
28
+ import type { UseMcpServerReturn } from "../useMcpServer";
29
+
30
+ /**
31
+ * Pins the oauth_only + vendor-approval-blocked combination across the three
32
+ * connect surfaces (stigmer/stigmer#412). Before the shared notice, this
33
+ * state was a silent dead end in the connect dialog (disabled button, no
34
+ * reason, no way forward) and two surfaces recommended manual token entry on
35
+ * servers whose endpoint rejects static tokens.
36
+ */
37
+
38
+ // happy-dom does not implement the native dialog show/close methods.
39
+ beforeAll(() => {
40
+ HTMLDialogElement.prototype.showModal = function showModal() {
41
+ this.open = true;
42
+ };
43
+ HTMLDialogElement.prototype.close = function close() {
44
+ this.open = false;
45
+ };
46
+ });
47
+
48
+ afterEach(cleanup);
49
+
50
+ const ORG = "acme";
51
+ const SLUG = "vendor-crm";
52
+ const DOCS_URL = "https://vendor.example.com/oauth-docs";
53
+
54
+ /**
55
+ * An oauth_only vendor-OAuth server whose platform OAuth app is blocked.
56
+ * `withAppRef` controls the BYOA arm: with a ref and a platform-sourced
57
+ * effective app, `canBringOwnApp` is true.
58
+ */
59
+ function buildBlockedOAuthOnlyServer(options: {
60
+ status: VendorApprovalStatus;
61
+ withAppRef: boolean;
62
+ }): McpServer {
63
+ const server = samples.mcpServer({ name: "Vendor CRM", org: ORG, slug: SLUG });
64
+ server.spec = create(McpServerSpecSchema, {
65
+ description: "CRM tools over the vendor's hosted MCP endpoint.",
66
+ serverType: {
67
+ case: "http",
68
+ value: create(HttpServerConfigSchema, { url: "https://mcp.vendor.example.com" }),
69
+ },
70
+ auth: create(McpServerAuthSchema, {
71
+ targetEnvVar: "VENDOR_ACCESS_TOKEN",
72
+ oauthOnly: true,
73
+ ...(options.withAppRef
74
+ ? {
75
+ oauthAppRef: {
76
+ org: "stigmer",
77
+ kind: ApiResourceKind.oauth_app,
78
+ slug: "vendor-oauth",
79
+ },
80
+ }
81
+ : {}),
82
+ }),
83
+ });
84
+ server.status = create(McpServerStatusSchema, {
85
+ validationState: ValidationState.valid,
86
+ oauthStatus: create(OAuthStatusSchema, {
87
+ vendorApprovalStatus: options.status,
88
+ vendorApprovalDocsUrl: DOCS_URL,
89
+ effectiveOauthSource: OAuthAppSource.OAUTH_APP_SOURCE_PLATFORM,
90
+ }),
91
+ });
92
+ return server;
93
+ }
94
+
95
+ function noGrant() {
96
+ return create(GetOAuthGrantStatusOutputSchema, { connected: false });
97
+ }
98
+
99
+ function renderWithTransport(
100
+ ui: ReactNode,
101
+ register: Parameters<typeof createRouterTransport>[0] = () => {},
102
+ ) {
103
+ const client = new Stigmer({
104
+ baseUrl: "/",
105
+ getAccessToken: () => "test-token",
106
+ customTransport: createRouterTransport(register),
107
+ });
108
+ return render(
109
+ <StigmerContext.Provider value={client}>{ui}</StigmerContext.Provider>,
110
+ );
111
+ }
112
+
113
+ // ---------------------------------------------------------------------------
114
+ // Surface 1: McpServerConnectDialog — the surface that was a silent dead end
115
+ // ---------------------------------------------------------------------------
116
+
117
+ describe("McpServerConnectDialog — oauth_only + vendor-blocked", () => {
118
+ function renderDialog(server: McpServer, onOpenDetails?: () => void) {
119
+ return renderWithTransport(
120
+ <McpServerConnectDialog
121
+ org={ORG}
122
+ slug={SLUG}
123
+ open
124
+ onClose={() => {}}
125
+ onOpenDetails={onOpenDetails}
126
+ />,
127
+ (router) => {
128
+ router.service(McpServerQueryController, {
129
+ getByReference: () => server,
130
+ getOAuthGrantStatus: noGrant,
131
+ });
132
+ },
133
+ );
134
+ }
135
+
136
+ it("explains the blocked state instead of showing only a disabled button", async () => {
137
+ renderDialog(
138
+ buildBlockedOAuthOnlyServer({
139
+ status: VendorApprovalStatus.PENDING,
140
+ withAppRef: true,
141
+ }),
142
+ );
143
+
144
+ const signIn = await screen.findByRole("button", {
145
+ name: "Sign in with OAuth",
146
+ });
147
+ expect((signIn as HTMLButtonElement).disabled).toBe(true);
148
+ // The reason is always visible — this was the oss#412 dead end.
149
+ expect(screen.getByText(/is awaiting vendor approval/)).toBeTruthy();
150
+ });
151
+
152
+ it("never offers manual entry on an oauth_only server", async () => {
153
+ renderDialog(
154
+ buildBlockedOAuthOnlyServer({
155
+ status: VendorApprovalStatus.PENDING,
156
+ withAppRef: true,
157
+ }),
158
+ );
159
+
160
+ await screen.findByRole("button", { name: "Sign in with OAuth" });
161
+ // OAuthRequiredNotice legitimately says tokens are *rejected*; what must
162
+ // never appear is a recommendation to enter one.
163
+ expect(screen.queryByText(/enter (a|your) token manually/i)).toBeNull();
164
+ expect(
165
+ screen.queryByRole("button", { name: "Enter token manually" }),
166
+ ).toBeNull();
167
+ });
168
+
169
+ it("routes the BYOA escape hatch to onOpenDetails", async () => {
170
+ const onOpenDetails = vi.fn();
171
+ renderDialog(
172
+ buildBlockedOAuthOnlyServer({
173
+ status: VendorApprovalStatus.PENDING,
174
+ withAppRef: true,
175
+ }),
176
+ onOpenDetails,
177
+ );
178
+
179
+ fireEvent.click(
180
+ await screen.findByRole("button", { name: "Use your own OAuth app" }),
181
+ );
182
+ expect(onOpenDetails).toHaveBeenCalledTimes(1);
183
+ });
184
+
185
+ it("is honest about rejection and falls back to the docs link without BYOA", async () => {
186
+ renderDialog(
187
+ buildBlockedOAuthOnlyServer({
188
+ status: VendorApprovalStatus.REJECTED,
189
+ withAppRef: false,
190
+ }),
191
+ );
192
+
193
+ expect(
194
+ await screen.findByText(/was not approved by the vendor/),
195
+ ).toBeTruthy();
196
+ expect(screen.queryByText(/awaiting vendor approval/)).toBeNull();
197
+ const docs = screen.getByRole("link", {
198
+ name: /Learn how to bring your own token/,
199
+ });
200
+ expect(docs.getAttribute("href")).toBe(DOCS_URL);
201
+ });
202
+ });
203
+
204
+ // ---------------------------------------------------------------------------
205
+ // Surface 2: McpServerDetailView — the banner that recommended a dead path
206
+ // ---------------------------------------------------------------------------
207
+
208
+ describe("McpServerDetailView — oauth_only + vendor-blocked", () => {
209
+ function loadedState(server: McpServer): UseMcpServerReturn {
210
+ return {
211
+ mcpServer: server,
212
+ isLoading: false,
213
+ isRefetching: false,
214
+ error: null,
215
+ refetch: vi.fn(),
216
+ };
217
+ }
218
+
219
+ it("offers BYOA without recommending manual entry, and keeps the tour's CTA marker", async () => {
220
+ renderWithTransport(
221
+ <McpServerDetailView
222
+ org={ORG}
223
+ slug={SLUG}
224
+ mcpServerState={loadedState(
225
+ buildBlockedOAuthOnlyServer({
226
+ status: VendorApprovalStatus.PENDING,
227
+ withAppRef: true,
228
+ }),
229
+ )}
230
+ />,
231
+ (router) => {
232
+ router.service(McpServerQueryController, {
233
+ getOAuthGrantStatus: noGrant,
234
+ });
235
+ },
236
+ );
237
+
238
+ expect(
239
+ await screen.findByText(
240
+ "The platform's OAuth app is awaiting vendor approval. You can use your own OAuth app.",
241
+ ),
242
+ ).toBeTruthy();
243
+ // OAuthRequiredNotice legitimately says tokens are *rejected*; what must
244
+ // never appear is a recommendation to enter one.
245
+ expect(screen.queryByText(/enter (a|your) token manually/i)).toBeNull();
246
+ expect(
247
+ screen.queryByRole("button", { name: "Enter token manually" }),
248
+ ).toBeNull();
249
+
250
+ const cta = screen.getByRole("button", { name: "Use your own OAuth app" });
251
+ // The byoa-setup docs tour targets this marker; it must survive the
252
+ // extraction into the shared notice.
253
+ expect(cta.getAttribute("data-cursor-target")).toBe("byoa-cta-button");
254
+ });
255
+ });
256
+
257
+ // ---------------------------------------------------------------------------
258
+ // Surface 3: McpServerConfigPanel — the session-setup inline sign-in
259
+ // ---------------------------------------------------------------------------
260
+
261
+ describe("McpServerConfigPanel — oauth_only + vendor-blocked", () => {
262
+ function renderPanel(
263
+ oauthSignInOverrides: Record<string, unknown> = {},
264
+ panelOverrides: Record<string, unknown> = {},
265
+ ) {
266
+ const server = buildBlockedOAuthOnlyServer({
267
+ status: VendorApprovalStatus.PENDING,
268
+ withAppRef: true,
269
+ });
270
+ return renderWithTransport(
271
+ <McpServerConfigPanel
272
+ mcpServer={server}
273
+ oauthSignIn={{
274
+ onSignIn: () => {},
275
+ phase: "idle",
276
+ isConnected: false,
277
+ error: null,
278
+ onClearError: () => {},
279
+ isVendorApprovalPending: true,
280
+ isVendorApprovalBlocked: true,
281
+ vendorApprovalDocsUrl: DOCS_URL,
282
+ ...oauthSignInOverrides,
283
+ }}
284
+ discoveredTools={[]}
285
+ toolApprovals={[]}
286
+ enabledTools={[]}
287
+ onEnabledToolsChange={() => {}}
288
+ onBack={() => {}}
289
+ error={null}
290
+ {...panelOverrides}
291
+ />,
292
+ );
293
+ }
294
+
295
+ it("never claims manual entry when the affordance is not wired (oauth_only)", () => {
296
+ renderPanel();
297
+ expect(screen.getByText(/is awaiting vendor approval/)).toBeTruthy();
298
+ expect(screen.queryByText(/manually/)).toBeNull();
299
+ });
300
+
301
+ it("explicit manualEntrySupported=false wins even if a switch handler leaks through", () => {
302
+ renderPanel(
303
+ { manualEntrySupported: false },
304
+ { onSwitchToManual: () => {} },
305
+ );
306
+ expect(screen.getByText(/is awaiting vendor approval/)).toBeTruthy();
307
+ expect(
308
+ screen.getByText(/OAuth sign-in is temporarily unavailable for this server/),
309
+ ).toBeTruthy();
310
+ expect(
311
+ screen.queryByText(/You can use your own OAuth app or enter a token manually/),
312
+ ).toBeNull();
313
+ });
314
+
315
+ it("mentions manual entry when the panel actually offers it (legacy fallback)", () => {
316
+ renderPanel({}, { onSwitchToManual: () => {} });
317
+ expect(
318
+ screen.getByText(/You can still connect by entering your own token manually/),
319
+ ).toBeTruthy();
320
+ });
321
+ });
@@ -0,0 +1,154 @@
1
+ import { describe, it, expect, vi, afterEach } from "vitest";
2
+ import { render, screen, cleanup, fireEvent } from "@testing-library/react";
3
+ import { VendorApprovalBlockedNotice } from "../VendorApprovalBlockedNotice";
4
+
5
+ afterEach(cleanup);
6
+
7
+ /**
8
+ * The copy contract for the vendor-approval-blocked state lives here.
9
+ *
10
+ * The invariant under test (stigmer/stigmer#412): the notice must never
11
+ * recommend a path that does not exist. "Enter a token manually" may only
12
+ * appear when the endpoint accepts static tokens; "use your own OAuth app"
13
+ * only when BYOA is relevant; and when neither exists the notice must still
14
+ * explain the state — a disabled button is never the only signal.
15
+ */
16
+
17
+ const DOCS_URL = "https://vendor.example.com/oauth-docs";
18
+
19
+ function renderNotice(
20
+ overrides: Partial<Parameters<typeof VendorApprovalBlockedNotice>[0]> = {},
21
+ ) {
22
+ return render(
23
+ <VendorApprovalBlockedNotice
24
+ blocked
25
+ pending
26
+ manualEntrySupported
27
+ canBringOwnApp={false}
28
+ docsUrl={null}
29
+ {...overrides}
30
+ />,
31
+ );
32
+ }
33
+
34
+ describe("VendorApprovalBlockedNotice — self-gating", () => {
35
+ it("renders nothing when not blocked", () => {
36
+ const { container } = renderNotice({ blocked: false });
37
+ expect(container.innerHTML).toBe("");
38
+ });
39
+ });
40
+
41
+ describe("VendorApprovalBlockedNotice — status sentence honesty", () => {
42
+ it("says awaiting approval for a PENDING app", () => {
43
+ renderNotice({ pending: true });
44
+ expect(
45
+ screen.getByText(/is awaiting vendor approval/),
46
+ ).toBeTruthy();
47
+ });
48
+
49
+ it("says not approved for a REJECTED app — never 'pending'", () => {
50
+ renderNotice({ pending: false });
51
+ expect(
52
+ screen.getByText(/was not approved by the vendor/),
53
+ ).toBeTruthy();
54
+ expect(screen.queryByText(/awaiting vendor approval/)).toBeNull();
55
+ expect(screen.queryByText(/pending/i)).toBeNull();
56
+ });
57
+ });
58
+
59
+ describe("VendorApprovalBlockedNotice — alternative-path matrix", () => {
60
+ it("BYOA + manual: offers both (the copy depicted in the byoa-setup tour, byte-stable)", () => {
61
+ renderNotice({ canBringOwnApp: true, manualEntrySupported: true });
62
+ expect(
63
+ screen.getByText(
64
+ "The platform's OAuth app is awaiting vendor approval. You can use your own OAuth app or enter a token manually.",
65
+ ),
66
+ ).toBeTruthy();
67
+ });
68
+
69
+ it("BYOA + oauth_only: offers BYOA and never mentions manual entry", () => {
70
+ renderNotice({ canBringOwnApp: true, manualEntrySupported: false });
71
+ expect(screen.getByText(/You can use your own OAuth app\./)).toBeTruthy();
72
+ expect(screen.queryByText(/manually/)).toBeNull();
73
+ });
74
+
75
+ it("no BYOA + manual: offers manual entry", () => {
76
+ renderNotice({ canBringOwnApp: false, manualEntrySupported: true });
77
+ expect(
78
+ screen.getByText(/You can still connect by entering your own token manually\./),
79
+ ).toBeTruthy();
80
+ });
81
+
82
+ it("no BYOA + oauth_only: still explains itself with no false path", () => {
83
+ renderNotice({ canBringOwnApp: false, manualEntrySupported: false });
84
+ expect(
85
+ screen.getByText(/OAuth sign-in is temporarily unavailable for this server\./),
86
+ ).toBeTruthy();
87
+ expect(screen.queryByText(/manually/)).toBeNull();
88
+ expect(screen.queryByText(/your own OAuth app/)).toBeNull();
89
+ });
90
+ });
91
+
92
+ describe("VendorApprovalBlockedNotice — affordances", () => {
93
+ it("renders the BYOA call-to-action and routes clicks", () => {
94
+ const onBringOwnApp = vi.fn();
95
+ renderNotice({ canBringOwnApp: true, onBringOwnApp });
96
+
97
+ fireEvent.click(
98
+ screen.getByRole("button", { name: "Use your own OAuth app" }),
99
+ );
100
+ expect(onBringOwnApp).toHaveBeenCalledTimes(1);
101
+ });
102
+
103
+ it("omits the BYOA call-to-action when no action is wired, keeping the copy", () => {
104
+ renderNotice({ canBringOwnApp: true });
105
+ expect(
106
+ screen.queryByRole("button", { name: "Use your own OAuth app" }),
107
+ ).toBeNull();
108
+ expect(screen.getByText(/You can use your own OAuth app/)).toBeTruthy();
109
+ });
110
+
111
+ it("links the docs when BYOA is not offered inline", () => {
112
+ renderNotice({ canBringOwnApp: false, docsUrl: DOCS_URL });
113
+ const link = screen.getByRole("link", {
114
+ name: /Learn how to bring your own token/,
115
+ });
116
+ expect(link.getAttribute("href")).toBe(DOCS_URL);
117
+ expect(link.getAttribute("target")).toBe("_blank");
118
+ });
119
+
120
+ it("suppresses the docs link when the BYOA form (which carries it) is one click away", () => {
121
+ renderNotice({ canBringOwnApp: true, docsUrl: DOCS_URL, onBringOwnApp: vi.fn() });
122
+ expect(
123
+ screen.queryByRole("link", { name: /Learn how to bring your own token/ }),
124
+ ).toBeNull();
125
+ });
126
+
127
+ it("no-alternative floor: docs link is the way forward when present", () => {
128
+ renderNotice({
129
+ canBringOwnApp: false,
130
+ manualEntrySupported: false,
131
+ docsUrl: DOCS_URL,
132
+ });
133
+ expect(
134
+ screen.getByRole("link", { name: /Learn how to bring your own token/ }),
135
+ ).toBeTruthy();
136
+ });
137
+ });
138
+
139
+ describe("VendorApprovalBlockedNotice — compact variant", () => {
140
+ it("carries the same copy contract at the dense size", () => {
141
+ renderNotice({
142
+ compact: true,
143
+ pending: false,
144
+ canBringOwnApp: true,
145
+ manualEntrySupported: false,
146
+ onBringOwnApp: vi.fn(),
147
+ });
148
+ expect(screen.getByText(/was not approved by the vendor/)).toBeTruthy();
149
+ expect(screen.queryByText(/manually/)).toBeNull();
150
+ expect(
151
+ screen.getByRole("button", { name: "Use your own OAuth app" }),
152
+ ).toBeTruthy();
153
+ });
154
+ });
@@ -0,0 +1,159 @@
1
+ import { describe, it, expect, vi, afterEach } from "vitest";
2
+ import { renderHook, act, cleanup } from "@testing-library/react";
3
+ import type { ReactNode } from "react";
4
+ import { create } from "@bufbuild/protobuf";
5
+ import { createRouterTransport, ConnectError, Code } from "@connectrpc/connect";
6
+ import { Stigmer } from "@stigmer/sdk";
7
+ import { McpServerCommandController } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/command_pb";
8
+ import {
9
+ InitiateOAuthConnectOutputSchema,
10
+ CompleteOAuthConnectOutputSchema,
11
+ } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/io_pb";
12
+ import { StigmerContext } from "../../context";
13
+ import {
14
+ useMcpServerOAuthConnect,
15
+ getOAuthConnectErrorMessage,
16
+ } from "../useMcpServerOAuthConnect";
17
+
18
+ // The popup machinery is window-dependent (window.open, postMessage,
19
+ // BroadcastChannel); tests drive the RPC chain, so replace it with a
20
+ // deterministic callback handshake.
21
+ vi.mock("../../internal/oauthPopup.js", () => ({
22
+ openOAuthPopup: vi.fn(() => ({ location: { href: "" }, closed: false })),
23
+ popupBlockedError: vi.fn(
24
+ () => new Error("Popup was blocked by the browser."),
25
+ ),
26
+ waitForOAuthCallback: vi.fn(async () => ({
27
+ code: "auth-code",
28
+ state: "state-1",
29
+ })),
30
+ closeOAuthPopup: vi.fn(),
31
+ OAUTH_CALLBACK_MESSAGE_TYPE: "stigmer:oauth:callback",
32
+ OAUTH_BROADCAST_CHANNEL: "stigmer:oauth:broadcast",
33
+ }));
34
+
35
+ afterEach(cleanup);
36
+
37
+ const SERVER_ID = "mcps_01test";
38
+ const ORG = "acme";
39
+
40
+ function renderOAuthHook(
41
+ register: Parameters<typeof createRouterTransport>[0],
42
+ ) {
43
+ const client = new Stigmer({
44
+ baseUrl: "/",
45
+ getAccessToken: () => "test-token",
46
+ customTransport: createRouterTransport(register),
47
+ });
48
+ const wrapper = ({ children }: { children: ReactNode }) => (
49
+ <StigmerContext.Provider value={client}>{children}</StigmerContext.Provider>
50
+ );
51
+ return renderHook(() => useMcpServerOAuthConnect(), { wrapper });
52
+ }
53
+
54
+ /** initiate + complete succeed — the failure point is chosen per test. */
55
+ function happyOAuthLegs() {
56
+ return {
57
+ initiateOAuthConnect: () =>
58
+ create(InitiateOAuthConnectOutputSchema, {
59
+ authorizationUrl: "https://vendor.example/authorize",
60
+ state: "state-1",
61
+ }),
62
+ completeOAuthConnect: () =>
63
+ create(CompleteOAuthConnectOutputSchema, { connected: true }),
64
+ };
65
+ }
66
+
67
+ describe("useMcpServerOAuthConnect — failedPhase", () => {
68
+ it("records 'connecting' when only the chained discovery fails (sign-in succeeded)", async () => {
69
+ const { result } = renderOAuthHook((router) => {
70
+ router.service(McpServerCommandController, {
71
+ ...happyOAuthLegs(),
72
+ connect: () => {
73
+ throw new ConnectError("discovery workflow failed", Code.Internal);
74
+ },
75
+ });
76
+ });
77
+
78
+ await act(async () => {
79
+ await expect(
80
+ result.current.startOAuth(SERVER_ID, ORG),
81
+ ).rejects.toThrow();
82
+ });
83
+
84
+ expect(result.current.error).toBeTruthy();
85
+ expect(result.current.failedPhase).toBe("connecting");
86
+ expect(result.current.phase).toBe("idle");
87
+ });
88
+
89
+ it("records 'completing' when the token exchange itself fails", async () => {
90
+ const { result } = renderOAuthHook((router) => {
91
+ router.service(McpServerCommandController, {
92
+ initiateOAuthConnect: happyOAuthLegs().initiateOAuthConnect,
93
+ completeOAuthConnect: () => {
94
+ throw new ConnectError("token exchange failed", Code.Unavailable);
95
+ },
96
+ });
97
+ });
98
+
99
+ await act(async () => {
100
+ await expect(
101
+ result.current.startOAuth(SERVER_ID, ORG),
102
+ ).rejects.toThrow();
103
+ });
104
+
105
+ expect(result.current.failedPhase).toBe("completing");
106
+ });
107
+
108
+ it("clears failedPhase on clearError and on a fresh startOAuth", async () => {
109
+ let failConnect = true;
110
+ const { result } = renderOAuthHook((router) => {
111
+ router.service(McpServerCommandController, {
112
+ ...happyOAuthLegs(),
113
+ connect: () => {
114
+ if (failConnect) {
115
+ throw new ConnectError("discovery workflow failed", Code.Internal);
116
+ }
117
+ return {};
118
+ },
119
+ });
120
+ });
121
+
122
+ await act(async () => {
123
+ await expect(
124
+ result.current.startOAuth(SERVER_ID, ORG),
125
+ ).rejects.toThrow();
126
+ });
127
+ expect(result.current.failedPhase).toBe("connecting");
128
+
129
+ act(() => result.current.clearError());
130
+ expect(result.current.failedPhase).toBeNull();
131
+ expect(result.current.error).toBeNull();
132
+
133
+ failConnect = false;
134
+ await act(async () => {
135
+ await result.current.startOAuth(SERVER_ID, ORG);
136
+ });
137
+ expect(result.current.failedPhase).toBeNull();
138
+ expect(result.current.phase).toBe("done");
139
+ });
140
+ });
141
+
142
+ describe("getOAuthConnectErrorMessage", () => {
143
+ it("leads with the sign-in-succeeded fact for discovery-leg failures", () => {
144
+ const error = new ConnectError("workflow timed out", Code.Internal);
145
+ expect(getOAuthConnectErrorMessage(error, "connecting")).toBe(
146
+ "Signed in successfully, but tool discovery failed: workflow timed out",
147
+ );
148
+ });
149
+
150
+ it("passes other phases through unprefixed", () => {
151
+ const error = new ConnectError("token exchange failed", Code.Unavailable);
152
+ expect(getOAuthConnectErrorMessage(error, "completing")).toBe(
153
+ "token exchange failed",
154
+ );
155
+ expect(getOAuthConnectErrorMessage(error, null)).toBe(
156
+ "token exchange failed",
157
+ );
158
+ });
159
+ });
@@ -65,7 +65,10 @@ export type {
65
65
  export { useMcpServerConnect } from "./useMcpServerConnect.js";
66
66
  export type { UseMcpServerConnectReturn } from "./useMcpServerConnect.js";
67
67
 
68
- export { useMcpServerOAuthConnect } from "./useMcpServerOAuthConnect.js";
68
+ export {
69
+ useMcpServerOAuthConnect,
70
+ getOAuthConnectErrorMessage,
71
+ } from "./useMcpServerOAuthConnect.js";
69
72
  export type {
70
73
  UseMcpServerOAuthConnectReturn,
71
74
  OAuthConnectPhase,